$ od -c -N 50000 [Indigo]<AltoSource>RSILSOURCES.DM!2>CursorStream.bcpl 0000000 / / C u r s o r S t r e a m . b 0000020 c p l u t i l i t y f o r 0000040 s e n d i n g " s t r e a m " 0000060 o u t p u t t o t h e c 0000100 u r s o r \r \r g e t " s t r e 0000120 a m s . d " \r g e t " a l t o 0000140 d e f s . d " \r \r e x t e r n a 0000160 l [ I n i t C u r s o r ; 0000200 W r i t e C u r s o r ; C u r 0000220 s o r S ] \r e x t e r n a l 0000240 [ C r e a t e D i s p l a y S 0000260 t r e a m ; S e t B i t P o s 0000300 ; Z e r o ; M o v e B l o c 0000320 k ; P u t s ] \r \r s t a t i 0000340 c C u r s o r S = 0 \r \r / / T 0000360 h i s p r o c e e d u r e m 0000400 u s t b e c a l l e d f i 0000420 r s t \r / / I t c r e a t s 0000440 a s m a l l S t r e a m D 0000460 C B f o r t e x t t o b 0000500 e p l a c e d \r / / i t r e 0000520 t u r n s t h e s t r e a m 0000540 i n c a s e y o u w a n 0000560 t t o o u t p u t t o t 0000600 h e s t r e a m w i t h o u 0000620 t W r i t e C u r s o r \r / / 0000640 T h e t h r e e p a r a m e 0000660 t e r s a r e p o i n t e r 0000700 t o a b u f f e r , l e 0000720 n g t h o f b u f f e r , 0000740 m u s t b e 5 0 w o r d s 0000760 o r m o r e \r / / p o i n t 0001000 e r t o a f o n t , 0 0001020 f o r s y s f o n t , a n d 0001040 p o i n t e r t o z o n e 0001060 , s y s z o n e i f z e r 0001100 o \r \r l e t I n i t C u r s o 0001120 r ( b u f f , l e n g t h , f n 0001140 t , z n e ) = v a l o f \r \t [ 0001160 \r \t C u r s o r S = C r e a 0001200 t e D i s p l a y S t r e a m ( 0001220 1 , b u f f , l e n g t h , f n 0001240 t , 2 , D S s t o p r i g h t , 0001260 z n e ) \r \t l e t d c b = 0001300 C u r s o r S > > D S . f d c b 0001320 \r \t / / Z e r o ( d c b > > D C 0001340 B . b i t m a p , 3 2 ) \r \t S e 0001360 t B i t P o s ( C u r s o r S , 0001400 0 ) \r \t / / W r i t e C u r s o 0001420 r ( 0 ) \r \t r e s u l t i s C 0001440 u r s o r S \r \t ] \r \r \r \r / / t 0001460 h i s p r o c e e d u r e s 0001500 e n d s " p a r a m " t o 0001520 r o u t i n e , a n d c o p 0001540 i e s t h e r e s u l t i n 0001560 g b i t m a p i n t h e \r 0001600 / / d c b i n t o t h e c 0001620 u r s o r \r / / e x a m p l e 0001640 W r i t e C u r s o r ( W s s , 0001660 " H i " ) d i s p l a y s H 0001700 i \r / / e x a m p l e W r i t 0001720 e C u r s o r ( W n s , c n t ) 0001740 d i s p l a y s c n t r i 0001760 g h t j u s t i f i e d i n 0002000 d e c i m a l \r / / e x a m p 0002020 l e W n s ( S , v a l , 0 , 8 0002040 ) ; W r i t e C u r s o r ( 0 0002060 , 0 ) d i s p l a y s w h a 0002100 t y o u w a n t \r / / e x a 0002120 m p l e W r i t e C u r s o r 0002140 ( $ i ) d i s p l a y s s m 0002160 a a l l " i n " i n b o t 0002200 364 o m 4 s c a n l i n e s 0002220 o f t h e c u r s o r \r / 0002240 / e x a m p l e W r i t e C u 0002260 r s o r ( $ o ) d i s p l a y 0002300 s s m a a l l " o u t " i 0002320 n b o t t 357 m 4 s c a n 0002340 l i n e s o f t h e c u r 0002360 s o r \r \r a n d W r i t e C u 0002400 r s o r ( r o u t i n e , p a r 0002420 a m ) b e \r \t [ \r \t l e t I 0002440 n = t a b l e [ # 2 2 6 0002460 0 ; # 2 3 1 0 ; # 2 2 1 0 ; 0002500 # 2 2 1 0 ] \r \t l e t O u 0002520 t = t a b l e [ # 7 4 4 0002540 4 7 ; # 4 4 4 4 2 ; # 4 4 4 0002560 4 2 ; # 7 4 3 0 2 ] \r \t i f 0002600 r o u t i n e e q $ i t 0002620 h e n [ M o v e B l o c k ( 0002640 # 4 4 5 , I n , 4 ) ; r e t u 0002660 r n ] / / i n \r \t i f r o u 0002700 t i n e e q $ o t h e n 0002720 [ M o v e B l o c k ( # 4 4 5 0002740 , O u t , 4 ) ; r e t u r n 0002760 ] / / o u t \r \t i f r o u t i 0003000 n e t h e n r o u t i n e ( 0003020 C u r s o r S , p a r a m , 2 ) 0003040 \r \t l e t d c b = C u r s 0003060 o r S > > D S . f d c b \r \t l e 0003100 t b i t m a p = d c b > > 0003120 D C B . b i t m a p \r \t f o r 0003140 i = 0 t o 1 5 d o # 0003160 4 3 1 ! i = i l s d c b 0003200 > > D C B . h e i g h t * 2 ? 0003220 b i t m a p ! ( i l s h i f t 0003240 1 ) , 0 \r \t P u t s ( C u r s 0003260 o r S , $ * n ) ; S e t B i 0003300 t P o s ( C u r s o r S , 0 ) \r 0003320 \t ] \r \r 032 ( 6 3 5 ) \r 032 \r 0003335