$ od -c -N 50000 [_CD8_]<doradosource>TriconD-Diagnostics.dm!8 0000000 377 \0 \0 t r i c o n d - d e f s . 0000020 m c \0 373 235 7 356 177 \0 \0 376 001 \0 D 242 * 0000040 D i s k - D e f s . m c - 0000060 l a s t m o d i f i e d 0000100 D e c e m b e r 1 0 , 1 9 7 0000120 8 6 : 1 7 P M \r * * s t 0000140 o r e d i n [ i v y ] < D 1 0000160 s o u r c e > E m u . d m \r \r \t 0000200 T I T L E [ T r i c o n D - D e 0000220 f s . m c - J u l y 1 1 , 0000240 1 9 8 4 4 : 0 8 P M ] ; 0000260 \r * m [ n o o p , i l c [ ( 0000300 b r a n c h [ . + 1 ] ) ] ] ; \t 0000320 \t * D e f i n e d i n P r e 0000340 a m b l e . m c \r * m [ s k i 0000360 p i f , B R G O @ [ t s d @ ] 0000400 J M P @ [ . + 2 , # 1 , # 2 ] 0000420 ] ; \r \r * * * * * - - - 376 0000440 001 \0 201 210 - - - - - - 0000460 - \r \t T A S K N [ D S K , 1 0000500 4 ] ; \r * * * T I O A v a l 0000520 u e s f o r d i s k \r \r \t D 0000540 e v i c e [ D i s k C o n t r o 0000560 l , 1 0 ] ; \r \t D e v i c e [ 0000600 D i s k M u f f , 1 1 ] ; \r \t 0000620 D e v i c e [ D i s k D a t a , 0000640 1 2 ] ; \r \t D e v i c e [ D i 0000660 s k R a m , 1 3 ] ; \r \t D e v 0000700 i c e [ D i s k T a g , 1 4 ] 0000720 ; \r \r * * * * * - - - - 0000740 - - - - - - \r * * * 0000760 R m r e g i s t e r n a m 0001000 e s \r R m R e g i o n [ d i s k 0001020 r m s ] ; \r \t r v [ E r r o r s 0001040 , 0 ] 376 001 \0 365 214 ; \r \t r v [ K 0001060 S c r , 0 ] ; \r \t r v [ K S c 0001100 r 2 , 0 ] ; \r \t r v [ K S c r 0001120 3 , 0 ] ; \r \t r v [ K S c r 4 0001140 , 0 ] ; \r \t r v [ C o u n t , 0001160 0 ] ; \r \t r v [ C o u n t S , 0001200 0 ] ; \r \t r v [ K S c r S , 0001220 0 ] ; \r \t r v [ K S c r L , 0 0001240 ] ; \r \t r v [ D r i v e N u m b 0001260 e r , 0 ] ; \r \t r v [ E M U c 0001300 o u n t , 0 ] ; \r \t r v [ D m 0001320 u x 1 0 0 , 0 ] ; \r \t r v [ D 0001340 m u x 1 0 1 , 0 ] ; \r \t r v [ 0001360 D m u x 1 0 2 , 0 ] ; \r \t r v 0001400 [ D m u x 1 0 3 , 0 ] ; \r \t r 0001420 v [ D m u x 1 0 4 , 0 ] ; \r 032 0001440 ( 6 3 5 ) \ 1 5 0 376 001 \0 304 6 b 4 0001460 B 5 2 b 6 B \r * * * * * - - 0001500 - - - - - - - - 0001520 \r * * * M u f f l e r c o n 0001540 s t a n t s \r \r \t m c [ S t a t 0001560 u s M u f f s , 2 0 ] ; \r \t m 0001600 c [ N o t R e a d y B i t , S 0001620 t a t u s M u f f s , 5 ] ; \r 0001640 \t m c [ w r i t e E r r o r M u 0001660 f f , S t a t u s M u f f s , 0001700 1 6 ] ; \r \t m c [ r e a d E r 0001720 r o r M u f f , S t a t u s M 0001740 u f f s , 1 7 ] ; \r \r \t m c [ 0001760 S t a t e M u f f s , 0 ] ; \r 0002000 \t m c [ I n d e x T W m u f f , 0002020 S t a t e M u f f s , 1 ] ; 0002040 \r \t m c [ S e c t o r T W m 376 001 0002060 \0 006 I u f f , S t a t e M u f 0002100 f s , 2 ] ; \r \t m c [ S e e k 0002120 T W m u f f , S t a t e M u f 0002140 f s , 3 ] ; \t \t * s e e k o 0002160 r t a g T W \r \t m c [ T a g 0002200 T W m u f f , S t a t e M u f 0002220 f s , 3 ] ; \t \t * s e e k o 0002240 r t a g T W \r \t m c [ R e a 0002260 d T W m u f f , S t a t e M u 0002300 f f s , 4 ] ; \r \t m c [ W r i 0002320 t e T W m u f f , S t a t e M 0002340 u f f s , 5 ] ; \r \t m c [ E n 0002360 a b l e R u n M u f f , S t a 0002400 t e M u f f s , 1 0 ] ; \r \t m 0002420 c [ D i s k S e l e c t M u f f 0002440 , S t a t e M u f f s , 1 6 0002460 ] ; \r 376 001 \0 223 m \t m c [ D i s k 0002500 S e l e c t M u f f + 1 , D i 0002520 s k S e l e c t M u f f , 1 ] 0002540 ; \r \t m c [ I O B P E r r M u f 0002560 f , S t a t e M u f f s , 3 0002600 4 ] ; \r \r \t m c [ I n d e x T W 0002620 B i t , 2 0 ] ; \r \t m c [ S e 0002640 c t o r T W B i t , 1 0 ] ; \r 0002660 \t m c [ O t h e r T W B i t , 0002700 4 ] ; \r \t m c [ R e a d T W B i 0002720 t , 2 ] ; \r \t m c [ W r i t e 0002740 T W B i t , 1 ] ; \r \t m c [ 1 0002760 1 7 D , 1 6 5 ] ; \r \t m c [ 3 0003000 0 D , 3 6 ] ; \r \t m c [ 9 D , 0003020 1 1 ] ; \r \r \t m c [ R a m M u 0003040 f f s , 4 0 ] ; \r \t m c [ T a 0003060 g M u f f s , 376 001 \0 021 377 6 0 ] 0003100 ; \r \t m c [ F i f o M u f f s , 0003120 1 0 0 ] ; \r \t m c [ F W A d d 0003140 r M u f f s , 1 1 0 ] ; \r \t m 0003160 c [ F R A d d r M u f f s , 1 0003200 1 4 ] ; \r \r * * * * * - - 0003220 - - - - - - - - \r 0003240 * * * D i s k C o m m a n d 0003260 c o n s t a n t s \r \t m c [ c 0003300 l e a r E r r o r s , 4 0 0 ] 0003320 ; \t \t * = m u f f A d d r . 0003340 0 7 \r \t m c [ c l e a r O T W s 0003360 , 1 0 0 0 ] ; \t \t * = m u 0003400 f f A d d r . 0 6 - c l e a 0003420 r O t h e r T W s \r \t m c [ c l 0003440 e a r S T W , 2 0 0 0 ] ; \t \t 0003460 * = m u f f A d d r . 376 001 \0 0003500 311 202 0 5 - c l e a r S e c t 0003520 o r T W \r \t m c [ c l e a r I T 0003540 W , 4 0 0 0 ] ; \t \t * = m 0003560 u f f A d d r . 0 4 - c l e 0003600 a r I n d e x T W \r \t m c [ c l 0003620 e a r A T W s , 7 0 0 0 ] ; \t 0003640 \t * = m u f f A d d r . 0 4 0003660 , . 0 5 , . 0 6 \r \t m c [ c 0003700 l e a r A L L , 7 4 0 0 ] ; \t 0003720 \t * = m u f f A d d r . 0 4 0003740 , . 0 5 , . 0 6 , . 0 7 \r 0003760 \t m c [ c l e a r A L L b u t T 0004000 a g T W , 6 4 0 0 ] ; \t \t * 0004020 = m u f f A d d r . 0 4 , . 0004040 0 5 , . 0 6 , . 0 7 \r \t m c 0004060 [ f o r c e C o m p E r r o r , 0004100 1 376 001 \0 % 254 0 0 0 0 ] ; \t \t * 0004120 = m u f f A d d r . 0 3 \r \t 0004140 m c [ c l e a r S e t C o m p E 0004160 r r o r , 2 0 0 0 0 ] ; \t \t * 0004200 = m u f f A d d r . 0 2 \r \r 0004220 \t m c [ N o E n a b l e R u n , 0004240 2 0 0 0 ] ; \t \t * = C o n 0004260 t r o l . 0 5 \r \t m c [ D e b u 0004300 g M o d e , 1 0 0 0 ] ; \t \t \t 0004320 * = C o n t r o l . 0 6 \r \t 0004340 m c [ R e a d y A n d I n d e x 0004360 , 4 0 0 ] ; \t \t * = C o n 0004400 t r o l . 0 7 \r \r \t m c [ D r v 0004420 S e l e c t T A G , 1 0 0 0 0 0004440 0 ] ; \t \t * = T A G . 0 0 \r 0004460 \t m c [ C y l S e l e c t T A G 0004500 , 4 0 0 0 0 376 001 \0 366 C ] ; \t \t 0004520 * = T A G . 0 1 \r \t m c [ H 0004540 e a d S e l e c t T A G , 2 0 0004560 0 0 0 ] ; \t * = T A G . 0 0004600 2 \r \t m c [ C o n t r o l T a g 0004620 , 1 0 0 0 0 ] ; \t \t \t * = 0004640 T A G . 0 3 \r \t m c [ S e c t o 0004660 r C n t E n a b l e , 4 0 ] ; 0004700 \t \t * = T A G . 0 4 \r \r \t m 0004720 c [ A T S y n c P a t , 1 ] ; 0004740 \t \t * d i s k s y n c p a 0004760 t t e r n t o w r i t e i 0005000 n A l t o m o d e \r \t m c [ 0005020 D 1 S y n c P a t , 2 0 1 ] ; 0005040 \t \t * d i s k s y n c p a 0005060 t t e r n t o w r i t e i 0005100 n D 1 m o d e \r \t m 376 001 \0 360 0005120 216 c [ A T S y n c R e a d , 4 0005140 0 0 0 ] ; \t * A l t o s y n 0005160 c p a t t e r n t o b e 0005200 r e a d \r \t m c [ D 1 S y n c R 0005220 e a d , 0 ] ; \t \t * D 1 s 0005240 y n c p a t t e r n t o b 0005260 e r e a d \r \t m c [ N o r m a 0005300 l R e a d , 1 0 4 ] ; \t * c 0005320 o n t r o l R A M e n t r y 0005340 f o r r e a d c o m m a n 0005360 d \r 032 \r * * * * * - - - 0005400 - - - - - - - - * 0005440 - - \r \t \t \t * a l t o s 0005460 u b - s e c t o r c o u n t 0005500 - 1 \r M C [ A l t o C o u 0005520 n 376 \0 i 177 343 t , l s h i f t [ 0005540 3 , 6 ] ] ; \r \t \t \t * d r i v 0005560 e S e l e c t T A G + ( T r 0005600 i s u b - s e c t o r c o u 0005620 n t - 1 ) \r \t m c [ T r i C 0005640 o u n t , 1 0 0 0 0 0 , l s 0005660 h i f t [ 1 4 , 6 ] ] ; \r 032 \r 377 0005700 \0 \0 t r i c o n d . m c \0 373 237 321 0005720 272 276 \0 \0 376 001 \0 257 027 % \r T r i c o 0005740 n D . m c B y R o g e r B 0005760 a t e s \t \t M a r c h 8 , 0006000 1 9 7 9 \r \r L a s t u p d a t 0006020 e d D e c e m b e r 1 8 , 0006040 1 9 8 5 , 1 9 8 5 B y F r 0006060 a n k V e s t \r F i x e d p 0006100 r o b l e m w h e r e t h e 0006120 d i a g n o s t i c d i d n 0006140 ' t s e e a s p i n n i n 0006160 g d i s k . T h i s c a u 0006200 s e d t h e T a g , S e c 0006220 t o r , I n d e x a n d 0006240 W a k e u p p a r t s o f 0006260 t h e t e s t s t o b e 0006300 i g n o r e d . \r A b r e a k 0006320 p o i n t w a s 376 001 \0 341 231 a 0006340 d d e d " T e s t O K - w i t 0006360 h o u t - D i s k " t o s h 0006400 o w t h a t t h e b a s i 0006420 c d i s k c o n t r o l l e 0006440 r w o r k e d o k , b u t 0006460 t h e d i s k i s n o t 0006500 s p i n n i n g . \r C o r r e 0006520 c t e d t h e d r i v e s 0006540 e l e c t t e s t . \r \r \r T E 0006560 S T \t \t \t \t D E S C R I P T I O 0006600 N \r 032 z 1 9 7 4 4 ( 6 3 5 ) \ 1 0006620 b 4 3 B 2 2 0 b 1 9 B \r T h e 0006640 f i r s t p a r t o f t h 0006660 e s e t e s t s w i l l r 0006700 u n w i t h n o d i s k 0006720 p r e s e n t \r P r e B e g 376 001 0006740 \0 | 245 i n \t C h e c k s b a s 0006760 i c I O a n d M u f f l e 0007000 r i n p u t , a n d h a l 0007020 t s o n a n i n t e n t i 0007040 o n a l p a r i t y e r r \r 0007060 B e g i n \t s t a r t o f m 0007100 a i n d i a g n o s t i c s \r 0007120 C h e c k S t a t e \t c h e c k 0007140 s t h a t a l l k n o w n 0007160 m u f f l e r b i t s a r 0007200 e i n t h e i r c o r r e 0007220 c t s t a t e \r T a g R e g \t 0007240 C h e c k s l o a d i n g o 0007260 f t h e T A G r e g i s t 0007300 e r - s t a t i c m o d e 0007320 \r R a m \t T e s t s t h e F 0007340 o r m 376 001 \0 246 N a t R a m - 0007360 b o t h a d d r e s s i n g 0007400 a n d c o n t e n t s \r F i 0007420 f o \t T e s t s w r i t i n g 0007440 a n d r e a d i n g o f 0007460 t h e F i f o - a l s o 0007500 t e s t w r i t e w a k e - 0007520 u p l o g i c \r F i f o S t e 0007540 p \t A l l o w s t o t o s 0007560 t e p ( i n P a s i v e m 0007600 o d e ) t h e c o n t r o l 0007620 l e r t h r o u g h F i f o 0007640 o p e r a t i o n \r I s D i s 0007660 k S p i n n i n g \t L o o k s 0007700 a n d t h e d i s k s t a 0007720 t u s a n d b r a n c h e s 0007740 t o d o n e 376 001 \0 } " a f 0007760 t e r t h e b r e a k p o i 0010000 n t a t T e s t O K - w i t 0010020 h o u t - D i s k i f n o t 0010040 r e a d y a n d o n - l i 0010060 n e . \r \r T h e r e s t o f 0010100 t h e t e s t s r e q u i 0010120 r e a d i s k t o b e 0010140 p r e s e n t a n d r u n n 0010160 i n g \r T a g \t W r i t e T a 0010200 g r e g i s t e r , b l o c 0010220 k , a n d w a i t f o r 0010240 a p p r o p r i a t e w a k e 0010260 - u p \r W a k e U p s \t c h e c 0010300 k s b a s i c s e c t o r 0010320 a n d i n d e x w a k e - u 0010340 p s \r S e c t o r C o u n 376 001 \0 0010360 270 216 t e r s \t L o a d s S u b 0010400 - s e c t o r c o u n t e r 0010420 a n d c h e c k s f o r t 0010440 h e r i g h t n u m b e r 0010460 o f s e c t o r s \r \r N O T E 0010500 : I n a l l t e s t i n 0010520 g , t h e b i t s t h a t 0010540 w e r e f o u n d t o b 0010560 e i n e r r o r a r e l 0010600 e f t i n t h e r e g i 0010620 s t e r " E r r o r s " A s 0010640 a n e x a m p l e i f E 0010660 r r o r s c o n t a i n e d 0010700 2 0 0 a n d t h e t e s t 0010720 i s f o r c o n t r o l l 0010740 e r s t a t e K S T A T E , 0010760 t 376 001 \0 032 017 h e n t h e s 0011000 i g n a l o n t h e m u f 0011020 f l e r K S T A T E " b i t 0011040 2 0 0 " ( i e E n a b l e 0011060 R u n ) w o u l d h a v e 0011100 a n u n e x p e c t e d v a 0011120 l u e . \r % 032 z 1 9 7 4 4 ( 0 , 0011140 6 1 7 6 ) \ b 6 0 B 5 4 3 b 1 9 0011160 B 2 8 b 6 2 B \r \r \r * E m u l a 0011200 t o r c o d e f o r C h e 0011220 c k T A G t e s t \r * I f t 0011240 h e d i s k t a s k i s 0011260 e v e r b l o c k e d , t h 0011300 e n t h i s l o o p w i l 0011320 l r u n , a n d i f E M 0011340 U C o u n t g o e s t o z 0011360 e r o t h e 376 001 \0 272 336 n t h 0011400 e D i s k t a s k ( 1 4 ) 0011420 w i l l b e w o k e n u 0011440 p v i a a N o t i f y . 0011460 I t i s u p t o t h e 0011500 d i s k m i c r o - c o d e 0011520 t o n o t i c e t h a t 0011540 t h e r e w a s n o a c t 0011560 u a l h a r d w a r e w a k 0011600 e - u p . \r \r \t s e t [ x t a s 0011620 k , 0 ] ; t o p l e v e l 0011640 ; K n o w R B a s e [ E r r o 0011660 r s ] ; \r \t s e t [ E M U l o c 0011700 x , 2 0 1 ] ; m c [ E M U l 0011720 o c , E M U l o c x ] ; * E M 0011740 U t a s k P C c o u n t e 0011760 r \r \r E M U L o o p : \r 376 001 \0 023 0012000 W \t R B a s e _ R B a s e [ 0012020 E M U c o u n t ] ; \r \t P d _ 0012040 E M U c o u n t , a t [ E M U 0012060 l o c x ] ; \t * * T e s t f o 0012100 r a l r e a d y z e r o \r \t 0012120 S k p I f [ a l u # 0 ] ; \r \t B 0012140 r a n c h [ E M U l o o p ] ; \r 0012160 \t E M U c o u n t _ ( E M U 0012200 c o u n t ) - 1 ; \t * * E M U 0012220 c o u n t d o w n l o o p \r 0012240 \t S k p I f [ a l u # 0 ] ; \r \t 0012260 W a k e u p [ D S K ] ; \t * N o 0012300 t i f y i f j u s t g o n 0012320 e t o Z e r o \r \r \t B r a n 0012340 c h [ E M U L o o p ] ; \r \r \t s 0012360 e t [ x t a s k , I P [ D S K 0012400 ] 376 001 \0 371 p ] ; \r \f \r * C h e 0012420 c k o u t t h e m u f f l 0012440 e r r e a d i n g s c h e m 0012460 e u s i n g t h e I O B . 0012500 1 5 b i t a n d \r * c o m 0012520 p a r e t h e r e s u l t s 0012540 r e a d b y t h e m i c r 0012560 o c o d e w i t h w h a t 0012600 M i d a s r e a d s \r R e s t 0012620 a r t D i a g n o s t i c : \r \t 0012640 T _ D i s k C o n t r o l ; 0012660 * A t t h i s p o i n t s 0012700 e t T I O A w i t h B m u 0012720 x t o d i s k T I O A \r \t 0012740 T I O A _ T ; \r \t T _ n o E 0012760 n a b l e R u n ; \r O u t : O 0013000 u t p u t 376 001 \0 251 272 _ T ; \r 0013020 \t R B a s e _ R B a s e [ E r r 0013040 o r s ] ; \r \t N o o p ; \r \t T _ 0013060 1 0 C ; \r \t T I O A [ D i s k M 0013100 u f f ] ; \r \t O u t p u t _ 0013120 T ; \r \t T _ T I O A & S T K 0013140 P ; \t * L e t s c h e c k t 0013160 h a t T I O A g o t s e t 0013200 c o r r e c t l y \r \t T _ 0013220 T a n d ( 1 7 7 4 0 0 C ) ; 0013240 \t * m a s k T I O A \r \t E r r 0013260 o r s _ T # ( D i s k M 0013300 u f f ) ; \r \r \t S k p I f [ a l 0013320 u = 0 ] ; \r T I O A E r r 0 : \r 0013340 \t E r r o r ; \t * V a l u e i 0013360 n T I O A n o t e q u a l 0013400 t o D i s k M u f 376 001 \0 335 ~ 0013420 f ( 0 1 1 C ) \r \t \r I n N o P 0013440 c k : E r r o r s _ I n p 0013460 u t N o P e ; \r \t N o o p ; \r \t 0013500 N o o p ; \r \t N o o p ; \r \r I n 0013520 P c k : P d _ I n p u t ; 0013540 \r \t N o o p ; \r \t N o o p ; \r \t 0013560 N o o p ; \r \r C h e c k M u f f 0013600 s : \r \t C a l l [ r e a d 2 0 M 0013620 u f f s ] , T _ S t a t e M 0013640 u f f s ; \r \t D m u x 1 0 0 _ 0013660 T ; \r \r \t C a l l [ r e a d 2 0 0013700 M u f f s ] , T _ S t a t u 0013720 s M u f f s ; \r \t D m u x 1 0 1 0013740 _ T ; \r \r \t C a l l [ r e a d 0013760 2 0 M u f f s ] , T _ R a m 0014000 M u f f s ; \r \t D m u x 1 0 2 _ 0014020 376 001 \0 { 347 T ; \r \r \t C a l l [ 0014040 r e a d 2 0 M u f f s ] , T _ 0014060 T a g M u f f s ; \r \t D m u x 0014100 1 0 3 _ T ; \r \r \t C a l l [ r 0014120 e a d 2 0 M u f f s ] , T _ 0014140 F i f o M u f f s ; \r \t D m u x 0014160 1 0 4 _ T ; \r \r \t T _ 1 7 7 4 0014200 0 0 C ; \t * A t t h i s p o 0014220 i n t s e t T I O A w i t 0014240 h B m u x 3 7 7 \r \t T I O A 0014260 _ T ; \r P e C k : E r r o r s 0014300 _ I n p u t ; \t * T h e r e 0014320 i s n o i n p u t f o r 0014340 t h i s T I O A a d d r e 0014360 s s . \r \t N o o p ; \t * T h i s 0014400 s h o u l d t h e r e f o r 0014420 e c a u 376 001 \0 7 206 s e a n 0014440 I O i n p a r i e r r \r G o 0014460 o d . P E . H l t : B r a n c 0014500 h [ B e g i n ] ; \t * C o m p a 0014520 i r D i s k M u f f l e r s 0014540 a g a i n s t M i d a s M 0014560 u f f l e r s \r P C K F a i l e 0014600 d : \r \t E r r o r ; \t * P r o c 0014620 e s s o r I n p u t P a r i 0014640 t y t e s t f a i l e d ! ! 0014660 ! \r \t \t * N o d i v i c e w 0014700 a s s e l e c t e d t o d 0014720 r i v e I O B \r \r \f \r * C h 0014740 e c k a l l s i g n a l s 0014760 o n m u f f l e r s a n d 0015000 s e e t h a t t h e y a r 0015020 e r e a s o n a b 376 001 \0 222 y l 0015040 e a t t h i s p o i n t \r 0015060 * T h i s m e a n s m a s 0015100 k i n g o f f a l l s i g 0015120 n a l s t h a t w e c a n 0015140 ' t b e s u r e o f . \r \r 0015160 B e g i n : \r \t N o o p ; \r \r C 0015200 h e c k . S t a t e : \r \t C a l 0015220 l [ c l e a r - d i s k ] ; \r \t 0015240 C a l l [ r e a d 2 0 M u f f s 0015260 ] , T _ S t a t e M u f f s 0015300 ; \r \t T _ T # ( 7 0 C ) 0015320 ; \t * N o r m a l i s e t h e 0015340 b i t s r e a d \r \t E r r o 0015360 r s _ T A N D ( 7 6 3 7 7 C 0015400 ) ; \t * m a s k o f j u s t 0015420 t h e b i t s t h a t 376 0015440 001 \0 < 310 a r e d e t e r m i n 0015460 a t e \r \t S k p I f [ a l u = 0 0015500 ] ; \r S t a t e . E r r s : \r \t 0015520 E r r o r ; \t * C o m p i r e 0015540 " 1 " b i t ( s ) w i t h 0015560 m u f f l e r w o r d K S T 0015600 A T E \r \t \r \t C a l l [ r e a d 0015620 2 0 M u f f s ] , T _ S t a 0015640 t u s M u f f s ; \r \t T _ T # 0015660 ( 1 6 0 0 0 C ) ; \t * N o r m 0015700 a l i s e t h e b i t s r 0015720 e a d \r \t T _ T # ( 3 C ) ; 0015740 \t * N o r m a l i s e t h e 0015760 b i t s r e a d \r \t E r r o r 0016000 s _ T a n d ( 1 7 7 7 3 7 C 0016020 ) ; \t * m a s k o f j u s t 0016040 t h e 376 001 \0 & G b i t s t 0016060 h a t a r e d e t e r m i n 0016100 a t e \r \t S k p I f [ a l u = 0 0016120 ] ; \r S t a t . E r r s : \r \t E 0016140 r r o r ; \t * C o m p i r e " 0016160 1 " b i t ( s ) w i t h m 0016200 u f f l e r w o r d K S T A 0016220 T \r \t \r \t C a l l [ r e a d 2 0 0016240 M u f f s ] , T _ F i f o M 0016260 u f f s ; \r \t E r r o r s _ 0016300 T # ( 2 0 0 0 C ) ; \t * N o 0016320 r m a l i s e t h e b i t s 0016340 r e a d \r \t S k p I f [ a l u 0016360 = 0 ] ; \r F i f o . E r r s : \r 0016400 \t E r r o r ; \t * C o m p i r e 0016420 " 1 " b i t ( s ) w i t h 0016440 m u f f l e r 376 001 \0 [ 035 w o 0016460 r d K F I F O \r \t \r \r \f \r * 0016500 W r i t e t h e T A G r e 0016520 g i s t e r w i t h v a r i 0016540 o u s d a t a . \r * F i r 0016560 s t w e l e f t s h i f t 0016600 b i t s 0 , 1 , a n d 0016620 2 , t h e n w e i n d e 0016640 c r e m e n t b i t s 3 - 1 0016660 5 t o f i n i s h t h e 0016700 t e s t . \r * R e a d t h e 0016720 v a l u e s v i a t h e 0016740 m u f f l e r s a n d c o m 0016760 p a r e t h e v a l u e w 0017000 r i t t e n i n t o t h e 0017020 T A G r e g i s t e r i s 0017040 i m m e d i a t e l y \r * 376 001 0017060 \0 230 \r a v a i l a b l e f o r 0017100 r e a d i n g o n t h e 0017120 m u f f l e r s \r * R u n a 0017140 s D i s k T A S K o n l y 0017160 - n o b l o c k s / w a k e 0017200 u p s \r \r T a g R e g : \r \t C a 0017220 l l [ c l e a r - d i s k ] ; \r 0017240 \t C o u n t _ ( 1 0 0 0 0 0 C 0017260 ) ; \t * i n i t i a l i z e c 0017300 o u n t e r a n d T A G v 0017320 a l u e \r T a g R e g L : \r \t N 0017340 o o p ; \r \t T I O A [ D i s k T 0017360 a g ] ; \r \t O u t p u t _ C 0017400 o u n t ; \r \t C a l l [ r e a d 0017420 2 0 M u f f s ] , T _ T A G 0017440 m u f f s ; \r \t T _ T # ( 0017460 C o u 376 001 \0 271 214 n t ) ; \r \t S k 0017500 p I f [ a l u = 0 ] ; \t * s k i 0017520 p i f o k \r T a g R e g E r 0017540 r 1 : \r \t E r r o r ; \t * T a g 0017560 R e g i s t e r n o t e q 0017600 u a l t o d a t a w r i 0017620 t t e n \r \r \t P d _ ( C o u 0017640 n t ) a n d ( 1 6 0 0 0 0 C 0017660 ) ; \r \t S k p I f [ a l u = 0 ] 0017700 ; \r \t C o u n t _ ( C o u n 0017720 t ) r s h 1 , S k i p [ ] 0017740 ; \r \t C o u n t _ ( C o u n 0017760 t ) - 1 ; \r \t L o o p U n t 0020000 i l [ a l u = 0 , T a g R e g 0020020 L ] ; \t * s k i p i f a r o 0020040 u n d t o z e r o a g a i 0020060 n \r \r \r \f \r * I 376 001 \0 251 235 s s u 0020100 e D r i v e S e l e c t t a 0020120 g i n s t r u c t i o n s t 0020140 o s e l e c t d r i v e s 0020160 v a l u e s o f 2 0 , 2 1 0020200 , 2 2 , a n d 2 3 . a n d 0020220 s e e t h a t t h e c o 0020240 n t r o l l e r \r * s e l e c 0020260 t s t h e a p p r o p r i a 0020300 t e d r i v e s . ( T h e 0020320 v a l u e o f 2 0 = D r i 0020340 v e 0 , t h e v a l u e 0020360 o f 2 1 = D r i v e 1 e t 0020400 c . ) \r * S e t - C K D r i v e 0020420 i s a s u b r o u t i n e 0020440 t h a t i s u e s a d r 0020460 i v e s e l e c t f r 376 001 \0 0020500 270 3 o m v a l u e i n " T 0020520 " a n d r e t u r n s w i t 0020540 h s e l e c t . 0 , , s e l e 0020560 c t . 1 \r * i n b i t s 1 0020600 4 , , 1 5 o f T . \r D r i v 0020620 e S e l e c t : \r \r \t C a l l [ 0020640 c l e a r - d i s k ] ; \t * i n 0020660 i t i a l i z e c o n t r o l 0020700 l e r & c l e a r a n y 0020720 w a k e u p s \r \t C a l l [ i n 0020740 i t - r a m ] ; \t * t u r n o 0020760 n E n a b l e R u n \r \t C a l 0021000 l [ r e a d 1 M u f f ] , T _ 0021020 E n a b l e R u n M u f f ; \t 0021040 * N o w c h e c k t o s e 0021060 e o f R u n E n a b l e i 0021100 s 376 001 \0 261 362 o n \r \t S k p I f 0021120 [ a l u # 0 ] ; \t * s k i p i 0021140 f E n a b l e R u n s e t \r 0021160 D r i v e S e l E : \r \t E r r 0021200 o r ; \t * E n a b l e R u n s 0021220 h o u l d b e s e t a t 0021240 t h i s p o i n t \r \r \t N o o 0021260 p ; \r \t C a l l [ S e t - C K D 0021300 r i v e ] , D r i v e N u m b 0021320 e r _ ( 2 0 C ) ; \t * S e l e 0021340 c t d r i v e 0 \r \t S k p I 0021360 f [ a l u = 0 ] , E r r o r s _ 0021400 T ; \r D r i v e S e l E 0 : \r 0021420 \t E r r o r ; \t * d i d n ' t 0021440 s e l e c t 0 \r \r \t C a l l [ 0021460 S e t - C K D r i v e ] , D r 0021500 i v e N u m b 376 001 \0 Q q e r _ 0021520 ( 2 1 C ) ; \t * S e l e c t d 0021540 r i v e 1 \r \t P d _ ( T ) 0021560 # ( 1 C ) ; \r \t S k p I f [ a 0021600 l u = 0 ] , E r r o r s _ T ; \r 0021620 D r i v e S e l E 1 : \r \t E r 0021640 r o r ; \t * d i d n ' t s e l 0021660 e c t 1 \r \r \t C a l l [ S e t 0021700 - C K D r i v e ] , D r i v e 0021720 N u m b e r _ ( 2 2 C ) ; \t * 0021740 S e l e c t d r i v e 2 \r \t 0021760 P d _ T # ( 2 C ) ; \r \t S 0022000 k p I f [ a l u = 0 ] , E r r o 0022020 r s _ T ; \r D r i v e S e l E 0022040 2 : \r \t E r r o r ; \t * d i d n 0022060 ' t s e l e c t 2 \r \t N o o 0022100 p ; \r \r \t C a l l [ S e 376 001 \0 355 0022120 333 t - C K D r i v e ] , D r i 0022140 v e N u m b e r _ ( 2 3 C ) ; 0022160 \t * S e l e c t d r i v e 3 0022200 \r \t P d _ T # ( 3 C ) ; \r 0022220 \t S k p I f [ a l u = 0 ] , E r 0022240 r o r s _ T ; \r D r i v e S e 0022260 l E 3 : \r \t E r r o r ; \t * d i 0022300 d n ' t s e l e c t 3 \r \t N 0022320 o o p ; \r \f \r * C h e c k t h 0022340 a t t h e f o r m a t c o 0022360 n t r o l r a m i s b e i 0022400 n g w r i t t e n c o r r e 0022420 c t l y b y w r i t i n g 0022440 a r a n d o m p a t t e r n 0022460 \r * w r i t e t h e R A M 0022500 o n c e ; t h e n c h e c 0022520 k 376 001 \0 026 340 t h o s e v a l 0022540 u e s a n d w r i t e i n 0022560 n e w o n e s \r R a m : \r \t 0022600 C a l l [ c l e a r - d i s k ] 0022620 ; \t * i n i t i a l i z e c o 0022640 n t r o l l e r & c l e a r 0022660 a n y w a k e u p s \r \t C a 0022700 l l [ S e n d C o m m a n d ] , 0022720 T _ A 0 ; \t * m a k e s u r e 0022740 w r i t e a d d r i s 0 0022760 f o r f o r m a t R A M \r 0023000 \t K S c r _ 1 2 3 C ; \t * s t 0023020 a r t r e a d i n g w i t h 0023040 s o m e v a l u e \r \t K S c 0023060 r 2 _ 1 2 3 C ; \t * s t a r t 0023100 w r i t i n g w i t h s o 0023120 m e v a l 376 001 \0 242 316 u e \r \t C 0023140 o u n t _ 2 0 C ; \t * c o u n 0023160 t e r \r \r R a m I n i t L : \t * 0023200 W r i t e t h e R a m o n 0023220 c e t o g e t k n o w n 0023240 d a t a i n i t \r \t N o o p 0023260 ; \r \t C a l l [ r e a d 1 M u f 0023300 f ] , T _ E n a b l e R u n 0023320 M u f f ; \t * C h e c k t h a 0023340 t E n a b l e R u n h a s 0023360 n o t b e e n s e t y e t 0023400 \r \t S k p I f [ a l u = 0 ] ; \r 0023420 R a m W E r r 0 : \r \t E r r o r 0023440 ; \t * E n a b l e R u n s h o 0023460 u l d s t i l l b e c l e 0023500 a r e d a t t h i s p o i 0023520 n t \r \t \t * T h e f 376 001 \0 230 367 0023540 o r m a t r a m h a s b e 0023560 e n w r i t e n " C o u n t 0023600 " t i m e s \r \t T I O A [ D i 0023620 s k R a m ] ; \r \t C a l l [ M a 0023640 k e R a n d o m ] , T _ K S c 0023660 r 2 ; \t * G e t a n e w r 0023700 a n d o m n u m b e r f o r 0023720 n e x t w r i t e \r \t K S c 0023740 r 2 _ O u t p u t _ T ; \t * 0023760 W r i t e n e w n u m b e r 0024000 \r \t c a l l [ r e a d 1 M u f f 0024020 ] , T _ I O B P E r r M u f 0024040 f ; \t * C h e c k t h a t O 0024060 u t p u t d i d n ' t c a u 0024100 s e a p a r i t y e r r o 0024120 r \r \t S k p I f [ a l u = 0 ] ; 0024140 376 001 \0 O ^ \r R a m P e r r 0 : \r 0024160 \t E r r o r ; \t * C o n t r o l 0024200 l e r d e t e c t e d I O B 0024220 p a r i t y e r r o r \r \t \t 0024240 * d u e t o t h e p r e v 0024260 i o u s w r i t e \r \t C o u n 0024300 t _ ( C o u n t ) - 1 ; \r 0024320 \t L o o p U n t i l [ a l u = 0 0024340 , R a m I n i t L ] ; \r \r \t C 0024360 a l l [ r e a d 1 M u f f ] , 0024400 T _ E n a b l e R u n M u f f 0024420 ; \r \t S k p I f [ a l u # 0 ] ; 0024440 \r R a m W E r r 1 : \r \t E r r o 0024460 r ; \t * E n a b l e R u n s h 0024500 o u l d b e s e t a t t 0024520 h i s p o i n t \r \r \t N o o p 0024540 ; \r R a m 376 001 \0 I 177 L o o p : \r 0024560 \t N o o p ; \r \t C a l l [ M a k 0024600 e R a n d o m ] , T _ K S c r ; 0024620 \t * U p d a t e r a n d o m 0024640 n u m b e r f o r n e x t 0024660 r e a d \r \t K S c r _ T ; \t 0024700 * M a k e u p w h a t w e 0024720 r e a r e r e a l l y g o 0024740 i n g t o r e a d \r \t K S c 0024760 r 3 _ T a n d ( 7 7 7 7 C 0025000 ) ; \t * T h e r a m c o n t 0025020 e n t s i n b i t s 4 , , 0025040 1 5 \r \t T _ L S H [ C o u n 0025060 t , 1 4 ] ; \r \t K S c r 3 _ ( 0025100 K S c r 3 ) o r T ; \t * a n 0025120 d t h e r a m a d d r e s 0025140 s i n b i t s 376 001 \0 V 352 0 0025160 , , 3 o f C o u n t \r \t c a 0025200 l l [ r e a d 2 0 M u f f s ] , 0025220 T _ R a m M u f f s ; \t * N 0025240 o w g o a n d r e a d t 0025260 h e m u f f l e r \r \t E r r o 0025300 r s _ ( K S c r 3 ) # T ; 0025320 \r \t S k p I f [ a l u = 0 ] ; \r 0025340 R a m E r r : \r \t E r r o r ; \t 0025360 * b a d v a l u e f r o m 0025400 R a m ( K S c r 3 = g o o 0025420 d v a l u e ) \r \t \t * b i t s 0025440 0 , , 3 a r e a d d r e s 0025460 s ; 4 , , 1 5 a r e R A M 0025500 d a t a \r \t T I O A [ D i s 0025520 k R a m ] ; \t * O u t p u t n 0025540 e x t v a l u e a n d \r \t 376 0025560 001 \0 ; 213 C a l l [ M a k e R a n 0025600 d o m ] , T _ K S c r 2 ; \t * 0025620 G e t a n e w r a n d o m 0025640 n u m b e r f o r n e x t 0025660 w r i t e \r \t K S c r 2 _ O 0025700 u t p u t _ T ; \t * W r i t e 0025720 n e w n u m b e r \r \t C a l 0025740 l [ r e a d 1 M u f f ] , T _ 0025760 I O B P E r r M u f f ; \t * C 0026000 h e c k t h a t O u t p u t 0026020 d i d n ' t c a u s e a 0026040 p a r i t y e r r o r \r \t S k 0026060 p I f [ a l u = 0 ] ; \r R a m P 0026100 e r r 1 : \r \t E r r o r ; \t * C 0026120 o n t r o l l e r d e t e c t 0026140 e d I O B p a r i t y e r 0026160 r o r \r 376 001 \0 325 211 \t \t * d u e 0026200 t o t h e p r e v i o u s 0026220 w r i t e \r \t C o u n t _ ( C 0026240 o u n t ) + 1 ; \r \t L o o p 0026260 U n t i l [ a l u = 0 , R a m 0026300 L o o p ] ; \r \r \f \r * F i r s t 0026320 i n i t i a l i z e t h e 0026340 c o n t r o l l e r i n t o 0026360 a n a c t i v e W r i t e 0026400 c o m m a n d a n d c h e c 0026420 k t h e m u f f l e r s \r * 0026440 I f t h e c o n t r o l l e 0026460 r d o e s n ' t r u n t h 0026500 i s t e s t r i g h t , y 0026520 o u m i g h t t r y t h e 0026540 S t e p F i f o r o u t i n 0026560 e \r \r F i F o : \r 376 001 \0 001 \b \t N 0026600 o o p ; \r \t K S c r _ 1 2 3 C 0026620 ; \t * I n i t i a l i z e r e 0026640 a d v a l u e \r \t K S c r 2 _ 0026660 1 2 3 C ; \t * I n i t i a l i 0026700 z e w r i t e v a l u e \r \t 0026720 c a l l [ c l e a r - d i s k ] 0026740 ; \r \t T I O A [ D i s k T a g ] 0026760 , T _ T - T ; \t * M a k e 0027000 s u r e T a g r e g i s t 0027020 e r i s 0 \r \t O u t p u t _ 0027040 T ; \r \t C a l l [ i n i t - r 0027060 a m ] ; \r \t C a l l [ S e t D r 0027100 i v e ] , T _ 3 7 C ; \t * D e 0027120 s e l e c t d r i v e s o 0027140 c o m m a n d i s n o t e 0027160 x e c u t e d \r \t T _ 1 0 376 001 0027200 \0 355 265 0 C ; \t * w r i t e h e 0027220 a d e r c o m m a n d \r \t C a 0027240 l l [ S e n d C o m m a n d ] , 0027260 T _ T + ( 1 0 0 0 C ) ; \t 0027300 * s e t D e b u g m o d e 0027320 s o c o n t r o l l e r b e 0027340 c o m e s A c t i v e \r \t C a 0027360 l l [ r e a d 2 0 M u f f s ] , 0027400 T _ S t a t e M u f f s ; \r 0027420 \t T _ T # ( 3 5 4 C ) ; 0027440 \t * N o r m a l i s e t h e 0027460 b i t s r e a d \r \t E r r o r 0027500 s _ T a n d ( 3 7 4 C ) ; \t 0027520 * m a s k o f j u s t t h 0027540 e b i t s t h a t a r e 0027560 d e t e r m i n a t e \r \t S k p 0027600 I f [ 376 001 \0 366 272 a l u = 0 ] ; \r 0027620 F i f o E r r 0 : \r \t E r r o r 0027640 ; \t * C o n t r o l l e r i n 0027660 w r o n g s t a t e a f t 0027700 e r W r i t e c o m m a n d 0027720 \r \t \t * C o m p i r e " 1 " 0027740 b i t ( s ) w i t h m u f f 0027760 l e r K S T A T E \r \r F i f o 0030000 O u t : \r \t N o o p ; \r \t C a l 0030020 l [ r e a d 2 0 M u f f s ] , 0030040 T _ F i f o M u f f s ; \t * F 0030060 i r s t s e e t h a t R / 0030100 W a d d r e s s p o i n t e 0030120 r s a r e z e r o \r \t E r r 0030140 o r s _ T a n d ( 3 7 7 C ) 0030160 ; \r \t S k p I f [ a l u = 0 ] ; 0030200 \r F i f o O u t 376 001 \0 017 027 E 0 : 0030220 \t * T h e F i F o a d d r e 0030240 s s c o u n t e r s a r e 0030260 w r o n g \r \t E r r o r ; \t * C 0030300 o m p a i r s h o u l d b e 0030320 z e r o \r \t \r \t C a l l [ M a 0030340 k e R a n d o m ] , T _ K S c 0030360 r 2 ; \t * G e t a n e w r 0030400 a n d o m n u m b e r f o r 0030420 n e x t w r i t e \r \t T I O 0030440 A [ D i s k D a t a ] ; \r \t K S 0030460 c r 2 _ O u t p u t _ T ; \t 0030500 * W r i t e n e w n u m b e 0030520 r \t \t [ K F I F O = 6 0 0030540 0 0 ] \r \t C a l l [ r e a d 1 0030560 M u f f ] , T _ I O B P E r 0030600 r M u f f ; \t * C h e c k 376 001 \0 0030620 225 k t h a t O u t p u t d 0030640 i d n ' t c a u s e a p a 0030660 r i t y e r r o r \r \t S k p I 0030700 f [ a l u = 0 ] ; \r F i f o O u 0030720 t E 1 : \r \t E r r o r ; \t * C o 0030740 n t r o l l e r d e t e c t e 0030760 d I O B p a r i t y e r r 0031000 o r \r \t \t * d u e t o t h e 0031020 p r e v i o u s w r i t e \r 0031040 \t C a l l [ r e a d 2 0 M u f f 0031060 s ] , T _ F i f o M u f f s 0031100 ; \t * C h e c k R / W a d d 0031120 r e s s p o i n t e r s a g 0031140 a i n \r \t T _ T a n d ( 5 7 0031160 7 7 C ) ; \t * C n t D o n e ' 0031200 i s n o t d e t e r m i n a 0031220 n t 376 001 \0 ^ 032 \r \t T _ T # ( 0031240 5 0 0 0 C ) ; \r \t E r r o r s _ 0031260 T # ( 2 1 C ) ; \r \t S k p I 0031300 f [ a l u = 0 ] ; \r F i f o O u 0031320 t E 2 : \t * T h e F i F o s 0031340 t a t e i s w r o n g K F 0031360 I F O s h o u l d b e 7 0 0031400 2 1 \r \t E r r o r ; \t * T h e 0031420 F i F o a d d r e s s c o u 0031440 n t e r s s h o u l d b e 0031460 2 1 \r \t \t * O u t R e g F u l 0031500 l s h o u l d b e 1 ( 2 0031520 0 0 0 b i t ) \r \t \r \r \r \t K S 0031540 c r 3 _ 2 1 C ; \t * I n i t i 0031560 a l i z e R e a d / w r i t e 0031600 a d d r e s s p o i n t e r 0031620 \r \f \r * N o w 376 001 \0 001 276 s t a 0031640 r t t h e m a i n l o o p 0031660 \r F i f o L o o p : \r \t C o u n 0031700 t _ 1 6 C ; \r \r * F i r s t 0031720 d o 1 4 w r i t e s c h 0031740 e c k i n g p a r i t y , f i 0031760 f o a d d r e s s p o i n t 0032000 e r s , a n d w a k e - u p 0032020 \r F i f o W L o o p : \r \t N o o 0032040 p ; \r \t C a l l [ M a k e R a n 0032060 d o m ] , T _ K S c r 2 ; \t * 0032100 G e t a n e w r a n d o m 0032120 n u m b e r f o r n e x t 0032140 w r i t e \r \t T I O A [ D i s 0032160 k D a t a ] ; \r \t K S c r 2 _ 0032200 O u t p u t _ T ; \t * O u t p 0032220 u t a n d s a v e 376 001 \0 H 0032240 R t h e n e w n u m b e r \r 0032260 \t C a l l [ r e a d 1 M u f f ] 0032300 , T _ I O B P E r r M u f f 0032320 ; \t * C h e c k t h a t O u 0032340 t p u t d i d n ' t c a u s 0032360 e a p a r i t y e r r o r 0032400 \r \t S k p I f [ a l u = 0 ] ; \r 0032420 F i f o W r i t e E 0 : \r \t E r 0032440 r o r ; \t * C o n t r o l l e r 0032460 d e t e c t e d I O B p a 0032500 r i t y e r r o r \r \t \t * d u 0032520 e t o t h e p r e v i o u 0032540 s w r i t e \r \t K S c r 3 _ 0032560 ( K S c r 3 ) + ( 2 0 C ) 0032600 ; \t * n o w u p d a t e t h 0032620 e R / W a d d r e s s r e 0032640 g 376 001 \0 \t A i s t e r \r \t K S c 0032660 r 3 _ ( K S c r 3 ) a n d 0032700 ( 3 7 7 C ) ; \r \t C a l l [ r 0032720 e a d 2 0 M u f f s ] , T _ 0032740 F i f o M u f f s ; \t * N o w 0032760 s e e t h a t R / W a d d 0033000 r e s s c o u n t e r s a r 0033020 e c o r r e c t \r \t T _ T a 0033040 n d ( 3 7 7 C ) ; \r \t E r r o 0033060 r s _ T # ( K S c r 3 ) 0033100 ; \r \t S k p I f [ a l u = 0 ] ; 0033120 \r F i f o W r i t e E 1 : \t * T 0033140 h e F i F o a d d r e s s 0033160 c o u n t e r s a r e w r o 0033200 n g \r \t E r r o r ; \t * C o m p 0033220 a i r K F I O ( b i t s 8 0033240 , , 1 5 ) 376 001 \0 f 263 w i t h 0033260 K S c r 3 \r \t \r \t T _ R S H 0033300 [ K S c r 3 , 4 ] ; \t * N o w 0033320 c o m p u t e t h e d i f f 0033340 e r e n c e b e t w e e n \r \t 0033360 E r r o r s _ T ; \t * w o r 0033400 d s i n F i f o = ( W a 0033420 d d r - R a d d r ) & 1 7 b \r \t 0033440 T _ ( K S c r 3 ) a n d 0033460 ( 1 7 C ) ; \r \t T _ ( E r r 0033500 o r s ) - T ; \r \t E r r o r 0033520 s _ T a n d ( 1 7 C ) ; 0033540 \r \t C a l l [ R e a d 1 M u f f 0033560 ] , T _ W r i t e T W m u 0033600 f f ; \t * R e a d s t a t e 0033620 o f W r i t e T a s k W a 0033640 k e u p \r \t P d _ 376 001 \0 266 254 0033660 ( E r r o r s ) - ( 1 5 C ) 0033700 ; \t * S e e i f t h e v a 0033720 l u e s h o u l d b e o n 0033740 o r o f f \r \t S k p U n l e 0033760 s s [ a l u < 0 ] , E r r o r 0034000 s _ T ; \t * s a v e r e a 0034020 d v a l u e i n E r r o r 0034040 s \r \t T _ ( T ) # ( 1 C ) 0034060 ; \t * n o r m a l i z e v a l 0034100 u e \r \t S k p I f [ a l u = 0 ] 0034120 ; \t * a n d s k i p i f i 0034140 s w h a t i t s h o u l d 0034160 b e \r \t B r a n c h [ F i f o 0034200 E r r C h e c k ] ; \r \t B r a n 0034220 c h [ F i f o W r i t e c o n t 0034240 ] ; \t \r F i f o E r r C h e c k 0034260 376 001 \0 " D : \t \t \r \t T _ ( C o 0034300 u n t ) # ( 3 C ) ; \r \t S k 0034320 p I f [ a l u = 0 ] ; \r F i f o 0034340 W r i t e E 2 : \t * W r i t e 0034360 w a k e u p E r r o r \r \t E r 0034400 r o r ; \t * V a l u e r e a d 0034420 i s i n E r r o r s \t \t \r 0034440 \r F i f o W r i t e c o n t : \r 0034460 \t C o u n t _ ( C o u n t ) 0034500 - 1 ; \r \t L o o p U n t i l [ 0034520 a l u = 0 , F i f o W L o o p 0034540 ] ; \r \t N o o p ; \r \r \t C o u n 0034560 t _ 1 6 C ; \r \f \r * N o w 0034600 d o 1 4 r e a d s c h e c 0034620 k i n g d a t a a n d f i 0034640 f o a d d r e s s p o i n t 0034660 e r s \r F 376 001 \0 351 \v i f o R L o 0034700 o p : \r \t N o o p ; \r \t C a l l 0034720 [ M a k e R a n d o m ] , T _ K 0034740 S c r ; \t * U p d a t e r a n 0034760 d o m n u m b e r f o r r 0035000 e a d i n g \r \t K S c r _ T ; 0035020 \r \t T I O A [ D i s k D a t a ] 0035040 ; \r \t T _ I n p u t ; \r \t E r 0035060 r o r s _ ( K S c r ) # T 0035100 ; \r \t S k p I f [ a l u = 0 ] ; 0035120 \r F i f o R e a d E 0 : \r \t E 0035140 r r o r ; \t * b a d v a l u e 0035160 f r o m F i f o ( K S c r 0035200 = g o o d v a l u e ) \r \t 0035220 \r \t T _ ( K S c r 3 ) a 0035240 n d ( 1 7 C ) ; \t * u p d a t 0035260 e t h e R e a d 376 001 \0 331 322 0035300 p o r t i o n o f R / W a 0035320 d d r r e g i s t e r \r \t P d 0035340 _ T # ( 1 7 C ) ; \r \t S 0035360 k p U n l e s s [ a l u = 0 ] , 0035400 K S c r 3 _ ( K S c r 3 ) 0035420 + 1 ; \r \t K S c r 3 _ ( 0035440 K S c r 3 ) - ( 2 0 C ) ; \r 0035460 \r \t N o o p ; \r \t C a l l [ r e 0035500 a d 2 0 M u f f s ] , T _ F 0035520 i f o M u f f s ; \t * N o w s 0035540 e e t h a t R / W a d d r 0035560 e s s c o u n t e r s a r e 0035600 c o r r e c t \r \t T _ T a n 0035620 d ( 3 7 7 C ) ; \r \t E r r o r 0035640 s _ T # ( K S c r 3 ) ; 0035660 \r \t S k p I f [ a l u = 0 ] ; 376 0035700 001 \0 375 225 \r F i f o R e a d E 1 : 0035720 \r \t E r r o r ; \t * C o m p i r 0035740 e " 1 " b i t ( s ) w i t 0035760 h m u f f l e r w o r d K 0036000 F I F O \r \t \r \t P d _ ( K S c 0036020 r ) # ( 1 2 3 C ) ; \r \t S k 0036040 p U n l e s s [ a l u = 0 ] ; \t 0036060 * e x i t t e s t i f w e 0036100 g e t o u r o r i g i n a 0036120 l r a n d o m n u m b e r \r 0036140 \t B r a n c h [ F i f o D o n e 0036160 ] ; \r \t C o u n t _ ( C o u n 0036200 t ) - 1 ; \r \t L o o p U n t 0036220 i l [ a l u = 0 , F i f o R L o 0036240 o p ] ; \t * K e e p r e a d i 0036260 n g s o m e w o r d s \r \r \t 0036300 B r a n 376 001 \0 273 \f c h [ F i f o 0036320 L o o p ] ; \t * G o b a c k 0036340 a n d w r i t e s o m e m 0036360 o r e w o r d s \r \r \r F i f o 0036400 D o n e : \r \t C a l l [ c l e a 0036420 r - d i s k ] ; \t * C l e a r 0036440 o u t D e b u g M o d e \r \t 0036460 C a l l [ c l e a r - d i s k ] 0036500 ; \t * T u r n o f f A c t i 0036520 v e \r \t B r a n c h [ I s D i s 0036540 k S p i n n i n g ] ; \r \r * N o 0036560 w c h e c k t h i n g s t 0036600 h a t r e q u i r e a d i 0036620 s k t o b e u p a n d 0036640 s p i n n i n g \r \r I s D i s k 0036660 S p i n n i n g : \r \t C a l l [ 0036700 c l e a r - d i s 376 001 \0 S 177 k ] 0036720 ; \t * C l e a r o u t p r e 0036740 v i o u s s t a t e s \r \t C a 0036760 l l [ i n i t - r a m ] ; \t * t 0037000 u r n o n R u n E n a b l e 0037020 \r \t C a l l [ S e t - C K D r i 0037040 v e ] , D r i v e N u m b e r 0037060 _ 2 0 c ; \t * S e l e c t d 0037100 r i v e 0 \r \t C a l l [ r e a 0037120 d 2 0 M u f f s ] , T _ S t 0037140 a t u s M u f f s ; \r \t T _ 0037160 T a n d ( 1 6 0 0 0 C ) ; \r 0037200 \t S k p I f [ a l u = 0 ] ; \r T 0037220 e s t O K - w i t h o u t - D i 0037240 s k : \r \t B r a n c h [ B e g i 0037260 n ] , b r e a k p o i n t ; \t 0037300 * D o n e i f t h e d 376 001 0037320 \0 362 370 i s k i s n o t u p 0037340 a n d r e a d y \r \t \t * C h 0037360 e c k t h e s i g n a l s : 0037400 N o t S e l e c t e d , N o 0037420 t R e a d y , a n d \r \t \t * 0037440 N o t O n l i n e i f t h e 0037460 D i s k i s s p i n n i n 0037500 g . T h e s e s i g n a l s 0037520 a r e \r \t \t * l o c a t e d 0037540 i n t h e m u f f l e r " 0037560 K S T A T " \r \r \f \r * W r i t 0037600 e t h e T A G r e g i s t 0037620 e r w i t h i n c r e m e n 0037640 t i n g d a t a . \r * R e a 0037660 d v a l u e v i a t h e 0037700 m u f f l e r s a n d c o m 0037720 p a r 376 001 \0 243 016 e \r * S t a r 0037740 t a s D i s k T A S K t h 0037760 e n b l o c k a n d w a i 0040000 t f o r H a r d w a r e W 0040020 a k e u p \r * T h e e m u l 0040040 a t o r h a s a t i m e o 0040060 u t l o o p w h i c h w i 0040100 l l g e n e r a t e a W a 0040120 k e u p t o b e d e t e c 0040140 t e d a s a n e r r o r \r 0040160 * T h i s t e s t c h e c 0040200 k s o u t c l e a r T W s , 0040220 b l o c k , a n d T A G 0040240 w a k e u p s \r \r T a g : \r \t C 0040260 a l l [ c l e a r - d i s k ] ; 0040300 \r \t C o u n t S _ 5 C ; \t \t \t * 0040320 r e a d t h e 376 001 \0 311 x 5 0040340 T W m u f f s \r \t C a l l [ R e 0040360 a d M u f f s ] , T _ I n d 0040400 e x T W m u f f ; \t \t \t * a d d 0040420 r e s s o f 1 s t m u f f 0040440 l e r t o r e a d \r \t S k p 0040460 I f [ a l u = 0 ] ; \t \t \t * s k 0040500 i p i f w a k e u p s c l 0040520 e a r e d \r T a g E 0 : \r \t E 0040540 r r o r ; \t * w a k e u p s n 0040560 o t c l e a r e d \r \r \t C a l 0040600 l [ i n i t - r a m ] ; \t * t u 0040620 r n o n E n a b l e R u n \r 0040640 \t C a l l [ r e a d 1 M u f f ] 0040660 , T _ E n a b l e R u n M u 0040700 f f ; \t * N o w c h e c k t 0040720 o s e e o f R u n E 376 001 \0 0040740 230 \n n a b l e i s o n \r \t S 0040760 k p I f [ a l u # 0 ] ; \t * s k 0041000 i p i f E n a b l e R u n 0041020 s e t \r T a g E 1 : \r \t E r r 0041040 o r ; \t * E n a b l e R u n s 0041060 h o u l d b e s e t a t 0041100 t h i s p o i n t \r \r \t C o u 0041120 n t _ ( 1 C ) ; \t * s h i f t 0041140 1 b i t - p r i m a r i 0041160 l y t e s t s w a k e - u p 0041200 s \r \r T a g L o o p : \r \t N o o 0041220 p ; \r \t P d _ ( C o u n t ) 0041240 a n d ( 7 0 0 0 0 C ) ; \t * 0041260 S e e i f t h e n e w n 0041300 u m b e r s h o u l d e n a 0041320 b l e W a k e - U p \r \t B r a 0041340 n c 376 001 \0 223 & h [ N o W k U p , 0041360 a l u = 0 ] ; \r \r \t N o o p ; \t 0041400 * M i c r o p l a c e m e n t 0041420 \r \t C a l l [ S e t - C K D r i 0041440 v e ] , D r i v e N u m b e r 0041460 _ 2 0 c ; \t * S e l e c t d 0041500 r i v e 0 \r \t C a l l [ S e n 0041520 d T a g ] , T _ C o u n t ; 0041540 \t * r e t u r n s v i a W a 0041560 k e u p \r \t S k p I f [ a l u # 0041600 0 ] , E r r o r s _ T ; \t * T e 0041620 s t t o s e e t h a t r 0041640 e t u r n w a s n o t d u 0041660 e t o t i m e o u t \r T a 0041700 g W k U p E 0 : \r \t E r r o r ; 0041720 \t * W a s w o k e n u p b 0041740 y E M U t 376 001 \0 \t j i m e o 0041760 u t \r \r \t B r a n c h [ T a g C 0042000 k ] ; \r N o W k U p : \r \t C a l 0042020 l [ S e n d T a g ] , T _ C 0042040 o u n t ; \t * r e t u r n s v 0042060 i a t i m e - o u t \r \t S k p 0042100 I f [ a l u = 0 ] , E r r o r s 0042120 _ T ; \t * T e s t t o s e e 0042140 t h a t r e t u r n w a s 0042160 n o t d u e t o t i m e 0042200 o u t \r T a g W k U p E 1 : \r 0042220 \t E r r o r ; \t * W a s w o k 0042240 e n u p b y H a r d w a r 0042260 e \r \r T a g C k : \r \t T _ T A 0042300 G m u f f s ; \t * M i c r o p 0042320 l a c e m e n t \r \t C a l l [ r 0042340 e a d 2 0 M u f f s ] ; 376 001 \0 Q 0042360 277 \t * N o w s e e i f t h 0042400 e d a t a i s c o r r e c 0042420 t \r \t E r r o r s _ T # ( 0042440 C o u n t ) ; \r \t S k p I f [ a 0042460 l u = 0 ] ; \t * s k i p i f 0042500 o k \r T a g E 2 : \r \t E r r o r 0042520 ; \t * W r o t e " C o u n t " 0042540 i n t o T A G r e g i s t 0042560 e r \r \r \t C o u n t _ ( C o u 0042600 n t ) l s h 1 ; \r \t L o o p 0042620 U n t i l [ a l u = 0 , T a g 0042640 L o o p ] ; \t * t e s t f o r 0042660 d o n e \r \r \r \f \r * T r y t 0042700 h e b a s i c S e c t o r 0042720 a n d I n d e x w a k e - u 0042740 p l o g i c . F i r s t r 0042760 u 376 001 \0 260 4 n s o m e c o d 0043000 e t o g e t t h e d i s 0043020 k i n t h e r i g h t s 0043040 t a t e . \r \r W a k e U p s : \r 0043060 \t C a l l [ c l e a r - d i s k 0043100 ] ; \r \t C a l l [ i n i t - r a 0043120 m ] ; \t * T u r n o n E n a 0043140 b l e R u n . \r \t C a l l [ D o 0043160 C l e a r ] , T _ c l e a r 0043200 S T W ; \t * C l e a r S e c t 0043220 o r T a s k W a k e - u p . 0043240 \r \t C a l l [ D o C l e a r ] , 0043260 T _ c l e a r I T W ; \t * C 0043300 l e a r I n d e x T a s k 0043320 W a k e - u p . \r \t E M U c o u 0043340 n t _ A 1 ; \r \r W a k e I n d e 0043360 x : \r \t N o 376 001 \0 206 312 o p ; \r \t 0043400 C a l l [ D o C l e a r ] , T 0043420 _ c l e a r S T W ; \t * C l e 0043440 a r S e c t o r T a s k W 0043460 a k e - u p . \r \t C a l l [ S e 0043500 t - C K D r i v e ] , D r i v 0043520 e N u m b e r _ 2 0 c ; \t * S 0043540 e l e c t d r i v e 0 \r \t B 0043560 l o c k ; \t * b l o c k f o r 0043600 w a k e - u p - - t i m e 0043620 o u t @ 1 7 m s \r \r \t C o u 0043640 n t S _ 5 C ; \r \t C a l l [ R e 0043660 a d M u f f s ] , T _ I n d 0043700 e x T W m u f f ; \t * S e e w 0043720 h a t w o k e u p t h e 0043740 t a s k \r \t P d _ T a n d 0043760 ( S e c t o r T W B 376 001 \0 006 230 0044000 i t ) ; \t \r \t L o o p U n t i l 0044020 [ a l u = 0 , W a k e I n d e x 0044040 ] , E r r o r s _ T ; \t * L o 0044060 o p u n t i l " n o t " a 0044100 S e c t o r w a k e - u p \r 0044120 \r \t P d _ T # ( I n d e 0044140 x T W B i t ) ; \r \t S k p I f [ 0044160 a l u = 0 ] ; \r W a k e I d x E 0044200 r r o r : \r \t B r a n c h [ S t 0044220 a r t W a k e I n d e x ] ; \t * 0044240 \r \r S t a r t W a k e I n d e 0044260 x : \r \t E M U c o u n t _ A 0044300 1 ; \r \f \r * N o w s t a r t 0044320 t h e W a k e u p I n d e x 0044340 a n d S e c t o r t e s t 0044360 s \r \r W a k e I d x : \r \t N o o 0044400 376 001 \0 036 } p ; \t * \r \t C a l l 0044420 [ D o C l e a r ] , T _ c l 0044440 e a r S T W ; \t * C l e a r S 0044460 e c t o r T a s k W a k e - 0044500 u p . \r \t C a l l [ S e t - C K 0044520 D r i v e ] , D r i v e N u m 0044540 b e r _ 2 0 c ; \t * S e l e c 0044560 t d r i v e 0 \r \t B l o c k 0044600 ; \t * b l o c k f o r w a k 0044620 e - u p - - t i m e o u t 0044640 @ 1 7 m s \r \r \t C o u n t S _ 0044660 5 C ; \r \t C a l l [ R e a d M u 0044700 f f s ] , T _ I n d e x T W 0044720 m u f f ; \t * S e e w h a t 0044740 w o k e u p t h e t a s k 0044760 \r \t P d _ T a n d ( S e 0045000 c t o r T 376 001 \0 213 \f W B i t ) ; 0045020 \t \r \t L o o p U n t i l [ a l u 0045040 = 0 , W a k e I d x ] , E r r 0045060 o r s _ T ; \t * L o o p u n t 0045100 i l " n o t " a S e c t o 0045120 r w a k e - u p \r \r \t P d _ 0045140 T # ( I n d e x T W B i t 0045160 ) ; \r \t S k p I f [ a l u = 0 ] 0045200 ; \r W a k e I d x E r r : \r \t E 0045220 r r o r ; \t * N o I N D E X 0045240 w a k e - u p s ? ? ? \r \t E M 0045260 U c o u n t _ A 1 ; \r W a k 0045300 e S e c : \r \t N o o p ; \r \t C a 0045320 l l [ D o C l e a r ] , T _ 0045340 c l e a r I T W ; \t * C l e a r 0045360 I n d e x T a s k W a k e 0045400 - u p . \r \t B l o c 376 001 \0 \f e k 0045420 ; \t * b l o c k f o r w a k 0045440 e - u p - - t i m e o u t 0045460 a f t e r 1 7 m s \r \r \t C o u 0045500 n t S _ 5 C ; \r \t C a l l [ R e 0045520 a d M u f f s ] , T _ I n d 0045540 e x T W m u f f ; \t * S e e w 0045560 h a t w o k e u p t h e 0045600 t a s k \r \t P d _ T a n d 0045620 ( I n d e x T W B i t ) ; \t \r 0045640 \t L o o p U n t i l [ a l u = 0 0045660 , W a k e S e c ] , E r r o r 0045700 s _ T ; \t * L o o p u n t i l 0045720 " n o t " a n I n d e x 0045740 w a k e - u p \r \t N o o p ; \r \r 0045760 \t P d _ T # ( S e c t o 0046000 r T W B i t ) ; \r \t S k p I f 376 0046020 001 \0 002 u [ a l u = 0 ] ; \r W a k 0046040 e S e c E r r : \r \t E r r o r ; 0046060 \t * N o S E C T O R w a k e 0046100 - u p s ? ? ? \r \r \f \r * N o w 0046120 p u t t h e v a l u e s o 0046140 f 0 , 3 , a n d 1 4 o 0046160 c t a l i n t o t h e S u 0046200 b S e c t o r c o u n t e r s 0046220 a n d c h e c k f o r t 0046240 h e r i g h t \r * n u m b e r 0046260 o f S e c t o r s . ( 1 1 0046300 7 f o r a c o u n t o f 0046320 0 , 3 0 f o r a c o u 0046340 n t o f 3 , a n d 9 f 0046360 o r a c o u n t o f 1 4 0046400 ) \r \r S e c t o r C o u n t e r 0046420 s : \r \t 376 001 \0 271 344 C a l l [ c l 0046440 e a r - d i s k ] ; \r \t C a l l 0046460 [ i n i t - r a m ] ; \t * t u r 0046500 n o n E n a b l e R u n \r \r 0046520 S e c t o r s 1 1 7 : \r \t C a l 0046540 l [ S e t S e c t o r ] , T 0046560 _ A 0 ; \r \t C a l l [ D o C l 0046600 e a r ] , T _ c l e a r A T 0046620 W s ; \r \t C a l l [ S e n d C o 0046640 m m a n d ] , T _ R e a d y A n 0046660 d I n d e x ; \r \t C a l l [ S e 0046700 t - C K D r i v e ] , D r i v 0046720 e N u m b e r _ 2 0 c ; \t * S 0046740 e l e c t d r i v e 0 \r \t E 0046760 M U c o u n t _ A 1 , B l o 0047000 c k ; \t * b l o c k f o r w 0047020 a k e - u p - - 376 001 \0 033 332 t 0047040 i m e o u t a f t e r 1 7 m 0047060 s \r \r \t C o u n t S _ 5 C ; \r \t 0047100 C a l l [ R e a d M u f f s ] , 0047120 T _ I n d e x T W m u f f ; 0047140 \t * S e e w h a t w o k e 0047160 u p t h e t a s k \r \t P d 0047200 _ T a n d ( I n d e x T W 0047220 B i t ) ; \t \r \t S k p I f [ a l 0047240 u # 0 ] , E r r o r s _ T ; \r 0047260 W a k e S e c E r r 1 1 7 : \r \t 0047300 E r r o r ; \t * W a k e - U p 0047320 w a s N O T a n I n d e x 0047340 \r \t \t * W a i t U n t i l I n d 0047360 e x c o m m a n d p r o b a 0047400 b l y f a i l e d \r \t E r r o 0047420 r s _ A 0 ; \r 1 1 7 L o 376 001 0047440 \0 { 376 o p : \r \t C a l l [ D o C 0047460 l e a r ] , T _ c l e a r A 0047500 T W s ; \r \t C a l l [ S e t - C 0047520 K D r i v e ] , D r i v e N u 0047540 m b e r _ 2 0 c ; \t * S e l e 0047560 c t d r i v e 0 \r \t E M U c 0047600 o u n t _ A 1 , B l o c k ; 0047620 \t * b l o c k f o r w a k e 0047640 - u p - - t i m e o u t a 0047660 f t e r 1 7 m s \r \r \t p d _ 0047700 E M U c o u n t ; \r \t S k p I 0047720 f [ a l u < 0 ] ; \r 1 1 7 W a k 0047740 e u p E r r : \t * E m u l a t o 0047760 r t i m e d o u t , w e 0050000 s h o u l d h a v e h a d 0050020 a w a k e - u p \r \t E r r o 0050040 r ; \t 376 001 \0 343 q * f r o m t h 0050060 e d i s k b e f o r e E M 0050100 U c o u n t w e n t t o 0 0050120 . \r \t \r \t C o u n t S _ 5 C ; \r 0050140 \t C a l l [ R e a d M u f f s ] 0050160 , T _ I n d e x T W m u f f 0050200 ; \t * S e e w h a t w o k e 0050220 u p t h e t a s k \r \t P d 0050240 _ T a n d ( I n d e x T 0050260 W B i t ) ; \t \r \t L o o p U n t 0050300 i l [ a l u # 0 , 1 1 7 L o o p 0050320 ] , E r r o r s _ ( E r r 0050340 o r s ) + 1 ; \r \r \t P d _ ( 0050360 E r r o r s ) # ( 1 1 7 D ) 0050400 ; \r \t S k p I f [ a l u = 0 ] ; 0050420 \r S e c t o r E r r 1 1 7 : \t * 0050440 W i t h a v 376 001 \0 366 236 a l u 0050460 e o f 0 i n t h e S u 0050500 b - S e c t o r c o u n t e r 0050520 s , \r \t E r r o r ; \t * t h e r 0050540 e s h o u l d h a v e b e 0050560 e n a c o u n t o f 1 1 0050600 7 d e c i m a l s e c t o r 0050620 s . \r \t \t * I C a t A 0 1 0050640 7 4 L S 1 6 9 s h o u l d h 0050660 a v e i n p u t s : B 0 = 0 0050700 , B 1 = 0 , \r \t \t * B 2 = 0 , 0050720 B 3 = 0 . \r S e c t o r s 3 0 0050740 : \r \t C a l l [ S e t S e c t o 0050760 r ] , T _ A l t o C o u n 0051000 t ; \r \t C a l l [ D o C l e a r 0051020 ] , T _ c l e a r A T W s ; 0051040 \r \t C a l l [ S e n d C o 376 001 \0 0051060 370 213 m m a n d ] , T _ R e a d y 0051100 A n d I n d e x ; \r \t c a l l [ 0051120 S e t - C K D r i v e ] , D r 0051140 i v e N u m b e r _ 2 0 c ; \t 0051160 * S e l e c t d r i v e 0 \r 0051200 \t E M U c o u n t _ A 1 , B 0051220 l o c k ; \t * b l o c k f o r 0051240 w a k e - u p - - t i m e 0051260 o u t a f t e r 1 7 m s . \r 0051300 \r \t C o u n t S _ 5 C ; \r \t C a 0051320 l l [ R e a d M u f f s ] , T 0051340 _ I n d e x T W m u f f ; \t * 0051360 S e e w h a t w o k e u p 0051400 t h e t a s k . \r \t P d _ 0051420 T a n d ( I n d e x T W B 0051440 i t ) ; \t \r \t S k p I f [ a l u 0051460 # 0 376 001 \0 016 273 ] , E r r o r s 0051500 _ T ; \r W a k e I d x E r r 3 0 0051520 : \r \t E r r o r ; \t * W a k e - 0051540 U p w a s N O T a n I n 0051560 d e x \r \t \t * W a i t U n t i l 0051600 I n d e x c o m m a n d p 0051620 r o b a b l y f a i l e d . \r 0051640 \t E r r o r s _ A 0 ; \r 3 0 0051660 L o o p : \r \t C a l l [ D o C l 0051700 e a r ] , T _ c l e a r A T 0051720 W s ; \r \t C a l l [ S e t - C K 0051740 D r i v e ] , D r i v e N u m 0051760 b e r _ 2 0 c ; \t * S e l e c 0052000 t d r i v e 0 \r \t E M U c o 0052020 u n t _ A 1 , B l o c k ; \t 0052040 * b l o c k f o r w a k e - 0052060 u p - - t 376 001 \0 1 325 i m e o 0052100 u t a f t e r 1 7 m s \r \r \t 0052120 p d _ E M U c o u n t ; \r \t 0052140 S k p I f [ a l u < 0 ] ; \r 3 0 0052160 W a k e u p E r r : \t * E m u l 0052200 a t o r t i m e d o u t , 0052220 w e s h o u l d h a v e h 0052240 a d a w a k e - u p \r \t E 0052260 r r o r ; \t * f r o m t h e 0052300 d i s k b e f o r e E M U c 0052320 o u n t w e n t t o 0 . \r 0052340 \t \r \t C o u n t S _ 5 C ; \r \t C 0052360 a l l [ R e a d M u f f s ] , 0052400 T _ I n d e x T W m u f f ; \t 0052420 * S e e w h a t w o k e u 0052440 p t h e t a s k . \r \t P d 0052460 _ T a n d ( I n d 376 001 \0 f 0052500 1 e x T W B i t ) ; \t \r \t L o o 0052520 p U n t i l [ a l u # 0 , 3 0 L 0052540 o o p ] , E r r o r s _ ( 0052560 E r r o r s ) + 1 ; \r \r \t P d 0052600 _ ( E r r o r s ) # ( 3 0 0052620 D ) ; \r \t S k p I f [ a l u = 0 0052640 ] ; \r S e c t o r E r r 3 0 : \t 0052660 * W i t h a v a l u e o f 0052700 3 O c t a l i n t h e 0052720 S u b - S e c t o r c o u n t 0052740 e r s . \r \t E r r o r ; \t * t h 0052760 e r e s h o u l d h a v e 0053000 b e e n a c o u n t o f 0053020 3 0 D e c i m a l s e c t o 0053040 r s . \r \t \t * I C a t A 0 1 0053060 7 4 L S 1 6 9 s h o u l d 0053100 h 376 001 \0 256 y a v e i n p u t s 0053120 : B 0 = 0 , B 1 = 0 , \r \t \t 0053140 * B 2 = 1 , B 3 = 1 . \r S e c 0053160 t o r s 9 : \r \t C a l l [ S e t 0053200 S e c t o r ] , T _ T r i 0053220 C o u n t ; \r \t C a l l [ D o C 0053240 l e a r ] , T _ c l e a r A 0053260 T W s ; \r \t C a l l [ S e n d C 0053300 o m m a n d ] , T _ R e a d y A 0053320 n d I n d e x ; \r \t c a l l [ S 0053340 e t - C K D r i v e ] , D r i 0053360 v e N u m b e r _ 2 0 c ; \t * 0053400 S e l e c t d r i v e 0 \r \t 0053420 E M U c o u n t _ A 1 , B l 0053440 o c k ; \t * b l o c k f o r 0053460 w a k e - u p - - t i m e o 0053500 u t a f t 376 001 \0 207 346 e r 1 7 0053520 m s \r \r \t C o u n t S _ 5 C ; \r 0053540 \t C a l l [ R e a d M u f f s ] 0053560 , T _ I n d e x T W m u f f 0053600 ; \t * S e e w h a t w o k e 0053620 u p t h e t a s k . \r \t P 0053640 d _ T a n d ( I n d e x 0053660 T W B i t ) ; \t \r \t S k p I f [ 0053700 a l u # 0 ] , E r r o r s _ T 0053720 ; \r W a k e I d x E r r 9 : \r \t 0053740 E r r o r ; \t * W a k e - U p 0053760 w a s N O T a n I n d e x 0054000 \r \t \t * W a i t R i l l I n d e 0054020 x c o m m a n d p r o b a b 0054040 l y f a i l e d . \r \t E r r o 0054060 r s _ A 0 ; \r 9 L o o p : \r 0054100 \t C a l l [ D o C l e 376 001 \0 I 363 0054120 a r ] , T _ c l e a r A T W 0054140 s ; \r \t C a l l [ S e t - C K D 0054160 r i v e ] , D r i v e N u m b 0054200 e r _ 2 0 c ; \t * S e l e c t 0054220 d r i v e 0 \r \t E M U c o u 0054240 n t _ A 1 , B l o c k ; \t * 0054260 b l o c k f o r w a k e - u 0054300 p - - t i m e o u t a f t 0054320 e r 1 7 m s \r \r \t p d _ E 0054340 M U c o u n t ; \r \t S k p I f [ 0054360 a l u < 0 ] ; \r 9 W a k e u p E 0054400 r r : \t * E m u l a t o r t i 0054420 m e d o u t , w e s h o u 0054440 l d h a v e h a d a w a 0054460 k e - u p \r \t E r r o r ; \t * 0054500 f r o m t h e d i s k b e 0054520 376 001 \0 ? J f o r e E M U c o u 0054540 n t w e n t t o 0 . \r \r \t 0054560 C o u n t S _ 5 C ; \r \t C a l l 0054600 [ R e a d M u f f s ] , T _ 0054620 I n d e x T W m u f f ; \t * S e 0054640 e w h a t w o k e u p t 0054660 h e t a s k . \r \t P d _ T 0054700 a n d ( I n d e x T W B i t 0054720 ) ; \t \r \t L o o p U n t i l [ a 0054740 l u # 0 , 9 L o o p ] , E r r 0054760 o r s _ ( E r r o r s ) + 1 0055000 ; \r \t N o o p ; \r \r \t P d _ 0055020 ( E r r o r s ) # ( 9 D ) ; 0055040 \r \t S k p I f [ a l u = 0 ] ; \r 0055060 S e c t o r E r r 9 : \t * W i t 0055100 h a v a l u e o f 1 4 0055120 O c t a l 376 001 \0 333 311 i n t h 0055140 e S u b - S e c t o r c o u 0055160 n t e r s . \r \t E r r o r ; \t * 0055200 t h e r e s h o u l d h a v 0055220 e b e e n a c o u n t o 0055240 f 9 D e c i m a l s e c t 0055260 o r s . \r \t \t * I C a t A 0 0055300 1 7 4 L S 1 6 9 s h o u l d 0055320 h a v e i n p u t s : B 0 0055340 = 1 , B 1 = 1 , \r \t \t * B 2 = 0055360 0 , B 3 = 0 . \r \t \r \t C a l l 0055400 [ c l e a r - d i s k ] ; \r \t b 0055420 r a n c h [ D o n e ] ; \t * D o 0055440 n e w i t h d i a g n o s t 0055460 i c s \r \f \r * S e t t h e c 0055500 o n t r o l l e r u p s o 0055520 t h a t t h e m 376 001 \0 C 215 i 0055540 d a s S T E P c o m m a n d 0055560 c a n b e u s e d t o 0055600 o b s e r v e \r * t h e s t a 0055620 t e o f t h e c o n t r o 0055640 l l e r a s a w o r d i 0055660 s l o a d e d i n t o t h 0055700 e c o n t r o l l e r a n d 0055720 p r o g r e s s e s \r * t o 0055740 t h e o u t p u t r e g i s 0055760 t e r \r F i f o S t e p : \r \t N 0056000 o o p ; \r \t C a l l [ c l e a r 0056020 - d i s k ] ; \r \t T I O A [ D i 0056040 s k T a g ] , T _ T - T ; 0056060 \r \t O u t p u t _ T ; \r \t C a 0056100 l l [ i n i t - r a m ] ; \t * T 0056120 u r n o n E n a b l e R u 376 0056140 001 \0 V 201 n s o F i f o c a 0056160 n b e l o a d e d . \r \t \t * 0056200 [ K S T A T E = 3 5 4 ] 0056220 \r \t \t * F i f o i s i n i t 0056240 i a l i z e d a n d e m p t 0056260 y [ K F I F O = 2 0 0 0 0056300 ] \r \t T _ 1 C ; 032 z 1 9 7 4 0056320 4 ( 0 , 4 0 0 0 ) ( 1 , 1 1 2 6 0056340 4 ) \ 3 7 4 b 7 B 3 9 2 b 1 7 B 0056360 9 3 b 3 B 2 1 2 b 8 B 5 6 b 7 B 0056400 4 4 b 5 B 3 6 b 1 0 B 3 0 2 b 4 0056420 B 1 1 3 b 1 1 B 6 3 b 9 B 2 3 4 0056440 b 5 B 1 0 b 1 1 B 1 8 0 b 1 0 B 0056460 2 5 7 b 9 B 1 5 3 b 9 B 3 8 1 b 0056500 6 B 7 4 b 7 B 1 1 9 b 1 0 B 5 4 0056520 4 b 1 1 B 2 1 3 b 9 B 1 3 8 b 1 0056540 0 B 1 2 376 001 \0 220 J 6 b 1 0 B 1 2 0056560 4 b 1 0 B 1 3 1 b 1 0 B 1 9 4 b 0056600 3 B 2 4 3 b 8 B 1 4 7 b 8 B 3 2 0056620 4 b 8 B 1 7 9 b 8 B 5 7 b 7 B 3 0056640 6 5 b 6 B 3 3 7 b 8 B 2 8 0 b 8 0056660 B 1 0 b 4 B 5 2 2 b 8 B 1 0 0 b 0056700 7 B 1 2 6 b 9 B 3 1 0 b 9 B 2 4 0056720 2 b 9 B 2 1 7 b 8 B 8 8 b 9 B 2 0056740 4 1 b 1 1 B 3 0 5 b 1 1 B 5 7 4 0056760 b 1 2 B 3 9 b 1 1 B 5 8 b 1 3 B 0057000 1 3 4 b 9 B 1 4 4 b 1 0 B 3 5 1 0057020 b 1 0 B 2 9 6 b 8 B 1 6 6 b 1 4 0057040 B 2 0 9 b 2 1 B 5 0 8 b 3 B 1 6 0057060 6 b 5 B 1 8 0 b 5 B 1 0 5 b 7 B 0057100 3 0 3 b 9 B 5 6 b 6 B 1 2 3 b 9 0057120 B 3 7 b 5 B 1 3 4 b 5 B 2 1 8 b 0057140 7 B 1 8 6 b 9 B 3 376 001 \0 373 257 8 1 0057160 b 1 2 B 3 1 b 1 4 B 6 6 b 7 B 3 0057200 8 2 b 1 0 B 4 9 b 7 B 3 3 5 b 1 0057220 0 B 2 2 0 b 1 4 B 5 8 b 1 0 B 3 0057240 3 7 b 1 3 B 9 2 b 7 B 1 8 1 b 1 0057260 2 B 2 9 4 b 1 2 B 1 8 1 b 9 B 3 0057300 4 6 b 1 2 B 9 4 b 6 B 1 8 1 b 1 0057320 1 B 2 9 3 b 1 1 B 1 8 6 b 8 B 3 0057340 4 4 b 1 1 B 9 2 b 5 B 1 8 1 b 1 0057360 0 B 2 9 7 b 1 0 B 4 3 2 b 8 B 1 0057400 2 6 f 8 1 f 0 \r S e t - P a s 0057420 i v e : \t * M i d a s m u s t 0057440 b e i n P a s i v m o d 0057460 e f o r t h i s t e s t \r 0057500 \t T I O A [ D i s k D a t a ] , 0057520 B r e a k p o i n t ; \t * T I 0057540 O A = 1 2 \r \t N o o p ; 376 001 0057560 \0 236 \ \t * I n R e g i s t e r 0057600 i s l o a d e d \t [ K F 0057620 I F O = 2 0 0 0 ] \r S - o 0057640 u t : \t O u t p u t _ T ; \t * 0057660 W r i t e d a t a ( s e e 0057700 A L U A ) \t [ K F I F O 0057720 = 2 0 0 0 ] \r S - I R : \t N 0057740 o o p ; \t * I n R e g i s t e r 0057760 i s l o a d e d \t [ 0060000 K F I F O = 2 4 0 0 ] \r S 0060020 - F i F o : \t N o o p ; \t * F i 0060040 f o _ I n R e g i s t e r 0060060 \t [ K F I F O = 2 0 2 0 0060100 ] \r \t N o o p ; \t * F i f o E 0060120 m p t y _ 0 ( n o m u f f ) 0060140 \t [ K F I F O = 2 0 2 0 0060160 ] \r 376 001 \0 333 201 S - O R : \t N o 0060200 o p ; \t * O u t R e g i s t e r 0060220 _ F i f o \t [ K F I F O 0060240 = 3 0 2 1 ] \r S - I n : \t 0060260 K S c r _ I n p u t ; \t * I O B 0060300 _ O u t R e g i s t e r \t [ 0060320 K F I F O = 3 0 2 1 ] \r S 0060340 - C k : \t B _ K S c r , B 0060360 r e a k p o i n t ; \t * R e a d 0060400 d a t a ( s e e A L U A ) 0060420 \t [ K F I F O = 2 0 2 1 0060440 ] \r \t T _ T l c y 1 , 0060460 B r a n c h [ S - o u t ] ; \t 0060500 * C h a n g e d a t a a n d 0060520 d o a g a i n \r % O n s u 0060540 c e s s i v e p a s s e s t 0060560 h r o u g h t 376 001 \0 232 \v h i s 0060600 l o o p , K F I F O i s 0060620 i n c r e m e n t e d b y 2 0060640 1 a s t h e t w o 4 b 0060660 i t a d d r e s s c o u n t 0060700 e r s i n c r e m e n t m o 0060720 d u l o 1 6 . T h e d a 0060740 t e w r i t t e n a n d r 0060760 e a d i s 1 l e f t s h 0061000 i f t e d 1 f o r e a c h 0061020 p a s s , a n d i s o n 0061040 t h e " B M u x " s o y 0061060 o u c a n s e e i n i n 0061100 p a s s i v e m o d e o n 0061120 t h e A L U A m u f f l e 0061140 r . \r T h e v a l i d v a l 0061160 u e s f o r i n s t r 376 001 \0 0061200 # C u c t i o n " S - C k " 0061220 a r e : \r K F I F O = 3 0 2 1 0061240 3 0 4 2 3 0 6 3 3 1 0 4 3 0061260 1 2 5 3 1 4 6 3 1 6 7 3 2 0061300 1 0 3 2 3 1 3 2 5 2 3 2 7 0061320 3 3 3 1 4 3 3 3 5 3 3 0061340 5 6 3 3 7 7 3 0 0 0 \r 0061360 A L U A = \t 0 0 0 1 0 0 0 2 0061400 0 0 0 4 0 0 1 0 0 0 2 0 0 0061420 0 4 0 0 1 0 0 0 2 0 0 0 4 0061440 0 0 1 0 0 0 2 0 0 0 4 0 0 0061460 0 1 0 0 0 0 2 0 0 0 0 4 0 0061500 0 0 0 1 0 0 0 0 0 \r % 032 z 1 9 0061520 7 4 4 ( 0 , 4 5 1 2 ) \ b 1 0 B 0061540 3 b 4 1 B 8 9 b 5 B 5 5 b 4 B 5 0061560 0 b 6 B 9 4 b 4 B 4 6 b 4 B 4 9 0061600 b 4 376 001 \0 312 361 B 8 5 b 5 B \r F i 0061620 f o 1 6 S t e p : \t * T o s 0061640 t a r t t e s t t y p e : 0061660 F I F O 1 6 S T E P ; G \r \t N o 0061700 o p ; \t * D a t a i s s e t 0061720 w i t h b i t 1 5 t u r 0061740 n e d o n a n d t h e n 0061760 \r \t C a l l [ c l e a r - d i s 0062000 k ] ; \t * l e f t s h i f t e 0062020 d 1 b i t f o r e a c h 0062040 w o r d \r \t T I O A [ D i s k 0062060 T a g ] , T _ T - T ; \t * 0062100 W e w r i t e a l l 1 6 0062120 l o c a t i o n s a n d r e 0062140 a d a l l 1 6 l o c a t i 0062160 o n s \r \t O u t p u t _ T ; \t 0062200 * T h e r e 376 001 \0 K B i s n 0062220 o c h e c k i n g i n t h 0062240 i s t e s t \r \t C a l l [ i n 0062260 i t - r a m ] ; \t \r \t T _ 1 0062300 C ; \r 1 6 S e t - P a s i v e : 0062320 \t * M i d a s m u s t b e 0062340 i n P a s i v e m o d e f 0062360 o r t h i s t e s t \r \t K S 0062400 c r _ ( 2 0 C ) ; \r \t T I O 0062420 A [ D i s k D a t a ] ; \t * T I 0062440 O A = 1 2 \r \t N o o p ; \t * 0062460 T h e d a t a p a t t e r n 0062500 i s i n " T " a n d l 0062520 e f t s h i f t e d \r 1 6 S 0062540 - o u t : O u t p u t _ T ; \t 0062560 * C h a n g e " T " t o a 0062600 n y t h i n g y o u 376 001 \0 361 0062620 + l i k e \r \t N o o p , B r e 0062640 a k p o i n t ; \t * B r e a k p 0062660 o i n t t o o b s e r v e 0062700 d a t a p a t t e r n \r \t N o 0062720 o p ; \t * R e m o v e B r e 0062740 a k p o i n t f o r s c o p 0062760 e i n g \r \t N o o p ; \t \r \t N o 0063000 o p ; \t \r \t T _ T l c y 0063020 1 ; \r \t K S c r _ ( K S c r 0063040 ) - 1 ; \r \t S k p I f [ a l u = 0063060 0 ] ; \r \t B r a n c h [ 1 6 S - 0063100 o u t ] ; \r \t K S c r _ ( 2 0063120 0 C ) ; \r 1 6 S - I n : K S c r 0063140 2 _ I n p u t ; \t \r 1 6 S - C k 0063160 : B _ K S c r , B r e a k 0063200 p o i n t ; \t * B r e a k p o i 0063220 n 376 001 \0 311 034 t t o o b s e r 0063240 v e d a t a p a t t e r n \r 0063260 \t K S c r _ ( K S c r ) - 1 0063300 ; \t * R e m o v e B r e a k 0063320 p o i n t f o r s c o p e i 0063340 n g \r \t S k p I f [ a l u = 0 ] 0063360 ; \r \t B r a n c h [ 1 6 S - i n 0063400 ] ; \t \t \r \t B r a n c h [ 1 6 S 0063420 e t - P a s i v e ] ; \r \f \r * S 0063440 u b r o u t i n e s \r \t s u b r 0063460 o u t i n e ; \t \r \r r e a d 1 M 0063500 u f f : \t * m u f f l e r n u 0063520 m b e r i s i n T \r \t T I 0063540 O A [ D i s k M u f f ] , G l 0063560 o b a l ; \r \t O u t p u t _ T 0063600 ; \r \t n o o p ; \r \t T _ I n p 0063620 u t ; \r \t P 376 001 \0 315 T d _ T , 0063640 R e t u r n ; \t * r e t u r n 0063660 s w i t h a l u t e s t 0063700 h a n g i n g \r \r \r r e a d 2 0 0063720 M u f f s : \t * m u f f l e r 0063740 n u m b e r i s i n T \r \t 0063760 C o u n t S _ 2 0 C , G l o 0064000 b a l ; \t * S e t c o u n t 0064020 t o 2 0 \r \t B r a n c h [ f o 0064040 o ] , K S c r S _ A 0 ; \t * 0064060 c l e a r o u t s t a r t i 0064100 n g v a l u e \r \r R e a d M u 0064120 f f s : \t * T p l u s c o u 0064140 n t i n C o u n t S \r \t K S 0064160 c r S _ A 0 , G l o b a l ; \t 0064200 * c l e a r o u t s t a r t 0064220 i n g v a l u e \r \r 376 001 \0 6 \t 0064240 f o o : \t T I O A [ D i s k M u 0064260 f f ] , K S c r 4 _ T ; \r l o o 0064300 p R d M f : \r \t O u t p u t _ 0064320 K S c r 4 , K S c r 4 _ ( K 0064340 S c r 4 ) + 1 ; \r \t C o u n 0064360 t S _ ( C o u n t S ) - 1 0064400 ; \r \t b r a n c h [ . + 3 , a 0064420 l u < 0 ] , K S c r S _ ( K 0064440 S c r S ) l c y 1 ; \r \t T _ 0064460 i n p u t ; \r \t K S c r S _ 0064500 ( K S c r S ) O R T , b r 0064520 a n c h [ l o o p R d M f ] ; \r 0064540 \r \t K S c r S _ T _ ( K S c 0064560 r S ) r c y 1 , r e t u r 0064600 n ; \t * v a l u e s a r e r 0064620 e t u r n e d i n K S c r S 0064640 376 001 \0 336 315 a n d T \r \r \r D o 0064660 C l e a r : \t * b i t s t o 0064700 b e c l e a r e d a r e i 0064720 n T \r \t * N o o p , G l o b a 0064740 l ; \r \t T I O A [ D i s k M u f 0064760 f ] , G l o b a l ; \r \t O u t p 0065000 u t _ T ; N o o p ; N o o 0065020 p ; \t * N o o p s r e q u i r 0065040 e d f o r w a k e - u p s 0065060 t o c l e a r \r \t r e t u r n 0065100 ; \r \r \r * r e t u r n s w h 0065120 e n a s e e k / t a g T W 0065140 i s a c t u a l l y s e e n 0065160 - o r w h e n t h e E 0065200 M U t a s k t i m e s o u 0065220 t \r * A n a c t u a l h a r 0065240 d a r e 376 001 \0 / 363 w a k e u p 0065260 w i l l c a u s e t h e 0065300 s u b r o u t i n e t o r e 0065320 t u r n - 1 \r * A n E M U 0065340 t i m e o u t w i l l r e t 0065360 u r n 0 \r S e n d T a g : \t * 0065400 T A G v a l u e i s i n 0065420 T \r \t K S c r L _ L i n k ; \r 0065440 \t t o p l e v e l ; \t * * * * 0065460 * \r \t T I O A [ D i s k T a g ] 0065500 ; \r \t O u t p u t _ T ; \r \t C 0065520 a l l [ r e a d 1 M u f f ] , 0065540 T _ I O B P E r r M u f f ; \t 0065560 * C h e c k t h a t O u t p 0065600 u t d i d n ' t c a u s e 0065620 a p a r i t y e r r o r \r \t 0065640 S k p I f [ a l u = 376 001 \0 026 210 0 0065660 ] ; \r O u t P e r r : \r \t L i n 0065700 k _ K S c r L , b r a n c h [ . 0065720 ] , b r e a k p o i n t ; \t * 0065740 C o n t r o l l e r d e t e c 0065760 t e d I O B p a r i t y e 0066000 r r o r \r \t \t * d u e t o t 0066020 h e p r e v i o u s w r i t 0066040 e \r \t N o o p ; \r S n d T a g 0066060 L : \r \t C a l l [ D o C l e a r 0066100 ] , T _ c l e a r A L L b u 0066120 t T a g T W ; \r \t E M U c o u n 0066140 t _ 4 0 C , B l o c k ; \t * 0066160 b l o c k f o r w a k e - u 0066200 p - - 3 u s m a x i m u m \r 0066220 \r \t C o u n t S _ 5 C ; \t * b l 0066240 o c k f o r w a k e - u p 376 0066260 001 \0 \a ? \r \t C a l l [ R e a d M 0066300 u f f s ] , T _ I n d e x T 0066320 W m u f f ; \t * S e e w h a t 0066340 w o k e u p t h e t a s 0066360 k \r \t S k p U n l e s s [ a l u 0066400 = 0 ] , K S c r S _ T ; \t * L 0066420 o o p b a c k a n d w a i 0066440 t f o r a n o t h e r w a 0066460 k e u p \r \t B r a n c h [ T a g 0066500 T W s e e n ] ; \t * L o o p b 0066520 a c k a n d w a i t f o r 0066540 a n o t h e r w a k e u p \r 0066560 \t P d _ T a n d ( 4 C ) 0066600 ; \r \t L o o p W h i l e [ a l u 0066620 = 0 , S n d T a g L ] ; \t * L 0066640 o o p b a c k a n d w a i 0066660 t f o 376 001 \0 * o r a n o t h 0066700 e r w a k e u p \r \r \t N o o p 0066720 ; \r T a g T W s e e n : \r \t C 0066740 a l l [ D o C l e a r ] , T _ 0066760 c l e a r A L L ; \r \r \t S u b 0067000 r o u t i n e ; \t \r \t L i n k _ 0067020 K S c r L ; \r \t E M U c o u n 0067040 t _ A 0 ; \t * s t o p t h 0067060 e E m u l a t o r t a s k 0067100 f r o m c o u n t i n g \r \t T 0067120 _ K S c r S , R e t u r n 0067140 ; \r \r S e t D r i v e : \r \t T I 0067160 O A [ D i s k T a g ] , G l o b 0067200 a l ; \r \t O u t p u t _ T ; 0067220 \t * F i r s t s e t t h e 0067240 v a l u e i n t h e 1 2 0067260 b i t r e g i s 376 001 \0 D 224 t e 0067300 r \r \t T _ T O R ( D r v 0067320 S e l e c t T A G ) ; \t * d r i 0067340 v e s e l e c t p l u s D 0067360 r i v e T a g b i t \r \t O u t 0067400 p u t _ T ; \t * N o w t u r 0067420 n o n t h e s t r o b e \r 0067440 \t T _ T a n d ( 7 7 7 7 0067460 C ) ; \t * d r i v e s e l e c 0067500 t o n l y \r \t O u t p u t _ 0067520 T , R e t u r n ; \t * F i n a 0067540 l l y t u r n o f f t h e 0067560 s t r o b e \r \r S e t S e c t 0067600 o r : \r \t K S c r L _ L i n 0067620 k , G l o b a l ; \r \t t o p l 0067640 e v e l ; \t \r \t C a l l [ S e t 0067660 D r i v e ] ; \r \t T _ T 376 001 0067700 \0 203 306 o r ( S e c t o r C n 0067720 t E n a b l e ) ; \r \t C a l l [ 0067740 S e t D r i v e ] ; \r \r \t S u b 0067760 r o u t i n e ; \t \r \t L i n k _ 0070000 K S c r L ; \r \t R e t u r n ; 0070020 \r \r S e n d C o m m a n d : \t * 0070040 c o m m a n d i s i n T \r 0070060 \t T I O A [ D i s k C o n t r o 0070100 l ] , G l o b a l ; \r \t O u t p 0070120 u t _ T , r e t u r n ; \r \r 0070140 c l e a r - d i s k : \r \t R B a 0070160 s e _ R B a s e [ E r r o r s ] 0070200 , G l o b a l ; \t * N o t n e 0070220 e d e d \r \t K S c r L _ L i 0070240 n k ; \r \t T o p L e v e l ; \t 0070260 * * * * \r \t T _ E M U l o c ; 0070300 \t * s 376 001 \0 [ 202 e t t h e E 0070320 M U P C t o i t s l o o 0070340 p \r \t L i n k _ T ; \r \t L d T 0070360 P C _ E M U ; \r \t E M U c o u 0070400 n t _ A 0 ; \t * C l e a r E M 0070420 U c o u n t e r \r \t T _ D i s 0070440 k C o n t r o l ; \t * S e t T 0070460 I O A w i t h B m u x t o 0070500 a d i s k T I O A \r \t T I 0070520 O A _ T ; \r \t T _ N o E n a b l 0070540 e R u n ; \t * T u r n o f f 0070560 E n a b l e R u n \r \t S u b r o 0070600 u t i n e ; \t * * * * * \r \t L i 0070620 n k _ K S c r L ; \r \t O u t p 0070640 u t _ T , R e t u r n ; \r \r 0070660 i n i t - r a m : \t * i n i t 0070700 f o r m a t R 376 001 \0 C \t a m 0070720 i n D i a b l o f o r m a t 0070740 \r \t T I O A [ D i s k R a m ] ; 0070760 \r \t T _ 1 C ; \t * h e a d e r 0071000 c o u n t - 1 \r \t O u t p 0071020 u t _ T ; \r \t T _ 7 C ; \t * 0071040 l a b e l c o u n t - 1 \r 0071060 \t O u t p u t _ T ; \r \t T _ 0071100 3 7 7 C ; \t * d a t a c o u n 0071120 t - 1 \r \t O u t p u t _ T 0071140 , T _ T - T ; \r \t O u t 0071160 p u t _ T ; \t * u n u s e d 0071200 b l o c k = 0 \r \t T _ 1 0 0071220 4 C ; \t * l o o k f o r D 1 0071240 T r i d e n t s y n c p a t 0071260 t e r n / r e a d c o m m a n 0071300 d \r \t O u t p u t _ T ; 376 001 \0 0071320 023 < \r \t T _ 2 0 4 C ; \t * w r 0071340 i t e c o m m a n d \r \t O u t 0071360 p u t _ T ; \r \t T _ 4 C ; \t 0071400 * i n i t c o m m a n d \r \t O 0071420 u t p u t _ T , T _ T - 0071440 T ; \r \t O u t p u t _ T ; \t 0071460 * r e s e t c o m m a n d i 0071500 s 0 \r \t T _ 3 3 C ; \t * w r 0071520 i t e d e l a y f i r s t 0071540 b l o c k \r \t O u t p u t _ T 0071560 ; \r \t T _ 6 C ; \t * w r i t e 0071600 d e l a y s u c c e s s i v 0071620 e b l o c k s \r \t O u t p u t 0071640 _ T ; \r \t T _ 1 1 C ; \t * r 0071660 e a d d e l a y f i r s t 0071700 b l o c k \r \t O u t p u t _ T 0071720 ; \r 376 001 \0 003 t \t T _ 2 C ; \t * 0071740 r e a d d e l a y s u c c e 0071760 s s i v e b l o c k s \r \t O u 0072000 t p u t _ T ; \r \t O u t p u t 0072020 _ T , T _ T - 1 ; \t * 0072040 h e a d s e l e c t d e l a 0072060 y i s a l s o 2 \r \t O u t 0072100 p u t _ T , T _ T - 1 0072120 ; \t * n o . o f E C C w o 0072140 r d s - 1 = 1 \r \t O u t 0072160 p u t _ T ; \t * t h e c o n 0072200 s t a n t 1 - 1 = 0 \r 0072220 \t O u t p u t _ T ; \t * m u s 0072240 t w r i t e l a s t w o r 0072260 d t o t u r n o n E n a 0072300 b l e R u n \r \t T I O A [ D i s 0072320 k C o n t r o 376 001 \0 \r 234 l ] ; \t 0072340 * n o w a k e u p s ' t i l 0072360 R e a d y & I n d e x \r \t T _ 0072400 R e a d y A n d I n d e x ; \r 0072420 \t O u t p u t _ T ; \r \t T I O 0072440 A [ D i s k M u f f ] ; \r \t T _ 0072460 c l e a r A L L ; \t * c l e a 0072500 r E r r o r s + c l e a r T 0072520 W s a n d r e t u r n s \r \t 0072540 O u t p u t _ T , R e t u r 0072560 n ; \r \r * A n d n o w m y 0072600 o w n f a v o r i t e r a n 0072620 d o m n u m b e r g e n e r 0072640 a t o r \r * Y o u g i v e i 0072660 t s o m e n u m b e r , a 0072700 n d i t r e t u r n s a 0072720 n e w n u m b e r \r \r 376 001 \0 F 0072740 031 M a k e R a n d o m : \t * O l 0072760 d v a l u e i s i n T \r 0073000 \t P d _ T , G l o b a l ; \r 0073020 \t B r a n c h [ . + 3 , a l u < 0073040 0 ] , T _ T L S H 1 ; 0073060 \t * S k i p t o r e t u r n 0073100 \r \t T _ T # ( 7 7 0 0 0 0073120 C ) ; \r \t T _ T # ( 2 1 0073140 3 C ) ; \t * X O R b y v a l 0073160 u e 7 7 2 1 3 \r \t R e t u r n 0073200 ; \t * a n d R e t u r n \r \r S 0073220 e t - C K D r i v e : \r \t K S c 0073240 r L _ L i n k , G l o b a l 0073260 ; \r \t t o p l e v e l ; \t \r \t 0073300 C a l l [ S e t D r i v e ] T 0073320 _ D r i v e N u m b e r ; \r \t C 0073340 a 376 001 \0 030 367 l l [ r e a d 1 M u 0073360 f f ] , T _ D i s k S e l e c 0073400 t M u f f ; \t * m u f f l e r 0073420 n u m b e r i s i n T \r \t 0073440 K S c r S _ T l s h 1 ; \t * 0073460 R e a d t h e t w o D r i 0073500 v e S e l e c t m u f f l e r 0073520 s \r \t C a l l [ r e a d 1 M u f 0073540 f ] , T _ D i s k S e l e c t 0073560 M u f f + 1 ; \t * m u f f l e r 0073600 n u m b e r i s i n T \r 0073620 \t S u b r o u t i n e ; \r \t L i 0073640 n k _ K S c r L ; \t \r \t \r T _ 0073660 ( K S c r S ) o r T , R 0073700 e t u r n ; \r \t t o p l e v e 0073720 l ; \r \f 032 z 1 9 7 4 4 ( 0 , 4 0 0073740 0 0 ) \ b 1 376 001 \0 _ e 0 B 1 0 8 0073760 f 8 1 f 0 1 8 5 b 1 2 B 3 b 0074000 4 2 B 9 7 b 7 B 1 0 0 b 1 B 4 7 0074020 b 1 B 6 2 b 7 B 1 8 b 6 B 1 5 b 0074040 6 B 1 3 3 b 6 B 1 3 b 1 2 B 6 b 0074060 1 1 B 1 5 b 1 0 B 1 3 0 b 1 1 B 0074100 1 1 7 b 9 B 7 2 b 3 B 2 6 b 8 B 0074120 2 2 8 b 7 B 3 1 6 b 7 B 1 7 7 b 0074140 7 B 1 1 2 b 7 B 4 0 8 b 9 B 1 3 0074160 5 b 8 B 2 6 5 b 9 B 1 3 9 b 1 1 0074200 B 6 7 b 1 0 B 3 2 1 b 8 B 1 0 4 0074220 0 b 1 0 B 1 6 4 b 1 1 B \r * C 0074240 O D E f o r m i d a s d e 0074260 b u g g i n g \r \t t o p l e v 0074300 e l ; \r s e t [ d b g T b l s , 0074320 1 0 0 ] ; \r l 1 : \t b r a n c 0074340 h [ l 1 ] , \t a t [ d 376 001 \0 U 225 0074360 b g T b l s , 0 ] ; \r l 2 : \t n 0074400 o o p , \t a t [ d b g T b l s , 0074420 1 ] ; \r \t b r a n c h [ l 2 ] , 0074440 \t a t [ d b g T b l s , 2 ] ; \r 0074460 l 3 : \t n o o p , \t a t [ d b g 0074500 T b l s , 3 ] ; \r \t n o o p , \t 0074520 a t [ d b g T b l s , 4 ] ; \r \t 0074540 b r a n c h [ l 3 ] , \t a t [ d 0074560 b g T b l s , 5 ] ; \r l 4 : \t n 0074600 o o p , \t a t [ d b g T b l s , 0074620 6 ] ; \r \t n o o p , \t a t [ d b 0074640 g T b l s , 7 ] ; \r \t n o o p , 0074660 \t a t [ d b g T b l s , 1 0 ] ; 0074700 \r \t b r a n c h [ l 4 ] , \t a t 0074720 [ d b g T b l s , 1 1 ] ; \r l 5 0074740 : \t n o o p , \t a t [ d b g T b 0074760 376 001 \0 321 Q l s , 1 2 ] ; \r \t n o 0075000 o p , \t a t [ d b g T b l s , 1 0075020 3 ] ; \r \t n o o p , \t a t [ d b 0075040 g T b l s , 1 4 ] ; \r \t n o o p 0075060 , \t a t [ d b g T b l s , 1 5 ] 0075100 ; \r \t b r a n c h [ l 5 ] , \t a 0075120 t [ d b g T b l s , 1 6 ] ; \r l 0075140 6 : \t n o o p , \t a t [ d b g T 0075160 b l s , 1 7 ] ; \r \t n o o p , \t 0075200 a t [ d b g T b l s , 2 0 ] ; \r 0075220 \t n o o p , \t a t [ d b g T b l 0075240 s , 2 1 ] ; \r \t n o o p , \t a t 0075260 [ d b g T b l s , 2 2 ] ; \r \t n 0075300 o o p , \t a t [ d b g T b l s , 0075320 2 3 ] ; \r \t b r a n c h [ l 6 ] 0075340 , \t a t [ d b g T b l s , 2 4 ] 0075360 ; \r \r E N 376 \0 ) 246 024 D ; 032 ( 6 3 0075400 5 ) \ 5 7 b 2 B 3 0 b 2 B 5 1 b 0075420 2 B 7 3 b 2 B 9 7 b 2 B 1 2 2 b 0075440 2 B \r 377 \0 \0 b a c k u p t r i c 0075460 o n d . c m \0 373 223 276 @ r \0 \0 376 001 0075500 \0 377 347 F T P I v y c o n n e 0075520 c t / c D o r a d o S o u r c 0075540 e t p a i p a ^ \r D e l e t 0075560 e / c T r i c o n D - D i a g 0075600 n o s t i c s . d m ^ \r d u m 0075620 p / c T r i c o n D - D i a g 0075640 n o s t i c s . d m T r i c o 0075660 n D * . m c * T r i c o n D . 0075700 c m P o s t a m b l e . m c 0075720 P r e a m b l e . m c D 1 L a 0075740 n g . m c K e r n e l a l u . 0075760 m c ^ \r C l o s e / c O p e 0076000 n / c M A X C c o n n e c t 0076020 / c D 1 S o u r c e t p a i 0076040 p a ^ \r d u m p / c T r i c 0076060 o n D - D i a g n o s t i c s . 0076100 d m 376 \0 H v 242 T r i c o n D * 0076120 . m c * T r i c o n D . c m 0076140 P o s t a m b l e . m c P r e 0076160 a m b l e . m c D 1 L a n g . 0076200 m c K e r n e l a l u . m c \r 0076220 377 \0 \0 p l a c e t r i c o n d . 0076240 c m \0 373 223 276 @ r \0 \0 376 \0 7 j 9 m 0076260 i c r o d / i / n T r i c o n 0076300 D S a v e D e f s T r i c o n 0076320 D P o s t a m b l e T r i c o 0076340 n D / / \r 377 \0 \0 s a v e c o d 0076360 e t r i c o n d . c m \0 373 223 276 @ 0076400 r \0 \0 376 \0 8 344 1 m i c r o / u / 0076420 o T r i c o n D S a v e D e f 0076440 s / r T r i c o n D P o s t a 0076460 m b l e / b p o s t a m b l e 0076500 377 \0 \0 s a v e d e f s t r i c o 0076520 n d . c m \0 373 223 276 @ r \0 \0 376 \0 G 0076540 4 : m i c r o / u T r i c o n 0076560 D S a v e D e f s / s T r i c 0076600 o n D S a v e D e f s / b D 1 0076620 L a n g k e r n e l A l u p 0076640 r e a m b l e \r 377 \0 \0 s a v e 0076660 t r i c o n d . c m \0 373 223 276 @ r 0076700 \0 \0 376 \0 264 216 006 @ S a v e D e f s 0076720 T r i c o n D . c m @ / / 0076740 m i c r o / u / o T r i c o n 0076760 D S a v e D e f s / s T r i c 0077000 o n D S a v e D e f s / b d 1 0077020 L a n g k e r n e l A l u p 0077040 r e a m b l e \r @ S a v e C o 0077060 d e T r i c o n D . c m @ / 0077100 / m i c r o / u / o T r i c 0077120 o n D S a v e D e f s / r T r 0077140 i c o n D P o s t a m b l e / b 0077160 p o s t a m b l e \r 377 \0 \0 s e 0077200 n d t r i c o n d . c m \0 373 223 276 0077220 @ r \0 \0 376 \0 _ 220 345 F T P I v y 0077240 c o n n e c t / c D o r a d 0077260 o t p a i p a d e l e t e / 0077300 c T r i c o n D . d m d u m 0077320 p / c T r i c o n D . d m T 0077340 r i c o n D . m b T r i c o n 0077360 D . m i d a s \r 377 \0 \0 t r i c o 0077400 n d . c m \0 373 223 276 @ r \0 \0 376 \0 V 0077420 ' . @ S a v e T r i c o n D . c 0077440 m @ \r m i c r o / o u E / E 0077460 T r i c o n D S a v e D e f s / 0077500 r T r i c o n D - d e f s T 0077520 r i c o n D \r @ P l a c e T r i 0077540 c o n D . c m @ 377 \0 \0 T r i c o 0077560 n D T o L o g i n . c m \0 373 231 @ 0077600 307 343 \0 \0 376 \0 320 360 364 F T P I v y 0077620 ^ \r d u m p / c d o r a d 0077640 o > T r i c o n D - D i a g n o 0077660 s t i c s . d m T r i c o n D 0077700 * . m c * T r i c o n D . c m 0077720 T r i c o n D T o L o g i n . 0077740 c m T r i c o n D T o I n d i 0077760 g o . c m P o s t a m b l e . 0100000 m c P r e a m b l e . m c D 0100020 1 L a n g . m c K e r n e l a 0100040 l u . m c ^ \r d u m p / c d 0100060 o r a d o > T r i c o n D . d m 0100100 T r i c o n D . m b T r i c 0100120 o n D . m i d a s 377 \0 \0 T r i c 0100140 o n D T o I n d i g o . c m \0 373 0100160 235 035 ` 0 \0 \0 376 \0 274 263 i F T P I 0100200 n d i g o c o n n e c t / c 0100220 D o r a d o S o u r c e ^ \r d 0100240 u m p / c T r i c o n D - D i 0100260 a g n o s t i c s . d m T r i 0100300 c o n D * . m c * T r i c o n 0100320 D . c m T r i c o n D T o L o 0100340 g i n . c m T r i c o n D T o 0100360 I n d i g o . c m ^ \r c o n n 0100400 e c t / c D o r a d o d u m 0100420 p / c T r i c o n D . d m T 0100440 r i c o n D . m b T r i c o n 0100460 D . m i d a s 374 0100470