$ od -c -N 50000 [Indigo]<Griffin>colordisplaytest.dm!1 0000000 377 \0 \0 c o l o r d i s p l a y t 0000020 e s t . c m \0 376 \0 317 j 365 F t p 0000040 I v y C o n n e c t / c G r 0000060 i f f i n D u m p / c c o l 0000100 o r d i s p l a y t e s t . d m 0000120 ^ \r c o l o r d i s p l a y t 0000140 e s t . c m L o n g . m e s a 0000160 L o n g D e f s . m e s a G 0000200 r a p h i c s D e f s . m e s a 0000220 B i t m a p F n s . m e s a 0000240 s e t c r t . m e s a w e d g 0000260 e s . m e s a G e n e r a l D 0000300 i s p l a y D e f s . m e s a 0000320 b b d e f s . m e s a \r \r 032 ( 1 0000340 7 9 2 ) \ 1 5 5 f 1 \r 377 \0 \0 L o 0000360 n g . m e s a \0 376 001 \0 374 035 - - t 0000400 h i s m o d u l e p r o v i 0000420 d e s c o m p a t a b i l i t 0000440 y b e t w e e n A l t o s 0000460 a n d D M a c h i n e s \r - 0000500 - b y i m p l e m e n t i n g 0000520 L o n g B I T B L T s f o 0000540 r A l t o s \r D I R E C T O R 0000560 Y \r \t L o n g D e f s : F R O 0000600 M " L o n g D e f s " , \r \t B 0000620 c p l O p s : F R O M " B c 0000640 p l O p s " , \r \t B i t B l t D 0000660 e f s : F R O M " B i t B l 0000700 t D e f s " , \r \t I n l i n e D 0000720 e f s : F R O M " I n l i n 0000740 e D e f s " , \r \t S e g m e n t 0000760 D e f s : F R O M " S 376 001 \0 0001000 017 ] e g m e n t D e f s " , \r \t 0001020 S y s t e m D e f s : F R O M 0001040 " S y s t e m D e f s " ; \r \r 0001060 L o n g : P R O G R A M I M 0001100 P O R T S B c p l O p s , I 0001120 n l i n e D e f s , L o n g D 0001140 e f s , S e g m e n t D e f s 0001160 , S y s t e m D e f s \r \t E X 0001200 P O R T S L o n g D e f s = 0001220 \r B E G I N \r \r N o v a B B A r 0001240 g B l o c k : T Y P E = M 0001260 A C H I N E D E P E N D E N T 0001300 R E C O R D \r [ \t b a n k : 0001320 C A R D I N A L , \r \t b b t : 0001340 P O I N T E R T O B i t B 0001360 l t D e f s . B B T a b l e \r 0001400 ] ; 376 001 \0 212 ` \r \r N o v a C o d 0001420 e : A R R A Y [ 0 . . 1 6 ) 0001440 O F C A R D I N A L _ \r 0001460 [ \t 5 4 4 1 5 B , \t \t - - S T 0001500 A \t 3 s a v e r e t \r \t 1 1 5 0001520 0 0 0 B , \t - - M O V \t 0 3 0001540 \t \t A C 3 : @ a r g \r \t 2 2 4 0001560 1 5 B , \t \t - - L D A \t 0 @ 0001600 b a n k n o \r \t 4 0 4 1 3 B , \t 0001620 \t - - S T A \t 0 s a v e b a 0001640 n k \t s a v e b a n k _ E m 0001660 u l a t o r B a n k R e g i s t 0001700 e r \r \t 2 1 4 0 0 B , \t \t - - 0001720 L D A \t 0 0 , 3 \r \t 4 2 4 1 2 0001740 B , \t \t - - S T A \t 0 @ b a 0001760 n k n o \t E m u l a t o r B a n 0002000 k R e g i s t 376 001 \0 325 037 e r _ 0002020 a r g . b a n k \r \t 3 1 4 0 1 0002040 B , \t \t - - L D A \t 2 1 , 3 0002060 \t \t A C 2 : a r g . b b t \r \t 0002100 1 2 6 4 0 0 B , \t - - S U B \t 0002120 1 1 \t \t A C 1 : 0 \r \t 6 1 0 0002140 2 4 B , \t \t - - B I T B L T \r 0002160 \t 2 0 4 0 5 B , \t \t - - L D A 0002200 \t 0 s a v e b a n k \r \t 4 2 4 0002220 0 5 B , \t \t - - S T A \t 0 @ 0002240 b a n k n o \t E m u l a t o r B 0002260 a n k R e g i s t e r _ s a 0002300 v e b a n k \r \t 3 4 4 0 2 B , \t 0002320 \t - - L D A \t 3 s a v e r e 0002340 t \r \t 1 4 0 0 B , \t \t - - J M 0002360 P \t 0 3 \r \t 0 B , \t \t - - s 0002400 a v e r e t : 0 \r \t 0 376 001 \0 { 0002420 375 B , \t \t - - s a v e b a n k 0002440 : 0 \r \t 1 7 7 7 4 0 B \t \t - - 0002460 b a n k n o : 1 7 7 7 4 0 \r 0002500 ] ; \r \r M a c h i n e : S e 0002520 g m e n t D e f s . M a c h i n 0002540 e T y p e = S e g m e n t D 0002560 e f s . G e t M e m o r y C o n 0002600 f i g [ ] . A l t o T y p e ; \r 0002620 D M a c h i n e : P U B L I C 0002640 B O O L E A N _ ( M a c h 0002660 i n e = D 0 ) O R ( M a 0002700 c h i n e = D o r a d o ) ; 0002720 \r \r S o f t B I T B L T : P U 0002740 B L I C P R O C E D U R E [ 0002760 p t r : P O I N T E R T O 0003000 B i t B l t D e f s . B B T a b 0003020 l 376 001 \0 037 2 e ] = \r B E G I N 0003040 \r s r c B a n k : C A R D I N 0003060 A L _ I n l i n e D e f s . 0003100 H i g h H a l f [ p t r . s l b 0003120 c a ] ; \r d e s t B a n k : C 0003140 A R D I N A L _ I n l i n e 0003160 D e f s . H i g h H a l f [ p t 0003200 r . d l b c a ] ; \r r a n d o m 0003220 P o i n t e r : P O I N T E R 0003240 ; \r a r g : N o v a B B A r g 0003260 B l o c k ; \r x : A R R A Y 0003300 [ 0 . . S I Z E [ B i t B l t D 0003320 e f s . B B T a b l e ] ] O F 0003340 U N S P E C I F I E D ; \r b b 0003360 t : P O I N T E R T O B i 0003400 t B l t D e f s . B B T a b l e 0003420 _ @ x [ 376 001 \0 P 222 L O O P H 0003440 O L E [ @ x , C A R D I N A L ] 0003460 M O D 2 ] ; \r b b t ^ _ 0003500 p t r ^ ; \r \r - - m a k e s u 0003520 r e D M a c h i n e v a r i 0003540 a b l e w a s i n i t i a l 0003560 i z e d \r I F D M a c h i n e 0003600 T H E N B E G I N L o n g 0003620 D e f s . H a r d B I T B L T [ 0003640 p t r ] ; R E T U R N ; E N D ; 0003660 \r \r b b t . p t r s _ s h o 0003700 r t ; \r I F b b t . s o u r c 0003720 e t y p e = g r a y T H E 0003740 N s r c B a n k _ 0 ; \r I 0003760 F ( s r c B a n k = 0 ) 0004000 O R ( s r c B a n k = d e 0004020 s t B a n k ) O R 376 001 \0 300 312 0004040 ( d e s t B a n k = 0 ) T 0004060 H E N - - e a s y \r \t B E G I 0004100 N \r \t b b t . s o u r c e a l t 0004120 _ s r c B a n k # 0 ; \r \t b 0004140 b t . s b c a _ I n l i n e 0004160 D e f s . L o w H a l f [ b b t 0004200 . s l b c a ] ; \r \t b b t . d e 0004220 s t a l t _ d e s t B a n k 0004240 # 0 ; \r \t b b t . d b c a _ 0004260 I n l i n e D e f s . L o w H a 0004300 l f [ b b t . d l b c a ] ; \r \t 0004320 a r g _ [ b a n k : I n l 0004340 i n e D e f s . B I T O R [ s r 0004360 c B a n k , d e s t B a n k ] , 0004400 b b t : b b t ] ; \r \t [ ] 0004420 _ B c p l O p s . B c p l J S 0004440 376 001 \0 313 [ R [ c o d e : J S R 0004460 , a d d r e s s : @ N o v a 0004500 C o d e , a r g : @ a r g ] 0004520 ; \r \t R E T U R N ; \r \t E N D ; 0004540 \r - - n o p e , h a r d c a 0004560 s e ; a l l o c a t e b a 0004600 n k 0 b l o c k o f a p 0004620 p r o p r i a t e s i z e \r b 0004640 b t . d l x _ 0 ; \r b b t . 0004660 d t y _ 0 ; \r b b t . d b m 0004700 r _ ( b b t . d w + 1 5 ) / 0004720 1 6 ; \r r a n d o m P o i n t e 0004740 r _ S y s t e m D e f s . A 0004760 l l o c a t e S e g m e n t [ b 0005000 b t . d b m r * b b t . d h ] ; 0005020 \r b b t . s o u r c e a l t _ 0005040 T R U E 376 001 \0 207 e ; \r b b t . 0005060 s b c a _ I n l i n e D e f 0005100 s . L o w H a l f [ b b t . s l 0005120 b c a ] ; \r b b t . d e s t a l 0005140 t _ F A L S E ; \r b b t . d 0005160 b c a _ r a n d o m P o i n 0005200 t e r ; \r b b t . f u n c t i o 0005220 n _ r e p l a c e ; \r b b t 0005240 . s o u r c e t y p e _ b l 0005260 o c k ; \r a r g _ [ b a n k 0005300 : s r c B a n k , b b t : 0005320 b b t ] ; \r [ ] _ B c p l O 0005340 p s . B c p l J S R [ c o d e : 0005360 J S R , a d d r e s s : @ 0005400 N o v a C o d e , a r g : @ 0005420 a r g ] ; \r \r b b t . s l x _ 0005440 0 ; \r b b t . s t 376 001 \0 366 257 y 0005460 _ 0 ; \r b b t . d l x _ 0005500 p t r . d l x ; \r b b t . d t y 0005520 _ p t r . d t y ; \r b b t . 0005540 s b m r _ b b t . d b m r ; 0005560 \r b b t . d b m r _ p t r . 0005600 d b m r ; \r b b t . s o u r c e 0005620 a l t _ F A L S E ; \r b b t 0005640 . s b c a _ r a n d o m P o 0005660 i n t e r ; \r b b t . d e s t a 0005700 l t _ T R U E ; \r b b t . d 0005720 b c a _ I n l i n e D e f s 0005740 . L o w H a l f [ b b t . d l b 0005760 c a ] ; \r b b t . f u n c t i o 0006000 n _ p t r . f u n c t i o n 0006020 ; \r b b t . s o u r c e t y p e 0006040 _ p t r . s o u r c e t y 376 0006060 \0 365 H 324 p e ; \r a r g _ [ b 0006100 a n k : d e s t B a n k , b 0006120 b t : b b t ] ; \r [ ] _ B 0006140 c p l O p s . B c p l J S R [ c 0006160 o d e : J S R , a d d r e s 0006200 s : @ N o v a C o d e , a r 0006220 g : @ a r g ] ; \r S y s t e m 0006240 D e f s . F r e e S e g m e n t 0006260 [ r a n d o m P o i n t e r ] ; 0006300 \r E N D ; \r \r I n i t M a c h i 0006320 n e T y p e : P U B L I C P 0006340 R O C E D U R E = B E G I N 0006360 E N D ; - - t o i n i t i 0006400 a l i z e D M a c h i n e \r \r 0006420 E N D . \r 032 ( 6 3 5 ) \ f 1 1 0006440 0 7 6 b 1 4 1 B \r 377 \0 \0 L o n g 0006460 D e f s . m e s a \0 376 001 \0 024 020 - 0006500 - T h i s D E F I N I T I O N 0006520 S m o d u l e p r o v i d e 0006540 s a u n i f o r m i n t e 0006560 r f a c e f o r \r - - \t A l 0006600 t o I I X M s a n d D M a c 0006620 h i n e s t o d e r e f e r 0006640 e n c e l o n g p o i n t e 0006660 r s a n d \r - - \t L o n g B 0006700 i t B L T t a b l e s . O 0006720 n A l t o I I X M s , t h e 0006740 R A M m u s t b e l o a 0006760 d e d a p p r o p r i a t e l 0007000 y : \r - - \t M i c r o c o d e . 0007020 B C D w i l l l o a d t h 0007040 e R A M w h e n S T A R T 0007060 e d : t h e p r o c e d 376 0007100 001 \0 N 320 u r e \r - - \t A l t o M 0007120 i c r o c o d e D e f s . L o a 0007140 d R a m [ ] i s a N O P , 0007160 a n d o n l y l o a d s 0007200 t h e r a m o n t h e f 0007220 i r s t \r - - \t c a l l . 0007240 A l t o H a l f t o n e S t u f 0007260 f . B C D c o n t a i n s a 0007300 n a p p r o p r i a t e A l 0007320 t o m i c r o c o d e i m a 0007340 g e . \r \r - - D M a c h i n e 0007360 , I n i t M a c h i n e T y p 0007400 e , a n d S o f t B I T B L 0007420 T a r e e x p o r t e d b 0007440 y \r - - \t L o n g . M e s a : 0007460 b e s u r e t o S T A R 0007500 T i t 376 001 \0 U 7 b e f o r e 0007520 a n y c a l l s t o \r - 0007540 - \t R e a d o r W r i t e 0007560 r o u t i n e s , b y c a l 0007600 l i n g L o n g D e f s . I n 0007620 i t M a c h i n e T y p e [ ] . 0007640 \r \r D I R E C T O R Y \r \t B i t 0007660 B l t D e f s : F R O M " B 0007700 i t B l t D e f s " , \r \t M o p 0007720 c o d e s : F R O M " M o p 0007740 c o d e s " ; \r \r L o n g D e f 0007760 s : D E F I N I T I O N S = 0010000 \r B E G I N \r \r D M a c h i n e 0010020 : B O O L E A N ; \r I n i t M 0010040 a c h i n e T y p e : P R O C 0010060 E D U R E ; \r \r - - l o n g B 0010100 I T B L T c o m 376 001 \0 ] = p a 0010120 t a b i l i t y \r B I T B L T : 0010140 P R O C E D U R E [ p t r : 0010160 P O I N T E R T O B i t B 0010200 l t D e f s . B B T a b l e ] 0010220 = I N L I N E \r B E G I N \r I 0010240 F D M a c h i n e T H E N 0010260 H a r d B I T B L T [ p t r ] 0010300 E L S E S o f t B I T B L T [ 0010320 p t r ] ; \r E N D ; \r \r - - l o 0010340 n g p o i n t e r c o m p a 0010360 t a b i l i t y \r R e a d : P 0010400 R O C E D U R E [ l p : L O 0010420 N G P O I N T E R ] R E T U 0010440 R N S [ U N S P E C I F I E D 0010460 ] = I N L I N E \r \t B E G I 0010500 N \r \t R E T U R N [ I F D 376 001 0010520 \0 245 o M a c h i n e T H E N 0010540 D R e a d [ l p ] E L S E A 0010560 l t o R e a d [ l p ] ] ; \r \t E 0010600 N D ; \r R e a d B a n k : P R 0010620 O C E D U R E [ a d d r : P O 0010640 I N T E R T O U N S P E C I 0010660 F I E D , b a n k : U N S P E 0010700 C I F I E D ] R E T U R N S [ 0010720 U N S P E C I F I E D ] = I 0010740 N L I N E \r \t B E G I N \r \t R E 0010760 T U R N [ I F D M a c h i n e 0011000 T H E N D R e a d B a n k [ 0011020 a d d r , b a n k ] E L S E 0011040 A l t o R e a d B a n k [ a d d 0011060 r , b a n k ] ] ; \r \t E N D ; \r 0011100 R e a d L o n g P o i n t e r : 0011120 P R 376 001 \0 364 242 O C E D U R E 0011140 [ l p : L O N G P O I N T E 0011160 R ] R E T U R N S [ L O N G 0011200 P O I N T E R ] = I N L I N 0011220 E \r \t B E G I N \r \t R E T U R N 0011240 [ I F D M a c h i n e T H E 0011260 N D R e a d L o n g P o i n t 0011300 e r [ l p ] E L S E A l t o 0011320 R e a d L o n g P o i n t e r [ 0011340 l p ] ] ; \r \t E N D ; \r W r i t 0011360 e : P R O C E D U R E [ v a l 0011400 : U N S P E C I F I E D , a d 0011420 d r : L O N G P O I N T E R 0011440 ] = I N L I N E \r \t B E G I N 0011460 \r \t I F D M a c h i n e T H 0011500 E N D W r i t e [ v a l , a d 0011520 d r ] E L S E 376 001 \0 343 C A l 0011540 t o W r i t e [ a d d r , v a l 0011560 ] ; \r \t E N D ; \r W r i t e B a 0011600 n k : P R O C E D U R E [ v a 0011620 l : U N S P E C I F I E D , a 0011640 d d r : P O I N T E R T O 0011660 U N S P E C I F I E D , b a n k 0011700 : U N S P E C I F I E D ] = 0011720 I N L I N E \r \t B E G I N \r \t 0011740 I F D M a c h i n e T H E N 0011760 D W r i t e B a n k [ v a l , 0012000 a d d r , b a n k ] \r \t E L S E 0012020 A l t o W r i t e B a n k [ a 0012040 d d r , b a n k , v a l ] ; \r \t 0012060 E N D ; \r W r i t e L o n g P o 0012100 i n t e r : P R O C E D U R E 0012120 [ d a t a , a d d r : 376 001 \0 0012140 251 v L O N G P O I N T E R ] 0012160 = I N L I N E \r \t B E G I N \r \t 0012200 I F D M a c h i n e T H E N 0012220 D W r i t e L o n g P o i n t 0012240 e r [ d a t a , a d d r ] \r \t E 0012260 L S E A l t o W r i t e L o n 0012300 g P o i n t e r [ a d d r , d a 0012320 t a ] ; \r \t E N D ; \r \r - - D 0 0012340 i m p l e m e n t a t i o n s 0012360 \r D R e a d : P R O C E D U R 0012400 E [ L O N G P O I N T E R ] 0012420 R E T U R N S [ U N S P E C 0012440 I F I E D ] = \r \t M A C H I 0012460 N E C O D E B E G I N \r \t M 0012500 o p c o d e s . z R B L , 0 ; \r 0012520 \t E N D ; \r D R e a d B a n k : 0012540 P 376 001 \0 . } R O C E D U R E [ 0012560 a d d r : P O I N T E R T O 0012600 U N S P E C I F I E D , b a n 0012620 k : U N S P E C I F I E D ] 0012640 R E T U R N S [ U N S P E C I F 0012660 I E D ] = \r \t M A C H I N E 0012700 C O D E B E G I N \r \t M o p 0012720 c o d e s . z R B L , 0 ; \r \t E 0012740 N D ; \r D R e a d L o n g P o i 0012760 n t e r : P R O C E D U R E 0013000 [ L O N G P O I N T E R ] R 0013020 E T U R N S [ L O N G P O I 0013040 N T E R ] = \r \t M A C H I N E 0013060 C O D E B E G I N \r \t M o p 0013100 c o d e s . z R D B L , 0 ; \r \t 0013120 E N D ; \r D W r i t e : P R O 0013140 C E D U R E [ 376 001 \0 367 B v a l : 0013160 U N S P E C I F I E D , a d d 0013200 r : L O N G P O I N T E R ] 0013220 = \r \t M A C H I N E C O D E 0013240 B E G I N \r \t M o p c o d e s 0013260 . z W B L , 0 ; \r \t E N D ; \r D 0013300 W r i t e B a n k : P R O C E 0013320 D U R E [ v a l : U N S P E C 0013340 I F I E D , a d d r : P O I N 0013360 T E R T O U N S P E C I F I 0013400 E D , b a n k : U N S P E C I 0013420 F I E D ] = \r \t M A C H I N 0013440 E C O D E B E G I N \r \t M o 0013460 p c o d e s . z W B L , 0 ; \r \t 0013500 E N D ; \r D W r i t e L o n g P 0013520 o i n t e r : P R O C E D U R 0013540 E [ d a t a , a d d r 376 001 \0 V 0013560 216 : L O N G P O I N T E R ] 0013600 = \r \t M A C H I N E C O D E 0013620 B E G I N \r \t M o p c o d e s 0013640 . z W D B L , 0 ; \r \t E N D ; \r 0013660 \r - - A l t o i m p l e m e n 0013700 t a t i o n s \r A l t o R e a d 0013720 : P R O C E D U R E [ L O N 0013740 G P O I N T E R ] R E T U R 0013760 N S [ U N S P E C I F I E D ] 0014000 = \r \t M A C H I N E C O D 0014020 E B E G I N \r \t M o p c o d e 0014040 s . z L I W , 4 4 0 B / 2 5 6 , 0014060 4 4 0 B M O D 2 5 6 ; M o p 0014100 c o d e s . z J R A M ; \r \t E N 0014120 D ; \r A l t o R e a d B a n k : 0014140 P R O C E D U R E [ a d d r : 0014160 376 001 \0 250 272 P O I N T E R T O 0014200 U N S P E C I F I E D , b a n 0014220 k : U N S P E C I F I E D ] 0014240 R E T U R N S [ U N S P E C I F 0014260 I E D ] = \r \t M A C H I N E 0014300 C O D E B E G I N \r \t M o p 0014320 c o d e s . z L I W , 4 4 0 B / 0014340 2 5 6 , 4 4 0 B M O D 2 5 6 0014360 ; M o p c o d e s . z J R A M ; 0014400 \r \t E N D ; \r A l t o R e a d L 0014420 o n g P o i n t e r : P R O C 0014440 E D U R E [ L O N G P O I N 0014460 T E R ] R E T U R N S [ L O 0014500 N G P O I N T E R ] = \r \t M 0014520 A C H I N E C O D E B E G I 0014540 N \r \t M o p c o d e s . z L I W 0014560 , 4 4 5 B / 376 001 \0 207 324 2 5 6 , 4 0014600 4 5 B M O D 2 5 6 ; M o p c 0014620 o d e s . z J R A M ; \r \t E N D 0014640 ; \r A l t o W r i t e : P R O 0014660 C E D U R E [ a d d r : L O N 0014700 G P O I N T E R , v a l : U 0014720 N S P E C I F I E D ] = \r \t M 0014740 A C H I N E C O D E B E G I 0014760 N \r \t M o p c o d e s . z L I W 0015000 , 4 4 1 B / 2 5 6 , 4 4 1 B M 0015020 O D 2 5 6 ; M o p c o d e s . 0015040 z J R A M ; \r \t E N D ; \r A l t 0015060 o W r i t e B a n k : P R O C 0015100 E D U R E [ a d d r : P O I N 0015120 T E R T O U N S P E C I F I 0015140 E D , b a n k : U N S P E C I 0015160 F I E D , v a l : U 376 001 \0 035 0 0015200 N S P E C I F I E D ] = \r \t 0015220 M A C H I N E C O D E B E G 0015240 I N \r \t M o p c o d e s . z L I 0015260 W , 4 4 1 B / 2 5 6 , 4 4 1 B 0015300 M O D 2 5 6 ; M o p c o d e s 0015320 . z J R A M ; \r \t E N D ; \r A l 0015340 t o W r i t e L o n g P o i n t 0015360 e r : P R O C E D U R E [ a 0015400 d d r , d a t a : L O N G P 0015420 O I N T E R ] = \r \t M A C H I 0015440 N E C O D E B E G I N \r \t M 0015460 o p c o d e s . z L I W , 4 4 6 0015500 B / 2 5 6 , 4 4 6 B M O D 2 0015520 5 6 ; M o p c o d e s . z J R A 0015540 M ; \r \t E N D ; \r \r - - B i t B 0015560 L T i m p l e m e n t a t i o 0015600 376 001 \0 273 002 n s \r S o f t B I T B 0015620 L T : P R O C E D U R E [ p 0015640 t r : P O I N T E R T O B 0015660 i t B l t D e f s . B B T a b l 0015700 e ] ; \r \r H a r d B I T B L T : 0015720 P R O C E D U R E [ p t r : 0015740 P O I N T E R T O B i t B 0015760 l t D e f s . B B T a b l e ] 0016000 = \r M A C H I N E C O 0016020 D E B E G I N M o p c o d e 0016040 s . z L I 0 ; M o p c o d e s 0016060 . z B I T B L T E N D ; \r \r E 0016100 N D . \r 032 ( 6 3 5 ) \ f 1 7 5 0016120 1 b 2 8 B 1 3 1 b 3 3 B 1 3 0 b 0016140 8 B 1 8 0 b 1 5 B 1 5 2 b 5 B 1 0016160 3 1 b 9 B 1 7 9 b 1 6 B 1 4 5 b 0016200 2 7 B 9 6 376 \0 R 351 331 b 9 B 1 2 8 0016220 b 1 6 B 9 7 b 6 B 9 5 b 1 0 B 1 0016240 2 4 b 1 7 B 8 5 b 3 2 B 1 3 1 b 0016260 1 2 B 1 6 3 b 1 9 B 1 3 1 b 9 B 0016300 1 3 0 b 1 3 B 1 5 9 b 2 0 B 1 2 0016320 0 b 3 5 B 5 1 b 1 0 B \r 377 \0 \0 G 0016340 r a p h i c s D e f s . m e s a 0016360 \0 376 001 \0 S p - - m . s t o n e 0016400 O c t o b e r 2 , 1 9 8 0 0016420 1 2 : 3 4 P M \r D I R E C 0016440 T O R Y \r \t B i t B l t D e f s 0016460 : F R O M " B i t B l t D e 0016500 f s " ; \r \r G r a p h i c s D e 0016520 f s : D E F I N I T I O N S 0016540 = \r B E G I N \r B i t m a p : 0016560 T Y P E = R E C O R D \r [ 0016600 \t b a n k : [ 0 . . 7 ] , - 0016620 - 3 b i t s f o r B o x 0016640 ( i d i o t i c s p a c e o 0016660 p t i m i z a t i o n ) \r \t n W 0016700 o r d s : [ 0 . . 1 7 7 7 B ] 0016720 , \r \t n B i t s , n L i n e s : 0016740 C A R D I N A L , \r \t n B i t 0016760 s P e r P i 376 001 \0 221 : x e l : 0017000 [ 0 . . 2 5 6 ) , \r \t p o r t r 0017020 a i t M o d e : B O O L E A N 0017040 , \r \t s c a l e F a c t o r : 0017060 [ 0 . . 1 2 8 ) , \r \t b i t s : 0017100 P O I N T E R T O A R R A 0017120 Y [ 0 . . 0 ) O F C A R D 0017140 I N A L \r ] ; \r R e c t a n g 0017160 l e : T Y P E = R E C O R 0017200 D \r [ \t x 1 , y 1 , x 2 , y 2 0017220 : I N T E G E R - - w i t h 0017240 x 1 < x 2 , y 1 < y 2 \r ] 0017260 ; \r B o x T y p e : T Y P E 0017300 = { n o r m a l , o u t l i n 0017320 e , g r a y } ; \r B o x : T Y 0017340 P E = R E C O R D \r \t [ b o 0017360 x B i t m a p : B i 376 001 \0 | 254 0017400 t m a p , \r \t s a v e d B i t 0017420 s : P O I N T E R T O A R 0017440 R A Y [ 0 . . 0 ) O F C A 0017460 R D I N A L , - - u s e d w 0017500 h e n m o v i n g a r o u n 0017520 d \r \t d i s p l a y B i t m a 0017540 p : P O I N T E R T O B i 0017560 t m a p , \r \t d i s p l a y X 0017600 , d i s p l a y Y : C A R D I 0017620 N A L , \r \t d i s p l a y e 0017640 d : B O O L E A N , \t - - 1 0017660 b i t \t ( i . e . , w h e t h e 0017700 r d i s p l a y X , Y a r e 0017720 v a l i d ) \r \t s a v e d B 0017740 a n k : [ 0 . . 7 ] , - - 3 0017760 b i t s \r \t f u n c t i o 0020000 376 001 \0 306 X n : B i t B l t D e 0020020 f s . B B o p e r a t i o n , \t 0020040 - - 2 b i t s \r \t t y p e : 0020060 B o x T y p e , \t - - 2 b i 0020100 t s \r \t g r a y : [ 0 . . 2 0020120 5 6 ) \t - - 8 b i t s \r \t ] ; 0020140 \r \r S t r i k e F o n t : T Y 0020160 P E = R E C O R D \r \t [ o n 0020200 e B i t , i n d e x , f i x e d 0020220 : [ 0 . . 1 ] , \r \t b a n k 0020240 : [ 0 . . 7 7 B ] , \r \t m i 0020260 n C o d e , m a x C o d e : C 0020300 A R D I N A L , \r \t m a x W i 0020320 d t h : C A R D I N A L , \r \t 0020340 s t r i k e B o d y W o r d L 0020360 e n g t h : C A R D I N A L , 0020400 \r \t a s 376 001 \0 342 300 c e n t , d 0020420 e s c e n t : C A R D I N A L 0020440 , \r \t w o r d s P e r S c a n 0020460 L i n e : C A R D I N A L , \r 0020500 \t b i t m a p : P O I N T E 0020520 R T O A R R A Y [ 0 . . 0 0020540 ) O F C A R D I N A L , \r \t 0020560 x I n S e g m e n t : P O I 0020600 N T E R T O A R R A Y [ 0 0020620 . . 0 ) O F C A R D I N A L 0020640 \r \t ] ; \r t e x t M o d e : T 0020660 Y P E = [ 0 . . 3 ] ; \r n o 0020700 r m a l : t e x t M o d e = 0020720 0 ; \r i t a l i c : t e x t 0020740 M o d e = 1 ; \r b o l d : 0020760 t e x t M o d e = 2 ; \r \r - - r 0021000 o u t i n e s e x 376 001 \0 M 352 p 0021020 o r t e d b y B i t m a p F 0021040 n s \r \r S e t D e f a u l t B i 0021060 t m a p : P R O C E D U R E 0021100 [ w i d t h , h e i g h t : C 0021120 A R D I N A L ] ; \r T u r n O n 0021140 G r a p h i c s : P R O C E D 0021160 U R E [ b i t s P e r P i x e 0021200 l : C A R D I N A L _ 1 , 0021220 p o r t r a i t M o d e : B O 0021240 O L E A N _ T R U E , s c a 0021260 l e P e r c e n t : C A R D I 0021300 N A L _ 1 0 0 ] R E T U R 0021320 N S [ P O I N T E R T O B 0021340 i t m a p ] ; \r G e t D e f a u 0021360 l t B i t m a p H a n d l e : 0021400 P R O C E D U R E R E T U R 376 0021420 001 \0 261 357 N S [ P O I N T E R 0021440 T O B i t m a p ] ; \r S e t X 0021460 M A l l o c : P R O C E D U R 0021500 E [ A l l o c a t e : P R O 0021520 C E D U R E [ n w o r d s : 0021540 C A R D I N A L ] R E T U R N 0021560 S [ L O N G P O I N T E R ] 0021600 , F r e e : P R O C E D U R E 0021620 [ L O N G P O I N T E R ] ] 0021640 ; \r G e t X M A l l o c : P R 0021660 O C E D U R E R E T U R N S 0021700 [ A l l o c a t e : P R O C E 0021720 D U R E [ n w o r d s : C A 0021740 R D I N A L ] R E T U R N S 0021760 [ L O N G P O I N T E R ] , F 0022000 r e e : P R O C E D U R E [ 0022020 L O N G 376 001 \0 > 202 P O I N T E 0022040 R ] ] ; \r \r P u t P o i n t : 0022060 P R O C E D U R E [ x , y : 0022100 C A R D I N A L , b : P O I N 0022120 T E R T O B i t m a p _ 0022140 N I L ] ; \r E r a s e P o i n t 0022160 : P R O C E D U R E [ x , y 0022200 : C A R D I N A L , b : P O 0022220 I N T E R T O B i t m a p 0022240 _ N I L ] ; \r X o r P o i n t 0022260 : P R O C E D U R E [ x , y 0022300 : C A R D I N A L , b : P O 0022320 I N T E R T O B i t m a p 0022340 _ N I L ] ; \r \r P u t L i n e 0022360 : P R O C E D U R E [ x 1 , 0022400 y 1 , x 2 , y 2 : C A R D I N 0022420 A L , b : P O I 376 001 \0 215 307 N T 0022440 E R T O B i t m a p _ N 0022460 I L ] ; \r E r a s e L i n e : 0022500 P R O C E D U R E [ x 1 , y 1 0022520 , x 2 , y 2 : C A R D I N A L 0022540 , b : P O I N T E R T O B 0022560 i t m a p _ N I L ] ; \r X o 0022600 r L i n e : P R O C E D U R E 0022620 [ x 1 , y 1 , x 2 , y 2 : C 0022640 A R D I N A L , b : P O I N T 0022660 E R T O B i t m a p _ N 0022700 I L ] ; \r \r P u t A r e a : P 0022720 R O C E D U R E [ x 1 , y 1 , 0022740 x 2 , y 2 : C A R D I N A L , 0022760 b : P O I N T E R T O B i 0023000 t m a p _ N I L ] ; \r E r a 0023020 s e A r e a : P R O C E D 376 001 0023040 \0 247 323 U R E [ x 1 , y 1 , x 2 0023060 , y 2 : C A R D I N A L , b : 0023100 P O I N T E R T O B i t m 0023120 a p _ N I L ] ; \r X o r A r 0023140 e a : P R O C E D U R E [ x 0023160 1 , y 1 , x 2 , y 2 : C A R D 0023200 I N A L , b : P O I N T E R 0023220 T O B i t m a p _ N I L ] 0023240 ; \r R e p l a c e A r e a : P 0023260 R O C E D U R E [ x 1 , y 1 , 0023300 x 2 , y 2 : C A R D I N A L , 0023320 b : P O I N T E R T O B i 0023340 t m a p _ N I L ] ; \r M a s 0023360 k A r e a : P R O C E D U R E 0023400 [ x 1 , y 1 , x 2 , y 2 : C 0023420 A R D I N A L , b : P O I N T 0023440 E R 376 001 \0 : 302 T O B i t m a 0023460 p _ N I L ] ; \r \r P u t G r 0023500 a y : P R O C E D U R E [ x 0023520 1 , y 1 , x 2 , y 2 : C A R D 0023540 I N A L , b : P O I N T E R 0023560 T O B i t m a p _ N I L ] 0023600 ; \r E r a s e G r a y : P R O 0023620 C E D U R E [ x 1 , y 1 , x 2 0023640 , y 2 : C A R D I N A L , b : 0023660 P O I N T E R T O B i t m 0023700 a p _ N I L ] ; \r X o r G r 0023720 a y : P R O C E D U R E [ x 0023740 1 , y 1 , x 2 , y 2 : C A R D 0023760 I N A L , b : P O I N T E R 0024000 T O B i t m a p _ N I L ] 0024020 ; \r R e p l a c e G r a y : P 0024040 R O C E D U R E 376 001 \0 355 B [ x 0024060 1 , y 1 , x 2 , y 2 : C A R D 0024100 I N A L , b : P O I N T E R 0024120 T O B i t m a p _ N I L ] 0024140 ; \r M a s k G r a y : P R O C 0024160 E D U R E [ x 1 , y 1 , x 2 , 0024200 y 2 : C A R D I N A L , b : 0024220 P O I N T E R T O B i t m a 0024240 p _ N I L ] ; \r \r P u t B i 0024260 t m a p : P R O C E D U R E 0024300 [ b : P O I N T E R T O B 0024320 i t m a p , x , y : C A R D I 0024340 N A L , d e s t : P O I N T E 0024360 R T O B i t m a p _ N I 0024400 L ] ; \r E r a s e B i t m a p : 0024420 P R O C E D U R E [ b : P 0024440 O I N T E R T O B i t 376 001 \0 0024460 U 232 m a p , x , y : C A R D I 0024500 N A L , d e s t : P O I N T E 0024520 R T O B i t m a p _ N I 0024540 L ] ; \r X o r B i t m a p : P 0024560 R O C E D U R E [ b : P O I 0024600 N T E R T O B i t m a p , x 0024620 , y : C A R D I N A L , d e s 0024640 t : P O I N T E R T O B i 0024660 t m a p _ N I L ] ; \r R e p 0024700 l a c e B i t m a p : P R O C 0024720 E D U R E [ b : P O I N T E 0024740 R T O B i t m a p , x , y : 0024760 C A R D I N A L , d e s t : 0025000 P O I N T E R T O B i t m a 0025020 p _ N I L ] ; \r \r - - g r e 0025040 y s q u a r e f u n c t i o 0025060 n s 376 001 \0 346 301 ( a f f e c t 0025100 s u b s e q u e n t P u t A r 0025120 e a c o m m a n d s ) \r S e t 0025140 G r a y T h r e s h o l d s : 0025160 P R O C E D U R E [ n e w : 0025200 P O I N T E R T O A R R A Y 0025220 [ 0 . . 0 ) O F C A R D I 0025240 N A L , o u t p u t D e v i c e 0025260 : P O I N T E R T O B i t 0025300 m a p _ N I L ] ; \r S e t H 0025320 a l f T o n e : P R O C E D U 0025340 R E [ b l a c k , w h i t e : 0025360 C A R D I N A L , p a t t e r 0025400 n : C A R D I N A L ] ; \r S e 0025420 t G r a y L e v e l : P R O C 0025440 E D U R E [ i n t e n s i t y 0025460 : C A R D I 376 001 \0 332 y N A L , 0025500 o u t p u t D e v i c e : P O 0025520 I N T E R T O B i t m a p 0025540 _ N I L ] ; - - s e t i n 0025560 t e n s i t y v a l u e f o 0025600 r a r e a s t u f f \r G e t 0025620 G r a y B l o c k : P R O C E 0025640 D U R E R E T U R N S [ g r 0025660 a y 0 , g r a y 1 , g r a y 2 , 0025700 g r a y 3 : C A R D I N A L ] 0025720 ; \r P u t G r a y B i t m a p : 0025740 P R O C E D U R E [ b : P 0025760 O I N T E R T O B i t m a p 0026000 , x , y : C A R D I N A L , \r 0026020 \t d e s t : P O I N T E R T 0026040 O B i t m a p _ N I L ] ; 0026060 \r S e t R e d : P R O 376 001 \0 330 0026100 c C E D U R E [ g r a y : [ 0 0026120 . . 2 5 6 ) , n e w V a l : [ 0026140 0 . . 2 5 6 ) , o u t p u t D e 0026160 v i c e : P O I N T E R T O 0026200 B i t m a p _ N I L ] ; 0026220 \r S e t G r e e n : P R O C E 0026240 D U R E [ g r a y : [ 0 . . 2 0026260 5 6 ) , n e w V a l : [ 0 . . 0026300 2 5 6 ) , o u t p u t D e v i c 0026320 e : P O I N T E R T O B i 0026340 t m a p _ N I L ] ; \r S e 0026360 t B l u e : P R O C E D U R E 0026400 [ g r a y : [ 0 . . 2 5 6 ) , 0026420 n e w V a l : [ 0 . . 2 5 6 ) 0026440 , o u t p u t D e v i c e : P 0026460 O I N T E R T O B i t m a p 0026500 376 001 \0 265 220 _ N I L ] ; \r G 0026520 e t R e d : P R O C E D U R E 0026540 [ g r a y : [ 0 . . 2 5 6 ) , 0026560 o u t p u t D e v i c e : P O 0026600 I N T E R T O B i t m a p 0026620 _ N I L ] R E T U R N S [ 0026640 C A R D I N A L ] ; \r G e t G 0026660 r e e n : P R O C E D U R E [ 0026700 g r a y : [ 0 . . 2 5 6 ) , o 0026720 u t p u t D e v i c e : P O I 0026740 N T E R T O B i t m a p _ 0026760 N I L ] R E T U R N S [ C 0027000 A R D I N A L ] ; \r G e t B l 0027020 u e : P R O C E D U R E [ g r 0027040 a y : [ 0 . . 2 5 6 ) , o u t 0027060 p u t D e v i c e : P O I N T 0027100 E R T O 376 001 \0 m 255 B i t m a 0027120 p _ N I L ] R E T U R N S 0027140 [ C A R D I N A L ] ; \r \r - 0027160 - A r e a f u n c t i o n : 0027200 c o p y ( w i t h p o s s i 0027220 b l e r e s c a l i n g ) \r T 0027240 r a n s f e r R e c t a n g l e 0027260 : P R O C E D U R E [ s r c 0027300 , d e s t : P O I N T E R T 0027320 O B i t m a p , \r \t s r c R e 0027340 c t a n g l e , d e s t R e c t 0027360 a n g l e : P O I N T E R T 0027400 O R e c t a n g l e , \r \t f n 0027420 : B i t B l t D e f s . B B o 0027440 p e r a t i o n _ r e p l a 0027460 c e , t y p e : B i t B l t D 0027500 e f s . B B s o u r c 376 001 \0 304 345 0027520 e t y p e _ b l o c k ] ; \r 0027540 \r - - a n d t h e r e a l 0027560 f u n c t i o n s \r S e t P o i 0027600 n t : P R O C E D U R E [ x 0027620 , y : C A R D I N A L , f n : 0027640 B i t B l t D e f s . B B o p 0027660 e r a t i o n , \r \t b : P O I 0027700 N T E R T O B i t m a p _ 0027720 N I L ] ; \r S e t L i n e : 0027740 P R O C E D U R E [ x 1 , y 1 0027760 , x 2 , y 2 : C A R D I N A L 0030000 , f n : B i t B l t D e f s . 0030020 B B o p e r a t i o n , \r \t b : 0030040 P O I N T E R T O B i t m 0030060 a p _ N I L ] ; \r S e t A r 0030100 e a : P R O C E D U R E [ x 0030120 376 001 \0 250 q 1 , y 1 , x 2 , y 2 : 0030140 C A R D I N A L , f n : B i 0030160 t B l t D e f s . B B o p e r a 0030200 t i o n , \r \t b : P O I N T E 0030220 R T O B i t m a p _ N I 0030240 L ] ; \r S e t G r a y : P R O 0030260 C E D U R E [ x 1 , y 1 , x 2 0030300 , y 2 : C A R D I N A L , f n 0030320 : B i t B l t D e f s . B B o 0030340 p e r a t i o n , \r \t b : P O 0030360 I N T E R T O B i t m a p 0030400 _ N I L ] ; \r S e t B i t m a 0030420 p : P R O C E D U R E [ b : 0030440 P O I N T E R T O B i t m 0030460 a p , \r \t x , y : C A R D I N 0030500 A L , f n : B i t B l t D e f 0030520 s . B B o 376 001 \0 : - p e r a t i 0030540 o n , d e s t : P O I N T E R 0030560 T O B i t m a p _ N I L 0030600 ] ; \r \r - - r o u t i n e s e 0030620 x p o r t e d b y T e x t F 0030640 n s \r \r G e t S t r i k e H a n 0030660 d l e : P R O C E D U R E [ 0030700 f o n t N a m e : S T R I N G 0030720 ] R E T U R N S [ P O I N T 0030740 E R T O S t r i k e F o n t 0030760 ] ; \r G e t F o n t N a m e A r 0031000 r a y : P R O C E D U R E R 0031020 E T U R N S [ P O I N T E R 0031040 T O A R R A Y [ 0 . . 0 ) 0031060 O F S T R I N G , C A R D I N 0031100 A L ] ; \r \r P u t T e x t : P 0031120 R O C E D U R E [ 376 001 \0 S 314 s 0031140 : S T R I N G , x , y : C A 0031160 R D I N A L , f o n t : P O I 0031200 N T E R T O S t r i k e F o 0031220 n t , m o d e : t e x t M o d 0031240 e , b : P O I N T E R T O 0031260 B i t m a p _ N I L ] R E 0031300 T U R N S [ n e x t X : C A 0031320 R D I N A L ] ; \r R e p l a c e 0031340 T e x t : P R O C E D U R E 0031360 [ s : S T R I N G , x , y : 0031400 C A R D I N A L , f o n t : P 0031420 O I N T E R T O S t r i k e 0031440 F o n t , m o d e : t e x t M 0031460 o d e , b : P O I N T E R T 0031500 O B i t m a p _ N I L ] 0031520 R E T U R N S [ n e x t X : 376 0031540 001 \0 231 236 C A R D I N A L ] ; \r 0031560 E r a s e T e x t : P R O C E 0031600 D U R E [ s : S T R I N G , 0031620 x , y : C A R D I N A L , f o 0031640 n t : P O I N T E R T O S 0031660 t r i k e F o n t , m o d e : 0031700 t e x t M o d e , b : P O I N 0031720 T E R T O B i t m a p _ 0031740 N I L ] R E T U R N S [ n e 0031760 x t X : C A R D I N A L ] ; \r 0032000 X o r T e x t : P R O C E D U 0032020 R E [ s : S T R I N G , x , 0032040 y : C A R D I N A L , f o n t 0032060 : P O I N T E R T O S t r 0032100 i k e F o n t , m o d e : t e 0032120 x t M o d e , b : P O I N T E 0032140 R T O 376 001 \0 3 \b B i t m a p 0032160 _ N I L ] R E T U R N S 0032200 [ n e x t X : C A R D I N A L 0032220 ] ; \r \r S e t T e x t : P R O 0032240 C E D U R E [ s : S T R I N 0032260 G , x , y : C A R D I N A L , 0032300 f n : B i t B l t D e f s . B 0032320 B o p e r a t i o n , f o n t : 0032340 P O I N T E R T O G r a p 0032360 h i c s D e f s . S t r i k e F 0032400 o n t , m o d e : G r a p h i 0032420 c s D e f s . t e x t M o d e , 0032440 b : P O I N T E R T O G r 0032460 a p h i c s D e f s . B i t m a 0032500 p _ N I L ] R E T U R N 0032520 S [ n e x t X : C A R D I N 0032540 A L ] ; \r \r P u t 376 001 \0 I 235 R o 0032560 t a t e d T e x t : P R O C E 0032600 D U R E [ s : S T R I N G , 0032620 x , y : C A R D I N A L , f o 0032640 n t : P O I N T E R T O S 0032660 t r i k e F o n t , c o s T h e 0032700 t a , s i n T h e t a : I N T 0032720 E G E R ] ; \r P u t R o t a t e 0032740 d T e x t I n B i t m a p : P 0032760 R O C E D U R E [ s : S T R 0033000 I N G , x , y : C A R D I N A 0033020 L , f o n t : P O I N T E R 0033040 T O S t r i k e F o n t , c o 0033060 s T h e t a , s i n T h e t a : 0033100 I N T E G E R , b : P O I N 0033120 T E R T O B i t m a p ] ; \r 0033140 \r - - r o u t i n e s e x 376 001 0033160 \0 W \r p o r t e d b y B o x 0033200 F n s \r \r C r e a t e B o x : 0033220 P R O C E D U R E [ b : P O 0033240 I N T E R T O B o x , w i d 0033260 t h , h e i g h t : C A R D I 0033300 N A L ] ; \r D i s p l a y B o x 0033320 : P R O C E D U R E [ b : 0033340 P O I N T E R T O B o x , x 0033360 , y : C A R D I N A L , \r \t b 0033400 i t m a p : P O I N T E R T 0033420 O B i t m a p _ N I L ] ; 0033440 \r R e l e a s e B o x : P R O 0033460 C E D U R E [ b : P O I N T 0033500 E R T O B o x ] ; - - r e 0033520 l e a s e t e m p s t o r a 0033540 g e f o r c u r r e n t b 0033560 o x \r 376 001 \0 373 q R e m o v e B o 0033600 x : P R O C E D U R E [ b : 0033620 P O I N T E R T O B o x ] 0033640 ; - - u n d i s p l a y \r D e 0033660 s t r o y B o x : P R O C E D 0033700 U R E [ b : P O I N T E R 0033720 T O B o x , r e s t o r e : 0033740 B O O L E A N ] ; \r C u r s o r 0033760 I n B o x : P R O C E D U R E 0034000 [ b : P O I N T E R T O 0034020 B o x ] R E T U R N S [ B O 0034040 O L E A N ] ; \r M o v e B o x : 0034060 P R O C E D U R E [ b : P 0034100 O I N T E R T O B o x , c o 0034120 r n e r X , c o r n e r Y : C 0034140 A R D I N A L ] ; \r P a i n t 0034160 B o x : P R O 376 001 \0 _ b C E D 0034200 U R E [ b : P O I N T E R 0034220 T O B o x ] ; - - u p d a t 0034240 e c u r r e n t d i s p l a 0034260 y \r E N D . \r 032 l 3 8 1 0 ( 6 3 0034300 5 ) \ f 1 8 0 b 1 2 B 2 2 b 6 0034320 B 2 4 6 b 9 B 6 4 b 7 B 3 2 b 3 0034340 B 3 8 0 b 1 0 B 3 0 8 b 8 B 7 9 0034360 b 1 B i 3 4 b I 1 6 B 3 8 b 1 4 0034400 B 1 2 8 b 2 2 B 4 1 b 1 0 B 1 0 0034420 8 b 1 0 B 1 1 7 b 8 B 5 6 b 1 0 0034440 B 5 6 b 8 B 5 6 b 8 B 6 4 b 9 B 0034460 6 4 b 7 B 6 4 b 8 B 6 4 b 9 B 6 0034500 4 b 7 B 6 4 b 1 1 B 6 4 b 8 B 6 0034520 4 b 8 B 6 4 b 9 B 6 4 b 7 B 6 4 0034540 b 1 1 B 6 4 b 8 B 6 4 b 1 0 B 8 0034560 0 b 1 1 B 8 0 b 9 B 8 0 b 376 001 \0 0034600 A 366 1 3 B 8 0 b 1 B 6 1 b 1 7 B 0034620 9 3 b 1 3 B 5 4 b 1 2 B 1 1 0 b 0034640 1 2 B 5 7 b 1 3 B 8 2 b 6 B 8 2 0034660 f 0 1 f 1 2 b 8 B 8 2 f 0 0034700 1 f 1 2 b 7 B 8 2 f 0 1 f 1 0034720 2 f 0 b 3 f 1 3 B 8 4 f 0 0034740 1 f 1 2 f 0 b 3 f 1 5 B 8 4 0034760 f 0 1 f 1 2 f 0 b 3 f 1 4 0035000 B 8 4 f 0 1 f 1 2 b 1 B 4 8 0035020 b 1 7 B 1 9 7 b 8 B 8 5 b 7 B 1 0035040 f 0 1 f 1 9 1 b 7 B 1 f 0 0035060 1 f 1 9 1 b 7 B 1 f 0 1 f 1 0035100 9 1 b 9 B 1 f 0 1 f 1 1 0 0035120 8 i 3 2 b I 1 5 B 6 4 b 1 6 B 6 0035140 6 b 8 B 1 3 5 b 1 1 B 5 3 f 0 0035160 1 f 1 1 6 f 0 1 f 1 6 3 b 0035200 1 0 376 \0 o ? w B 5 3 f 0 1 f 1 0035220 1 6 f 0 1 f 1 6 3 b 8 B 5 0035240 3 f 0 1 f 1 1 6 f 0 1 f 1 0035260 6 3 b 9 B 2 0 3 b 1 4 B 9 4 b 0035300 2 2 B 1 1 6 i 2 9 I 2 b 9 B 5 6 0035320 b 1 0 B 8 1 b 1 0 B 7 2 b 9 B 4 0035340 5 b 1 0 B 5 0 b 1 1 B 5 1 b 7 B 0035360 6 0 b 8 B \r 377 \0 \0 B i t m a p F 0035400 n s . m e s a \0 376 001 \0 033 267 - - m 0035420 . s t o n e O c t o b e r 2 0035440 , 1 9 8 0 1 2 : 3 2 P M 0035460 \r D I R E C T O R Y \r \t B i t B 0035500 l t D e f s : F R O M " B i 0035520 t B l t D e f s " , \r \t L o n g 0035540 D e f s : F R O M " L o n g 0035560 D e f s " , - - l o n g B I 0035600 T B L T d i f f e r e n t f 0035620 o r D 0 , A l t o \r \t G e n e 0035640 r a l D i s p l a y D e f s : 0035660 F R O M " G e n e r a l D i s 0035700 p l a y D e f s " , \r \t G r a p 0035720 h i c s D e f s : F R O M " 0035740 G r a p h i c s D e f s " , \r \t 0035760 I n l i n e D e f s : F R O M 0036000 " I n l i n e D e f s " 376 001 \0 0036020 373 261 , \r \t S y s t e m D e f s : 0036040 F R O M " S y s t e m D e f 0036060 s " , \r \t S e g m e n t D e f s 0036100 : F R O M " S e g m e n t D 0036120 e f s " ; \r \r B i t m a p F n s 0036140 : P R O G R A M I M P O R T 0036160 S L o n g D e f s , I n l i 0036200 n e D e f s , S e g m e n t D 0036220 e f s , S y s t e m D e f s 0036240 E X P O R T S G r a p h i c s 0036260 D e f s = \r B E G I N O P E 0036300 N G e n e r a l D i s p l a y 0036320 D e f s ; \r \r M a c h i n e : 0036340 S e g m e n t D e f s . M a c h 0036360 i n e T y p e = S e g m e n 0036400 t D e f s . G e t M e m o r y C 0036420 o n 376 001 \0 o 322 f i g [ ] . A l t 0036440 o T y p e ; \r D M a c h i n e : 0036460 B O O L E A N = ( M a c h 0036500 i n e = D 0 ) O R ( M a 0036520 c h i n e = D o r a d o ) ; 0036540 \r \r S c r e e n : P O I N T E 0036560 R T O G r a p h i c s D e f 0036600 s . B i t m a p _ N I L ; \r 0036620 S c a l e : P R O C E D U R E 0036640 [ f a c t o r , c : I N T E 0036660 G E R ] R E T U R N S [ I N 0036700 T E G E R ] = I N L I N E \r 0036720 B E G I N R E T U R N [ ( I N 0036740 T E G E R [ c * f a c t o r ] ) 0036760 / 1 0 ] ; E N D ; \r \r - - d a t 0037000 a s t r u c t u r e s f o r 0037020 D 0 s t y 376 001 \0 ~ 365 l e c 0037040 o l o r d i s p l a y \r c o l 0037060 o r D a t a : T Y P E = M 0037100 A C H I N E D E P E N D E N T 0037120 R E C O R D \r [ \t a d d r : 0037140 [ 0 . . 1 6 ) , \r \t r , g , b 0037160 , u n u s e d : B O O L E A N 0037200 , \r \t d a t a : [ 0 . . 2 5 6 0037220 ) \r ] ; \r c o l o r E n t r y 0037240 : T Y P E = R E C O R D \r 0037260 [ \t r e d , g r e e n , b l u 0037300 e : c o l o r D a t a \r ] ; 0037320 \r c o l o r T a b l e : T Y P 0037340 E = R E C O R D - - m u s 0037360 t b e h e x A l i g n e d \r 0037400 [ \t f r o n t : A R R A Y 0037420 [ 0 . . 2 ) O F U N 376 001 \0 200 0037440 : S P E C I F I E D , \r \t e n t 0037460 r y : A R R A Y [ 0 . . 1 6 0037500 ) O F c o l o r E n t r y , 0037520 \r \t b a c k : A R R A Y [ 0 0037540 . . 1 0 ) O F U N S P E C I 0037560 F I E D , \r \t h e x A l i g n P 0037600 a d : A R R A Y [ 0 . . 1 6 0037620 ) O F U N S P E C I F I E D 0037640 \r ] ; \r \r - - d a t a s t r 0037660 u c t u r e s f o r D 1 s 0037700 t y l e c o l o r d i s p l 0037720 a y f r o m G e n e r a l D 0037740 i s p l a y D e f s \r \r - - d a 0037760 t a s t r u c t u r e f o r 0040000 A l t o t y p e d i s p l 0040020 a y s \r D C B : T Y P E = 0040040 M 376 001 \0 G 361 A C H I N E D E P 0040060 E N D E N T R E C O R D \r \t 0040100 [ L i n k : P O I N T E R 0040120 T O D C B , \r \t R e s o l 0040140 u t i o n : [ 0 . . 1 ] , \r \t 0040160 I n v e r t : [ 0 . . 1 ] 0040200 , \r \t O f f s e t : [ 0 . 0040220 . 1 0 0 B ) , \r \t W i d t h 0040240 : [ 0 . . 4 0 0 B ) , \r \t 0040260 B i t m a p : P O I N T E R 0040300 T O A R R A Y O F U N S P 0040320 E C I F I E D , \r \t L o n g 0040340 : B O O L E A N , \r \t H e 0040360 i g h t : [ 0 . . 7 7 7 7 7 B 0040400 ] , \r \t L o n g B i t m a p 0040420 : L O N G P O I N T E R T 0040440 O A R R A 376 001 \0 321 ` Y O F 0040460 U N S P E C I F I E D \r \t ] ; \r 0040500 D C B S e a l : P O I N T E R 0040520 = L O O P H O L E [ 1 7 7 4 0040540 2 3 B ] ; \r \r - - g l o b a l 0040560 v a r i a b l e s \r C o l o r B 0040600 i t m a p : P O I N T E R T 0040620 O P O I N T E R = L O O P 0040640 H O L E [ 4 1 4 B ] ; \r C o l o 0040660 r B i t m a p B a n k : P O I 0040700 N T E R T O C A R D I N A L 0040720 = L O O P H O L E [ 4 1 5 B 0040740 ] ; \r C o l o r M a p : P O I 0040760 N T E R T O P O I N T E R 0041000 = L O O P H O L E [ 4 1 6 B ] 0041020 ; \r C o l o r M a p B a n k : 0041040 P O I N T E R T O 376 001 \0 G 242 0041060 C A R D I N A L = L O O P H 0041100 O L E [ 4 1 7 B ] ; \r C o l o r 0041120 C t r l B l k : C o l o r C o 0041140 n t r o l B l o c k ; \r A C h a 0041160 n C t r l B l k : C h a n n e 0041200 l C o n t r o l B l o c k ; \r C 0041220 o l o r M o n i t o r : M o n 0041240 i t o r C o n t r o l B l o c k 0041260 ; \r c x : A R R A Y [ 0 . . 0041300 S I Z E [ c o l o r T a b l e ] 0041320 ] O F U N S P E C I F I E D 0041340 ; \r C o l o r T a b l e : P O 0041360 I N T E R T O c o l o r T a 0041400 b l e _ @ c x [ L O O P H O 0041420 L E [ @ c x , C A R D I N A L ] 0041440 M O D 1 6 ] ; \r C o l o r T 0041460 376 001 \0 314 356 a b l e 8 : P O I N 0041500 T E R T O A T a b l e I m a 0041520 g e ; \r x , x x : A R R A Y 0041540 [ 0 . . S I Z E [ B i t B l t D 0041560 e f s . B B T a b l e ] ] O F 0041600 U N S P E C I F I E D ; \r D C 0041620 B h e a d : P O I N T E R T 0041640 O P O I N T E R T O D C B 0041660 = L O O P H O L E [ 4 2 0 B 0041700 ] ; \r S e t P o i n t B L T : 0041720 P O I N T E R T O B i t B l 0041740 t D e f s . B B T a b l e _ \r 0041760 \t @ x [ L O O P H O L E [ @ x , 0042000 C A R D I N A L ] M O D 2 ] 0042020 ; \r B L T : P O I N T E R T 0042040 O B i t B l t D e f s . B B T 0042060 a b l e 376 001 \0 ] u _ \r \t @ x x 0042100 [ L O O P H O L E [ @ x x , C A 0042120 R D I N A L ] M O D 2 ] ; \r 0042140 \r D e f a u l t A l l o c a t e 0042160 : P R O C E D U R E [ n w o 0042200 r d s : C A R D I N A L ] R 0042220 E T U R N S [ L O N G P O I 0042240 N T E R ] _ \r B E G I N \r I 0042260 F D M a c h i n e T H E N 0042300 R E T U R N [ S e g m e n t D 0042320 e f s . L o n g D a t a S e g m 0042340 e n t A d d r e s s [ \r \t \t \t \t 0042360 \t S e g m e n t D e f s . N e w 0042400 D a t a S e g m e n t [ \r \t \t \t 0042420 \t \t \t S e g m e n t D e f s . D 0042440 e f a u l t X M B a s e , ( n w 0042460 o r d s + 2 5 5 ) / 376 001 \0 003 { 2 0042500 5 6 ] ] ] \r E L S E R E T U R 0042520 N [ S y s t e m D e f s . A l l 0042540 o c a t e S e g m e n t [ n w o 0042560 r d s ] ] ; \r E N D ; \r D e f a 0042600 u l t F r e e : P R O C E D U 0042620 R E [ X V M : L O N G P O 0042640 I N T E R ] _ \r B E G I N \r I 0042660 F D M a c h i n e T H E N \r 0042700 \t S e g m e n t D e f s . D e l 0042720 e t e D a t a S e g m e n t [ S 0042740 e g m e n t D e f s . L o n g V 0042760 M t o D a t a S e g m e n t [ X 0043000 V M ] ] \r E L S E S y s t e m 0043020 D e f s . F r e e S e g m e n t 0043040 [ I n l i n e D e f s . L o w H 0043060 a l f [ X V M ] ] ; \r E N D ; 376 0043100 001 \0 017 ^ \r \r S e t X M A l l o c 0043120 : P U B L I C P R O C E D U 0043140 R E [ A l l o c a t e : P R 0043160 O C E D U R E [ n w o r d s : 0043200 C A R D I N A L ] R E T U R 0043220 N S [ L O N G P O I N T E R 0043240 ] , F r e e : P R O C E D U R 0043260 E [ L O N G P O I N T E R ] 0043300 ] = \r B E G I N \r D e f a u l 0043320 t A l l o c a t e _ A l l o 0043340 c a t e ; \r D e f a u l t F r e 0043360 e _ F r e e ; \r E N D ; \r \r 0043400 G e t X M A l l o c : P U B L 0043420 I C P R O C E D U R E R E T 0043440 U R N S [ A l l o c a t e : 0043460 P R O C E D U R E [ n w o r d 0043500 s : C 376 001 \0 177 & A R D I N A L 0043520 ] R E T U R N S [ L O N G 0043540 P O I N T E R ] , F r e e : P 0043560 R O C E D U R E [ L O N G P 0043600 O I N T E R ] ] = \r B E G I N 0043620 \r R E T U R N [ D e f a u l t A 0043640 l l o c a t e , D e f a u l t F 0043660 r e e ] ; \r E N D ; \r \r - - e v 0043700 e n d o t d i s t r i b u t 0043720 i o n , m a x i m u m f l i 0043740 c k e r \r - - G r a y T h r e s 0043760 h o l d s : A R R A Y [ 0 . 0044000 . 1 6 ) O F C A R D I N A L 0044020 _ \r - - \t [ \t 0 0 , 0 8 , 0 2 0044040 , 1 0 , \r - - \t \t 1 4 , 0 4 , 0044060 1 2 , 0 6 , \r - - \t \t 0 3 , 1 1 0044100 , 0 1 , 0 9 , \r - 376 001 \0 345 022 - \t 0044120 \t 1 3 , 0 7 , 1 5 , 0 5 \t \r - - 0044140 \t ] ; \r G r a y T h r e s h o l 0044160 d s : A R R A Y [ 0 . . 1 6 0044200 ) O F C A R D I N A L _ \r 0044220 \t [ \t 1 5 , 0 1 , 0 5 , 1 1 , 0044240 - - m i n i m u m f l i c k e 0044260 r \r \t \t 0 6 , 0 8 , 1 2 , 0 2 , 0044300 \r \t \t 0 7 , 0 9 , 1 3 , 0 3 , \t 0044320 \r \t \t 1 4 , 0 0 , 0 4 , 1 0 \r 0044340 \t ] ; \r G r a y L e v e l : C 0044360 A R D I N A L _ 0 ; \r G r a 0044400 y 0 , G r a y 1 , G r a y 2 , G 0044420 r a y 3 : C A R D I N A L _ 0044440 1 7 7 7 7 7 B ; \r \r S e t G r 0044460 a y T h r e s h o l d s : P U 0044500 B L I C P R O C E D U R E 376 001 0044520 \0 f : [ n e w : P O I N T E 0044540 R T O A R R A Y [ 0 . . 0 0044560 ) O F C A R D I N A L , \r o 0044600 u t p u t D e v i c e : P O I 0044620 N T E R T O G r a p h i c s 0044640 D e f s . B i t m a p _ N I 0044660 L ] = \r B E G I N \r I F o u 0044700 t p u t D e v i c e = N I L 0044720 T H E N o u t p u t D e v i 0044740 c e _ S c r e e n ; \r S E L 0044760 E C T o u t p u t D e v i c e 0045000 . n B i t s P e r P i x e l F 0045020 R O M \r \t 1 = > \r \t \t B E G I 0045040 N \r \t \t i : C A R D I N A L ; 0045060 \r \t \t F O R i I N [ 0 . . 0045100 1 6 ] D O G r a y T h r e s 0045120 h o l 376 001 \0 r 360 d s [ i ] _ 0045140 n e w [ i ] ; \r \t \t E N D L O O 0045160 P ; \r \t \t E N D ; \r \t 4 = > \r \t 0045200 \t B E G I N \r \t \t i : C A R 0045220 D I N A L ; \r \t \t C o l o r T a 0045240 b l e . f r o n t _ A L L [ 0045260 0 ] ; \r \t \t C o l o r T a b l e 0045300 . b a c k _ A L L [ 0 ] ; \r 0045320 \t \t F O R i I N [ 0 . . 1 0045340 7 B ] D O \r \t \t \t C o l o r T 0045360 a b l e . e n t r y [ i ] . r e 0045400 d _ [ i , T R U E , F A L S 0045420 E , F A L S E , F A L S E , n e 0045440 w [ i ] ] ; \r \t \t \t C o l o r T 0045460 a b l e . e n t r y [ i ] . g r 0045500 e e n _ [ i , F A L S E , T 0045520 R U E , F A L S 376 001 \0 025 225 E , F 0045540 A L S E , n e w [ i ] ] ; \r \t \t 0045560 \t C o l o r T a b l e . e n t r 0045600 y [ i ] . b l u e _ [ i , F 0045620 A L S E , F A L S E , T R U E , 0045640 F A L S E , n e w [ i ] ] ; \r \t 0045660 \t E N D L O O P ; \r \t \t E N D ; 0045700 \r \t 8 = > \r \t \t B E G I N \r \t \t 0045720 i : C A R D I N A L ; \r \t \t F 0045740 O R i I N [ 0 . . 1 0 2 4 0045760 ) D O \r \t \t \t C o l o r T a b 0046000 l e 8 [ i ] . z e r o H i g h 0046020 _ C o l o r T a b l e 8 [ i ] 0046040 . z e r o L o w _ 0 ; \r \t \t 0046060 E N D L O O P ; \r \t \t F O R i 0046100 I N [ 0 . . 2 5 6 ) D O \r 0046120 \t \t \t C o l o r T a b l e 376 001 \0 0046140 232 245 8 [ i * 4 ] _ [ 0 , n e 0046160 w [ i ] M O D 1 6 , n e w [ 0046200 i ] , 0 , n e w [ i ] , n e w [ 0046220 i ] / 1 6 ] ; \r \t \t E N D L O O 0046240 P ; \r \t \t p M o n i t o r H e a 0046260 d . F l a g s _ [ 0 , F A L 0046300 S E , F A L S E , F A L S E , F 0046320 A L S E , T R U E , T R U E , T 0046340 R U E ] ; \r \t \t E N D ; \r \t E N 0046360 D C A S E = > E R R O R ; \r E N 0046400 D ; \r \r h a l f t o n e W o r d 0046420 : T Y P E = M A C H I N E 0046440 D E P E N D E N T R E C O R 0046460 D \r [ \t u n u s e d : [ 0 . 0046500 . 7 7 7 7 B ] , \r \t v a l 1 , v 0046520 a l 2 , v a l 3 , v a l 4 : B 0046540 O O 376 001 \0 200 022 L E A N \r ] ; \r 0046560 S e t G r a y L e v e l : P U 0046600 B L I C P R O C E D U R E [ 0046620 i n t e n s i t y : C A R D I 0046640 N A L , \r o u t p u t D e v i c 0046660 e : P O I N T E R T O G r 0046700 a p h i c s D e f s . B i t m a 0046720 p _ N I L ] = \r B E G I N 0046740 \r I F o u t p u t D e v i c e 0046760 = N I L T H E N o u t p 0047000 u t D e v i c e _ S c r e e 0047020 n ; \r S E L E C T o u t p u t 0047040 D e v i c e . n B i t s P e r P 0047060 i x e l F R O M \r 1 = > \r \t 0047100 B E G I N \r \t h : h a l f t o 0047120 n e W o r d ; \r \t v a l u e , s 0047140 c a n l i n e 376 001 \0 j o : C A 0047160 R D I N A L ; \r \t \r \t I F G r 0047200 a y L e v e l = i n t e n s 0047220 i t y T H E N R E T U R N ; 0047240 \r \t G r a y L e v e l _ i n 0047260 t e n s i t y ; \r \t \r \t F O R 0047300 s c a n l i n e I N [ 0 . . 0047320 4 ) D O \r \t \t h . v a l 1 _ 0047340 i n t e n s i t y < = G r 0047360 a y T h r e s h o l d s [ s c a 0047400 n l i n e * 4 + 0 ] ; \r \t \t h . 0047420 v a l 2 _ i n t e n s i t y 0047440 < = G r a y T h r e s h o l 0047460 d s [ s c a n l i n e * 4 + 1 ] 0047500 ; \r \t \t h . v a l 3 _ i n t 0047520 e n s i t y < = G r a y T h 0047540 r e s h o l d s [ s c a 376 001 \0 V 0047560 203 n l i n e * 4 + 2 ] ; \r \t \t h 0047600 . v a l 4 _ i n t e n s i t 0047620 y < = G r a y T h r e s h o 0047640 l d s [ s c a n l i n e * 4 + 3 0047660 ] ; \r \t \t h . u n u s e d _ 0047700 0 ; \r \t \t v a l u e _ L O O 0047720 P H O L E [ h ] ; \r \t \t v a l u 0047740 e _ v a l u e + v a l u 0047760 e * 1 6 ; \r \t \t v a l u e _ 0050000 v a l u e + v a l u e * 2 5 0050020 6 ; \r \t \t S E L E C T s c a n 0050040 l i n e F R O M \r \t \t \t 0 = > 0050060 G r a y 0 _ v a l u e ; \r \t \t 0050100 \t 1 = > G r a y 1 _ v a l u e 0050120 ; \r \t \t \t 2 = > G r a y 2 _ v 0050140 a l u e ; \r \t \t \t 3 = > G r a 0050160 y 376 001 \0 343 254 3 _ v a l u e ; \r \t 0050200 \t \t E N D C A S E ; \r \t E N D L 0050220 O O P ; \r \t E N D ; \r 4 = > \r 0050240 \t B E G I N \r \t i n t e n s i t 0050260 y _ 1 5 - M I N [ i n t 0050300 e n s i t y , 1 5 ] ; \r \t G r a 0050320 y 0 _ G r a y 1 _ G r a 0050340 y 2 _ G r a y 3 _ \r \t \t i 0050360 n t e n s i t y + i n t e n 0050400 s i t y * 1 6 + i n t e n s 0050420 i t y * 2 5 6 + i n t e n s 0050440 i t y * 4 0 9 6 ; \r \t E N D ; \r 0050460 8 = > G r a y 0 _ G r a 0050500 y 1 _ G r a y 2 _ G r a 0050520 y 3 _ i n t e n s i t y + 0050540 i n t e n s i t y * 2 5 6 ; \r 0050560 E N D C A 376 001 \0 230 315 S E = > E 0050600 R R O R ; \r B L T . g r a y 0 0050620 _ G r a y 0 ; B L T . g r a y 0050640 1 _ G r a y 1 ; \r B L T . g 0050660 r a y 2 _ G r a y 2 ; B L T 0050700 . g r a y 3 _ G r a y 3 ; \r 0050720 E N D ; \r \r - - a h a c k \r - 0050740 - o n l y w o r k s f o r 0050760 8 b i t s / p i x e l . p 0051000 a t t e r n i s 8 b i t s 0051020 , s e t l o w , h i g h , 0051040 g r a y 0 - g r a y 3 \r S e t 0051060 H a l f T o n e : P U B L I C 0051100 P R O C E D U R E [ b l a c k 0051120 , w h i t e : C A R D I N A L 0051140 , p a t t e r n : C A R D I 0051160 N A L ] = \r B E G I 376 001 \0 215 307 0051200 N \r i : C A R D I N A L ; \r h 0051220 i g h b l a c k : C A R D I N 0051240 A L _ b l a c k * 2 5 6 0051260 ; \r h i g h w h i t e : C A R 0051300 D I N A L _ w h i t e * 0051320 2 5 6 ; \r g r a y : A R R A Y 0051340 [ 0 . . 3 ] O F C A R D I N 0051360 A L _ A L L [ 0 ] ; \r F O R 0051400 i I N [ 0 . . 3 ] D O \r 0051420 \t g r a y [ i ] _ ( I F I 0051440 n l i n e D e f s . B I T A N D 0051460 [ p a t t e r n , 1 ] = 0 T H 0051500 E N b l a c k E L S E w h 0051520 i t e ) ; \r \t g r a y [ i ] _ 0051540 ( I F I n l i n e D e f s . 0051560 B I T A N D [ p a t t e r n , 2 0051600 376 001 \0 l 223 ] = 0 \r \t \t T H E N 0051620 g r a y [ i ] + h i g h b l a c 0051640 k E L S E g r a y [ i ] + h 0051660 i g h w h i t e ) ; \r \t p a t t 0051700 e r n _ p a t t e r n / 4 ; 0051720 \t - - s h i f t i t \r \t E N D 0051740 L O O P ; \r G r a y 0 _ g r 0051760 a y [ 0 ] ; \r G r a y 1 _ g 0052000 r a y [ 1 ] ; \r G r a y 2 _ 0052020 g r a y [ 2 ] ; \r G r a y 3 _ 0052040 g r a y [ 3 ] ; \r B L T . g r 0052060 a y 0 _ G r a y 0 ; B L T . 0052100 g r a y 1 _ G r a y 1 ; \r B 0052120 L T . g r a y 2 _ G r a y 2 0052140 ; B L T . g r a y 3 _ G r a 0052160 y 3 ; \r E N D ; \r \r S e t R e d 0052200 : P U B 376 001 \0 6 020 L I C P R 0052220 O C E D U R E [ g r a y : [ 0 0052240 . . 2 5 6 ) , n e w V a l : [ 0052260 0 . . 2 5 6 ) , o u t p u t D e 0052300 v i c e : P O I N T E R T O 0052320 G r a p h i c s D e f s . B i 0052340 t m a p _ N I L ] = \r B 0052360 E G I N \r I F o u t p u t D e 0052400 v i c e = N I L T H E N 0052420 o u t p u t D e v i c e _ S 0052440 c r e e n ; \r S E L E C T o u 0052460 t p u t D e v i c e . n B i t s 0052500 P e r P i x e l F R O M \r \t 8 0052520 = > B E G I N C o l o r T a b 0052540 l e 8 [ g r a y * 4 ] . r e d H 0052560 i g h _ n e w V a l / 1 6 ; 0052600 \r \t \t C o l o r T a 376 001 \0 224 247 b 0052620 l e 8 [ g r a y * 4 ] . r e d L 0052640 o w _ n e w V a l M O D 0052660 1 6 ; \r \t \t p M o n i t o r H e 0052700 a d . F l a g s _ [ 0 , F A 0052720 L S E , F A L S E , F A L S E , 0052740 F A L S E , T R U E , T R U E , 0052760 T R U E ] ; \r \t \t E N D ; \r \t E 0053000 N D C A S E ; \r E N D ; \r \r S e 0053020 t G r e e n : P U B L I C P 0053040 R O C E D U R E [ g r a y : [ 0053060 0 . . 2 5 6 ) , n e w V a l : 0053100 [ 0 . . 2 5 6 ) , o u t p u t D 0053120 e v i c e : P O I N T E R T 0053140 O G r a p h i c s D e f s . B 0053160 i t m a p _ N I L ] = \r 0053200 B E G I N \r I F o u t p u 376 0053220 001 \0 \t k t D e v i c e = N I 0053240 L T H E N o u t p u t D e v 0053260 i c e _ S c r e e n ; \r S E 0053300 L E C T o u t p u t D e v i c 0053320 e . n B i t s P e r P i x e l 0053340 F R O M \r \t 8 = > B E G I N \r \t 0053360 \t C o l o r T a b l e 8 [ g r a 0053400 y * 4 ] . g r e e n _ n e w 0053420 V a l ; \r \t \t p M o n i t o r H 0053440 e a d . F l a g s _ [ 0 , F 0053460 A L S E , F A L S E , F A L S E 0053500 , F A L S E , T R U E , T R U E 0053520 , T R U E ] ; \r \t \t E N D ; \r \t 0053540 E N D C A S E ; \r E N D ; \r \r S 0053560 e t B l u e : P U B L I C P 0053600 R O C E D U R E [ g r a y : [ 0053620 0 . . 2 376 001 \0 365 . 5 6 ) , n e w 0053640 V a l : [ 0 . . 2 5 6 ) , o u 0053660 t p u t D e v i c e : P O I N 0053700 T E R T O G r a p h i c s D 0053720 e f s . B i t m a p _ N I L 0053740 ] = \r B E G I N \r I F o 0053760 u t p u t D e v i c e = N I 0054000 L T H E N o u t p u t D e v 0054020 i c e _ S c r e e n ; \r S E 0054040 L E C T o u t p u t D e v i c 0054060 e . n B i t s P e r P i x e l 0054100 F R O M \r \t 8 = > B E G I N \r \t 0054120 \t C o l o r T a b l e 8 [ g r a 0054140 y * 4 ] . b l u e _ n e w V 0054160 a l ; \r \t \t p M o n i t o r H e 0054200 a d . F l a g s _ [ 0 , F A 0054220 L S E , F A L S E 376 001 \0 351 6 , F 0054240 A L S E , F A L S E , T R U E , 0054260 T R U E , T R U E ] ; \r \t \t E N 0054300 D ; \r \t E N D C A S E ; \r E N D 0054320 ; \r \r G e t R e d : P U B L I 0054340 C P R O C E D U R E [ g r a y 0054360 : [ 0 . . 2 5 6 ) , o u t p u 0054400 t D e v i c e : P O I N T E R 0054420 T O G r a p h i c s D e f s 0054440 . B i t m a p _ N I L ] R 0054460 E T U R N S [ C A R D I N A L 0054500 ] = \r B E G I N \r I F o u 0054520 t p u t D e v i c e = N I L 0054540 T H E N o u t p u t D e v i 0054560 c e _ S c r e e n ; \r S E L 0054600 E C T o u t p u t D e v i c e 0054620 . n B i t s P e r P i x e l 376 001 0054640 \0 J 6 F R O M \r \t 8 = > R E T 0054660 U R N [ C o l o r T a b l e 8 [ 0054700 g r a y * 4 ] . r e d H i g h * 0054720 1 6 + C o l o r T a b l e 8 [ g 0054740 r a y * 4 ] . r e d L o w ] ; \r 0054760 \t E N D C A S E = > R E T U R N 0055000 [ 0 ] ; \r E N D ; \r \r G e t G r 0055020 e e n : P U B L I C P R O C 0055040 E D U R E [ g r a y : [ 0 . . 0055060 2 5 6 ) , o u t p u t D e v i c 0055100 e : P O I N T E R T O G r 0055120 a p h i c s D e f s . B i t m a 0055140 p _ N I L ] R E T U R N S 0055160 [ C A R D I N A L ] = \r B 0055200 E G I N \r I F o u t p u t D 0055220 e v i c e = N I L T H E N 0055240 o u 376 001 \0 207 315 t p u t D e v i 0055260 c e _ S c r e e n ; \r S E L 0055300 E C T o u t p u t D e v i c e 0055320 . n B i t s P e r P i x e l F 0055340 R O M \r \t 8 = > R E T U R N [ C 0055360 o l o r T a b l e 8 [ g r a y * 0055400 4 ] . g r e e n ] ; \r \t E N D C 0055420 A S E = > R E T U R N [ 0 ] ; \r 0055440 E N D ; \r \r G e t B l u e : P 0055460 U B L I C P R O C E D U R E [ 0055500 g r a y : [ 0 . . 2 5 6 ) , o 0055520 u t p u t D e v i c e : P O I 0055540 N T E R T O G r a p h i c s 0055560 D e f s . B i t m a p _ N I 0055600 L ] R E T U R N S [ C A R D 0055620 I N A L ] = \r B E G I N \r 0055640 I F o u t p u 376 001 \0 221 322 t D e 0055660 v i c e = N I L T H E N 0055700 o u t p u t D e v i c e _ S 0055720 c r e e n ; \r S E L E C T o u 0055740 t p u t D e v i c e . n B i t s 0055760 P e r P i x e l F R O M \r \t 8 0056000 = > R E T U R N [ C o l o r T a 0056020 b l e 8 [ g r a y * 4 ] . b l u 0056040 e ] ; \r \t E N D C A S E = > R E 0056060 T U R N [ 0 ] ; \r E N D ; \r \r G 0056100 e t G r a y B l o c k : P U B 0056120 L I C P R O C E D U R E R E 0056140 T U R N S [ g r a y 0 , g r a 0056160 y 1 , g r a y 2 , g r a y 3 : 0056200 C A R D I N A L ] = \r B E G I 0056220 N R E T U R N [ G r a y 0 , 0056240 G r a y 1 , G r a y 2 , G 376 001 \0 0056260 016 312 r a y 3 ] ; E N D ; \r \r S e 0056300 t D e f a u l t B i t m a p : 0056320 P U B L I C P R O C E D U R E 0056340 [ w i d t h , h e i g h t : 0056360 C A R D I N A L ] = \r B E G I 0056400 N \r I F S c r e e n = N I 0056420 L T H E N - - o u g h t t 0056440 o b e a b l e t o r e t 0056460 u r n a c o u p l e o f 0056500 s c r e e n s . . . \r \t S c r e 0056520 e n _ S y s t e m D e f s . 0056540 A l l o c a t e H e a p N o d e 0056560 [ S I Z E [ G r a p h i c s D e 0056600 f s . B i t m a p ] ] ; \r S c r 0056620 e e n . n B i t s _ w i d t 0056640 h ; \r S c r e e n . n L i n e s 0056660 _ 376 001 \0 373 246 h e i g h t ; \r 0056700 E N D ; \r \r T u r n O n G r a p 0056720 h i c s : P U B L I C P R O 0056740 C E D U R E [ b i t s P e r 0056760 P i x e l : C A R D I N A L 0057000 _ 1 , p o r t r a i t M o d e 0057020 : B O O L E A N _ T R U E 0057040 , s c a l e P e r c e n t : C 0057060 A R D I N A L _ 1 0 0 ] R 0057100 E T U R N S [ P O I N T E R 0057120 T O G r a p h i c s D e f s . 0057140 B i t m a p ] = \r B E G I N \r 0057160 s c a l e F a c t o r : C A R 0057200 D I N A L _ s c a l e P e r 0057220 c e n t / 1 0 ; \r I F S c r e 0057240 e n = N I L T H E N - - 0057260 o u g h t t 376 001 \0 231 210 o b e 0057300 a b l e t o r e t u r n 0057320 a c o u p l e o f s c r e 0057340 e n s . . . \r \t B E G I N \r \t S 0057360 c r e e n _ S y s t e m D e 0057400 f s . A l l o c a t e H e a p N 0057420 o d e [ S I Z E [ G r a p h i c 0057440 s D e f s . B i t m a p ] ] ; \r 0057460 \t S E L E C T b i t s P e r P 0057500 i x e l F R O M \r \t \t 1 = > 0057520 I F p o r t r a i t M o d e 0057540 T H E N \r \t \t \t \t B E G I N \r \t 0057560 \t \t \t S c r e e n . n B i t s 0057600 _ ( 6 0 8 * 1 0 ) / s c a l e 0057620 F a c t o r ; \r \t \t \t \t S c r e 0057640 e n . n L i n e s _ ( 8 0 0 0057660 * 1 0 ) / s c a l e F a 376 001 \0 P 0057700 g c t o r ; \r \t \t \t \t E N D \r \t 0057720 \t \t E L S E \r \t \t \t \t B E G I N 0057740 \r \t \t \t \t S c r e e n . n B i t 0057760 s _ ( 8 0 0 * 1 0 ) / s c a 0060000 l e F a c t o r ; \r \t \t \t \t S c 0060020 r e e n . n L i n e s _ ( 6 0060040 0 8 * 1 0 ) / s c a l e F a c t 0060060 o r ; \r \t \t \t \t E N D ; \r \t \t 4 0060100 , 8 = > I F p o r t r a i t 0060120 M o d e T H E N \r \t \t \t \t B E 0060140 G I N \r \t \t \t \t S c r e e n . n 0060160 B i t s _ ( 6 4 0 * 1 0 ) / 0060200 s c a l e F a c t o r ; \r \t \t \t 0060220 \t S c r e e n . n L i n e s _ 0060240 ( 4 8 0 * 1 0 ) / s c a l e F 0060260 a c t o r ; \r \t \t \t \t E N D \r \t 0060300 \t 376 001 \0 | 341 \t E L S E \r \t \t \t \t 0060320 B E G I N \r \t \t \t \t S c r e e n 0060340 . n B i t s _ ( 4 8 0 * 1 0 0060360 ) / s c a l e F a c t o r ; \r \t 0060400 \t \t \t S c r e e n . n L i n e s 0060420 _ ( 6 4 0 * 1 0 ) / s c a l 0060440 e F a c t o r ; \r \t \t \t \t E N D 0060460 ; \r \t \t E N D C A S E = > E R 0060500 R O R ; \r \t E N D ; \r S c r e e 0060520 n . n B i t s P e r P i x e l 0060540 _ b i t s P e r P i x e l ; \r 0060560 S c r e e n . p o r t r a i t M 0060600 o d e _ p o r t r a i t M o 0060620 d e ; \r S c r e e n . s c a l e 0060640 F a c t o r _ s c a l e F a 0060660 c t o r ; \r S c r e e n . n W o 0060700 r d s _ 376 001 \0 \n 307 I F p o 0060720 r t r a i t M o d e \r \t T H E N 0060740 2 * b i t s P e r P i x e l * 0060760 ( ( S c a l e [ s c a l e F a c 0061000 t o r , S c r e e n . n B i t s 0061020 ] + 3 1 ) / 3 2 ) \r \t E L S E 0061040 2 * b i t s P e r P i x e l * ( 0061060 ( S c a l e [ s c a l e F a c t 0061100 o r , S c r e e n . n L i n e s 0061120 ] + 3 1 ) / 3 2 ) ; \r S e t P 0061140 o i n t B L T ^ _ [ p t r s 0061160 : l o n g , p a d : 0 , s o 0061200 u r c e a l t : F A L S E , s 0061220 o u r c e t y p e : g r a y , 0061240 \r \t d w : S c r e e n . n B i 0061260 t s P e r P i x e l , d h : 1 0061300 , \r \t d e s t a l t : 376 001 \0 % 003 0061320 , f u n c t i o n : , d b c 0061340 a : N I L , d b m r : , d l 0061360 x : , d t y : , \r \t g r a y 0 : 0061400 1 7 7 7 7 7 B , g r a y 1 : 0061420 1 7 7 7 7 7 B , g r a y 2 : 1 0061440 7 7 7 7 7 B , g r a y 3 : 1 7 7 0061460 7 7 7 B , \r \t s b c a : N I 0061500 L , u n u s e d : 0 , s b m r 0061520 : 0 , s l x : , s t y : , s l 0061540 b c a : , d l b c a : ] ; \r B L 0061560 T ^ _ [ p t r s : l o n g 0061600 , p a d : 0 , s o u r c e a l 0061620 t : F A L S E , s o u r c e t 0061640 y p e : g r a y , \r \t d w : 0061660 , d h : , \r \t d e s t a l t : 0061700 , f u n c t i o n : , d b c 0061720 376 001 \0 J 022 a : N I L , d b m r 0061740 : , d l x : , d t y : , \r \t g 0061760 r a y 0 : 1 7 7 7 7 7 B , g r 0062000 a y 1 : 1 7 7 7 7 7 B , g r a 0062020 y 2 : 1 7 7 7 7 7 B , g r a y 0062040 3 : 1 7 7 7 7 7 B , \r \t s b c 0062060 a : N I L , u n u s e d : 0 0062100 , s b m r : 0 , s l x : , s t 0062120 y : , s l b c a : , d l b c a : 0062140 ] ; \r S E L E C T S c r e e n 0062160 . n B i t s P e r P i x e l F 0062200 R O M \r 1 = > \r \t B E G I N \r 0062220 \t m y D C B : P O I N T E R 0062240 T O D C B _ \r \t \t I F D M 0062260 a c h i n e T H E N S y s t 0062300 e m D e f s . A l l o c a t e H 0062320 e a p N o 376 001 \0 f 207 d e [ S I Z 0062340 E [ D C B ] + 1 ] \r \t \t E L S E 0062360 S y s t e m D e f s . A l l o 0062400 c a t e S e g m e n t [ S c r e 0062420 e n . n W o r d s * S c r e e n 0062440 . n L i n e s + S I Z E [ D C B 0062460 ] + 1 ] ; \r \t m y S c r e e n : 0062500 L O N G P O I N T E R T O 0062520 A R R A Y O F U N S P E C 0062540 I F I E D _ \r \t \t I F D M a 0062560 c h i n e T H E N D e f a u 0062600 l t A l l o c a t e [ S c r e e 0062620 n . n W o r d s * S c r e e n . 0062640 n L i n e s + 1 ] E L S E N 0062660 I L ; \r \t I F I n l i n e D e 0062700 f s . B I T A N D [ L O O P H O 0062720 L E [ I n l i n e D 376 001 \0 275 255 e 0062740 f s . L o w H a l f [ m y S c r 0062760 e e n ] , C A R D I N A L ] , 1 0063000 ] = 1 T H E N \r \t \t m y S c r 0063020 e e n _ m y S c r e e n + 1 ; \r 0063040 \t I F I n l i n e D e f s . B 0063060 I T A N D [ L O O P H O L E [ m 0063100 y D C B , C A R D I N A L ] , 1 0063120 ] = 1 T H E N \r \t \t m y D C B 0063140 _ m y D C B + 1 ; \r \t I F D M 0063160 a c h i n e T H E N \r \t \t B E 0063200 G I N \r \t \t S c r e e n . b a n 0063220 k _ I n l i n e D e f s . H i g 0063240 h H a l f [ m y S c r e e n ] ; 0063260 \r \t \t S c r e e n . b i t s _ I 0063300 n l i n e D e f s . L o w H a l 0063320 f [ m y S c r e e n ] ; \r \t \t 376 0063340 001 \0 030 243 E N D \r \t E L S E \r \t \t 0063360 B E G I N \r \t \t S c r e e n . b 0063400 a n k _ 0 ; \r \t \t S c r e e 0063420 n . b i t s _ L O O P H O L 0063440 E [ m y D C B + S I Z E [ D C B 0063460 ] ] ; \r \t \t E N D ; \r \t m y D C 0063500 B ^ _ [ L i n k : L O O P H O 0063520 L E [ 0 ] , R e s o l u t i o n 0063540 : 0 , I n v e r t : 0 , O f 0063560 f s e t : 0 , \r \t \t W i d t h 0063600 : S c r e e n . n W o r d s , 0063620 \r \t \t B i t m a p : I F D M 0063640 a c h i n e T H E N D C B S 0063660 e a l E L S E L O O P H O L 0063700 E [ S c r e e n . b i t s ] , \r 0063720 \t \t L o n g : D M a c h i n e 0063740 , H e i 376 001 \0 372 210 g h t : S c 0063760 r e e n . n L i n e s / 2 , L o 0064000 n g B i t m a p : m y S c r e 0064020 e n ] ; \r \t E r a s e A r e a [ 0064040 0 , 0 , S c r e e n . n B i t s 0064060 , S c r e e n . n L i n e s ] ; 0064100 \r \t D C B h e a d ^ _ m y D C B 0064120 ; \r \t E N D ; \r 4 = > \r \t B E 0064140 G I N \r \t n o r m a l T h r e s 0064160 h o l d s : A R R A Y [ 0 . 0064200 . 1 7 B ] O F C A R D I N A 0064220 L _ \r \t \t [ 0 , 1 7 , 3 4 , 5 0064240 1 , 6 8 , 8 5 , 1 0 2 , 1 1 9 , 0064260 1 3 6 , 1 5 3 , 1 7 0 , 1 8 7 , 0064300 2 0 4 , 2 2 1 , 2 3 8 , 2 5 5 ] 0064320 ; \r \t S e t G r a y T h r e s h 0064340 o l d s [ L O O P 376 001 \0 o 214 H O 0064360 L E [ @ n o r m a l T h r e s h 0064400 o l d s ] ] ; \r \t C o l o r B i 0064420 t m a p ^ _ L O O P H O L E 0064440 [ 0 ] ; \t - - I n l i n e D e f 0064460 s . L o w H a l f [ l o n g P ] 0064500 ; \r \t C o l o r B i t m a p B a 0064520 n k ^ _ 4 ; \t - - I n l i n 0064540 e D e f s . H i g h H a l f [ l 0064560 o n g P ] ; \r \t C o l o r M a p 0064600 ^ _ C o l o r T a b l e ; \r 0064620 \t C o l o r M a p B a n k ^ _ 0064640 0 ; \r \t S c r e e n . b a n k 0064660 _ 4 ; \t - - 1 ; \r \t S c r e 0064700 e n . b i t s _ L O O P H O L E 0064720 [ C o l o r B i t m a p ^ ] ; \r 0064740 \t E r a s e A r e a [ 0 , 0 376 001 0064760 \0 R 240 , S c r e e n . n B i t s 0065000 , S c r e e n . n L i n e s ] ; 0065020 \r \t E N D ; \r 8 = > \r \t B E G 0065040 I N \r \t n o r m a l T h r e s h 0065060 o l d s : A R R A Y [ 0 . . 0065100 2 5 6 ) O F C A R D I N A L 0065120 ; \r \t i : C A R D I N A L ; \r 0065140 \t F O R i I N [ 0 . . 2 5 0065160 6 ) D O n o r m a l T h r e 0065200 s h o l d s [ i ] _ i ; E N 0065220 D L O O P ; \r \t C o l o r T a b 0065240 l e 8 _ S y s t e m D e f s 0065260 . A l l o c a t e S e g m e n t 0065300 [ S I Z E [ A T a b l e I m a g 0065320 e ] ] ; \r \t S c r e e n . b a n 0065340 k _ 4 ; \r \t S c r e e n . b 0065360 i t s 376 001 \0 Z 302 _ N I L ; \r \t C 0065400 o l o r C t r l B l k _ \r \t 0065420 [ \t A T a b l e : C o l o r T 0065440 a b l e 8 , \r \t \t B T a b l e : 0065460 N I L , C T a b l e : N I L 0065500 , M i n i M i x e r : N I L , 0065520 \r \t \t V B l a n k : [ V B t o 0065540 V S : 3 , V S t o V S : 3 ] 0065560 , V S t o V B : 2 0 B , V i s 0065600 i b l e L i n e s : 2 4 0 , \r 0065620 \t \t H R a m M a x A d d r : 3 0065640 7 9 , H B l a n k : [ H B L e 0065660 a d L e n g t h : 6 , H S T r 0065700 a i l A d d r : 4 7 ] , \r \t \t 0065720 H B T r a i l L e n g t h : 6 0065740 , P C l o c k : [ u n u s e d 0065760 : 0 , P C l o 376 001 \0 357 i c k M 0066000 u l : 1 3 0 B , P C l o c k D 0066020 i v : 1 4 B ] , \r \t \t r e s e 0066040 r v e d : 0 \r \t ] ; \r \t A C 0066060 h a n C t r l B l k _ \r \t [ 0066100 \t N I L , S c r e e n . n W o r 0066120 d s , M a k e L o n g P o i n t 0066140 e r [ S c r e e n . b i t s , S 0066160 c r e e n . b a n k ] , \r \t \t S 0066200 c r e e n . n L i n e s / 2 , S 0066220 c r e e n . n B i t s + 3 7 7 B 0066240 , M a r g i n O f f s e t [ R a 0066260 m t e k 5 2 5 ] , \r \t \t [ u n u 0066300 s e d : 0 , \r \t \t b 2 4 B i 0066320 t s P e r P i x e l : F A L S 0066340 E , A B y P a s s : F A L S E 0066360 , B B y P a s s : F A L 376 001 \0 0066400 342 } S E , A 8 B 2 : T R U E , 0066420 \r \t \t R e s o l u t i o n : 0066440 f u l l , S i z e 8 : T R U E 0066460 , S i z e 4 : F A L S E , S i z 0066500 e 2 : F A L S E , S i z e 1 : 0066520 F A L S E \r \t \t ] \r \t ] ; \r 0066540 \t C o l o r M o n i t o r _ \r 0066560 \t [ \t 1 7 7 4 5 6 B , [ 0 , F 0066600 A L S E , T R U E , T R U E , T 0066620 R U E , T R U E , T R U E , T R 0066640 U E ] , \r \t \t @ A C h a n C t r 0066660 l B l k , N I L , @ C o l o r C 0066700 t r l B l k \r \t ] ; \r \t E r a 0066720 s e A r e a [ 0 , 0 , S c r e e 0066740 n . n B i t s , S c r e e n . n 0066760 L i n e s ] ; \r \t p M o n i t o 0067000 r H 376 001 \0 252 T e a d ^ _ @ C 0067020 o l o r M o n i t o r ; \r \t S e 0067040 t G r a y T h r e s h o l d s [ 0067060 L O O P H O L E [ @ n o r m a l 0067100 T h r e s h o l d s ] ] ; \r \t E 0067120 N D ; \r E N D C A S E = > 0067140 E R R O R ; \r R E T U R N [ S c 0067160 r e e n ] ; \r E N D ; \r \r G e t 0067200 D e f a u l t B i t m a p H a n 0067220 d l e : P U B L I C P R O C 0067240 E D U R E R E T U R N S [ P 0067260 O I N T E R T O G r a p h i 0067300 c s D e f s . B i t m a p ] = 0067320 \r B E G I N R E T U R N [ S c 0067340 r e e n ] ; E N D ; \r \r - - f i 0067360 r s t , t h e d u m m y r 0067400 o u t i n e s 376 001 \0 G T u s i 0067420 n g d e f a u l t b i t M a 0067440 p ( S c r e e n ) \r P u t P o 0067460 i n t : P U B L I C P R O C 0067500 E D U R E [ x , y : C A R D I 0067520 N A L , b : P O I N T E R T 0067540 O G r a p h i c s D e f s . B 0067560 i t m a p _ N I L ] = \r \t B 0067600 E G I N S e t P o i n t [ x , 0067620 y , r e p l a c e , b ] ; E N D 0067640 ; \r E r a s e P o i n t : P U 0067660 B L I C P R O C E D U R E [ 0067700 x , y : C A R D I N A L , b : 0067720 P O I N T E R T O G r a p 0067740 h i c s D e f s . B i t m a p 0067760 _ N I L ] = \r \t B E G I N 0070000 S e t P o i n t [ x , y 376 001 \0 370 0070020 206 , e r a s e , b ] ; E N D ; \r 0070040 X o r P o i n t : P U B L I C 0070060 P R O C E D U R E [ x , y : 0070100 C A R D I N A L , b : P O I 0070120 N T E R T O G r a p h i c s 0070140 D e f s . B i t m a p _ N I 0070160 L ] = \r \t B E G I N S e t P 0070200 o i n t [ x , y , i n v e r t , 0070220 b ] ; E N D ; \r \r P u t L i n e 0070240 : P U B L I C P R O C E D U 0070260 R E [ x 1 , y 1 , x 2 , y 2 : 0070300 C A R D I N A L , b : P O I 0070320 N T E R T O G r a p h i c s 0070340 D e f s . B i t m a p _ N I 0070360 L ] = \r \t B E G I N S e t L 0070400 i n e [ x 1 , y 1 , x 2 , y 2 , 0070420 r 376 001 \0 203 @ e p l a c e , b ] ; 0070440 E N D ; \r E r a s e L i n e : 0070460 P U B L I C P R O C E D U R E 0070500 [ x 1 , y 1 , x 2 , y 2 : C 0070520 A R D I N A L , b : P O I N T 0070540 E R T O G r a p h i c s D e 0070560 f s . B i t m a p _ N I L ] 0070600 = \r \t B E G I N S e t L i n 0070620 e [ x 1 , y 1 , x 2 , y 2 , e r 0070640 a s e , b ] ; E N D ; \r X o r L 0070660 i n e : P U B L I C P R O C 0070700 E D U R E [ x 1 , y 1 , x 2 , 0070720 y 2 : C A R D I N A L , b : 0070740 P O I N T E R T O G r a p h 0070760 i c s D e f s . B i t m a p _ 0071000 N I L ] = \r \t B E G I N S 0071020 e t L i n e 376 001 \0 304 211 [ x 1 , y 0071040 1 , x 2 , y 2 , i n v e r t , b 0071060 ] ; E N D ; \r \r P u t A r e a : 0071100 P U B L I C P R O C E D U R 0071120 E [ x 1 , y 1 , x 2 , y 2 : 0071140 C A R D I N A L , b : P O I N 0071160 T E R T O G r a p h i c s D 0071200 e f s . B i t m a p _ N I L 0071220 ] = \r \t B E G I N S e t A r 0071240 e a [ x 1 , y 1 , x 2 , y 2 , p 0071260 a i n t , b ] ; E N D ; \r E r a 0071300 s e A r e a : P U B L I C P 0071320 R O C E D U R E [ x 1 , y 1 , 0071340 x 2 , y 2 : C A R D I N A L , 0071360 b : P O I N T E R T O G r 0071400 a p h i c s D e f s . B i t m a 0071420 p _ N I L ] = \r 376 001 \0 355 344 0071440 \t B E G I N S e t A r e a [ x 0071460 1 , y 1 , x 2 , y 2 , e r a s e 0071500 , b ] ; E N D ; \r X o r A r e a 0071520 : P U B L I C P R O C E D U 0071540 R E [ x 1 , y 1 , x 2 , y 2 : 0071560 C A R D I N A L , b : P O I 0071600 N T E R T O G r a p h i c s 0071620 D e f s . B i t m a p _ N I 0071640 L ] = \r \t B E G I N S e t A 0071660 r e a [ x 1 , y 1 , x 2 , y 2 , 0071700 i n v e r t , b ] ; E N D ; \r R 0071720 e p l a c e A r e a : P U B L 0071740 I C P R O C E D U R E [ x 1 0071760 , y 1 , x 2 , y 2 : C A R D I 0072000 N A L , b : P O I N T E R T 0072020 O G r a p h i c s D e f s . B 0072040 376 001 \0 346 350 i t m a p _ N I L 0072060 ] = \r \t B E G I N S e t A r 0072100 e a [ x 1 , y 1 , x 2 , y 2 , r 0072120 e p l a c e , b ] ; E N D ; \r \r 0072140 P u t G r a y : P U B L I C 0072160 P R O C E D U R E [ x 1 , y 1 0072200 , x 2 , y 2 : C A R D I N A L 0072220 , b : P O I N T E R T O G 0072240 r a p h i c s D e f s . B i t m 0072260 a p _ N I L ] = \r \t B E G 0072300 I N S e t G r a y [ x 1 , y 1 0072320 , x 2 , y 2 , p a i n t , b ] ; 0072340 E N D ; \r E r a s e G r a y : 0072360 P U B L I C P R O C E D U R E 0072400 [ x 1 , y 1 , x 2 , y 2 : C 0072420 A R D I N A L , b : P O I N T 0072440 E R T O 376 001 \0 221 364 G r a p h 0072460 i c s D e f s . B i t m a p _ 0072500 N I L ] = \r \t B E G I N S 0072520 e t G r a y [ x 1 , y 1 , x 2 , 0072540 y 2 , e r a s e , b ] ; E N D ; 0072560 \r X o r G r a y : P U B L I C 0072600 P R O C E D U R E [ x 1 , y 0072620 1 , x 2 , y 2 : C A R D I N A 0072640 L , b : P O I N T E R T O 0072660 G r a p h i c s D e f s . B i t 0072700 m a p _ N I L ] = \r \t B E 0072720 G I N S e t G r a y [ x 1 , y 0072740 1 , x 2 , y 2 , i n v e r t , b 0072760 ] ; E N D ; \r R e p l a c e G r 0073000 a y : P U B L I C P R O C E 0073020 D U R E [ x 1 , y 1 , x 2 , y 0073040 2 : C A R D I N A 376 001 \0 D 270 L 0073060 , b : P O I N T E R T O G 0073100 r a p h i c s D e f s . B i t m 0073120 a p _ N I L ] = \r \t B E G 0073140 I N S e t G r a y [ x 1 , y 1 0073160 , x 2 , y 2 , r e p l a c e , b 0073200 ] ; E N D ; \r \r P u t B i t m a 0073220 p : P U B L I C P R O C E D 0073240 U R E [ b : P O I N T E R 0073260 T O G r a p h i c s D e f s . 0073300 B i t m a p , x , y : C A R D 0073320 I N A L , d e s t : P O I N T 0073340 E R T O G r a p h i c s D e 0073360 f s . B i t m a p ] = \r \t B E 0073400 G I N S e t B i t m a p [ b , 0073420 x , y , p a i n t , d e s t ] ; 0073440 E N D ; \r E r a s e B i t m a 376 0073460 001 \0 024 330 p : P U B L I C P R 0073500 O C E D U R E [ b : P O I N 0073520 T E R T O G r a p h i c s D 0073540 e f s . B i t m a p , x , y : 0073560 C A R D I N A L , d e s t : P 0073600 O I N T E R T O G r a p h i 0073620 c s D e f s . B i t m a p ] = 0073640 \r \t B E G I N S e t B i t m a 0073660 p [ b , x , y , e r a s e , d e 0073700 s t ] ; E N D ; \r X o r B i t m 0073720 a p : P U B L I C P R O C E 0073740 D U R E [ b : P O I N T E R 0073760 T O G r a p h i c s D e f s 0074000 . B i t m a p , x , y : C A R 0074020 D I N A L , d e s t : P O I N 0074040 T E R T O G r a p h i c s D 0074060 e f s . 376 001 \0 , 204 B i t m a p ] 0074100 = \r \t B E G I N S e t B i t 0074120 m a p [ b , x , y , i n v e r t 0074140 , d e s t ] ; E N D ; \r R e p l 0074160 a c e B i t m a p : P U B L I 0074200 C P R O C E D U R E [ b : P 0074220 O I N T E R T O G r a p h i 0074240 c s D e f s . B i t m a p , x , 0074260 y : C A R D I N A L , d e s t 0074300 : P O I N T E R T O G r a 0074320 p h i c s D e f s . B i t m a p 0074340 ] = \r \t B E G I N S e t B i t 0074360 m a p [ b , x , y , r e p l a c 0074400 e , d e s t ] ; E N D ; \r \r - - 0074420 a n d t h e r e a l g u y 0074440 s \r S e t P o i n t : P U B L 0074460 I C P R O C E D 376 001 \0 252 C U R 0074500 E [ x , y : C A R D I N A L 0074520 , f n : B i t B l t D e f s . 0074540 B B o p e r a t i o n , b : P 0074560 O I N T E R T O G r a p h i 0074600 c s D e f s . B i t m a p ] = 0074620 \r B E G I N \r l o g B i t s P e 0074640 r P i x e l : C A R D I N A L 0074660 ; \r I F b = N I L T H E 0074700 N b _ S c r e e n ; \r l o 0074720 g B i t s P e r P i x e l _ 0074740 S E L E C T b . n B i t s P e 0074760 r P i x e l F R O M 1 = > 0 0075000 , 2 = > 1 , 4 = > 2 , E N D C A 0075020 S E = > 3 ; \r I F N O T x 0075040 I N [ 0 . . b . n B i t s ) 0075060 T H E N R E T U R N ; \r I 376 001 0075100 \0 315 U F N O T y I N [ 0 0075120 . . b . n L i n e s ) T H E N 0075140 R E T U R N ; \t - - s a v e 0075160 y o u r a s s \r I F b . p 0075200 o r t r a i t M o d e T H E N 0075220 \r \t B E G I N x _ S c a l 0075240 e [ b . s c a l e F a c t o r , 0075260 x ] ; y _ S c a l e [ b . s 0075300 c a l e F a c t o r , y ] ; E N 0075320 D \r E L S E \r \t B E G I N t : 0075340 C A R D I N A L _ S c a l 0075360 e [ b . s c a l e F a c t o r , 0075400 b . n L i n e s - y ] ; y _ 0075420 S c a l e [ b . s c a l e F a c 0075440 t o r , x ] ; x _ t ; E N D 0075460 ; \r S e t P o i n t B L T . f u 0075500 n c t 376 001 \0 206 p i o n _ f n 0075520 ; \r S e t P o i n t B L T . d l 0075540 b c a _ M a k e L o n g P o 0075560 i n t e r [ b . b i t s , b . b 0075600 a n k ] ; \r S e t P o i n t B L 0075620 T . d b m r _ b . n W o r d 0075640 s ; \r S e t P o i n t B L T . d 0075660 l x _ I n l i n e D e f s . 0075700 B I T S H I F T [ x , l o g B i 0075720 t s P e r P i x e l ] ; \r S e t 0075740 P o i n t B L T . d t y _ y 0075760 ; \r L o n g D e f s . B I T B L 0076000 T [ S e t P o i n t B L T ] ; \r 0076020 E N D ; \r \r \r M a k e L o n g P 0076040 o i n t e r : P R O C E D U R 0076060 E [ p t r : P O I N T E R , 0076100 b a n k : U N 376 001 \0 265 e S P E 0076120 C I F I E D ] R E T U R N S 0076140 [ L O N G P O I N T E R ] = 0076160 M A C H I N E C O D E B E 0076200 G I N E N D ; \r \r S e t L i n 0076220 e : P U B L I C P R O C E D 0076240 U R E [ x 1 , y 1 , x 2 , y 2 0076260 : I N T E G E R , f n : B i 0076300 t B l t D e f s . B B o p e r a 0076320 t i o n , b : P O I N T E R 0076340 T O G r a p h i c s D e f s . 0076360 B i t m a p ] = \r B E G I N \r 0076400 h s t e p , v s t e p , h s i g 0076420 n , v s i g n , c o u n t : I 0076440 N T E G E R ; \r h o r i z o n t 0076460 a l : B O O L E A N ; \r x M a 0076500 x , y M a x : I N T E G 376 001 \0 0076520 S \r E R ; \r l o g B i t s P e r 0076540 P i x e l : C A R D I N A L ; 0076560 \r I F b = N I L T H E N 0076600 b _ S c r e e n ; \r l o g 0076620 B i t s P e r P i x e l _ S 0076640 E L E C T b . n B i t s P e r 0076660 P i x e l F R O M 1 = > 0 , 0076700 2 = > 1 , 4 = > 2 , E N D C A S 0076720 E = > 3 ; \r \r I F b . p o r t 0076740 r a i t M o d e T H E N \r \t B 0076760 E G I N \r \t x 1 _ S c a l e 0077000 [ b . s c a l e F a c t o r , x 0077020 1 ] ; y 1 _ S c a l e [ b . 0077040 s c a l e F a c t o r , y 1 ] ; 0077060 x 2 _ S c a l e [ b . s c a 0077100 l e F a c t o r , x 2 ] ; y 2 0077120 _ 376 001 \0 365 x S c a l e [ b . s 0077140 c a l e F a c t o r , y 2 ] ; \r 0077160 \t x M a x _ S c a l e [ b . 0077200 s c a l e F a c t o r , b . n B 0077220 i t s ] ; y M a x _ S c a l 0077240 e [ b . s c a l e F a c t o r , 0077260 b . n L i n e s ] ; \r \t E N D \r 0077300 E L S E \r \t B E G I N t : C 0077320 A R D I N A L ; \r \t t _ S c 0077340 a l e [ b . s c a l e F a c t o 0077360 r , ( b . n L i n e s - 1 ) - y 0077400 1 ] ; y 1 _ S c a l e [ b . 0077420 s c a l e F a c t o r , x 1 ] ; 0077440 x 1 _ t ; \r \t t _ S c a 0077460 l e [ b . s c a l e F a c t o r 0077500 , ( b . n L i n e s - 1 ) - y 2 0077520 ] ; y 2 _ 376 001 \0 307 } S c a l 0077540 e [ b . s c a l e F a c t o r , 0077560 x 2 ] ; x 2 _ t ; \r \t x M a 0077600 x _ S c a l e [ b . s c a l 0077620 e F a c t o r , b . n L i n e s 0077640 ] ; y M a x _ S c a l e [ b 0077660 . s c a l e F a c t o r , b . n 0077700 B i t s ] ; \r \t E N D ; \r \r S e 0077720 t P o i n t B L T . f u n c t i 0077740 o n _ f n ; \r S e t P o i n 0077760 t B L T . d b m r _ b . n W 0100000 o r d s ; \r S e t P o i n t B L 0100020 T . d l b c a _ M a k e L o 0100040 n g P o i n t e r [ b . b i t s 0100060 , b . b a n k ] ; \r \r h s t e p 0100100 _ x 1 - x 2 ; \r v s t e p 0100120 _ y 1 - y 2 ; \r h s i 376 001 \0 212 0100140 214 g n _ I F h s t e p > 0100160 = 0 T H E N 1 E L S E 0100200 - 1 ; \r v s i g n _ I F v 0100220 s t e p > = 0 T H E N 1 0100240 E L S E - 1 ; \r h o r i z o 0100260 n t a l _ A B S [ h s t e p ] 0100300 > A B S [ v s t e p ] ; \r c o 0100320 u n t _ I F h o r i z o 0100340 n t a l T H E N A B S [ v s 0100360 t e p ] + ( A B S [ h s t e p ] 0100400 - A B S [ v s t e p ] ) / 2 \r 0100420 E L S E A B S [ h s t e p ] + 0100440 ( A B S [ v s t e p ] - A B S [ 0100460 h s t e p ] ) / 2 ; \r \r S e t 0100500 P o i n t B L T . d l x _ I 0100520 n l i n e D e f s . B I T S H I 0100540 F 376 001 \0 227 311 T [ x 2 , l o g B i 0100560 t s P e r P i x e l ] ; S e t P 0100600 o i n t B L T . d t y _ y 2 0100620 ; \r I F I N T E G E R [ x 2 ] 0100640 I N [ 0 . . x M a x ) A N 0100660 D I N T E G E R [ y 2 ] I N 0100700 [ 0 . . y M a x ) T H E N 0100720 L o n g D e f s . B I T B L T [ 0100740 S e t P o i n t B L T ] ; \r \r U 0100760 N T I L ( x 1 = x 2 ) A 0101000 N D ( y 1 = y 2 ) D O \r 0101020 \t I F c o u n t > = A B S 0101040 [ v s t e p ] T H E N \t - - 0101060 g o h o r i z o n t a l \r \t \t 0101100 B E G I N \r \t \t x 2 _ x 2 0101120 + h s i g n ; \r \t \t c o u n t 0101140 _ c o u 376 001 \0 003 P n t - 0101160 A B S [ v s t e p ] ; \r \t \t I F 0101200 h o r i z o n t a l A N D 0101220 I N T E G E R [ x 2 ] I N [ 0101240 0 . . x M a x ) A N D I N T 0101260 E G E R [ y 2 ] I N [ 0 . . 0101300 y M a x ) T H E N \r \t \t \t B 0101320 E G I N \r \t \t \t S e t P o i n t 0101340 B L T . d l x _ I n l i n e 0101360 D e f s . B I T S H I F T [ x 2 0101400 , l o g B i t s P e r P i x e l 0101420 ] ; \r \t \t \t S e t P o i n t B L 0101440 T . d t y _ y 2 ; \r \t \t \t L 0101460 o n g D e f s . B I T B L T [ S 0101500 e t P o i n t B L T ] ; \r \t \t \t 0101520 E N D ; \r \t \t E N D \r \t E L S E 0101540 B E G I N \r \t \t y 2 376 001 \0 225 ' 0101560 _ y 2 + v s i g n ; \r \t \t c 0101600 o u n t _ c o u n t + A 0101620 B S [ h s t e p ] ; \r \t \t I F 0101640 N O T h o r i z o n t a l A 0101660 N D I N T E G E R [ x 2 ] I 0101700 N [ 0 . . x M a x ) A N D 0101720 I N T E G E R [ y 2 ] I N [ 0101740 0 . . y M a x ) T H E N \r 0101760 \t \t \t B E G I N \r \t \t \t S e t P 0102000 o i n t B L T . d l x _ I n 0102020 l i n e D e f s . B I T S H I F 0102040 T [ x 2 , l o g B i t s P e r P 0102060 i x e l ] ; \r \t \t \t S e t P o i 0102100 n t B L T . d t y _ y 2 ; \r 0102120 \t \t \t L o n g D e f s . B I T B 0102140 L T [ S e t P o i n t B L T ] ; 0102160 376 001 \0 E 364 \r \t \t \t E N D ; \r \t \t 0102200 E N D ; \r \t E N D L O O P ; \r S 0102220 e t P o i n t B L T . d l x _ 0102240 I n l i n e D e f s . B I T S 0102260 H I F T [ x 2 , l o g B i t s P 0102300 e r P i x e l ] ; S e t P o i n 0102320 t B L T . d t y _ y 2 ; \r I 0102340 F I N T E G E R [ x 2 ] I N 0102360 [ 0 . . x M a x ) A N D I 0102400 N T E G E R [ y 2 ] I N [ 0 0102420 . . y M a x ) T H E N L o n 0102440 g D e f s . B I T B L T [ S e t 0102460 P o i n t B L T ] ; \r \r E N D ; 0102500 032 ( 6 3 5 ) \ f 1 3 2 5 b 9 B 0102520 1 1 9 b 1 4 0 B 4 0 b 5 B 1 0 1 0102540 b 5 5 B 9 6 b 1 0 B 4 9 b 1 0 B 0102560 1 9 7 b 1 376 001 \0 e 371 1 4 B 2 8 7 0102600 b 6 9 B 3 9 b 1 5 B 4 0 b 8 B 3 0102620 9 b 1 2 B 4 0 b 1 2 B 2 1 b 1 2 0102640 B 2 3 b 1 2 B 2 3 b 2 B 4 6 b 1 0102660 0 B 6 2 b 1 1 B 2 6 b 4 B 5 4 b 0102700 7 B 4 6 b 1 1 B 6 8 b 3 B 7 1 b 0102720 1 5 B 2 6 3 b 1 1 B 1 8 6 b 1 0 0102740 B 1 7 5 b 1 1 B 2 1 6 b 1 4 B 1 0102760 0 6 b 1 4 B 1 1 4 b 9 B 1 6 b 2 0103000 3 B 2 3 b 1 7 B 9 4 1 b 1 B 5 b 0103020 1 3 B 9 1 b 1 2 B 1 0 9 3 b 1 0 0103040 0 B 5 6 6 b 7 B 3 8 7 b 9 B 3 3 0103060 9 b 8 B 3 3 8 b 7 B 3 0 0 b 9 B 0103100 2 6 9 b 8 B 2 6 8 b 1 3 B 1 1 0 0103120 b 1 6 B 2 4 2 b 1 5 B 1 7 2 1 b 0103140 1 1 B 4 9 b 4 B 1 2 2 b 1 1 B 5 0103160 3 b 4 B 1 8 4 b 1 1 376 001 \0 253 K B 0103200 1 0 9 b 5 B 1 7 4 b 1 2 B 1 2 b 0103220 6 B 2 1 b 1 8 B 2 5 b 4 B 6 b 1 0103240 0 B 1 3 6 1 b 4 0 B 2 1 2 b 2 2 0103260 B 1 4 7 b 8 B 1 1 1 b 1 0 B 1 1 0103300 1 b 8 B 1 1 2 b 8 B 1 2 8 b 9 B 0103320 1 2 6 b 7 B 1 2 7 b 8 B 1 2 6 b 0103340 9 B 1 2 6 b 7 B 1 2 7 b 1 1 B 1 0103360 2 8 b 8 B 1 2 6 b 9 B 1 2 6 b 7 0103400 B 1 2 7 b 1 1 B 1 2 8 b 1 0 B 1 0103420 4 8 b 1 1 B 1 4 8 b 9 B 1 4 9 b 0103440 1 3 B 1 6 9 b 8 B 7 3 4 b 1 5 B 0103460 9 5 b 7 B \r \r S e t A r e a : 0103500 P U B L I C P R O C E D U R E 0103520 [ x 1 , y 1 , x 2 , y 2 : C 0103540 A R D I N A L , f n : B i t B 0103560 l t D e f s . B B o p e r a t 376 0103600 001 \0 \f i i o n , b : P O I N T 0103620 E R T O G r a p h i c s D e 0103640 f s . B i t m a p ] = \r B E G 0103660 I N \r l o g B i t s P e r P i x 0103700 e l : C A R D I N A L ; \r I F 0103720 b = N I L T H E N b 0103740 _ S c r e e n ; \r l o g B i t 0103760 s P e r P i x e l _ S E L E 0104000 C T b . n B i t s P e r P i x 0104020 e l F R O M 1 = > 0 , 2 = > 0104040 1 , 4 = > 2 , E N D C A S E = > 0104060 3 ; \r \r I F I N T E G E R [ x 0104100 1 ] > I N T E G E R [ x 2 ] 0104120 T H E N B E G I N t : C 0104140 A R D I N A L _ x 1 ; x 1 0104160 _ x 2 ; x 2 _ t ; E N D ; 0104200 \r I F 376 001 \0 3 307 I N T E G E R 0104220 [ y 1 ] > I N T E G E R [ y 0104240 2 ] T H E N B E G I N t : 0104260 C A R D I N A L _ y 1 ; y 0104300 1 _ y 2 ; y 2 _ t ; E N 0104320 D ; \r I F I N T E G E R [ x 2 0104340 ] < 0 O R I N T E G E R 0104360 [ y 2 ] < 0 O R \r \t I N T 0104400 E G E R [ x 1 ] > = I N T E 0104420 G E R [ b . n B i t s ] O R 0104440 I N T E G E R [ y 1 ] > = I 0104460 N T E G E R [ b . n L i n e s ] 0104500 \r \t T H E N R E T U R N ; \r x 0104520 1 _ M A X [ 0 , I N T E G E 0104540 R [ x 1 ] ] ; y 1 _ M A X [ 0104560 0 , I N T E G E R [ y 1 ] ] ; \r 0104600 x 2 _ M I N 376 001 \0 331 251 [ x 0104620 2 , b . n B i t s - 1 ] ; y 2 0104640 _ M I N [ y 2 , b . n L i n e 0104660 s - 1 ] ; \r I F b . p o r t r 0104700 a i t M o d e T H E N \r \t B E 0104720 G I N \r \t x 1 _ S c a l e [ 0104740 b . s c a l e F a c t o r , x 1 0104760 ] ; y 1 _ S c a l e [ b . s 0105000 c a l e F a c t o r , y 1 ] ; x 0105020 2 _ S c a l e [ b . s c a l 0105040 e F a c t o r , x 2 ] ; y 2 _ 0105060 S c a l e [ b . s c a l e F a 0105100 c t o r , y 2 ] ; \r \t E N D \r E 0105120 L S E \r \t B E G I N t : C A 0105140 R D I N A L ; \r \t t _ S c a 0105160 l e [ b . s c a l e F a c t o r 0105200 , ( b . n L i n e s - 1 ) - 376 001 0105220 \0 021 g y 1 ] ; y 1 _ S c a l 0105240 e [ b . s c a l e F a c t o r , 0105260 x 1 ] ; \r \t x 1 _ S c a l e 0105300 [ b . s c a l e F a c t o r , ( 0105320 b . n L i n e s - 1 ) - y 2 ] ; 0105340 y 2 _ S c a l e [ b . s c a 0105360 l e F a c t o r , x 2 ] ; x 2 0105400 _ t ; \r \t E N D ; \r \r B L T . 0105420 s o u r c e t y p e _ g r a 0105440 y ; \r B L T . f u n c t i o n 0105460 _ f n ; \r B L T . d l b c a 0105500 _ M a k e L o n g P o i n t e 0105520 r [ b . b i t s , b . b a n k ] 0105540 ; \r B L T . d b m r _ b . n 0105560 W o r d s ; \r B L T . d l x _ 0105600 I n l i n e D e f s . B I T S 0105620 H I F 376 001 \0 Z 250 T [ x 1 , l o g 0105640 B i t s P e r P i x e l ] ; \r B 0105660 L T . d t y _ y 1 ; \r B L T 0105700 . d w _ I n l i n e D e f s 0105720 . B I T S H I F T [ ( x 2 + 1 - 0105740 x 1 ) , l o g B i t s P e r P i 0105760 x e l ] ; \r B L T . d h _ ( 0106000 y 2 + 1 - y 1 ) ; \r B L T . g r 0106020 a y 0 _ B L T . g r a y 1 0106040 _ B L T . g r a y 2 _ B L 0106060 T . g r a y 3 _ 1 7 7 7 7 7 0106100 B ; \r L o n g D e f s . B I T B 0106120 L T [ B L T ] ; \r B L T . g r a 0106140 y 0 _ G r a y 0 ; B L T . g 0106160 r a y 1 _ G r a y 1 ; \r B L 0106200 T . g r a y 2 _ G r a y 2 ; 0106220 B L T . g r a y 376 001 \0 243 273 3 _ 0106240 G r a y 3 ; \r E N D ; \r \r S e 0106260 t G r a y : P U B L I C P R 0106300 O C E D U R E [ x 1 , y 1 , x 0106320 2 , y 2 : C A R D I N A L , f 0106340 n : B i t B l t D e f s . B B 0106360 o p e r a t i o n , b : P O I 0106400 N T E R T O G r a p h i c s 0106420 D e f s . B i t m a p ] = \r B 0106440 E G I N \r l o g B i t s P e r P 0106460 i x e l : C A R D I N A L ; \r 0106500 I F b = N I L T H E N 0106520 b _ S c r e e n ; \r l o g B 0106540 i t s P e r P i x e l _ S E 0106560 L E C T b . n B i t s P e r P 0106600 i x e l F R O M 1 = > 0 , 2 0106620 = > 1 , 4 = > 2 , E N D C 376 001 \0 0106640 317 Q A S E = > 3 ; \r \r I F I N 0106660 T E G E R [ x 1 ] > I N T E 0106700 G E R [ x 2 ] T H E N B E G 0106720 I N t : C A R D I N A L _ 0106740 x 1 ; x 1 _ x 2 ; x 2 _ 0106760 t ; E N D ; \r I F I N T E G 0107000 E R [ y 1 ] > I N T E G E R 0107020 [ y 2 ] T H E N B E G I N 0107040 t : C A R D I N A L _ y 1 0107060 ; y 1 _ y 2 ; y 2 _ t ; 0107100 E N D ; \r I F I N T E G E R [ 0107120 x 2 ] < 0 O R I N T E G 0107140 E R [ y 2 ] < 0 O R \r \t I 0107160 N T E G E R [ x 1 ] > = I N 0107200 T E G E R [ b . n B i t s ] O 0107220 R I N T E G E R [ y 1 ] > = 0107240 I 376 001 \0 365 5 N T E G E R [ b . 0107260 n L i n e s ] \r \t T H E N R E 0107300 T U R N ; \r x 1 _ M A X [ 0 0107320 , I N T E G E R [ x 1 ] ] ; y 1 0107340 _ M A X [ 0 , I N T E G E R 0107360 [ y 1 ] ] ; \r x 2 _ M I N 0107400 [ x 2 , b . n B i t s - 1 ] ; y 0107420 2 _ M I N [ y 2 , b . n L i 0107440 n e s - 1 ] ; \r I F b . p o r 0107460 t r a i t M o d e T H E N \r \t 0107500 B E G I N \r \t x 1 _ S c a l 0107520 e [ b . s c a l e F a c t o r , 0107540 x 1 ] ; y 1 _ S c a l e [ b 0107560 . s c a l e F a c t o r , y 1 ] 0107600 ; x 2 _ S c a l e [ b . s c 0107620 a l e F a c t o r , x 2 ] ; y 2 0107640 _ S c a l 376 001 \0 200 256 e [ b . 0107660 s c a l e F a c t o r , y 2 ] ; 0107700 \r \t E N D \r E L S E \r \t B E G I 0107720 N t : C A R D I N A L ; \r \t 0107740 t _ S c a l e [ b . s c a l 0107760 e F a c t o r , ( b . n L i n e 0110000 s - 1 ) - y 1 ] ; y 1 _ S c 0110020 a l e [ b . s c a l e F a c t o 0110040 r , x 1 ] ; \r \t x 1 _ S c a 0110060 l e [ b . s c a l e F a c t o r 0110100 , ( b . n L i n e s - 1 ) - y 2 0110120 ] ; y 2 _ S c a l e [ b . s 0110140 c a l e F a c t o r , x 2 ] ; x 0110160 2 _ t ; \r \t E N D ; \r \r B L 0110200 T . s o u r c e t y p e _ g 0110220 r a y ; \r B L T . f u n c t i o 0110240 n _ f n ; \r B L T . 376 001 \0 Z 0110260 ] d l b c a _ M a k e L o n 0110300 g P o i n t e r [ b . b i t s , 0110320 b . b a n k ] ; \r B L T . d b m 0110340 r _ b . n W o r d s ; \r B L 0110360 T . d l x _ I n l i n e D e 0110400 f s . B I T S H I F T [ x 1 , l 0110420 o g B i t s P e r P i x e l ] ; 0110440 \r B L T . d t y _ y 1 ; \r B 0110460 L T . d w _ I n l i n e D e 0110500 f s . B I T S H I F T [ ( x 2 + 0110520 1 - x 1 ) , l o g B i t s P e r 0110540 P i x e l ] ; \r B L T . d h _ 0110560 ( y 2 + 1 - y 1 ) ; \r B L T . 0110600 s t y _ 0 ; - - D O R A D 0110620 O l o o k s h e r e \r L o n 0110640 g D e f s . B I T B L T [ B L T 0110660 ] 376 001 \0 1 256 ; \r E N D ; \r \r M a 0110700 s k G r a y : P U B L I C P 0110720 R O C E D U R E [ x 1 , y 1 , 0110740 x 2 , y 2 : C A R D I N A L , 0110760 b : P O I N T E R T O G r 0111000 a p h i c s D e f s . B i t m a 0111020 p ] = \r B E G I N \r l o g B i 0111040 t s P e r P i x e l : C A R D 0111060 I N A L ; \r I F b = N I L 0111100 T H E N b _ S c r e e n 0111120 ; \r l o g B i t s P e r P i x e 0111140 l _ S E L E C T b . n B i 0111160 t s P e r P i x e l F R O M 0111200 1 = > 0 , 2 = > 1 , 4 = > 2 , E 0111220 N D C A S E = > 3 ; \r \r I F I 0111240 N T E G E R [ x 1 ] > I N T 0111260 E G E R [ x 376 001 \0 266 < 2 ] T H 0111300 E N B E G I N t : C A R D 0111320 I N A L _ x 1 ; x 1 _ x 0111340 2 ; x 2 _ t ; E N D ; \r I F 0111360 I N T E G E R [ y 1 ] > I 0111400 N T E G E R [ y 2 ] T H E N 0111420 B E G I N t : C A R D I N A 0111440 L _ y 1 ; y 1 _ y 2 ; y 0111460 2 _ t ; E N D ; \r I F I N 0111500 T E G E R [ x 2 ] < 0 O R 0111520 I N T E G E R [ y 2 ] < 0 0111540 O R \r \t I N T E G E R [ x 1 ] 0111560 > = I N T E G E R [ b . n B 0111600 i t s ] O R I N T E G E R [ 0111620 y 1 ] > = I N T E G E R [ b 0111640 . n L i n e s ] \r \t T H E N R 0111660 E T U R N ; \r x 1 _ 376 001 \0 W 324 0111700 M A X [ 0 , I N T E G E R [ x 0111720 1 ] ] ; y 1 _ M A X [ 0 , I 0111740 N T E G E R [ y 1 ] ] ; \r x 2 0111760 _ M I N [ x 2 , b . n B i t 0112000 s - 1 ] ; y 2 _ M I N [ y 2 0112020 , b . n L i n e s - 1 ] ; \r I F 0112040 b . p o r t r a i t M o d e 0112060 T H E N \r \t B E G I N \r \t x 1 0112100 _ S c a l e [ b . s c a l e F 0112120 a c t o r , x 1 ] ; y 1 _ S 0112140 c a l e [ b . s c a l e F a c t 0112160 o r , y 1 ] ; x 2 _ S c a l 0112200 e [ b . s c a l e F a c t o r , 0112220 x 2 ] ; y 2 _ S c a l e [ b 0112240 . s c a l e F a c t o r , y 2 ] 0112260 ; \r \t E N D \r E L S E \r \t B E G 0112300 376 001 \0 362 037 I N t : C A R D I 0112320 N A L ; \r \t t _ S c a l e [ 0112340 b . s c a l e F a c t o r , ( b 0112360 . n L i n e s - 1 ) - y 1 ] ; y 0112400 1 _ S c a l e [ b . s c a l 0112420 e F a c t o r , x 1 ] ; \r \t x 1 0112440 _ S c a l e [ b . s c a l e 0112460 F a c t o r , ( b . n L i n e s 0112500 - 1 ) - y 2 ] ; y 2 _ S c a 0112520 l e [ b . s c a l e F a c t o r 0112540 , x 2 ] ; x 2 _ t ; \r \t E N 0112560 D ; \r \r B L T . s o u r c e t y 0112600 p e _ a n d g r a y ; \r B L 0112620 T . f u n c t i o n _ r e p 0112640 l a c e ; \r B L T . d l b c a 0112660 _ M a k e L o n g P o i n t e 0112700 r [ b . b 376 001 \0 \n p i t s , b . 0112720 b a n k ] ; \r B L T . d b m r 0112740 _ b . n W o r d s ; \r B L T . 0112760 d l x _ I n l i n e D e f s 0113000 . B I T S H I F T [ x 1 , l o g 0113020 B i t s P e r P i x e l ] ; \r B 0113040 L T . d t y _ y 1 ; \r B L T 0113060 . d w _ I n l i n e D e f s 0113100 . B I T S H I F T [ ( x 2 + 1 - 0113120 x 1 ) , l o g B i t s P e r P i 0113140 x e l ] ; \r B L T . d h _ ( 0113160 y 2 + 1 - y 1 ) ; \r B L T . s l 0113200 b c a _ M a k e L o n g P o 0113220 i n t e r [ b . b i t s , b . b 0113240 a n k ] ; \r B L T . s b m r _ 0113260 b . n W o r d s ; \r B L T . s 0113300 l x _ I n l i n 376 001 \0 325 y e 0113320 D e f s . B I T S H I F T [ x 1 0113340 , l o g B i t s P e r P i x e l 0113360 ] ; \r B L T . s t y _ y 1 ; 0113400 \r L o n g D e f s . B I T B L T 0113420 [ B L T ] ; \r E N D ; \r \r S e t 0113440 B i t m a p : P U B L I C P 0113460 R O C E D U R E [ b : P O I 0113500 N T E R T O G r a p h i c s 0113520 D e f s . B i t m a p , \r \t x , 0113540 y : C A R D I N A L , f n : 0113560 B i t B l t D e f s . B B o p e 0113600 r a t i o n , d e s t : P O I 0113620 N T E R T O G r a p h i c s 0113640 D e f s . B i t m a p ] = \r B 0113660 E G I N \r x 2 , y 2 : C A R D 0113700 I N A L ; \r s x , s y , d y : 376 0113720 001 \0 031 344 C A R D I N A L _ 0113740 0 ; \r l o g B i t s P e r P i x 0113760 e l : C A R D I N A L ; \r I F 0114000 d e s t = N I L T H E N 0114020 d e s t _ S c r e e n ; \r 0114040 l o g B i t s P e r P i x e l 0114060 _ S E L E C T d e s t . n B 0114100 i t s P e r P i x e l F R O M 0114120 1 = > 0 , 2 = > 1 , 4 = > 2 , 0114140 E N D C A S E = > 3 ; \r x 2 _ 0114160 x + b . n B i t s - 1 ; \r y 2 0114200 _ y + b . n L i n e s - 1 ; 0114220 \r \r I F x > = d e s t . n 0114240 B i t s O R y > = d e s 0114260 t . n L i n e s T H E N R E 0114300 T U R N ; \r I F x 2 > = d 0114320 e s t . 376 001 \0 \v 363 n B i t s T 0114340 H E N x 2 _ d e s t . n B 0114360 i t s - 1 ; \r I F y 2 > 0114400 = d e s t . n L i n e s T H 0114420 E N B E G I N d y _ y 2 0114440 - ( d e s t . n L i n e s - 1 ) 0114460 ; y 2 _ d e s t . n L i n e 0114500 s - 1 ; E N D ; \r I F I N T E 0114520 G E R [ x ] < 0 T H E N 0114540 B E G I N s x _ - x ; x 0114560 _ 0 ; E N D ; \r I F I N T E 0114600 G E R [ y ] < 0 T H E N 0114620 B E G I N s y _ - y ; y 0114640 _ 0 ; E N D ; \r \r I F d e s 0114660 t . p o r t r a i t M o d e T 0114700 H E N \r \t B E G I N \r \t x _ 0114720 S c a l e [ d e s 376 001 \0 } { t . 0114740 s c a l e F a c t o r , x ] ; y 0114760 _ S c a l e [ d e s t . s c 0115000 a l e F a c t o r , y ] ; x 2 0115020 _ S c a l e [ d e s t . s c a 0115040 l e F a c t o r , x 2 ] ; y 2 0115060 _ S c a l e [ d e s t . s c a 0115100 l e F a c t o r , y 2 ] ; \r \t s 0115120 x _ S c a l e [ d e s t . s 0115140 c a l e F a c t o r , s x ] ; s 0115160 y _ S c a l e [ d e s t . s 0115200 c a l e F a c t o r , s y ] ; \r 0115220 \t E N D \r E L S E \r \t B E G I N 0115240 t : C A R D I N A L ; \r \t t 0115260 _ S c a l e [ d e s t . s c 0115300 a l e F a c t o r , ( d e s t . 0115320 n L i n e s - 1 ) - y ] ; y 376 001 0115340 \0 273 315 _ S c a l e [ d e s t 0115360 . s c a l e F a c t o r , x ] ; 0115400 \r \t x _ S c a l e [ d e s t 0115420 . s c a l e F a c t o r , ( d e 0115440 s t . n L i n e s - 1 ) - y 2 ] 0115460 ; \r \t y 2 _ M I N [ S c a l 0115500 e [ d e s t . s c a l e F a c t 0115520 o r , x 2 ] , y + S c a l e [ d 0115540 e s t . s c a l e F a c t o r , 0115560 b . n B i t s ] - 1 ] ; x 2 _ 0115600 M I N [ t , x + S c a l e [ d 0115620 e s t . s c a l e F a c t o r , 0115640 b . n L i n e s ] - 1 ] ; \r \t s 0115660 y _ S c a l e [ d e s t . s 0115700 c a l e F a c t o r , s x ] ; s 0115720 x _ S c a l e [ d e s t . s 0115740 c a l 376 001 \0 264 F e F a c t o r , 0115760 d y ] ; \r \t E N D ; \r \r B L T . 0116000 s o u r c e t y p e _ b l o 0116020 c k ; \r B L T . f u n c t i o n 0116040 _ f n ; \r B L T . d l b c a 0116060 _ M a k e L o n g P o i n t 0116100 e r [ d e s t . b i t s , d e s 0116120 t . b a n k ] ; \r B L T . d b m 0116140 r _ d e s t . n W o r d s ; 0116160 \r B L T . d l x _ I n l i n 0116200 e D e f s . B I T S H I F T [ x 0116220 , l o g B i t s P e r P i x e l 0116240 ] ; \r B L T . d t y _ y ; \r 0116260 B L T . d w _ I n l i n e D 0116300 e f s . B I T S H I F T [ ( x 2 0116320 + 1 - x ) , l o g B i t s P e r 0116340 P i x e l ] ; \r 376 001 \0 326 202 B L T 0116360 . d h _ ( y 2 + 1 - y ) ; \r 0116400 B L T . s l b c a _ M a k e 0116420 L o n g P o i n t e r [ b . b i 0116440 t s , b . b a n k ] ; \r B L T . 0116460 s b m r _ b . n W o r d s ; 0116500 \r B L T . s l x _ I n l i n 0116520 e D e f s . B I T S H I F T [ s 0116540 x , l o g B i t s P e r P i x e 0116560 l ] ; \r B L T . s t y _ s y 0116600 ; \r L o n g D e f s . B I T B L 0116620 T [ B L T ] ; \r E N D ; \r \r P u 0116640 t G r a y B i t m a p : P U B 0116660 L I C P R O C E D U R E [ b 0116700 : P O I N T E R T O G r a 0116720 p h i c s D e f s . B i t m a p 0116740 , \r \t x , y : C A R D I 376 001 \0 0116760 R K N A L , d e s t : P O I N 0117000 T E R T O G r a p h i c s D 0117020 e f s . B i t m a p _ N I L 0117040 ] = \r B E G I N \r x 2 , y 2 : 0117060 C A R D I N A L ; \r s x , s y 0117100 , d y : C A R D I N A L _ 0117120 0 ; \r l o g B i t s P e r P i x 0117140 e l : C A R D I N A L ; \r I F 0117160 d e s t = N I L T H E N 0117200 d e s t _ S c r e e n ; \r 0117220 l o g B i t s P e r P i x e l 0117240 _ S E L E C T d e s t . n B 0117260 i t s P e r P i x e l F R O M 0117300 1 = > 0 , 2 = > 1 , 4 = > 2 , 0117320 E N D C A S E = > 3 ; \r x 2 _ 0117340 x + b . n B i t s - 1 ; \r y 2 0117360 _ 376 001 \0 : B y + b . n L i n 0117400 e s - 1 ; \r \r I F x > = d 0117420 e s t . n B i t s O R y > 0117440 = d e s t . n L i n e s T H 0117460 E N R E T U R N ; \r I F x 2 0117500 > = d e s t . n B i t s T 0117520 H E N x 2 _ d e s t . n B 0117540 i t s - 1 ; \r I F y 2 > 0117560 = d e s t . n L i n e s T H 0117600 E N B E G I N d y _ y 2 0117620 - ( d e s t . n L i n e s - 1 ) 0117640 ; y 2 _ d e s t . n L i n e 0117660 s - 1 ; E N D ; \r I F I N T E 0117700 G E R [ x ] < 0 T H E N 0117720 B E G I N s x _ - x ; x 0117740 _ 0 ; E N D ; \r I F I N T E 0117760 G E R [ y ] 376 001 \0 306 * < 0 0120000 T H E N B E G I N s y _ 0120020 - y ; y _ 0 ; E N D ; \r \r I 0120040 F d e s t . p o r t r a i t M 0120060 o d e T H E N \r \t B E G I N \r 0120100 \t x _ S c a l e [ d e s t . 0120120 s c a l e F a c t o r , x ] ; y 0120140 _ S c a l e [ d e s t . s c 0120160 a l e F a c t o r , y ] ; x 2 0120200 _ S c a l e [ d e s t . s c a 0120220 l e F a c t o r , x 2 ] ; y 2 0120240 _ S c a l e [ d e s t . s c a 0120260 l e F a c t o r , y 2 ] ; \r \t s 0120300 x _ S c a l e [ d e s t . s 0120320 c a l e F a c t o r , s x ] ; s 0120340 y _ S c a l e [ d e s t . s 0120360 c a l e F a c t o r , s 376 001 \0 212 0120400 202 y ] ; \r \t E N D \r E L S E \r \t 0120420 B E G I N t : C A R D I N A 0120440 L ; \r \t t _ S c a l e [ d e 0120460 s t . s c a l e F a c t o r , ( 0120500 d e s t . n L i n e s - 1 ) - y 0120520 ] ; y _ S c a l e [ d e s t 0120540 . s c a l e F a c t o r , x ] ; 0120560 \r \t x _ S c a l e [ d e s t 0120600 . s c a l e F a c t o r , ( d e 0120620 s t . n L i n e s - 1 ) - y 2 ] 0120640 ; \r \t y 2 _ M I N [ S c a l 0120660 e [ d e s t . s c a l e F a c t 0120700 o r , x 2 ] , y + S c a l e [ d 0120720 e s t . s c a l e F a c t o r , 0120740 b . n B i t s ] - 1 ] ; x 2 _ 0120760 M I N [ t , x + S c a l e [ d 0121000 e 376 001 \0 v K s t . s c a l e F a 0121020 c t o r , b . n L i n e s ] - 1 0121040 ] ; \r \t s y _ S c a l e [ d 0121060 e s t . s c a l e F a c t o r , 0121100 s x ] ; s x _ S c a l e [ d 0121120 e s t . s c a l e F a c t o r , 0121140 d y ] ; \r \t E N D ; \r \r - - f i 0121160 r s t , e r a s e \r B L T . s 0121200 o u r c e t y p e _ b l o c 0121220 k ; \r B L T . f u n c t i o n 0121240 _ e r a s e ; \r B L T . d l b 0121260 c a _ M a k e L o n g P o i 0121300 n t e r [ d e s t . b i t s , d 0121320 e s t . b a n k ] ; \r B L T . d 0121340 b m r _ d e s t . n W o r d 0121360 s ; \r B L T . d l x _ I n l 0121400 i n e D e f 376 001 \0 036 360 s . B I T 0121420 S H I F T [ x , l o g B i t s P 0121440 e r P i x e l ] ; \r B L T . d t 0121460 y _ y ; \r B L T . d w _ 0121500 I n l i n e D e f s . B I T S H 0121520 I F T [ ( x 2 + 1 - x ) , l o g 0121540 B i t s P e r P i x e l ] ; \r B 0121560 L T . d h _ ( y 2 + 1 - y ) 0121600 ; \r B L T . s l b c a _ M a 0121620 k e L o n g P o i n t e r [ b . 0121640 b i t s , b . b a n k ] ; \r B L 0121660 T . s b m r _ b . n W o r d 0121700 s ; \r B L T . s l x _ s x ; 0121720 \r B L T . s t y _ s y ; \r L 0121740 o n g D e f s . B I T B L T [ B 0121760 L T ] ; \r \r - - n o w , p a i 0122000 n t g r a y b i t 376 001 \0 273 m 0122020 s \r B L T . s o u r c e t y p e 0122040 _ a n d g r a y ; \r B L T . 0122060 f u n c t i o n _ p a i n t 0122100 ; \r L o n g D e f s . B I T B L 0122120 T [ B L T ] ; \r E N D ; \r \r T r 0122140 a n s f e r R e c t a n g l e : 0122160 P U B L I C P R O C E D U R 0122200 E [ s r c , d e s t : P O I 0122220 N T E R T O G r a p h i c s 0122240 D e f s . B i t m a p , \r \t s r 0122260 c R e c t a n g l e , d e s t R 0122300 e c t a n g l e : P O I N T E 0122320 R T O G r a p h i c s D e f 0122340 s . R e c t a n g l e , \r \t f n 0122360 : B i t B l t D e f s . B B o 0122400 p e r a t i o n _ r e p l a 0122420 376 001 \0 0 244 c e , t y p e : B i 0122440 t B l t D e f s . B B s o u r c 0122460 e t y p e _ b l o c k ] = 0122500 \r B E G I N \r s r c W i d t h , 0122520 d e s t W i d t h , s r c H e i 0122540 g h t , d e s t H e i g h t : 0122560 C A R D I N A L ; \r m y B i t m 0122600 a p : G r a p h i c s D e f s 0122620 . B i t m a p ; \r m y R e c t a 0122640 n g l e : G r a p h i c s D e 0122660 f s . R e c t a n g l e ; \r s v 0122700 d : P O I N T E R T O G r 0122720 a p h i c s D e f s . B i t m a 0122740 p _ N I L ; \r s v d R e c t 0122760 a n g l e : P O I N T E R T 0123000 O G r a p h i c s D e f s . R 0123020 e c t a n 376 001 \0 306 \v g l e ; \r x 0123040 , y , c o u n t : C A R D I N 0123060 A L ; \r d y : C A R D I N A L 0123100 _ 0 ; \r l o g B i t s P e r 0123120 P i x e l : C A R D I N A L 0123140 _ S E L E C T d e s t . n B 0123160 i t s P e r P i x e l F R O M 0123200 1 = > 0 , 2 = > 1 , 4 = > 2 , 0123220 E N D C A S E = > 3 ; \r f u n n 0123240 y F i n i s h P r o c : P R O 0123260 C E D U R E = \r \t B E G I N \r 0123300 \t B L T . s l b c a _ M a k 0123320 e L o n g P o i n t e r [ d e s 0123340 t . b i t s , d e s t . b a n k 0123360 ] ; \r \t B L T . d l b c a _ 0123400 M a k e L o n g P o i n t e r [ 0123420 s v d . b i t s , s 376 001 \0 352 \0 v 0123440 d . b a n k ] ; \r \t B L T . d b 0123460 m r _ s v d . n W o r d s ; 0123500 \r \t B L T . s l x _ B L T . 0123520 s t y _ 0 ; \r \t B L T . d l 0123540 x _ s v d R e c t a n g l e 0123560 . x 1 ; \r \t B L T . d t y _ 0123600 s v d R e c t a n g l e . y 1 ; 0123620 \r \t B L T . d w _ d e s t W 0123640 i d t h ; \r \t B L T . d h _ 0123660 d e s t H e i g h t ; \r \t B L T 0123700 . s b m r _ d e s t . n W o 0123720 r d s ; \r \t B L T . f u n c t i 0123740 o n _ f n ; \r \t B L T . s o 0123760 u r c e t y p e _ t y p e ; 0124000 \r \t L o n g D e f s . B I T B L 0124020 T [ B L T ] ; \r \t S y s t e m 376 0124040 001 \0 343 006 D e f s . F r e e S e g 0124060 m e n t [ d e s t . b i t s ] ; 0124100 \r \t E N D ; \r \r - - f i r s t 0124120 c h e c k t r i v i a l e x 0124140 c l u s i o n \r I F \t ( s r c R 0124160 e c t a n g l e . x 1 > I N 0124200 T E G E R [ s r c . n B i t s ] 0124220 ) O R \r \t ( I N T E G E R [ s 0124240 r c R e c t a n g l e . x 2 ] 0124260 < 0 ) O R \r \t ( s r c R e c 0124300 t a n g l e . y 1 > I N T E 0124320 G E R [ s r c . n L i n e s ] ) 0124340 O R \r \t ( I N T E G E R [ s r 0124360 c R e c t a n g l e . y 2 ] < 0124400 0 ) O R \r \t ( I N T E G E R 0124420 [ d e s t R e c t a n g l e . x 0124440 2 ] < 376 001 \0 277 365 0 ) O R \r 0124460 \t ( I N T E G E R [ d e s t R e 0124500 c t a n g l e . y 2 ] < 0 ) 0124520 T H E N \r \t \t B E G I N \r \t 0124540 \t g o t c h a : B O O L E A N 0124560 ; \r \t \t g o t c h a _ T R U 0124600 E ; \r \t \t R E T U R N ; \r \t \t E 0124620 N D ; \r \r - - c l i p p i n g 0124640 f o r s a f e t y , n o t 0124660 a c c u r a c y ( w i l l c 0124700 a u s e d i s t o r t i o n . 0124720 . . ) \r \t I F C A R D I N A L 0124740 [ d e s t R e c t a n g l e . x 0124760 1 ] > = d e s t . n B i t s 0125000 O R \r \t \t C A R D I N A L [ 0125020 d e s t R e c t a n g l e . y 1 0125040 ] > = d e s t 376 001 \0 n a . n 0125060 L i n e s T H E N R E T U R 0125100 N ; \r \t I F C A R D I N A L [ 0125120 d e s t R e c t a n g l e . x 2 0125140 ] > = d e s t . n B i t s 0125160 T H E N \r \t \t d e s t R e c t 0125200 a n g l e . x 2 _ d e s t . 0125220 n B i t s - 1 ; \r \t I F C A R 0125240 D I N A L [ d e s t R e c t a n 0125260 g l e . y 2 ] > = d e s t . 0125300 n L i n e s T H E N \r \t \t B 0125320 E G I N \r \t \t d y _ d e s 0125340 t R e c t a n g l e . y 2 - ( d 0125360 e s t . n L i n e s - 1 ) ; \r \t 0125400 \t d e s t R e c t a n g l e . y 0125420 2 _ d e s t . n L i n e s - 0125440 1 ; \r \t \t E N D ; \r \r s r c 376 001 0125460 \0 q O W i d t h _ ( s r c R 0125500 e c t a n g l e . x 2 - s r 0125520 c R e c t a n g l e . x 1 ) + 1 0125540 ; \r d e s t W i d t h _ ( d 0125560 e s t R e c t a n g l e . x 2 0125600 - d e s t R e c t a n g l e . 0125620 x 1 ) + 1 ; \r s r c H e i g h t 0125640 _ ( s r c R e c t a n g l e 0125660 . y 2 - s r c R e c t a n g 0125700 l e . y 1 ) + 1 ; \r d e s t H e 0125720 i g h t _ ( d e s t R e c t 0125740 a n g l e . y 2 - d e s t R 0125760 e c t a n g l e . y 1 ) + 1 ; \r 0126000 \r B L T . s o u r c e t y p e 0126020 _ t y p e ; \r B L T . f u n c 0126040 t i o n _ f n ; \r B L T . d 0126060 l b c 376 001 \0 377 g a _ M a k e 0126100 L o n g P o i n t e r [ d e s t 0126120 . b i t s , d e s t . b a n k ] 0126140 ; \r B L T . d b m r _ d e s 0126160 t . n W o r d s ; \r B L T . s l 0126200 b c a _ M a k e L o n g P o 0126220 i n t e r [ s r c . b i t s , s 0126240 r c . b a n k ] ; \r B L T . s b 0126260 m r _ s r c . n W o r d s ; 0126300 \r I F s r c W i d t h = d 0126320 e s t W i d t h A N D s r c 0126340 H e i g h t = d e s t H e i 0126360 g h t T H E N - - e a s y \r 0126400 \t B E G I N \r \t x 1 : C A R D 0126420 I N A L _ d e s t R e c t a 0126440 n g l e . x 1 ; \r \t y 1 : C A 0126460 R D I N A L _ 376 001 \0 2 d d e 0126500 s t R e c t a n g l e . y 1 ; \r 0126520 \t x 2 : C A R D I N A L _ 0126540 d e s t R e c t a n g l e . x 2 0126560 ; \r \t y 2 : C A R D I N A L 0126600 _ d e s t R e c t a n g l e . 0126620 y 2 ; \r \t s x : C A R D I N A 0126640 L _ s r c R e c t a n g l e 0126660 . x 1 ; \r \t s y : C A R D I N 0126700 A L _ s r c R e c t a n g l 0126720 e . y 1 ; \r \t \r \t I F I N T E 0126740 G E R [ x 1 ] < 0 T H E N 0126760 B E G I N s x _ s x - x 0127000 1 ; x 1 _ 0 ; E N D ; \r \t I 0127020 F I N T E G E R [ y 1 ] < 0127040 0 T H E N B E G I N s y 0127060 _ s y - y 1 ; y 1 _ 0 ; 376 001 \0 0127100 \t | E N D ; \r \t I F d e s t . 0127120 p o r t r a i t M o d e T H E 0127140 N \r \t \t B E G I N \r \t \t x 1 _ 0127160 S c a l e [ d e s t . s c a l 0127200 e F a c t o r , x 1 ] ; y 1 _ 0127220 S c a l e [ d e s t . s c a l 0127240 e F a c t o r , y 1 ] ; x 2 _ 0127260 S c a l e [ d e s t . s c a l 0127300 e F a c t o r , x 2 ] ; y 2 _ 0127320 S c a l e [ d e s t . s c a l 0127340 e F a c t o r , y 2 ] ; \r \t \t B 0127360 L T . s l x _ I n l i n e D 0127400 e f s . B I T S H I F T [ S c a 0127420 l e [ d e s t . s c a l e F a c 0127440 t o r , s x ] , l o g B i t s P 0127460 e r P i x e l ] ; \r \t \t B L T . 0127500 s t 376 001 \0 252 375 y _ S c a l e 0127520 [ d e s t . s c a l e F a c t o 0127540 r , s y ] ; \r \t \t E N D \r \t E L 0127560 S E \r \t \t B E G I N t : C A 0127600 R D I N A L _ S c a l e [ d 0127620 e s t . s c a l e F a c t o r , 0127640 ( d e s t . n L i n e s - 1 ) - 0127660 y 1 ] ; y 1 _ S c a l e [ d 0127700 e s t . s c a l e F a c t o r , 0127720 x 1 ] ; \r \t \t x 1 _ S c a l 0127740 e [ d e s t . s c a l e F a c t 0127760 o r , ( d e s t . n L i n e s - 0130000 1 ) - y 2 ] ; y 2 _ S c a l 0130020 e [ d e s t . s c a l e F a c t 0130040 o r , x 2 ] ; x 2 _ t ; \r \t 0130060 \t B L T . s l x _ \r \t \t \t I n 0130100 l i n e D e f 376 001 \0 232 305 s . B I 0130120 T S H I F T [ S c a l e [ d e s 0130140 t . s c a l e F a c t o r , d y 0130160 + ( s r c . n L i n e s - 1 ) - 0130200 s r c R e c t a n g l e . y 2 ] 0130220 , l o g B i t s P e r P i x e l 0130240 ] ; \r \t \t B L T . s t y _ S 0130260 c a l e [ d e s t . s c a l e F 0130300 a c t o r , s x ] ; \r \t \t I F 0130320 I N T E G E R [ B L T . s l x ] 0130340 < 0 T H E N \r \t \t \t B E 0130360 G I N \r \t \t \t x 1 _ I n l 0130400 i n e D e f s . B I T S H I F T 0130420 [ x 1 - B L T . s l x , - l o g 0130440 B i t s P e r P i x e l ] ; B L 0130460 T . s l x _ 0 ; \r \t \t \t E N D ; 0130500 \r \t \t E N D ; \r \t \r \t B 376 001 \0 266 0130520 = L T . d w _ I n l i n e D 0130540 e f s . B I T S H I F T [ ( x 2 0130560 + 1 - x 1 ) , l o g B i t s P e 0130600 r P i x e l ] ; \r \t B L T . d h 0130620 _ ( y 2 + 1 - y 1 ) ; \r \t B 0130640 L T . d l x _ I n l i n e D 0130660 e f s . B I T S H I F T [ x 1 , 0130700 l o g B i t s P e r P i x e l ] 0130720 ; \r \t B L T . d t y _ y 1 ; 0130740 \r \t L o n g D e f s . B I T B L 0130760 T [ B L T ] ; \r \t R E T U R N ; 0131000 \r \t E N D ; - - e a s y c a 0131020 s e \r \r - - r e s c a l i n g 0131040 c a s e \r B L T . f u n c t i o 0131060 n _ r e p l a c e ; \r B L T 0131100 . s o u r c e t y p e _ b l 0131120 o 376 001 \0 ; 222 c k ; \r I F ( d e 0131140 s t H e i g h t < s r c H e 0131160 i g h t ) O R ( f n # r 0131200 e p l a c e ) O R ( t y p e 0131220 # b l o c k ) T H E N \r \t 0131240 B E G I N \r \t s v d _ d e s 0131260 t ; \r \t d e s t _ @ m y B i 0131300 t m a p ; \r \t d e s t . b a n k 0131320 _ 0 ; \r \t d e s t . n W o r 0131340 d s _ ( d e s t W i d t h + 0131360 1 5 ) / 1 6 ; \r - - n o t e : 0131400 i f f n = p a i n t : \r - 0131420 - \t 1 ) w e c o u l d a l 0131440 l o c a t e ( ( . . ) * s r c 0131460 H e i g h t ) , a n d b e 0131500 s m a r t e r l a t e r \r - - 0131520 \t 2 ) w e 376 001 \0 252 203 c o u l 0131540 d i g n o r e t h i s i f 0131560 d e s t H e i g h t = s r c H 0131600 e i g h t \r \t d e s t . n L i n 0131620 e s _ d e s t H e i g h t ; 0131640 \r \t d e s t . b i t s _ S y 0131660 s t e m D e f s . A l l o c a t 0131700 e S e g m e n t [ ( ( d e s t W 0131720 i d t h + 1 5 ) / 1 6 ) * \r \t \t 0131740 M A X [ s r c H e i g h t , d e 0131760 s t H e i g h t ] ] ; \r \t d e s 0132000 t . n B i t s P e r P i x e l 0132020 _ s v d . n B i t s P e r P i 0132040 x e l ; \r \t B L T . d b m r _ 0132060 d e s t . n W o r d s ; \r \t B 0132100 L T . d l b c a _ d e s t . 0132120 b i t s ; \r \r \t m y R 376 001 \0 030 314 0132140 e c t a n g l e _ [ 0 , 0 , 0132160 d e s t W i d t h - 1 , d e s t 0132200 H e i g h t - 1 ] ; \r \t s v d R 0132220 e c t a n g l e _ d e s t R 0132240 e c t a n g l e ; \r \t d e s t R 0132260 e c t a n g l e _ @ m y R e 0132300 c t a n g l e ; \r \t E N D ; \r \r 0132320 B L T . d t y _ d e s t R e 0132340 c t a n g l e . y 1 ; \r B L T . 0132360 d w _ d e s t . n B i t s P 0132400 e r P i x e l ; \r B L T . d h 0132420 _ s r c H e i g h t ; \r B L T 0132440 . s l x _ s r c R e c t a n 0132460 g l e . x 1 ; \r B L T . s t y 0132500 _ s r c R e c t a n g l e . y 0132520 1 ; \r \r c o u n t _ 0 ; \r F 0132540 376 001 \0 341 301 O R x I N [ C A 0132560 R D I N A L [ d e s t R e c t a 0132600 n g l e . x 1 ] . . C A R D I N 0132620 A L [ d e s t R e c t a n g l e 0132640 . x 2 ] ] D O \r \t B L T . d l 0132660 x _ x ; \r \t L o n g D e f s 0132700 . B I T B L T [ B L T ] ; \r \t c 0132720 o u n t _ c o u n t + s r c 0132740 W i d t h ; \r \t I F c o u n t 0132760 > = d e s t W i d t h T H 0133000 E N \r \t D O \r \t \t B L T . s l x 0133020 _ B L T . s l x + 1 ; \r 0133040 \t \t c o u n t _ c o u n t 0133060 - d e s t W i d t h ; \r \t \t I 0133100 F c o u n t < d e s t W i 0133120 d t h T H E N B E G I N B 0133140 L T . f u 376 001 \0 177 ^ n c t i o n 0133160 _ r e p l a c e ; E X I T ; E N 0133200 D ; \r \t \t B L T . f u n c t i o 0133220 n _ p a i n t ; \r \t \t L o n g D 0133240 e f s . B I T B L T [ B L T ] ; 0133260 \r \t E N D L O O P ; \r E N D L O 0133300 O P ; \r I F d e s t H e i g h 0133320 t = s r c H e i g h t T H 0133340 E N \r \t B E G I N \r \t I F s 0133360 v d # N I L T H E N f u 0133400 n n y F i n i s h P r o c [ ] ; 0133420 \r \t R E T U R N ; \r \t E N D ; \r 0133440 \r B L T . d l x _ d e s t R 0133460 e c t a n g l e . x 1 ; \r B L T 0133500 . d w _ d e s t W i d t h ; 0133520 \r B L T . d h _ 1 ; \r B L T 0133540 . s l x _ d e s 376 001 \0 / + t 0133560 R e c t a n g l e . x 1 ; \r B L 0133600 T . s b m r _ B L T . d b m 0133620 r ; \r B L T . s l b c a _ B 0133640 L T . d l b c a ; \r c o u n t 0133660 _ 0 ; \r I F d e s t H e i g 0133700 h t > s r c H e i g h t T 0133720 H E N \r \t B E G I N \r \t B L T . 0133740 s t y _ d e s t R e c t a n 0133760 g l e . y 1 + s r c H e i g 0134000 h t - 1 ; \r \t F O R y D E C 0134020 R E A S I N G I N [ C A R D 0134040 I N A L [ d e s t R e c t a n g 0134060 l e . y 1 ] . . C A R D I N A L 0134100 [ d e s t R e c t a n g l e . y 0134120 2 ] ] D O \r \t \t B L T . d t y 0134140 _ y ; \r \t \t L o n g D e f 376 0134160 001 \0 241 313 s . B I T B L T [ B L T 0134200 ] ; \r \t \t c o u n t _ c o u 0134220 n t + s r c H e i g h t ; \r 0134240 \t \t I F c o u n t > = d e 0134260 s t H e i g h t T H E N \r \t \t 0134300 \t B E G I N \r \t \t \t B L T . s t 0134320 y _ B L T . s t y - 1 ; \r \t 0134340 \t \t c o u n t _ c o u n t 0134360 - d e s t H e i g h t ; \r \t \t 0134400 \t E N D ; \r \t E N D L O O P ; \r 0134420 \t E N D ; \r I F d e s t H e i 0134440 g h t < s r c H e i g h t 0134460 T H E N \r \t B E G I N \r \t B L T 0134500 . s t y _ d e s t R e c t a 0134520 n g l e . y 1 ; \r \t F O R y 0134540 I N [ C A R D I N A L [ d e s 0134560 t R e c 376 001 \0 ^ 216 t a n g l e . 0134600 y 1 ] . . C A R D I N A L [ d e 0134620 s t R e c t a n g l e . y 2 ] ] 0134640 D O \r \t \t B L T . d t y _ 0134660 y ; \r \t \t L o n g D e f s . B I 0134700 T B L T [ B L T ] ; \r \t \t c o u 0134720 n t _ c o u n t + s r c 0134740 H e i g h t ; \r \t \t D O \r \t \t \t 0134760 B L T . s t y _ B L T . s t 0135000 y + 1 ; \r \t \t \t c o u n t _ 0135020 c o u n t - d e s t H e i g 0135040 h t ; \r \t \t \t I F c o u n t 0135060 < d e s t H e i g h t T H E 0135100 N B E G I N B L T . f u n c 0135120 t i o n _ r e p l a c e ; E X I 0135140 T ; E N D ; \r \t \t \t B L T . f u 0135160 n c t i o n _ p a 376 \0 252 8 = i n 0135200 t ; \r \t \t \t L o n g D e f s . B 0135220 I T B L T [ B L T ] ; \r \t \t E N 0135240 D L O O P ; \r \t E N D L O O P ; 0135260 \r \t E N D ; \r I F s v d # 0135300 N I L T H E N f u n n y F i 0135320 n i s h P r o c [ ] ; \r E N D ; 0135340 \r \r E N D . \r \r 032 e 6 \ f 1 1 0135360 b 7 B 1 3 6 2 b 7 B 1 2 6 4 b 8 0135400 B 1 3 4 2 b 9 B 1 6 2 6 b 1 3 B 0135420 1 6 8 0 b 1 7 B 3 5 2 0 b 3 6 B 0135440 9 5 b 1 3 7 B \r 377 \0 \0 s e t c r 0135460 t . m e s a \0 376 001 \0 257 T - - m . 0135500 s t o n e O c t o b e r 2 , 0135520 1 9 8 0 1 2 : 3 5 P M \r 0135540 D I R E C T O R Y \r \t G r a p h 0135560 i c s D e f s : F R O M " G 0135600 r a p h i c s D e f s " , \r \t R 0135620 e a l : F R O M " R e a l " 0135640 , \r \t R e a l F n s : F R O M 0135660 " R e a l F n s " , \r \t I O D 0135700 e f s : F R O M " I O D e f 0135720 s " , \r \t I m a g e D e f s : 0135740 F R O M " I m a g e D e f s " 0135760 U S I N G [ S t o p M e s a 0136000 ] , \r \t S t r e a m D e f s : 0136020 F R O M " S t r e a m D e f s 0136040 " ; \r \r S e t C R T : P R O G 0136060 R A M I M P O R T S 376 001 \0 366 0136100 302 G r a p h i c s D e f s , I 0136120 m a g e D e f s , S t r e a m 0136140 D e f s , R e a l F n s , R 0136160 e a l , I O D e f s = \r B E 0136200 G I N \r S c r e e n : P O I N 0136220 T E R T O G r a p h i c s D 0136240 e f s . B i t m a p _ \r \t G r 0136260 a p h i c s D e f s . T u r n O 0136300 n G r a p h i c s [ 8 , F A L S 0136320 E , 8 0 ] ; \r M o n i t o r C o 0136340 n t r o l B l o c k : P O I N 0136360 T E R T O P O I N T E R = 0136400 L O O P H O L E [ 4 1 7 B ] ; 0136420 \r k e y s : S t r e a m D e f 0136440 s . K e y b o a r d H a n d l e 0136460 _ S t r e a m D e f s . G e 0136500 t 376 001 \0 310 \0 D e f a u l t K e y 0136520 [ ] ; \r \r S e t C o l o r : P 0136540 R O C E D U R E [ g r a y , r 0136560 e d , g r e e n , b l u e : C 0136600 A R D I N A L ] = \r B E G I N 0136620 \r G r a p h i c s D e f s . S e 0136640 t R e d [ g r a y , r e d ] ; \r 0136660 G r a p h i c s D e f s . S e t 0136700 G r e e n [ g r a y , g r e e n 0136720 ] ; \r G r a p h i c s D e f s . 0136740 S e t B l u e [ g r a y , b l u 0136760 e ] ; \r E N D ; \r \r t w o T o T 0137000 h e : P R O C E D U R E [ n 0137020 : C A R D I N A L ] R E T U 0137040 R N S [ t w o T o T h e N : 0137060 C A R D I N A L ] = I N L I 0137100 N E \r B E G 376 001 \0 300 203 I N \r t w 0137120 o T o T h e N _ S E L E C T 0137140 n F R O M 0 = > 1 , 1 = > 0137160 2 , 2 = > 4 , 3 = > 8 , 4 = > 1 0137200 6 , 5 = > 3 2 , 6 = > 6 4 , 7 = 0137220 > 1 2 8 , E N D C A S E = > 2 5 0137240 6 ; \r E N D ; \r \r A l l : P R 0137260 O C E D U R E = \r B E G I N \r 0137300 r , g , b , m a g e n t a , c y 0137320 a n , y e l l o w , w h i t e : 0137340 C A R D I N A L ; \r n s t e p 0137360 s : C A R D I N A L = 1 6 0137400 ; \r b a s e : R E A L _ 2 0137420 ; \r v a l u e : R E A L ; \r b 0137440 w i d t h : C A R D I N A L 0137460 _ 3 0 ; \r w i d t h : C A R 0137500 D I N A L _ ( n s 376 001 \0 B 2 0137520 t e p s + 1 ) * b w i d t h ; \r 0137540 l e f t X : C A R D I N A L 0137560 _ ( 6 0 6 - w i d t h ) / 2 ; 0137600 \r l x , t y , h , x , v : C A 0137620 R D I N A L ; \r b a s e _ R 0137640 e a l F n s . S q R t [ b a s e 0137660 ] ; \t \t - - 2 ^ 1 / 2 \r S e t C 0137700 o l o r [ 0 , b a c k g r o u n 0137720 d , b a c k g r o u n d , b a c 0137740 k g r o u n d ] ; \r w h i t e 0137760 _ 2 5 5 ; \r S e t C o l o r [ 0140000 w h i t e , 2 5 5 , 2 5 5 , 2 5 0140020 5 ] ; \r r _ n s t e p s + 2 0140040 ; \r g _ r + 1 ; \r b _ r 0140060 + 2 ; \r m a g e n t a _ r + 0140100 3 ; \r c y a n _ r + 4 ; \r y 0140120 376 001 \0 360 364 e l l o w _ r + 5 0140140 ; \r - - m a k e t h e c o l 0140160 o r m a p l o g r i t h m i c 0140200 g r e y p l u s t h e p 0140220 r i m a r i e s a n d s e c 0140240 o n d a r i e s \r v a l u e _ 0140260 b a s e ; \r F O R x I N 0140300 [ 1 . . n s t e p s ] D O \r 0140320 \t v _ R e a l . R o u n d I 0140340 [ C o m p [ v a l u e ] ] ; \r \t 0140360 S e t C o l o r [ x , v , v , v 0140400 ] ; \r \t I O D e f s . W r i t e 0140420 D e c i m a l [ v ] ; \r \t I O D 0140440 e f s . W r i t e L i n e [ " 0140460 " ] ; \r \t v a l u e _ v a l 0140500 u e * b a s e ; \r \t E N D L O O 0140520 P ; \r S e 376 001 \0 253 254 t C o l o r 0140540 [ r , 2 5 5 , 0 , 0 ] ; \r S e t 0140560 C o l o r [ g , 0 , 2 5 5 , 0 ] 0140600 ; \r S e t C o l o r [ b , 0 , 0 0140620 , 2 5 5 ] ; \r S e t C o l o r [ 0140640 m a g e n t a , 2 5 5 , 0 , 2 5 0140660 5 ] ; \r S e t C o l o r [ c y a 0140700 n , 2 5 5 , 2 5 5 , 0 ] ; \r S e 0140720 t C o l o r [ y e l l o w , 0 , 0140740 2 5 5 , 2 5 5 ] ; \r l x _ l 0140760 e f t X ; t y _ 2 2 ; h 0141000 _ 2 0 0 ; \r - - d r a w t 0141020 h e w h i t e b a r \r G r a 0141040 p h i c s D e f s . S e t G r a 0141060 y L e v e l [ w h i t e ] ; \r G 0141100 r a p h i c s D e f s . R e p l 0141120 a c e G r a y [ l x 376 001 \0 343 x , 0141140 t y , l x + w i d t h , t y + h 0141160 ] ; \r - - d r a w t h e l o 0141200 g g r e y s c a l e \r l x 0141220 _ l e f t X ; t y _ t y 0141240 + h + 2 0 ; h _ 1 4 0 ; \r 0141260 F O R x I N [ 0 . . n s t 0141300 e p s ) D O \r \t G r a p h i 0141320 c s D e f s . S e t G r a y L e 0141340 v e l [ x ] ; \r \t G r a p h i c 0141360 s D e f s . R e p l a c e G r a 0141400 y [ l x , t y , l x + b w i d t 0141420 h , t y + h ] ; \r \t l x _ l 0141440 x + b w i d t h ; \r \t E N D L O 0141460 O P ; \r - - d r a w t h e p 0141500 r i m a r i e s \r l x _ l e 0141520