$ od -c -N 50000 [Indigo]<AltoSource>CRTTEST.DM!1 0000000 377 \0 \0 C R T T e s t . b c p l \0 0000020 373 233 u < 255 \0 \0 376 001 \0 311 f / / C 0000040 R T T e s t . b c p l - - T 0000060 e s t p a t t e r n g e n e 0000100 r a t o r f o r h e i g h t 0000120 , w i d t h , \r / / \t \t 0000140 a n d p i n - c u s h i o n 0000160 a d j u s t m e n t \r / / C o 0000200 p y r i g h t X e r o x C o 0000220 r p o r a t i o n 1 9 7 9 , 0000240 1 9 8 3 \r / / L a s t m o d 0000260 i f i e d A u g u s t 2 5 , 0000300 1 9 8 3 3 : 0 7 P M b 0000320 y B o g g s \r \r g e t " A l 0000340 t o D e f s . d " \r \r e x t e r 0000360 n a l \r [ \r / / i n c o m i n 0000400 g p r o c e d u r e s \r Z e r 0000420 o ; B i t B l t ; S 376 001 \0 \a 0000440 ` e t B l o c k ; M o v e B l 0000460 o c k ; U s c \r \r / / i n c 0000500 o m i n g s t a t i c s \r A l 0000520 t o V e r s i o n ; l v U s e 0000540 r F i n i s h P r o c \r ] \r \r s 0000560 t a t i c \r [ \r s a v e d U s e 0000600 r F i n i s h P r o c \r ] \r \r m 0000620 a n i f e s t \r [ \r y M a x = 0000640 8 0 8 \r s t k L i m = 3 3 0000660 5 b \r ] \r \r s t r u c t u r e 0000700 X B B T : / / e x t e n d 0000720 e d B i t B l t t a b l e \r 0000740 [ \r @ B B T = [ l o n g 0000760 b i t 1 ] \r l s b c a ^ 0 , 0001000 1 w o r d \r l d b c a ^ 0 , 1 0001020 w o r d \r ] \r m a n i f e s t 0001040 376 001 \0 276 243 l X B B T = s i 0001060 z e X B B T / 1 6 \r \r s t r u 0001100 c t u r e X D C B : / / 0001120 e x t e n d e d D C B \r [ \r @ 0001140 D C B \r l o n g B i t M a p ^ 0 0001160 , 1 w o r d \r ] \r m a n i f e 0001200 s t l X D C B = s i z e 0001220 X D C B / 1 6 \r \r / / - - - - - 0001240 - - - - - - - - - - - - - - - - * 0001360 - - - - \r l e t C r t T e s t 0001400 ( ) b e \r / / - - - - - - - - 0001420 - - - - - - - - - - - - - - - - 0001440 - - - - - - 376 001 \0 002 026 - - - - - 0001460 - - - - - - - - - - - - - - - - * 0001540 - - - - - - \r [ \r s a v e d U s 0001560 e r F i n i s h P r o c = @ 0001600 l v U s e r F i n i s h P r o c 0001620 \r @ l v U s e r F i n i s h P r 0001640 o c = U s e r F i n i s h P 0001660 r o c \r \r Z e r o ( c u r s o r 0001700 B i t M a p , 1 6 ) \r \r l e t 0001720 b i t M a p I n X M = S e 0001740 t D i s p l a y C o n f i g ( t 0001760 r u e ) \r l e t n W o r d s 0002000 = b i t M a p I n X M ? 6 4 0002020 , 3 8 \r l e t x M a x = 0002040 n W o r d s * 1 6 \r l 376 001 \0 ) 362 0002060 e t l e n B i t M a p = n 0002100 W o r d s * y M a x \r \r l e 0002120 t d c b = ( @ s t k L i m 0002140 + 1 ) & - 2 ; Z e r o ( d 0002160 c b , l X D C B ) \r @ s t k L 0002200 i m = d c b + l X D C B 0002220 \r \r l e t b i t M a p = b 0002240 i t M a p I n X M ? 0 , d c 0002260 b + l X D C B \r u n l e s s 0002300 b i t M a p I n X M d o @ 0002320 s t k L i m = b i t M a p + 0002340 l e n B i t M a p \r d c b > > D 0002360 C B . w i d t h = n W o r d 0002400 s \r d c b > > D C B . b i t m a 0002420 p = b i t M a p I n X M ? 0002440 1 7 7 4 2 3 B , b i t M a p \r 0002460 376 001 \0 \0 207 d c b > > D C B . h e 0002500 i g h t = b i t M a p I n X 0002520 M ? 1 0 0 0 0 0 B + y M a x / 0002540 2 , y M a x / 2 \r d c b > > X 0002560 D C B . l o n g B i t M a p ^ 1 0002600 = 1 / / b a n k 1 , 0002620 w o r d 0 \r \r / / S e t 0002640 u p B i t B l t t a b l e \r 0002660 l e t b b t = v e c l X 0002700 B B T ; b b t = ( b b t + 0002720 1 ) & - 2 ; Z e r o ( b b 0002740 t , l X B B T ) \r b b t > > X 0002760 B B T . l o n g = b i t M a 0003000 p I n X M \r b b t > > B B T . s 0003020 T y p e = 3 / / g r a y 0003040 , o p i s r e p l a c e 0003060 ( 0 ) \r b 376 001 \0 > 316 b t > > B B 0003100 T . d b c a = b i t M a p \r 0003120 b b t > > B B T . d b m r = 0003140 n W o r d s \r b b t > > X B B T 0003160 . l d b c a ^ 1 = 1 / / 0003200 b a n k 1 , w o r d 0 \r 0003220 b b t > > X B B T . l s b c a ^ 0003240 1 = 1 \r \r l e t k e y s 0003260 = v e c 3 ; M o v e B l o 0003300 c k ( k e y s , k b d A d , 0003320 4 ) \r \r w h i l e t r u e d 0003340 o f o r i = 0 t o 8 0003360 d o \r [ \r / / Z 0003400 e r o t h e b i t m a p \r 0003420 Z e r o ( l v b b t > > 0003440 B B T . g r a y , 4 ) \r 0003460 b b t > > B B T . d 376 001 \0 021 213 l 0003500 x = 0 \r b b t > > B B 0003520 T . d t y = 0 \r b b t 0003540 > > B B T . d w = n W o r d 0003560 s * 1 6 \r b b t > > B B T 0003600 . d h = y M a x \r B i 0003620 t B l t ( b b t ) \r @ d i 0003640 s p l a y L i s t H e a d = 0003660 d c b \r \r s w i t c h o n 0003700 i i n t o \r [ \r 0003720 c a s e 0 t o 0003740 3 : \r [ \r 0003760 S e t B l o c k ( 0004000 l v b b t > > B B T . g r a y 0004020 , - 1 , 4 ) \r \r 0004040 l e t x S p a c i n g , 0004060 y S p a c i n g = n i l 376 0004100 001 \0 206 G , n i l \r 0004120 s w i t c h o n i i n 0004140 t o \r [ 0004160 \r c a s 0004200 e 0 : x S p a c i n g = 0004220 1 0 ; y S p a c i n g = 1 0004240 0 ; e n d c a s e \r 0004260 c a s e 1 : x 0004300 S p a c i n g = x M a x - 2 0004320 ; y S p a c i n g = y M a 0004340 x - 2 ; e n d c a s e \r 0004360 c a s e 2 : 0004400 x S p a c i n g = 2 5 ; 0004420 y S p a c i n g = 2 5 ; e 0004440 n d c a s e \r 0004460 c a s e 3 : x S p a c 0004500 i n g 376 001 \0 214 302 = 5 ; y S 0004520 p a c i n g = 5 ; e n d c 0004540 a s e \r 0004560 ] \r \r l e t 0004600 x R e m = ( x M a x - 2 ) 0004620 r e m x S p a c i n g \r 0004640 l e t x L e f t 0004660 = x R e m r s h i f t 1 \r 0004700 l e t x W i 0004720 d t h = x M a x - x R e m \r 0004740 \r l e t y R 0004760 e m = ( y M a x - 2 ) r e 0005000 m y S p a c i n g \r 0005020 l e t y T o p = y 0005040 R e m r s h i f t 1 \r 0005060 l e t y H e i g h 0005100 t = y M a x - 376 001 \0 _ 240 y R 0005120 e m \r \r b b t 0005140 > > B B T . d l x = x L e f 0005160 t \r b b t > > 0005200 B B T . d h = 2 \r 0005220 b b t > > B B T . d w 0005240 = x W i d t h \r 0005260 b b t > > B B T . d t y = 0005300 y T o p \r w 0005320 h i l e b b t > > B B T . d t 0005340 y l e y T o p + y H e i g h 0005360 t d o / / h o r i z o n t 0005400 a l l i n e s \r 0005420 [ \r 0005440 B i t B l t ( b b t ) \r 0005460 b b t > > 0005500 B B T . d t y = b b t > 376 001 0005520 \0 271 022 > B B T . d t y + y S 0005540 p a c i n g \r 0005560 ] \r \r b 0005600 b t > > B B T . d t y = y T 0005620 o p \r b b t > 0005640 > B B T . d h = y H e i g h 0005660 t \r b b t > > 0005700 B B T . d w = 2 \r 0005720 b b t > > B B T . d l x 0005740 = x L e f t \r 0005760 w h i l e b b t > > B B T 0006000 . d l x l e x L e f t + x W 0006020 i d t h d o / / v e r t i 0006040 c a l l i n e s \r 0006060 [ \r 0006100 B i t B l t ( b b t ) \r 0006120 376 001 \0 w ' 0006140 b b t > > B B T . d l x = 0006160 b b t > > B B T . d l x + x 0006200 S p a c i n g \r 0006220 ] \r e 0006240 n d c a s e \r 0006260 ] \r c a s e 4 t 0006300 o 6 : \r [ \r 0006320 s w i t c h o 0006340 n i i n t o \r 0006360 [ \r 0006400 c a s e 4 : \r 0006420 b b t > > B 0006440 B T . g r a y ^ 0 = 1 2 5 2 0006460 5 2 B ; b b t > > B B T . g r 0006500 a y ^ 1 = 0 5 2 5 2 5 B \r 0006520 376 001 \0 300 8 0006540 b b t > > B B T . g r a y 0006560 ^ 2 = 1 2 5 2 5 2 B ; b b 0006600 t > > B B T . g r a y ^ 3 = 0006620 0 5 2 5 2 5 B \r 0006640 e n d c a s e \r 0006660 c a s e 0006700 5 : \r 0006720 b b t > > B B T . g r a y ^ 0006740 0 = 1 4 6 3 1 4 B ; b b t 0006760 > > B B T . g r a y ^ 1 = 1 0007000 4 6 3 1 4 B \r 0007020 b b t > > B B T . g 0007040 r a y ^ 2 = 0 3 1 4 6 3 B ; 0007060 b b t > > B B T . g r a y ^ 3 0007100 = 0 3 1 4 6 3 B \r 0007120 e n d 376 001 \0 0007140 327 c c a s e \r 0007160 c a s e 6 : \r 0007200 b b t > > B 0007220 B T . g r a y ^ 0 = 1 4 0 3 0007240 0 0 B ; b b t > > B B T . g r 0007260 a y ^ 1 = 1 4 0 3 0 0 B \r 0007300 b b 0007320 t > > B B T . g r a y ^ 2 = 0007340 0 0 6 0 1 4 B ; b b t > > B B 0007360 T . g r a y ^ 3 = 0 0 6 0 1 0007400 4 B \r 0007420 e n d c a s e \r 0007440 ] \r 0007460 b b t > > B B T . d h = y 0007500 M a x \r b b t 0007520 > > B B T . d w = x M a x \r 0007540 376 001 \0 / G b b 0007560 t > > B B T . d t y = 0 \r 0007600 b b t > > B B T 0007620 . d l x = 0 \r 0007640 B i t B l t ( b b t ) \r 0007660 e n d c a s e \r 0007700 ] \r 0007720 c a s e 7 : \r 0007740 [ \r S e t B 0007760 l o c k ( l v b b t > > B B T 0010000 . g r a y , - 1 , 4 ) \r 0010020 b b t > > B B T . 0010040 d t y = 0 \r 0010060 b b t > > B B T . d h = y 0010100 M a x \r b b t 0010120 > > B B T . d w = 2 \r 0010140 b 376 001 \0 022 7 b t > > 0010160 B B T . d l x = x M a x / 2 0010200 \r B i t B l t 0010220 ( b b t ) \r e 0010240 n d c a s e \r 0010260 ] \r c a s e 8 : \r 0010300 [ \r 0010320 S e t B l o c k ( l v 0010340 b b t > > B B T . g r a y , - 0010360 1 , 4 ) \r b 0010400 b t > > B B T . d l x = 0 \r 0010420 b b t > > B B 0010440 T . d h = 2 \r 0010460 b b t > > B B T . d w = 0010500 x M a x \r b b 0010520 t > > B B T . d t y = y M a 0010540 x / 2 \r 376 001 \0 345 0010560 d B i t B l t ( b b t ) \r 0010600 e n d c a s e \r 0010620 ] \r 0010640 ] \r \r l e t 0010660 n e w K e y s , o l d K e y s 0010700 = v e c 3 , v e c 3 \r 0010720 M o v e B l o c k ( n e w 0010740 K e y s , k b d A d , 4 ) \r 0010760 l e t f o o = v a l 0011000 o f \r [ \r 0011020 M o v e B l o c k ( o l d K e 0011040 y s , n e w K e y s , 4 ) \r 0011060 M o v e B l o c k ( 0011100 n e w K e y s , k b d A d , 0011120 4 ) \r i f ( n e w 0011140 K e y s ! 2 & 4 0 0 0 0 B ) 0011160 376 001 \0 : 221 e q 0 t h e n 0011200 f i n i s h / / E S C g 0011220 e t s u s o u t \r 0011240 f o r i = 0 t o 3 0011260 i f U s c ( o l d K e y s ! i 0011300 , n e w K e y s ! i ) g r 0011320 0 r e s u l t i s t r u e \r 0011340 ] r e p e a t \r \r 0011360 ] \r ] \r \r \r / / - - - - - 0011400 - - - - - - - - - - - - - - - - * 0011520 - - - - \r a n d S e t D i s p 0011540 l a y C o n f i g ( w i d e ) 0011560 = v a l o 376 001 \0 a 364 f \r / / - 0011600 - - - - - - - - - - - - - - - - * 0011720 - - - - - - - - \r [ \r l e t m 0011740 a c h i n e = A l t o V e r 0011760 s i o n < < V E R S . e n g \r i 0012000 f m a c h i n e e q 4 % 0012020 m a c h i n e e q 5 t h 0012040 e n / / D o l p h i n o 0012060 r D o r a d o ? \r [ \r 0012100 l e t S D C = t a b l 0012120 e [ 6 1 0 3 2 B ; 1 4 0 1 0012140 B ] \r l e t o l d T r 0012160 a p = t r a p V e 376 001 \0 026 364 0012200 c t o r ! 2 \r t r a p V e 0012220 c t o r ! 2 = S D C + 1 0012240 / / i f t r a p o c c u r 0012260 s , r e t u r n f r o m S 0012300 D C \r l e t n e w W i d 0012320 t h = S D C ( w i d e ) \r 0012340 t r a p V e c t o r ! 2 = 0012360 o l d T r a p \r r e s u 0012400 l t i s n e w W i d t h e q 0012420 6 4 \r ] \r r e s u l t i 0012440 s f a l s e \r ] \r \r / / - - - 0012460 - - - - - - - - - - - - - - - - * 0012600 376 \0 330 303 235 - - - - - - \r a n d 0012620 U s e r F i n i s h P r o c ( c 0012640 o d e ) b e \r / / - - - - - - 0012660 - - - - - - - - - - - - - - - - * 0013000 - - - \r [ \r @ l v U s e r F i n 0013020 i s h P r o c = s a v e d U 0013040 s e r F i n i s h P r o c \r @ d 0013060 i s p l a y L i s t H e a d = 0013100 0 \r S e t D i s p l a y C o n 0013120 f i g ( f a l s e ) \r ] \r 377 \0 \0 0013140 B u i l d C R T T e s t . c m \0 0013160 373 233 + 201 ? \0 \0 376 \0 343 G 203 B l d r 0013200 / L V K C R T T e s t B o o t 0013220 / S 5 0 0 0 / V B a s i c B 0013240 o o t B a s e / J C R T T e s 0013260 t B F S M L \r \r B u i l d B o 0013300 o t C R T T e s t . m a p / L 0013320 C R T T e s t . B o o t / O 0013340 1 1 0 1 / G 3 / D D i s k B 0013360 o o t . R u n / B 3 0 0 / N 0013400 B a s i c B o o t B a s e . x c 0013420 / S 1 2 0 1 / V B a s i c B 0013440 o o t B a s e . R u n / E 1 1 0013460 4 1 / V C R T T e s t B o o t 0013500 . r u n / E \r \r D e l e t e C 0013520 R T T e s t B o o t . r u n \r 377 0013540 \0 \0 C R T T e s t . c m \0 373 223 363 0013560 201 ; \0 \0 376 \0 ' 203 323 C R T T e s t 0013600 . b c p l B u i l d C R T T e 0013620 s t . c m C R T T e s t . c m 0013640 374 0013641