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