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