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