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