$ od -c -N 50000 [Indigo]<AltoSource>BRAVOSOURCES.DM!1 0000000 377 \0 \0 b f s . d e f \0 373 223 217 032 1 0000020 \0 \0 376 001 \0 001 334 / / B F S . D E 0000040 F \r \r s t r u c t u r e [ w 0000060 o r d A d d r b i t 1 2 ; 0000100 b i t A d d r b i t 4 ] \r 0000120 \r m a n i f e s t [ m s b = 0000140 # 1 0 0 0 0 0 \r \t ] \r \r m a n 0000160 i f e s t l F I D = 3 \r \r \r / 0000200 / d i s k d a t a s t r u 0000220 c t u r e s , t r a n s c r i 0000240 b e d f r o m o s s t r u c 0000260 t u r e s \r \r / / p a g e 1 0000300 l o c a t i o n s \r m a n i f 0000320 e s t [ \r \t n e x t D i s k C 0000340 o m m a n d = # 5 2 1 \t \t / 0000360 / p o i n t e r t o D C B 0000400 \r \t d i s k S t a t u s = # 0000420 5 2 2 \t \t / / 376 001 \0 & $ @ D S 0000440 \r \t l a s t D i s k A d d r e s 0000460 s = # 5 2 3 \t \t / / @ D A 0000500 \r \t s e c t o r I n t e r r u p 0000520 t s = # 5 2 4 \r \t ] \r \r / / 0000540 d i s k a d d r e s s \r s t 0000560 r u c t u r e D A [ \r \t s e c 0000600 t o r b i t 4 \r \t t r a c k 0000620 b i t 9 \r \t h e a d b i t 0000640 1 \r \t d i s k b i t 1 \r \t 0000660 r e s t o r e b i t 1 \r \t ] 0000700 \r \r / / d i s k h e a d e r 0000720 \r s t r u c t u r e D H [ \r \t 0000740 p a c k I d w o r d \r \t d i s 0000760 k A d d r e s s @ D A \r \t ] \r 0001000 \r / / d i s k l a b e l . 0001020 * = s e t b y D o D 376 001 \0 221 0001040 w i s k C o m m a n d \r s t r u 0001060 c t u r e D L [ \r \t n e x t 0001100 w o r d \t \t / / d i s k a d 0001120 d r e s s o f n e x t f i 0001140 l e \r \t \t \t \t / / p a g e , 0001160 o r e o f D A \r \t p r e v i o 0001200 u s w o r d \t \t / / d i s k 0001220 a d d r e s s o f p r e v 0001240 i o u s \r \t \t \t \t / / f i l e 0001260 p a g e , o r e o f D A \r 0001300 \t b l a n k w o r d \r \t n u m 0001320 C h a r s w o r d \t \t / / b 0001340 e t w e e n 0 a n d c h a 0001360 r s P e r P a g e i n c l u s 0001400 i v e . \r \t \t \t \t / / n e c 0001420 h a r s P e r P a g e o n l y 0001440 376 001 \0 206 2 o n l a s t p a 0001460 g e \r \t p a g e N u m b e r w 0001500 o r d \t \t / / * l e a d e r 0001520 i s p a g e 0 , f i r s 0001540 t d a t a \r \t \t \t \t / / p a 0001560 g e i s p a g e 1 \r \t f i 0001600 l e I d w o r d l F I D \t / 0001620 / * \r \t ] \r m a n i f e s t 0001640 l D L = s i z e D L / 1 6 \r \r 0001660 / / d i s k s t a t u s w 0001700 o r d . S e e h a r d w a 0001720 r e m a n u a l f o r d e 0001740 t a i l e d d e f i n i t i o 0001760 n s \r s t r u c t u r e D S [ 0002000 \r \t s e c t o r b i t 4 \r \t 0002020 d o n e b i t 4 \r \t s e e k 0002040 F a i l e d 376 001 \0 234 e b i t \r 0002060 \t s e e k I n P r o g r e s s 0002100 b i t \r \t n o t R e a d y b i 0002120 t \r \t d a t a L a t e b i t \r 0002140 \t n o T r a n s f e r b i t \r 0002160 \t c h e c k s u m E r r o r b 0002200 i t \r \t f i n a l S t a t u s 0002220 b i t 2 \r \t ] \r \r / / d i s 0002240 k c o m m a n d \r s t r u c t 0002260 u r e D C [ \r \t s e a l b i 0002300 t 8 \t \t \t / / m u s t b e 0002320 # 1 1 0 \r \t h e a d e r A c t 0002340 i o n b i t 2 \r \t l a b e l 0002360 A c t i o n b i t 2 \r \t d a 0002400 t a A c t i o n b i t 2 \r \t 0002420 s e e k O n l y b i t 1 \r \t 0002440 e x c h a n g e D i s 376 001 \0 354 L 0002460 k s b i t 1 \t \t / / d i s 0002500 k c o n t r o l l e r i n v 0002520 e r t s \r \t \t \t \t \t / / D C B 0002540 . d i s k A d d r e s s i f 0002560 t h i s b i t \r \t \t \t \t \t / 0002600 / i s s e t \r \t ] \r m a n i 0002620 f e s t d i s k C o m m a n d 0002640 S e a l = # 1 1 0 \r / / p o s 0002660 s i b l e d i s k a c t i o 0002700 n s i n c o m m a n d w o 0002720 r d \r m a n i f e s t [ d i 0002740 s k R e a d = 0 ; d i s k 0002760 C h e c k = 1 ; d i s k W 0003000 r i t e = 2 ] \r \r / / d i 0003020 s k c o m m a n d b l o c k 0003040 . * = s e t b y D o D i s 0003060 376 001 \0 256 362 k C o m m a n d , $ 0003100 = d e f a u l t e d b y \r / / 0003120 D o D i s k C o m m a n d i 0003140 f 0 \r s t r u c t u r e D C 0003160 B [ \r \t n e x t C o m m a n d 0003200 w o r d \t / / * \r \t s t a t u 0003220 s @ D S \t \t / / s e t w h 0003240 e n c o m m a n d i s c o 0003260 m p l e t e d \r \t c o m m a n d 0003300 @ D C \t \t / / * \r \t h e a d 0003320 e r A d d r e s s w o r d \t / 0003340 / * t h e s e a r e m e 0003360 m o r y a d d r e s s e s \r \t 0003400 l a b e l A d d r e s s w o r 0003420 d \t / / $ \r \t d a t a A d d r 0003440 e s s w o r d \t / / * \r \t n 0003460 o r m a l 376 001 \0 316 245 W a k e u p 0003500 s w o r d \t / / $ \r \t e r r 0003520 o r W a k e u p s w o r d \t / 0003540 / $ \r \t h e a d e r @ D H 0003560 = \r \t \t [ \r \t \t b l a n k w o 0003600 r d \r \t \t d i s k A d d r e s s 0003620 @ D A \t / / * i f D A 0003640 a r g u m e n t n e f i l l 0003660 I n D A \r \t \t ] \r \t ] \r m a n i 0003700 f e s t l D C B = s i z e D 0003720 C B / 1 6 \r \r / / * = i n i t 0003740 i a l i z e d b y I n i t i 0003760 a l i z e C b S t o r a g e ; 0004000 e v e r y t h i n g e l s e 0004020 i s z e r o e d \r s t r u c t 0004040 u r e C B Z [ \r \t l e n g t h 0004060 w o r d \t \t / / 376 001 \0 335 325 * 0004100 \r \t D A s w o r d \r \t c l e a 0004120 n u p R o u t i n e w o r d \r 0004140 \t c u r r e n t D A \t w o r d \r 0004160 \t c u r r e n t P a g e w o r 0004200 d \t / / * s e t o n l y 0004220 b y I n i t C b S t o r a g e 0004240 \r \t c u r r e n t N u m C h a r 0004260 s w o r d \r \t n o r m a l W a 0004300 k e u p s w o r d \r \t e r r o 0004320 r W a k e u p s w o r d \r \t e 0004340 r r o r C o u n t w o r d \r \t 0004360 e r r o r R o u t i n e \t w o r 0004400 d \r \t e x t r a \t w o r d \r \t q 0004420 u e u e H e a d w o r d \t \t / 0004440 / * a d d r e s s o f f 0004460 i r s t e n t r y \r \t q u e 376 0004500 001 \0 344 s u e T a i l w o r d \t 0004520 \t / / * a d d r e s s o f 0004540 l a s t e n t r y + 1 \r 0004560 \t e n d Q u e u e V e c w o r 0004600 d \t / / * a d d r e s s o 0004620 f f i r s t w o r d b e y 0004640 o n d \r \t q u e u e V e c ^ 0004660 0 , 1 0 0 0 w o r d \t / / 0004700 * c o n t a i n s o n e m 0004720 o r e e n t r y t h a n \r \t 0004740 \t \t \t / / t h e r e a r e 0004760 c b ' s i n t h e z o n e 0005000 \r \r \t ] \r m a n i f e s t [ \r 0005020 \t l C B Z = o f f s e t C B Z 0005040 . q u e u e V e c / 1 6 + 1 \r \t 0005060 C B Z q u e u e H e a d = o f f 0005100 s e t 376 001 \0 357 0 C B Z . q u e 0005120 u e H e a d / 1 6 \r \t C B Z q u 0005140 e u e T a i l = o f f s e t C 0005160 B Z . q u e u e T a i l / 1 6 \r 0005200 \t ] \r \r / / * = i n i t i a l 0005220 i z e d b y I n i t i a l i 0005240 z e C b S t o r a g e ; e v e 0005260 r y t h i n g e l s e i s 0005300 z e r o e d \r s t r u c t u r e 0005320 C B [ \r / / t h e D C B 0005340 m u s t c o m e f i r s t \r 0005360 \t @ D C B \t \t \t / / a f r e 0005400 e C B m u s t h a v e \r \t 0005420 \t \t \t / / s t a t u s = D S g 0005440 o o d S t a t u s ; \r \t \t \t \t / 0005460 / i n i t i a l i z a t i o n 0005500 l e a v e s i 376 001 \0 # 217 t \r 0005520 \t \t \t \t / / t h a t w a y \r 0005540 \t l a b e l @ D L \r \r \t t r u 0005560 e P a g e N u m b e r w o r d 0005600 \r / / ' v a r i a b l e ' p 0005620 a r t o f t h e c b e n 0005640 d s h e r e \r \t z o n e w o 0005660 r d \t \t / / * \r \t r e t r y 0005700 w o r d \t \t / / * \r \t ] \r m a 0005720 n i f e s t [ l C B = s i z 0005740 e C B / 1 6 ; l V a r C B = 0005760 o f f s e t C B . z o n e / 1 0006000 6 ] \r \r / / n o r m a l l y 0006020 w e w a n t r o o m f o 0006040 r 3 c b ' s i n a z o 0006060 n e \r m a n i f e s t C B z o 0006100 n e L e n g t h = l C B Z + 376 001 0006120 \0 250 240 3 * ( l C B + 1 ) \r \r m a 0006140 n i f e s t [ \r \t D S e r r o 0006160 r B i t s = m s b r s h i f t 0006200 o f f s e t D S . s e e k F 0006220 a i l e d + \r \t \t m s 0006240 b r s h i f t o f f s e t 0006260 D S . n o t R e a d y + \r \t \t 0006300 m s b r s h i f t o 0006320 f f s e t D S . d a t a L a t 0006340 e + \r \t \t m s b 0006360 r s h i f t o f f s e t D S 0006400 . c h e c k s u m E r r o r + 0006420 \r \t \t ( - ( m s b r s 0006440 h i f t ( s i z e D S . f i 0006460 n a l S t a t u s - 1 ) ) ) \r \t 0006500 \t \t r s h i f t o f f s e t 0006520 D S . 376 001 \0 g 330 f i n a l S t a 0006540 t u s ; \r \t D S d o n e B i t s 0006560 = ( - ( m s b r s h i f t ( 0006600 s i z e D S . d o n e - 1 ) ) 0006620 ) \r \t \t \t r s h i f t o f f s 0006640 e t D S . d o n e ; \r \t D S g 0006660 o o d S t a t u s M a s k = D S 0006700 e r r o r B i t s % D S d o 0006720 n e B i t s ; \r / / g o o d 0006740 s t a t u s m e a n s t h a 0006760 t a l l t h e e r r o r 0007000 b i t s a r e 0 \r \t D S g o 0007020 o d S t a t u s = D S d o n e B 0007040 i t s \r \t D S f r e e S t a t u 0007060 s = m s b r s h i f t ( o f 0007100 f s e t D S . d o n e + s i z 0007120 e D S . d o n 376 001 \0 351 335 e - 1 0007140 ) \r \t ] \r \r \r / / d i s k c 0007160 o m m a n d a c t i o n s \r m 0007200 a n i f e s t [ \r D C h e a 0007220 d e r x = m s b r s h i f t 0007240 ( o f f s e t D C . h e a d e 0007260 r A c t i o n + s i z e D C . 0007300 h e a d e r A c t i o n - 1 ) \r 0007320 D C l a b e l x = m s b r s 0007340 h i f t ( o f f s e t D C . 0007360 l a b e l A c t i o n + s i z e 0007400 D C . l a b e l A c t i o n - 0007420 1 ) \r D C d a t a x = m s b 0007440 r s h i f t ( o f f s e t D 0007460 C . d a t a A c t i o n + s i z 0007500 e D C . d a t a A c t i o n - 0007520 1 ) \r \t ] \r \r m a n i f e 376 \0 \ 0007540 334 273 s t [ \r \t D C a c t i o n 0007560 S e a l = # 3 2 1 \r \t D C a S = 0007600 D C a c t i o n S e a l * ( m s 0007620 b r s h i f t ( o f f s e t 0007640 D C . s e a l + s i z e D C 0007660 . s e a l - 1 ) ) \r \t ] \r \0 377 \0 0007700 \0 b r a v o 1 . d f \0 373 224 D 354 246 0007720 \0 \0 376 001 \0 250 c / / b r a v o 1 0007740 . d f \r \r / / L a s t m o 0007760 d i f i e d O c t o b e r 2 0010000 5 , 1 9 7 9 6 : 4 4 P M 0010020 b y T a f t \r \r s t r u c t 0010040 u r e V P A : \r \t [ f n 0010060 b y t e ; \r \t f p b y t e ; \r 0010100 \t ] \r s t r u c t u r e P C 0010120 T B : \r \t [ m a x p c 0010140 w o r d ; \r \t m a c p c w 0010160 o r d ; \r \t r g p c d \t w o r d 0010200 ; \r \t r v m p p c c p \t w o r d 0010220 ; \r \t ] \r s t r u c t u r e 0010240 P C D : \r \t [ \r \t [ l i v e 0010260 \t b i t 1 ; \r \t [ p a r a b 0010300 i t s \t b i t 2 ] = \t [ 0010320 p a r a s t a 376 001 \0 302 j r t \t b 0010340 i t 1 ; \r \t \t \t [ p a r a \t 0010360 b i t 1 ] = \t [ p a r a 0010400 e n d \t b i t 1 ] \r \t \t \t ] 0010420 \r \t f s t a r t u p d \t b i t 0010440 1 \t \t \t / / n e w - c a r o l 0010460 \r \t f e n d u p d \t b i t 1 \t 0010500 \t \t / / n e w - c a r o l \r \t v 0010520 i s i b u f \t b i t 1 ; \r \t r 0010540 e f \t b i t 1 0 ; ] = \t 0010560 [ p \t b i t 7 ; \r \t \t \t r c 0010600 \t b i t 9 ; \r \t \t \t ] \r \t v 0010620 p a \t w o r d ; \r \t f o p \t w o 0010640 r d \r \t b i f r \t w o r d ; \r \t 0010660 ] \r m a n i f e s t \t [ l p 0010700 c d = ( s i z e P C D ) / 0010720 1 6 ] \r \r / / s t r 376 001 \0 276 0010740 320 u c t u r e F C S T A T U S 0010760 : \r / / \t [ \r / / \t f i r 0011000 s t i n p a r a \t b i t ; \r / / 0011020 \t l a s t i n t x \t b i t ; \r 0011040 / / \t i n t r a i l e r \t b i 0011060 t ; \r / / \t b l a n k \t b i t 0011100 \t 1 3 ; \r / / \t ] \r \r s t r 0011120 u c t u r e [ \r \t [ l h 0011140 b y t e ; \r \t r h b y t e ; 0011160 \r \t ] \r \t = [ b i t 0 b 0011200 i t 1 ; \r \t b l a n k b i t 0011220 1 4 ; \r \t o d d b i t 1 ; 0011240 \r \t ] \r / / \t = [ f u n l 0011260 b i t 1 1 ; \r / / \t f u n r 0011300 b i t 5 ; \r / / \t ] \r \t ] 0011320 \r s t r u c t u r e S E L 0011340 : 376 001 \0 277 P \r \t [ t y p e \t 0011360 w o r d ; \r \t d o c \t w o r d ; 0011400 \r \t w w \t w o r d ; \r \t c p f i 0011420 r s t \t w o r d ; \r \t x d f i r 0011440 s t \t w o r d ; \r \t c p l a s t 0011460 \t w o r d ; \r \t x d l a s t \t w 0011500 o r d ; \r \t [ c p f i r s t o 0011520 r i g \t w o r d ; \r \t x d f i r 0011540 s t o r i g \t w o r d ; \r \t c p 0011560 l a s t o r i g \t w o r d ; \r \t 0011600 ] = \t [ \r \t \t t o g g l e \t 0011620 w o r d ; \r \t \t d l \t w o r d ; 0011640 \r \t \t n e w t o g g l e \t w o r 0011660 d ; \r \t \t ] \r \t x d l a s t o 0011700 r i g \t w o r d ; \r \t u l m o d 0011720 e \t w o r d ; \r \t l a s t \t w 0011740 o r d ; \r \t 376 001 \0 025 216 ] \r s t 0011760 r u c t u r e F S S P E C : \r 0012000 \t [ l d l n \t b i t \t 6 \r \t l 0012020 d h d r \t b i t \t 7 \r \t r f l u 0012040 s h b i t 1 ; \r \t r j b i 0012060 t 1 ; \r \t c e n t e r b i t 0012100 1 \r \t ] \r s t r u c t u r e 0012120 B S : \r \t [ \r \t d i r t y \t b 0012140 i t 1 ; \r \t f a l l o c e d \t 0012160 b i t 1 ; \r \t b l a n k \t b i 0012200 t 1 4 ; \r \t ] \r \r s t r u c 0012220 t u r e F D A : \r \t [ \r \t t r 0012240 a c k \t b i t \t 1 3 ; \r \t s e c 0012260 t o r \t b i t \t 3 ; \r \t ] \r \r 0012300 s t r u c t u r e O F : \r \t [ 0012320 \r \t m a c f p \t w o r d ; \r \t 0012340 v e r s i o n \t w o r 376 001 \0 337 \v 0012360 d = f i l e i d \t w o r d 0012400 = d e s t s \t w o r d ; \r \t s 0012420 n 1 \t w o r d ; \r \t s n 2 \t w o 0012440 r d ; \r \t f F u l l P a g e s \t 0012460 b i t ; \r \t w m o d e \t b i t 0012500 1 5 ; \r \t w f \t w o r d ; \r \t m 0012520 a c p o s \t w o r d ; \r \t p o s 0012540 \t w o r d ; \r \t b p h i n t \t w 0012560 o r d ; \r \t m a c b i \t w o r 0012600 d = m a c b p \t w o r d ; \r 0012620 \t f o r m a t t e d \t w o r d 0012640 = c l e a r a n c e \t w o r d 0012660 ; \r \t f d a \t @ F D A ; \r \t r g 0012700 d a \t w o r d = r v r g b p 0012720 \t w o r d ; \r \t l a s t \t w o r 0012740 d ; \r \t ] \r \r / / s t r u c 0012760 376 001 \0 362 o t u r e D E S T S : 0013000 \r / / \t [ f n \t b y t e ; \r / 0013020 / \t e t h e r \t b y t e ; \r / / 0013040 \t ] \r \r / / s t r u c t u r 0013060 e D I R : \r / / \t [ \r / / 0013100 \t t y p e \t b i t \t 6 ; \r / / 0013120 \t s i z \t b i t \t 1 0 ; \r / / 0013140 \t s n 1 \t w o r d ; \r / / \t 0013160 s n 2 \t w o r d ; \r / / \t v e 0013200 r s i o n \t w o r d ; \r / / \t 0013220 b l a n k \t w o r d ; \r / / \t 0013240 d a \t w o r d ; \r / / \t n a m 0013260 e \t w o r d ; \r / / \t ] \r \r 0013300 / / m i n i m a l s t r u c 0013320 t u r e f o r a s t r e a 0013340 m \r / / s t r u c t u r e S 0013360 T R E A M 376 001 \0 204 225 [ \r / / 0013400 \t b l a n k w o r d \r / / \t 0013420 o p e n w o r d \r / / \t c l 0013440 o s e w o r d \r / / \t g e t 0013460 s w o r d \r / / \t p u t s 0013500 w o r d \r / / \t r e s e t w 0013520 o r d \r / / \t p u t b a c k 0013540 w o r d \r / / \t e r r o r w 0013560 o r d \r / / \t e n d o f w o 0013600 r d \r / / \t s t a t e o f w 0013620 o r d \r / / \t b l a n k w o 0013640 r d \r / / \t b l a n k w o r 0013660 d \r / / \t b l a n k w o r d 0013700 \r / / \t t y p e w o r d \r / 0013720 / \t ] \r \r / / s t r u c t u 0013740 r e R B [ \r / / \t @ S T R E 0013760 A M \r / / \t r e a 376 001 \0 362 225 d 0014000 P o i n t e r w o r d \r / / 0014020 \t w r i t e P o i n t e r w o 0014040 r d \r / / \t b u f f e r S t a 0014060 r t w o r d \r / / \t b u f f 0014100 e r E n d w o r d \r / / \t ] 0014120 \r \r s t r u c t u r e F B : \r 0014140 \t [ m a c f r \t w o r d ; \r \t 0014160 m p f r f c \t w o r d ; \r \t r g 0014200 l o o k 1 \t w o r d ; \r \t r g l 0014220 o o k 2 \t w o r d ; \r \t r v d n 0014240 p i \t w o r d \r \t l i s t s \t w 0014260 o r d ; \r \t ] \r \r s t r u c t 0014300 u r e F B L O C : \r \t [ f b 0014320 \t b y t e ; \r \t b w \t b y t e ; 0014340 \r \t ] \r \r s t r u c t u r e 0014360 F B F R : \r \t [ f b \t b y t 376 0014400 001 \0 376 203 e ; \r \t f r \t b y t e ; 0014420 \r \t ] \r \r s t r u c t u r e 0014440 B I F R : \r \t [ \r \t b i b y t 0014460 e ; \r \t f r b y t e ; \r \t ] \r 0014500 \r s t r u c t u r e F C O D E 0014520 [ \r \t k i n d b i t 4 \r \t w 0014540 o r d n b i t 3 \r \t b i t n 0014560 b i t 4 \r \t u n b i t 1 0014600 \r \t b l a n k b i t 4 \r \t ] 0014620 \r \r / / s t r u c t u r e D 0014640 O C P C : \r / / \t [ d o c 0014660 b i t 4 ; \r / / \t p c b i 0014700 t 1 2 ; \r / / \t ] \r \r s t 0014720 r u c t u r e F M S G : \r \t [ 0014740 l o o k 1 \t w o r d ; \r \t [ 0014760 l o o k 2 \t w o r d ] \r \t \t = 0015000 [ r 376 001 \0 u | u n l e n \t w 0015020 o r d ] ; \r \t ] \r \r s t r 0015040 u c t u r e F I N F O : \r \t [ 0015060 \r \t [ f l a g s b y t e ] 0015100 = \r \t \t [ n e w m s g b i 0015120 t \r \t \t [ m o r e b i t 5 0015140 ] = \r \t \t \t [ s p a c e 0015160 b i t \r / / \t \t \t [ i b v b 0015200 i t ] = \t [ o v s t r i k 0015220 e b i t ] \r \t \t \t i b v b 0015240 i t \r \t \t \t [ b a r s b i t 0015260 3 ] = \t [ t r a n s b 0015300 i t 2 ; b l a n k b i t 0015320 1 ] = \r \t \t \t \t [ o v e r 0015340 b a r b i t \r \t \t \t \t l o w b 0015360 a r b i t \r \t \t \t \t m i d b a 0015400 r b i t \r \t \t \t 376 001 \0 I 3 \t ] 0015420 \r \t \t \t ] \r \t \t [ v i s i b l 0015440 e b i t 1 \r \t \t f N o C k 0015460 b i t 1 \r \t \t ] \r \t \t ] \r \t 0015500 c h a r b y t e \r \t ] \r / / 0015520 m a n i f e s t \t [ \r / / \t 0015540 f i n f o O v s t r i k e = 0015560 # 1 0 0 0 0 0 r s h i f t ( 0015600 o f f s e t F I N F O . o v s 0015620 t r i k e ) \r / / \t ] \r \r s t 0015640 r u c t u r e S G : \r \t [ t 0015660 o p m a x \t w o r d ; \r \t b l m 0015700 a x \t w o r d ; \r \t l d T o p \t 0015720 w o r d \r \t l d N e x t \t w o r 0015740 d \r \t o f s e t P r e v \t w o r 0015760 d \r \t ] \r \r s t r u c t u r e 0016000 T L : \r \t [ w w \t w o r 376 001 0016020 \0 # \a d ; \r \t c p f i r s t \t w 0016040 o r d ; \r \t c p l a s t \t w o r 0016060 d \r \t m o d e \t w o r d ; \r \t m 0016100 a c c r \t w o r d \r \t ] \r \r s 0016120 t r u c t u r e F U N F A : \r 0016140 \t [ f u n \t b y t e \r \t f a \t 0016160 b y t e \r \t ] ; \r \r s t r u c t 0016200 u r e M A P S T A T E : \r \t [ 0016220 p c \t w o r d ; \r \t b i f r \t 0016240 w o r d ; \r \t f n \t w o r d \r \t 0016260 f c \t w o r d \r \t ] \r m a n i 0016300 f e s t \r \t [ s g l = ( s 0016320 i z e S G ) / 1 6 ; \r \t ] \r \r 0016340 s t r u c t u r e A V : \r \t [ 0016360 \r \t n o m \t w o r d ; \r \t d e n 0016400 o m \t w o r d ; \r \t l a s t \t w 0016420 o r d 376 001 \0 226 W ; \r \t ] ; \r m a 0016440 n i f e s t \r \t [ a v l = 0016460 ( o f f s e t A V . l a s t ) 0016500 / 1 6 ; \r \t ] \r \r s t r u c t u 0016520 r e K C B [ \r \t n e x t C o m 0016540 m a n d w o r d \t / / * \r \t 0016560 s t a t u s w o r d \t \t / / 0016600 s e t w h e n c o m m a n d 0016620 i s c o m p l e t e d \r \t c 0016640 o m m a n d w o r d \t \t / / 0016660 * \r \t h e a d e r A d d r e s s 0016700 w o r d \t / / * t h e s e 0016720 a r e m e m o r y a d d r 0016740 e s s e s \r \t l a b e l A d d r 0016760 e s s w o r d \t / / $ \r \t d 0017000 a t a A d d r e s s w o r d \t 0017020 / / * \r \t n o 376 001 \0 323 8 r m a 0017040 l W a k e u p s w o r d \t / / 0017060 $ \r \t e r r o r W a k e u p s 0017100 w o r d \t / / $ \r \t [ h e 0017120 a d e r w o r d 2 ] = 0017140 \r \t \t [ \r \t \t b l a n k w o r 0017160 d \r \t \t d i s k A d d r e s s 0017200 w o r d \t / / * i f D A 0017220 a r g u m e n t n e f i l l 0017240 I n D A \r \t \t ] \r \t ] \r \r s t r 0017260 u c t u r e W A : \r \t [ f p 0017300 \t b y t e \r \t r w \t b y t e \r \t 0017320 ] \r \r s t r u c t u r e P X 0017340 [ \r \t c w w o r d \t \r \t a W 0017360 \t w o r d \r \t ] \r \r s t r u c t 0017400 u r e P L : \r \t [ c w \t w o 0017420 r d \t \r \t a W \t w o r d \r 376 001 \0 0017440 235 033 \t ] \r \r m a n i f e s t \r \t 0017460 [ l n k c b = ( s i z e 0017500 K C B ) / 1 6 ; \r \t ] \r \r m a 0017520 n i f e s t \t [ m a x l p = 0017540 2 5 ; \r \t m a x l = 2 0 ; 0017560 \r \t l f w i d t h = 4 ; \r \t 0017600 m a x c b l i n d = 1 5 ; \r 0017620 \t m a s t x = 3 8 ; \r / / \t 0017640 l p e d o c = 0 ; \r / / \t l 0017660 p s y s c o m = 1 ; \r / / \t 0017700 l p s y s s t a t e = 2 ; \r 0017720 / / \t l p s y s p a s t = 3 0017740 ; \r / / \t l p s y s l b r a c k 0017760 = 4 ; \r / / \t l p s y s r b 0020000 r a c k = 5 ; \r / / \t l p s 0020020 y s d o t s = 6 ; \r / / \t l 0020040 p s 376 001 \0 275 206 y s t x 0 c u r r 0020060 e n t = 8 ; \r / / \t l p s y 0020100 s t x 1 c u r r e n t = 9 ; 0020120 \r / / \t l p s y s t x 2 c u r r 0020140 e n t = 1 0 ; \r / / \t l p s 0020160 y s t x 3 c u r r e n t = 1 0020200 1 ; \r / / \t l p s y s t x 4 c u 0020220 r r e n t = 1 2 ; \r / / \t l 0020240 p d o c t r a i l e r = 1 3 0020260 ; \r / / \t b u f f e r c o m = 0020300 $ 1 ; \r \t m a x c o m = 3 0020320 6 ; \r \t y e s c o m n o = 1 0020340 1 ; \r \t z o n e 1 = 9 ; \r \t 0020360 p t f l a g = 1 ; \r \t p t n 0020400 a m e = 2 ; \r \t p t s l = 0020420 3 ; \r \t p t p a r a m = 4 0020440 ; \r \t p t l a 376 001 \0 340 \v b e l 0020460 = 5 ; \r / / \t f s p a r u n k 0020500 n o w n = 1 ; \r \t m a x d i 0020520 f f s i z = 5 0 ; \r \t s t a 0020540 c k l = 1 8 0 0 ; \r \t s p e 0020560 c s t d = # 2 0 0 0 \t \t / / 0020600 l e a d = 2 , p a r s p 0020620 a c i n g = 0 \r \t s t a t u 0020640 s b l i n d = 0 ; \r \t e n d 0020660 o f p a g e = 2 ; \r \t e n d 0020700 o f p i e c e = 1 ; \r \t e n 0020720 d o f r u n = 3 ; \r \t p c d 0020740 s i z = 4 ; \r \t r e s e t c 0020760 h p t e r s = 4 ; \r \t p c t 0021000 b o v h d = ( s i z e P C 0021020 T B ) / 1 6 ; \r \t m a x r e f s 0021040 t d = 4 ; \r / / \t l 376 001 \0 n 0021060 } o o k 1 s t d = 0 ; \r / / 0021100 \t l o o k 2 s t d = 0 ; \r \t 0021120 m a x f r s c r = # 1 0 0 ; 0021140 \r \t m a x b i s c r = 5 0 ; 0021160 \r \t s t a t e = 0 ; \r \t p a 0021200 s t = 5 ; \r \t b u f 1 = 0021220 1 ; \r \t b u f 2 = 2 ; \r \t b 0021240 u f 3 = 3 ; \r / / \t b u f 4 0021260 = 4 ; \r \t c u r r e n t = 0021300 0 ; \r \t l b r a c k = 1 ; 0021320 \r / / \t d o t s = 2 ; \r \t r 0021340 b r a c k = 3 ; \r \t m a x f 0021360 i e l d s y s = 1 8 ; \r \t p 0021400 a r a t r u n = 1 ; \r \t p a 0021420 r n e e d e d = - 1 ; \r \t p 0021440 a r n o t n e e d e d = 0 ; 0021460 \r 376 001 \0 251 Y \t p a r o n f l y 0021500 = # 3 7 7 ; \r \t p a r a o n l 0021520 y = 1 ; \r \t p a r a b o t h 0021540 = 3 ; \r \t m o d e x = 1 0021560 ; \r \t m o d e h c = 2 ; \r \t 0021600 m s g s i z = 2 ; \r \t f i n 0021620 f o t e r m = - 1 ; \r \t x a 0021640 u d r i g h t = 6 0 0 ; \r \t 0021660 x a u d l e f t = 4 5 ; \r \t 0021700 x a j u m p = x a u d l e f 0021720 t / 2 ; \r \t m a x c h a r p e r 0021740 l i n e = 2 0 0 ; \r / / \t f 0021760 a m e n t l = 1 1 ; \r / / \t 0022000 f i e n t l = 8 ; \r \t d x a 0022020 l e f t = 1 ; \r \t d x a r i 0022040 g h t = 8 ; \r \t e x t r a f 0022060 o n t \t = 376 001 \0 J 373 3 0 / / 0022100 w o r d s n e e d e d b y 0022120 c h m o d \r \t t l l = 3 ; 0022140 \r \t c a r e t o n = 2 ; \r \t 0022160 c a r e t o f f = 1 ; \r / / 0022200 \t d c p e n d o f d o c = 5 0022220 ; \r / / \t d p c e n d o f d o c 0022240 = 1 ; \r \t l m a p s t a t e 0022260 = ( s i z e M A P S T A T 0022300 E ) / 1 6 ; \r \t s w t r a n s 0022320 = 1 ; \r \t w s t r a n s = 0022340 2 ; \r \t m a x m n = 4 0 ; \r 0022360 \t m n f i x e d s t o r = 1 0022400 ; \r \t e o l d i r = # 3 7 6 0022420 ; \r \t f n n i l = 0 ; \r / / 0022440 \t h e i g h t s t d = 1 4 \r 0022460 \t l n t o d = 2 \r 376 \0 200 323 j 0022500 \t o f N i l = - 1 ; \r \t f N 0022520 i l = # 1 0 1 0 1 \r \t o f s 0022540 e t P a r a m F = 4 \r \t c w 0022560 N i l = - 1 \r \t s i N i l 0022600 = - 1 \r \t p n i l = - 1 \r 0022620 \t c W P e r P a g e = # 4 0 0022640 0 \r \t x w P a g e = 1 7 * 0022660 ( 2 5 4 0 / 2 ) \r \t ] \r \r 0022700 377 \0 \0 c a c h e . d f \0 373 221 366 035 0022720 I \0 \0 376 001 \0 225 \n / / c a c h e 0022740 . d f \r \r \r s t r u c t u r e 0022760 C A C H E : \r \t [ \r \t c c i \t w 0023000 o r d \r \t l n c i \t w o r d \r \t 0023020 t l r u \t w o r d \r \t a c i \t w 0023040 o r d \r \t ] \r m a n i f e s t \t 0023060 [ \r \t o f f a c i C a c h e = 0023100 o f f s e t C A C H E . a c 0023120 i / 1 6 \r \t l n c i M a x 0023140 = 2 0 \r \t ] \r \r \r s t r u c t 0023160 u r e C I : \r \t [ \r \t c i i \t 0023200 w o r d \r \t t l r u \t w o r d \r 0023220 \t a p l \t @ P L \r \t ] \r m a n i 0023240 f e s t \t [ \r \t o f f a p l C i 0023260 = o f f s e t C I . a p l 0023300 / 1 6 \r \t c i N i l = - 0023320 1 \r \t ] \r \r \r \0 377 \0 \0 c a l c . 0023340 d f \0 373 221 366 035 K \0 \0 376 001 \0 5 / 0023360 / c a l c . d f \r \r s t r u c 0023400 t u r e R E A L : \r \t [ f s 0023420 i g n \t w o r d \r \t e x p o n e 0023440 n t \t w o r d \r \t [ c c h \t b 0023460 y t e \r \t c h ^ 0 , 2 5 5 \t b y 0023500 t e ] = \r \t [ a s b \t w o 0023520 r d ] \r \t ] \r m a n i f e s t 0023540 \t [ \r \t o f f a s b r e a l = 0023560 o f f s e t R E A L . a s b 0023600 / 1 6 ; \r \t r e a l n i l 0023620 = 0 ; \r \t ] ; \r \r \r m a n i f 0023640 e s t \t [ \r \t f r e a l f i x e 0023660 d = 0 ; \r \t f r e a l s c i 0023700 = 1 ; \r \t f r e a l e n g 0023720 = 2 ; \r \t c c h m a x r e a l 0023740 = 1 0 ; \r \t c w m a x r e 376 0023760 \0 X a 355 a l = c c h m a x r 0024000 e a l / 2 + o f f a s b 0024020 r e a l + 1 ; \r \t f h p n u 0024040 m b e r = 1 ; \r \t f h p s e 0024060 l = 2 ; \r \t f h p o p t o r 0024100 = 3 ; \r \t ] ; \r \r \r 377 \0 \0 c 0024120 h . d f \0 373 221 366 035 O \0 \0 376 001 \0 377 0024140 K / / c h . d f \r \r m a n i f 0024160 e s t \t [ \r \t c t r l a = $ 0024200 A - # 1 0 0 ; \r \t c t r l f 0024220 = $ F - # 1 0 0 ; \r \t c 0024240 t r l h = $ H - # 1 0 0 0024260 ; \r \t c t r l p = $ P - 0024300 # 1 0 0 ; \r \t c t r l r = $ 0024320 R - # 1 0 0 ; \r \t c t r l s 0024340 = $ S - # 1 0 0 ; \r \t c 0024360 t r l w = $ W - # 1 0 0 0024400 ; \r \t c h l f = # 1 2 ; \r \t 0024420 c h c r = # 1 5 ; \r \t c h e 0024440 s c = # 3 3 ; \r \t c h b l a 0024460 n k = # 4 0 ; \r \t c h s t a 0024500 r = # 5 2 ; \r \t c h d e l 0024520 = # 1 7 7 ; \r \t c h b u g 1 0024540 = 376 \0 8 I O # 2 0 1 ; \r \t c h 0024560 b u g 2 = # 2 0 2 ; \r \t c h 0024600 b u g 3 = # 2 0 3 ; \r \t c h 0024620 n i l = - 1 ; \r \t ] \r \r 377 \0 0024640 \0 c h a r . d f \0 373 221 366 035 R \0 \0 0024660 376 001 \0 s F / / c h a r . d f \t 0024700 C h a r a c t e r d e f i n i 0024720 t i o n s . . . \r \r s t r u c t 0024740 u r e C C : \r \t [ w r d 0024760 b i t 1 ; \r \t s p e c b i t 0025000 1 ; \r \t b r e a k c h a r b 0025020 i t 1 ; \r \t w i d t h b i t 0025040 1 3 ; \r \t ] \r m a n i f e s 0025060 t [ \r \t c h n i l = - 1 ; 0025100 \r \r \t c h t a b = $ * T ; \r 0025120 \t c h l f = # 1 2 ; \r \t c h 0025140 f f = # 1 4 ; \r \t c h c r 0025160 = # 1 5 ; \r \t c h e s c = 0025200 # 3 3 ; \r \t c h s p = # 4 0 0025220 ; \r \r \t c t r l z = $ Z - # 0025240 1 0 0 ; \t / / ! ! ! ! ! \r \r \t 0025260 c t r l a 376 001 \0 003 J = $ a + 0025300 # 2 0 0 ; \r \t c t r l b = $ 0025320 b + # 2 0 0 ; \r \t c t r l c = 0025340 $ c + # 2 0 0 ; \r \t c t r l d 0025360 = $ d + # 2 0 0 ; \r \t c t r 0025400 l e = $ e + # 2 0 0 ; \r / / 0025420 \t c t r l s h e = $ E + # 2 0025440 0 0 ; \r \t c t r l f = $ f + 0025460 # 2 0 0 ; \r \t c t r l h = $ 0025500 h + # 2 0 0 ; \r \t c t r l i = 0025520 $ i + # 2 0 0 ; \r \t c t r l j 0025540 = $ j + # 2 0 0 ; \r \t c t r 0025560 l m = $ m + # 2 0 0 ; \r \t c 0025600 t r l n = $ n + # 2 0 0 ; \r 0025620 / / \t c t r l s h n = $ N + 0025640 # 2 0 0 ; \r \t c t r l o = $ 0025660 o + # 2 0 0 ; \r / / 376 001 \0 , k \t 0025700 c t r l s h o = $ O + # 2 0 0025720 0 ; \r \t c t r l q = $ q + # 0025740 2 0 0 ; \r / / \t c t r l s h q 0025760 = $ Q + # 2 0 0 ; \r \t c t r l 0026000 s = $ s + # 2 0 0 ; \r \t c t 0026020 r l s h s = $ S + # 2 0 0 ; \r 0026040 \t c t r l t = $ t + # 2 0 0 0026060 ; \r \t c t r l u = $ u + # 2 0026100 0 0 ; \r \t c t r l v = $ v + 0026120 # 2 0 0 ; \r \t c t r l w = $ 0026140 w + # 2 0 0 ; \r \t c t r l x = 0026160 $ x + # 2 0 0 ; \r / / \t c t r 0026200 l s h x = $ X + # 2 0 0 ; \r 0026220 \t c t r l y = $ y + # 2 0 0 0026240 ; \r / / \t c t r l s h y = $ 0026260 Y + # 2 0 0 ; \r \r \t c h e s c 376 0026300 001 \0 202 270 t e r m = c t r l z 0026320 ; \r \t b s = $ H - # 1 0 0 ; 0026340 \r \t s h b s = # 2 0 \r \t c t 0026360 r l b s = b s + # 2 0 0 0026400 \r \t c h b l i n d = # 2 0 0 0026420 ; \r \t c h b o x = $ ! ; \r \t 0026440 c h d e l = # 1 7 7 \r \t c h 0026460 t a b b o g u s = # 1 0 0 ; 0026500 \r \t c h c r b o g u s = # 1 0026520 3 4 ; \r \t c h l f b o g u s = 0026540 # 5 2 ; \r \t c t r l b o g u s 0026560 = # 7 2 ; \r \t c h a t = 0026600 # 1 0 0 ; \r \t c h p a r t e r m 0026620 = $ \ \r \t c h m o d = # 0026640 3 7 7 ; \r \t c h t r a i l e r s 0026660 t a r t = c t r l z ; \r \t c 0026700 h t r a 376 001 \0 303 k i l e r e n d 0026720 = c h c r ; \r \t c h u l = 0026740 # 3 0 ; \r \t c t r l c r = 0026760 c h c r + # 2 0 0 ; \r \t c t r l 0027000 u l = $ - + # 2 0 0 ; \r \t c 0027020 t r l u p a r = # 3 3 6 ; \r 0027040 \t c t r l d o w n a r = # 3 0027060 3 7 ; \r \t c h t o p b l k = 0027100 # 3 6 ; \r \t c t r l s h u l = 0027120 # 3 4 0 ; \r \t c h f l o p p y 0027140 = $ F + # 2 0 0 \r \t c h p g 0027160 b r k = $ l & # 3 7 \r \t c 0027200 h s u b s t = c h u l \r \t c 0027220 h d o n e = c h p g b r k \r 0027240 \t c h w i d t h 0 = c h l f 0027260 \r \t c h i t b M i n = # 2 1 0027300 6 \r \t ] ; \r \r \r 032 376 \0 003 x 3 x 0 0027320 \r 377 \0 \0 c o m . d f \0 373 221 366 035 U 0027340 \0 \0 376 001 \0 j 236 \r / / c o m . d 0027360 f \r / / C a r o l H a n k i 0027400 n s \r / / A p r i l 8 , 1 0027420 9 7 6 \r \r \r s t r u c t u r e 0027440 C D : \r \t [ \r \t l c d m a c \t w 0027460 o r d \r \t r i c o m \t w o r d \r 0027500 \t r i s t a t e \t w o r d \r \t r 0027520 i p a s t \t w o r d \r \t w f l a 0027540 g s \t w o r d = \r \t \t [ \r \t \t 0027560 f o k r e p e a t \t b i t 1 \r 0027600 \t \t f o k u n d o \t \t b i t 1 0027620 \r \t \t f i n i t \t \t b i t 1 \r 0027640 \t \t f s e l u n d o \t \t b i t 0027660 1 \r \t \t f O r d e r e d O v s \t 0027700 \t b i t 1 \r \t \t f R e s t o r 0027720 e S y s W w \t \t b i t 1 \r \t \t 0027740 b l a n k \t \t 376 001 \0 321 331 b i t 0027760 1 0 \r \t \t ] \r \t c h u n d o \t w 0030000 o r d \r \t a c s f i r s t \t w o 0030020 r d = l a s t \t w o r d \r 0030040 \t ] \r \r s t r u c t u r e C S 0030060 : \r \t [ \r \t l c s m a c \t w o r 0030100 d \r \t c w a r r a y \t w o r d \r 0030120 \t p A b P r o c \t w o r d \r \t b 0030140 r g r i d \t w o r d \r \t b s b d 0030160 e a c t \t w o r d \r \t a s b a c 0030200 t \t w o r d \r \t ] \r \r s t r u c 0030220 t u r e C F : \r \t [ \r \t c h c 0030240 o m \t w o r d \r \t f r e p e a t 0030260 \t b i t \r \t f R e s t o r e S y 0030300 s W w \t b i t \r \t c i \t b i t 0030320 1 4 \r \t s e l \t w o r d \r \t s e 0030340 l a r g \t w o r d \r \t w 376 001 \0 374 0030360 251 0 \t w o r d \r \t w 1 \t w o r d 0030400 \r \t w 2 \t w o r d \r \t w 3 \t w o 0030420 r d \r \t w 4 \t w o r d \r \t w 5 \t 0030440 w o r d \r \t ] \r \r s t r u c t u 0030460 r e A B : \r \t [ \r \t c r i d \t 0030500 b y t e \r \t n r i d \t b y t e \r 0030520 \t ] \r \r m a n i f e s t \r \t [ \r 0030540 \t l c d = ( o f f s e t C 0030560 D . l a s t ) / 1 6 \r \t l c d m 0030600 a x = 1 0 0 \r \t l c f m a x 0030620 = 1 0 \r \t c h m a x = 1 0030640 0 0 \t \t / / 1 0 0 c h a r s 0030660 ? ? ? \r \t a c s n i l = 0 \r 0030700 \t a b n i l = - 1 \r \t a b c 0030720 o m p l e t e = - 2 \r \t a b 0030740 m s g = - 3 \r \t s i n i l 0030760 = 376 001 \0 323 \a - 1 \r \t c i n i l 0031000 = - 1 \r \t r i s y s c o m 0031020 = 0 \r \t r i s y s s t a t e 0031040 = 1 \r \t r i s y s p a s t = 0031060 3 \r \t r i s y s p a s t 2 = 0031100 4 \r \t r i s y s b u f 1 = 0031120 7 \r \t r i s y s b u f 2 = 1 0031140 3 \r \t r i s y s b u f 3 = 1 0031160 9 \r \t r i s y s b u f 4 = 2 0031200 5 \r \t m a x r i = 2 3 0 \t \t 0031220 / / w h e n c h a n g e d , 0031240 r e c o m p i l e r n i n i t 0031260 \r \t a b Q u i t = 1 0 \r \t v 0031300 d c b n i l = - 1 \r \t m t y C 0031320 o n d = f a l s e \t \t / / f 0031340 o r S e t V a b \r \t m t y O w 0031360 = - 1 \r 376 001 \0 \r l \t m t y A 0031400 n c = - 2 \r \t c r i d M a x 0031420 = 1 0 \t \t / / f o r v r g 0031440 r i d p a s t 2 \r \t c W r i M a 0031460 x = 1 0 \t \t / / f o r w r 0031500 i t e a b l e r e g i o n s \r 0031520 \t n r i r e a d y = 2 3 \t \t 0031540 / / " R E A D Y : " \r \t n r 0031560 i s e l = 2 4 \t \t / / " S 0031600 e l e c t o p . . . " \r \t n r 0031620 i l c w = 2 5 \t \t / / " L 0031640 a s t c o m m a n d w a s 0031660 " \r \t r i F a u l t S t o r = 0031700 4 9 \t \t / / C o r e s t o 0031720 r a g e r u n n i n g l o w 0031740 \r \t n r l M a c = 1 \t \t / / 0031760 r e a l l y s h o 376 \0 025 337 033 0032000 u l d b e a s t a t i c \r 0032020 \t ] \r \r \r 377 \0 \0 d i a b l o . d 0032040 f \0 373 221 366 035 X \0 \0 376 001 \0 - T / / 0032060 d i a b l o . d f \r \r \r m a n 0032100 i f e s t \t [ \r \t d i a b l o i 0032120 n = # 1 7 7 0 3 0 \t / / p 0032140 r i n t e r i n p u t a d d 0032160 r e s s \r \t d i a b l o o u t 0032200 = # 1 7 7 0 1 6 \t / / p r i 0032220 n t e r o u t p u t a d d r 0032240 e s s \r \t p a p e r = # 1 0 0032260 0 0 0 0 \t \t / / p a p e r f 0032300 e e d s t r o b e b i t \r \t 0032320 p r c h e c k = # 4 0 0 0 0 0032340 \r \t r e s t = # 4 0 0 0 0 \t 0032360 \t / / r e s t o r e b i t \r 0032400 \t r i b b o n l i f t = # 2 0032420 0 0 0 0 \r \t d a i s y = # 1 0032440 0 0 0 0 \t \t / / d a i s y 376 001 0032460 \0 J 217 s t r o b e a n d r 0032500 e a d y b i t \r \t c a r r i a 0032520 g e = # 4 0 0 0 \t \t / / c 0032540 a r r i a g e s t r o b e a 0032560 n d r e a d y b i t \r \t r e 0032600 a d y = # 2 0 0 0 \r \t a l l 0032620 r e a d y = # 1 1 6 0 0 0 \t 0032640 / / O R o f r e a d y b 0032660 i t s \r \r \t x d P e r i n c h 0032700 = 6 0 \r \t y d P e r i n c h 0032720 = 4 8 \r \r / / f o r 8 . 5 0032740 " x 1 1 " p a p e r \r \t x 0032760 d M a x = 1 7 * x d P e 0033000 r i n c h / 2 \t / / p a p 0033020 e r w i d t h i n H o r i 0033040 z . P r i n t e r U n i t s 0033060 ( H 376 \0 Q 201 362 P U s ) \r \t y d 0033100 M a x = 1 1 * y d P e r 0033120 i n c h \t / / p a p e r h e 0033140 i g h t i n V e r t . P r 0033160 i n t e r U n i t s ( V P U 0033200 s ) \r \r \t ] \r \r \r 377 \0 \0 d i r . 0033220 d f \0 373 221 366 035 [ \0 \0 376 001 \0 p 201 / 0033240 / d i r . d f \r \r s t r u c t 0033260 u r e N M D : \r \t [ n e x t 0033300 \t w o r d \r \t l d e F r e e \t w 0033320 o r d \r \t w a D e F r e e \t w o 0033340 r d \r \t w a D e \t w o r d \r \t v 0033360 e r M i n \t w o r d \r \t v e r M 0033400 a c \t w o r d \r \t v c \t w o r d 0033420 \r \t c v e r \t w o r d \r \t v e r 0033440 \t w o r d \r \t a f p t r \t @ F P 0033460 \r \t a s b F i l e \t @ S B \r \t ] 0033500 \r \r s t r u c t u r e D E : 0033520 \r \t [ t y \t b i t 6 \r \t l \t 0033540 b i t 1 0 \r \t a f p t r \t @ F 0033560 P \r \t a s b F i l e \t @ S B \r \t 0033600 ] \r \r m a n i f e s t \t [ \r 0033620 \t v c E x a c t = 0 \r \t v 376 0033640 001 \0 N 274 c O l d e s t = 1 ; 0033660 \r \t v c N e w e s t = 2 \r \t 0033700 v c N e w = 3 \r \t v c N e w 0033720 e s t O r N e w = 4 \r \t t y 0033740 D e F r e e = 0 \r \t t y D e 0033760 F i l e = 1 \r \t o v h N m d 0034000 = ( o f f s e t N M D . a 0034020 s b F i l e ) / 1 6 \r \t o v h D 0034040 e = ( o f f s e t D E . a 0034060 s b F i l e ) / 1 6 \r \t l n m d 0034100 M a x = o v h N m d + 3 0 \r 0034120 \t l d e M a x = o v h N m d 0034140 + 3 0 \r \t f t y N i l = - 1 0034160 ; f t y O l d = 1 ; f t 0034200 y N e w F i l e = 2 ; f t 0034220 y N e w V e r = 3 \r \t f t y 0034240 N e w O 376 \0 3 \n 211 n D o l l a r 0034260 = 4 ; f t y N e w O n O l 0034300 d = 5 \r \t f t y O v e r w r 0034320 i t e = 6 \r \t ] \r 377 \0 \0 d 0034340 i s p l a y . d f \0 373 221 366 035 ^ \0 0034360 \0 376 001 \0 \v 315 / / d i s p l a y 0034400 . d f \r \r \r s t r u c t u r e 0034420 D C B : \r \t [ \r \t n e x t \t w o 0034440 r d ; \r \t m o d e \t b i t 1 ; 0034460 \r \t b w \t b i t 1 ; \r \t h t a 0034500 b \t b i t 6 ; \r \t n w r d s \t 0034520 b i t 8 ; \r \t s a \t w o r d ; 0034540 \r \t s l c \t w o r d ; \r \t ] ; \r 0034560 \r s t r u c t u r e X : \r \t [ 0034600 \r \t w o r d i n d e x \t b i t 0034620 1 2 ; \r \t b i t i n d e x \t b i 0034640 t 4 ; \r \t ] ; \r \r s t r u c t 0034660 u r e C V T : \r / / i n t e 0034700 r p r e t e d b y m a c h i 0034720 n e c o d e - - d o n o 0034740 t f i d d l e w i t h ! ! 0034760 \r \t [ \r \t n 376 001 \0 1 227 w r d s \t 0035000 w o r d ; \r \t b i \t w o r d ; \r 0035020 \t p w B a s e \t w o r d ; \r \t x 0035040 b \t w o r d ; \r \t f o n t \t w o 0035060 r d ; \r \t r g f i n f o \t w o r 0035100 d ; \r \t r g x w \t w o r d ; \r \t 0035120 ] ; \r \r s t r u c t u r e R T 0035140 C : \r \t [ \r \t h i g h 1 6 \t w o 0035160 r d ; \r \t l o w 1 0 \t b i t 1 0035200 0 ; \r \t b l a n k \t b i t 6 ; 0035220 \r \t ] ; \r \r s t r u c t u r e 0035240 C N D C B : \r \t [ \r \t d c b F i 0035260 r s t \t w o r d ; \r \t d c b L a 0035300 s t \t w o r d ; \r \t c D c b \t w 0035320 o r d ; \r \t d Y d \t w o r d \r \t 0035340 ] ; \r \r s t r u c t u r e U P 0035360 S : \r \t [ \r \t y d C u 376 001 \0 s / 0035400 r \t w o r d ; \r \t y d M a c F r 0035420 e e d \t w o r d ; \r \t d l M a c 0035440 F r e e d \t w o r d ; \r \t ] ; \r 0035460 \r s t r u c t u r e W W D : \r 0035500 \t [ \r \t d l F i r s t \t w o r d 0035520 ; \r \t d l L a s t \t w o r d ; \r 0035540 \t d o c \t w o r d ; \r \t c p F D 0035560 i s p l \t w o r d ; \r \t h p U s 0035600 e d \t w o r d ; \r \t f U p d a t 0035620 e \t b i t ; \r \t f D i r t y \t b 0035640 i t ; \r \t f H d \t b i t ; \r \t b 0035660 w \t b i t \r \t b l a n k \t b i t 0035700 1 2 ; \r \t c D l M a c \t w o r 0035720 d ; \r \t d c b F i r s t \t w o r 0035740 d ; \r \t x d U d \t w o r d ; \r / 0035760 / \t m a g \t w o r d ; \r \t w w 0036000 376 001 \0 035 375 g r o u p \t w o r d \r 0036020 \t c s l c \t w o r d \r \t l r u \t 0036040 w o r d \r \t ] ; \r \r s t r u c t 0036060 u r e D L D : \r \t [ \r \t c p L 0036100 a s t \t w o r d ; \r \t x d F i r 0036120 s t \t w o r d ; \r \t x d L a s t 0036140 \t w o r d ; \r \t p b m \t w o r d 0036160 ; \r \t n w r d s \t w o r d ; \r \t 0036200 d Y d B m \t w o r d ; \r \t l d \t 0036220 w o r d ; \r \t d c b \t w o r d ; 0036240 \r / / \t b d n F u n \t b i t 0036260 1 1 ; \r / / \t f F a u l t F u 0036300 n \t b i t 1 ; \r / / \t f C a 0036320 n t U p d \t b i t 1 ; \r / / 0036340 \t u l \t b i t 3 ; \r \t u l \t w 0036360 o r d ; \r \t ] ; \r m a n i f e s 0036400 t \t [ \r / 376 001 \0 313 \a / \t b d n 0036420 F u n 0 = 1 l s h i f t 0036440 ( s i z e D L D . b d n F u n 0036460 - 1 ) \r \t u l M a x N o r m 0036500 = 1 l s h i f t ( s i z 0036520 e D L D . u l - 1 ) \r \t ] 0036540 \r \r \r s t r u c t u r e W G D 0036560 : \r \t [ \r \t y d F i r s t \t w o 0036600 r d \r \t d y d \t w o r d \r \t d o 0036620 c \t w o r d \r \t c p F D i s p l 0036640 \t w o r d \r \t d y d L b \t w o r 0036660 d \r \t b o n w \t b i t \r \t f H d 0036700 \t b i t \r \t b l a n k \t b i t 0036720 1 4 \r \t x d U d \t w o r d ; \r \t 0036740 m a g \t w o r d ; \r \t ] \r \r s t 0036760 r u c t u r e W G D T A B L E 0037000 : \r \t [ \r \t c w w \t 376 001 \0 302 353 w 0037020 o r d \r \t @ W G D ^ 1 , 5 \r \t ] 0037040 \r \r \r m a n i f e s t \r \t [ \r \t 0037060 h p b u f = 6 0 0 ; \r \t d i 0037100 s p l a y b u f = # 2 0 0 0 0037120 ; \r \t m a x c d c b = 2 0 0 0037140 ; \r \t d c b l = 4 ; \r \t l c 0037160 v t = ( s i z e C V T ) / 0037200 1 6 ; \r \t i n i d l = 7 0 ; 0037220 \r \t p t s p e r i n c h = 7 0037240 2 ; \r \t x p e r i n c h = 2 0037260 5 4 0 ; \r \t l n R t c = ( s 0037300 i z e R T C ) / 1 6 \r \t d Y d 0037320 E r r = 3 0 \r \t m a s k L o 0037340 w 1 0 = # 1 7 7 7 / / 2 0037360 t o t h e 1 0 t h - 1 \r \t 0037400 l v C n D c b R o o t = # 376 0037420 \0 332 317 \a 4 2 0 \r \t l C n D c b 0037440 = ( s i z e C N D C B ) / 1 0037460 6 \r \t l U p s = ( s i z e 0037500 U P S ) / 1 6 \r \t l D l d = 0037520 ( s i z e D L D ) / 1 6 \r \t l 0037540 W w d = ( s i z e W W D ) 0037560 / 1 6 \r \t l w g d = ( ( s i 0037600 z e W G D ) / 1 6 ) * 8 0037620 + 1 \r \t m a x w w = 1 5 ; 0037640 \r \t m a x d l = 7 0 ; \r \t w 0037660 w s y s = 0 ; \r \t d Y d W w 0037700 M i n = 8 \r \t d y d s y s w 0037720 w = 1 8 \r \t d Y d L i n e W 0037740 i d t h = 2 \r \t ] \r \r 377 \0 0037760 \0 d o c . d f \0 373 221 366 035 b \0 \0 376 0040000 \0 342 327 $ / / d o c . d f \r m a 0040020 n i f e s t \r \t [ d e l t a m 0040040 a x p c = 5 ; \r \t t r i v p 0040060 c t b = 6 ; \r \t m a x d o c 0040100 = 1 5 ; \r \t d o c t x 0 = 0040120 0 ; \r \t d o c t x 1 = 1 ; 0040140 \r \t d o c t x 2 = 2 ; \r \t d 0040160 o c t x 3 = 3 ; \r \t d o c t 0040200 x 4 = 4 ; \r \t d o c t x 5 0040220 = 5 ; \r \t d o c s y s = 0 0040240 ; \r \t d o c r e m a r k = 6 0040260 ; \r \t d o c u s e r f i r s t 0040300 = 7 ; \r \t l p s y s c r = 0040320 8 ; \r \t p t b l N i l = - 1 0040340 ; \r \t ] \r 377 \0 \0 e a r s . d f 0040360 \0 373 221 366 035 d \0 \0 376 001 \0 327 i / / 0040400 E A R S . D F \r \r s t r u c t u 0040420 r e F D E N T : \t \t / / o n 0040440 e f o r e a c h f o n t 0040460 s e t \r \t [ s t r e c f m 0040500 w o r d \t \t / / s t a r t i n g 0040520 r e c o f F M r e f ' d 0040540 f r o m 1 s t F M \r \t c r 0040560 e c f m w o r d \t \t \t / / n u 0040600 m b e r o f r e c s i n 0040620 F M \r \t c r e c f s w o r d \t 0040640 \t \t / / n u m b e r o f r e 0040660 c s i n F S \r \t t t y t a b 0040700 w o r d \t \t \t / / [ * * ] w 0040720 h o k n o w s \r \t ] \r \r s t r 0040740 u c t u r e F O N T D I R 0040760 : [ @ F D E N T ^ 0 , 376 001 \0 0041000 316 v 6 3 ] \r \r \r s t r u c t u 0041020 r e F S : \r \t [ r v m p f e 0041040 f u n f a \t w o r d \r \t b l a n 0041060 k \t \t w o r d 1 5 \r \t r v m p 0041100 f e f n \t w o r d \r \t = r v m 0041120 p f e d a f m \t w o r d \r \t b l 0041140 a n k \t \t w o r d 1 5 \r \t r v 0041160 m p f e n m d \t w o r d \r \t = 0041200 r v m p f e d a f s \t w o r d \r 0041220 \t b l a n k \t \t w o r d 1 5 \r 0041240 \t r v m p f e s n 1 \t w o r d \r 0041260 \t b l a n k \t \t w o r d 1 5 \r 0041300 \t r v m p f e s n 2 \t w o r d \r 0041320 \t b l a n k \t \t w o r d 1 5 \r 0041340 \t m p f e f a c t i v e \t w o r 0041360 d \r \t l f m \t \t w o r d \r \t ] ; 0041400 \r \r 376 001 \0 230 316 s t r u c t u r e 0041420 F S E : \r \t [ b l a n k \t w 0041440 o r d 3 \r \t h e i g h t 1 \t b 0041460 i t 1 \r \t f o n t a d r \t b i 0041500 t 1 5 \r \t ] ; \r \r s t r u c t 0041520 u r e P E P : \r \t [ a c f a 0041540 C u r \t @ C F A \r \t d a P r e v 0041560 \t w o r d \r \t a q b u f F r e e 0041600 \t @ Q \r \t a q b u f D l \t @ Q \r 0041620 \t a q b u f T l \t @ Q \r \t a q b 0041640 u f P d \t @ Q \r \t d a P g n 1 \t 0041660 w o r d \r \t ] ; \r \r s t r u c t 0041700 u r e T L E : \r \t [ d i \t w 0041720 o r d \r \t b f c F i r s t \t w o 0041740 r d \r \t f e 1 2 8 \t w o r d \r \t 0041760 y e 8 \t w o r d \r \t ] ; \r \r s t 0042000 r u c t u r e 376 001 \0 313 266 P D E 0042020 : \r \t [ r e c F i r s t \t w o 0042040 r d \r \t c d l \t w o r d \r \t c t 0042060 l \t w o r d \r \t f s n e \t w o r 0042100 d \r \t ] ; \r \r \r m a n i f e s t 0042120 \t [ \r \t l P e p = ( s i z 0042140 e P E P ) / 1 6 \r \t l P d e 0042160 = ( s i z e P D E ) / 1 6 \r 0042200 \t l T l e = ( s i z e T L 0042220 E ) / 1 6 \r \t f s p a s s w o r 0042240 d = # 2 0 2 0 0 ; \r \t l n r 0042260 e c 0 = 6 4 ; \r \t l n r e c 0042300 1 = 1 0 2 4 ; \r \t l n r e c 0042320 3 = 5 1 2 ; \r \t l n r e c e 0042340 = 2 5 6 ; \r \t f e n i l = 0042360 - 1 ; \r \t t a b n i l = 0 0042400 ; \r \t f s n n i l = 376 001 \0 335 0042420 002 - 1 ; \r / / \t f u n f a n i l 0042440 2 = - 2 ; \r \t e f f c n s t 0042460 = l n r e c 0 + l n r e c 1 0042500 + l n r e c 3 ; \r \t l n f s = 0042520 ( s i z e F S ) / 1 6 ; \r \t 0042540 f c r e c 2 = ( l n r e c 0 0042560 + l n r e c 1 ) * 2 ; \r \t m a x 0042600 f s n = 8 ; \r \t f s n d e f 0042620 = 0 ; \r \t d F c D O C U L I 0042640 S T = # 2 0 0 0 \r \t d P g D 0042660 O C U L I S T = 2 \r \t f c E 0042700 N D L I S T = # 2 0 0 0 - # 0042720 1 1 \r \t p a s s w o r d = 3 0042740 1 4 1 5 \r \t s i z t l e n t r y 0042760 = 8 \r \t m a x s b t i m e 0043000 = 3 0 \r \t l r e c 2 n i l = 0043020 0 376 \0 006 w W \r \t ] ; \r \r 377 \0 \0 f 0043040 o n t . d f \0 373 221 366 035 h \0 \0 376 001 0043060 \0 335 212 / / f o n t . d f \r \r \r 0043100 s t r u c t u r e F A C E : \r 0043120 \t [ b l a n k \t b i t 1 4 \r 0043140 \t b o l d \t b i t \r \t i t a l i 0043160 c \t b i t \r \t ] ; \r \r s t r u c 0043200 t u r e A L C D : \r \t [ x w 0043220 \t w o r d \r \t c s c l s k i p \t 0043240 b y t e \r \t c s c l \t b y t e \r 0043260 \t ] ; \r \r s t r u c t u r e F 0043300 D H : \r \t [ r v m p f a r g c 0043320 c \t w o r d ; \r \t b l a n k \t \t 0043340 w o r d ; \r \t b l a n k \t \t w o 0043360 r d ; \r \t b l a n k \t \t w o r d 0043400 ; \r \t r v m p f a f u n f a d e 0043420 f \t w o r d ; \r \t b l a n k \t \t 0043440 w o r d ; \r \t b l a n k \t \t w o 0043460 r d ; 376 001 \0 333 277 \r \t b l a n k \t 0043500 \t w o r d ; \r \t a m p F a L r e 0043520 c 2 \t w o r d ; \r \t b l a n k \t 0043540 \t w o r d ; \r \t b l a n k \t \t w 0043560 o r d ; \r \t b l a n k \t \t w o r 0043600 d ; \r \t h e i g h t \t \t w o r d 0043620 ; \r \t b l \t \t w o r d ; \r \t x w 0043640 m a x \t w o r d \r \t r v s b n a 0043660 m e \t \t w o r d ; \r \t ] \r \r s 0043700 t r u c t u r e F D : \r \t [ 0043720 f d d L a r g e \t w o r d ; \r \t 0043740 f d d S m a l l \t w o r d ; \r \t 0043760 f d h \t @ F D H ; \r \t ] \r \r s 0044000 t r u c t u r e F D D : \r \t [ 0044020 \r / / m a g \t w o r d ; \r / 0044040 / \t f d d i n d i r e c t \t w 0044060 o r d ; \r \t f d 376 001 \0 314 253 d n e 0044100 x t \t w o r d ; \r \t f o n t \t w 0044120 o r d \r \t r g c c \t w o r d ; 0044140 \r \t l r u \t w o r d ; \r \t h e i 0044160 g h t \t w o r d ; \r \t f a u l t 0044200 e d \t b i t ; \r \t b l \t b i t \t 0044220 1 5 ; \r \t l f i l e \t w o r d \r 0044240 \t a F p t r \t @ F P \r \t b \t w o 0044260 r d / / u s e d f o r 0044300 s t a t e s a v i n g \r \t r v 0044320 s b n a m e \t w o r d ; \r \t ] 0044340 \r \r m a n i f e s t \t [ \r \t l n 0044360 a l c d = ( s i z e A L C 0044400 D ) / 1 6 ; \r \t x w n i l = 0044420 1 \r \t ] \r \r s t r u c t u r e 0044440 I X : \r \t [ t y \t b i t 4 \r 0044460 \t c w \t b i t 1 2 \r \t ] 376 001 \0 0044500 224 035 \r m a n i f e s t \t [ \r \t t 0044520 y i x n = 1 \r \t t y i x w 0044540 = 4 \r \t t y N i l = 0 \r \t 0044560 ] \r \r \r s t r u c t u r e I X 0044600 N : \r \t [ @ I X \r \t f a m \t w 0044620 o r d \r \t a s b \t w o r d \r \t ] 0044640 \r m a n i f e s t \t [ \r \t o f f 0044660 a s b I x n = o f f s e t 0044700 I X N . a s b / 1 6 \r \t ] \r 0044720 \r \r s t r u c t u r e I X W : 0044740 \r \t [ @ I X \r \t \t [ f a m f 0044760 a \t w o r d \r \t \t ] = \r \t \t [ 0045000 f a m \t b y t e \r \t \t \t [ f 0045020 a \t b y t e \r \t \t \t ] = \r \t \t 0045040 \t [ b l a n k \t b i t 6 \r \t 0045060 \t \t b o l d \t b i t \r \t \t \t i t 0045100 a l 376 001 \0 221 S i c \t b i t \r \t \t 0045120 \t ] \r \t \t ] \r \t c h F i r s t \t 0045140 b y t e \r \t c h L a s t \t b y t 0045160 e \r \t h M i c a s \t w o r d \r \t 0045200 r o t a t i o n \t w o r d \r \t a 0045220 p o s \t w o r d 2 \r \t l e n \t 0045240 w o r d 2 \r \t ] \r m a n i f e 0045260 s t \t [ \r \t l n i x w = s i 0045300 z e I X W / 1 6 \r \t ] \r \r 0045320 \r s t r u c t u r e W T B : \r 0045340 \t [ x l \t w o r d \r \t y b \t w 0045360 o r d \r \t x w \t w o r d \r \t y h 0045400 \t w o r d \r \t f X w f i x e d \t 0045420 b i t \r \t f Y h f i x e d \t b i 0045440 t \r \t b l a n k \t b i t 1 4 \r 0045460 \t ] \r m a n i f e s t \t [ \r \t l 0045500 n w t b = 376 \0 301 277 i s i z e 0045520 W T B / 1 6 \r \t ] \r \r \r / 0045540 / L o c a l m a n i f e s t 0045560 s \r \r m a n i f e s t \t [ \r \t f 0045600 u n f a n i l = - 1 ; \r \t f 0045620 d n i l = 0 \r \t f d l = 0045640 ( s i z e F D ) / 1 6 ; \r \t f 0045660 d h l = ( s i z e F D H ) 0045700 / 1 6 ; \r \t f d d l = ( s i 0045720 z e F D D ) / 1 6 ; \r \t f d d 0045740 l s h o r t = 2 ; \r \t m a x 0045760 f u n = 1 1 \r \t f u n D i a 0046000 b l o = 1 0 \r \t ] \r \r 377 \0 \0 0046020 f o r m a t . d f \0 373 221 366 035 k \0 0046040 \0 376 001 \0 9 5 / / f o r m a t . 0046060 d f \r m a n i f e s t \r \t [ x 0046100 l e f t m a r g s t d = # 5 0046120 6 6 6 ; \r \t x r i g h t m a r g 0046140 s t d = # 5 0 1 6 6 ; \r \t o 0046160 f s e t s t d = 4 ; \r \t k d 0046200 i g i t = 0 \r \t k c r = 0046220 1 \r \t k l o o k 1 = 2 \r \t k 0046240 q u a d = 3 \r \t k o f f s e 0046260 t = 4 ; \r \t k f u n = 5 0046300 ; \r \t k m e a s u r e = 6 \r 0046320 \t k p a r a s t a t t e r m = 0046340 7 \r \t k l a b e l = 8 ; \r 0046360 \t k l d l n = 9 ; \r \t k l d 0046400 h d r = 1 1 ; \r \t k i t b 0046420 = 1 2 ; \r \t k x t b = 1 3 0046440 ; \r \t k t a 376 \0 n ( 367 b = 1 0046460 4 ; \r \t m a x p i = 1 6 \r \t 0046500 f b o v h d = ( o f f s e t 0046520 F B . r v d n p i ) / 1 6 \r \t 0046540 m a x f m s g = 1 5 0 ; \r \t 0046560 w i d t h b l a v e = 2 5 6 0046600 ; \r \t w i d t h b l m i n = 0046620 1 2 8 ; \r \t ] \r 377 \0 \0 h a r d 0046640 c o p y . d f \0 373 221 366 035 m \0 \0 376 0046660 001 \0 205 367 / / h a r d c o p y . 0046700 d f \r \r \r g e t " H O . D F " 0046720 \r \r \r m a n i f e s t \t [ \r \t p 0046740 i N i l = - 1 \r \t m i c t o 0046760 d m l t = 6 0 \r \t m i c t o 0047000 d d i v = 2 5 4 0 \r \t p t t 0047020 o d m l t = 4 8 \r \t p t t o 0047040 d d i v = 7 2 \r \t m i c t o 0047060 e m l t = 2 5 ; \r \t m i c t 0047100 o e d i v = 1 2 7 ; \r \t p t 0047120 t o e m l t = 1 2 5 ; \r \t p 0047140 t t o e d i v = 1 8 ; \r \r \t 0047160 a b D i a b l o F o n t = 2 0047200 l s h i f t ( 1 6 - o f 0047220 f s e t A B . c r i d - s 0047240 i z e A B . c r i d ) + \r \t 0047260 \t 0 l 376 001 \0 334 327 s h i f t ( 0047300 1 6 - o f f s e t A B . n 0047320 r i d - s i z e A B . n r 0047340 i d ) \r \t a b T o o L o n g = 0047360 2 l s h i f t ( 1 6 - 0047400 o f f s e t A B . c r i d - 0047420 s i z e A B . c r i d ) + 0047440 \r \t \t 2 l s h i f t ( 1 6 0047460 - o f f s e t A B . n r i d 0047500 - s i z e A B . n r i d ) 0047520 \r \t a b I l l C h a r = 2 0047540 l s h i f t ( 1 6 - o f f 0047560 s e t A B . c r i d - s i 0047600 z e A B . c r i d ) + \r \t \t 0047620 4 l s h i f t ( 1 6 - o 0047640 f f s e t A B . n r i d - 0047660 s i z e A B . n 376 001 \0 207 U r i 0047700 d ) \r \t a b P a s s w o r d = 0047720 2 l s h i f t ( 1 6 - 0047740 o f f s e t A B . c r i d - 0047760 s i z e A B . c r i d ) + 0050000 \r \t \t 6 l s h i f t ( 1 6 0050020 - o f f s e t A B . n r i d 0050040 - s i z e A B . n r i d ) 0050060 \r \t a b I l l O p t = 2 l 0050100 s h i f t ( 1 6 - o f f s 0050120 e t A B . c r i d - s i z 0050140 e A B . c r i d ) + \r \t \t 8 0050160 l s h i f t ( 1 6 - o f 0050200 f s e t A B . n r i d - s 0050220 i z e A B . n r i d ) \r \t a b 0050240 C o m T e r m = 2 l s h i 0050260 f t ( 1 6 - o f f s e 376 \0 0050300 326 025 375 t A B . c r i d - s 0050320 i z e A B . c r i d ) + \r \t 0050340 \t 1 0 l s h i f t ( 1 6 - 0050360 o f f s e t A B . n r i d 0050400 - s i z e A B . n r i d ) \r 0050420 \t a b W o n t R e s t o r e = 0050440 2 l s h i f t ( 1 6 - 0050460 o f f s e t A B . c r i d - 0050500 s i z e A B . c r i d ) + 0050520 \r \t \t 1 2 l s h i f t ( 1 6 0050540 - o f f s e t A B . n r i 0050560 d - s i z e A B . n r i d 0050600 ) \r \r \t a b B a d P a g e = 0050620 - 1 0 \r \t ] \r \r \r 377 \0 \0 h e a p 0050640 . d f \0 373 221 366 035 r \0 \0 376 001 \0 ] 364 0050660 / / H E A P . D F \r 0050700 \r s t r u c t u r e Z O N E : 0050720 \r \t [ \r \t f r e e \t w o r d ; \r 0050740 \t o v h \t w o r d ; \r \t m i n \t 0050760 w o r d ; \r \t m a x \t w o r d ; 0051000 \r \t c f r e e \t w o r d ; \r \t d 0051020 u m m y \t w o r d ; \r \t ] ; \r \r 0051040 s t r u c t u r e H P : \r \t [ 0051060 \r \t s i z \t w o r d ; \r \t f p \t 0051100 w o r d ; \r \t \t [ \r \t \t b p \t w 0051120 o r d ; \r \t \t ] \r \t \t = [ \r \t 0051140 \t u s e \t w o r d ; \r \t \t ] \r \t 0051160 ] ; \r \r m a n i f e s t [ \r \t 0051200 h p o v h f = 4 ; \r \t z o n 0051220 e l = 5 + h p o v h f ; \r \t 0051240 p r e v f r e e = 1 ; \r \t b 0051260 376 \0 6 k s i z = 1 ; \r \t m 0051300 i n l i n k = # 4 0 0 ; \r \t 0051320 ] ; \r \r \0 377 \0 \0 h o . d f \0 373 221 0051340 366 035 t \0 \0 376 001 \0 7 / / h o . 0051360 d f \r \r / / l a s t m o d i 0051400 f i e d \r / / R M L - S 0051420 e p t e m b e r 1 7 , 1 9 7 0051440 7 8 : 0 8 P M - t o 0051460 a d d n C o l o r f i e l d 0051500 \r / / R M L - A p r i l 0051520 1 2 , 1 9 7 8 4 : 0 5 P 0051540 M m o d i f i e d f o r s 0051560 i n g l e p a g e c o l o r 0051600 P r e s s f i l e s . \r \r s 0051620 t r u c t u r e H O : \r \t [ \r 0051640 \t f P g n \t b i t 1 \r \t f R o 0051660 m a n \t b i t 1 \r \t f U p p e 0051700 r c a s e \t b i t 1 \r \t f A l 0051720 t e r n a t e \t b i t 1 \r \t f 0051740 X p d \t b i t 1 \r 376 001 \0 030 321 \t 0051760 f L n \t b i t 1 \r \t f P g R e 0052000 l \t b i t 1 \r \t f N o P g n \t 0052020 b i t 1 \r \t f N o H d r \t b i 0052040 t 1 \r \t b l a n k \t b i t 7 0052060 \r \t p g n F i r s t \t w o r d \r 0052100 \t x P g n \t w o r d \r \t y P g n 0052120 \t w o r d \r \t x X p d \t w o r d 0052140 \r \t y X p d \t w o r d \r \t c c o 0052160 l \t w o r d \r \t x w E d g e m a 0052200 r g \t w o r d \r \t x w M i d d l 0052220 e m a r g \t w o r d \r \t x w B i 0052240 n d m a r g \t w o r d \r \t c p H 0052260 d r O d d \t w o r d \r \t c p H d 0052300 r E v e n \t w o r d \r \t y S t a 0052320 r t O f T x \t w o r d \r \t y E n 0052340 d O f T x \t w o r d \r \t l n F 376 0052360 001 \0 i 234 i r s t \t w o r d \r \t l 0052400 n M o d \t w o r d \r \r \t c c o p 0052420 y \t w o r d \r \t p g n S t a r t 0052440 P r i n t \t w o r d \r \t f D i a 0052460 b l o \t b i t 1 \r \t f F i l e 0052500 \t b i t 1 \r \t f N e t A d d r 0052520 e s s \t b i t 1 \r \t f E a r s 0052540 \t b i t 1 \r \t f C o l o r \t b 0052560 i t 1 \t / / r e t u r n e d 0052600 b y p r e s s \r \t f P r i 0052620 n t B y \t b i t 1 \r \t n C o l 0052640 o r \t b i t 2 \t \r \t b l a n k 0052660 \t b i t 8 \r \r \t l n L a s t \t 0052700 w o r d \r \t a s b P g n \t w o r 0052720 d 1 0 \r \t a s b N e t A d d r 0052740 e s s \t w o r d 1 0 \r \t a s l 0052760 P r i n 376 \0 336 274 M t B y \t w o r 0053000 d 2 0 \r \t ] \r m a n i f e s t 0053020 \t [ \r \t l n h o = ( s i z e 0053040 H O ) / 1 6 + 1 0 \r \t l n 0053060 h o D e f a u l t = ( o f f 0053100 s e t H O . c c o p y ) / 1 6 0053120 \r \t l n h o C f = ( o f f s 0053140 e t H O . l n L a s t ) / 1 6 0053160 - l n h o D e f a u l t \r \r 0053200 \t c w N e t A d d r e s s = 0053220 ( s i z e H O . a s b N e t A 0053240 d d r e s s ) / 1 6 ; \r \t c w P 0053260 r i n t B y = ( s i z e H 0053300 O . a s l P r i n t B y ) / 1 6 0053320 ; \r \t ] \r \r \r 377 \0 \0 l o o k . d 0053340 f \0 373 221 366 035 w \0 \0 376 001 \0 231 240 / / 0053360 l o o k . d f \r \r s t r u c t 0053400 u r e A R D : \r \t [ \r \t r i \t 0053420 b y t e \r \t i w F i r s t \t b i 0053440 t 4 \r \t i w L a s t \t b i t 0053460 4 \r \t f W h e r e \t b i t 1 \r 0053500 \t f H e r e \t b i t 1 \r \t f S 0053520 a m e A s \t b i t 1 \r \t f D e 0053540 f a u l t \t b i t 1 \r \t f T y 0053560 p i n g \t b i t 1 \r \t f M i c 0053600 a s \t b i t 1 \r \t b l a n k \t 0053620 b i t 1 0 \r \t ] \r m a n i f e 0053640 s t \t [ \r \t a r d N i l = - 0053660 1 \r \t a r d W h e r e = # 1 0053700 0 0 0 0 0 \r \t a r d H e r e = 0053720 # 4 0 0 0 0 \r \t a r d S a m e 0053740 A s = # 2 0 0 0 0 \r \t a 376 001 0053760 \0 Y 230 r d D e f a u l t = # 0054000 1 0 0 0 0 \r \t a r d T y p i n g 0054020 = # 4 0 0 0 \r \t a r d M i c 0054040 a s = # 2 0 0 0 \r \t a r d S 0054060 t d X = a r d W h e r e + 0054100 a r d H e r e + a r d S a 0054120 m e A s + a r d D e f a u l 0054140 t + a r d T y p i n g + 0054160 a r d M i c a s \r \t a r d S t d 0054200 Y = a r d S a m e A s + 0054220 a r d D e f a u l t + a r d 0054240 T y p i n g \r \t ] \r \r \r m a n i 0054260 f e s t \t [ \r \t a b S e l E m p 0054300 = 2 l s h i f t ( 1 6 0054320 - o f f s e t A B . c r i d 0054340 - s i z e A B . c r i d ) 0054360 + \r 376 001 \0 p 251 \t \t 0 l s h i 0054400 f t ( 1 6 - o f f s e t 0054420 A B . n r i d - s i z e A 0054440 B . n r i d ) \r \t a b I l l P a 0054460 r a m = 2 l s h i f t ( 0054500 1 6 - o f f s e t A B . c 0054520 r i d - s i z e A B . c r 0054540 i d ) + \r \t \t 2 l s h i f t 0054560 ( 1 6 - o f f s e t A B 0054600 . n r i d - s i z e A B . 0054620 n r i d ) \r \t a b D i a b l o F 0054640 o n t = 2 l s h i f t ( 0054660 1 6 - o f f s e t A B . c 0054700 r i d - s i z e A B . c r 0054720 i d ) + \r \t \t 4 l s h i f t 0054740 ( 1 6 - o f f s e t A B 0054760 . n r i d - 376 001 \0 026 B s i z 0055000 e A B . n r i d ) \r \t a b I l 0055020 l L o o k = 2 l s h i f t 0055040 ( 1 6 - o f f s e t A B 0055060 . c r i d - s i z e A B . 0055100 c r i d ) + \r \t \t 6 l s h i 0055120 f t ( 1 6 - o f f s e t 0055140 A B . n r i d - s i z e A 0055160 B . n r i d ) \r \t a b N o D e f 0055200 a u l t = 2 l s h i f t 0055220 ( 1 6 - o f f s e t A B . 0055240 c r i d - s i z e A B . c 0055260 r i d ) + \r \t \t 8 l s h i f 0055300 t ( 1 6 - o f f s e t A 0055320 B . n r i d - s i z e A B 0055340 . n r i d ) \r \t a b C o m T e r 0055360 m = 2 l s h i f t 376 001 \0 0055400 324 325 ( 1 6 - o f f s e t A 0055420 B . c r i d - s i z e A B 0055440 . c r i d ) + \r \t \t 1 0 l s 0055460 h i f t ( 1 6 - o f f s e 0055500 t A B . n r i d - s i z e 0055520 A B . n r i d ) \r \t a b N o E 0055540 d i t = 2 l s h i f t ( 0055560 1 6 - o f f s e t A B . c 0055600 r i d - s i z e A B . c r 0055620 i d ) + \r \t \t 1 2 l s h i f 0055640 t ( 1 6 - o f f s e t A 0055660 B . n r i d - s i z e A B 0055700 . n r i d ) \r \t a b W h e r e 0055720 = - 1 0 \r \t a b H e r e = 0055740 - 1 1 \r \t a b S a m e A s = 0055760 - 1 2 \r \t a b D e f a u l t = 0056000 - 376 \0 T 331 \0 1 3 \r \t a b T y p 0056020 i n g = - 1 4 \r \t ] \r \r \r m 0056040 a n i f e s t \t [ \r \t i f f Q u 0056060 e r y = i f f M a x \r \t i f 0056100 f M a g n i f y = i f f M a 0056120 x + 1 \r \t ] \r \r \r 377 \0 \0 m c 0056140 u r . d f \0 373 221 366 035 | \0 \0 376 \0 366 0056160 \t 263 / / m c u r . d f \r \r s t 0056200 r u c t u r e C L O C : \r \t [ 0056220 x \t w o r d \r \t y \t w o r d \r 0056240 \t ] \r \r s t r u c t u r e M 0056260 C U R : \r \t [ f D i s p L i n 0056300 k e d \t w o r d \r \t a c m a p L 0056320 i n k e d \t w o r d 1 6 \r \t a 0056340 c m a p O t h e r \t w o r d 1 0056360 6 \r \t a c l o c O t h e r \t @ C 0056400 L O C \r \t ] \r \r m a n i f e s 0056420 t \r \t [ l C l o c = ( s i 0056440 z e C L O C ) / 1 6 \r \t l M c 0056460 u r = ( s i z e M C U R ) 0056500 / 1 6 \r \t c m a p H w r = # 0056520 4 3 1 \r \t c l o c H w r = # 0056540 4 2 6 \r \t ] \r 377 \0 \0 m e a s u 0056560 r e . d f \0 373 221 366 035 ~ \0 \0 376 \0 366 0056600 006 7 / / M E A S U R 0056620 E . D F \r / / \r \r \r s t 0056640 r u c t u r e M E A S U R E S 0056660 T A T U S : \r \t [ p b i t 0056700 ; \r \t q \t b i t ; \r \t b l a n k 0056720 \t b i t \t 1 4 ; \r \t ] \r \r s t 0056740 r u c t u r e D Y T : \r \t [ 0056760 \r \t y e a r \t w o r d ; \r \t m o 0057000 n t h \t w o r d ; \r \t d a y \t w 0057020 o r d \r \t h o u r \t w o r d ; \r 0057040 \t m i n u t e \t w o r d ; \r \t s 0057060 e c o n d \t w o r d ; \r \t f d s 0057100 t \t w o r d ; \r \t ] \r \r m a n 0057120 i f e s t \r \t [ l n d y t = 0057140 7 ; \r \t b a s e = 1 0 0 0 0057160 0 ; \r \t ] \r \0 377 \0 \0 m s g . d 0057200 f \0 373 221 366 035 202 \0 \0 376 001 \0 \ 262 / / 0057220 M S G . D F \r \r s t r u c t u 0057240 r e L O O K 1 : \r \t [ p i \t 0057260 b i t 4 ; \r \t [ b i t s \t b 0057300 i t 1 2 ] = \t [ b l a n 0057320 k \t b i t 1 ; \r \t \t \t [ c a 0057340 s e s \t b i t 2 ] = \t [ 0057360 u p p e r c a s e \t b i t \r \t \t 0057400 \t \t \t l o w e r c a s e \t b i t 0057420 ] \r \t \t \t t r a i l e r \t b i 0057440 t \r \t \t \t v i s i b u f \t b i t 0057460 \r \t \t \t o v s t r i k e b i t 0057500 \r \t \t \t u l \t b i t \r \t \t \t v a 0057520 n i s h \t b i t \r \t \t \t [ m o 0057540 d c h a r \t b i t 2 ] = \t 0057560 [ b o l d f a c e \t b i t \r \t 0057600 \t \t \t \t i t a l i c \t b i t 376 001 0057620 \0 347 374 \r \t \t \t \t \t ] \r \t \t \t e x 0057640 t \t b i t \r \t \t \t v i s i b l e 0057660 \t b i t \r \t \t \t ] \r \t ] \r \r 0057700 s t r u c t u r e L O O K 2 : 0057720 \r \t [ t c \t b i t 4 ; \r \t f 0057740 u n \t b i t 4 ; \r \t [ o f s 0057760 e t \t b y t e ] = \t [ o 0060000 f s e t s g n \t b i t ; \r \t \t \t 0060020 b l a n k \t b i t 7 \r \t \t \t ] 0060040 \r \t ] \r \r s t r u c t u r e 0060060 T A B : \r \t [ f O l d t a b 0060100 \t b i t 1 \r \t [ d x t b \t b 0060120 i t 1 5 ] = \t [ s i T t 0060140 b l \t b i t 1 5 ] \r \t ] \r \r 0060160 s t r u c t u r e P A R : \r \t 0060200 [ x r i g h t m a r g \t w o r 0060220 d \r \t 376 001 \0 003 343 x l e f t m a r 0060240 g \t w o r d \r \t x l e f t m a r 0060260 g f \t w o r d \r \t y p o s \t w o 0060300 r d \r \t [ s p e c \t w o r d 0060320 ] = \t [ l e a d \t b i t 6 0060340 \r \t \t \t p a r s p a c i n g \t b 0060360 i t 7 \r \t \t \t c o n t r o l \t 0060400 b i t 1 \r \t \t \t [ q u a d \t 0060420 b i t 2 ] = \t [ r j \t b 0060440 i t 1 \r \t \t \t \t \t c e n t e r 0060460 \t b i t 1 \r \t \t \t \t \t ] \r \t \t 0060500 \t ] \r \t [ t a b \t w o r d ] 0060520 = \t [ @ T A B ] \r \t y k e 0060540 e p \t w o r d \r \t p a r \t w o r 0060560 d \r \t n e x t p a r \t w o r d \r 0060600 \t t r a i l e r l e n g t h \t w 0060620 o r d \r \t f c o 376 001 \0 ? T f p a 0060640 r \t w o r d \r \t f c o f n e x t 0060660 p a r \t w o r d \r \t l a b e l \t 0060700 w o r d \r \t ] \r m a n i f e s 0060720 t \t [ \r \t m a s k L d l n = 0060740 ( 1 l s h i f t s i z e P 0060760 A R . l e a d ) - 1 \r \t m a 0061000 s k L d h d r = ( 1 l s h 0061020 i f t s i z e P A R . p a r 0061040 s p a c i n g ) - 1 \r \t d x 0061060 t b S t d = # 4 1 0 4 \r \t d 0061100 x t b M i n = 6 4 \r \t s i T 0061120 t b l N i l = s i N i l & 0061140 # 7 7 7 7 7 \r \t ] \r \r s t r u 0061160 c t u r e T T B L : \r \t [ c 0061200 w \t w o r d ; \r \t a m p i t b x 0061220 t b \t w o r d ; \r \t ] \r 376 001 \0 0061240 215 230 m a n i f e s t \t [ \r \t o f 0061260 f a m p T t b l = o f f s e 0061300 t T T B L . a m p i t b x t b 0061320 / 1 6 \r \t i t b M a x = 0061340 1 5 \r \t l n t t b l M a x = 0061360 i t b M a x + o f f a m p T 0061400 t b l \r \t x t b N i l = - 1 0061420 \r \t t c P l a i n = 0 \r \t ] 0061440 \r \r s t r u c t u r e I P A 0061460 R : \r \t [ d o c \t w o r d ; \r 0061500 \t c p f i r s t \t w o r d ; \r \t 0061520 c p t r a i l e r \t w o r d ; \r 0061540 \t c p l a s t \t w o r d ; \r \t p 0061560 a r \t w o r d ; \r \t ] \r \r s t 0061600 r u c t u r e P S T A T : \r \t 0061620 [ s i z \t w o r d ; \r \t @ P A 0061640 R \r 376 001 \0 317 , \t ] \r \r m a n i 0061660 f e s t \t [ \r \t s i z p a r a s 0061700 t a t s t d = ( o f f s e t 0061720 P S T A T . l a b e l ) / 1 6 0061740 \r \t o f f p a r P a r a s t a t 0061760 = o f f s e t P S T A T . 0062000 x r i g h t m a r g / 1 6 \r 0062020 \t ] \r \r m a n i f e s t \t [ \r \t 0062040 o f s e t s g n e x t = # 1 0062060 7 7 4 0 0 ; \r \t p a r o v h d 0062100 = ( s i z e P A R ) / 1 6 ; 0062120 \r \t c w i n f o p a r = ( o 0062140 f f s e t P A R . p a r ) / 1 0062160 6 \r \t s i z f u n f l d = ( 0062200 s i z e L O O K 2 . f u n ) ; 0062220 \r \t t r a i l e r f u n = ( 0062240 1 l s h i f 376 \0 271 021 236 t s i 0062260 z f u n f l d ) - 1 ; \r \t v a n 0062300 b i t = # 2 0 ; \r \t v i s i 0062320 m a s k = # 1 7 7 7 7 6 \r \t 0062340 t r a i l e r b i t s = v a 0062360 n b i t % # 4 0 0 ; \r \t ] \r 0062400 \r m a n i f e s t \t / / d e c 0062420 i m a l ! \r \t [ \r \t l d l n s t 0062440 d = 6 ; \r \t l d h d r s t d 0062460 = 1 2 ; \r \t m a s k v b u f 0062500 = 1 l s h i f t 7 ; \r \t 0062520 v i s i b l e b i t = 1 ; \r 0062540 \t ] \r \r \r 377 \0 \0 n e w m s g . d 0062560 f \0 373 221 366 035 205 \0 \0 376 001 \0 V 251 / / 0062600 n e w m s g . d f \r \r \r s t r 0062620 u c t u r e U F O P : \r \t [ \r 0062640 \t b l a n k \t b i t 1 \r \t f I 0062660 n c r e m e n t \t b i t 1 \r \t 0062700 i f f \t b i t 6 \r \t f f v \t b 0062720 i t 8 \r \t ] \r m a n i f e s t 0062740 \t [ \r \t u f o p F I n c r e m e 0062760 n t = # 4 0 0 0 0 \r \r \t i f 0063000 f N i l \t \t = - 1 \r \r \t i f f 0063020 T r a i l e r \t = # 0 \r \t i f 0063040 f V i s i b u f \t = # 1 \r \t i 0063060 f f U l \t \t = # 2 \r \t i f f V 0063100 a n i s h \t \t = # 3 \r \t i f f 0063120 B o l d \t \t = # 4 \r \t i f f I 0063140 t a l i c \t \t = # 5 \r \t i f f 0063160 E x t \t \t = # 6 \r \t i f f 376 001 0063200 \0 } 240 V i s i b l e \t = # 7 \r 0063220 \t i f f F u n \t \t = # 1 0 \r \t 0063240 i f f S u p e r \t \t = # 1 1 \r 0063260 \r \t i f f X r i g h t m a r g \t 0063300 = # 1 2 \r \t i f f X l e f t m 0063320 a r g \t = # 1 3 \r \t i f f X l 0063340 e f t m a r g f \t = # 1 4 \r \t 0063360 i f f P r o c Y p o s \t = # 1 0063400 5 \r \t i f f L d l n \t \t = # 1 0063420 6 \r \t i f f L d h d r \t \t = # 0063440 1 7 \r \t i f f R j \t \t = # 2 0 0063460 \r \t i f f C e n t e r \t \t = # 0063500 2 1 \r \r \t i f f P r o c C l r \t 0063520 = # 2 2 \r \t i f f P r o c U p 0063540 \t = # 2 3 \r \t i f f P r o c D 0063560 o w n \t = # 2 4 \r \t i f f P r 0063600 o c D 376 001 \0 270 305 x t b \t = # 2 0063620 5 \r \t i f f P r o c X t b \t = 0063640 # 2 6 \r \r \t i f f R j C e n t e 0063660 r \t = # 2 7 \r \t i f f P r o c 0063700 S a m e L o o k s \t = # 3 0 \r 0063720 \t i f f P r o c S a m e P a r \t 0063740 = # 3 1 \r \t i f f P r o c L e 0063760 f t m a r g \t = # 3 2 \r \t i f 0064000 f P r o c C o l u m n \t = # 3 0064020 3 \r \t i f f C o n t r o l \t = 0064040 # 3 4 \r \t i f f Y k e e p \t \t = 0064060 # 3 5 \r \t i f f P r o c S u b 0064100 \t = # 3 6 \r \t i f f O v s t r 0064120 i k e \t = # 3 7 \r \t i f f T c 0064140 \t \t = # 4 0 \r \r \t i f f M a x 0064160 \t \t = # 4 1 \r / / m p i f f 0064200 < f o o > i n 376 001 \0 ' 231 i n 0064220 i t m s g s e n d m s g u n 0064240 p a r s e \r \r / / \t i f f U p p 0064260 e r c a s e \t = # 4 1 \r / / \t 0064300 i f f L o w e r c a s e \t = # 0064320 4 2 \r / / \t i f f C a s e \t \t = 0064340 # 4 3 \r / / \t i f f P r o c T 0064360 a b l e \t = # 4 4 \r \r \t v i s 0064400 i b u f b i t s = # 2 0 1 \r 0064420 \t t c b i t s = # 1 7 0 0 0 0064440 0 \r / / \t c a s e b i t s = 0064460 # 3 0 0 0 \r \r \t c f o p a r g M 0064500 a x = 2 \r \t l n u f o p M a 0064520 x = ( s i z e U F O P / 0064540 1 6 ) + c f o p a r g M a 0064560 x \r \t ] \r \r \r s t r u c t u r e 0064600 F O P : \r \t [ \r \t [ f 376 001 \0 0064620 316 305 I n d i r e c t \t b i t 1 0064640 \r \t f o p i \t b i t 1 5 ] 0064660 = \t [ @ U F O P ] \r \t ] \r m 0064700 a n i f e s t \t [ \r \t l n f o p 0064720 = s i z e F O P / 1 6 0064740 \r \t f o p N i l = - 1 \r \t f 0064760 o p I n d i r e c t = # 1 0 0065000 0 0 0 0 \r \t ] \r \r \r s t r u c t 0065020 u r e M U F O P : \r \t [ \r \t c 0065040 w \t w o r d \r \t u f o p \t w o r 0065060 d \r \t ] \r m a n i f e s t \t [ \r 0065100 \t l n m u f o p M i n = l n 0065120 f o p + 1 \r \t ] \r \r \r s t r 0065140 u c t u r e F F S : \r \t [ \r \t 0065160 i w \t b i t 7 \r \t o f f b i t 0065200 R t \t b i t 4 \r \t c b i t \t b 0065220 i t 376 001 \0 @ 224 5 \r \t ] \r m a n 0065240 i f e s t \t [ \r \t i w L o o k 1 0065260 = 0 \r \t i w L o o k 2 = 0065300 1 \r \t i w M i n p a r = 2 \r 0065320 \t ] \r \r \r s t r u c t u r e F 0065340 F P : \r \t [ \r \t f P a r o p \t b 0065360 i t 1 \r \t f P r o c v a l \t b 0065400 i t 1 \r \t f A r g D e p \t b i 0065420 t 1 \r \t b l a n k \t b i t 5 0065440 \r \t c a r g \t b i t 8 \r \t ] \r 0065460 m a n i f e s t \t [ \r \t f f p P 0065500 a r o p = # 1 0 0 0 0 0 r 0065520 s h i f t ( o f f s e t F F 0065540 P . f P a r o p ) \r \t f f p P r 0065560 o c v a l = # 1 0 0 0 0 0 0065600 r s h i f t ( o f f s e t F 0065620 F P . f P r o 376 \0 < 300 236 c v a l 0065640 ) \r \t f f p A r g D e p = # 0065660 1 0 0 0 0 0 r s h i f t ( o 0065700 f f s e t F F P . f A r g D e 0065720 p ) \r \t ] \r \r \r 377 \0 \0 o m . d f 0065740 \0 373 221 366 035 206 \0 \0 376 001 \0 H 326 / / 0065760 O M . D F \r \r s t r u c t u r e 0066000 O M : \r \t [ c r e f \t \t b i 0066020 t 3 \r \t f f i x e d s t o r \t 0066040 b i t 1 \r \t f p \t \t b i t 1 0066060 2 \r \t c w o r d \t \t w o r d \r \t 0066100 o v \t \t w o r d \r \t m n \t \t w o 0066120 r d \r \t f p t r \t \t w o r d \r \t 0066140 a F a \t \t @ F A \r \t ] ; \r \r s t 0066160 r u c t u r e O V : \r \t [ b 0066200 l a n k \t w o r d \r \t l n c o d 0066220 e \t w o r d \r \t t y p e \t w o r 0066240 d \r \t r e l t b l \t w o r d \r \t 0066260 l n m o d \t w o r d \r \t f p \t 0066300 w o r d \r \t m n \t w o r d \r \t b 0066320 l a n k \t w o r d 1 0 \r \t c o 0066340 d e \t w o r d \r \t ] ; \r \r 376 \0 317 0066360 036 320 s t r u c t u r e R E L T 0066400 B L : \r \t [ c s t a t \t \t w o 0066420 r d \r \t r v m p i s t a t r p r 0066440 \t w o r d \r \t ] ; \r \r s t r u c 0066460 t u r e R P R : \r \t [ l v s 0066500 t a t \t w o r d \r \t r p c \t w o 0066520 r d \r \t ] ; \r \r \r m a n i f e s 0066540 t \r \t [ \r \t l n r p r = ( s 0066560 i z e R P R ) / 1 6 ; \r \t l n 0066600 o v h d r = 1 6 ; \r \t l n o 0066620 m = ( s i z e O M ) / 1 6 0066640 ; \r \t o m N i l = 0 \r \t m n 0066660 K d = $ Q - $ A ; \r \t ] ; \r 0066700 \r 377 \0 \0 p a r a m . d f \0 373 221 366 0066720 035 212 \0 \0 376 \0 y 215 230 / / p a r a 0066740 m . d f \r \r s t r u c t u r e 0066760 P R M : \r \t [ p t \t w o r d \r 0067000 \t c c h M a x \t w o r d \r \t a s 0067020 t r \t w o r d \r \t ] \r \r m a n 0067040 i f e s t l p r m o v h = 0067060 ( s i z e P R M ) / 1 6 \r m a 0067100 n i f e s t p t N i l = - 0067120 1 \r 377 \0 \0 p a r s e . d f \0 373 221 0067140 366 035 214 \0 \0 376 \0 241 247 # / / p a r 0067160 s e . d f \r \r \r s t r u c t u r 0067200 e T X P : \r \t [ \r \t d o c \t w 0067220 o r d \r \t c p \t w o r d \r \t c p 0067240 M a c \t w o r d \r \t ] \r m a n i 0067260 f e s t \t [ \r \t l n t x p = 0067300 s i z e T X P / 1 6 \r \t ] 0067320 \r \r \r m a n i f e s t \t [ \r \t i 0067340 t k N i l = - 1 \r \t i t k E 0067360 o l = - 2 \r \t i t k E o t x 0067400 = - 3 \r \t ] \r \r \r 377 \0 \0 p c 0067420 o l o r . d f \0 373 224 206 203 207 \0 \0 376 0067440 001 \0 : 304 / / p C o l o r . d f 0067460 \r \r / / l a s t m o d i f i 0067500 e d \r / / R M L S e p t e m 0067520 b e r 2 3 , 1 9 7 7 4 : 0067540 3 1 P M - c h a n g e m 0067560 a n i f e s t s f o r c o l 0067600 o r i t e r a t i o n \r / / 0067620 R M L S e p t e m b e r 2 4 0067640 , 1 9 7 7 2 : 0 7 P M 0067660 - p u t i n C O R R E C T 0067700 m a n i f e s t s ! \r / / R 0067720 M L A p r i l 1 , 1 9 7 8 0067740 9 : 4 8 P M s i n g l e 0067760 p a g e c o l o r P r e s 0070000 s f i l e \r / / P C L D 0070020 e c e m b e r 1 8 , 1 9 7 9 0070040 9 : 376 001 \0 213 J 4 9 A M 0070060 - m a k e c o l o r c o m 0070100 p a t i b l e w i t h S i l 0070120 \r \r m a n i f e s t \t [ \r \t \r / 0070140 / \t c B l a c k x \t \t = 0 \t / 0070160 / I n d i c i e s \r / / \t c C 0070200 y a n x \t \t = 1 \r / / \t c G r 0070220 e e n x \t \t = 2 \r / / \t c M a 0070240 g e n t a x \t = 3 \r / / \t c R 0070260 e d x \t \t \t = 4 \r / / \t c V i 0070300 o l e t x \t \t = 5 \r / / \t c Y 0070320 e l l o w x \t \t = 6 \r \r \t c A 0070340 q u a x \t \t = 1 \t / / I n d 0070360 i c i e s \r \t c B l a c k x \t \t 0070400 = 0 \t \r \t c C y a n x \t \t = 0070420 2 \r \t c D a r k B r o w n x \t = 0070440 3 \r \t c G r e e 376 001 \0 $ O n x 0070460 \t \t = 4 \r \t c L i m e x \t \t = 0070500 5 \r \t c M a g e n t a x \t = 0070520 6 \r \t c O r a n g e x \t \t = 7 0070540 \r \t c P i n k x \t \t \t = 8 \r \t 0070560 c R e d x \t \t \t = 9 \r \t c S m 0070600 o k e x \t \t = 1 0 \r \t c T u r 0070620 q u o i s e x \t = 1 1 \r \t c U 0070640 l t r a V i o l e t x \t = 1 2 0070660 \r \t c V i o l e t x \t \t = 1 3 0070700 \r \t c Y e l l o w x \t \t = 1 4 0070720 \r \t c W h i t e x \t \t = 1 5 \r 0070740 \t ] \r \r s t r u c t u r e v C 0070760 o l o r : \r \t [ c o l o r \t b 0071000 y t e \r \t h u e \t b y t e \r \t v 0071020 a l u e \t b y t e \r \t c h r o m 0071040 a \t b y t e \r \t ] \r \r \r \r \r 376 \0 0071060 003 \r 020 \r \r \r 377 \0 \0 p r e s s . d 0071100 f \0 373 221 366 035 223 \0 \0 376 001 \0 z 266 / / 0071120 P R E S S . D F \r \r / / l a 0071140 s t m o d i f i e d \r / / R 0071160 M L N o v e m b e r 2 1 , 0071200 1 9 7 7 1 0 : 2 7 A M a 0071220 d d v P R E S S s t r u c t 0071240 u r e \r / / R M L A p r i l 0071260 1 , 1 9 7 8 9 : 5 0 P 0071300 M s i n g l e p a g e c o 0071320 l o r P r e s s f i l e \r \r 0071340 s t r u c t u r e Q e l e m e 0071360 n t : \r \t [ \r \t @ Q \r \t p w p u 0071400 t \t w o r d \t / / p o i n t 0071420 e r t o c u r r e n t o u 0071440 t p u t w o r d \r \t l b p u t 0071460 \t w o r d \t / / l e f t b y 0071500 t e f l a g : t r u e 376 001 0071520 \0 024 336 , l e f t b y t e n 0071540 e x t . \r \t r e m a i n p u t \t 0071560 w o r d \t / / f r e e b y t 0071600 e s i n b u f f e r \r \t ] \r 0071620 \r s t r u c t u r e P R E S S 0071640 : \r \t [ a c f a C u r \t @ C F 0071660 A \r \t d a P r e v \t \t w o r d \r 0071700 \t a q b u f F r e e \t @ Q \r \t a 0071720 q b u f D l \t \t @ Q e l e m e n 0071740 t \r \t a q b u f E l \t \t @ Q e l 0071760 e m e n t \r \t a q b u f P d \t \t 0072000 @ Q e l e m e n t \r \t d a P g n 0072020 1 \t \t w o r d \r \t ] ; \r \r s t r 0072040 u c t u r e E L T R A I L E R 0072060 : \r \t [ t y p e \t \t b y t e \r 0072100 \t f o n t S e t \t \t b y t e \r \t 0072120 b e g 376 001 \0 246 313 i n B y t e ^ 0 0072140 , 1 \t w o r d \r \t b y t e L e n 0072160 g t h ^ 0 , 1 \t w o r d \r \t X e 0072200 \t \t w o r d \r \t Y e \t \t w o r d 0072220 \r \t l e f t \t \t w o r d \r \t b o 0072240 t t o m \t \t w o r d \r \t w i d t 0072260 h \t \t w o r d \r \t h e i g h t \t 0072300 \t w o r d \r \t e n t i t y L e n 0072320 g t h \t w o r d \r \t ] \r \r s t r 0072340 u c t u r e F S : \r \t [ r v 0072360 m p f e f u n f a \t w o r d \r \t 0072400 b l a n k \t \t w o r d 1 5 \r \t 0072420 r v m p f e f n \t w o r d \r \t = 0072440 r v m p f e d a f m \t w o r d 0072460 \r \t b l a n k \t \t w o r d 1 5 0072500 \r \t r v m p f e n m d \t w o r d 0072520 \r \t = r v m p 376 001 \0 362 322 f e d 0072540 a f s \t w o r d \r \t b l a n k \t 0072560 \t w o r d 1 5 \r \t r v m p f e 0072600 s n 1 \t w o r d \r \t b l a n k \t 0072620 \t w o r d 1 5 \r \t r v m p f e 0072640 s n 2 \t w o r d \r \t b l a n k \t 0072660 \t w o r d 1 5 \r \t m p f e f a 0072700 c t i v e \t w o r d \r \t l f m \t 0072720 \t w o r d \r \t ] ; \r \r \r s t r u 0072740 c t u r e v P R E S S : \r \t [ 0072760 v a l u e \t w o r d \r \t S t a 0073000 t e \t w o r d \r \t ] \r \r m a n i 0073020 f e s t \r \t [ \r \t v P r e s s 0073040 X = 0 \r \t v P r e s s Y = 0073060 2 \r \t v P r e s s F o n t = 0073100 4 \r \t v P r e s s S p a c e 0073120 = 6 \r \t v P r e s s H u 376 001 \0 0073140 214 / e = 8 \r \t v P r e s s V 0073160 a l u e = 1 0 \r \t v P r e s 0073200 s C h r o m a = 1 2 \r \t ] \r 0073220 \r m a n i f e s t v P r e s s 0073240 l = v P r e s s C h r o m a 0073260 + 2 \r \r m a n i f e s t \t [ 0073300 \r \t l n r e c 0 = 6 4 ; \r 0073320 \t l n r e c 1 = 1 0 2 4 ; \r 0073340 \t l n r e c 3 = 5 1 2 ; \r \t 0073360 l n r e c e = 2 5 6 ; \r \t f 0073400 e n i l = - 1 ; \r \t t a b n 0073420 i l = 0 ; \r \t f s n n i l 0073440 = - 1 ; \r \t e f f c n s t = 0073460 l n r e c 0 + l n r e c 1 + l 0073500 n r e c 3 ; \r \t f c r e c 2 = 0073520 ( l n r e c 0 + l n r e c 1 ) 0073540 * 2 376 001 \0 $ 006 ; \r \t m a x f s n 0073560 = 5 \r \t f s n d e f = 0 0073600 ; \r \t s i z t l e n t r y = 0073620 8 \r \t l r e c 2 n i l = 0 \r \t 0073640 m a x s b t i m e = 3 0 \r \t 0073660 l n f s = ( s i z e F S ) 0073700 / 1 6 ; \r \t ] ; \r \r m a n i f e 0073720 s t \t [ \t / / P r e s s \r \t l 0073740 P r e s s = ( s i z e P R 0073760 E S S ) / 1 6 \r \t l E l T r a i 0074000 l e r = ( s i z e E L T R 0074020 A I L E R ) / 1 6 \r \r \t p t t o 0074040 m i c a m l t \t = 6 3 5 \r \t p 0074060 t t o m i c a d i v \t = 1 8 \r 0074100 \r \t p r e s s E n t i t y N o o 0074120 p m \t = 3 7 7 b \r \t p r e s s 0074140 S e t X m \t = 376 001 \0 213 253 3 5 6 0074160 b \r \t p r e s s S e t Y m \t = 0074200 3 5 7 b \r \t p r e s s S h o w C 0074220 h a r s m \t = 3 6 0 b \r \t p r 0074240 e s s S h o w C h a r s S h o r 0074260 t m \t = 0 b \r \t p r e s s S e 0074300 t F o n t m \t = 1 6 0 b \r \t p 0074320 r e s s S e t B r i g h t n e s 0074340 s m \t = 3 7 0 b \r \t p r e s s 0074360 S e t H u e m \t = 3 7 1 b \r \t 0074400 p r e s s S e t S a t u r a t i 0074420 o n m \t = 3 7 2 b \r \t p r e s 0074440 s S h o w R e c t a n g l e m \t 0074460 = 3 7 6 b \r \t p r e s s S e t 0074500 S p a c e X m \t = 3 6 4 b \r \r 0074520 \t p r e s s M a x X \t = 2 1 5 0074540 9 0 \r \t p r e s s M a x 376 \0 k 372 0074560 271 Y \t = 2 7 9 4 0 \r \r \t p r e 0074600 s s P a s s W o r d \t = 2 7 1 0074620 8 3 \r \r \t p r e s s U l D y m \t 0074640 = 8 7 \t / / a l i t t l e 0074660 O T W \r \t p r e s s U l H e i 0074700 g h t m \t = 2 1 \r \t ] \r \r \r \r 0074720 \r \r \r \r \r \r \r \r \r \r \r \r 377 \0 \0 q 0074740 . d f \0 373 223 217 032 l \0 \0 376 \0 V 332 334 0074760 / / Q . D F \r \r s t r u c t 0075000 u r e Q : \r \t [ h e a d \t w 0075020 o r d \r \t t a i l \t w o r d \r \t 0075040 ] \r \r m a n i f e s t \t [ \r 0075060 \t l Q = ( s i z e Q ) / 1 0075100 6 \r \t ] \r 377 \0 \0 r n 1 . d f \0 0075120 373 221 366 035 232 \0 \0 376 001 \0 / l / / r 0075140 n 1 . d f \r / / C a r o l H 0075160 a n k i n s \r / / M a r c h 0075200 2 6 , 1 9 7 6 \r \r s t r u c t 0075220 u r e R L : \r \t [ \r \t k r l \t 0075240 w o r d \r \t d o c \t w o r d = 0075260 f n \t w o r d \r \t r i m a x \t 0075300 w o r d \r \t r i m a c \t w o r d 0075320 \r \t m p b i r i f i r s t \t w o 0075340 r d \r \t m p b i v p a \t w o r d 0075360 \r \t m p b i f c f i r s t \t w o 0075400 r d = m p b i c p f i r s t 0075420 \t w o r d \r \t b i m a c \t w o r 0075440 d \r \t V p a G e t \t w o r d \r \t 0075460 b p h i n t \t w o r d \r \t f R e 0075500 s \t w o r d \r \t r b \t w o r d \r 0075520 \t l a s t \t w o r d \r \t 376 001 \0 311 0075540 245 ] \r \r m a n i f e s t l r l 0075560 = ( o f f s e t R L . l a 0075600 s t ) / 1 6 \r \r m a n i f e s t 0075620 \r \t [ \r \t k r l f = $ f \r \t 0075640 k r l d = $ d \r \t k r l w 0075660 = $ w \r \t n r l m a x = 5 0075700 \t \t / / a l s o i n f o n t 0075720 . s r \r \t r i E n d O f D o c 0075740 = 1 0 \r \t r i T r a i l e r 0075760 = 6 2 \r \t ] \r \r s t r u c t u 0076000 r e R X : \r \t [ \r \t r i f i r 0076020 s t \t w o r d \r \t d r i \t w o r 0076040 d \r \t b i \t w o r d \r \t b r g d 0076060 f c f i r s t \t w o r d = b 0076100 r g d c p f i r s t \t w o r d \r 0076120 \t b r g d f c \t w o r d = b 0076140 r 376 001 \0 H 016 g d c p \t w o r d \r 0076160 \t b r g d f c m a x \t w o r d \r 0076200 \t l a s t \t w o r d \r \t ] \r \r m 0076220 a n i f e s t l r x = ( o 0076240 f f s e t R X . l a s t ) / 1 0076260 6 \r \r s t r u c t u r e R I D 0076300 : \r \t [ \r \t n r l \t b i t 5 \r 0076320 \t [ r i \t b i t 1 1 ] \r \t 0076340 = [ b l a n k b i t 4 \r 0076360 \t f u n b i t 4 \r \t a l b 0076400 i t 1 \r \t f a b i t 2 ] 0076420 \r \t ] \r \r s t r u c t u r e R 0076440 D : \r \t [ \r \t f c \t w o r d = 0076460 c p \t w o r d \r \t d f c \t w o 0076500 r d = d c p \t w o r d \r \t d 0076520 f c m a x \t w o r d \r \t l a s t 0076540 \t w o r d \r 376 \0 V 5 e \t ] \r \r m 0076560 a n i f e s t l r d = ( o 0076600 f f s e t R D . l a s t ) / 1 0076620 6 \r \r m a n i f e s t r i n i 0076640 l = 5 7 \t / / r e g i o n 0076660 n u m b e r o f s p a c e 0076700 \r 377 \0 \0 s e l e c t . d f \0 373 221 0076720 366 035 236 \0 \0 376 001 \0 242 > / / s e l 0076740 e c t . d f \r m a n i f e s t \r 0076760 \t [ u l o f f = 0 ; \r \t u 0077000 l u n k n o w n = 1 ; \r \t u 0077020 l m o d e 1 = 2 ; \r \t u l m 0077040 o d e 2 = 3 ; \r \t s e l l 0077060 = ( o f f s e t S E L . l a 0077100 s t ) / 1 6 \r \t x b u g l o c 0077120 = # 4 2 4 ; \r \t y b u g l o c 0077140 = # 4 2 5 ; \r \t b u g = 0077160 # 1 7 7 0 3 0 ; \r \t c u r m a p 0077200 = # 4 3 1 ; \r \t s n o n e 0077220 = 0 ; \r \t s l i n e = 1 ; 0077240 \r \t s r e s e t = 2 ; \r \t s 0077260 d o w n = 3 ; \r \t s u p = 0077300 4 ; \r \t s j u m p = 5 ; \r 0077320 \t s c h a r = 6 376 \0 c 250 \f ; 0077340 \r \t s w o r d = 7 ; \r \t s s 0077360 t a r = 8 ; \r \t s p h = 0077400 9 ; \r \t s c a r e t = 1 0 ; 0077420 \r \t ] \r \r s t r u c t u r e L 0077440 T : \r \t [ \r \t c M i n \t w o r d 0077460 ; \r \t c C y c \t w o r d ; \r \t ] 0077500 \r \r 377 \0 \0 s t . d f \0 373 221 366 035 243 0077520 \0 \0 376 001 \0 ~ C / / s t . d f \r 0077540 \r \r / / S B \r s t r u c t u 0077560 r e S B : \r \t [ c c h \t b y 0077600 t e \r \t c h ^ 0 , 2 5 5 \t b y t 0077620 e \r \t ] \r m a n i f e s t \r \t [ 0077640 \r \t c c h m a x s b = 2 5 6 0077660 ; \r \t c w m a x s b = c c h 0077700 m a x s b / 2 + 1 ; \r \t 0077720 ] \r \r \r / / S T \r s t r u c 0077740 t u r e S T : \r \t [ b l a n 0077760 k \t w o r d \r \t c c h \t w o r d 0100000 \r \t p p \t w o r d \r \t s b \t w o 0100020 r d \r \t l a s t \t w o r d \r \t ] 0100040 \r m a n i f e s t \r \t [ \r \t l n 0100060 s t = ( o f f s e t S T . 0100100 l a s t ) / 1 6 ; \r \t ] \r \r 0100120 \r / / S L 376 \0 h 260 1 \r s t r 0100140 u c t u r e S L : \r \t [ c c 0100160 h \t w o r d \r \t c h ^ 0 , 1 0 0 0100200 0 0 \t b y t e \r \t ] \r \r \r m a n 0100220 i f e s t \r \t [ \r \t s b n i l 0100240 = 0 ; \r \t a s b n i l = 0 0100260 ; \r \t c p n i l \t = - 1 ; \r \t 0100300 ] \r \r \0 377 \0 \0 s t a t e . d f \0 0100320 373 221 366 035 250 \0 \0 376 001 \0 " v / / S 0100340 t a t e . D F \r \r s t r u c t u 0100360 r e S T U : \r \t [ c w \t \t w 0100400 o r d \r \t d t y \t \t b i t 2 \r 0100420 \t i p a \t \t b i t 2 \r \t f N o 0100440 M o d \t \t b i t \r \t f S e e n \t 0100460 \t b i t \r \t s v e r \t \t b i t 0100500 2 \r \t s g r p \t \t b i t 8 \r \t 0100520 s i m D e s t \t w o r d \r \t a 0100540 S d m \t w o r d \r \t ] ; \r \r s t 0100560 r u c t u r e S T M : \r \t [ 0100600 c w \t w o r d \r \t l n c o d e \t 0100620 w o r d \r \t t y p e \t w o r d \r 0100640 \t r e l t b l \t w o r d \r \t l n 0100660 m o d \t w o r d \r \t f p \t w o 0100700 r d \r \t s t m i d \t w o r d \r \t 0100720 b l a n k \t w o r d 1 376 001 \0 356 0100740 \a 0 \r \t a S t u \t w o r d \r \t ] 0100760 ; \r \r s t r u c t u r e B B S 0101000 : \r \t [ f I n s t a l l e d \t 0101020 w o r d \r \t a C f a \t @ C F A \r 0101040 \t p A r r a y F \t w o r d \r \t p 0101060 A r r a y M a x \t w o r d \r \t p 0101100 g n M a c S c r B i n \t w o r d 0101120 \r \t c w S t m \t w o r d \r \t ] 0101140 \r \r m a n i f e s t \r \t [ \r \t o 0101160 t y S t m = 1 0 0 ; \r \t l S 0101200 t m H d r = ( o f f s e t 0101220 S T M . a S t u ) / 1 6 ; \r \t l 0101240 S t u H d r = ( o f f s e t 0101260 S T U . a S d m ) / 1 6 ; \r \t 0101300 i p a A b = 0 ; \r \t i p a H 0101320 = 1 ; \r \t i p a A = 2 ; 0101340 \r 376 \0 340 322 245 \t s i m N i l = 0101360 0 ; \r \t d t y A = 0 ; \r \t d 0101400 t y B = 1 ; \r \t d t y R g b 0101420 = 2 ; \r \t d t y M i x e d 0101440 = 3 ; \r \t s g r p I n i t = 0101460 3 ; \r \t i p a N i l = - 1 0101500 ; \r \t d t y N i l = - 1 \r 0101520 \t c w S t u S t a t = l S t 0101540 u H d r + 1 \r \t c w S t u M i n 0101560 = c w S t u S t a t \r \t l r 0101600 g P a = 1 l s h i f t ( 0101620 s i z e S T U . i p a ) \r \t c 0101640 w F i l l = - 2 \r \t l b b s 0101660 = ( s i z e B B S ) / 1 6 0101700 \r \t ] ; \r \r 377 \0 \0 v m . d f \0 373 0101720 221 366 035 255 \0 \0 376 001 \0 022 251 / / v m 0101740 . d f \r \r s t r u c t u r e B 0101760 U F : \r \t [ n e x t \t w o r d 0102000 \r \t c a \t w o r d \r \t b p \t w o 0102020 r d ; \r \t p g n \t w o r d \r \t n 0102040 u m C h a r s \t w o r d \r \t ] 0102060 \r \r s t r u c t u r e S C P : 0102100 \r \t [ f m C a l l e r \t w o r 0102120 d \r \t q B u f R e a d \t w o r d 0102140 \r \t q B u f F r e e \t w o r d \r 0102160 \t q B u f R e a d i n g \t w o r 0102200 d \r \t f a \t w o r d \r \t T c S c 0102220 a n P r o c \t w o r d \r \t ] \r 0102240 \r s t r u c t u r e F P G : \r 0102260 \t [ h i \t b i t 9 \r \t l o \t 0102300 b i t 7 \r \t ] \r \r m a n i f 0102320 e s t \r \t [ t c D o 376 001 \0 U 024 0102340 n e = - 1 \r \t t c N o t D o 0102360 n e = 0 \r \t t c T o Y o u 0102400 = 1 \r \t t c B y S c a n P r o 0102420 c = 2 \r \t t c B y S c a n P 0102440 a g e s = 3 \r \t t c A b o r 0102460 t = 4 \r \t t c N i l = 5 0102500 7 2 1 \r \t l S c p = ( s i z 0102520 e S C P ) / 1 6 \r \t l B u f 0102540 = ( s i z e B U F ) / 1 6 \r 0102560 \t ] \r \r m a n i f e s t \r \t [ 0102600 v m t b m a s k = # 3 7 ; 0102620 \r \t c h p e r p a g e = 5 1 0102640 2 ; \r \t m a x b p = 1 5 ; \r 0102660 \t m i n u s e r f n = 2 0 ; 0102700 \r \t m a x f n = 5 0 ; \r \t s 0102720 b f n a m l = 5 0 ; \r \t f n 0102740 376 001 \0 \ 252 s c r = 1 ; \r \t f 0102760 n d i r = 2 ; \r \t f n p u t 0103000 = 3 ; \r \t f n t s m a n i f 0103020 e s t = 4 ; \r \t f n c o m 0103040 = 5 ; \r \t f n u s e r = 6 0103060 ; \r \t f n r e m = 7 ; \r \t f 0103100 n D i s k D e s c = 8 ; \r \t 0103120 f n o m = 9 \r \t f n H e l p 0103140 = 1 0 ; \r \t f n L o g = 0103160 1 1 ; \r \t f n f o n t = 1 2 0103200 ; \r \t f n s c r f s = 1 3 ; 0103220 \r \t f n r l f = 1 4 ; \r \t f 0103240 n w i n d o w b b = 1 5 ; \r 0103260 \t f n f o n t w = 1 6 ; \r \t 0103300 f n m e a s u r e = 1 7 ; \r 0103320 \t o f s i z = ( o f f s e t 0103340 O F . l 376 \0 032 030 Z a s t ) / 1 0103360 6 ; \r \t b p b u f f = 0 ; \r 0103400 \t ] \r 377 \0 \0 a l l o c v m . s 0103420 r \0 373 221 270 b 372 \0 \0 376 001 \0 022 I / / 0103440 a l l o c . s r \r \r g e t " 0103460 b r a v o 1 . d f " ; \r g e t 0103500 " q . D F " ; \r g e t " V M . 0103520 D F " ; \r \r / / I n c o m i n 0103540 g P r o c e d u r e s \r \r e x 0103560 t e r n a l [ \r \t f l u s h v 0103600 m ; \r \t E n q u e u e ; \r \t r e 0103620 m a k e v m t b ; \r \t D e q u e 0103640 u e ; \r \t u m i n ; \r \t u g t ; 0103660 \r \t u l t ; \r \t m i n ; \r \t c l 0103700 e a r b p ; \r \t ] ; \r \r / / I 0103720 n c o m i n g S t a t i c s \r 0103740 \r e x t e r n a l [ \r \t d n b 0103760 p ; \r \t m a c b p ; \r \t r g v p 0104000 a ; \r \t r g b s \r \t r g l a s t 0104020 u s e d \r \t ] ; \r \r / / O 376 001 0104040 \0 ( 347 u t g o i n g P r o c e 0104060 d u r e s \r \r e x t e r n a l 0104100 [ \r \t A l l o c V m ; \r \t ] ; \r 0104120 \r \r / / A L L O C V 0104140 M \r / / \r l e t A l l o c V 0104160 m ( q b u f , p o o l B u f , c 0104200 b p , f l o c k ; n u m a r g 0104220 s n a ) b e \r [ i f n a 0104240 l s 4 t h e n f l o c k 0104260 = f a l s e \r f o r b p 0104300 = 0 t o m a c b p - 1 d 0104320 o \r \t c l e a r b p ( b p ) \r c 0104340 b p = m i n ( c b p , m a c 0104360 b p ) ; l e t t c = 0 \r 0104400 q b u f > > Q . h e a d = 0104420 0 ; \r l e t t B u f = p 0104440 o o l 376 001 \0 327 302 B u f \r / / C 0104460 l e a r F a l l o c ( ) \r / / 0104500 \t [ \r \t f o r b p = 0 0104520 t o m a c b p - 1 d o \r \t \t 0104540 [ i f t c e q c b p t 0104560 h e n b r e a k \r / / \t \t i 0104600 f ( ( r g b s ! b p ) < 0104620 < B S . d i r t y ) % ( ( 0104640 r g b s ! b p ) < < B S 0104660 . f a l l o c e d ) % ( r g 0104700 l a s t u s e d ! b p e q 0104720 - 1 ) t h e n \r / / \t \t \t 0104740 l o o p \r \t \t i f ( r g l a s 0104760 t u s e d ! b p e q - 1 0105000 ) t h e n \r \t \t \t l o o p \r / 0105020 / \t \t ( r g b s ! b p ) 0105040 < < B S . f a 376 001 \0 243 224 l l o 0105060 c e d = t r u e ; \r \t \t t 0105100 c = t c + 1 ; \r \t \t t B u 0105120 f > > B U F . c a = d n 0105140 b p ! b p \r \t \t t B u f > 0105160 > B U F . b p = b p \r \t \t 0105200 t B u f > > B U F . p g n 0105220 = 0 \r \t \t E n q u e u e ( q b 0105240 u f , t B u f ) \r \t \t t B u f 0105260 = t B u f + l B u f \r \t \t r g 0105300 v p a ! b p = - 1 \r \t \t 0105320 i f f l o c k t h e n r g 0105340 l a s t u s e d ! b p = 0105360 - 1 \r \t \t ] \r / / \t i f t 0105400 c l s c b p t h e n \r / / 0105420 \t \t l o o p \r / / \t \t ] \r 0105440 / / \t b r e a k \r / / 376 \0 222 0105460 ( 356 \t ] r e p e a t \r / / C 0105500 l e a r F a l l o c ( ) \r r e m 0105520 a k e v m t b ( ) \r ] \r \r / / 0105540 a n d C l e a r F a l l o c 0105560 ( ) b e \r / / [ f o r b 0105600 p = 0 t o m a c b p - 1 0105620 d o \r / / \t ( r g b s ! 0105640 b p ) < < B S . f a l l o c 0105660 e d = f a l s e ; \r / / 0105700 ] \r \r 377 \0 \0 b f s b a s e . s 0105720 r \0 373 225 026 247 \r \0 \0 376 001 \0 1 367 / / 0105740 B F S B a s e \r / / N e w 0105760 A l t o b a s i c f i l e 0106000 s y s t e m \r \r / / L a s t 0106020 m o d i f i e d A p r i l 0106040 5 , 1 9 8 0 6 : 4 2 P M 0106060 b y T a f t \r \r g e t " a 0106100 l t o f i l e s y s . d " \r \r / 0106120 / O u t g o i n g p r o c e 0106140 d u r e s \r e x t e r n a l [ 0106160 \r \t I n i t i a l i z e C b S t 0106200 o r a g e ; D o D i s k C o m 0106220 m a n d ; G e t C b \r \t A c t 0106240 O n P a g e s ; \r \t R e a l D A 0106260 ; \r \t ] \r \r / / O u t g o i n 0106300 g s t a t i c s \r e x t e r n 0106320 a l [ \r \t e x c h a n g e 376 001 0106340 \0 360 021 D i s k s \r \t m a x E C \r 0106360 \t r e s t o r e E C \r \t f i l l 0106400 I n D A \r \t e o f D A \r / / t 0106420 h e s e a r e d e f i n e d 0106440 l a t e r \r \t D C d o N o t h 0106460 i n g ; D C r e a d ; D C w 0106500 r i t e ; D C w r i t e L a b 0106520 e l ; D C s e e k O n l y \r \t 0106540 v w a i t p r o c ; \r \t v S k f 0106560 d \r \t d i s k B T s i z e \r \t n 0106600 T r a c k s \r \t n S e c t o r s 0106620 \r \t n D i s k s \r \t n H e a d s 0106640 \r \t ] \r s t a t i c [ \r \t e x 0106660 c h a n g e D i s k s = f a l s 0106700 e \r \t m a x E C = 5 \r \t r e s t 0106720 o r e E C = 3 \r \t f i l l I n D 0106740 A = # 376 001 \0 C 352 7 7 7 7 7 \r \t e 0106760 o f D A = 0 \r \t v w a i t p r o 0107000 c ; \r \t v S k f d \r \t d i s k B 0107020 T s i z e \r \t n T r a c k s \r \t 0107040 n S e c t o r s \r \t n D i s k s 0107060 \r \t n H e a d s \r \t ] \r \r / / 0107100 i n c o m i n g p r o c e d u 0107120 r e s \r e x t e r n a l [ \r \t 0107140 Z e r o ; M o v e B l o c k \r 0107160 \t S y s E r r \r \t R e t u r n T 0107200 o \r \t D e f a u l t A r g s 1 \r 0107220 \t D i s a b l e I n t e r r u p 0107240 t s ; E n a b l e I n t e r r 0107260 u p t s \r \t e n q u e u e ; \r \t 0107300 d i v m o d ; \r \t B u g ; \r \t ] 0107320 \r \r \r / / i n c o m i n g s 0107340 t a t i c s \r e 376 001 \0 8 t x t e 0107360 r n a l [ \r \t o n e B i t s \r 0107400 \t f r e e P a g e I d \r \t c c y 0107420 c l e s ; \r \t c e n t r i e s ; 0107440 \r / / \t d n b p \r \t v m a s k 0107460 ; l v t e r m i n a t e \r \t ] 0107500 \r \r g e t " B F S . D E F " \r 0107520 / / t h e a c t i o n s w 0107540 h i c h a r e n e e d e d 0107560 b y c a l l e r s o f b f 0107600 s a r e ( e x t e r n a l ) 0107620 \r / / s t a t i c s ; t h e 0107640 o t h e r s a r e m a n i 0107660 f e s t s \r s t a t i c [ \r \t 0107700 D C d o N o t h i n g = # 3 7 6 0107720 \t / / o n l y i n t e r p r 0107740 e t e d b y A c t O n 376 001 \0 0107760 324 022 P a g e s \r \t D C r e a d = 0110000 d i s k C h e c k * ( D C h e a 0110020 d e r x + D C l a b e l x ) + d 0110040 i s k R e a d * D C d a t a x + 0110060 D C a S \r \t D C w r i t e = d i 0110100 s k C h e c k * ( D C h e a d e 0110120 r x + D C l a b e l x ) + d i s 0110140 k W r i t e * D C d a t a x + D 0110160 C a S \r \t D C w r i t e L a b e 0110200 l = d i s k C h e c k * D C h e 0110220 a d e r x + d i s k W r i t e * 0110240 ( D C l a b e l x + D C d a t a 0110260 x ) + D C a S \r \t D C s e e k O 0110300 n l y = m s b r s h i f t o 0110320 f f s e t D C . s e e k O n l 0110340 y + D C a S \r \t ] \r m a n i f e 0110360 s t 376 001 \0 006 001 [ \r \t D C r e a 0110400 d L a b e l = d i s k C h e c k 0110420 * D C h e a d e r x + d i s k R 0110440 e a d * ( D C l a b e l x + D C 0110460 d a t a x ) + D C a S \r \t ] \r \r 0110500 \r \f \r l e t I n i t i a l i z 0110520 e C b S t o r a g e ( z o n e , 0110540 l e n g t h , f i r s t P a 0110560 g e , r e t r y , \r c l e 0110600 a r Z o n e ) b e [ \r \t i f 0110620 c l e a r Z o n e t h e n 0110640 Z e r o ( z o n e , l e n g t 0110660 h ) \r \t z o n e > > C B Z . l e 0110700 n g t h = l e n g t h \r \t z o n 0110720 e > > C B Z . c u r r e n t P a 0110740 g e = f i r s t P a g e \r \t l e 0110760 t e = l v 376 001 \0 017 * z o n e 0111000 > > C B Z . q u e u e V e c \r \t 0111020 r v e = 0 ; z o n e > > C B 0111040 Z . q u e u e T a i l = e \r \t e 0111060 = e + 1 ; z o n e > > C B Z . 0111100 q u e u e H e a d = e \r \t l e t 0111120 c b = z o n e + l e n g t h \r 0111140 \t \t [ \r \t \t c b = c b - l C B ; 0111160 i f c b l e e b r e a 0111200 k \r \t \t c b > > C B . z o n e = 0111220 z o n e ; c b > > C B . r e t 0111240 r y = r e t r y \r \t \t c b > > C 0111260 B . s t a t u s = D S f r e e S 0111300 t a t u s \r \t \t r v e = c b ; 0111320 e = e + 1 \r \t \t ] r e p e a 0111340 t \r \t z o n e > > C B Z . e n d 0111360 Q u e u e V e c = e \r \t 376 001 \0 310 0111400 Q ] \r \r a n d N e x t C b ( z 0111420 o n e , p o i n t e r ) = v a 0111440 l o f [ \r \t l e t t = z o n 0111460 e ! p o i n t e r ; l e t u 0111500 = t + 1 \r \t i f u g e z o 0111520 n e > > C B Z . e n d Q u e u e 0111540 V e c t h e n u = l v z o 0111560 n e > > C B Z . q u e u e V e c 0111600 \r \t z o n e ! p o i n t e r = u 0111620 ; r e s u l t i s t \r \t ] \r 0111640 \r \r \f \r / / E x p e c t s c 0111660 o m m a n d a n d l a b e l 0111700 t o b o t h b e z e r o 0111720 e d o n e n t r y , o r \r 0111740 / / o t h e r w i s e a p p 0111760 r o p r i a t e l y i n i t i 0112000 a 376 001 \0 l 343 l i z e d \r a n d 0112020 D o D i s k C o m m a n d ( c b 0112040 , C A , D A , f i l e I d 0112060 , p a g e N u m b e r , a c 0112100 t i o n ) b e [ \r \t l e t 0112120 z = c b > > C B . z o n e \r \r \t 0112140 c b > > C B . h e a d e r A d d 0112160 r e s s = l v ( c b > > C B . h 0112200 e a d e r ) \r \t l e t l a = c 0112220 b > > C B . l a b e l A d d r e 0112240 s s \r \t i f l a e q 0 t 0112260 h e n [ \r \t \t l a = l v ( c b 0112300 > > C B . l a b e l ) \r \t \t c b 0112320 > > C B . l a b e l A d d r e s 0112340 s = l a \r \t \t ] \r \t c b > > C B 0112360 . d a t a A d d r e s s = C A \r 0112400 \r \t i f c 376 001 \0 031 2 b > > C B 0112420 . n o r m a l W a k e u p s e 0112440 q 0 \r \t t h e n c b > > 0112460 C B . n o r m a l W a k e u p s 0112500 = z > > C B Z . n o r m a l W a 0112520 k e u p s \r \t i f c b > > C B 0112540 . e r r o r W a k e u p s e q 0112560 0 \r \t t h e n c b > > C 0112600 B . e r r o r W a k e u p s = z 0112620 > > C B Z . e r r o r W a k e u 0112640 p s \r \r \t M o v e B l o c k ( l 0112660 v ( l a > > D L . f i l e I d 0112700 ) , f i l e I d , l F I D ) 0112720 \r \t l a > > D L . p a g e N u m 0112740 b e r = p a g e N u m b e r \r \t 0112760 c b > > C B . t r u e P a g e N 0113000 u m b e r = p a g e N 376 001 \0 326 343 0113020 u m b e r \r \r \t i f D A n e 0113040 f i l l I n D A t h e n c 0113060 b > > C B . d i s k A d d r e s 0113100 s = D A \r \r \t i f a c t i o n 0113120 < < D C . s e a l n e D C a 0113140 c t i o n S e a l t h e n S 0113160 y s E r r ( a c t i o n , 1 1 0113200 0 3 ) \r \t c b > > C B . c o m m 0113220 a n d = a c t i o n \r \t i f e 0113240 x c h a n g e D i s k s t h e 0113260 n c b > > C B . c o m m a n d 0113300 . e x c h a n g e D i s k s = 1 0113320 \r \t c b > > C B . c o m m a n d 0113340 . s e a l = d i s k C o m m a n 0113360 d S e a l \r \r / / Q u e u e D 0113400 i s k C o m m a n d ( c b ) \r 0113420 376 001 \0 % ? \t D i s a b l e I n t 0113440 e r r u p t s ( ) \r \t l e t p 0113460 = n e x t D i s k C o m m a n d 0113500 - o f f s e t C B . n e x t C 0113520 o m m a n d / 1 6 \r \t [ l e t 0113540 n p = p > > C B . n e x t C o 0113560 m m a n d ; i f n p e q 0113600 0 b r e a k ; p = n p ] 0113620 r e p e a t \r \t p > > C B . n e 0113640 x t C o m m a n d = c b \r / / 0113660 t a k e c a r e o f p o s 0113700 s i b l e r a c e w i t h 0113720 d i s k c o n t r o l l e r \r 0113740 \t i f r v n e x t D i s k C 0113760 o m m a n d e q 0 t h e n 0114000 r v n e x t D i s k C o m m 0114020 a n d = c 376 001 \0 \r 266 b \r \t E n a 0114040 b l e I n t e r r u p t s ( ) \r 0114060 \r \t p = N e x t C b ( z , C B 0114100 Z q u e u e T a i l ) \r \t i f 0114120 r v p n e 0 t h e n B 0114140 u g ( ) ; r v p = c b \r \t ] 0114160 \r \r \r \f \r a n d G e t C b ( z 0114200 o n e , d o n t C l e a r ; 0114220 n u m a r g s n a ) = v a l o 0114240 f [ \r \t l e t t = N e x t C 0114260 b ( z o n e , C B Z q u e u e 0114300 H e a d ) \r \t l e t c b = r v 0114320 t ; i f c b e q 0 t 0114340 h e n B u g ( ) ; r v t = 0114360 0 \r \t \t [ \r \t \t i f ( c b > > 0114400 C B . s t a t u s & D S d o 0114420 n e B i t s ) n e 376 001 \0 363 Y 0114440 0 b r e a k \r \t \t i f r v 0114460 n e x t D i s k C o m m a n d 0114500 e q 0 & ( c b > > C B . s 0114520 t a t u s & \r \t \t D S d o 0114540 n e B i t s ) e q 0 t h e 0114560 n C l e a r D i s k E r r o r 0114600 ( ) \r \t \t v m a s k = D S d 0114620 o n e B i t s \r \t \t l v t e r m 0114640 i n a t e = l v ( c b > 0114660 > C B . s t a t u s ) ; \r \t \t 0114700 i f v w a i t p r o c t h e 0114720 n v w a i t p r o c ( ) ; \r \t 0114740 \t ] r e p e a t \r \r / / r e 0114760 m o v e s e a l \r \t c b > > C 0115000 B . c o m m a n d . s e a l = D 0115020 C a c t i o n S e a l \r \r / / 376 0115040 001 \0 237 U t h i s i s t h e 0115060 t e s t f o r e r r o r s 0115100 \r \t l e t s = c b > > C B . s 0115120 t a t u s & D S g o o d S t 0115140 a t u s M a s k \r \t t e s t s 0115160 e q D S g o o d S t a t u s 0115200 \r \t i f s o [ \r \t \t t = z 0115220 o n e > > C B Z . c l e a n u p 0115240 R o u t i n e \r \t \t i f t n 0115260 e 0 t h e n t ( c b ) \r \t 0115300 \t u n l e s s c b > > C B . d 0115320 i s k A d d r e s s . r e s t o 0115340 r e d o \r \t \t [ z o n e 0115360 > > C B Z . e r r o r C o u n t 0115400 = 0 \r \t \t \t z o n e > > C B Z . 0115420 c u r r e n t N u m C h a r s = 0115440 c b > > 376 001 \0 320 \ C B . l a b e 0115460 l A d d r e s s > > D L . n u m 0115500 C h a r s \r \t \t \t ] \r \t \t u n 0115520 l e s s n a g e 2 & d 0115540 o n t C l e a r d o Z e r o 0115560 ( c b , l V a r C B ) \r \t \t r 0115600 e s u l t i s c b \r \t \t ] \r \t 0115620 i f n o t i f s e q 0115640 D S f r e e S t a t u s t h e 0115660 n [ \r \t \t Z e r o ( c b , l 0115700 V a r C B ) ; r e s u l t i s 0115720 c b \r \t \t ] \r \r / / w e s 0115740 h o u l d d i s c r i m i n a 0115760 t e a m o n g t h e v a r 0116000 i o u s k i n d s o f e r 0116020 r o r \r \t [ i f r v n e x 0116040 t D i s k C o m m 376 001 \0 H 031 a n 0116060 d e q 0 b r e a k ] r 0116100 e p e a t \r \t u n l e s s s < 0116120 < D S . d a t a L a t e d o 0116140 z o n e > > C B Z . e r r o r C 0116160 o u n t = z o n e > > C B Z . e 0116200 r r o r C o u n t + 1 \r \t l e t 0116220 e c = z o n e > > C B Z . e r 0116240 r o r C o u n t \r \t i f e c 0116260 g e m a x E C t h e n [ \r 0116300 / / u n r e c o v e r a b l e 0116320 e r r o r \r / / t e m p o r 0116340 a r y c o d e \r \t \t S y s E r 0116360 r ( 0 , 1 1 0 1 , c b ) \r \t 0116400 \t ] \r \r \t l e t r = c b > > C 0116420 B . r e t r y \r \t l e t D A = 0116440 c b > > C B . d i s k A d d 376 001 0116460 \0 365 226 r e s s \r / / * * A d 0116500 d e d f o r S c a n P a g e 0116520 s - T J M * * * \r \t i f 0116540 ( z o n e > > C B Z . e r r 0116560 o r R o u t i n e n e 0 ) 0116600 t h e n \r \t \t ( z o n e > > 0116620 C B Z . e r r o r R o u t i n e 0116640 ) ( z o n e ) \r / / * * \r \t I 0116660 n i t i a l i z e C b S t o r a 0116700 g e ( z o n e , z o n e > > C 0116720 B Z . l e n g t h , \r \t c b 0116740 > > C B . t r u e P a g e N u m 0116760 b e r , r , f a l s e ) \r \t 0117000 i f e c g e r e s t o r e 0117020 E C t h e n [ \r \t D A < 0117040 < D A . r e s t o r e = 1 \r \t 0117060 D A 376 001 \0 ; 352 < < D A . t r a 0117100 c k = 0 \r \t D o D i s k 0117120 C o m m a n d ( G e t C b ( z o 0117140 n e ) , 0 , D A , 0 , c 0117160 b > > C B . t r u e P a g e N u 0117200 m b e r , D C s e e k O n l y 0117220 ) \r \t ] \r \t R e t u r n T o 0117240 ( r ) \r \r \t ] \r \r \r / / t h i 0117260 s s h o u l d n e v e r b 0117300 e c a l l e d i f t h e r 0117320 e i s o n l y o n e p r 0117340 o c e s s \r a n d C l e a r D 0117360 i s k E r r o r ( z o n e ) b 0117400 e B u g ( ) \r \r \r l e t G e 0117420 t N e x t D A ( c b ) b e [ 0117440 \r \t l e t t = l v ( ( c 0117460 b > > C B . z o 376 001 \0 312 257 n e > 0117500 > C B Z . D A s ) ! ( c b > > C 0117520 B . t r u e P a g e N u m b e r 0117540 + 1 ) ) \r \t i f r v t 0117560 e q f i l l I n D A t h e n 0117600 r v t = c b > > C B . l a b 0117620 e l A d d r e s s > > D L . n e 0117640 x t \r \t ] \r \r a n d A c t 0117660 O n P a g e s ( C A s , D A s 0117700 , f i l e I d , f i r s t P 0117720 a g e , l a s t P a g e , a 0117740 c t i o n , \r l v N u m C h 0117760 a r s , l a s t A c t i o n , 0120000 f i x e d C A , c l e a n u 0120020 p R o u t i n e ; n u m a r g 0120040 s n a ) = \r v a l o f [ 0120060 \r / / \t l e t s t a r 376 001 \0 0120100 3 262 t t i m e = v e c 2 \r 0120120 / / \t T I M E R ( s t a r t t 0120140 i m e ) \r \t l e t d u m m y = 0120160 n i l \r \t D e f a u l t A r g s 0120200 1 ( l v n a , - 6 , l v 0120220 d u m m y , a c t i o n , 0 0120240 , G e t N e x t D A ) \r \r \t l 0120260 e t z o n e = v e c C B z o 0120300 n e L e n g t h \r \t l e t r e 0120320 s u l t = n i l \r \t I n i t 0120340 i a l i z e C b S t o r a g e ( 0120360 z o n e , C B z o n e L e n g 0120400 t h , f i r s t P a g e , \r \t 0120420 A r e t r y , t r u e ) \r 0120440 \t z o n e > > C B Z . D A s = D 0120460 A s \r \t z o n e > > C B Z . c l 0120500 e a 376 001 \0 363 ' n u p R o u t i n 0120520 e = c l e a n u p R o u t i n e 0120540 \r \r A r e t r y : \t [ \r / / N 0120560 o t e t h a t e a c h c b 0120600 i s u s e d t w i c e : 0120620 t o h o l d t h e D L 0120640 f o r \r / / p a g e i - 1 , 0120660 a n d t h e n t o h o l 0120700 d t h e D C B f o r p a 0120720 g e i . I t i s n ' t \r 0120740 / / r e u s e d u n t i l 0120760 t h e c o m m a n d f o r 0121000 p a g e i i s d o n e , 0121020 a n d t h a t i s \r / / g 0121040 u a r a n t e e d t o b e 0121060 a f t e r t h e D L f o r 0121100 p a g e i 376 001 \0 342 o - 1 i 0121120 s n o l o n g e r \r / / n 0121140 e e d e d , s i n c e e v e 0121160 r y t h i n g i s d o n e 0121200 s t r i c t l y s e q u e n t 0121220 i a l l y b y \r / / p a g e 0121240 n u m b e r . \r \t l e t 0121260 c b = G e t C b ( z o n e ) \r \t 0121300 r e s u l t = l a s t P a g 0121320 e \r \r \t f o r i = z o n e 0121340 > > C B Z . c u r r e n t P a g 0121360 e t o l a s t P a g e d o 0121400 [ \r \t i f D A s ! i 0121420 e q e o f D A t h e n \r \t 0121440 \t [ r e s u l t = i - 1 \r 0121460 \t \t b r e a k ; \r \t \t ] \r \t 0121500 l e t a = a c t 376 001 \0 B 0121520 223 i o n ; i f i e q l a 0121540 s t P a g e t h e n a = l a 0121560 s t A c t i o n \r \t i f 0121600 a e q D C d o N o t h i n 0121620 g t h e n l o o p \r \r \t 0121640 l e t n e x t C b = G e t 0121660 C b ( z o n e ) \r \r \t c 0121700 b > > C B . l a b e l A d d r e 0121720 s s = ( ( D A s ! ( i + 1 ) e 0121740 q f i l l I n D A ) ? \r \t \t 0121760 l v n e x t C b > > C B . d i 0122000 s k A d d r e s s , l v n e 0122020 x t C b > > C B . l a b e l ) \r 0122040 \r \t D o D i s k C o m m 0122060 a n d ( c b , ( C A s e q 0122100 0 ? f i x e d C A , C A s 0122120 ! 376 001 \0 350 267 i ) , \r \t \t D A s ! 0122140 i , f i l e I d , i , a ) 0122160 \r \t c b = n e x t C b \r 0122200 \t ] \r \t w h i l e 0122220 r v z o n e > > C B Z . q u e 0122240 u e H e a d n e 0 d o G 0122260 e t C b ( z o n e ) \r \t ] \r 0122300 \t r v l v N u m C h a r s = z 0122320 o n e > > C B Z . c u r r e n t 0122340 N u m C h a r s \r / / \t i f 0122360 v f l o p p y t h e n \r / / 0122400 \t \t w a i t f o r f d ( D A s 0122420 ! ( - 1 ) , f i r s t P a g e 0122440 , l a s t P a g e , s t a r t t 0122460 i m e ) ; \r \t r e s u l t i s 0122500 r e s u l t \r \t ] \r \r a n d R 0122520 e a l D A ( 376 001 \0 \0 x v i r t u 0122540 a l D A ) = v a l o f [ \r / / 0122560 D i v ( x ) r e t u r n s 0122600 v i r t u a l D A / x a n d 0122620 l e a v e s t h e r e m a i 0122640 n d e r i n v i r t u a l D 0122660 A \r \t l e t D i v = t a b l e 0122700 [ \r \t # 5 5 0 0 1 0122720 \t \t / / s t a 3 s a v e d 0122740 P C , 2 \r \t # 2 5 0 0 4 \t \t 0122760 / / l d a 1 f i r s t A r 0123000 g , 2 \r \t # 1 5 5 0 0 0 \t \t 0123020 / / m o v 2 3 \r \t # 1 0123040 1 1 0 0 0 \t \t / / m o v 0 0123060 2 \r \t # 1 0 2 4 6 0 \t \t / / 0123100 m k z e r o 0 0 \r \t # 0123120 6 1 0 2 1 \t \t / / d 376 001 \0 221 207 0123140 i v \r \t # 7 7 4 0 0 \t \t / / 0123160 7 7 4 0 0 \r \t # 1 7 1 0 0 0123200 0 \t \t / / m o v 3 2 \r \t 0123220 # 4 5 0 0 4 \t \t / / s t a 0123240 1 f i r s t A r g , 2 \r \t 0123260 # 3 5 0 0 1 \t \t / / l d a 3 0123300 s a v e d P C , 2 \r \t # 1 0123320 4 0 1 \t \t \t / / j m p 1 , 3 0123340 \r \t ] \r \r \t l e t r e a l 0123360 D A = 0 \r \t r e a l D A < < D A 0123400 . s e c t o r = D i v ( n S e c 0123420 t o r s ) \r \t r e a l D A < < D 0123440 A . h e a d = D i v ( n H e a d 0123460 s ) \r \t r e a l D A < < D A . t 0123500 r a c k = D i v ( n T r a c k s 0123520 ) \r \t r e a l D A < < D A . d i 0123540 376 \0 " F 357 s k = v i r t u a l D 0123560 A \r \t r e s u l t i s r e a l 0123600 D A \r \t ] \r \r 377 \0 \0 b f s w r i 0123620 t e . s r \0 373 231 274 341 330 \0 \0 376 001 \0 0123640 a 305 / / B F S W r i t e \r / 0123660 / N e w A l t o b a s i c 0123700 f i l e s y s t e m \r \r / / 0123720 L a s t m o d i f i e d S 0123740 e p t e m b e r 2 5 , 1 9 8 0123760 2 3 : 0 4 P M b y T a 0124000 f t \r \r g e t " a l t o f i l 0124020 e s y s . d " \r \r / / O u t g 0124040 o i n g p r o c e d u r e s \r 0124060 e x t e r n a l [ \r \t I n i t 0124100 i a l i z e C b S t o r a g e ; 0124120 D o D i s k C o m m a n d ; 0124140 G e t C b \r \t A c t O n P a g e 0124160 s ; W r i t e P a g e s \r \t B 0124200 u g ; \r \t ] \r \r / / O u t g o 0124220 i n g s t a t i c s \r e x t e 0124240 r n 376 001 \0 U 246 a l [ \r \t e x c 0124260 h a n g e D i s k s \r \t m a x E 0124300 C \r \t r e s t o r e E C \r \t f i 0124320 l l I n D A \r \t e o f D A \r / / 0124340 t h e s e a r e d e f i n 0124360 e d l a t e r \r \t D C d o N o 0124400 t h i n g ; D C r e a d ; D 0124420 C w r i t e ; D C w r i t e L 0124440 a b e l ; D C s e e k O n l y 0124460 \r \t v w a i t p r o c ; \r \t v S 0124500 k f d \r \t n T r a c k s \r \t n S 0124520 e c t o r s \r \t n D i s k s \r \t 0124540 n H e a d s \r \t ] \r \r / / i n 0124560 c o m i n g p r o c e d u r e 0124600 s \r e x t e r n a l [ \r \t Z e 0124620 r o ; M o v e B l o c k \r \t e 0124640 r r h l t a \r 376 001 \0 \t 245 \t R e t 0124660 u r n T o \r \t D e f a u l t A r 0124700 g s 1 \r \t D i s a b l e I n t e 0124720 r r u p t s ; E n a b l e I n 0124740 t e r r u p t s \r \t e n q u e u 0124760 e ; \r \t d i v m o d ; \r \t R e a 0125000 d D i s k K d ; \r \t W r i t e D 0125020 i s k K d ; \r \t ] \r \r / / i n 0125040 c o m i n g s t a t i c s \r e 0125060 x t e r n a l [ \r \t o n e B i 0125100 t s \r \t f r e e P a g e I d \r \t 0125120 c c y c l e s ; \r \t c e n t r i 0125140 e s ; \r / / \t d n b p \r \t d i 0125160 s k K d ; \r \t c r e f K d ; \r \t 0125200 ] \r \r / / d e c l a r a t i o 0125220 n s f o r t h e d i s k 0125240 a l l o c a t i o n b 376 001 \0 003 0125260 { i t t a b l e \r / / t h e 0125300 D A s t r u c t u r e d e 0125320 c l a r a t i o n i s a l s 0125340 o u s e d \r \r / / O u t g o 0125360 i n g p r o c e d u r e s \r e 0125400 x t e r n a l [ \r \t A s s i g 0125420 n D i s k P a g e ; R e l e a 0125440 s e D i s k P a g e \r \t R e a l 0125460 D A ; V i r t u a l D A \r \t q 0125500 u e u e b p ; \r \t ] \r \r / / 0125520 I n c o m i n g s t a t i c s 0125540 \r e x t e r n a l [ \r \t b p s 0125560 r c q u e u e ; v f p f i r s t 0125600 ; r g b p f s \r \t v m a c f c ; 0125620 \r \t v m a s k ; l v t e r m i 0125640 n a t e \r \t r g l a s t u s e d 0125660 \r 376 001 \0 252 w \t a b s ; v f l o 0125700 p p y ; \r \t c u r f d a ; v c 0125720 w a i t f d ; u g t \r \t v p g p 0125740 e r t r k ; v m s s k p e r t 0125760 r k ; v m s h e a d l d ; v 0126000 m s t r a n s p e r p g ; \r \t T 0126020 I M E R \r \t ] \r \r m a n i f e s 0126040 t [ \r \t a l l O n e s = # 1 7 0126060 7 7 7 7 \r \t w o r d L e n g t h 0126100 = 1 6 \r \t w o r d s P e r P a g 0126120 e = # 4 0 0 ; c h a r s P e r 0126140 P a g e = w o r d s P e r P a g 0126160 e * 2 \r \t ] \r \r s t r u c t u r 0126200 e F D A : \r \t [ \r \t t r a c k 0126220 \t b i t \t 1 3 ; \r \t s e c t o r 0126240 \t b i t \t 3 ; \r \t ] \r \r s t r 0126260 u c t u r e 376 001 \0 S 355 S K F D 0126300 : \r \t [ \r \t c T r k B u m p ^ 0 0126320 , 1 \t w o r d ; \r \t c S e e k ^ 0126340 0 , 1 \t w o r d ; \r \t c p g T r 0126360 a n s ^ 0 , 1 \t w o r d ; \r \t ] 0126400 \r \r / / B r a v o " k n o 0126420 w s " t h a t t h e b i t 0126440 t a b l e i m m e d i a t e 0126460 l y f o l l o w s t h e K 0126500 D H s t r u c t u r e . \r / / 0126520 W a r n i n g : a c o p y 0126540 o f t h i s s t r u c t u 0126560 r e l i v e s i n K D . s 0126600 r . \r s t r u c t u r e K D : 0126620 \r \t [ \r \t \t [ \r \t \t @ K D H \r \t 0126640 \t d i s k B i t T a b l e w o 0126660 r d 0 \r \t \t ] = \r 376 001 \0 373 - 0126700 \t \t [ \r \t \t b l a n k w o r d 0126720 ( o f f s e t K D H . l a s 0126740 t S n + s i z e K D H . l 0126760 a s t S n ) / 1 6 \r \t \t b i t T 0127000 a b l e C h a n g e d w o r d 0127020 / / p r e - O S 1 8 c o 0127040 n v e n t i o n , w h i c h 0127060 B r a v o s t i l l u s e s 0127100 \r \t \t ] \r \t ] \r \r g e t " B F 0127120 S . D E F " \r \r / / t h e a 0127140 c t i o n s w h i c h a r e 0127160 n e e d e d b y c a l l e 0127200 r s o f b f s a r e ( e 0127220 x t e r n a l ) \r m a n i f e s 0127240 t [ \r \t D C r e a d L a b e l 0127260 = d i s k C h e c k * D C h e a 0127300 376 001 \0 370 300 d e r x + d i s k R e 0127320 a d * ( D C l a b e l x + D C d 0127340 a t a x ) + D C a S \r \t ] \r \r \r 0127360 \f \r / / F L O P P Y D I S K 0127400 W A I T \r \r / / a n d w a 0127420 i t f o r f d ( f d a o f f i l 0127440 e , f i r s t P a g e , l a s t 0127460 P a g e , s t a r t t i m e , f 0127500 d n u m ; n u m a r g s n a 0127520 ) b e \r / / [ \r / / i f 0127540 n a l s 5 t h e n f d 0127560 n u m = 0 \r / / l e t f d a 0127600 f i r s t = f d a o f f i l 0127620 e + f i r s t P a g e \r / / l 0127640 e t f d a l a s t = f d a 0127660 o f f i l e + l a s t P a g e \r 0127700 / / l e 376 001 \0 306 T t t n i l 0127720 = n i l \r / / l e t c u 0127740 r t r k = d i v m o d ( c u 0127760 r f d a , v p g p e r t r k , l 0130000 v t n i l ) ; \r / / l e t 0130020 f i r s t t r k = d i v m o 0130040 d ( f d a f i r s t , v p g p e 0130060 r t r k , l v t n i l ) ; \r / 0130100 / l e t l a s t t r k = 0130120 d i v m o d ( f d a l a s t , v 0130140 p g p e r t r k , l v t n i l 0130160 ) ; \r / / l e t d T r k S e 0130200 e k = a b s ( c u r t r k - 0130220 f i r s t t r k ) \r / / l e t 0130240 d T r k B u m p = a b s ( 0130260 l a s t t r k - f i r s t t r k 0130300 ) \r / / u n l e s 376 001 \0 6 245 s 0130320 d T r k S e e k e q 0 t 0130340 h e n \r / / \t [ v S k f d 0130360 > > S K F D . c T r k B u m p 0130400 ^ f d n u m = v S k f d > 0130420 > S K F D . c T r k B u m p ^ 0130440 f d n u m + d T r k S e e k \r / 0130460 / \t v S k f d > > S K F D 0130500 . c S e e k ^ f d n u m = v 0130520 S k f d > > S K F D . c S e 0130540 e k ^ f d n u m + 1 \r / / \t ] 0130560 \r / / v S k f d > > S K 0130600 F D . c p g T r a n s ^ f d n u 0130620 m = v S k f d > > S K F 0130640 D . c p g T r a n s ^ f d n u m 0130660 + ( l a s t P a g e - f i r s 0130700 t P a g e + 1 ) \r / / v S k 376 0130720 001 \0 310 3 f d > > S K F D . c T r 0130740 k B u m p ^ f d n u m = v S k f 0130760 d > > S K F D . c T r k B u m 0131000 p ^ f d n u m + d T r k B u m p 0131020 \r / / l e t m s s e e k = 0131040 d T r k S e e k * v m s s k p 0131060 e r t r k \r / / l e t m s t 0131100 r a n s f e r = ( l a s t P 0131120 a g e - f i r s t P a g e + 1 ) 0131140 * v m s t r a n s p e r p g \r / 0131160 / l e t m s b u m p t r a c 0131200 k = d T r k B u m p * v m s 0131220 s k p e r t r k \r / / l e t 0131240 m s l a t e n c y = ( ( v p 0131260 g p e r t r k * v m s t r a n s 0131300 p e r p g ) r s h i f t 1 ) 0131320 + v m s 376 001 \0 206 244 h e a d l d ; 0131340 \r / / c u r f d a = f d a 0131360 l a s t ; \r / / l e t m s t 0131400 o t = ( m s s e e k + m s l 0131420 a t e n c y + m s t r a n s f e 0131440 r + m s b u m p t r a c k ) \r / 0131460 / l e t t t i m e = v e 0131500 c 2 ; \r / / \t [ T I M E R 0131520 ( t t i m e ) \r / / \t v c w a 0131540 i t f d = v c w a i t f d + 0131560 1 \r / / \t ] r e p e a t u n 0131600 t i l u g t ( t t i m e ! 0131620 1 - s t a r t t i m e ! 1 , 0131640 m s t o t ) \r / / ] \r \r / / 0131660 r e t u r n s t h e p a g 0131700 e n u m b e r o f t h e 0131720 l a s t p a g e 376 001 \0 l l s 0131740 u c c e s s f u l l y a c t e 0131760 d \r / / o n . \r / / C A s 0132000 ( c o r e a d d r e s s e s ) 0132020 a n d D A s ( d i s k a 0132040 d d r e s s e s ) a r e v e 0132060 c t o r s \r / / i n d e x e d 0132100 b y p a g e n u m b e r 0132120 ( e . g . C A s ! f i r s t P 0132140 a g e ) \r / / t h e a r g u 0132160 m e n t s f o l l o w i n g 0132200 a c t i o n a r e o p t i o 0132220 n a l ; i f o n e o f t 0132240 h e m i s \r / / o m i t t e 0132260 d o r 0 , t h e d e f a 0132300 u l t a c t i o n i s t a 0132320 k e n \r \r \f \r / / n o t e 376 001 0132340 \0 T Z t h a t D A s ! ( f i 0132360 r s t p a g e - 1 ) w i l l 0132400 b e r e f e r e n c e d i f 0132420 D A s ! f i r s t P a g e \r / 0132440 / e q f i l l I n D A o r 0132460 e o f D A , a n d t h a t 0132500 D A s ! ( l a s t P a g e + 1 0132520 ) w i l l b e s e t t o 0132540 \r / / e o f D A e x c e p t 0132560 w h e n t h e l a b e l 0132600 o f l a s t P a g e d o e s 0132620 n ' t n e e d t o b e \r / 0132640 / r e w r i t t e n \r / / t 0132660 h e a r g u m e n t s f o l 0132700 l o w i n g l a s t P a g e 0132720 a r e o p t i o n a l , a s 0132740 f o 376 001 \0 E ~ r A c t O n P 0132760 a g e s \r l e t W r i t e P a 0133000 g e s ( C A s , D A s , f i 0133020 l e I d , f i r s t P a g e , 0133040 l a s t P a g e , l a s t A 0133060 c t i o n , \r l v N u m C h 0133100 a r s , l a s t N u m C h a r 0133120 s , f i x e d C A ; n u m a 0133140 r g s n a ) = v a l o f [ \r 0133160 \t l e t C h e c k F r e e P a 0133200 g e ( c b ) b e [ \r \t l 0133220 e t f i d = l v c b > > C B 0133240 . l a b e l A d d r e s s > > D 0133260 L . f i l e I d \r \t f o r 0133300 i = 0 t o l F I D - 1 d o 0133320 i f f i d ! i n e f r e 0133340 e P a g e I d ! 376 001 \0 340 \a i t 0133360 h e n \r \t ( c b > > C B 0133400 . z o n e > > C B Z . D A s ) ! 0133420 ( c b > > C B . t r u e P a g e 0133440 N u m b e r ) = f i l l I n D A 0133460 \r \t ] \r \r \t l e t n u m C 0133500 h a r s = n i l ; l e t f i 0133520 r s t N e w P a g e = n i l \r \t 0133540 D e f a u l t A r g s 1 ( l v 0133560 n a , 5 , 0 , 0 , c h a 0133600 r s P e r P a g e , 0 ) \r \t i 0133620 f l a s t A c t i o n e q 0133640 0 t h e n l a s t A c t i o 0133660 n = D C w r i t e \r \t i f l v 0133700 N u m C h a r s e q 0 t h 0133720 e n l v N u m C h a r s = l v 0133740 n u m C h a r s \r \r / / 376 001 \0 0133760 006 ^ f i r s t p r o c e e d 0134000 a s f o r a r e a d u 0134020 n t i l t h e r e a r e n 0134040 o m o r e \r / / p r e a l l 0134060 o c a t e d p a g e s t o 0134100 w r i t e i n t o \r \t t e s t 0134120 D A s ! f i r s t P a g e e 0134140 q f i l l I n D A \r \t i f 0134160 s o f i r s t N e w P a g e = 0134200 f i r s t P a g e \r \t i f n 0134220 o t [ \r \t \t f i r s t P a g e 0134240 = A c t O n P a g e s ( C A s , 0134260 D A s , f i l e I d , f i 0134300 r s t P a g e , \r \t \t l a s 0134320 t P a g e , D C w r i t e , 0134340 l v N u m C h a r s , l a s t 0134360 A c 376 001 \0 ? h t i o n , \r \t \t 0134400 f i x e d C A ) \r \t \t i f f 0134420 i r s t P a g e e q l a s t 0134440 P a g e & ( l a s t A c t i 0134460 o n n e D C w r i t e % \r 0134500 \t \t r v l v N u m C h a r 0134520 s e q l a s t N u m C h a r 0134540 s ) t h e n \r \t \t \t r e s u l 0134560 t i s l a s t P a g e \r \t \t f 0134600 i r s t N e w P a g e = f i r s 0134620 t P a g e + 1 \r \t \t ] \r \r / / 0134640 c o d e t o a s s i g n m 0134660 o r e p a g e s \r / / s e t 0134700 u p e o f D A a s t h e 0134720 p a g e a f t e r t h e 0134740 e n d o f t h e f i l e \r 0134760 \r R e a d D i 376 001 \0 s 3 s k K d 0135000 ( ) \r \r \t [ \r \t l e t 0135020 s i n k = v e c # 4 0 0 \r \t 0135040 f o r i = f i r s t N e w P 0135060 a g e t o l a s t P a g e 0135100 d o \r \t \t D A s ! i = A s s i g 0135120 n D i s k P a g e ( D A s ! ( i 0135140 - 1 ) ) \r \t l e t j = A c 0135160 t O n P a g e s ( 0 , D A s , 0135200 f r e e P a g e I d , f i r 0135220 s t N e w P a g e , \r \t 0135240 l a s t P a g e , D C r e a d 0135260 L a b e l , 0 , 0 , s i n 0135300 k , C h e c k F r e e P a g e 0135320 ) \r \t f o r i = f i r s t 0135340 N e w P a g e t o l a s t P 0135360 a g e d o [ \r \t \t D 376 001 \0 " 0135400 241 A s ! f i r s t N e w P a g e 0135420 = D A s ! i \r \t \t i f D A s ! 0135440 i n e f i l l I n D A t h 0135460 e n \r \t \t f i r s t N e w P 0135500 a g e = f i r s t N e w P a g e 0135520 + 1 \r \t \t ] \r \t i f f i r 0135540 s t N e w P a g e g r l a s 0135560 t P a g e t h e n b r e a k 0135600 \r \t ] \r \t r e p e a t \r \r W 0135620 r i t e D i s k K d ( ) ; \r \r / 0135640 / a l l t h e p a g e s 0135660 h a v e b e e n c h e c k e 0135700 d . W r i t e l a b e l s 0135720 a n d d a t a \r / / \t l e 0135740 t s t a r t t i m e = v e 0135760 c 2 \r / / \t T I M E R ( s t 0136000 a 376 001 \0 . = r t t i m e ) \r \t [ 0136020 \r \t l e t z o n e = v e c C 0136040 B z o n e L e n g t h ; \r \t I n 0136060 i t i a l i z e C b S t o r a g 0136100 e ( z o n e , C B z o n e L e 0136120 n g t h , f i r s t P a g e , 0136140 \r \t W r e t r y , t r u e 0136160 ) \r W r e t r y : \t f o r i = 0136200 z o n e > > C B Z . c u r r e n 0136220 t P a g e t o l a s t P a g 0136240 e d o [ \r \t \t l e t c b = 0136260 G e t C b ( z o n e ) \r \t \t c b 0136300 > > C B . l a b e l . n e x t = 0136320 ( ( i e q l a s t P a g e 0136340 & l a s t N u m C h a r s n 0136360 e c h a r s P e r P a g e ) 0136400 % ( D A s 376 001 \0 q 211 ! ( i 0136420 + 1 ) e q f i l l I n D A ) 0136440 ? 0 , D A s ! ( i + 1 ) ) \r 0136460 \t \t c b > > C B . l a b e l . p 0136500 r e v i o u s = D A s ! ( i - 1 0136520 ) \r \t \t c b > > C B . l a b e l 0136540 . n u m C h a r s = ( i e q 0136560 l a s t P a g e ? \r \t \t l 0136600 a s t N u m C h a r s , c h a 0136620 r s P e r P a g e ) \r \t \t D o D 0136640 i s k C o m m a n d ( c b , ( 0136660 C A s e q 0 ? f i x e d 0136700 C A , C A s ! i ) , \r \t \t 0136720 D A s ! i , f i l e I d , i 0136740 , D C w r i t e L a b e l ) \r 0136760 \t \t ] \r \t w h i l e r v z o 0137000 n e > > C B Z . q u e 376 001 \0 : 333 0137020 u e H e a d n e 0 d o G 0137040 e t C b ( z o n e ) \r \t ] \r / / 0137060 \t i f v f l o p p y t h e 0137100 n \r / / \t \t w a i t f o r f d 0137120 ( D A s ! ( - 1 ) , f i r s 0137140 t P a g e , l a s t P a g e , s 0137160 t a r t t i m e ) ; \r \t r e s u 0137200 l t i s l a s t P a g e \r \t ] 0137220 \r \r \r \f \r a n d A s s i g n D 0137240 i s k P a g e ( r e a l P r e v 0137260 D A ) = v a l o f [ \r R e a d 0137300 D i s k K d ( ) \r \t l e t b a 0137320 s e = V i r t u a l D A ( r e a 0137340 l P r e v D A ) + 1 \r \t l e t 0137360 b a s e W a = b a s e < < w o r 0137400 d A d d r ; l e t b a s e B 0137420 376 001 \0 [ 346 a = b a s e < < b i t 0137440 A d d r \r \t l e t d i s k B i 0137460 t T a b l e = l v ( d i s 0137500 k K d > > K D . d i s k B i 0137520 t T a b l e ) \r \t l e t d i s 0137540 k B T s i z e = d i s k K d 0137560 > > K D . d i s k B T s i z 0137600 e ; \r \t l e t t d a = n i 0137620 l ; \r \t [ \r \t f o r w 0137640 a = b a s e W a t o d i s k 0137660 B T s i z e - 1 d o [ \r \t \t 0137700 l e t w = d i s k B i t T a b 0137720 l e ! w a \r \t \t i f w n e 0137740 a l l O n e s t h e n f o r 0137760 b a = b a s e B a t o w o 0140000 r d L e n g t h - 1 d o \r \t \t 0140020 i f 376 001 \0 O 005 ( w & o 0140040 n e B i t s ! b a ) e q 0 0140060 t h e n [ \r \t \t \t d i s k B i 0140100 t T a b l e ! w a = w % o n 0140120 e B i t s ! b a \r \t \t \t t d a 0140140 = R e a l D A ( w a * w o r 0140160 d L e n g t h + b a ) \r \t \t \t g 0140200 o t o A s s i g n e d \r \t \t \t 0140220 ] \r \t \t b a s e B a = 0 \r \t \t ] 0140240 \r \t i f b a s e W a e q 0140260 0 t h e n [ e r r h l t 0140300 a ( 2 4 9 ) ] r e p e a t \r 0140320 \t b a s e W a = 0 \r \t ] 0140340 \r \t r e p e a t \r A s s i g n e 0140360 d : \r \t d i s k K d > > K D 0140400 . b i t T a b l e C h a n g e d 0140420 = t r u e ; \r W 376 001 \0 ` 020 r 0140440 i t e D i s k K d ( ) ; \r r e s 0140460 u l t i s t d a \r \t ] \r \r a n 0140500 d R e l e a s e D i s k P a g 0140520 e ( r e a l D A ) b e [ \r R 0140540 e a d D i s k K d ( ) \r \t l e t 0140560 v = V i r t u a l D A ( r e a 0140600 l D A ) ; l e t w a = v < < 0140620 w o r d A d d r \r \t l e t d i 0140640 s k B i t T a b l e = l v 0140660 ( d i s k K d > > K D . d i 0140700 s k B i t T a b l e ) \r \t d i s 0140720 k B i t T a b l e ! w a = d i s 0140740 k B i t T a b l e ! w a & n 0140760 o t o n e B i t s ! ( v < < b 0141000 i t A d d r ) \r \t d i s k K d 0141020 > > K D . b i t T a b l e C 376 0141040 001 \0 027 310 h a n g e d = t r u 0141060 e ; \r W r i t e D i s k K d ( ) 0141100 ; \r \t ] \r \r \r a n d V i r t u 0141120 a l D A ( r e a l D A ) = ( \r 0141140 ( r e a l D A < < D A . d i s 0141160 k * n T r a c k s + r e a l D A 0141200 < < D A . t r a c k ) \r * n 0141220 H e a d s + r e a l D A < < D A 0141240 . h e a d ) \r * n S e c t o 0141260 r s + r e a l D A < < D A . s e 0141300 c t o r \r \r \r a n d B u g ( a 0141320 , b , c ) b e e r r h l 0141340 t a ( 2 4 7 ) \r \r \r / / S t 0141360 u f f s u p p l i e d b y 0141400 b f s \r / / m a n i f e s t 0141420 [ w o r d s P e r P a g e = # 0141440 4 0 0 ; 376 001 \0 320 246 c h a r s P 0141460 e r P a g e = w o r d s P e r P 0141500 a g e * 2 ] \r / / m a n i f 0141520