$ od -c -N 50000 [_CD6_]<peach>ColorVersatec>DicentraDiskDriverImpl.mesa!1 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