$ od -c -N 50000 [Indigo]<Voice>LCSAudio>CATAudioMC.dm!1
0000000 377 \0 \0 c a t c o n s t s m c . m
0000020 u \0 376 001 \0 371 , ; C o n s t a n
0000040 t d e f i n i t i o n s f o
0000060 r A l t o I I C A T m i
0000100 c r o c o d e \r \r ; V e r s i o
0000120 n U 5 - R 4 - C \r \r # A l t o
0000140 C o n s t s 2 3 . m u ; \r \r $ R
0000160 M R \t $ L 2 0 0 1 3 , 0 0 0 0
0000200 0 , 1 2 4 0 0 0 ; \t S e t R
0000220 e s e t M o d e R e g i s t
0000240 e r . D F 1 = 1 3 \r \r ;
0000260 A C B i n d i c e s \r $ i d x
0000300 L i n k \t $ 0 ; \r $ i d x L e n
0000320 g t h \t $ 1 ; \r $ i d x C m d \t
0000340 $ 2 ; \r $ i d x D a t a \t $ 3 ;
0000360 \r $ i d x F 1 \t $ 4 ; \r $ i d x
0000400 F A c c 1 \t $ 5 ; \r $ i d x F 2
0000420 \t $ 6 ; \r $ i 376 001 \0 377 036 d x F A
0000440 c c 2 \t $ 7 ; \r $ i d x S a m p
0000460 l e s \t $ 1 0 ; \r \r $ c m d A d
0000500 c \t $ 1 ; \r $ c m d D a c \t $ 2
0000520 ; \r $ c m d T o n e \t $ 3 ; \r $
0000540 c m d A d c P a c k e d \t $ 4 ;
0000560 \r $ c m d D a c P a c k e d \t $
0000600 5 ; \r $ c m d A d c U 2 5 5 \t $
0000620 6 ; \r $ c m d D a c U 2 5 5 \t $
0000640 7 ; \r \r $ V e r s i o n \t $ 5 ;
0000660 \t " m a j o r " v e r s i o n
0000700 o n l y \r \r ; C o n s t a n
0000720 t s f o r C A T \r $ O R E M
0000740 a s k \t $ 4 0 0 0 ; \r $ D a t a
0000760 M a s k \t $ 1 7 0 0 0 0 ; \r $ S
0001000 t r o b e \t $ 1 ; \t c o m m a n
0001020 d w o r d s t r o b 376 001 \0 +
0001040 < e \r \r ; R - S r e g i s t
0001060 e r s \r $ A C 3 \t $ R 0 ; \r $ A
0001100 C 2 \t $ R 1 ; \r $ A C 1 \t $ R 2
0001120 ; \r $ A C 0 \t $ R 3 ; \r \r ; N
0001140 W W \t $ R 4 ; \t c o m m e n t s
0001160 r e p r e s e n t u n a v a
0001200 i l a b l e r e g i s t e r s
0001220 \r ; T E M P \t $ R 5 ; \r ; P
0001240 C \t $ R 6 ; \r ; ? ? \t $ R 7 -
0001260 1 0 ; \r ; I / O \t $ R 1 1 - 1
0001300 3 ; \t C L O C K T E M P ( R 1
0001320 1 ) i s a v a i l a b l e \r
0001340 $ R D a t a \t $ R 1 1 ; \t i n p
0001360 u t a s s e m b l y r e g i
0001400 s t e r \r \r $ T e m p \t $ R 1 4
0001420 ; \t t e m p , c a n r e c e
0001440 i 376 001 \0 k 261 v e o u t p u t
0001460 o f s h i f t e r \r $ u t V a
0001500 l \t $ R 1 4 ; \t T e m p \r \r ;
0001520 M e s a \t $ R 1 5 \r $ s t k p \t
0001540 $ R 1 6 ; \r ; M e s a \t $ R 1
0001560 7 ; \r ; D i s p l a y \t $ R 2
0001600 0 - 2 4 \r $ S i l 2 \t $ R 2 1 ;
0001620 \t o n c e u s e d b y d i
0001640 s p l a y ( C U R D A T A ) \r
0001660 \r $ M T E M P \t $ R 2 5 ; \t a v
0001700 a i l a b l e b e t w e e n
0001720 T A S K s w i t c h e s , c
0001740 a n r e c e i v e o u t p u
0001760 t o f s h i f t e r \r \r ;
0002000 D i s p l a y \t $ R 2 6 - 2 7 \r
0002020 $ S i l 1 \t $ R 2 6 ; \t o n c e
0002040 u s e d 376 001 \0 f 335 b y d i
0002060 s p l a y ( H T A B ) \r \r ;
0002100 D i s k \t $ R 3 0 - 3 4 \r ; B
0002120 i t B l t \t $ R 3 5 - 3 6 \r \r $
0002140 M r t \t $ R 3 7 ; \r $ L A S T L
0002160 \t $ R 4 0 ; \t s a m e a s M
0002200 \r $ L a s t L \t $ R 4 0 ; \r \r ;
0002220 M e s a \t $ R 4 1 ; \r ; B i
0002240 t B l t \t $ R 4 2 - 4 3 ; \r ;
0002260 M e s a \t $ R 4 4 - 4 7 ; \r ;
0002300 B i t B l t \t $ R 5 0 ; \r ; M
0002320 e s a \t $ R 5 1 - 5 7 ; \r \r $ s
0002340 t k 0 \t $ R 6 0 ; \r $ s t k 1 \t
0002360 $ R 6 1 ; \r $ s t k 2 \t $ R 6 2
0002400 ; \r $ s t k 3 \t $ R 6 3 ; \r $ s
0002420 t k 4 \t $ R 6 4 ; \r $ s t k 5 \t
0002440 $ R 6 5 ; \r $ s t k 6 376 001 \0 $ 220
0002460 \t $ R 6 6 ; \r $ s t k 7 \t $ R 6
0002500 7 ; \r ; M e s a \t $ R 7 0 ; \r
0002520 \r $ A C B 1 \t $ R 7 1 ; \t C u r
0002540 r e n t A C B f o r l i s
0002560 t 1 \r $ A C B 2 \t $ R 7 2 ; \t
0002600 C u r r e n t A C B f o r
0002620 l i s t 2 \r $ I n d e x \t $ R
0002640 7 3 ; \t 0 f o r l i s t 1
0002660 , 1 f o r l i s t 2 \r $
0002700 D a t a \t $ R 7 4 ; \t w o r k i
0002720 n g r e g i s t e r s f o r
0002740 p e r f o r m i n g a u d i
0002760 o t a s k f u n c t i o n s
0003000 \r $ S a m p l e s \t $ R 7 5 ; \r
0003020 $ A C B \t $ R 7 6 ; \t c u r r e
0003040 n t A C B , i n D o A u d
0003060 376 001 \0 200 032 i o R o u t i n e \r
0003100 $ u t E x p \t $ R 7 6 ; \t A C B
0003120 \r $ N C V a l u e \t $ R 7 7 ; \t
0003140 i n t e r m e d i a t e v a l
0003160 u e i n N C O t w o - t o
0003200 n e c o m p u t a t i o n \r $
0003220 W D a t a \t $ R 7 7 ; \t o u t p
0003240 u t w o r d r e g i s t e r
0003260 \r $ u t S i g n \t $ R 7 7 ; \t N
0003300 C V a l u e \r \r $ L e f t M a s
0003320 k \t $ 1 7 7 4 0 0 ; \r \r ; ; D
0003340 C S , J u l y 2 1 , 1 9 7
0003360 8 1 1 : 5 5 A M , e x t
0003400 r a c t f r o m c o r r e s
0003420 p o n d i n g A u b u r n . .
0003440 . M c - . . . f i l e s \r ; ;
0003460 M a y 376 001 \0 7 d 2 1 , 1 9
0003500 7 9 9 : 0 7 A M , f o r
0003520 v e r s i o n R 4 - C \r ; ;
0003540 M a y 2 4 , 1 9 7 9 5
0003560 : 2 3 P M , u s e X M e s
0003600 a ' s v e r s i o n o f e
0003620 m u l a t o r e n t r y p o
0003640 i n t \r ; ; O c t o b e r 1
0003660 5 , 1 9 7 9 1 : 4 5 P M
0003700 a d d e d s i l e n c e r
0003720 e g i s t e r s \r ; ; L . S
0003740 t e w a r t , M a r c h 1 6
0003760 , 1 9 8 0 5 : 3 9 P M
0004000 a d d e d F o r m a t t i n g
0004020 \r ; ; L . S t e w a r t ,
0004040 M a r c h 1 7 , 1 9 8 0
0004060 1 : 3 8 P M C A 376 001 \0 % 204 T
0004100 c o p y \r 032 ( 0 , 6 5 2 6 ) (
0004120 1 , 1 1 2 6 4 ) \ f 1 5 3 5 f
0004140 0 1 f 1 9 f 0 1 f 1 9 f
0004160 0 1 f 1 9 f 0 1 f 1 7 4
0004200 f 0 1 f 1 9 f 0 1 f 1 1
0004220 3 f 0 1 f 1 8 1 f 0 1 f 1
0004240 6 7 f 0 1 f 1 1 0 f 0 1
0004260 f 1 1 2 f 0 1 f 1 2 9 f 0
0004300 1 f 1 4 4 f 0 1 f 1 9 3
0004320 f 0 1 f 1 4 1 f 0 1 f 1
0004340 3 0 f 0 1 f 1 1 2 f 0 1 f
0004360 1 3 6 f 0 1 f 1 3 0 f 0
0004400 1 f 1 3 0 f 0 1 f 1 1 5 f
0004420 0 1 f 1 1 1 f 0 1 f 1 1
0004440 1 f 0 1 f 1 1 1 f 0 1 f 1
0004460 1 1 f 0 1 f 1 1 1 f 0 376
0004500 \0 L z 321 1 f 1 1 1 f 0 1 f 1
0004520 1 1 f 0 1 f 1 1 2 f 0 1
0004540 f 1 1 2 f 0 1 f 1 3 4 f 0
0004560 1 f 1 3 5 f 0 1 f 1 3 8
0004600 f 0 1 f 1 6 8 f 0 1 f 1 \r
0004620 377 \0 \0 C A T I I M R T . m u \0 376
0004640 001 \0 B 033 ; C A T I I M R T . m
0004660 u D i a b l o P o r t A
0004700 u d i o T e r m i n a l M R
0004720 T f o r A l t o I I \r ;
0004740 L a s t m o d i f i e d
0004760 b y L . S t e w a r t D e
0005000 c e m b e r 2 9 , 1 9 7 9
0005020 8 : 4 7 P M \r ; t
0005040 o i n c l u d e c a l l t
0005060 o A u d i o T e s t . M o
0005100 u s e c o d e r e t u r n s
0005120 t o T X 0 , \r ; a
0005140 d d e d T A S K t o m o u
0005160 s e c o d e \r \r ; C P D i s
0005200 p M R T . m u - - M R T m
0005220 o d i f i e d t o r u n o
0005240 n C o 376 001 \0 301 310 m m P r o c -
0005260 b a s e d A l t o G a t e w
0005300 a y \r ; \t a n d t o a c c o
0005320 m p a n y r e w r i t t e n
0005340 d i s p l a y m i c r o c o d
0005360 e ( G a t e D i s p l a y . m
0005400 u ) \r \r ; * * * * M e m o r
0005420 y R e f r e s h t a s k *
0005440 * * * \r ; T h i s i s t h
0005460 e M R T f o r A l t o I
0005500 I s w i t h E x t e n d e d
0005520 M e m o r y ( 1 6 K c h i
0005540 p s ) . \r ; I t i s m o d
0005560 i f i e d t o a b o l i s h
0005600 t h e I n t e r v a l T i
0005620 m e r a n d e l i m i n a t
0005640 e C L O C K T E 376 001 \0 376 M P
0005660 , a n d \r ; d o a w a y
0005700 w i t h c u r s o r p r o c
0005720 e s s i n g ( n o w d o n e
0005740 b y t h e c u r s o r t
0005760 a s k i t s e l f ) . \r ; (
0006000 A c t u a l l y , t h e r e
0006020 i s n o t h i n g a b o u t
0006040 t h i s M R T t h a t h
0006060 a s a n y t h i n g d i r e
0006100 c t l y t o \r ; d o w i t
0006120 h t h e C o m m P r o c ,
0006140 b u t i t i s n a m e d
0006160 C P M R T t o d i s t i n g
0006200 u i s h i t f r o m \r ; E
0006220 I A M R T , w h i c h i s
0006240 s p e c i a l i z e d t o 376 001
0006260 \0 257 g t h e E I A b o a r
0006300 d . ) \r \r ! 1 7 , 2 0 , T X 0 ,
0006320 T X 6 , T X 3 , T X 2 , T X 8 ,
0006340 T X 5 , T X 1 , T X 7 , T X 4 ,
0006360 , , , , , , ; \r \r ! 1 , 2 , N O
0006400 C L K , C L O C K ; \r \r $ M T E
0006420 M P \t $ R 2 5 ; \r $ R 3 7 \t $ R
0006440 3 7 ; \r $ R E F I I M S K \t $ 7
0006460 7 7 7 ; \r \r ; T h i s v e r
0006500 s i o n a s s u m e s M R T
0006520 A C T i s c l e a r e d b
0006540 y B L O C K , n o t M A R
0006560 _ R 3 7 \r ; R 3 7 [ 4 - 1
0006600 3 ] a r e t h e l o w b
0006620 i t s o f t h e T O D c
0006640 l o c k \r ; R 3 7 [ 8 - 1 4
0006660 ] a 376 001 \0 221 035 r e t h e r
0006700 e f r e s h a d d r e s s b
0006720 i t s \r ; E a c h t i m e
0006740 M R T r u n s , f o u r r
0006760 e f r e s h a d d r e s s e s
0007000 a r e g e n e r a t e d ,
0007020 t h o u g h \r ; R 3 7 i s
0007040 i n c r e m e n t e d o n l y
0007060 o n c e . S p r i n k l e
0007100 d t h r o u g h o u t t h e
0007120 e x e c u t i o n \r ; o f
0007140 t h i s c o d e a r e t h
0007160 e f o l l o w i n g o p e r
0007200 a t i o n s h a v i n g t o
0007220 d o w i t h r e f r e s h
0007240 : \r ; \t M A R _ R 3 7 \r ; \t R
0007260 3 7 _ R 3 7 376 001 \0 271 o + 4 \t
0007300 N O T E T H A T R 3 7 [ 1
0007320 4 ] D O E S N O T C H A N
0007340 G E \r ; \t M A R _ R 3 7 X O
0007360 R 2 \t T O G G L E S B I T
0007400 1 4 \r ; \t M A R _ R 3 7 X O
0007420 R 2 0 0 \t T O G G L E S B I
0007440 T 8 \r ; \t M A R _ R 3 7 X
0007460 O R 2 0 2 \t T O G G L E S B
0007500 I T S 8 A N D 1 4 \r \r M R
0007520 T : \t M A R _ R 3 7 ; \t * * F
0007540 I R S T R E F R E S H C Y C
0007560 L E * * \r \t S I N K _ M O U S
0007600 E , B U S ; \t M O U S E D A
0007620 T A I S A N D E D W I T H
0007640 1 7 B \r M R T A : \t L _ T _
0007660 - 2 , : T X 0 ; \t D I 376 001 \0
0007700 337 020 S P A T C H O N M O U S
0007720 E C H A N G E \r T X 0 : \t N O
0007740 P , : A u d i o T e s t ; \t C
0007760 a l l A u d i o c o d e . \r
0010000 A T D o n e : \t T _ R 3 7 ; \t
0010020 I N C R E M E N T C L O C K \r
0010040 \t T _ 3 + T + 1 ; \t I E . T
0010060 _ T + 4 . \r \t L _ R E F I
0010100 I M S K A N D T ; \t Z E R O
0010120 H I G H 4 B I T S \r \t R 3
0010140 7 _ L ; \t S T O R E U P D
0010160 A T E D C L O C K \r \t T _ 2
0010200 ; \t N O S T A T E A T T H
0010220 I S P O I N T I N P U B L
0010240 I C R E G S \r \t M A R _ R 3
0010260 7 X O R T , T _ R 3 7 ; \t
0010300 * * 376 001 \0 242 256 S E C O N D R E
0010320 F R E S H C Y C L E * * \r \t L
0010340 _ R E F Z E R O A N D T ;
0010360 \t O N L Y T H E C L O K C K
0010400 B I T S , P L E A S E \r \t S
0010420 H = 0 , T A S K ; \t T E S T
0010440 F O R C L O C K O V E R F L
0010460 O W \r \t : N O C L K ; \t [ N O C
0010500 L K , C L O C K ] \r N O C L K :
0010520 \t T _ 2 0 0 ; \r \t M A R _
0010540 R 3 7 X O R T ; \t * * T H I
0010560 R D F E F R E S H C Y C L E
0010600 * * \r \t T _ 2 O R T , B
0010620 L O C K ; \t C L E A R S W A K
0010640 E U P R E Q U E S T F F \r \t
0010660 M A R _ R 3 7 X O R T ; \t
0010700 * * F O U R T 376 001 \0 t 327 H R E
0010720 F R E S H C Y C L E * * \r \t T
0010740 A S K ; \r \t : M R T ; \t E N D
0010760 O F M A I N L O O P \r ; M
0011000 e m o r y R e f r e s h T a
0011020 s k ( c o n t ' d ) \r \r C L O
0011040 C K : \t M A R _ C L O C K L O
0011060 C ; \t \t R 3 7 O V E R F L O W
0011100 E D . \r \t N O P ; \r \t L _ M D
0011120 + 1 ; \t \t I N C R E M E N T C
0011140 L O C K I M M E M O R Y \r \t
0011160 M A R _ C L O C K L O C ; \r \t
0011200 M T E M P _ L , T A S K ; \r
0011220 \t M D _ M T E M P , : N O C
0011240 L K ; \r \r ; A F T E R T H I S
0011260 D I S P A T C H , T W I L
0011300 L C O N T A I N X C 376 001 \0 K
0011320 x H A N G E , L W I L L C
0011340 O N T A I N Y C H A N G E - 1
0011360 \r \r T X 1 : \t L _ T _ O N E
0011400 + T , : M 0 0 ; \t \t Y = 0 ,
0011420 X = 1 \r T X 2 : \t L _ T _
0011440 A L L O N E S , : M 0 0 ; \t \t
0011460 Y = 0 , X = - 1 \r T X 3 : \t L
0011500 _ T _ 0 , : M 0 0 ; \t \t Y
0011520 = 1 , X = 0 \r T X 4 : \t L _
0011540 T _ O N E A N D T , : M
0011560 0 0 ; \t \t Y = 1 , X = 1 \r T X
0011600 5 : \t L _ T _ A L L O N E S
0011620 X O R T , : M 0 0 ; \t Y =
0011640 1 , X = - 1 \r T X 6 : \t T _
0011660 0 , : M 0 0 ; \t \t Y = - 1 ,
0011700 X = 0 \r T X 7 : \t T _ O N E ,
0011720 376 001 \0 272 005 : M 0 0 ; \t \t Y = -
0011740 1 , X = 1 \r T X 8 : \t T _ A
0011760 L L O N E S , : M 0 0 ; \t \t Y
0012000 = - 1 , X = - 1 \r \r M 0 0 : \t
0012020 M A R _ M O U S E L O C ; \t \t
0012040 S T A R T T H E F E T C H
0012060 O F T H E C O O R D I N A T
0012100 E S \r \t M T E M P _ L ; \t \t Y
0012120 C H A N G E - 1 \r \t L _ M D
0012140 + T ; \t \t X + X C H A N G E
0012160 \r \t T _ M D ; \t \t Y \r \t T _
0012200 M T E M P + T + 1 ; \t \t Y +
0012220 ( Y C H A N G E - 1 ) + 1 \r
0012240 \t M T E M P _ L , L _ T ;
0012260 \r \t T _ R 3 7 ; \t \t S a v e
0012300 R 3 7 f o r u s e a s t
0012320 e m p \r \t M 376 \0 220 336 i A R _ M
0012340 O U S E L O C ; \t \t N O W R E
0012360 S T O R E T H E U P D A T E
0012400 D C O O R D I N A T E S \r \t R
0012420 3 7 _ L , L _ T ; \r \t M D
0012440 _ M T E M P ; \r \t M D _ R 3
0012460 7 , T A S K ; \r \t R 3 7 _ L
0012500 , : T X 0 ; \t \t R e s t o r e
0012520 R 3 7 \r 032 ( 0 , 5 3 7 6 ) ( 1
0012540 , 1 1 2 6 4 ) \ f 1 \r 377 \0 \0 c a
0012560 t m c . m u \0 376 001 \0 371 1 ; M i
0012600 c r o c o d e f o r r u n n
0012620 i n g A l t o I I C A T \r
0012640 \r ; ~ ~ e x t r a r u l e
0012660 : o n l y o n e l i s t
0012700 a t a t i m e m a y b e
0012720 i s s u i n g T o n e s ! \r
0012740 032 ( 0 , 5 3 7 6 ) ( 1 , 1 1 2 6
0012760 4 ) \ f 1 \r ; I n t e r f a c
0013000 e t o A u d i o T a s k \r
0013020 ; C l i e n t S p e c i f i
0013040 e s a n a c b l i s t u
0013060 s i n g A u d i o L i s t o
0013100 r M A u d i o L i s t ( s e
0013120 e b e l o w ) , s u p p l y
0013140 i n g a l i s t \r ; \t o f
0013160 a c b s a n d a n 376 001 \0 206
0013200 265 i n d e x . \r ; \t i n d e x
0013220 i s 0 o r 1 , a l l o
0013240 w i n g t w o p a r a l l e
0013260 l a c t i v i t i e s \r ; C
0013300 l i e n t c a n a u g m e n
0013320 t a l i s t u s i n g A
0013340 u d i o L i n k o r M A u d
0013360 i o L i n k ( s e e b e l o
0013400 w ) ; \r ; \t I f o l d A C B
0013420 h a s c o m p l e t e d ( #
0013440 s a m p l e s w o r d i s
0013460 0 ) , t h i s r e t u r n
0013500 s f a l s e \r ; A C B f o
0013520 r m a t : \r ; \t 0 \t i d x L i n
0013540 k \t - > n e x t A C B ( M
0013560 U S T B E O N E V E N W
0013600 O 376 001 \0 ' 255 R D B O U N D A R
0013620 Y ) \r ; \t 1 \t i d x L e n g t h
0013640 \t # o f s a m p l e s i n
0013660 t h i s b l o c k ( c l i
0013700 e n t i n i t i a l i z e s )
0013720 \r ; \t 2 \t i d x C m d \t C o m m
0013740 a n d \r ; \t 3 \t i d x D a t a \t
0013760 A d d r e s s o f l a s t
0014000 w o r d o f d a t a b l o
0014020 c k ( 1 s t w o r d o f
0014040 w a v e f o r m b l o c k f
0014060 o r T o n e ) \r ; \t ( 4 \t i d
0014100 x F 1 \t F r e q u e n c y 1
0014120 f o r t o n e ) \r ; \t ( 5 \t i
0014140 d x F A c c 1 \t A c c u m u l a
0014160 t o r f o r s a m e - -
0014200 u s e d b 376 001 \0 243 356 y t a s
0014220 k o n l y ) \r ; \t ( 6 \t i d x
0014240 F 2 \t F r e q u e n c y 2 ) \r
0014260 ; \t ( 7 \t i d x F A c c 2 \t A c
0014300 c u m u l a t o r f o r s a
0014320 m e - - u s e d b y t a
0014340 s k o n l y ) \r ; \t 1 0 \t i d
0014360 x S a m p l e s \t # s a m p l
0014400 e s l e f t i n t h i s
0014420 b l o c k ( c l i e n t i n
0014440 i t s i f d e s i r e d ,
0014460 t a s k r e i n i t s a n d
0014500 d e c r e m e n t s ) \r \r ;
0014520 C o m m a n d s : \r ; \t 1 \t A d
0014540 c \t I n p u t s a m p l e s
0014560 t o d a t a b l o c k , o
0014600 n e 1 6 - b i t ( 376 001 \0 i 351
0014620 1 2 s i g n i f i c a n t )
0014640 s a m p l e p e r w o r d \r
0014660 ; \t 2 \t D a c \t O u t p u t s
0014700 a m p l e s f r o m d a t a
0014720 b l o c k , o n e 1 6 - b
0014740 i t s a m p l e p e r w o
0014760 r d \r ; \t 3 \t T o n e \t O u t
0015000 p u t @ i d x L e n g t h s
0015020 a m p l e s o f t h e s u
0015040 m o f t w o t o n e s ,
0015060 w h o s e f r e q u e n c i e
0015100 s a n d \r ; \t \t \t s a m p l e
0015120 w a v e f o r m s a r e g
0015140 i v e n ( m o r e b e l o w
0015160 ) \r ; \t 4 \t A d c P a c k e d \t
0015200 I n p u t d a t a b l o c k
0015220 376 001 \0 ) , , t w o 8 - b i t
0015240 s a m p l e s p e r w o r
0015260 d - - @ i d x L e n g t h
0015300 m u s t b e e v e n \r ; \t 5
0015320 \t D a c P a c k e d \t O u t p u
0015340 t d a t a b l o c k , t w
0015360 o 8 - b i t s a m p l e s
0015400 p e r w o r d - - @ i d x
0015420 L e n g t h e v e n \r ; \t 6 \t
0015440 A d c U 2 5 5 \t I n p u t d a
0015460 t a b l o c k , t w o 8 -
0015500 b i t s a m p l e s p e r
0015520 w o r d \r ; \t \t \t i n u - 2 5
0015540 5 l a w c o d i n g - -
0015560 @ i d x L e n g t h m u s t
0015600 b e e v e n \r ; \t 7 \t D a c U
0015620 2 5 5 \t O 376 001 \0 253 322 u t p u t
0015640 d a t a b l o c k , t w o
0015660 8 - b i t s a m p l e s p e
0015700 r w o r d \r ; \t \t \t i n u -
0015720 2 5 5 l a w c o d i n g -
0015740 - @ i d x L e n g t h e v e
0015760 n \r 032 ( 0 , 3 8 7 2 ) ( 1 , 5 0
0016000 2 4 ) ( 2 , 7 8 0 8 ) \ f 1 \r ;
0016020 \f \r ! 1 , 2 , D o A u d i o 1
0016040 , N o A c t i v i t y 1 ; \r !
0016060 1 , 2 , D o A u d i o 2 , A
0016100 u d i o I d l e 2 ; \r ! 1 , 2 ,
0016120 D i s p a t c h , A d v a n
0016140 c e ; \r ! 1 , 2 , A u d i o I
0016160 d l e , R e t u r n F r o m 1
0016200 ; \r ! 1 , 2 , S a v e S i l 2
0016220 , S a v e S i l 1 ; 376 001 \0 377 H \r
0016240 ! 1 , 2 , S e t S p e c i f i
0016260 c 2 , S e t S p e c i f i c 1
0016300 ; \r ! 1 , 2 , S e t D i s p a
0016320 t c h , E m p t y ; \r \r ! 7 ,
0016340 1 0 , I g l C m d , A d c ,
0016360 D a c , T o n e , A d c P
0016400 a c k e d , D a c P a c k e d
0016420 , A d c U 2 5 5 , D a c U 2
0016440 5 5 ; \r \r A u d i o S t a r t :
0016460 \t L _ 0 ; \t N o a c t i v i t
0016500 y \r \t A C B 1 _ L ; \r \t A C B 2
0016520 _ L , T A S K ; \r \t W D a t a
0016540 _ L ; \r \r \t T _ 1 7 7 0 0
0016560 0 ; \t C l e a r r e a d y b
0016600 i t i n h a r d w a r e \r \t
0016620 M A R _ 1 6 + T ; \r \t 376
0016640 001 \0 024 C L _ S t r o b e ; \r
0016660 \t M D _ L a s t L ; \r \t M A
0016700 R _ 1 6 + T ; \r \t L _
0016720 0 , T A S K ; \r \t M D _
0016740 L a s t L , : M R T ; \r \r A u d
0016760 i o I d l e : \t T A S K , : I
0017000 d l e ; \r A u d i o I d l e 2 :
0017020 \t T A S K , : I d l e ; \r I d
0017040 l e : \t N O P , : A T D o n e
0017060 ; \r \r A u d i o R e a l : \t T _
0017100 A C B 1 , B U S = 0 ; \r \t N O
0017120 P , : D o A u d i o 1 ; \t ! 1 ,
0017140 2 , D o A u d i o 1 , N o A c
0017160 t i v i t y 1 ; \r R e t u r n F
0017200 r o m 1 : \r \t T _ A C B 2 , B
0017220 U S = 0 , : N o A c t i v i t
0017240 y ; \r N 376 001 \0 274 ~ o A c t i v i
0017260 t y 1 : \r \t T _ A C B 2 , B U
0017300 S = 0 ; \r N o A c t i v i t y :
0017320 \t N O P , : D o A u d i o 2 ; \t
0017340 ! 1 , 2 , D o A u d i o 2 , A
0017360 u d i o I d l e 2 ; \r \r ; T
0017400 = A C B , L = i n d e x \r D
0017420 o A u d i o 1 : \t M A R _ i d x
0017440 S a m p l e s + T ; \r \t L _ 0 ,
0017460 : D o A u d i o ; \r D o A u d
0017500 i o 2 : \t M A R _ i d x S a m p
0017520 l e s + T ; \r \t L _ 0 + 1 ; \r D
0017540 o A u d i o : \t I n d e x _ L ,
0017560 L _ T ; \r \t A C B _ L ; \r \t L
0017600 _ M D - 1 ; \r R e d i s p a t c
0017620 h : \t M A R _ i d x C m d + T ;
0017640 \r \t S a m p l e s 376 001 \0 * 020 _ L
0017660 , S H < 0 ; \r \t L _ M D , :
0017700 D i s p a t c h ; \t ! 1 , 2 , D
0017720 i s p a t c h , A d v a n c e
0017740 ; R e a d C m d \r D i s p a
0017760 t c h : \t T _ M D ; R e a d
0020000 D a t a \r \t T e m p _ L , L _ T
0020020 , T A S K ; \r \t D a t a _ L ;
0020040 \t * * ( * * ) \r ; \t S e e m e
0020060 d t o b e n o r e a s o
0020100 n n o t t o d o t h i s
0020120 r i g h t a w a y . \r \t T _
0020140 A C B ; \r \t M A R _ i d x S a m
0020160 p l e s + T ; \r \t N O P , T A
0020200 S K ; \r \t M D _ S a m p l e s ;
0020220 \r \t S I N K _ T e m p , B U S
0020240 ; \r \t L _ T _ S a m p l e s 376 001
0020260 \0 233 [ , : I g l C m d ; [ I
0020300 g l C m d , A d c , D a c ,
0020320 T o n e , . . . ] ; S
0020340 a m p l e s u s u a l l y n
0020360 e e d e d \r \r ; T h i s r
0020400 o u t i n e s i m p l i f i e
0020420 d b y m o v i n g S a m p
0020440 l e s u p d a t e i n t o
0020460 D i s p a t c h a b o v e . \r
0020500 R o u t D o n e : \t S I N K _ I
0020520 n d e x , B U S = 0 , T A S
0020540 K ; \r \t N O P , : A u d i o I
0020560 d l e ; \t ! 1 , 2 , A u d i o I
0020600 d l e , R e t u r n F r o m 1
0020620 ; * * \r \r A d v a n c e : \r ;
0020640 C o d e t o w r i t e t
0020660 o c 376 001 \0 241 333 u r s o r f o
0020700 r t e s t i n g \r ; \t T _ 2 ;
0020720 \r ; \t M A R _ C L O C K L O
0020740 C + T ; \r ; \t N O P ; \r ; \t M D
0020760 _ S i l 1 , T A S K ; \r ; \t M D
0021000 _ S i l 2 ; \r \t T _ i d x F 1 ;
0021020 \t s t o r a g e f o r s i l
0021040 e n c e d e t e c t i o n r
0021060 e s u l t \r \t M A R _ A C B + T
0021100 ; \t S a v e o l d s i l e n
0021120 c e r e g i s t e r a n d
0021140 c l e a r i t \r \t S I N K _ I
0021160 n d e x , B U S = 0 ; \r \t L _ 0
0021200 , : S a v e S i l 2 ; \t ! 1 , 2
0021220 , S a v e S i l 2 , S a v e S i
0021240 l 1 ; \r S a v e S i l 2 : \t M D
0021260 _ S i l 2 , T A 376 001 \0 376 R S K ;
0021300 \r \t S i l 2 _ L , : A d v C o m
0021320 ; \r S a v e S i l 1 : \t M D _ S
0021340 i l 1 , T A S K ; \r \t S i l 1 _
0021360 L , : A d v C o m ; \r \r A d v C
0021400 o m : \t M A R _ A C B ; \r \t N O
0021420 P ; \r \t L _ M D , T A S K ; \r
0021440 \t A C B _ L ; * * \r S e t D a
0021460 t a : \t L _ T _ A C B ; \r \t M A
0021500 R _ i d x L e n g t h + T ; \r \t
0021520 S I N K _ I n d e x , B U S =
0021540 0 ; \r \t S H = 0 , : S e t S p
0021560 e c i f i c 2 ; \t ! 1 , 2 , S e
0021600 t S p e c i f i c 2 , S e t S
0021620 p e c i f i c 1 ; \r S e t S p e
0021640 c i f i c 1 : \t A C B 1 _ L ,
0021660 : S e t D i s p a t c h ; 376 001 \0
0021700 ) 177 \t ! 1 , 2 , S e t D i s p a
0021720 t c h , E m p t y ; \r S e t S
0021740 p e c i f i c 2 : \t A C B 2 _ L
0021760 , : S e t D i s p a t c h ; \t
0022000 ! 1 , 2 , S e t D i s p a t c h
0022020 , E m p t y ; \r S e t D i s p
0022040 a t c h : \t L _ M D - 1 , : R
0022060 e d i s p a t c h ; \r \r E m p t
0022100 y : \t S I N K _ I n d e x , B
0022120 U S = 0 , T A S K ; \r \t N O P
0022140 , : A u d i o I d l e ; \t ! 1
0022160 , 2 , A u d i o I d l e , R e
0022200 t u r n F r o m 1 ; * * \r \f \r
0022220 ! 1 , 2 , D a c P l u s , D a c
0022240 M i n u s ; \r ! 1 , 2 , D a c C
0022260 o m 2 , D a c C o m 1 ; \r ! 1 ,
0022300 2 , 376 001 \0 366 ! W r i t e N o w
0022320 , W r i t e C y c l e d ; \r !
0022340 1 , 2 , J u s t W r i t e ,
0022360 R e a d C y c l e W r i t e ; \r
0022400 ! 1 , 2 , e W r i t e N o w , e
0022420 W r i t e C y c l e d ; \r \r ;
0022440 D a c m u s t c o n v e r t
0022460 t h e w o r d f r o m m
0022500 e m o r y t o u - 2 5 5 a
0022520 n d l e a v e i t i n W
0022540 D a t a \r D a c : \t M A R _ D a
0022560 t a - T ; \r \t N O P ; \r \t L _ T
0022600 _ M D , : u t E n c o d e ; \r
0022620 ; C a l l u t E n c o d e
0022640 t o c o n v e r t t h e
0022660 1 2 b i t v a l u e l e f
0022700 t j u s t i 376 001 \0 $ + f i e d
0022720 i n L a n d T \r ; i
0022740 n t o a u 2 5 5 b y t e
0022760 l e f t j u s t i f i e d i
0023000 n T e m p = u t V a l . r
0023020 e t u r n t o u t S t o r e
0023040 . \r u t S t o r e : \t L _ T e m
0023060 p , T A S K ; \r \t W D a t a _ L
0023100 , : R o u t D o n e ; \r \r ; A
0023120 d c m u s t a c c e p t c
0023140 o n v e r t t h e w o r d
0023160 i n R D a t a t o l i n e
0023200 a r a n d s t o r e i t
0023220 i n m e m o r y \r A d c : \t L
0023240 _ R D a t a , T A S K ; \r
0023260 \t T e m p _ L L C Y 8 ;
0023300 \r \t L _ T e m p , : 376 001 \0 \v
0023320 201 u t D e c o d e ; \r ; R o
0023340 u t i n e u t D e c o d e l
0023360 o g i c a l l y g o e s h e
0023400 r e . I t i s c a l l e
0023420 d w i t h t h e u 2 5 5
0023440 b y t e \r ; r i g h t j u
0023460 s t i f i e d i n L . A
0023500 v a i l a b l e r e g i s t e
0023520 r s a r e \r ; T e m p (
0023540 R ) , M T E M P ( R ) , N
0023560 C V a l u e ( S ) , A C B
0023600 ( S ) \r ; T e m p , A C B
0023620 , a n d N C V a l u e a r
0023640 e u s e d . \r ; u t D e c
0023660 o d e s h o u l d r e t u r
0023700 n t o u t S h i p i t w i
0023720 t 376 001 \0 310 362 h t h e 1 2 b
0023740 i t v a l u e l e f t j u
0023760 s t i f i e d \r ; i n u t
0024000 V a l = T e m p . \r u t S h i p
0024020 i t : \t T _ S a m p l e s ; \r \t
0024040 M A R _ D a t a - T ; \r \t N O P
0024060 ; \r \t T A S K ; \r \t M D _ T e m
0024100 p ; \r \t L _ T _ T e m p ; \r ;
0024120 E x p e c t s d a t a i n
0024140 b o t h L a n d T \r S D P
0024160 r o c : \t L _ 1 7 7 4 0 0 A N
0024200 D T , S H < 0 ; \r D a c C o m
0024220 : \t T e m p _ L L C Y 8
0024240 , : D a c P l u s ; \t ! 1 , 2 ,
0024260 D a c P l u s , D a c M i n u s
0024300 ; \r D a c M i n u s : \t L _ 0 -
0024320 T ; \r \t T _ 376 001 \0 ' r L A S T L
0024340 ; \r \t L _ 1 7 7 4 0 0 A N D
0024360 T , T A S K , : D a c C o m ; \r
0024400 D a c P l u s : \t S I N K _ I n
0024420 d e x , B U S = 0 ; \r \t T _ T e
0024440 m p , : D a c C o m 2 ; \t ! 1 ,
0024460 2 , D a c C o m 2 , D a c C o m
0024500 1 ; \r D a c C o m 1 : \t L _ S i
0024520 l 1 + T , T A S K ; \r \t S i l 1
0024540 _ L , : R o u t D o n e ; \r ;
0024560 T e s t c o d e , w r i t e
0024600 s t o c u r s o r \r ; \t T _
0024620 4 ; \r ; \t M A R _ C L O C K L O
0024640 C + T ; \r ; \t N O P ; \r ; \t N O
0024660 P , T A S K ; \r ; \t M D _ T e m
0024700 p , : R o u t D o n e ; \r D a c
0024720 C o m 2 : \t L _ S i l 376 001 \0 214 256
0024740 2 + T , T A S K ; \r \t S i l 2 _
0024760 L , : R o u t D o n e ; \r ; T
0025000 e s t c o d e , w r i t e s
0025020 t o c u r s o r \r ; \t T _ 5
0025040 ; \r ; \t M A R _ C L O C K L O C
0025060 + T ; \r ; \t N O P ; \r ; \t N O P
0025100 , T A S K ; \r ; \t M D _ T e m p
0025120 , : R o u t D o n e ; \r \r D a c
0025140 U 2 5 5 : \t T e m p _ L R S H
0025160 1 ; \t W o r d i n d e x f
0025200 o r n e x t s a m p l e \r \t
0025220 T _ T e m p ; \t S t a r t S t
0025240 o r e / F e t c h c y c l e \r
0025260 \t M A R _ D a t a - T ; \r \t T _
0025300 O N E ; \t O d d o r E v e n
0025320 t o L \r \t L _ L A S T L A
0025340 376 001 \0 315 A N D T ; \r \t T _ L e
0025360 f t M a s k , S H = 0 ; \r \t L
0025400 _ M D , : W r i t e N o w ; \t
0025420 ! 1 , 2 , W r i t e N o w , W
0025440 r i t e C y c l e d ; \r ; W r
0025460 i t e O d d s a m p l e \r W
0025500 r i t e C y c l e d : \r \t T e m
0025520 p _ L L C Y 8 ; \r \t L _ T e
0025540 m p A N D T , T A S K , :
0025560 S h i p I t ; \r W r i t e N o w
0025600 : \t L _ L A S T L A N D T ,
0025620 T A S K ; \r S h i p I t : \t W D
0025640 a t a _ L , : R o u t D o n e
0025660 ; \r \t \r A d c U 2 5 5 : \t T e m
0025700 p _ L R S H 1 ; \t W o r d
0025720 i n d e x f o r n e x t s
0025740 a m p l e 376 001 \0 X @ \r \t T _ O N
0025760 E ; \t O d d o r E v e n t
0026000 o L \r \t L _ L A S T L A N D
0026020 T ; \r \t T _ T e m p ; \t S t a
0026040 r t S t o r e / F e t c h c
0026060 y c l e \r \t M A R _ L _ D a t a
0026100 - T , S H = 0 ; \r \t N O P ,
0026120 : J u s t W r i t e ; ! 1 , 2
0026140 , J u s t W r i t e , R e a d
0026160 C y c l e W r i t e ; \r J u s t
0026200 W r i t e : \t M D _ L _ T _ R D
0026220 a t a ; \t M D = S 1 , , 0 \r
0026240 \t N O P , T A S K ; \r \t T e m p
0026260 _ L , : A d c P a c k e d C o
0026300 m ; \r R e a d C y c l e W r i t
0026320 e : \r \t T _ R D a t a ; \t S 2 ,
0026340 , 0 \r \t T e m p _ L 376 001 \0 355 356 ;
0026360 \t S a v e d a t a p o i n t
0026400 e r \r \t L _ T , T _ M D ; \t L
0026420 = S 2 , , 0 ; T = S 1 , ,
0026440 0 \r \t M T E M P _ L L C Y 8
0026460 ; \t M T E M P = 0 , , S 2 \r
0026500 \t M A R _ T e m p ; \r \t T e m p
0026520 _ L ; \t S a v e S 2 , , 0 \r \t
0026540 L _ M T E M P + T , T A S K ;
0026560 \t L = S 1 , , S 2 \r \t M D _
0026600 L A S T L ; \t * * \r ; T h e
0026620 b r a n c h t o S D P r o c
0026640 m u s t l o a d L a n d
0026660 T , f o r S H < 0 n e x
0026700 t c y c l e \r A d c P a c k e
0026720 d C o m : \r \t L _ T _ T e m p ,
0026740 : S D P r o c ; \r \r ; D a c 376
0026760 001 \0 327 027 P a c k e d c a n g
0027000 e t t h e b y t e l e f t
0027020 j u s t i f i e d i n L
0027040 a n d \r ; c a l l u t E n c
0027060 o d e \r D a c P a c k e d : \t T
0027100 e m p _ L R S H 1 ; \t W o r
0027120 d i n d e x f o r n e x t
0027140 s a m p l e \r \t T _ T e m p ;
0027160 \t S t a r t S t o r e / F e t
0027200 c h c y c l e \r \t M A R _ D a
0027220 t a - T ; \r \t T _ O N E ; \t O d
0027240 d o r E v e n t o L \r \t
0027260 L _ L A S T L A N D T ; \r \t
0027300 T _ L e f t M a s k , S H = 0
0027320 ; \r \t L _ M D , : e W r i t e
0027340 N o w ; \t ! 1 , 2 , e W r i t e
0027360 N o w , 376 001 \0 \b k e W r i t e C
0027400 y c l e d ; \r ; W r i t e O
0027420 d d s a m p l e \r e W r i t e
0027440 C y c l e d : \r \t T e m p _ L
0027460 L C Y 8 ; \r \t L _ T _ T e m p
0027500 . T , : u t E n c o d e ; \r e
0027520 W r i t e N o w : \t L _ T _ L A
0027540 S T L . T , : u t E n c o d e
0027560 ; \r \r ; A d c P a c k e d w
0027600 i l l n e e d a n o t h e r
0027620 c o p y o f u t D e c o d
0027640 e , a n d t h e n c a l l
0027660 A d c U 2 5 5 \r ; T h e a
0027700 d d i t i o n a l c o p y o
0027720 f u t D e c o d e i s c a
0027740 l l e d u t t D e c o d e a
0027760 n d i s i n 376 001 \0 y 214 u t
0030000 t 2 5 5 . m u \r A d c P a c k e
0030020 d : \t L _ R D a t a , T A S K ;
0030040 \r \t T e m p _ L L C Y 8 ; \r
0030060 \t L _ T e m p , : u t t D e c o
0030100 d e ; \r u t t S h i p i t : \t T
0030120 _ L e f t M a s k ; \r \t L _ L A
0030140 S T L A N D T , T A S K ; \r
0030160 \t R D a t a _ L ; \r \t L _ T _ S
0030200 a m p l e s , : A d c U 2 5 5 ;
0030220 \r \r I g l C m d : \t N O P , :
0030240 R o u t D o n e ; \r \f \r ; T h
0030260 e r e c a n b e b u t o
0030300 n e o f t h e s e a t a
0030320 t i m e . F 1 , F 2 , F
0030340 A c c 1 - 2 a r e F r e q u
0030360 e n c i e s ; \r ; D a 376 001
0030400 \0 217 206 t a i s a d d r e s s
0030420 o f 3 2 w o r d w a v e
0030440 f o r m a t c o r r e c t
0030460 a m p l i t u d e , f i l l e
0030500 d l a s t t o f i r s t \r
0030520 ; F 1 , F 2 , F A c c 1 -
0030540 2 a r e e x p r e s s e d
0030560 a s f i x e d - p o i n t f
0030600 r a c t i o n s w i t h t h
0030620 e p o i n t b e t w e e n
0030640 b i t s 2 a n d 3 . \r ;
0030660 F 1 - 2 a r e e x p r e s s
0030700 e d a s f r a c t i o n s
0030720 o f t h e s a m p l e r a
0030740 t e . T h e a s s i g n m e
0030760 n t \r ; \t F A c c x = F A c
0031000 c x 376 001 \0 $ 333 + F x y i e
0031020 l d s t h e p h a s e o f
0031040 t h e n e x t s a m p l e
0031060 i n F A c c x . \r ; T h e
0031100 h i g h - o r d e r 5 b i
0031120 t s o f t h i s f r a c t
0031140 i o n ( b i t s 3 - 7 ) a
0031160 r e u s e d t o i n d e x
0031200 a w a v e f o r m s a m p
0031220 l e t a b l e . \r ; O p e n
0031240 c o d e b o t h f e t c h
0031260 e s \r \r T o n e : \t T _ A C B ;
0031300 \r \t M A R _ i d x F 1 + T ; \r \t
0031320 N O P ; \r \t T _ M D ; \r \t L _ M
0031340 D + T ; \r \t T _ A C B ; \r \t M A
0031360 R _ i d x F A c c 1 + T ; \r \t T
0031400 e m p _ L L C 376 001 \0 237 027 Y 8
0031420 ; \r \t T A S K ; \r \t M D _ L A S
0031440 T L ; \t * * \r \t T _ T e m p ; \r
0031460 \t T _ 3 7 . T ; \r \t M A R _ D a
0031500 t a + T ; \r \t T _ A C B ; \r \t L
0031520 _ M D ; \r \t N C V a l u e _ L ;
0031540 \r \t M A R _ i d x F 2 + T ; \r \t
0031560 N O P ; \r \t T _ M D ; \r \t L _ M
0031600 D + T ; \r \t T _ A C B ; \r \t M A
0031620 R _ i d x F A c c 2 + T ; \r \t T
0031640 e m p _ L L C Y 8 ; \r \t T A
0031660 S K ; \r \t M D _ L A S T L ; \t *
0031700 * \r \t T _ T e m p ; \r \t T _ 3 7
0031720 . T ; \r \t M A R _ D a t a + T ;
0031740 \r \t T _ N C V a l u e ; \r \t L _
0031760 M D + T , : u t E n c o d e ; \r
0032000 \r ; T h i s c o d e 376 001 \0
0032020 k r u n s a s p a r t o
0032040 f M R T \r \r ! 1 , 2 , R e a d
0032060 y , N o t Y e t ; \r \r A u d i o
0032100 T e s t : \t T _ 1 7 7 0 0 0
0032120 ; \r \t M A R _ 3 0 + T ;
0032140 \r \t T _ O R E M a s k ; \t t
0032160 w o c y c l e s h e r e !
0032200 ( c o m p u t e p o r t o u t
0032220 ? ) \r \t L _ T _ M D A
0032240 N D T ; \r \t L _ D a t a M
0032260 a s k A N D T , S H = 0 ;
0032300 \r \t R D a t a _ L , : R e a
0032320 d y ; \t ! 1 , 2 , R e a d y , N
0032340 o t Y e t ; \r \r ; A t t h i
0032360 s p o i n t , t h e f i r
0032400 s t i n c o m i n g n i b b
0032420 l e 376 001 \0 273 327 i s l e f t
0032440 j u s t i f i e d i n R D a
0032460 t a \r \r N o t Y e t : \t T A S K
0032500 ; \r \t N O P , : A T D o n e ; \t
0032520 b a c k t o M R T \r \r ; O
0032540 n e n t r y a t R e a d y
0032560 , t h e o u t g o i n g b
0032600 y t e i s e x p e c t e d
0032620 l e f t j u s t i f i e d i
0032640 n W D a t a \r ; \t ( w i t h
0032660 p o s s i b l e g a r b a g e
0032700 i n r i g h t h a l f ) \r
0032720 ; O n e x i t , t h e i
0032740 n c o m i n g b y t e i s
0032760 r e t u r n e d l e f t j u
0033000 s t i f i e d i n R D a t a
0033020 \r \r R e a d y 376 001 \0 N 270 : \t ;
0033040 w r i t e d a t a \r \t T _
0033060 1 7 7 0 0 0 ; \r \t M A R _
0033100 1 6 + T ; \r \t T _ 1 7 7
0033120 4 0 0 ; \r \t L _ W D a t a
0033140 A N D T ; \r \t M D _ L a s
0033160 t L , T A S K ; \r \t W D a t a
0033200 _ L ; \r \r \t ; S t r o b e
0033220 i t i n \r \t T _ 1 7 7 0
0033240 0 0 ; \r \t M A R _ 1 6 +
0033260 T ; \r \t L _ W D a t a +
0033300 1 ; \t w e k n o w 1 i s
0033320 S t r o b e \r \t M D _ L a s
0033340 t L ; \r \r ; N o w r e a
0033360 d n e x t n i b b l e \r \t M
0033400 A R _ 3 0 + T ; \t # 1 7
0033420 7 0 3 0 \r \t T _ D a 376 001 \0 214
0033440 203 t a M a s k ; \r \t L _ M D
0033460 A N D T , T A S K ; \r \t T e
0033500 m p _ L ; \r \r ; T h e s
0033520 e c o n d i n c o m i n g n
0033540 i b b l e i s l e f t j u
0033560 s t i f i e d i n T e m p .
0033600 \r \r ; T u r n o f f s t
0033620 r o b e \r \t T _ 1 7 7 0 0 0
0033640 ; \r \t M A R _ 1 6 + T ;
0033660 \r \t L _ T e m p ; \t S t a r
0033700 t s h i f t i n g T e m p \r
0033720 \t T e m p _ L R S H 1 ;
0033740 \r \t M D _ W D a t a ; \r \r \t
0033760 L _ T e m p , T A S K ; \r
0034000 \t T e m p _ L R S H 1 ;
0034020 \r \t L _ T e m p , T A S K
0034040 ; 376 \0 340 m 274 \r \t T e m p _ L
0034060 R S H 1 ; \r \t L _ T e m
0034100 p , T A S K ; \r \t T e m p _
0034120 L R S H 1 ; \r \t T _ T
0034140 e m p ; \r \t L _ R D a t a
0034160 O R T , T A S K ; \r \t R D a
0034200 t a _ L , : A u d i o R e
0034220 a l ; \r \r ; ; M a r c h 1 7
0034240 , 1 9 8 0 1 2 : 2 2 P M
0034260 , L . S t e w a r t , M o
0034300 d i f i e d f r o m A u b u
0034320 r n M c - u 5 - r 4 . m u f o
0034340 r C A T . \r 032 ( 0 , 5 3 7 6 )
0034360 ( 1 , 1 1 2 6 4 ) ( 2 , 6 5 5 3
0034400 5 ) \ f 1 \r 377 \0 \0 c a t m e s a
0034420 m c . m u \0 376 001 \0 204 } ; M e s a
0034440 - S p e c i f i c M i c r o c
0034460 o d e f o r r u n n i n g
0034500 A l t o I I C A T \r \r ; I
0034520 n t e n d e d f o r u s e
0034540 w i t h X M E S A 4 . 1 a
0034560 n d l a t e r r e l e a s e
0034600 s \r \r ; M i c r o c o d e c
0034620 o m m a n d f i l e f o r
0034640 A u d i o T e r m i n a l \r ;
0034660 M U / l C a t M e s a M c .
0034700 m u \r ; P a c k M u C a t M
0034720 e s a M c . m b A u b u r n M
0034740 e s a M c - U 5 - R 4 . b r 1
0034760 6 0 3 7 6 A u b u r n 5 4 I m
0035000 a g e \r \r ; T a s k a s s
0035020 i g n m e n t s \r % 1 376 001 \0 & 265
0035040 7 , 1 7 7 7 , 0 , N o v a B o
0035060 o t , L 1 , L 2 , L 3 , L 4 ,
0035100 L 5 , L 6 , L 7 , A u d i o
0035120 S t a r t , D W T , C U R T
0035140 , D H T , D V T , L 1 5 ,
0035160 L 1 6 , L 1 7 ; \r ; M E
0035200 S A e m u l a t o r - r o u t
0035220 i n e e n t r y p o i n t s
0035240 . \r % 1 7 , 1 7 7 7 , 6 0 0 ,
0035260 S i l e n t B o o t , M A u
0035300 d i o P a r a m , M A u d i o
0035320 M u x , M A u d i o P h o n e
0035340 , M A u d i o R T o n e s , \r
0035360 \t M A u d i o S w i t c h , M
0035400 A u d i o L i s t , M A u d i
0035420 o L i n k , M A u d i o C u r
0035440 376 001 \0 213 \r r e n t , M A u d i
0035460 o V e r s i o n , \r \t M A u d i
0035500 o R P h o n e ; \r \r ; A d d r
0035520 e s s d e f i n i t i o n f
0035540 o r N o v a E m u l a t o r
0035560 m a i n l o o p i n R O
0035600 M 0 \r \r $ S T A R T \t $ L 0 0 4
0035620 0 2 0 , 0 0 0 0 0 0 , 0 0 0 0 0
0035640 0 ; \r \r # C a t C o n s t s M c
0035660 . m u ; \r \r L 1 : T A S K ,
0035700 : L 1 ; - - b e s u r e
0035720 X M E S A s t a r t s a t
0035740 2 0 \r L 2 : T A S K , : L 2
0035760 ; \r L 3 : T A S K , : L 3 ;
0036000 \r L 4 : T A S K , : L 4 ; \r
0036020 L 5 : T A S K , : L 5 ; \r L
0036040 6 : T A 376 001 \0 ; 262 S K , : L
0036060 6 ; \r L 7 : T A S K , : L 7
0036100 ; \r ; L 1 0 : T A S K , :
0036120 L 1 0 ; \t M e m o r y r e f r
0036140 e s h t a s k \r ; L 1 1 :
0036160 T A S K , : L 1 1 ; \t D i s p
0036200 l a y W o r d T a s k \r ;
0036220 L 1 2 : T A S K , : L 1 2 ;
0036240 \t C u r s o r T a s k \r ; L
0036260 1 3 : T A S K , : L 1 3 ; \t
0036300 D i s p l a y h o r i z o n t
0036320 a l t a s k \r ; L 1 4 : T
0036340 A S K , : L 1 4 ; \t D i s p l
0036360 a y V e r t i c a l T a s k
0036400 \r L 1 5 : T A S K , : L 1 5
0036420 ; \r L 1 6 : T A S K , : L 1
0036440 6 ; \r L 1 7 : T A 376 001 \0 376 * S
0036460 K , : L 1 7 ; \r \r ; R e s e
0036500 r v e 7 7 4 - 1 0 0 3 f o r
0036520 R a m U t i l i t y A r e
0036540 a . \r \r % 7 , 1 7 7 7 , 7 7
0036560 4 , R U 7 7 4 , R U 7 7 5 ,
0036600 R U 7 7 6 , R U 7 7 7 , R
0036620 U 1 0 0 0 , R U 1 0 0 1 , R
0036640 U 1 0 0 2 , R U 1 0 0 3 ; \r \r
0036660 ; F o r t h e m o m e n t
0036700 , j u s t t h r o w t h e
0036720 s e l o c a t i o n s a w a
0036740 y . T h i s i s d o n e
0036760 o n l y \r ; t o s q u e l
0037000 c h t h e " u n u s e d p
0037020 r e d e f " w a r n i n g s
0037040 t h a t w o u l d o t h e 376
0037060 001 \0 X f r w i s e o c c u r .
0037100 \r ; I f w e e v e r r u
0037120 n s h o r t o f R a m ,
0037140 a s s i g n t h e s e t o
0037160 r e a l i n s t r u c t i o n
0037200 s s o m e w h e r e \r ; i n
0037220 m i c r o c o d e e x e c u
0037240 t e d o n l y b y t h e
0037260 E m u l a t o r . \r \r R U 7 7 4
0037300 : \t N O P ; \r R U 7 7 5 : \t N O
0037320 P ; \r R U 7 7 6 : \t N O P ; \r R
0037340 U 7 7 7 : \t N O P ; \r R U 1 0 0
0037360 0 : \t N O P ; \r R U 1 0 0 1 : \t
0037400 N O P ; \r R U 1 0 0 2 : \t N O P
0037420 ; \r R U 1 0 0 3 : \t N O P ; \r \r
0037440 # M e s a X R A M . m u ; \t - -
0037460 o v e 376 001 \0 ~ 357 r f l o w f
0037500 r o m M e s a R O M S f o
0037520 r X M M e s a \r # M e s a B
0037540 L T L R e a l . m u ; \r # I M E
0037560 c o d e . m u ; \r # A d p c m .
0037600 m u ; \r # u 2 5 5 . m u ; \r # C
0037620 a t u 2 5 5 . m u ; \r # C a t M
0037640 c . m u ; \r # C A T I I M R T .
0037660 m u ; \t c o n t a i n s M R T
0037700 \r # G a t e D i s p l a y . m u
0037720 ; \t c o n t a i n s D H T ,
0037740 D V T , C U R T , D W T \r \r
0037760 ; W e a r e u s i n g N
0040000 o v a b o o t c o n v e n t
0040020 i o n s \r N o v a B o o t : \t S
0040040 W M O D E ; \r \t : S T A R T ; \r
0040060 \r ! 1 , 2 , M A 376 001 \0 347 213 u d
0040100 i o L i s t 2 , M A u d i o L
0040120 i s t 1 ; \r ! 1 , 2 , M S e t
0040140 L e f t , M A u d i o R e t 0
0040160 ; \r ! 1 , 2 , M L i n k , M
0040200 F a i l ; \r ! 1 , 2 , M c S t
0040220 a r t , M C u r r e n t 1 ; \r
0040240 032 ( 0 , 5 3 7 6 ) ( 1 , 1 1 2 6
0040260 4 ) \ f 1 \r ; M E S A E m u l
0040300 a t o r r o u t i n e s ( v
0040320 i a J R A M ) \r ; A r g 1
0040340 i n s t k 0 , A r g 2 i n
0040360 s t k 1 , r e s u l t i s
0040400 i n s t k 0 ( s t k p m u
0040420 s t b e a d j u s t e d ) \r
0040440 ; i n d i c e s a r e 0
0040460 f o r l i s t 1 , 1 376 001
0040500 \0 230 $ f o r l i s t 2 \r ;
0040520 R a m L o c a t i o n \t R o u
0040540 t i n e \r ; \t 6 0 0 \t S i l e n
0040560 t B o o t [ R M R ] - - d o
0040600 e s t h e S t a r t I O \r ;
0040620 \t 6 0 1 \t M A u d i o P a r a m
0040640 [ v a l ] - - N O P \r ; \t 6
0040660 0 2 \t A u d i o M u x [ v a l ]
0040700 - - N O P \r ; \t 6 0 3 \t A u
0040720 d i o P h o n e [ v a l ] - -
0040740 N O P \r ; \t 6 0 4 \t v a l _
0040760 A u d i o R T o n e s [ ] -
0041000 - r e t u r n s 0 \r ; \t 6 0
0041020 5 \t A u d i o S w i t c h [ v a
0041040 l ] - - N O P \r ; \t 6 0 6 \t
0041060 A u d i o L i s t [ a c b , i
0041100 n d e 376 001 \0 264 N x ] - - r e
0041120 q u e s t t o i n t e r p r
0041140 e t a c b l i s t ( 0 t
0041160 o s t o p ) - - l i s t
0041200 1 o r 2 \r ; \t 6 0 7 \t s u c
0041220 c e s s _ A u d i o L i n k
0041240 [ n e w A c b , o l d A c b ]
0041260 - - l i n k i n n e w
0041300 A c b , f a i l s i f o l
0041320 d i s e m p t i e d \r ; \t 6
0041340 1 0 \t M A u d i o C u r r e n t
0041360 [ i n d e x ] - - r e t u r
0041400 n s c u r r e n t a c b ,
0041420 o r N I L ( n o n e a c t
0041440 i v e t h i s l i s t ) \r ;
0041460 \t 6 1 1 \t v a l _ M A u d i
0041500 o V e r s i o n 376 001 \0 222 7 [ ]
0041520 - - r e t u r n s v e r s i
0041540 o n ( [ 0 - 9 ] , h a r d w
0041560 a r e ; [ 1 0 - 1 5 ] , m i
0041600 c r o c o d e ) \r ; \t 6 1 2 \t v
0041620 a l _ M A u d i o R T e l e
0041640 p h o n e [ ] - - r e t u r
0041660 n s 0 \r 032 ( 1 , 7 2 0 0 ) \ f
0041700 1 \r ; S i l e n t B o o t :
0041720 P R O C E D U R E [ r e s e t M
0041740 o d e R e g i s t e r : W O R
0041760 D ] \r ; S e t s t h e R e
0042000 s e t M o d e R e g i s t e
0042020 r a n d d o e s a s i l
0042040 e n t b o o t . \r ; F r o m
0042060 M e s a G a t e w a y M c \r \r
0042100 S i l e n t B o o t : \t R 376 001 \0
0042120 361 214 M R _ s t k 0 ; \t S e t R
0042140 M R f r o m a r g o n s
0042160 t a c k \r \t L _ s t k p - 1 ,
0042200 T A S K ; \r \t s t k p _ L ; *
0042220 * \r \t S I N K _ 1 0 0 0 0 0 ,
0042240 S T A R T F , : E m u l a t
0042260 o r ; B o o t t h e m a c
0042300 h i n e \r \r ; A c c e p t n
0042320 e w l i s t , s e t S a m
0042340 p l e s c o u n t f o r f
0042360 i r s t A C B \r ; S e t s
0042400 i l e n c e d e t e c t i o n
0042420 r e g i s t e r t o 0 \r ;
0042440 ~ ~ Q - - h o w l o n
0042460 g d o I h a v e b e f o
0042500 r e I m u s t t a s k ? \r
0042520 M A 376 001 \0 + 355 u d i o L i s t :
0042540 \r \t L _ s t k 0 ; \r \t T _ i d x
0042560 L e n g t h ; \r \t S I N K _ s t
0042600 k 1 , B U S = 0 ; \r \t M A R _
0042620 s t k 0 + T , : M A u d i o L
0042640 i s t 2 ; \t ! 1 , 2 , M A u d i
0042660 o L i s t 2 , M A u d i o L i
0042700 s t 1 ; \r M A u d i o L i s t 1
0042720 : \r \t T _ 0 ; \r \t A C B 1 _ L ,
0042740 L _ T , S H = 0 ; \r \t S i l 1 _
0042760 L , : M S e t L e f t ; \t ! 1
0043000 , 2 , M S e t L e f t , M A u
0043020 d i o R e t 0 ; \r M A u d i o L
0043040 i s t 2 : \r \t T _ 0 ; \r \t A C B
0043060 2 _ L , L _ T , S H = 0 ; \r \t S
0043100 i l 2 _ L , : M S e t L e f t ;
0043120 \t ! 1 , 2 , M 376 001 \0 315 357 S e t L
0043140 e f t , M A u d i o R e t 0 ;
0043160 \r M S e t L e f t : \t L _ M D ;
0043200 \r \t T _ s t k 0 ; \r \t M A R _ i
0043220 d x S a m p l e s + T ; \r \t N O
0043240 P , T A S K ; \r \t M D _ L A S
0043260 T L , : M A u d i o R e t 0 ;
0043300 \t * * \r \r ; A u d i o L i n
0043320 k [ n e w A c b , o l d A c b
0043340 ] - - f a i l i f o l d
0043360 i s e m p t i e d , e l s
0043400 e s u c c e e d \r M A u d i o
0043420 L i n k : \r \t T _ i d x S a m p
0043440 l e s ; \r \t M A R _ s t k 1 + T
0043460 ; \r \t T _ 0 + 1 ; \r \t L _ M D ,
0043500 B U S = 0 ; \r \t M A R _ s t k
0043520 1 , : M L i n k ; \t ! 376 001 \0 332
0043540 205 1 , 2 , M L i n k , M F a i
0043560 l ; \r M L i n k : \t L _ 0 - 1 ;
0043600 \t - - s u c c e s s \r \t M D _
0043620 s t k 0 , : M c S 1 ; \r M F a
0043640 i l : \t T _ 0 + 1 , : M c S 1
0043660 ; \r \r ; r e t u r n s c u r
0043700 r e n t l y r u n n i n g A
0043720 C B f o r s u p p l i e d
0043740 i n d e x ( 0 = l i s t 1
0043760 , 1 = l i s t 2 ) \r M A u
0044000 d i o C u r r e n t : \r \t S I N
0044020 K _ s t k 0 , B U S = 0 ; \r \t
0044040 L _ A C B 2 , : M c S t a r t
0044060 ; \t ! 1 , 2 , M c S t a r t ,
0044100 M C u r r e n t 1 ; \r M C u r r
0044120 e n t 1 : \t L _ A C B 1 , : M
0044140 c 376 001 \0 344 371 S t a r t ; \r \r M A
0044160 u d i o M u x : \r \t N O P , :
0044200 M A u d i o R e t 0 ; \r M A u d
0044220 i o P h o n e : \r \t N O P , :
0044240 M A u d i o R e t 0 ; \r M A u d
0044260 i o P a r a m : \r \t N O P , :
0044300 M A u d i o R e t 0 ; \r M A u d
0044320 i o S w i t c h : \r \t N O P ,
0044340 : M A u d i o R e t 0 ; \r M A u
0044360 d i o S t o r e : \r \t N O P ,
0044400 : M A u d i o R e t 0 ; \r M A u
0044420 d i o R e t 0 : \r \t L _ 0 , T
0044440 A S K ; \r M A u d i o R e t n :
0044460 \r \t s t k p _ L , : E m u l a
0044500 t o r ; * * \r E m u l a t o r
0044520 : \t S W M O D E ; \r \t : r o m n
0044540 e x t A ; 376 001 \0 347 347 # # \r M c
0044560 S t a r t : \t T _ 0 + 1 ; \r M c
0044600 S 1 : \t s t k 0 _ L , L _ T ,
0044620 T A S K , : M A u d i o R e
0044640 t n ; \r M A u d i o R T o n e s
0044660 : \r \t L _ 0 , : M c S t a r t
0044700 ; \r M A u d i o V e r s i o n :
0044720 \r \t T _ 2 0 0 0 ; \t r e t u
0044740 r n s 2 2 0 5 B 032 ( 1 , 1 1 2
0044760 6 4 ) \ f 1 \r \t L _ 2 0 0 +
0045000 T ; 032 \ f 1 \r \t T _ L a s t
0045020 L ; 032 \ f 1 \r \t L _ 5 + T ,
0045040 : M c S t a r t ; \r M A u d i o
0045060 R P h o n e : \r \t L _ 0 , : M
0045100 c S t a r t ; \r \r ; ; D C S ,
0045120 J u l y 1 0 , 1 9 7 8
0045140 9 : 3 7 P M , e x 376 001 \0 304 016
0045160 t r a c t e d f r o m A u b
0045200 u r n M c - U 3 - R 2 - - m
0045220 u s t b e l a n g . - s p e
0045240 c i f i c \r ; ; J u l y 1 3
0045260 , 1 9 7 8 8 : 3 6 A M ,
0045300 v e r s i o n U 4 - R 3 - B
0045320 b \r ; ; J u l y 1 7 , 1 9
0045340 7 8 9 : 0 8 P M , M A u
0045360 d i o S w i t c h : X O R ' d
0045400 r e s u l t s a v a i l a b
0045420 l e o n B U S i n a c t
0045440 i v e c y c l e \r ; ; J u l
0045460 y 2 1 , 1 9 7 8 1 1 : 5
0045500 9 A M , r e m o v e c o n
0045520 s t a n t s t o A u b u r n
0045540 C o n s t s M c - U 4 . . . ,
0045560 376 001 \0 = 307 r e v i s e M U o
0045600 p s \r ; ; J a n u a r y 2 1
0045620 , 1 9 7 9 9 : 0 0 P M ,
0045640 a d d M e s a X R A M -
0045660 - o v e r f l o w f r o m
0045700 R O M S f o r X M e s a \r ;
0045720 ; \t R e q u i r e d m o v i n
0045740 g a l l A u d i o J R A M
0045760 S f r o m 4 0 0 r a n g e
0046000 t o 6 0 0 r a n g e \r ; ;
0046020 M a y 2 1 , 1 9 7 9 9
0046040 : 2 7 A M , v e r s i o n
0046060 U 5 - R 4 , s u p p l y h a
0046100 r d w a r e v e r s i o n t
0046120 o o i n v e r s i o n - -
0046140 \r ; ; \t m i c r o c o d e v e
0046160 r s i o n 376 001 \0 N A o c c u p
0046200 i e s l o w 5 b i t s f
0046220 o r n o w \r ; ; M a y 2 4
0046240 , 1 9 7 9 5 : 2 3 P M ,
0046260 u s e X M e s a ' s v e r
0046300 s i o n o f e m u l a t o r
0046320 e n t r y p o i n t \r ; ;
0046340 A u g u s t 1 6 , 1 9 7 9
0046360 1 : 1 3 P M L . S t e w
0046400 a r t . A d d e d A D P C
0046420 M . m u i n c l u d e . \r ; ;
0046440 S e p t e m b e r 2 2 , 1
0046460 9 7 9 3 : 3 0 P M L .
0046500 S t e w a r t . A d d e d
0046520 u 2 5 5 . m u i n c l u d e .
0046540 \r ; ; \t a n d t a s k u - 2
0046560 5 5 c o d e ( u 376 001 \0 e 317 t
0046600 2 5 5 . m u ) \r ; ; O c t o b
0046620 e r 1 5 , 1 9 7 9 1 : 2
0046640 4 P M L . S t e w a r t .
0046660 A d d e d i n c l u d e s
0046700 f o r C P D i s p M R T . m
0046720 u \r ; ; \t a n d G a t e D i s
0046740 p . m u i n o r d e r t o
0046760 g e t m o r e R r e g i
0047000 s t e r s f o r t h e \r ; ;
0047020 \t a u d i o t a s k . S e
0047040 e A u b u r n M c - u 5 - r 4
0047060 . m u . \r ; ; \t A d d e d s i
0047100 l e n c e d e t e c t i o n
0047120 i n l i s t i n i t i a l i
0047140 z a t i o n . \r ; ; O c t o b
0047160 e r 1 5 , 1 9 7 9 3 : 376
0047200 \0 360 377 , 5 7 P M L . S t e
0047220 w a r t . A d d e d i n c
0047240 l u d e s f o r I m e C o d
0047260 e . m u \r ; ; N o v e m b e r
0047300 5 , 1 9 7 9 1 2 : 3 4
0047320 A M L . S t e w a r t .
0047340 N o v a s t y l e s i l e n
0047360 t b o o t . \r ; ; M a r c h
0047400 1 6 , 1 9 8 0 5 : 1 4
0047420 P M L . S t e w a r t .
0047440 F o r m a t t i n g c h a n g
0047460 e s . \r ; ; M a r c h 1 7 ,
0047500 1 9 8 0 1 2 : 1 2 P M
0047520 L . S t e w a r t . M o d
0047540 i f i e d f o r C A T . \r 032
0047560 \ f 1 \r 377 \0 \0 c a t u 2 5 5 . m
0047600 u \0 376 001 \0 I 277 ; - - - - - - - -
0047620 - - - - - - - - - - - - - - - -
*
0047700 - - - - - - - - - \r ; c a t u
0047720 2 5 5 . m u - - M i c r o c
0047740 o d e s o u r c e f o r A
0047760 l t o r u n n i n g \r ; \t 6 4
0050000 K i l o b i t u - 2 5 5 l
0050020 a w c o d e d s p e e c h .
0050040 \r ; T h i s c o d e e x e
0050060 c u t e s a s p a r t o f
0050100 t h e a u d i o t a s k .
0050120 \r ; L a s t m o d i f i e d
0050140 b y L . S t e w a r t S
0050160 e p t e m b e r 2 2 , 1 9 7
0050200 9 5 : 2 0 376 001 \0 { h P M \r
0050220 ; O c t o b e r 1 5 , 1 9
0050240 7 9 2 : 3 0 P M s i l
0050260 e n c e d e t e c t i o n \r ;
0050300 M a r c h 1 7 , 1 9 8 0
0050320 1 2 : 1 5 P M C A T c o
0050340 p y , C a t U 2 5 5 . m u \r ;
0050360 - - - - - - - - - - - - - - - -
*
0050460 - \r \r ; - - - - - - - - - - - -
0050500 - - - - - - - - - - - - - - - -
*
0050560 - - - - - \r ; u - 2 5 5
0050600 l a w e n c o d i n g 376 001 \0 5
0050620 232 \r ; A s s u m e s l e
0050640 f t j u s t i f i e d 1 2
0050660 b i t t w o ' s c o m p l e
0050700 m e n t v a l u e i n L \r
0050720 ; u 2 5 5 v a l u e r
0050740 e t u r n e d r . j . i n
0050760 L a n d l . j . i n u t
0051000 V a l = T e m p \r ; - - - - - -
0051020 - - - - - - - - - - - - - - - -
*
0051100 - - - - - - - - - - - \r ! 1 , 2
0051120 , u t E P l u s , u t E M i n u
0051140 s ; \r ! 1 , 2 , u t E S h i f t
0051160 , u t E O V ; \r ! 1 , 2 , u t E
0051200 D o n e , u t E M o r e ; \r ! 1
0051220 , 376 001 \0 M 020 2 , u t E M i n u s
0051240 1 , u t E P l u s 1 ; \r \r ;
0051260 F i r s t c o n v e r t t o
0051300 s i g n m a g n i t u d e \r
0051320 \r u t E n c o d e : \t u t V a l
0051340 _ L ; \r \t L _ 1 0 0 0 0 0 , S H
0051360 < 0 ; \r \t u t E x p _ L , : u t
0051400 E P l u s ; \t ! 1 , 2 , u t E P
0051420 l u s , u t E M i n u s ; \r \r u
0051440 t E P l u s : \t L _ 0 , T A S K
0051460 , : u t E C o m 1 ; \r \r u t E M
0051500 i n u s : \t L _ 0 - T ; \r \t u t
0051520 V a l _ L , T _ 0 - 1 , T A S K
0051540 , : u t E C o m 1 ; \r \r u t E C
0051560 o m 1 : \t u t S i g n _ L , : u
0051600 t A d d C o n s t ; \r \r ; N
0051620 o w a d d 376 001 \0 - 230 4 1 B
0051640 r e t u r n i n g m a x o n
0051660 o v e r f l o w \r u t A d d C
0051700 o n s t : \t T _ 2 0 3 + 1 ; \t L
0051720 u c k y c o n s t a n t v a
0051740 l u e \r \t L _ u t V a l + T ; \r
0051760 \t N O P , S H < 0 ; \r \t u t V a
0052000 l _ L R S H 1 , : u t E
0052020 S h i f t ; \t ! 1 , 2 , u t E S
0052040 h i f t , u t E O V ; \r \r u t E
0052060 O V : \t L _ 1 7 7 , T A S K ; \r
0052100 \t u t V a l _ L , : u t E A d d
0052120 S i g n ; \r \r ; N o w s h
0052140 i f t r i g h t b y 2 ,
0052160 t o a l i g n t h e v a l
0052200 u e s o t h a t i t i s
0052220 r i g h t f o r 376 001 \0 343 j
0052240 t h e h i g h e s t \r ; e
0052260 x p o n e n t . \r \r u t E S h i
0052300 f t : \t L _ u t V a l , T A S K
0052320 ; \r \t u t V a l _ L R S H
0052340 1 ; \r \r ; N o w e n t e r
0052360 t h e m a i n l o o p o
0052400 f t h e c o n v e r s i o n
0052420 . \r \r u t E L o o p : \t T _ S T
0052440 R C W F S ; \t S T R C W F S = 1
0052460 0 0 0 0 \r \t L _ u t V a l A N
0052500 D T ; \r \t L _ u t E x p - T ,
0052520 S H = 0 ; \r \t u t E x p _ L , :
0052540 u t E D o n e ; \t ! 1 , 2 , u t
0052560 E D o n e , u t E M o r e ; \r u
0052600 t E M o r e : \t L _ u t V a l ,
0052620 T A S K ; \r \t u t V a l _ L L
0052640 376 001 \0 = 005 S H 1 , : u t E L o
0052660 o p ; \r \r ; N o w p a c k a
0052700 g e e v e r y t h i n g u p
0052720 \r \r u t E D o n e : \t T _ 7 4 0
0052740 0 ; \t 4 b i t m a s k \r \t T
0052760 _ u t V a l . T ; \r \t L _ u t E
0053000 x p O R T , T A S K ; \r \t u
0053020 t V a l _ L L C Y 8 ; \r \r ;
0053040 A d d i n s i g n ; \r u t
0053060 E A d d S i g n : \r \t S I N K _
0053100 u t S i g n , B U S = 0 ; \r \t L
0053120 _ T _ u t V a l , : u t E M i n
0053140 u s 1 ; \t ! 1 , 2 , u t E M i n
0053160 u s 1 , u t E P l u s 1 ; \r u t
0053200 E M i n u s 1 : \t L _ 2 0 0 O
0053220 R T , : u t E P l u s 1 ; \r u
0053240 t E P l u 376 001 \0 C 267 s 1 : \t u t
0053260 V a l _ L L C Y 8 , : u t S
0053300 t o r e ; \r \r ; - - - - - - - -
0053320 - - - - - - - - - - - - - - - -
*
0053400 - - - - - - - - - \r ; u -
0053420 2 5 5 l a w d e c o d i n g
0053440 \r ; A s s u m e s r i g
0053460 h t j u s t i f i e d 8 b
0053500 i t u - 2 5 5 v a l u e i
0053520 n L \r ; R e t u r n s
0053540 l i n e a r v a l u e i n
0053560 L a n d u t V a l = T e m p
0053600 \r ; - - - - - - - - - - - - - -
0053620 - - - - - - - - - - - - - - - -
0053640 - - - - - - - - - - 376 001 \0 254 f -
0053660 - - - - - - - - - - - - - - - -
0053700 - - - - - - - - \r ! 1 , 2 , u t
0053720 D L o o p , u t D D o n e ; \r !
0053740 1 , 2 , u t D M i n u s , u t D
0053760 P l u s ; \r \r u t D e c o d e :
0054000 \r \r ; F i r s t s t e p ,
0054020 s e p a r a t e c o m p o n
0054040 e n t s . \r \r \t u t V a l _ L ;
0054060 \r \t T _ 1 0 0 ; \r \t T _ 6 0 O
0054100 R T ; \t C o n s t r u c t c
0054120 o n s t a n t \r \t L _ u t V a l
0054140 A N D T , T A S K ; \r \t u t
0054160 E x p _ L ; \r \r \t T _ u t V a l
0054200 ; \r \t L _ 2 0 0 A N D T ; \r
0054220 \t u t S i g n _ L ; \t M i n u s
0054240 i f S i g n n o n - z e 376
0054260 001 \0 330 030 r o \r \t L _ 1 7 A N D
0054300 T , T A S K ; \r \t u t V a l _
0054320 L L S H 1 ; \r \r ; B u i l
0054340 d f r a m e f o r d e c o
0054360 d i n g ; \r \t T _ u t V a l + 1
0054400 ; \r \t L _ 4 0 + T , T A S K ; \r
0054420 \t u t V a l _ L L S H 1 ; \r
0054440 \r ; T h e v a l u e i
0054460 s n o w 0 0 0 0 0 0 0
0054500 0 0 1 x x x x 1 0 i n b
0054520 i n a r y . \r ; W e n o
0054540 w m u s t s h i f t l e f
0054560 t ( E x p / 2 0 B ) + 1 p l
0054600 a c e s . \r \r u t D L o o p : \t
0054620 L _ u t V a l , T A S K ; \r \t u
0054640 t V a l _ L L S H 1 ; \r \t T
0054660 _ 2 0 ; 376 001 \0 376 336 \r \t L _ u t E
0054700 x p - T , B U S = 0 , T A S K ;
0054720 \r \t u t E x p _ L , : u t D L o
0054740 o p ; \t ! 1 , 2 , u t D L o o p
0054760 , u t D D o n e ; \r \r ; N
0055000 o w s u b t r a c t 2 0 4 B
0055020 ( s e e e n c o d e ) , t
0055040 h i s w i l l n e v e r u
0055060 n d e r f l o w . \r \r u t D D o
0055100 n e : \t T _ 2 0 3 + 1 ; \r \t L _
0055120 u t V a l - T ; \r \t T _ 1 7 ; \r
0055140 \t L _ L A S T L A N D N O T
0055160 T , T A S K ; \t T r u n c a t
0055200 e t o w a r d s 0 . \r \t u t
0055220 V a l _ L ; \r \r ; H a n d l
0055240 e s i g n . \r \r \t S I N K _ u
0055260 t S i g n , B U S 376 001 \0 207 201 = 0
0055300 ; \r \t L _ T _ u t V a l , : u t
0055320 D M i n u s ; \t ! 1 , 2 , u t D
0055340 M i n u s , u t D P l u s ; \r u
0055360 t D M i n u s : \t L _ 0 - T ; \r
0055400 u t D P l u s : \t u t V a l _ L
0055420 , : u t S h i p i t ; \r \r ; - -
0055440 - - - - - - - - - - - - - - - -
*
0055520 - - - - - - - - - - - - - - - \r
0055540 ; u - 2 5 5 l a w d e
0055560 c o d i n g \r ; A s s u m
0055600 e s r i g h t j u s t i f i
0055620 e d 8 b i t u - 2 5 5 v
0055640 a l u e i n L \r ; R e
0055660 t u r n s l i n e a r v 376 001
0055700 \0 312 X a l u e i n L a n d
0055720 u t V a l = T e m p \r ; - - -
0055740 - - - - - - - - - - - - - - - -
*
0056020 - - - - - - - - - - - - - - \r !
0056040 1 , 2 , u t t D L o o p , u t t
0056060 D D o n e ; \r ! 1 , 2 , u t t D
0056100 M i n u s , u t t D P l u s ; \r
0056120 \r u t t D e c o d e : \r \r ;
0056140 F i r s t s t e p , s e p a
0056160 r a t e c o m p o n e n t s .
0056200 \r \r \t u t V a l _ L ; \r \t T _ 1
0056220 0 0 ; \r \t T _ 6 0 O R T ; \t
0056240 C o n s t r u c t c o n s t a
0056260 n t \r \t L _ u t V a l A N D
0056300 T , T 376 001 \0 266 242 A S K ; \r \t u t
0056320 E x p _ L ; \r \r \t T _ u t V a l
0056340 ; \r \t L _ 2 0 0 A N D T ; \r
0056360 \t u t S i g n _ L ; \t M i n u s
0056400 i f S i g n n o n - z e r
0056420 o \r \t L _ 1 7 A N D T , T A
0056440 S K ; \r \t u t V a l _ L L S H
0056460 1 ; \r \r ; B u i l d f r a
0056500 m e f o r d e c o d i n g ;
0056520 \r \t T _ u t V a l + 1 ; \r \t L _
0056540 4 0 + T , T A S K ; \r \t u t V a
0056560 l _ L L S H 1 ; \r \r ;
0056600 T h e v a l u e i s n o w
0056620 0 0 0 0 0 0 0 0 0 1 x
0056640 x x x 1 0 i n b i n a r y
0056660 . \r ; W e n o w m u s
0056700 t s h i f t 376 001 \0 4 G l e f
0056720 t ( E x p / 2 0 B ) + 1 p l
0056740 a c e s . \r \r u t t D L o o p :
0056760 \t L _ u t V a l , T A S K ; \r \t
0057000 u t V a l _ L L S H 1 ; \r \t
0057020 T _ 2 0 ; \r \t L _ u t E x p - T
0057040 , B U S = 0 , T A S K ; \r \t u t
0057060 E x p _ L , : u t t D L o o p ;
0057100 \t ! 1 , 2 , u t t D L o o p , u
0057120 t t D D o n e ; \r \r ; N o
0057140 w s u b t r a c t 2 0 4 B
0057160 ( s e e e n c o d e ) , t h
0057200 i s w i l l n e v e r u n
0057220 d e r f l o w . \r \r u t t D D o
0057240 n e : \t T _ 2 0 3 + 1 ; \r \t L _
0057260 u t V a l - T ; \r \t T _ 1 7 ; \r
0057300 \t L _ L A S T L A N D 376 \0 306
0057320 247 264 N O T T , T A S K ; \t T r
0057340 u n c a t e t o w a r d s 0
0057360 . \r \t u t V a l _ L ; \r \r ;
0057400 H a n d l e s i g n . \r \r \t S
0057420 I N K _ u t S i g n , B U S = 0
0057440 ; \r \t L _ T _ u t V a l , : u t
0057460 t D M i n u s ; \t ! 1 , 2 , u t
0057500 t D M i n u s , u t t D P l u s
0057520 ; \r u t t D M i n u s : \t L _ 0
0057540 - T ; \r u t t D P l u s : \t u t
0057560 V a l _ L , : u t t S h i p i t
0057600 ; \r 032 ( 0 , 5 3 7 6 ) ( 1 , 1 1
0057620 2 6 4 ) \ f 1 \r 377 \0 \0 m u - c a
0057640 t . c m \0 376 \0 Q G + m u / l c
0057660 a t m e s a m c . m u \r p a c k
0057700 m u c a t m e s a m c . m b
0057720 A u b u r n M e s a M c - U 5 -
0057740 R 4 . b r 1 6 0 3 7 6 A u b
0057760 u r n 5 4 I m a g e \r 374
0057774