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