$ od -c -N 50000 [Indigo]<Peach>ColorVersatec>DicentraDiskDriverImpl.mesa!4
0000000 - - D i c e n t r a D i s k D
0000020 r i v e r I m p l . m e s a \r -
0000040 - D r i v e r f o r C e n
0000060 t u r y D a t a A M S - 3 1
0000100 5 d i s k d r i v e a n d
0000120 X y l o g i c s S M D c o
0000140 n t r o l l e r \r - - J i m
0000160 G a s b a r r o 1 9 - F e b -
0000200 8 5 1 4 : 0 4 : 1 1 \r - - \r
0000220 - - \t \t \t * * * * * * * * * *
0000240 * * * * W A R N I N
0000260 G * * * * * * * * * * * * *
0000300 * \r - - O n t h e D i c e
0000320 n t r a , t h e l e f t b
0000340 y t e i s e v e n a n d
0000360 t h e r i g h t b y t e i
0000400 s o d d . B i t s a r e
0000420 n u m b e r e d 0 . . 7 \r -
0000440 - f r o m l e f t t o r
0000460 i g h t . T h e s e c o n
0000500 v e n t i o n s a r e o p p
0000520 o s i t e o f t h o s e f
0000540 o u n d i n t h e X y l o
0000560 g i c s - 4 5 0 \r - - c o n t
0000600 r o l l e r m a n u a l .
0000620 \r - - \t \t \t * * * * * * * * *
0000640 * * * * * * * * * * * * * * * *
*
0000700 * * \r \r D I R E C T O R Y \r \t
0000720 C o l o r V e r s a t e c U t i
0000740 l s , \r \t D i c e n t r a D i s
0000760 k D r i v e r , \r \t D i c e n t
0001000 r a I n p u t O u t p u t , \r \t
0001020 I n l i n e , \r \t O t h e l l o
0001040 D e f s , \r \t P r o c e s s , \r
0001060 \t P r o c e s s o r F a c e U
0001100 S I N G [ S e t M P ] , \r \t S
0001120 p e c i a l R u n t i m e ; \r \t
0001140 \t \r D i c e n t r a D i s k D r
0001160 i v e r I m p l : M O N I T O
0001200 R \r \t I M P O R T S \r \t O t
0001220 h e l l o D e f s , \r \t C o l
0001240 o r V e r s a t e c U t i l s ,
0001260 D i c e n t r a I n p u t O u
0001300 t p u t , I n l i n e , P r
0001320 o c e s s , P r o c e s s o r
0001340 F a c e , S p e c i a l R u n
0001360 t i m e \r \t E X P O R T S D
0001400 i c e n t r a D i s k D r i v e
0001420 r \r \t = B E G I N \r \t \r H e a
0001440 d : T Y P E = D i c e n t
0001460 r a D i s k D r i v e r . H e a
0001500 d ; \r S e c t o r : T Y P E
0001520 = D i c e n t r a D i s k D r
0001540 i v e r . S e c t o r ; \r C y l
0001560 i n d e r : T Y P E = D i
0001600 c e n t r a D i s k D r i v e r
0001620 . C y l i n d e r ; \r U n i t :
0001640 T Y P E = D i c e n t r a
0001660 D i s k D r i v e r . U n i t ;
0001700 \r \r t r a c k s P e r C y l i n
0001720 d e r : C A R D I N A L =
0001740 D i c e n t r a D i s k D r i v
0001760 e r . t r a c k s P e r C y l i
0002000 n d e r ; \r s e c t o r s P e r
0002020 T r a c k : C A R D I N A L
0002040 = D i c e n t r a D i s k D r
0002060 i v e r . s e c t o r s P e r T
0002100 r a c k ; \r c y l i n d e r s P
0002120 e r S p i n d l e : C A R D I
0002140 N A L = D i c e n t r a D i
0002160 s k D r i v e r . c y l i n d e
0002200 r s P e r S p i n d l e ; \r w o
0002220 r d s P e r S e c t o r : C A
0002240 R D I N A L = D i c e n t r
0002260 a D i s k D r i v e r . w o r d
0002300 s P e r S e c t o r ; \r \r - -
0002320 D i s k C o n t r o l l e r
0002340 R e g i s t e r s \r D i s k C o
0002360 n t r o l l e r R e g i s t e r
0002400 : T Y P E = { \r \t i O P B
0002420 R e l o c H i g h , \r \t i O P B
0002440 R e l o c L o w , \r \t i O P B A
0002460 d d H i g h , \r \t i O P B A d d
0002500 L o w , \r \t c o n t r o l l e r
0002520 R e s e t A n d U p d a t e ,
0002540 - - r e a d t o r e s e
0002560 t c o n t r o l l e r , w r
0002600 i t e t o u p d a t e I O
0002620 P B \r \t c o n t r o l S t a t u
0002640 s \r \t } ; \r \t \r - - c o n t r
0002660 o l S t a t u s r e g i s t e
0002700 r b i t d e f i n i t i o n
0002720 s \r \t g o B u s y : C A R D I
0002740 N A L \t = 8 0 H ; \r \t g e n e
0002760 r a l E r r o r : C A R D I N
0003000 A L \t = 4 0 H ; \r \t d o u b l
0003020 e E r r o r : C A R D I N A L
0003040 \t = 2 0 H ; \r \t i n t P e n d
0003060 i n g : C A R D I N A L \t =
0003100 1 0 H ; \r \t a d d M o d e :
0003120 C A R D I N A L \t = 0 8 H ;
0003140 \r \t a t t n R e q : C A R D I
0003160 N A L \t = 0 4 H ; \r \t a t t
0003200 n A c k : C A R D I N A L \t
0003220 = 0 2 H ; \r \t d r i v e R e a
0003240 d y : C A R D I N A L \t =
0003260 0 1 H ; \r \t \r - - I O P B D
0003300 e f i n i t i o n \r I O P B :
0003320 T Y P E = M A C H I N E D
0003340 E P E N D E N T R E C O R D
0003360 [ \r \t i n t M o d e : I n t M
0003400 o d e , \r \t d i s k C o m m a n
0003420 d : D i s k C o m m a n d , \r
0003440 \t s t a t u s B y t e 2 : S t
0003460 a t u s B y t e 2 _ s u c c
0003500 e s s , \r \t s t a t u s B y t e
0003520 1 : S t a t u s B y t e 1 , \r
0003540 \t d r i v e T y p e A n d S e l
0003560 e c t : D r i v e T y p e A n
0003600 d S e l e c t , \r \t t h r o t t
0003620 l e : T h r o t t l e , \r \t s
0003640 e c t o r A d d : [ 0 . . 2 5
0003660 6 ) _ 0 , \r \t h e a d A d d
0003700 : [ 0 . . 2 5 6 ) _ 0 , \r
0003720 \t c y l A d d H i g h : [ 0 .
0003740 . 2 5 6 ) _ 0 , \r \t c y l A
0003760 d d L o w : [ 0 . . 2 5 6 )
0004000 _ 0 , \r \t s e c t o r C o u n
0004020 t H i g h : [ 0 . . 2 5 6 )
0004040 _ 0 , \r \t s e c t o r C o u n
0004060 t L o w : S e c t o r C o u n
0004100 t L o w _ [ w r i t e S e c
0004120 t o r C o u n t L o w [ 0 ] ] ,
0004140 \r \t d a t a A d d H i g h : [
0004160 0 . . 2 5 6 ) _ 0 , \r \t d a
0004200 t a A d d L o w : [ 0 . . 2 5
0004220 6 ) _ 0 , \r \t d a t a R e l
0004240 o c H i g h : [ 0 . . 2 5 6 )
0004260 _ 0 , \t - - c a n ' t a
0004300 d d r e s s a b o v e 2 4
0004320 b i t s \r \t d a t a R e l o c L
0004340 o w : [ 0 . . 2 5 6 ) _ 0
0004360 , \r \t r e s e r v e d : [ 0 .
0004400 . 2 5 6 ) _ 0 , \r \t h e a d
0004420 O f f s e t : [ 0 . . 2 5 6 )
0004440 _ 0 , \r \t n e x t I O P B A
0004460 d d H i g h : [ 0 . . 2 5 6 )
0004500 _ 0 , \r \t n e x t I O P B A
0004520 d d L o w : [ 0 . . 2 5 6 )
0004540 _ 0 , \r \t e C C M a s k P a t
0004560 t e r n L o w : [ 0 . . 2 5 6
0004600 ) _ 0 , \r \t e C C M a s k P
0004620 a t t e r n H i g h : [ 0 . .
0004640 2 5 6 ) _ 0 , \r \t e C C B i
0004660 t A d d H i g h : [ 0 . . 2 5
0004700 6 ) _ 0 , \r \t e C C B i t A
0004720 d d L o w : [ 0 . . 2 5 6 )
0004740 _ 0 \r \t ] ; \r \t \r \t \r D i s k
0004760 C o m m a n d : T Y P E =
0005000 M A C H I N E D E P E N D E N
0005020 T R E C O R D [ \r \t a u t o
0005040 U p d a t e ( 0 : 0 . . 0 )
0005060 : B O O L E A N _ T R U E
0005100 , \r \t r e l o c a t e ( 0 :
0005120 1 . . 1 ) : B O O L E A N _
0005140 F A L S E , \r \t c h a i n E n
0005160 a b l e ( 0 : 2 . . 2 ) :
0005200 B O O L E A N _ F A L S E ,
0005220 \r \t i n t E n a b l e ( 0 :
0005240 3 . . 3 ) : B O O L E A N _
0005260 T R U E , \r \t c o m m a n d
0005300 ( 0 : 4 . . 7 ) : C o m m a
0005320 n d _ n o O p \r \t ] ; \r \t \r
0005340 C o m m a n d : T Y P E =
0005360 M A C H I N E D E P E N D E N
0005400 T { n o O p ( 0 ) , w r i t
0005420 e ( 1 ) , r e a d ( 2 ) , w
0005440 r i t e H e a d e r s ( 3 ) , \r
0005460 r e a d H e a d e r s ( 4 ) ,
0005500 s e e k ( 5 ) , d r i v e R e
0005520 s e t ( 6 ) , w r i t e F o r
0005540 m a t ( 7 ) , r e a d H e a d
0005560 e r D a t a E C C ( 8 ) , r e
0005600 a d D r i v e S t a t u s ( 9 )
0005620 , \r w r i t e H e a d e r D a t
0005640 a E C C ( 1 0 ) , s e t D r i
0005660 v e S i z e ( 1 1 ) , s e l f
0005700 T e s t ( 1 2 ) } ; \r \r I n t M
0005720 o d e : T Y P E = M A C H
0005740 I N E D E P E N D E N T R E
0005760 C O R D [ \r \t r e s e r v e d
0006000 ( 0 : 0 . . 0 ) : B O O L
0006020 E A N _ F A L S E , \r \t i n
0006040 t O n E a c h I O P B ( 0 :
0006060 1 . . 1 ) : B O O L E A N _
0006100 T R U E , \r \t i n t O n E r r
0006120 o r ( 0 : 2 . . 2 ) : B O
0006140 O L E A N _ F A L S E , \r \t
0006160 h o l d D u a l P o r t ( 0 :
0006200 3 . . 3 ) : B O O L E A N
0006220 _ F A L S E , \r \t a u t o S e
0006240 e k R e t r y ( 0 : 4 . . 4
0006260 ) : B O O L E A N _ T R U
0006300 E , \r \t e n a b l e E x t e n d
0006320 e d F u n c ( 0 : 5 . . 5 )
0006340 : B O O L E A N _ F A L S
0006360 E , \r \t e C C M o d e ( 0 :
0006400 6 . . 7 ) : E C C M o d e _
0006420 c o r r e c t \r \t ] ; \r \t \r E
0006440 C C M o d e : T Y P E = M
0006460 A C H I N E D E P E N D E N T
0006500 { p a t t e r n A n d O f f s
0006520 e t ( 0 ) , n o F l a g O r C
0006540 o r r e c t ( 1 ) , c o r r e
0006560 c t ( 2 ) , f l a g A n d N o
0006600 C o r r e c t ( 3 ) } ; \r \r S t
0006620 a t u s B y t e 1 : T Y P E
0006640 = M A C H I N E D E P E N D
0006660 E N T R E C O R D [ \r \t e r
0006700 r o r S u m m a r y ( 0 : 0
0006720 . . 0 ) : B O O L E A N _
0006740 F A L S E , \r \t r e s e r v e d
0006760 ( 0 : 1 . . 2 ) : B O O L
0007000 E A N _ F A L S E , \r \t c o
0007020 n t r o l l e r T y p e ( 0 :
0007040 3 . . 5 ) : C o n t r o l l
0007060 e r T y p e _ t y p e 4 4 0
0007100 C o n t r o l l e r , \r \t r e s
0007120 e r v e d 2 ( 0 : 6 . . 6 )
0007140 : B O O L E A N _ F A L S
0007160 E , \r \t d o n e ( 0 : 7 . .
0007200 7 ) : B O O L E A N _ F A
0007220 L S E \r \t ] ; \r \t \r C o n t r o
0007240 l l e r T y p e : T Y P E =
0007260 M A C H I N E D E P E N D E
0007300 N T { t y p e 4 4 0 C o n t r
0007320 o l l e r ( 0 ) , t y p e 4 5
0007340 0 C o n t r o l l e r ( 1 ) ,
0007360 t y p e 4 7 2 C o n t r o l l e
0007400 r ( 2 ) , n o n E x i s t e n
0007420 t ( 3 ) } ; \r \r S t a t u s B y
0007440 t e 2 : T Y P E = M A C H
0007460 I N E D E P E N D E N T { \r
0007500 \t s u c c e s s ( 0 ) , \r \t i n
0007520 t P e n d i n g ( 1 ) , \r \t b u
0007540 s y C o n f l i c t ( 3 ) , \r \t
0007560 o p e r a t i o n T i m e O u t
0007600 ( 4 ) , \r \t h e a d e r N o t F
0007620 o u n d ( 5 ) , \r \t h a r d E C
0007640 C E r r o r ( 6 ) , \r \t i l l e
0007660 g a l C y l A d d ( 7 ) , \r \t s
0007700 e c t o r S l i p E r r o r ( 9
0007720 ) , \r \t i l l e g a l S e c t o
0007740 r A d d ( 0 A H ) , \r \t l a s t
0007760 S e c t o r T o o S m a l l ( 0
0010000 D H ) , \r \t s l a v e A C K E r
0010020 r o r ( 0 E H ) , \r \t c y l A n
0010040 d H e a d H e a d e r E r r o r
0010060 ( 1 2 H ) , \r \t s e e k R e t r
0010100 y ( 1 3 H ) , \t \r \t w r i t e P
0010120 r o t e c t E r r o r ( 1 4 H )
0010140 , \r \t u n i m p l e m e n t e d
0010160 C o m m a n d ( 1 5 H ) , \r \t d
0010200 r i v e N o t R e a d y ( 1 6 H
0010220 ) , \r \t s e c t o r C o u n t Z
0010240 e r o ( 1 7 H ) , \r \t d r i v e
0010260 F a u l t e d ( 1 8 H ) , \r \t i
0010300 l l e g a l S e c t o r S i z e
0010320 ( 1 9 H ) , \r \t s e l f T e s t
0010340 A ( 1 A H ) , \r \t s e l f T e s
0010360 t B ( 1 B H ) , \r \t s e l f T e
0010400 s t C ( 1 C H ) , \r \t s o f t E
0010420 C C E r r o r ( 1 E H ) , \r \t s
0010440 o f t E C C E r r o r R e c o v
0010460 e r e d ( 1 F H ) , \r \t i l l e
0010500 g a l H e a d E r r o r ( 2 0 H
0010520 ) , \r \t d i s k S e q u e n c e
0010540 r E r r o r ( 2 1 H ) , \r \t s e
0010560 e k E r r o r ( 2 5 H ) , \r \t (
0010600 0 F F H ) \r \t } ; \r \t \r \t \r T h
0010620 r o t t l e : T Y P E = M
0010640 A C H I N E D E P E N D E N T
0010660 R E C O R D [ \r \t b y t e M
0010700 o d e ( 0 : 0 . . 0 ) : B
0010720 O O L E A N _ F A L S E , \r
0010740 \t i n t e r l e a v e F a c t o
0010760 r ( 0 : 1 . . 4 ) : [ 0 .
0011000 . 1 5 ] _ 0 , \t - - n + 1
0011020 t o 1 i n t e r l e a v e
0011040 f a c t o r , 0 = > 1 :
0011060 1 \r \t t h r o t t l e S e t t i
0011100 n g ( 0 : 5 . . 7 ) : [ 0
0011120 . . 7 ] _ 5 \t \t - - 2 * *
0011140 ( n + 1 ) D M A c y c l e s
0011160 p e r b u r s t , \r \t ] ; \t
0011200 \t \t \t \t \t - - 5 = > 3 2
0011220 w o r d s p e r b u r s t \r
0011240 \t \r D r i v e T y p e A n d S e
0011260 l e c t : T Y P E = M A C
0011300 H I N E D E P E N D E N T R
0011320 E C O R D [ \r \t d r i v e T y
0011340 p e ( 0 : 0 . . 1 ) : D r
0011360 i v e T y p e _ c y l 8 2 3
0011400 S e c t 3 2 H e a d 1 9 , \r \t r
0011420 e s e r v e d ( 0 : 2 . . 5
0011440 ) : B O O L E A N _ F A L
0011460 S E , \r \t u n i t ( 0 : 6 .
0011500 . 7 ) : U n i t _ 0 \r \t ]
0011520 ; \r \t \r D r i v e T y p e : T
0011540 Y P E = M A C H I N E D E
0011560 P E N D E N T { c y l 8 2 3 S
0011600 e c t 3 2 H e a d 1 9 ( 0 ) ,
0011620 c y l 8 2 3 S e c t 3 2 H e a
0011640 d 5 ( 1 ) , c y l 8 4 2 S e
0011660 c t 4 6 H e a d 2 0 ( 2 ) ,
0011700 c y l 2 0 4 7 S e c t 1 2 8 H e
0011720 a d 2 5 5 ( 3 ) } ; \r \r S e c
0011740 t o r C o u n t L o w : T Y P
0011760 E = M A C H I N E D E P E
0012000 N D E N T R E C O R D [ \r \t
0012020 S E L E C T O V E R L A I D
0012040 * F R O M \r \t w r i t e S e c
0012060 t o r C o u n t L o w = > [
0012100 b i t s : [ 0 . . 2 5 6 ) ] ,
0012120 \r \t r e a d D r i v e S t a t u
0012140 s = > [ i O P B B y t e A :
0012160 I O P B B y t e A ] , \r \t E N
0012200 D C A S E ] ; \r \t \r I O P B B y
0012220 t e A : T Y P E = M A C H
0012240 I N E D E P E N D E N T R E
0012260 C O R D [ \r \t n o t O n C y l
0012300 i n d e r ( 0 : 0 . . 0 ) :
0012320 B O O L E A N , \r \t d i s k
0012340 N o t R e a d y ( 0 : 1 . .
0012360 1 ) : B O O L E A N , \r \t d i
0012400 s k W r i t e P r o t e c t
0012420 ( 0 : 2 . . 2 ) : B O O L E
0012440 A N , \r \t d u a l P o r t D r i
0012460 v e B u s y ( 0 : 3 . . 3 )
0012500 : B O O L E A N , \r \t h a r d
0012520 S e e k E r r o r ( 0 : 4 .
0012540 . 4 ) : B O O L E A N , \r \t d
0012560 i s k F a u l t ( 0 : 5 . .
0012600 5 ) : B O O L E A N , \r \t r e
0012620 s e r v e d ( 0 : 6 . . 7 )
0012640 : B O O L E A N _ F A L S
0012660 E \r \t ] ; \r \t \r - - P U B L I
0012700 C P R O C E D U R E S \r \r A
0012720 c t i v a t e I O P B : E N T
0012740 R Y P R O C [ h y p e r O f
0012760 f s e t : L O N G C A R D I
0013000 N A L ] = \r \t B E G I N \r \t
0013020 w o r d A d d : L O N G C A
0013040 R D I N A L _ L O O P H O L
0013060 E [ C o l o r V e r s a t e c U
0013100 t i l s . h y p e r S t a r t ]
0013120 ; \r \t b y t e A d d : L O N G
0013140 C A R D I N A L _ ( w o r
0013160 d A d d + h y p e r O f f s
0013200 e t ) * 2 ; \r \t W r i t e B
0013220 y t e [ I n l i n e . L o w B y
0013240 t e [ I n l i n e . L o w H a l
0013260 f [ b y t e A d d ] ] , i O P
0013300 B A d d L o w ] ; \r \t D a l l y
0013320 [ ] ; \r \t W r i t e B y t e [ I
0013340 n l i n e . H i g h B y t e [ I
0013360 n l i n e . L o w H a l f [ b y
0013400 t e A d d ] ] , i O P B A d d
0013420 H i g h ] ; \r \t D a l l y [ ] ;
0013440 \r \t W r i t e B y t e [ I n l i
0013460 n e . L o w B y t e [ I n l i n
0013500 e . H i g h H a l f [ b y t e A
0013520 d d ] ] , i O P B R e l o c L
0013540 o w ] ; \r \t D a l l y [ ] ; \r \t
0013560 W r i t e B y t e [ I n l i n e
0013600 . H i g h B y t e [ I n l i n e
0013620 . H i g h H a l f [ b y t e A d
0013640 d ] ] , i O P B R e l o c H i
0013660 g h ] ; \r \t D a l l y [ ] ; \r \t
0013700 W r i t e B y t e [ g o B u s y
0013720 , c o n t r o l S t a t u s ]
0013740 ; \r \t W H I L E D i s k C o n
0013760 t r o l l e r B u s y [ ] D O
0014000 \r \t \t W A I T c v ^ ; \r \t \t
0014020 E N D L O O P ; \r \t W r i t e B
0014040 y t e [ i n t P e n d i n g ,
0014060 c o n t r o l S t a t u s ] ; \r
0014100 \t W r i t e B y t e [ 0 , c o
0014120 n t r o l S t a t u s ] ; \r \t E
0014140 N D ; \r \t \r D i s k C o n t r o
0014160 l l e r B u s y : P R O C [
0014200 ] R E T U R N S [ B O O L E
0014220 A N ] = \r \t B E G I N \r \t b i
0014240 t s : C A R D I N A L _ R
0014260 e a d B y t e [ c o n t r o l S
0014300 t a t u s ] ; \r \t R E T U R N [
0014320 I n l i n e . B I T A N D [ b i
0014340 t s , g o B u s y ] # 0 ]
0014360 ; \r \t E N D ; \r \t \r R a w F o r
0014400 m a t : P U B L I C P R O C
0014420 [ u n i t : U n i t _ 0
0014440 , c m d O f f s e t : C A R
0014460 D I N A L ] R E T U R N S [
0014500 n o H a r d E r r o r s : B O
0014520 O L E A N ] = \r - - F o
0014540 r m a t s a l l a v a i l a
0014560 b l e s e c t o r s ( l e a
0014600 v e s n o s p a r e s ) .
0014620 O n l y r e t u r n s F A
0014640 L S E o n a d o u b l e \r
0014660 - - e r r o r . S h o u l
0014700 d n e v e r h a p p e n .
0014720 T h i s c o d e o n l y
0014740 t r i e s t o f o r m a t
0014760 3 2 s e c t o r s p e r t
0015000 r a c k . \r - - B y c h a n
0015020 g i n g t h e d r i v e s
0015040 w i t c h e s a n d i s s u
0015060 i n g ' s e t D r i v e S i z
0015100 e ' c o m m a n d s t h i s
0015120 c a n b e i n c r e a s e
0015140 d t o \r - - 3 4 s e c t o
0015160 r s p e r t r a c k . C
0015200 D C 9 7 6 6 c o m p a t a b i
0015220 l i t y i s e a s i e r f
0015240 o r n o w s i n c e i t
0015260 i s w i r e d i n t h e
0015300 \r - - c o n t r o l l e r E
0015320 P R O M . \r \t B E G I N \r \t C y
0015340 l i n d e r F o r m a t : P R
0015360 O C [ c y l i n d e r : C y
0015400 l i n d e r ] R E T U R N S
0015420 [ s t a t u s : S t a t u s B
0015440 y t e 2 ] = \r \t \t B E G I N \r
0015460 \t \t p : L O N G P O I N T E
0015500 R _ @ f o r m a t P B ; \r \t
0015520 \t f o r m a t P B : I O P B
0015540 _ [ \r \t \t \t d i s k C o m m a
0015560 n d : [ c o m m a n d : w r
0015600 i t e F o r m a t ] , \r \t \t \t d
0015620 r i v e T y p e A n d S e l e c
0015640 t : [ u n i t : u n i t ] ,
0015660 \r \t \t \t h e a d A d d : 0 , \r
0015700 \t \t \t s e c t o r A d d : 0 ,
0015720 \r \t \t \t s e c t o r C o u n t L
0015740 o w : I n l i n e . L o w B y
0015760 t e [ s e c t o r s P e r T r a
0016000 c k * t r a c k s P e r C y
0016020 l i n d e r ] , \r \t \t \t s e c t
0016040 o r C o u n t H i g h : I n l
0016060 i n e . H i g h B y t e [ s e c
0016100 t o r s P e r T r a c k * t
0016120 r a c k s P e r C y l i n d e r
0016140 ] \r \t \t \t ] ; \r \t \t \t \r \t \t f o
0016160 r m a t P B . c y l A d d L o w
0016200 _ I n l i n e . L o w B y t
0016220 e [ c y l i n d e r ] ; \r \t \t f
0016240 o r m a t P B . c y l A d d H i
0016260 g h _ I n l i n e . H i g h
0016300 B y t e [ c y l i n d e r ] ; \r
0016320 \t \t C o l o r V e r s a t e c U
0016340 t i l s . H y p e r S t o r e [
0016360 s o u r c e P t r : p , d e
0016400 s t O f f s e t : c m d O f f
0016420 s e t , w o r d C o u n t :
0016440 S I Z E [ I O P B ] ] ; \r \t \t A
0016460 c t i v a t e I O P B [ h y p e
0016500 r O f f s e t : c m d O f f s
0016520 e t ] ; \r \t \t C o l o r V e r s
0016540 a t e c U t i l s . H y p e r R
0016560 e a d [ d e s t P t r : p ,
0016600 s o u r c e O f f s e t : c m
0016620 d O f f s e t , w o r d C o u
0016640 n t : S I Z E [ I O P B ] ] ;
0016660 \r \t \t R E T U R N [ f o r m a
0016700 t P B . s t a t u s B y t e 2 ]
0016720 ; \r \t \t E N D ; \r \t \t \r \t h a r
0016740 d E r r o r : B O O L E A N
0016760 _ F A L S E ; \r \t r e s u l t
0017000 : S t a t u s B y t e 2 ; \r \t
0017020 O t h e l l o D e f s . W r i t
0017040 e L i n e [ " B e g i n F o r
0017060 m a t " ] ; \r \t F O R c u r r
0017100 e n t C y l : C A R D I N A L
0017120 I N [ 0 . . c y l i n d e r
0017140 s P e r S p i n d l e ) D O \r
0017160 \t \t P r o c e s s o r F a c e .
0017200 S e t M P [ c u r r e n t C y l
0017220 ] ; \r \t \t F O R r e t r y :
0017240 C A R D I N A L I N [ 0 . .
0017260 3 ) D O \r \t \t \t r e s u l t
0017300 _ C y l i n d e r F o r m a t
0017320 [ c y l i n d e r : c u r r
0017340 e n t C y l ] ; \r \t \t \t I F D
0017360 o u b l e E r r o r [ ] T H E
0017400 N L O O P ; \r \t \t \t I F G o
0017420 o d C o m p l e t i o n C o d e
0017440 [ r e s u l t ] T H E N E X
0017460 I T ; \r \t \t \t O t h e l l o D e
0017500 f s . W r i t e S t r i n g [ "
0017520 R e t r y a t C y l i n d e
0017540 r : " ] ; \r \t \t \t O t h e l l
0017560 o D e f s . W r i t e L o n g N
0017600 u m b e r [ c u r r e n t C y l
0017620 ] ; \r \t \t \t O t h e l l o D e f
0017640 s . N e w L i n e [ ] ; \r \t \t \t
0017660 R E P E A T \r \t \t \t F I N I S H
0017700 E D = > \r \t \t \t \t B E G I N
0017720 \r \t \t \t \t O t h e l l o D e f s
0017740 . W r i t e L i n e [ " E R R O
0017760 R : H a r d E r r o r o n
0020000 F o r m a t " ] ; \r \t \t \t \t h
0020020 a r d E r r o r _ T R U E ;
0020040 \r \t \t \t \t E N D ; \r \t \t \t E N D
0020060 L O O P ; \r \t \t E N D L O O P ;
0020100 \r \t O t h e l l o D e f s . W r
0020120 i t e L i n e [ " F o r m a t
0020140 D o n e " ] ; \r \t R E T U R N
0020160 [ h a r d E r r o r ] ; \r \t E
0020200 N D ; \r \t \t \r R e a d : P U B
0020220 L I C P R O C [ h e a d :
0020240 H e a d , s e c t o r : S e
0020260 c t o r , c y l i n d e r :
0020300 C y l i n d e r , u n i t :
0020320 U n i t _ 0 , s e c t o r
0020340 C o u n t : C A R D I N A L ,
0020360 c m d O f f s e t : C A R D
0020400 I N A L , d a t a O f f s e t
0020420 : L O N G C A R D I N A L ]
0020440 R E T U R N S [ s u c c e s
0020460 s : B O O L E A N ] = \r \t B
0020500 E G I N \r \t R a w R e a d : P
0020520 R O C [ ] R E T U R N S [
0020540 s t a t u s : S t a t u s B y
0020560 t e 2 ] = \r \t \t B E G I N \r \t
0020600 \t w o r d A d d : L O N G C
0020620 A R D I N A L _ L O O P H O
0020640 L E [ C o l o r V e r s a t e c
0020660 U t i l s . h y p e r S t a r t
0020700 ] ; \r \t \t b y t e A d d : L O
0020720 N G C A R D I N A L _ ( w
0020740 o r d A d d + d a t a O f f
0020760 s e t ) * 2 ; \r \t \t p : L
0021000 O N G P O I N T E R _ @ r
0021020 e a d P B ; \r \t \t r e a d P B :
0021040 I O P B _ [ d i s k C o m
0021060 m a n d : [ r e l o c a t e :
0021100 T R U E , c o m m a n d :
0021120 r e a d ] ] ; \r \t \t r e a d P B
0021140 . d r i v e T y p e A n d S e l
0021160 e c t . u n i t _ u n i t ;
0021200 \r \t \t r e a d P B . h e a d A d
0021220 d _ h e a d ; \r \t \t r e a d
0021240 P B . s e c t o r A d d _ s
0021260 e c t o r ; \r \t \t r e a d P B .
0021300 c y l A d d L o w _ I n l i
0021320 n e . L o w B y t e [ c y l i n
0021340 d e r ] ; \r \t \t r e a d P B . c
0021360 y l A d d H i g h _ I n l i
0021400 n e . H i g h B y t e [ c y l i
0021420 n d e r ] ; \r \t \t r e a d P B .
0021440 s e c t o r C o u n t L o w _
0021460 I n l i n e . L o w B y t e [
0021500 s e c t o r C o u n t ] ; \r \t \t
0021520 r e a d P B . s e c t o r C o u
0021540 n t H i g h _ I n l i n e .
0021560 H i g h B y t e [ s e c t o r C
0021600 o u n t ] ; \r \t \t r e a d P B .
0021620 d a t a A d d L o w _ I n l
0021640 i n e . L o w B y t e [ I n l i
0021660 n e . L o w H a l f [ b y t e A
0021700 d d ] ] ; \r \t \t r e a d P B . d
0021720 a t a A d d H i g h _ I n l
0021740 i n e . H i g h B y t e [ I n l
0021760 i n e . L o w H a l f [ b y t e
0022000 A d d ] ] ; \r \t \t r e a d P B .
0022020 d a t a R e l o c L o w _ I
0022040 n l i n e . L o w B y t e [ I n
0022060 l i n e . H i g h H a l f [ b y
0022100 t e A d d ] ] ; \r \t \t C o l o r
0022120 V e r s a t e c U t i l s . H y
0022140 p e r S t o r e [ s o u r c e P
0022160 t r : p , d e s t O f f s e
0022200 t : c m d O f f s e t , w o
0022220 r d C o u n t : S I Z E [ I O
0022240 P B ] ] ; \r \t \t A c t i v a t e
0022260 I O P B [ h y p e r O f f s e t
0022300 : c m d O f f s e t ] ; \r \t \t
0022320 C o l o r V e r s a t e c U t i
0022340 l s . H y p e r R e a d [ d e s
0022360 t P t r : p , s o u r c e O
0022400 f f s e t : c m d O f f s e t
0022420 , w o r d C o u n t : S I Z
0022440 E [ I O P B ] ] ; \r \t \t R E T U
0022460 R N [ r e a d P B . s t a t u
0022500 s B y t e 2 ] ; \r \t \t E N D ; \r
0022520 \t \r \t b i t s : C A R D I N A
0022540 L ; \t \r \t r e s u l t : S t a
0022560 t u s B y t e 2 ; \r \t F O R r
0022600 e t r y : C A R D I N A L I
0022620 N [ 0 . . 3 ) D O \r \t \t r e
0022640 s u l t _ R a w R e a d [ ]
0022660 ; \r \t \t I F D o u b l e E r r
0022700 o r [ ] T H E N L O O P ; \r
0022720 \t \t I F G o o d C o m p l e t
0022740 i o n C o d e [ r e s u l t ]
0022760 T H E N E X I T ; \r \t \t O t h
0023000 e l l o D e f s . W r i t e S t
0023020 r i n g [ " R e t r y . . . S t
0023040 a t u s B y t e 2 : " ] ; \r \t
0023060 \t O t h e l l o D e f s . W r i
0023100 t e O c t a l [ b i t s _ L
0023120 O O P H O L E [ r e s u l t ] ]
0023140 ; \r \t \t O t h e l l o D e f s .
0023160 N e w L i n e [ ] ; \r \t \t R E P
0023200 E A T \r \t \t F I N I S H E D =
0023220 > \r \t \t \t B E G I N \r \t \t \t O
0023240 t h e l l o D e f s . W r i t e
0023260 S t r i n g [ " E R R O R : H
0023300 a r d R e a d E r r o r a
0023320 t C y l i n d e r : " ] ; \r
0023340 \t \t \t O t h e l l o D e f s . W
0023360 r i t e L o n g N u m b e r [ c
0023400 y l i n d e r ] ; \r \t \t \t O t h
0023420 e l l o D e f s . W r i t e S t
0023440 r i n g [ " H e a d : " ] ;
0023460 \r \t \t \t O t h e l l o D e f s .
0023500 W r i t e L o n g N u m b e r [
0023520 h e a d ] ; \r \t \t \t O t h e l l
0023540 o D e f s . W r i t e S t r i n
0023560 g [ " S e c t o r : " ] ; \r
0023600 \t \t \t O t h e l l o D e f s . W
0023620 r i t e L o n g N u m b e r [ s
0023640 e c t o r ] ; \r \t \t \t O t h e l
0023660 l o D e f s . N e w L i n e [ ]
0023700 ; \r \t \t \t E R R O R ; \r \t \t \t E
0023720 N D ; \r \t \t E N D L O O P ; \r \t
0023740 R E T U R N [ T R U E ] ; \r \t E
0023760 N D ; \r \t \t \r W r i t e : P U
0024000 B L I C P R O C [ h e a d :
0024020 H e a d , s e c t o r : S
0024040 e c t o r , c y l i n d e r :
0024060 C y l i n d e r , u n i t :
0024100 U n i t _ 0 , s e c t o
0024120 r C o u n t : C A R D I N A L
0024140 , c m d O f f s e t : C A R
0024160 D I N A L , d a t a O f f s e
0024200 t : L O N G C A R D I N A L
0024220 ] R E T U R N S [ s u c c e
0024240 s s : B O O L E A N ] = \r \t
0024260 B E G I N \r \t R a w W r i t e :
0024300 P R O C [ ] R E T U R N S
0024320 [ s t a t u s : S t a t u s
0024340 B y t e 2 ] = \r \t \t B E G I N
0024360 \r \t \t w o r d A d d : L O N G
0024400 C A R D I N A L _ L O O P
0024420 H O L E [ C o l o r V e r s a t
0024440 e c U t i l s . h y p e r S t a
0024460 r t ] ; \r \t \t b y t e A d d :
0024500 L O N G C A R D I N A L _
0024520 ( w o r d A d d + d a t a O
0024540 f f s e t ) * 2 ; \r \t \t p :
0024560 L O N G P O I N T E R _
0024600 @ w r i t e P B ; \r \t \t w r i t
0024620 e P B : I O P B _ [ d i s
0024640 k C o m m a n d : [ r e l o c
0024660 a t e : T R U E , c o m m a
0024700 n d : w r i t e ] ] ; \r \t \t w
0024720 r i t e P B . d r i v e T y p e
0024740 A n d S e l e c t . u n i t _
0024760 u n i t ; \r \t \t w r i t e P B
0025000 . h e a d A d d _ h e a d ;
0025020 \r \t \t w r i t e P B . s e c t o
0025040 r A d d _ s e c t o r ; \r \t
0025060 \t w r i t e P B . c y l A d d L
0025100 o w _ I n l i n e . L o w B
0025120 y t e [ c y l i n d e r ] ; \r \t
0025140 \t w r i t e P B . c y l A d d H
0025160 i g h _ I n l i n e . H i g
0025200 h B y t e [ c y l i n d e r ] ;
0025220 \r \t \t w r i t e P B . s e c t o
0025240 r C o u n t L o w _ I n l i
0025260 n e . L o w B y t e [ s e c t o
0025300 r C o u n t ] ; \r \t \t w r i t e
0025320 P B . s e c t o r C o u n t H i
0025340 g h _ I n l i n e . H i g h
0025360 B y t e [ s e c t o r C o u n t
0025400 ] ; \r \t \t w r i t e P B . d a t
0025420 a A d d L o w _ I n l i n e
0025440 . L o w B y t e [ I n l i n e .
0025460 L o w H a l f [ b y t e A d d ]
0025500 ] ; \r \t \t w r i t e P B . d a t
0025520 a A d d H i g h _ I n l i n
0025540 e . H i g h B y t e [ I n l i n
0025560 e . L o w H a l f [ b y t e A d
0025600 d ] ] ; \r \t \t w r i t e P B . d
0025620 a t a R e l o c L o w _ I n
0025640 l i n e . L o w B y t e [ I n l
0025660 i n e . H i g h H a l f [ b y t
0025700 e A d d ] ] ; \r \t \t C o l o r V
0025720 e r s a t e c U t i l s . H y p
0025740 e r S t o r e [ s o u r c e P t
0025760 r : p , d e s t O f f s e t
0026000 : 0 , w o r d C o u n t :
0026020 S I Z E [ I O P B ] ] ; \r \t \t A
0026040 c t i v a t e I O P B [ h y p e
0026060 r O f f s e t : 0 ] ; \r \t \t C
0026100 o l o r V e r s a t e c U t i l
0026120 s . H y p e r R e a d [ d e s t
0026140 P t r : p , s o u r c e O f
0026160 f s e t : 0 , w o r d C o u
0026200 n t : S I Z E [ I O P B ] ] ;
0026220 \r \t \t R E T U R N [ w r i t e
0026240 P B . s t a t u s B y t e 2 ] ;
0026260 \r \t \t E N D ; \r \t \t \r \t b i t s
0026300 : C 201 022 H I N A L ; \t \t \r \t r
0026320 e s u l t : S t a t u s B y t
0026340 e 2 ; \r \t F O R r e t r y :
0026360 C A R D I N A L I N [ 0 . .
0026400 3 ) D O \r \t \t r e s u l t _
0026420 R a w W r i t e [ ] ; \r \t \t
0026440 I F D o u b l e E r r o r [ ]
0026460 T H E N L O O P ; \r \t \t I F
0026500 G o o c 263 o m p l e t i o n C
0026520 o d e [ r e s u l t ] T H E N
0026540 E X I T ; \r \t \t O t h e l l o
0026560 D e f s . W r i t e S t r i n g
0026600 [ " R e t r y . . . S t a t u s
0026620 B y t e 2 : " ] ; \r \t \t O t h
0026640 e l l o D e f s . W r i t e O c
0026660 t a l [ b i t s _ L O O P H
0026700 O L E [ r e s u l t ] ] ; \r \t \t
0026720 O t h e l l o D e f s . N e w L
0026740 i n e [ ] ; \r \t \t R E P E A T \r
0026760 \t \t F I N I S H E D = > \r \t
0027000 \t \t B E G I N \r \t \t \t O t h e l
0027020 l o D e f s . W r i t e S t r i
0027040 n g [ " E R R O R : H a r d
0027060 W r i t e E r r o r a t C
0027100 y l i n d e r " ] ; \r \t \t \t O
0027120 t h e l l o D e f s . W r i t e
0027140 L o n g N u m b e r [ c y l i n
0027160 d e r ] ; \r \t \t \t O t h e l l o
0027200 D e f s . W r i t e S t r i n g
0027220 [ " H e a d : " ] ; \r \t \t \t
0027240 O t h e l l o D e f s . W r i t
0027260 e L o n g N u m b e r [ h e a d
0027300 ] ; \r \t \t \t O t h e l l o D e f
0027320 s . W r i t e S t r i n g [ "
0027340 S e c t o r : " ] ; \r \t \t \t O
0027360 t h e l l o D e f s . W r i t e
0027400 L o n g N u m b e r [ s e c t o
0027420 r ] ; \r \t \t \t O t h e l l o D e
0027440 f s . N e w L i n e [ ] ; \r \t \t
0027460 \t E R R O R ; \r \t \t \t E N D ; \r
0027500 \t \t E N D L O O P ; \r \t R E T U
0027520 R N [ T R U E ] ; \r \t E N D ; \r
0027540 \r \r S e e k : P U B L I C P
0027560 R O C [ h e a d : H e a d
0027600 _ 0 , c y l i n d e r : C
0027620 y l i n d e r _ 0 , u n i
0027640 t : U n i t _ 0 , c m d
0027660 O f f s e t : C A R D I N A L
0027700 ] R E T U R N S [ s u c c e
0027720 s s : B O O L E A N ] = \r \t
0027740 B E G I N \r \t R a w S e e k :
0027760 P R O C [ ] R E T U R N S
0030000 [ s t a t u s : S t a t u s B
0030020 y t e 2 ] = \r \t \t B E G I N \r
0030040 \t \t p : L O N G P O I N T E
0030060 R _ @ s e e k P B ; \r \t \t s
0030100 e e k P B : I O P B _ [ d
0030120 i s k C o m m a n d : [ r e l
0030140 o c a t e : T R U E , c o m
0030160 m a n d : s e e k ] ] ; \r \t \t
0030200 s e e k P B . d r i v e T y p e
0030220 A n d S e l e c t . u n i t _
0030240 u n i t ; \r \t \t s e e k P B .
0030260 h e a d A d d _ h e a d ; \r
0030300 \t \t s e e k P B . c y l A d d L
0030320 o w _ I n l i n e . L o w B
0030340 y t e [ c y l i n d e r ] ; \r \t
0030360 \t s e e k P B . c y l A d d H i
0030400 g h _ I n l i n e . H i g h
0030420 B y t e [ c y l i n d e r ] ; \r
0030440 \t \t C o l o r V e r s a t e c U
0030460 t i l s . H y p e r S t o r e [
0030500 s o u r c e P t r : p , d e
0030520 s t O f f s e t : 0 , w o r
0030540 d C o u n t : S I Z E [ I O P
0030560 B ] ] ; \r \t \t A c t i v a t e I
0030600 O P B [ h y p e r O f f s e t :
0030620 0 ] ; \r \t \t C o l o r V e r s
0030640 a t e c U t i l s . H y p e r R
0030660 e a d [ d e s t P t r : p ,
0030700 s o u r c e O f f s e t : 0 ,
0030720 w o r d C o u n t : S I Z E
0030740 [ I O P B ] ] ; \r \t \t R E T U R
0030760 N [ s e e k P B . s t a t u s
0031000 B y t e 2 ] ; \r \t \t E N D ; \r \t
0031020 \t \r \t b i t s : C A R D I N A
0031040 L ; \t \t \r \t r e s u l t : S t
0031060 a t u s B y t e 2 ; \r \t - - T
0031100 h e c o n t r o l l e r d o
0031120 e s a u t o m a t i c r e t
0031140 r i e s , b u t I ' l l d
0031160 o t h e m a s w e l l . .
0031200 . \r \t F O R r e t r y : C A
0031220 R D I N A L I N [ 0 . . 3 )
0031240 D O \r \t \t r e s u l t _ R
0031260 a w S e e k [ ] ; \r \t \t I F D
0031300 o u b l e E r r o r [ ] T H E
0031320 N L O O P ; \r \t \t I F G o o
0031340 d C o m p l e t i o n C o d e [
0031360 r e s u l t ] T H E N E X I
0031400 T ; \r \t \t O t h e l l o D e f s
0031420 . W r i t e S t r i n g [ " R e
0031440 t r y . . . S t a t u s B y t e
0031460 2 : " ] ; \r \t \t O t h e l l o
0031500 D e f s . W r i t e O c t a l [
0031520 b i t s _ L O O P H O L E [
0031540 r e s u l t ] ] ; \r \t \t O t h e
0031560 l l o D e f s . N e w L i n e [
0031600 ] ; \r \t \t R E P E A T \r \t \t F I
0031620 N I S H E D = > \r \t \t \t B E
0031640 G I N \r \t \t \t O t h e l l o D e
0031660 f s . W r i t e S t r i n g [ "
0031700 E R R O R : H a r d S e e k
0031720 E r r o r a t C y l i n d
0031740 e r " ] ; \r \t \t \t O t h e l l
0031760 o D e f s . W r i t e L o n g N
0032000 u m b e r [ c y l i n d e r ] ;
0032020 \r \t \t \t O t h e l l o D e f s .
0032040 W r i t e S t r i n g [ " H e
0032060 a d : " ] ; \r \t \t \t O t h e l
0032100 l o D e f s . W r i t e L o n g
0032120 N u m b e r [ h e a d ] ; \r \t \t
0032140 \t O t h e l l o D e f s . N e w
0032160 L i n e [ ] ; \r \t \t \t R E T U R
0032200 N [ F A L S E ] ; \r \t \t \t E N D
0032220 ; \r \t \t E N D L O O P ; \r \t \t R
0032240 E T U R N [ T R U E ] ; \r \r \t E
0032260 N D ; \r \r D o u b l e E r r o r
0032300 : P R O C [ ] R E T U R N
0032320 S [ B O O L E A N ] = \r \t B
0032340 E G I N \r \t b i t s : C A R D
0032360 I N A L ; \r \t I F I n l i n e
0032400 . B I T A N D [ b i t s _ R
0032420 e a d B y t e [ c o n t r o l S
0032440 t a t u s ] , d o u b l e E r
0032460 r o r ] # 0 T H E N \r \t
0032500 \t B E G I N \r \t \t E r r o r R e
0032520 s e t [ ] ; \r \t \t D r i v e R e
0032540 s e t [ ] ; \r \t \t O t h e l l
0032560 o D e f s . W r i t e S t r i n
0032600 g [ " E R R O R : D o u b l e
0032620 E r r o r . . . C S R : " ]
0032640 ; \r \t \t O t h e l l o D e f s .
0032660 W r i t e O c t a l [ b i t s ]
0032700 ; \r \t \t O t h e l l o D e f s .
0032720 N e w L i n e [ ] ; \r \t \t R E T
0032740 U R N [ T R U E ] ; \r \t \t E N D
0032760 ; \r \t R E T U R N [ F A L S E ]
0033000 ; \r \t E N D ; \r \r D r i v e R e
0033020 s e t : P R O C [ ] = \r \t
0033040 B E G I N \r \t p : L O N G P
0033060 O I N T E R _ @ r e s e t P
0033100 B ; \r \t r e s e t P B : I O P
0033120 B _ [ d i s k C o m m a n d
0033140 : [ r e l o c a t e : T R U
0033160 E , c o m m a n d : d r i v
0033200 e R e s e t ] ] ; \r \t C o l o r
0033220 V e r s a t e c U t i l s . H y
0033240 p e r S t o r e [ s o u r c e P
0033260 t r : p , d e s t O f f s e
0033300 t : 0 , w o r d C o u n t :
0033320 S I Z E [ I O P B ] ] ; \r \t A
0033340 c t i v a t e I O P B [ h y p e
0033360 r O f f s e t : 0 ] ; \r \t E N
0033400 D ; \r \r C o n t r o l l e r R e
0033420 s e t : P R O C [ ] = \r \t
0033440 B E G I N \r \t - - r e a d i n
0033460 g h a s t h e s i d e e
0033500 f f e c t o f r e s e t t i
0033520 n g t h e c o n t r o l l e
0033540 r , s e l e c t i n g d r i
0033560 v e 0 , \r \t - - a n d t e
0033600 s t i n g t h e d r i v e
0033620 r e a d y s t a t u s \r \t b i
0033640 t s : C A R D I N A L _ R
0033660 e a d B y t e [ c o n t r o l l
0033700 e r R e s e t A n d U p d a t e
0033720 ] ; \r \t D a l l y [ 1 0 0 ]
0033740 ; \r \t E N D ; \r \t \r E r r o r R
0033760 e s e t : P R O C [ ] = \r
0034000 \t B E G I N \r \t b i t s : C A
0034020 R D I N A L ; \r \t W r i t e B y
0034040 t e [ g e n e r a l E r r o r ,
0034060 c o n t r o l S t a t u s ] ;
0034100 \r \t D a l l y [ ] ; \r \t I F
0034120 I n l i n e . B I T A N D [ b i
0034140 t s _ R e a d B y t e [ c o
0034160 n t r o l S t a t u s ] , d o
0034200 u b l e E r r o r ] # 0 O
0034220 R \r \t \t I n l i n e . B I T A N
0034240 D [ b i t s _ R e a d B y t
0034260 e [ c o n t r o l S t a t u s ]
0034300 , g e n e r a l E r r o r ]
0034320 # 0 T H E N \r \t \t O t h e
0034340 l l o D e f s . W r i t e L i n
0034360 e [ " E R R O R E R R O R :
0034400 C o u l d n o t c l e a r
0034420 e r r o r s t a t u s " ] ; \r
0034440 \t E N D ; \r \r \r G o o d C o m p
0034460 l e t i o n C o d e : P R O C
0034500 [ s t a t u s : S t a t u s
0034520 B y t e 2 ] R E T U R N S [
0034540 B O O L E A N ] = \r \t B E G I
0034560 N \r \t b i t s : C A R D I N A
0034600 L ; \r \t I F I n l i n e . B I
0034620 T A N D [ b i t s _ R e a d
0034640 B y t e [ c o n t r o l S t a t
0034660 u s ] , g e n e r a l E r r o
0034700 r ] # 0 T H E N \r \t \t B
0034720 E G I N \r \t \t E r r o r R e s e
0034740 t [ ] ; \r \t \t O t h e l l o D e
0034760 f s . W r i t e S t r i n g [ "
0035000 E R R O R : G e n e r a l E
0035020 r r o r b i t s e t . . . S
0035040 t a t u s B y t e 2 : " ] ; \r
0035060 \t \t O t h e l l o D e f s . W r
0035100 i t e O c t a l [ b i t s _
0035120 L O O P H O L E [ s t a t u s ]
0035140 ] ; \r \t \t O t h e l l o D e f s
0035160 . N e w L i n e [ ] ; \r \t \t E N
0035200 D ; \r \t S E L E C T s t a t u
0035220 s F R O M \r \t \t s u c c e s s
0035240 , s e e k R e t r y , s o f
0035260 t E C C E r r o r R e c o v e r
0035300 e d = > R E T U R N [ T R U
0035320 E ] ; \r \t \t \r \t \t o p e r a t i
0035340 o n T i m e O u t , h e a d e
0035360 r N o t F o u n d , h a r d E
0035400 C C E r r o r = > R E T U R
0035420 N [ F A L S E ] ; \r \t \t \r \t \t c
0035440 y l A n d H e a d H e a d e r E
0035460 r r o r , d r i v e F a u l t
0035500 e d , d r i v e N o t R e a d
0035520 y , s e e k E r r o r = > \r
0035540 \t \t \t B E G I N \r \t \t \t C o n t
0035560 r o l l e r R e s e t [ ] ; \r \t
0035600 \t \t D r i v e R e s e t [ ] ; \r
0035620 \t \t \t R E T U R N [ F A L S E ]
0035640 ; \r \t \t \t E N D ; \r \t \t \t \r \t \t
0035660 i n t P e n d i n g , b u s y
0035700 C o n f l i c t , i l l e g a
0035720 l C y l A d d , i l l e g a l
0035740 S e c t o r A d d , \r \t \t u n
0035760 i m p l e m e n t e d C o m m a
0036000 n d , s e c t o r C o u n t Z
0036020 e r o , i l l e g a l S e c t
0036040 o r S i z e , s e l f T e s t
0036060 A , \r \t \t s e l f T e s t B ,
0036100 s e l f T e s t C , i l l e
0036120 g a l H e a d E r r o r = > \r
0036140 \t \t \t B E G I N \r \t \t \t O t h e
0036160 l l o D e f s . W r i t e L i n
0036200 e [ " E R R O R : P r o g r a
0036220 m e r r o r o r h a r d
0036240 f a i l u r e " ] ; \r \t \t \t E R
0036260 R O R ; \r \t \t \t E N D ; \r \t \t \t
0036300 \r \t \t s e c t o r S l i p E r r
0036320 o r = > \r \t \t \t B E G I N \r
0036340 \t \t \t O t h e l l o D e f s . W
0036360 r i t e L i n e [ " E R R O R :
0036400 S e c t o r S l i p E r r
0036420 o r " ] ; \r \t \t \t E R R O R ; \r
0036440 \t \t \t E N D ; \r \t \t \r \t \t s l a
0036460 v e A C K E r r o r = > \r \t
0036500 \t \t B E G I N \r \t \t \t O t h e l
0036520 l o D e f s . W r i t e L i n e
0036540 [ " E R R O R : X A C K t i
0036560 m e o u t " ] ; \r \t \t \t E R R O
0036600 R ; \r \t \t \t E N D ; \r \t \t \r \t \t
0036620 l a s t S e c t o r T o o S m a
0036640 l l , i l l e g a l S e c t o
0036660 r S i z e = > \r \t \t \t B E G
0036700 I N \r \t \t \t O t h e l l o D e f
0036720 s . W r i t e L i n e [ " E R R
0036740 O R : F o r m a t t i n g E
0036760 r r o r , c h e c k d r i v
0037000 e c o n f i g u r a t i o n "
0037020 ] ; \r \t \t \t E R R O R ; \r \t \t \t
0037040 E N D ; \r \t \t \r \t \t w r i t e P
0037060 r o t e c t E r r o r = > \r
0037100 \t \t \t B E G I N \r \t \t \t O t h e
0037120 l l o D e f s . W r i t e L i n
0037140 e [ " E R R O R : W r i t e
0037160 P r o t e c t E r r o r " ] ;
0037200 \r \t \t \t E R R O R ; \r \t \t \t E N
0037220 D ; \r \t \t \t \r \t \t E N D C A S E
0037240 = > \r \t \t \t B E G I N \r \t \t
0037260 \t O t h e l l o D e f s . W r i
0037300 t e L i n e [ " E R R O R : U
0037320 n k n o w n T y p e " ] ; \r \t
0037340 \t \t E R R O R ; \r \t \t \t E N D ;
0037360 \r \t E N D ; \r \t \r D a l l y :
0037400 P R O C [ i : C A R D I N A
0037420 L _ 1 0 ] = \r \t B E G I N
0037440 \r \t F O R j : C A R D I N A
0037460 L I N [ 0 . . i ) D O \r \t
0037500 \t E N D L O O P ; \r \t E N D ; \r
0037520 \t \r \t \r D i s k I n i t i a l C
0037540 h e c k o u t : P U B L I C
0037560 P R O C [ ] = \r \t B E G I N
0037600 \r \t b i t s : C A R D I N A L
0037620 _ 0 ; \r \t W H I L E T R U
0037640 E D O \r \t \t C o n t r o l l
0037660 e r R e s e t [ ] ; \r \t \t b i t
0037700 s _ I n l i n e . B I T A N
0037720 D [ d r i v e R e a d y , R e
0037740 a d B y t e [ c o n t r o l S t
0037760 a t u s ] ] ; \r \t \t D a l l y [
0040000 ] ; \r \t \t I F b i t s # 0
0040020 T H E N E X I T ; \r \t \t O t
0040040 h e l l o D e f s . W r i t e L
0040060 i n e [ " D r i v e 0 O f f
0040100 l i n e : M a k e s u r e
0040120 d r i v e i s s p u n u p
0040140 a n d t h e A - a c c e s
0040160 s l i g h t i s l i t " ]
0040200 ; \r \t \t P r o c e s s . P a u s
0040220 e [ P r o c e s s . S e c o n d
0040240 s T o T i c k s [ 2 ] ] ; \r \t \t
0040260 E N D L O O P ; \r \t E N D ; \r \t
0040300 \r R e a d D r i v e S t a t u s
0040320 : P U B L I C P R O C [ u
0040340 n i t : U n i t _ 0 ] R
0040360 E T U R N S [ ] = \r \t B E G
0040400 I N \r \t b i t s : C A R D I N
0040420 A L ; \r \t p : L O N G P O I
0040440 N T E R _ @ r d s P B ; \r \t
0040460 r d s P B : I O P B _ [ \r
0040500 \t \t d i s k C o m m a n d : [
0040520 r e l o c a t e : T R U E ,
0040540 c o m m a n d : r e a d D r i
0040560 v e S t a t u s ] , \r \t \t d r i
0040600 v e T y p e A n d S e l e c t :
0040620 [ u n i t : u n i t ] \r \t \t
0040640 ] ; \r \t C o l o r V e r s a t e
0040660 c U t i l s . H y p e r S t o r
0040700 e [ s o u r c e P t r : p ,
0040720 d e s t O f f s e t : 0 , w
0040740 o r d C o u n t : S I Z E [ I
0040760 O P B ] ] ; \r \t A c t i v a t e
0041000 I O P B [ h y p e r O f f s e t
0041020 : 0 ] ; \r \t C o l o r V e r s
0041040 a t e c U t i l s . H y p e r R
0041060 e a d [ d e s t P t r : p ,
0041100 s o u r c e O f f s e t : 0 ,
0041120 w o r d C o u n t : S I Z E
0041140 [ I O P B ] ] ; \r \t O t h e l l
0041160 o D e f s . W r i t e S t r i n
0041200 g [ " S t a t u s ( s e e p
0041220 g . 4 7 o f c o n t r o l
0041240 l e r m a n u a l ) : " ] ;
0041260 \r \t O t h e l l o D e f s . W r
0041300 i t e O c t a l [ b i t s _
0041320 L O O P H O L E [ r d s P B . s
0041340 t a t u s B y t e 2 ] ] ; \r \t O
0041360 t h e l l o D e f s . W r i t e
0041400 L i n e [ " B " ] ; \r \t O t h e
0041420 l l o D e f s . W r i t e S t r
0041440 i n g [ " M a x H e a d : "
0041460 ] ; \r \t O t h e l l o D e f s .
0041500 W r i t e L o n g N u m b e r [
0041520 b i t s _ L O O P H O L E [
0041540 r d s P B . h e a d A d d ] ] ;
0041560 \r \t O t h e l l o D e f s . W r
0041600 i t e L i n e [ " " ] ; \r \t O t
0041620 h e l l o D e f s . W r i t e S
0041640 t r i n g [ " M a x S e c t o
0041660 r : " ] ; \r \t O t h e l l o D
0041700 e f s . W r i t e L o n g N u m
0041720 b e r [ b i t s _ L O O P H
0041740 O L E [ r d s P B . s e c t o r
0041760 A d d ] ] ; \r \t O t h e l l o D
0042000 e f s . W r i t e L i n e [ " "
0042020 ] ; \r \t O t h e l l o D e f s .
0042040 W r i t e S t r i n g [ " M a x
0042060 C y l i n d e r : " ] ; \r \t
0042100 b i t s _ ( C A R D I N A L
0042120 [ r d s P B . c y l A d d H i g
0042140 h ] * 2 5 6 ) + C A R D
0042160 I N A L [ r d s P B . c y l A d
0042200 d L o w ] ; \r \t O t h e l l o D
0042220 e f s . W r i t e L o n g N u m
0042240 b e r [ b i t s ] ; \r \t O t h e
0042260 l l o D e f s . W r i t e L i n
0042300 e [ " " ] ; \r \t O t h e l l o D
0042320 e f s . W r i t e S t r i n g [
0042340 " H e a d O f f s e t : " ]
0042360 ; \r \t O t h e l l o D e f s . W
0042400 r i t e L o n g N u m b e r [ b
0042420 i t s _ L O O P H O L E [ r
0042440 d s P B . h e a d O f f s e t ]
0042460 ] ; \r \t O t h e l l o D e f s .
0042500 W r i t e L i n e [ " " ] ; \r \t
0042520 O t h e l l o D e f s . W r i t
0042540 e S t r i n g [ " F i r m w a r
0042560 e R e v : " ] ; \r \t O t h e
0042600 l l o D e f s . W r i t e O c t
0042620 a l [ b i t s _ L O O P H O
0042640 L E [ r d s P B . s e c t o r C
0042660 o u n t H i g h ] ] ; \r \t O t h
0042700 e l l o D e f s . W r i t e L i
0042720 n e [ " B " ] ; \r \t O t h e l l
0042740 o D e f s . W r i t e S t r i n
0042760 g [ " S e c t o r S i z e :
0043000 " ] ; \r \t b i t s _ ( C A R
0043020 D I N A L [ r d s P B . d a t a
0043040 A d d H i g h ] * 2 5 6 )
0043060 + C A R D I N A L [ r d s P B
0043100 . d a t a A d d L o w ] ; \r \t O
0043120 t h e l l o D e f s . W r i t e
0043140 L o n g N u m b e r [ b i t s ]
0043160 ; \r \t O t h e l l o D e f s . W
0043200 r i t e L i n e [ " " ] ; \r \t O
0043220 t h e l l o D e f s . W r i t e
0043240 S t r i n g [ " D i s k S e c
0043260 t o r s p e r T r a c k (
0043300 i n c l u d i n g r u n t s )
0043320 : " ] ; \r \t O t h e l l o D e
0043340 f s . W r i t e L o n g N u m b
0043360 e r [ b i t s _ L O O P H O
0043400 L E [ r d s P B . d a t a R e l
0043420 o c L o w ] ] ; \r \t O t h e l l
0043440 o D e f s . W r i t e L i n e [
0043460 " " ] ; \r \t E N D ; \r \t \t \r S e
0043500 l f T e s t : P U B L I C P
0043520 R O C [ ] = \r \t B E G I N \r
0043540 \t b i t s : C A R D I N A L ;
0043560 \r \t p : L O N G P O I N T E
0043600 R _ @ s t P B ; \r \t s t P B
0043620 : I O P B _ [ d i s k C o
0043640 m m a n d : [ c o m m a n d :
0043660 s e l f T e s t ] ] ; \r \t C o
0043700 l o r V e r s a t e c U t i l s
0043720 . H y p e r S t o r e [ s o u r
0043740 c e P t r : p , d e s t O f
0043760 f s e t : 0 , w o r d C o u
0044000 n t : S I Z E [ I O P B ] ] ;
0044020 \r \t A c t i v a t e I O P B [ h
0044040 y p e r O f f s e t : 0 ] ; \r
0044060 \t C o l o r V e r s a t e c U t
0044100 i l s . H y p e r R e a d [ d e
0044120 s t P t r : p , s o u r c e
0044140 O f f s e t : 0 , w o r d C
0044160 o u n t : S I Z E [ I O P B ]
0044200 ] ; \r \t O t h e l l o D e f s .
0044220 W r i t e S t r i n g [ " S e l
0044240 f T e s t : S t a t u s B y t
0044260 e 1 : " ] ; \r \t O t h e l l o
0044300 D e f s . W r i t e O c t a l [
0044320 b i t s _ L O O P H O L E [
0044340 s t P B . s t a t u s B y t e 1
0044360 ] ] ; \r \t O t h e l l o D e f s
0044400 . W r i t e S t r i n g [ " S
0044420 t a t u s B y t e 2 : " ] ; \r
0044440 \t O t h e l l o D e f s . W r i
0044460 t e O c t a l [ b i t s _ L
0044500 O O P H O L E [ s t P B . s t a
0044520 t u s B y t e 2 ] ] ; \r \t O t h
0044540 e l l o D e f s . N e w L i n e
0044560 [ ] ; \r \t E N D ; \r \t \t \r N o O
0044600 p : P R O C [ ] = \r \t B E
0044620 G I N \r \t b i t s : C A R D I
0044640 N A L ; \r \t p : L O N G P O
0044660 I N T E R _ @ n o P B ; \r \t
0044700 n o P B : I O P B _ [ d i
0044720 s k C o m m a n d : [ c o m m
0044740 a n d : n o O p ] ] ; \r \t C o
0044760 l o r V e r s a t e c U t i l s
0045000 . H y p e r S t o r e [ s o u r
0045020 c e P t r : p , d e s t O f
0045040 f s e t : 0 , w o r d C o u
0045060 n t : S I Z E [ I O P B ] ] ;
0045100 \r \t A c t i v a t e I O P B [ h
0045120 y p e r O f f s e t : 0 ] ; \r
0045140 \t C o l o r V e r s a t e c U t
0045160 i l s . H y p e r R e a d [ d e
0045200 s t P t r : p , s o u r c e
0045220 O f f s e t : 0 , w o r d C
0045240 o u n t : S I Z E [ I O P B ]
0045260 ] ; \r \t O t h e l l o D e f s .
0045300 W r i t e S t r i n g [ " N o O
0045320 p : S t a t u s B y t e 1 :
0045340 " ] ; \r \t O t h e l l o D e f s
0045360 . W r i t e O c t a l [ b i t s
0045400 _ L O O P H O L E [ n o P B
0045420 . s t a t u s B y t e 1 ] ] ; \r
0045440 \t O t h e l l o D e f s . W r i
0045460 t e S t r i n g [ " S t a t u
0045500 s B y t e 2 : " ] ; \r \t O t h
0045520 e l l o D e f s . W r i t e O c
0045540 t a l [ b i t s _ L O O P H
0045560 O L E [ n o P B . s t a t u s B
0045600 y t e 2 ] ] ; \r \t O t h e l l o
0045620 D e f s . N e w L i n e [ ] ; \r
0045640 \t E N D ; \r \t \r - - B E W A R
0045660 E H A C K E D T O B E B
0045700 A C K W A R D S \r b a s e A d d
0045720 r e s s : D i c e n t r a I n
0045740 p u t O u t p u t . I O A d d r
0045760 e s s = L O O P H O L E [ L
0046000 O N G [ 4 0 0 0 H ] ] ; \r R e a
0046020 d B y t e : P R O C [ y :
0046040 D i s k C o n t r o l l e r R e
0046060 g i s t e r ] R E T U R N S
0046100 [ C A R D I N A L ] = \r B
0046120 E G I N \r b y t e O f f s e
0046140 t : C A R D I N A L = y .
0046160 O R D ; \r I F ( b y t e O
0046200 f f s e t M O D 2 ) # 0
0046220 T H E N \r R E T U R N
0046240 [ D i c e n t r a I n p u t O u
0046260 t p u t . I n p u t B y t e E v
0046300 e n [ b a s e A d d r e s s + b
0046320 y t e O f f s e t / 2 ] ] \r
0046340 E L S E \r R E T U R N [
0046360 D i c e n t r a I n p u t O u t
0046400 p u t . I n p u t B y t e O d d
0046420 [ b a s e A d d r e s s + b y t
0046440 e O f f s e t / 2 ] ] ; \r E
0046460 N D ; \r \t \r W r i t e B y t e :
0046500 P R O C [ x : C A R D I N
0046520 A L , y : D i s k C o n t r
0046540 o l l e r R e g i s t e r ] =
0046560 \r B E G I N \r b y t e O
0046600 f f s e t : C A R D I N A L
0046620 = y . O R D ; \r I F ( b
0046640 y t e O f f s e t M O D 2 )
0046660 # 0 T H E N \r D i
0046700 c e n t r a I n p u t O u t p u
0046720 t . O u t p u t B y t e E v e n
0046740 [ x , b a s e A d d r e s s +
0046760 b y t e O f f s e t / 2 ] \r
0047000 E L S E \r D i c e n t r
0047020 a I n p u t O u t p u t . O u t
0047040 p u t B y t e O d d [ x , b a
0047060 s e A d d r e s s + b y t e O f
0047100 f s e t / 2 ] ; \r E N D ; \r
0047120 \r \r c v : L O N G P O I
0047140 N T E R T O C O N D I T I O
0047160 N ; \r m a s k : W O R D ; \r \r
0047200 [ c v , m a s k ] _ S p e
0047220 c i a l R u n t i m e . A l l o
0047240 c a t e N a k e d C o n d i t i
0047260 o n [ ] ; \r [ ] _ D i c e n
0047300 t r a I n p u t O u t p u t . S
0047320 e t W a k e u p M a s k [ b i t
0047340 s : m a s k , i n t L e v e
0047360 l : d i s k ] ; \r P r o c e s
0047400 s . S e t T i m e o u t [ c v ,
0047420 P r o c e s s . S e c o n d s
0047440 T o T i c k s [ 2 ] ] ; \r \r D i
0047460 s k I n i t i a l C h e c k o u
0047500 t [ ] ; \r \t \r E N D . \r
0047514