$ od -c -N 50000 [Indigo]<DLion>Release>DLionMicrocode>Private>Phase0.mc!1
0000000 { F i l e n a m e : P h a
0000020 s e 0 . m c \r D e s c r i p t
0000040 i o n : P R O M u C o d e
0000060 u s e d i n s t a r t i n g
0000100 b o o t i n g s e q u e n c
0000120 e , \r D e n n i s G r u n d
0000140 l e r : 2 - S e p - 8 4 1
0000160 5 : 5 2 : 1 6 , a d d c o p
0000200 y r i g h t n o t i c e . \r L
0000220 a s t E d i t e d : D a n
0000240 D a v i e s , F e b r u a r y
0000260 1 7 , 1 9 8 2 1 0 : 2 3
0000300 A M : C l a r i f y c o d
0000320 e , e l i m i n a t e u n m
0000340 a s k e d b r a n c h e s ,
0000360 f i x r e c a l c o d e \r \t
0000400 f o r Q u a n t u m d r i v
0000420 e ( r e c a l o v e r 5 7
0000440 6 c y l i n d e r s i n ,
0000460 n o t 5 1 2 ) . \r L a s t E
0000500 d i t e d : A m y F a s n a
0000520 c h t , J a n u a r y 2 1 ,
0000540 1 9 8 2 3 : 5 7 P M :
0000560 C h a n g e b o o t f i l e
0000600 n u m b e r s t o 3 - w o
0000620 r d q u a n t i t y . \r L a s
0000640 t E d i t e d : A m y F a
0000660 s n a c h t , J a n u a r y
0000700 1 2 , 1 9 8 2 4 : 3 3 P
0000720 M : C h a n g e u B o o t F
0000740 i l e T y p e v a l u e s . \r
0000760 L a s t E d i t e d : A m y
0001000 F a s n a c h t , J a n u a
0001020 r y 1 2 , 1 9 8 2 9 : 0
0001040 8 A M : C h a n g e c o m
0001060 m e n t s t o j i v e w i
0001100 t h n e w b o o t D e v i c
0001120 e v a l u e s . \r L a s t E
0001140 d i t e d : J o z e f F u r
0001160 s t , J a n u a r y 7 , 1
0001200 9 8 2 9 : 5 4 A M : C h
0001220 a n g e r e g i s t e r r E
0001240 t o R A d r i n l a s t
0001260 c l i c k . \r L a s t E d i
0001300 t e d : A m y F a s n a c h
0001320 t , J a n u a r y 5 , 1 9
0001340 8 2 9 : 5 4 A M : C h a
0001360 n g e B o o t D e v i c e v
0001400 a l u e s . \r L a s t E d i t
0001420 e d : A m y F a s n a c h t
0001440 , J a n u a r y 5 , 1 9 8
0001460 2 9 : 0 6 A M : C h a n
0001500 g e o r d e r i n g . \r L a s
0001520 t E d i t e d : A m y F a
0001540 s n a c h t , D e c e m b e r
0001560 2 1 , 1 9 8 1 4 : 0 0
0001600 P M : A d d T a s k 4 t
0001620 o c h e c k f o r d i s k
0001640 t y p e . \r L a s t E d i t
0001660 e d : J o z e f F u r s t ,
0001700 D e c e m b e r 1 8 , 1 9
0001720 8 1 2 : 5 6 P M : T r i
0001740 d e n t p o w e r r e s e t
0001760 a d d e d . \r L a s t E d i
0002000 t e d : J o z e f F u r s t
0002020 , D e c e m b e r 1 1 , 1
0002040 9 8 1 1 1 : 5 5 A M : T
0002060 r i d e n t 2 & 3 a d d e
0002100 d . \r L a s t E d i t e d :
0002120 J o z e f F u r s t , D e c
0002140 e m b e r 3 , 1 9 8 1 3
0002160 : 2 5 P M : T e s t f o r
0002200 S A X 0 0 0 / T r i d e n t
0002220 a d d e d . \r L a s t E d i t
0002240 e d : J i m F r a n d e e n
0002260 , N o v e m b e r 2 4 , 1
0002300 9 8 1 5 : 1 4 P M : C h
0002320 a n g e r D t o r E f o
0002340 r T r i d e n t B o o t 0 . \r
0002360 L a s t E d i t e d : A m y
0002400 F a s n a c h t , N o v e m
0002420 b e r 2 4 , 1 9 8 1 9 :
0002440 5 7 A M : A d d b o o t D
0002460 e v i c e = 7 c o d e \r L
0002500 a s t E d i t e d : A m y
0002520 F a s n a c h t , N o v e m b
0002540 e r 1 6 , 1 9 8 1 1 0 :
0002560 1 5 A M : D e l e t e s e
0002600 t t i n g o f K C t l r e
0002620 g i s t e r \r L a s t E d i t
0002640 e d : A m y F a s n a c h t
0002660 , N o v e m b e r 1 3 , 1
0002700 9 8 1 1 0 : 5 9 A M : R
0002720 e d u c e c o d e b y 1 3
0002740 i n s t r u c t i o n s \r L a
0002760 s t E d i t e d : A m y F
0003000 a s n a c h t , N o v e m b e
0003020 r 9 , 1 9 8 1 4 : 1 3
0003040 P M : F i x a l l o c a t i
0003060 o n e r r o r c a u s e d
0003100 b y a d d i t i o n o f T
0003120 r i d e n t \r L a s t E d i t
0003140 e d : J o z e f F u r s t ,
0003160 N o v e m b e r 4 , 1 9 8
0003200 1 2 : 0 8 P M : T r i d
0003220 e n t b o o t m i c r o c o
0003240 d e a d d e d \r L a s t E d
0003260 i t e d : A m y F a s n a c
0003300 h t , S e p t e m b e r 1 4
0003320 , 1 9 8 1 1 2 : 1 9 P M
0003340 : C h a n g e c l o c k a
0003360 n d r e t r y c o u n t t
0003400 o R r e g i s t e r s \r L a
0003420 s t E d i t e d : J i m F
0003440 r a n d e e n , S e p t e m b
0003460 e r 1 0 , 1 9 8 1 1 : 2
0003500 8 P M : A d d E t h e r
0003520 b o o t i n g \r L a s t E d i
0003540 t e d : O g u s , J u l y
0003560 1 0 , 1 9 8 1 1 2 : 5 5
0003600 P M \r L a s t E d i t e d :
0003620 J a r v i s , M a r c h 1 9
0003640 , 1 9 8 1 6 : 3 3 P M \r
0003660 A u t h o r : J a r v i s , \r
0003700 C r e a t e d : A u g u s t
0003720 2 5 , 1 9 8 0 , \r } \r \r { \t
0003740 C o p y r i g h t ( C ) 1 9
0003760 8 0 , 1 9 8 1 , 1 9 8 2 b
0004000 y X e r o x C o r p o r a t
0004020 i o n . A l l r i g h t s
0004040 r e s e r v e d . } \r \r \r { I
0004060 O P a n d C P u s e r e
0004100 a l m e m o r y l o c a t i
0004120 o n s 0 a n d 1 f o r
0004140 c o m m u n i c a t i o n d u
0004160 r i n g b o o t i n g . A
0004200 n y b o o t m i c r o c o d
0004220 e m u s t f i r s t d i s
0004240 a b l e t h e I O P a n d
0004260 c l e a r t h o s e l o c
0004300 a t i o n s . T h e C P
0004320 u s e s l o c a t i o n 0
0004340 t o i n d i c a t e w h i c
0004360 h d e v i c e s f o r b o
0004400 o t i n g a r e p r e s e n
0004420 t . D e v i c e s a r e
0004440 c o d e d o n e b i t p e
0004460 r d e v i c e ( 0 i n d i
0004500 c a t e s n o t i n i t i a
0004520 l i z e d ) \r \r \t 1 \t S A 4 0 0
0004540 0 \r \t 2 \t S A 1 0 0 0 \r \t 4 \t E
0004560 t h e r n e t \r \t 8 \t T r i d e
0004600 n t \r \r A f t e r i n i t i a
0004620 l i z i n g l o c a t i o n
0004640 0 , t h e C P e n a b l e
0004660 s t h e I O P t a s k a
0004700 n d w a i t s f o r t h e
0004720 I O P t o p r e l o a d
0004740 t h e n e c e s s a r y U
0004760 r e g i s t e r s . A f t e
0005000 r t h e I O P l o a d s
0005020 U r e g i s t e r s , t h e
0005040 I O P t a s k r e c i e v
0005060 e s t h e b o o t d e v i
0005100 c e f r o m t h e I O P .
0005120 T h e C P t h e n e n
0005140 a b l e s t h e b o o t d
0005160 e v i c e a n d l o a d s
0005200 t h e b o o t f i l e i n
0005220 t o m a i n s t o r a g e
0005240 s t a r t i n g a t l o c a
0005260 t i o n 1 0 0 . I f f l
0005300 o p p y b o o t i n g i s
0005320 s p e c i f i e d , t h e C
0005340 P j u s t l o o p s i n
0005360 t 350 e p r o t e c t e d a r
0005400 e a . \r \r A f t e r t h e C
0005420 P l o a d s t h e b o o t
0005440 f i l e , t h e l o c a t
0005460 i o n 1 g e t s n o n - z
0005500 e r o t o i n d i c a t e
0005520 t h e c o m p l e t i o n c
0005540 o d e ( b o o t f i l e l
0005560 o a d e d o r e r r o r ) .
0005600 I f t h e h i g h b y
0005620 t e i s n o n - z e r o ,
0005640 l o c a t i o n 1 i s t h
0005660 e r e a l a d d r e s s o
0005700 f t h e b o o t f i l e .
0005720 I f t h e 350 i g h b y
0005740 t e i s z e r o , t h e
0005760 l o w b y t e c o n t a i n
0006000 s a n e r r o r c o d e .
0006020 T h e b o o t t i m e
0006040 e r r o r c o d e s i n c l
0006060 u d e \r \r \t 1 \t d e v i c e e
0006100 r r o r \r \t 2 \t n u l l g e r
0006120 m \r \t 3 \t b r o k e n b o o t
0006140 c h a i n \r \t 4 \t i l l e g a
0006160 l c o m m a n d s e n t t
0006200 o I O P \r \t 5 \t p r o c e s s
0006220 o r e r r o r t r a p p e d
0006240 t h r o u g h c o n t r o l
0006260 s t o r e l o c a t i o n
0006300 0 \r \r A f t e r c o m p l e t
0006320 i n g t h e b o o t f i l
0006340 e l o a d i n g t h e C P
0006360 l o o p s i n f i n i t e l
0006400 y i n t h e p r o t e c t
0006420 e d a r e a . } \r \r { D E F I
0006440 N I T I O N S } \r \r R e s e r v
0006460 e [ P r o t e c t S t a r t ,
0006500 P r o t e c t F e n c e ] , R
0006520 e s e r v e [ 0 F E 0 , 0 F F
0006540 F ] ; \t { s a v e r o o m f
0006560 o r b o o t k e r n e l } \r
0006600 \t { \r \t P h a s e 0 P r o t e c
0006620 t e d ( P r o t e c t e d . m
0006640 c , I O P B o o t . m c ) r
0006660 e s i d e s i n 0 - 0 0
0006700 F F \r \t P h a s e 0 ( P h a s
0006720 e 0 . m c , D i s k B o o t D
0006740 L i o n . m c , E t h e r B o
0006760 o t . m c ) r e s i d e s i
0007000 n 0 1 0 0 - 0 F D F \r \t T
0007020 h e B o o t K e r n e l r e
0007040 s i d e s i n 0 F E 0 -
0007060 0 F F F \r \t P a r t o f t h
0007100 e B o o t K e r n e l t h a
0007120 t c a n b e o v e r l a i
0007140 d r e s i d e s i n 0 F D
0007160 8 - 0 F D F \r \t } \r \r { N o
0007200 t e t h e D i s k B o o t D
0007220 l i o n c o d e f o r t h
0007240 e S h u g a r t d i s k s
0007260 u s e s L i n k r e g i s t
0007300 e r s 4 a n d 5 . } \r \r S
0007320 e t T a s k [ 0 ] , S t a r t
0007340 A d d r e s s [ g o ] ; \r \r \f \r
0007360 { T h e b o o t k e r n e l
0007400 r e s e t s t h e C P I
0007420 / O r e g i s t e r s a n d
0007440 e n a b l e s m e m o r y
0007460 r e f r e s h } \r g o : \t I O P
0007500 C t l 254 0 , r D 254 0 ,
0007520 r D r h 254 0 , C A N C E
0007540 L B R [ $ , 0 F ] , \t c 1 ;
0007560 { d i s a b l e I O P p o r
0007600 t } \r \t d b U S t a t u s 254
0007620 0 , r E 254 0 , \t c 2 ;
0007640 { c l e a r d i s k s t a t
0007660 u s r e g i s t e r } \r \t r E
0007700 r h 254 1 , \t c 3 ; \r \r { c l
0007720 e a r t h e f i r s t 1 2
0007740 8 K o f m e m o r y , i n
0007760 c l u d e s t h e I O p a
0010000 g e , t a k e s 5 4 m s e
0010020 c } \r c l e a r 0 : \t M A R 254
0010040 [ r D r h , r D + 0 ] , \t c
0010060 1 ; \r \t M D R 254 r E , r D
0010100 254 r D + 1 , Z e r o B
0010120 r , \t c 2 ; \r \t p a s s T r a p
0010140 s 254 r E , B R A N C H [ c
0010160 l e a r 0 , $ ] , \t c 3 ; {
0010200 d i e o n f a u l t s } \r \r
0010220 \t M A R 254 [ r E r h , r E
0010240 + 0 ] , G O T O [ c l e a
0010260 r 2 ] , \t c 1 ; \r \r c l e a r 1
0010300 : \t M A R 254 [ r E r h , r E
0010320 + 0 ] , \t c 1 ; \r c l e a r 2 :
0010340 \t M D R 254 r D , r E 254 r E
0010360 + 1 , Z e r o B r , \t c 2 ; \r
0010400 \t b o o t D e v i c e 254 0 ,
0010420 B R A N C H [ c l e a r 1 ,
0010440 T r i d e n t / S A ] , \t c 3 ;
0010460 \r \r { T e s t f o r c o n t
0010500 r o l l e r t y p e . N O
0010520 T E : A n y H S I O b o a
0010540 r d s u s i n g t h i s c
0010560 o d e m u s t h a v e t h
0010600 e H S I O - e e n g i n e e
0010620 r i n g c h a n g e . I f
0010640 i t i s \r n o t p r e s
0010660 e n t , t h e c o d e m a
0010700 y m i s t a k e a S h u g
0010720 a r t o r Q u a n t u m d
0010740 r i v e f o r a T r i d e
0010760 n t . T h i s i s b e c
0011000 a u s e t h e W r i t e G a
0011020 t e b i t i s \r t h e o
0011040 n e t e s t e d a n d b o
0011060 a r d s w i t h o u t t h e
0011100 f i x M A Y c o m e u p
0011120 w i t h W r i t e G a t e
0011140 a c t i v e . } \r T r i d e n t
0011160 / S A : \t X b u s 254 K T e s
0011200 t , X D i s p , \t c 1 ; \r \t u
0011220 E t h e r B o o t D o n e 254
0011240 0 , D I S P 4 [ d i s k T y p
0011260 e , 0 E ] , \t c 2 ; \r T r i d
0011300 e n t : \t r E 254 0 C , G O
0011320 T O [ e n a b l e I O P ] , \t c
0011340 3 , a t [ 0 F , 1 0 , d i s k
0011360 T y p e ] ; \r S A : \t G O T O [
0011400 p o l l D e v i c e s ] , \t c 3
0011420 , a t [ 0 E , 1 0 , d i s k T
0011440 y p e ] ; \r \r p o l l D e v i c
0011460 e s : \t X b u s 254 K S t a t
0011500 u s , X w d D i s p , \t c 1 ;
0011520 { S A 4 0 0 0 o r S A 1 0
0011540 0 0 ? } \r \t r C 254 2 0 , {
0011560 s e t u p f o r d i s k
0011600 l o o p } B R A N C H [ S A 1
0011620 0 0 0 , S A 4 0 0 0 , 2 ] ,
0011640 \t c 2 ; \r \r S A 4 0 0 0 : \t r E
0011660 254 5 { S A 4 0 0 0 = E
0011700 t h e r n e t } , G O T O [ e
0011720 n a b l e I O P ] , \t c 3 , a
0011740 t [ 3 , 4 , S A 4 0 0 0 ] ;
0011760 \r S A 1 0 0 0 : \t r E 254 6
0012000 { S A 1 0 0 0 = E t h e r n
0012020 e t } , G O T O [ e n a b l e
0012040 I O P ] , \t c 3 , a t [ 2 ,
0012060 4 , S A 4 0 0 0 ] ; \r \r \r e n
0012100 a b l e I O P : \t M A R 254 [
0012120 r D r h , r D + 0 ] , \t c
0012140 1 ; { n o n - z e r o i n
0012160 z e r o = > r e a d y } \r \t M
0012200 D R 254 C P B o o t D e v i c
0012220 e 254 r E , \t c 2 ; \r \t I O P
0012240 C t l 254 I O P I n M o d e ,
0012260 \t c 3 ; \r \r { W a i t f o r
0012300 t h e I O P t o i n f o
0012320 r m t h e C P w h a t t
0012340 h e B o o t D e v i c e i s
0012360 . U - r e g i s t e r b o
0012400 o t D e v i c e w i l l b e
0012420 c o m e n o n z e r o . \r b o
0012440 o t D e v i c e = 0 ( n o
0012460 t v a l i d y e t ) , =
0012500 1 ( S A 4 X X X ) , = 2
0012520 ( S A 1 0 0 X ) , = 3 ( E
0012540 t h e r n e t ) , = 4 ( F
0012560 l o p p y ) , = 5 ( A l t
0012600 . E t h e r n e t ) , = 6
0012620 ( T r i d e n t 0 ) , = 7
0012640 ( T r i d e n t 1 ) , = 8
0012660 ( T r i d e n t 2 ) , = 9
0012700 ( T r i d e n t 3 ) . } \r \r h
0012720 e r e : \t r G 254 0 F F , {
0012740 s o P r o t e c t e d w o n
0012760 ' t t i m e o u t r i g h t
0013000 a w a y } \t c 1 , a t [ 0 ,
0013020 1 0 , h e r e ] ; \r \t X b u
0013040 s 254 b o o t D e v i c e ,
0013060 X D i s p , \t c 2 ; \r \t u T i m
0013100 e o u t 254 0 , D I S P 4 [
0013120 h e r e ] , \t c 3 ; \r \r { S e t
0013140 u p t h e t h i r d w o
0013160 r d o f t h e 3 - w o r d
0013200 b o o t f i l e n u m b e
0013220 r o f t h e f i l e b e
0013240 i n g r e q u e s t e d . } \r
0013260 \r \t r E 254 0 , G O T O [ E
0013300 t h e r B o o t ] , \t c 1 , a
0013320 t [ 3 , 1 0 , h e r e ] ; \r
0013340 \t r E 254 1 , G O T O [ E t
0013360 h e r B o o t ] , \t c 1 , a t
0013400 [ 5 , 1 0 , h e r e ] ; \r E
0013420 t h e r B o o t : \t r E t h e r
0013440 B o o t R e t r i e s 254 0 ,
0013460 u E t h e r B o o t S t a t u
0013500 s 254 0 , \t c 2 ; \r \t u F i l
0013520 e N u m b e r 2 254 r E , \t c
0013540 3 ; \r \r N o t i f y E t h e r B
0013560 o o t : \r \t { N o t i f y E t
0013600 h e r T a s k b y s e n d i
0013620 n g A t t e n t i o n t h a
0013640 t i t s h o u l d s t a r
0013660 t o r r e s t a r t } \r \t E
0013700 I C t l 254 2 { N o t i f y
0013720 t h e E t h e r T a s k } ,
0013740 C A N C E L B R [ $ , 1 ] , \t
0013760 c 1 ; \r T e s t T i m e o u t :
0014000 \t Y b u s 254 u T i m e o u t
0014020 , N Z e r o B r , C A N C E
0014040 L B R [ $ , 1 ] , \t c 2 ; \r \t Y
0014060 b u s 254 u E t h e r B o o t
0014100 D o n e , Z e r o B r , B R
0014120 A N C H [ $ , N o t i f y E t
0014140 h e r B o o t ] , \t c 3 ; \r \r \t
0014160 Y b u s 254 u E t h e r B o o
0014200 t S t a t u s , N Z e r o B r
0014220 , B R A N C H [ $ , T e s t
0014240 T i m e o u t ] , \t c 1 ; \r \t N
0014260 o o p , B R A N C H [ E t h e
0014300 r B o o t S u c c e s s f u l ,
0014320 E t h e r B o o t F a i l e d
0014340 ] , \t c 2 ; \r E t h e r B o o t
0014360 S u c c e s s f u l : \r \t d b U
0014400 S t a t u s 254 0 , G O T O
0014420 [ F i l e R e a d y ] , \t c 3 ;
0014440 \r E t h e r B o o t F a i l e d
0014460 : \r \t a c R 254 b o o t D e v
0014500 i c e E r r o r , G O T O A B
0014520 S [ M a i n t e n a n c e 1 L o
0014540 c ] , \t c 3 ; \r \r \r f l o p p y
0014560 B o o t : \t G O T O A B S [ I d
0014600 l e L o c ] , \t c 1 , a t [ 4
0014620 , 1 0 , h e r e ] ; \r \r d i
0014640 s k B o o t 4 : \t r E 254 f a
0014660 u l t C l e a r C m d , { b o
0014700 o t f r o m S A 4 0 0 0 } ,
0014720 \t c 1 , a t [ 1 , 1 0 , h
0014740 e r e ] ; \r \t K C t l 254 r E
0014760 L R o t 8 , \t c 2 ; \r \t K C t
0015000 l 254 0 , G O T O [ d i s k
0015020 B o o t 1 ] , \t c 3 ; \r \r d i s
0015040 k B o o t 1 : \t X b u s 254 K
0015060 S t a t u s , X R e f B r , \t
0015100 c 1 , a t [ 2 , 1 0 , h e
0015120 r e ] ; \r \t r E 254 d r i v e
0015140 S e l e c t B i t , B R A N C
0015160 H [ $ , r e c a l i b r a t e
0015200 ] , \t c 2 ; { c h e c k f o
0015220 r d r i v e r e a d y } \r \t
0015240 r E 254 K C t l 254 r E L
0015260 R o t 8 , G O T O [ d i s k B
0015300 o o t 1 ] , \t c 3 ; \r \r { d i s
0015320 k i s r e a d y } \r r e c a
0015340 l i b r a t e : \t r E 254 d r
0015360 i v e S e l e c t B i t , \t c 3
0015400 ; { s t e p i n f i r s t
0015420 } \r \t r E 254 r E L R o t 8
0015440 , \t c 1 ; \r \t r E 254 r E o
0015460 r i n B i t , \t c 2 ; \r \t K C
0015500 t l 254 r E L R o t 0 , \t c
0015520 3 ; \r \r { S t e p b i t m u
0015540 s t b e h i g h f o r a
0015560 t l e a s t o n e m i c r
0015600 o s e c o n d a n d t h e n
0015620 l o w f o r a t l e a s
0015640 t o n e m i c r o s e c o n
0015660 d . S i n c e a c l i c
0015700 k i s 4 1 1 n s , s t e
0015720 p B i t c a n c h a n g e
0015740 o n l y o n c e e v e r y
0015760 t h i r d c l i c k . } \r \r W
0016000 a i t F o r S e e k C o m p l e
0016020 t e : \r \t r D 254 ~ K S t a t
0016040 u s , C A N C E L B R [ $ ,
0016060 1 ] , \t c 1 , a t [ 0 B , 1
0016100 0 , W a i t F o r S e e k C o
0016120 m p l e t e ] ; \r \t r D 254 r
0016140 D L R o t 8 , X D i s p , \t
0016160 c 2 ; { c h e c k f o r s
0016200 e e k c o m p l e t e } \r \t Y
0016220 b u s 254 r D a n d 2 ,
0016240 Z e r o B r , D I S P 4 [ W a
0016260 i t F o r S e e k C o m p l e t
0016300 e , 0 B ] , \t c 3 ; { c h e
0016320 c k f o r C y l i n d e r
0016340 0 f l a g , l o o p \r \t \t \t
0016360 w a i t i n g f o r S
0016400 e e k C o m p l e t e . } \r \r {
0016420 H e a d s a r e n o w s t
0016440 e a d y , i f n o w a t
0016460 C y l i n d e r 0 , s t a r
0016500 t d i s k m i c r o c o d e
0016520 . O t h e r w i s e s t e
0016540 p t h e h e a d s i n o
0016560 r o u t . } \r s e e k C o m p
0016600 l e t e : \t r E 254 r E o r
0016620 s t e p B i t , B R A N C H
0016640 [ a t 0 0 , $ ] , \t c 1 , a
0016660 t [ 0 F , 1 0 , W a i t F o
0016700 r S e e k C o m p l e t e ] ; \r
0016720 \t K C t l 254 r E L R o t 0
0016740 , \t c 2 ; \r \t r D 254 3 , \t c
0016760 3 ; \r \r { W a i t 3 c l i c
0017000 k s s o S t e p p u l s e
0017020 i s a c t i v e l o n g
0017040 e n o u g h . } \r s t e p W a i
0017060 t : \t r E 254 r E a n d ~
0017100 s t e p B i t , C A N C E L B
0017120 R [ $ , 1 ] , \t c 1 ; \r \t r D
0017140 254 r D - 1 , Z e r o B
0017160 r , \t c 2 ; \r \t Y b u s 254 r
0017200 C , Z e r o B r , B R A N C
0017220 H [ s t e p W a i t , $ ] , \t
0017240 c 3 ; { S e e i f f i n i
0017260 s h e d s t e p p i n g i n
0017300 \r \t \t \t t h i s d i r e
0017320 c t i o n ( r C = 0 ) } \r \r \t
0017340 K C t l 254 r E L R o t 0 ,
0017360 B R A N C H [ $ , c o u n t
0017400 e d I n ] , \t c 1 ; { l o w e
0017420 r s t e p l i n e a n d
0017440 c o n t i n u e \r \t \t \t o
0017460 n l y i f t h e r e i s
0017500 m o r e t o g o . } \r \t r C
0017520 254 r C - 1 , \t c 2 ; \r \t
0017540 G O T O [ W a i t F o r S e e k
0017560 C o m p l e t e ] , \t c 3 ; \r \r
0017600 { A t t h i s p o i n t ,
0017620 w e h a v e g o n e a s
0017640 f a r a s n e c e s s a r y
0017660 i n t h e c u r r e n t
0017700 d i r e c t i o n . I f t
0017720 h i s i s t h e f i r s t
0017740 t i m e t h r o u g h , w
0017760 e h a v e m o v e d t h e
0020000 h e a d s f a r e n o u g
0020020 h t o w a r d s t h e c e
0020040 n t e r o f t h e d i s k
0020060 t h a t C y l i n d e r 0
0020100 m u s t b e o u t f r o
0020120 m h e r e . I f t h i s
0020140 i s t h e s e c o n d t
0020160 i m e t h r o u g h , C y l
0020200 i n d e r 0 c a n ' t b e
0020220 f o u n d ( w e h a v e
0020240 g o n e 3 2 C y l i n d e r
0020260 i n w a r d s a n d 5 6 2
0020300 c y l i n d e r s o u t )
0020320 s o g i v e u p . } \r c o u
0020340 n t e d I n : \t r D 254 r E
0020360 a n d i n B i t , \t c 2 ; {
0020400 s e l e c t D i r e c t i o n
0020420 I n b i t } \r \t Y b u s 254
0020440 r D , Z e r o B r , \t c 3 ;
0020460 { d i d w e j u s t f i n
0020500 i s h g o i n g i n ? } \r \r
0020520 \t r E 254 r E x o r i n B
0020540 i t , B R A N C H [ $ , r e
0020560 c a l L o s t ] , \t c 1 ; { f
0020600 l i p d i r e c t i o n , q
0020620 u i t i f w e w e r e \r \t
0020640 \t \t g o i n g o u t } \r
0020660 \t r C 254 0 F F + 1 , {
0020700 m a x i s 2 5 6 c y l i n
0020720 d e r s f o r S A 1 0 0 0
0020740 } \t c 2 ; \r \t r C 254 L S h i
0020760 f t 1 r C o r 2 0 , G O
0021000 T O [ W a i t F o r S e e k C o
0021020 m p l e t e ] , \t c 3 ; { m a
0021040 k e s u r e w e g o f a
0021060 r e n o u g h o u t \r \t \t \t
0021100 f o r a 5 1 2 C y l
0021120 i n d e r Q u a n t u m d r
0021140 i v e . \r \t \t \t U s e "
0021160 o r " i n s t e a d o f "
0021200 + " f o r t i m i n g \r \t \t
0021220 \t r e a s o n s . } \r \r r
0021240 e c a l L o s t : \t a c R 254
0021260 b o o t D e v i c e E r r o r ,
0021300 G O T O A B S [ M a i n t e n
0021320 a n c e 2 L o c ] , \t c 2 ; \r \r
0021340 { H e r e r e c a l i b r a t
0021360 i o n h a s b e e n s u c
0021400 c e s s f u l . W e t u r
0021420 n o n t h e d i s k m i
0021440 c r o c o d e a n d w a i t
0021460 f o r i t t o c o m p l
0021500 e t e . } \r a t 0 0 : \t r D 254
0021520 f i r m w a r e E n a b l e ,
0021540 \t c 2 ; \r \t K C t l 254 r D
0021560 L R o t 0 , \t c 3 ; \r \r t r a n
0021600 s f e r W a i t : \t r D 254 ~
0021620 K S t a t u s , \t c 1 , a t [
0021640 0 F , 1 0 , t r a n s f e r
0021660 W a i t ] ; \r \t X b u s 254 r
0021700 D L R o t 8 , X D i s p , \t
0021720 c 2 ; { t e s t f i r m w a
0021740 r e b u s y } \r \t r D r h 254
0021760 0 , B R A N C H [ F i l e R
0022000 e a d y , t r a n s f e r W a
0022020 i t , 0 E ] , \t c 3 ; \r \r \r {
0022040 T h i s s e c t i o n o f
0022060 t h e c o d e i s f o r
0022100 T r i d e n t d e v i c e 0
0022120 , 1 , 2 a n d 3 . } \r T
0022140 r i d e n t B o o t 0 : \t r E
0022160 254 0 F 8 , G O T O [ T r i d e
0022200 n t C o n t ] , \t c 1 , a t [
0022220 6 , 1 0 , h e r e ] ; \r \r T
0022240 r i d e n t B o o t 1 : \t r E
0022260 254 0 F 4 , G O T O [ T r i d
0022300 e n t C o n t ] , \t c 1 , a t
0022320 [ 7 , 1 0 , h e r e ] ; \r T
0022340 r i d e n t B o o t 2 : \t r E
0022360 254 0 F 2 , G O T O [ T r i d
0022400 e n t C o n t ] , \t c 1 , a t
0022420 [ 8 , 1 0 , h e r e ] ; \r \r
0022440 T r i d e n t B o o t 3 : \t r E
0022460 254 0 F 1 , \t c 1 , a t [ 9
0022500 , 1 0 , h e r e ] ; \r T r i
0022520 d e n t C o n t : \t K C t l 254
0022540 r E 254 r E L R o t 8 , \t
0022560 c 2 ; \r \t K C m d 254 b U 0 C
0022600 0 0 , \t c 3 ; \r \r { T e s t f
0022620 o r f i r m w a r e b u s y
0022640 . I f n o t b u s y f
0022660 i n i s h p h a s e 0 b o o
0022700 t s e q u e n c e . } \r T r i
0022720 d e n t W a i t : \t r D 254 ~
0022740 K T e s t , \t c 1 , a t [ 0 F
0022760 , 1 0 , T r i d e n t W a i
0023000 t ] ; \r \t [ ] 254 r D L R o
0023020 t 4 , X D i s p , \t c 2 ; \r \t
0023040 b U B i t S i g n A d r 254 r
0023060 E , B R A N C H [ T r i d e n
0023100 t E n d , T r i d e n t W a i
0023120 t , 0 E ] , \t c 3 ; \r \r T r i
0023140 d e n t E n d : \t r E 254 d b U
0023160 S t a t u s , Z e r o B r , G
0023200 O T O [ E t h e r B o o t C o n
0023220 t ] \t c 1 , a t [ 0 E , 1 0
0023240 , T r i d e n t W a i t ] ; \r
0023260 \r F i l e R e a d y : \t r E 254
0023300 d b U S t a t u s , Z e r o B
0023320 r , G O T O [ E t h e r B o o t
0023340 C o n t ] \t c 1 , a t [ 0 E ,
0023360 1 0 , t r a n s f e r W a i t ]
0023400 ; \r \r E t h e r B o o t C o n t
0023420 : \t r D 254 1 , B R A N C H
0023440 [ $ , s e t R e a d y ] , \t c
0023460 2 ; \r \t a c R 254 b o o t
0023500 D e v i c e E r r o r , G O T
0023520 O A B S [ M a i n t e n a n c e
0023540 1 L o c ] , \t c 3 ; \r s e t R e
0023560 a d y : \t a c R 254 0 F F + 1
0023600 , \t c 3 ; { f i r s t l o c
0023620 a t i o n o f b o o t f i
0023640 l e } \r \t M A R 254 [ r D r h
0023660 , r D + 0 ] , \t c 1 ; {
0023700 i n d i c a t e b o o t f i
0023720 l e r e a d } \r \t M D R 254
0023740 a c R , G O T O A B S [ I d l
0023760 e L o c ] , \t c 2 ; \r \r \r { D e
0024000 t e r m i n e t h e d i s k
0024020 t y p e a n d j u m p t
0024040 o t h e s t a r t i n g a
0024060 d d r e s s o f e i t h e r
0024100 D i s k B o o t D L i o n o
0024120 r T r i d e n t B o o t D L i
0024140 o n a c c o r d i n g l y .
0024160 W e m u s t t e s t t h
0024200 i s h e r e b e c a u s e
0024220 w e c a n n o t h a v e t
0024240 w o d i f f e r e n t s t a
0024260 r t i n g a d d r e s s e s
0024300 f o r T a s k 4 . W h e
0024320 n w e a r r i v e h e r e
0024340 , C P B o o t D e v i c e i
0024360 s 5 o r 6 f o r a S
0024400 h u g a r t d i s k a n d
0024420 0 C f o r a T r i d e n t
0024440 . } \r \r S e t T a s k [ 4 ] ,
0024460 S t a r t A d d r e s s [ F i n
0024500 d D i s k T y p e ] ; \r \r F i n
0024520 d D i s k T y p e : \t R A d r
0024540 254 C P B o o t D e v i c e ,
0024560 C A N C E L B R [ $ , 0 F ] ,
0024600 \t c 1 ; \r \t Y b u s 254 R A d
0024620 r , Y D i s p , \t c 2 ; \r \t B
0024640 R A N C H [ D i s k S t a r t ,
0024660 { S A x 0 0 0 } S t a r t B
0024700 o o t , { T r i d e n t } 7
0024720 ] , \t c 3 ; \r \r
0024730