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