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