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