$ od -c -N 50000 [Indigo]<Spruce>13>Sprint.Bcpl!3 0000000 / / S p r i n t . B c p l - 0000020 l a s t m o d i f i e d : 0000040 F e b r u a r y 5 , 1 9 8 0000060 1 9 : 3 1 P M \r \r / / S 0000100 P R U C E M A I N P R I N T 0000120 I N G P R O C E D U R E \r / / 0000140 e r r o r s 2 6 0 0 , 5 0000160 0 0 0 ( P r i n t r e p o r 0000200 t s ) \r / / g e t " S p r u c 0000220 e . d " m a d e t o o 0000240 b i g d i c t i o n a r y \r \t 0000260 g e t " S p r u c e I n L d O 0000300 u t L d . d " \t \t / / I n L d 0000320 / O u t L d m e s s a g e s 0000340 f o r s p o o l e r < - > 0000360 s e r v i c e c o m m u n i c 0000400 a t i o n \r \t g e t " S p r u 0000420 c e d o c . d " \r \t g e t " s 0000440 p r u c e M i s c . d " \r \t g e 0000460 t " s p r u c e P r i n t e r 0000500 s . d " \t / / J u s t f o r 0000520 m a x B i n s v a l u e \r g e 0000540 t " S p r u c e F i l e s . d 0000560 " \r g e t " P r e s s F i l e 0000600 . d " \r g e t " A l t o f i l 0000620 e s y s . d " \r \r / / o u t g 0000640 o i n g p r o c e d u r e s \r 0000660 e x t e r n a l \r \t [ \r \t S p r 0000700 i n t \r \t D o B r e a k P a g e 0000720 \r \t ] \r \r / / i n c o m i n g 0000740 s t a t i c s \r \r e x t e r n 0000760 a l \r \t [ \r / / F i l e s , d 0001000 i s k s \r \t B a n d F i l e ; 0001020 M e t e r F i l e ; F o n t F 0001040 i l e ; R u n F i l e \r \t C h 0001060 e c k F p \r \t F o n t W i n d o 0001100 w \r \t l o g B a n d R e c o r d 0001120 S i z e \r \t s p r i n t F P R D 0001140 ; s p r u c e F P R D \r \t i n 0001160 M s g ; o u t M s g \r \t D P z 0001200 e r o \t \t \t / / D o u b l e p 0001220 r e c i s i o n z e r o \r \t U 0001240 s e M i c r o C o d e \t \t / / F 0001260 l a g t o u s e m i c r o 0001300 c o d e f a c i l i t i e s \r 0001320 \t D e b u g \t \t \t / / O n i f 0001340 d e b u g g i n g \r \t D e b u 0001360 g S y s t e m \r \t W h i c h \r \t 0001400 S p r i n t S a v e d U F P \r \t 0001420 S p r i n t V e r s i o n \t \t / 0001440 / V e r s i o n n u m b e r 0001460 = a . b = a * 2 5 6 + b \r \t 0001500 D o E t h e r R e p o r t \t \t / 0001520 / T r u e i f l o g e r r 0001540 o r s o n M A X C W h a t 0001560 ? ? ? \r \t R e p o r t \t \t \t / / 0001600 P o i n t e r t o R E P s 0001620 t r u c t u r e f o r E t h 0001640 e r r e p o r t i n g \r \t b r 0001660 e a k P a g e \r \t p r i n t D a 0001700 t e S t r i n g \r \t p r i n t e 0001720 r D e v i c e \r \t N u m B i n s 0001740 \r \r / / F r e e s t o r a g e 0001760 s t u f f \r \t S p r u c e Z o 0002000 n e \t \t / / Z o n e t o u s 0002020 e f o r a l l f r e e s 0002040 t o r a g e \r \t P e r m a n e n 0002060 t B o t t o m \t / / B o t t o m 0002100 o f " p e r m a n e n t " 0002120 f r e e s t o r a g e \r \t O v 0002140 e r l a y T o p \t \t / / P l a c 0002160 e w h e r e l a s t w o r 0002200 d o f o v e r l a y i s \r 0002220 \r / / I n f o f r o m s p 0002240 o o l e r \r \t n u m F i l e s S 0002260 p o o l e d ; n u m M u s t P 0002300 r i n t \r \t S p o o l V e c \r \t 0002320 p r i n t D o c \r \r / / P r i 0002340 n t C o u n t \r \t n u m P r i 0002360 n t e d \r \t e r r o r P e n d i 0002400 n g \r \t d r i v e 1 D i s k \r \t 0002420 s t a t u s O f 3 1 s \r \t t r i 0002440 d e n t U s e d \r \t t r i d e n 0002460 t D i s k \r \t t r i d e n t D r 0002500 i v e \r \t e a r M a s k \r \t t i 0002520 c k M a s k \r \t B i n S e r i a 0002540 l s \r \r / / d e f i n e d 0002560 h e r e \r \t s t o p s P r i n t 0002600 i n g ; b r e a k P a g e C o 0002620 p y \r \t ] \r \r / / i n c o m 0002640 i n g p r o c e d u r e s \r \r 0002660 e x t e r n a l \r \t [ \r / / M a 0002700 i n p r o c e d u r e s f o 0002720 r t h e v a r i o u s p a 0002740 s s e s . \r \t S p r i n t I n s 0002760 t a l l \r \t I n t e r p r e t \r 0003000 \t P r i n t \r \t P r i n t I n i 0003020 t \r \t P r i n t S e t P a r a m 0003040 e t e r s \r \t F o r c e B r e a 0003060 k P a g e \r / / \t V a l i d a t 0003100 e F o n t s \t \t / / C h e c k 0003120 s a l l o f S p r u c e . 0003140 f o n t s , i f v a l i d a 0003160 t e r o u t i n e s l o a d 0003200 e d \r \r / / S p r u c e s t r 0003220 e a m s \r \t W i n d o w G e t P 0003240 o s i t i o n \r \t W i n d o w S 0003260 e t B o u n d s \r \t W i n d o w 0003300 R e a d B l o c k \r \t W i n d o 0003320 w R e a d B y t e \r \t W i n d o 0003340 w R e a d \r \t W i n d o w W r i 0003360 t e \r \t I n i t S p r u c e F i 0003400 l e \r \r / / C h e c k p o i n 0003420 t s \r \t C h e c k P o i n t \r \t 0003440 R e s t o r e F r o m C h e c k 0003460 P o i n t \r \t R e l e a s e C h 0003500 e c k L e v e l \r \t I n i t C h 0003520 e c k Z o n e \r \t A c t O n E n 0003540 t r y \r \r / / S p r u c e U 0003560 t i l i t i e s \r \t C u r s o r 0003600 C h a r \r \t F S G e t X ; F S 0003620 I n i t ; F S P u t \r \t R e c 0003640 l a i m \r \t I n i t R a m \r \t E 0003660 a r O n \r \t M a x \r \t O v e r l 0003700 a y ; L o a d B a s e ; I s 0003720 O v e r l a y P r e s e n t \r \t 0003740 S p r u c e E r r o r ; S p r 0003760 u c e C o n d i t i o n \r \t D i 0004000 s a b l e C o m m e n t s \r \t S 0004020 e t u p D r i v e \r \t L o a d O 0004040 r b i t M C ; L o a d S h o w 0004060 M C \r \r / / M E T E R \r \t M e t 0004100 e r B l o c k ; M e t e r C l 0004120 o s e \r \r / / O S \r \t M o v e B 0004140 l o c k \r \t S t a r t I O \r \t S 0004160 y s E r r \r \t M y F r a m e \r \t 0004200 O u t L d \r \t I n L d \r \t Z e r 0004220 o \r \t C a l l S w a t \r \t G o t 0004240 o L a b e l \r \t A l l o c a t e 0004260 \r \r / / A l l o c \r \t I n i t i 0004300 a l i z e Z o n e \r \r / / T i m 0004320 e p a c k a g e \r \t C O N V U 0004340 D T \r \r / / S P R U C E M L \r \t 0004360 D o u b l e A d d ; D o u b l 0004400 e S u b ; D o u b l e C o p ; 0004420 M u l D i v \r \r / / O t h e 0004440 r \r \t D i s a b l e I n t e r r 0004460 u p t s ; E n a b l e I n t e 0004500 r r u p t s \r \t P a g e D a t a 0004520 \r \t P o l l E t h e r \r \t S w a 0004540 p O n S p o o l R e q u e s t ; 0004560 S w a p S y s t e m \r \r / / 0004600 T F S \r \t T F S S e t D i s k \r 0004620 \t T F S T r y D i s k \r \r \t r e 0004640 s t a r t F r a m e \r \t d i d C 0004660 o n t i n u e \r \t ] \r \r s t a t 0004700 i c [ b r e a k P a g e C o 0004720 p y ; s t o p s P r i n t i n 0004740 g ] \r \r l e t S p r i n t 0004760 ( l a y o u t , u s e r P a r 0005000 a m s , r u n C f a ; n u m 0005020 a r g s n ) b e \r [ S p r 0005040 i n t \r D P z e r o = t a b l 0005060 e [ 0 ; 0 ] \r C h e c k F 0005100 p = t a b l e [ 0 ; 0 0005120 ; 0 ; 0 ; 0 ; 0 ] / 0005140 / F P f o r C h e c k P o 0005160 i n t F i l e . \r M o v e B l o 0005200 c k ( C h e c k F p , l a y o 0005220 u t , l F P ) \r \r / / F i r 0005240 s t , c a l l i n i t i a l 0005260 i z a t i o n r o u t i n e . 0005300 I t w i l l c a l l S 0005320 p r i n t ( ) w h e n i t 0005340 i s f i n i s h e d . \r i f 0005360 n t h e n S p r i n t I n s 0005400 t a l l ( l a y o u t , r u n 0005420 C f a ) \r d i d C o n t i n u e 0005440 = t r u e / / f o r c e 0005460 O u t L d f i r s t t i m 0005500 e \r r e s t a r t F r a m e = 0005520 M y F r a m e ( ) \r B i n S e 0005540 r i a l s = 0 / / c a 0005560 u s e a l l o c a t i o n o 0005600 f t a b l e t h e f i r s 0005620 t t i m e \r / / | | O v e r 0005640 l a y s t a t e : n o o v 0005660 e r l a y s p r e s e n t \r / 0005700 / M a i n L o o p \r \t [ P r 0005720 i n t \r \t e x t e r n a l R e 0005740 s t a r t S p r i n t \r \t / / | 0005760 | N o O v e r l a y s | | 0006000 \r \t L o a d B a s e ( ) \r \t / / 0006020 | | O V B a s e , O V I n i 0006040 t | | \r \t F S I n i t ( ) \r \t 0006060 u n l e s s B i n S e r i a l 0006100 s d o / / a l l o c a t 0006120 e B i n S e r i a l s t h e 0006140 f i r s t t i m e t h r o 0006160 u g h \r \t \t [ \r \t \t B i n S e r 0006200 i a l s = F S G e t X ( m a x B 0006220 i n s , S p r u c e Z o n e , 0006240 5 0 ) \r \t \t N u m B i n s = m 0006260 a x B i n s / / t h i s i 0006300 s w r o n g , b u t f u t 0006320 u r e c h e c k p o i n t s 0006340 w i l l c o r r e c t i t \r 0006360 \t \t ] \r \t C h e c k P o i n t ( 0006400 L E V R u n , L E V R u n ) 0006420 / / s a v e a w a y t h e 0006440 B i n S e r i a l s t a b l e 0006460 \r \t S w a p S y s t e m ( f a l 0006500 s e ) \r \t R e s t a r t S p r i 0006520 n t : \r \t C u r s o r C h a r ( 0006540 $ I ) \r \t / / | | O v e r l a 0006560 y s t a t e : p r a c t i c 0006600 a l l y a n y c o n f i g u 0006620 r a t i o n i s p o s s i b 0006640 l e h e r e | | \r \t L o a d 0006660 B a s e ( ) \r \t / / | | ( O V T 0006700 8 0 ) , O V B a s e , O V I 0006720 n i t | | \r \t Z e r o ( o u t 0006740 M s g , 1 8 ) / / a s s u 0006760 m e s 1 8 = l I n L d M 0007000 e s s a g e \r \t n u m P r i n t 0007020 e d = 0 \r \t s p r u c e F P 0007040 R D = i n M s g \t \t / / a 0007060 s i t w e r e \r \t D i s a b 0007100 l e C o m m e n t s ( ) \t \t / / 0007120 n o b r e a k p a g e c 0007140 o m m e n t s e x i s t \r R e 0007160 l e a s e C h e c k L e v e l ( 0007200 L E V S h a r e d I n i t S t a 0007220 t i c s ) \t / / T h r o w o 0007240 u t a l m o s t e v e r y t 0007260 h i n g ! \r \t R e s t o r e F r 0007300 o m C h e c k P o i n t ( L E V 0007320 S h a r e d V e r s i o n s , 0007340 L E V S h a r e d V e r s i o n 0007360 s ) / / U p - t o - d a t e 0007400 v e r s i o n s \r \t R e s t o 0007420 r e F r o m C h e c k P o i n t 0007440 ( L E V S h a r e d I n i t S t 0007460 a t i c s , L E V R u n ) / 0007500 / R e t r i e v e b a s i c 0007520 i n f o \r \t R e s t o r e F r 0007540 o m C h e c k P o i n t ( L E V 0007560 E t e r n a l S t a t i c s , 0007600 L E V E t e r n a l S t a t i c 0007620 s ) \r \t s t o p s P r i n t i n 0007640 g = f a l s e \r \t b r e a k 0007660 P a g e C o p y = 1 \r \t i f 0007700 ( D e b u g S y s t e m & 1 ) 0007720 n e 0 t h e n C a l l S 0007740 w a t ( " S p r i n t : R e t 0007760 u r n f r o m I n L d " ) \r 0010000 \t / / | | ( O V T 8 0 ) , O 0010020 V B a s e , O V I n i t ; m 0010040 a y n o t m a t c h t r i 0010060 d e n t U s e d r e q u i r e 0010100 m e n t s | | \r \t t r i d e n 0010120 t D i s k = 0 ; i f t r 0010140 i d e n t U s e d t h e n \r \t 0010160 \t [ \r \t \t L o a d B a s e ( ) \r 0010200 \t \t l e t c p Z o n e = I 0010220 n i t C h e c k Z o n e ( ) \r \t 0010240 \t S e t u p D r i v e ( D I S K 0010260 T 8 0 , c p Z o n e ) \r \t \t i 0010300 f t r i d e n t D i s k e q 0010320 0 % T F S T r y D i s k ( 0010340 t r i d e n t D r i v e ) n e 0010360 1 t h e n S p r u c e E r 0010400 r o r ( 2 6 0 0 ) \r \t \t ] \r \t d 0010420 r i v e 1 D i s k = 0 ; i 0010440 f s t a t u s O f 3 1 s e q 0010460 1 t h e n \r \t \t [ \r \t \t l e 0010500 t c p Z o n e = I n i t C 0010520 h e c k Z o n e ( ) \r \t \t S e t 0010540 u p D r i v e ( D I S K 3 1 B , 0010560 c p Z o n e ) \r \t \t ] \r / / 0010600 S p r u c e Z o n e i s N 0010620 O T s e t u p \r / / \t S p r 0010640 u c e Z o n e m u s t b e 0010660 s e t u p ! \r \t S p r u c e Z 0010700 o n e = I n i t i a l i z e 0010720 Z o n e ( O v e r l a y T o p + 0010740 1 , 3 0 0 0 ) \r \t l e t c p 0010760 Z o n e = I n i t C h e c k 0011000 Z o n e ( ) \r \t p r i n t D a t 0011020 e S t r i n g = A l l o c a t e 0011040 ( c p Z o n e , 1 5 ) \r \t C O N 0011060 V U D T ( p r i n t D a t e S t 0011100 r i n g , 0 , t r u e ) \r / / 0011120 | | ( O V T 8 0 ) , O V B a 0011140 s e , O V I n i t | | \r \t P 0011160 r i n t I n i t ( 0 ) \t \t / / 0011200 S t a r t p r i n t e r , i 0011220 n i t i a l i z e n L e a d i 0011240 n g , n T r a i l i n g B a n 0011260 d s \r \t l o g B a n d R e c o r 0011300 d S i z e = B a n d F i l e 0011320 > > S P r u c e F i l e . l n P 0011340 a g e S i z e \r / / P r i n t 0011360 u p t o n u m F i l e s S 0011400 p o o l e d d o c u m e n t s 0011420 \r / / f o r n u m P r i n t 0011440 e d = 0 t o n u m F i l 0011460 e s S p o o l e d - 1 d o - 0011500 - l o o p c o n t r o l l e 0011520 d f r o m w i t h i n \r \t 0011540 \t [ P r i n t O n e \r \t \t i f 0011560 n u m P r i n t e d g e n 0011600 u m F i l e s S p o o l e d b 0011620 r e a k \r \t \t b r e a k P a g e 0011640 C o p y = 1 \r / / | 0011660 | ( O V T 8 0 ) , e i t h e 0011700 r ( O V B a s e & ( O V I n t 0011720 e r p e t o r O V I n i t ) 0011740 ) o r O V P r i n t | | \r 0011760 \t \t L o a d B a s e ( ) 0012000 / / | | ( O V T 8 0 ) , O V 0012020 B a s e , O V I n i t | | \r 0012040 / / p r i n t D o c 0012060 _ D o c G f r o m c h e c 0012100 k p o i n t \r \t \t R e l e a s 0012120 e C h e c k L e v e l ( L E V R 0012140 u n D o c s ) / / R e l e a 0012160 s e i f t h e r e i s a 0012200 n y \r / / \t \t R e s t o r e F r 0012220 o m C h e c k P o i n t ( L E V 0012240 R u n D o c s , L E V R u n D 0012260 o c s , n u m P r i n t e d + 0012300 1 ) \r \t \t R e c l a i m ( ) \r \t 0012320 \t A c t O n E n t r y ( S p o o 0012340 l V e c ! ( n u m P r i n t e d 0012360 + 1 ) , t r u e ) \t / / g e 0012400 t e n t r y i n t o c o r 0012420 e \r \t \t S w a p O n S p o o l R 0012440 e q u e s t ( ) / / ~ ~ r 0012460 e m o v e w h e n i n t e r 0012500 r u p t s r e s t o r e d \r 0012520 / / I f u s e r h a s 0012540 s p e c i f i e d a c o p 0012560 y c o u n t , w i l l b e 0012600 n e e d e d f o r r e p r 0012620 i n t i n g , p e r h a p s 0012640 ( e v e n t h o u g h d o c 0012660 u m e n t d i r e c t o r y 0012700 i s n o t r e - r e a d ) \r 0012720 \t \t l e t o v e r R i d e C o 0012740 p i e s = p r i n t D o c > > D 0012760 o c G . n C o p i e s \r \r 0013000 / / P a r a m e t e r s s e 0013020 t u p a t t h i s p o i 0013040 n t f a l l i n t o t w o 0013060 c l a s s e s : \r / / 0013100 C O N S T A N T : r e l a t e 0013120 t o p r i n t e r o r i 0013140 n s t a l l a t i o n r e q u 0013160 i r e m e n t s ( R e s o l u 0013200 t i o n S , R e s o l u t i o 0013220 n B , P a p e r D i m e n s i 0013240 o n X , F A ) \r / / F 0013260 I L E : r e l a t e t o t 0013300 h e p a r t i c u l a r P r 0013320 e s s f i l e : a l l a r 0013340 e c o n t a i n e d \t i n t 0013360 h e D o c G s t r u c t u r 0013400 e p o i n t e d t o b y 0013420 p D o c \r / / \t P r e s s 0013440 F i l e : a f i l e s t r 0013460 u c t u r e f o r t h e f 0013500 i l e t o b e p r i n t e 0013520 d ( o r - 1 f o r r e p 0013540 r i n t i n g ) \r / / \t n 0013560 C o p i e s ( S t a n d - a l 0013600 o n e o n l y - - n o w 0013620 a y f o r u s e r t o s 0013640 p e c i f y v i a E F T P / 0013660 P r e s s ) \r / / \t X O f 0013700 f s e t , Y O f f s e t , S c a 0013720 l e O f f s e t : p e r t u r 0013740 b p a g e p l a c e m e n t 0013760 \r / / \t U s e r P a g e S 0014000 t a r t , U s e r P a g e E n d 0014020 : p a g e r a n g e s \r 0014040 \r \t \t c o m p i l e i f R 0014060 e p o r t S w t h e n [ G 0014100 e t T i m e ( l v R e p o r t 0014120 > > R E P . t o t a l T i m e ) 0014140 ] \r / / S u p p l y 0014160 d e f a u l t s f o r p r 0014200 i n t i n g p a r a m e t e r 0014220 s n o t s u p p l i e d b 0014240 y u s e r \r \t \t l e t p D 0014260 o c = p r i n t D o c / / 0014300 ~ ~ h i s t o r i c a l n 0014320 o m e n c l a t u r e \r \t \t p D 0014340 o c > > D o c G . U s e r P a g 0014360 e S t a r t = M a x ( 1 , 0014400 p D o c > > D o c G . U s e r P 0014420 a g e S t a r t ) \r \t \t u n l e 0014440 s s p D o c > > D o c G . U s 0014460 e r P a g e E n d d o p D o 0014500 c > > D o c G . U s e r P a g e 0014520 E n d = 1 0 0 0 \r \t \t p D o 0014540 c > > D o c G . U s e r P a g e 0014560 E n d = M a x ( p D o c > > 0014600 D o c G . U s e r P a g e S t a 0014620 r t , p D o c > > D o c G . U 0014640 s e r P a g e E n d ) \r \t \t l 0014660 e t r e p r i n t , o v e r 0014700 R i d e D u p l e x , o v e r 0014720 R i d e P a g e S t a r t , o 0014740 v e r R i d e P a g e E n d = 0014760 f a l s e , f a l s e , 0 0015000 , 0 \r \r i f ( D e b 0015020 u g S y s t e m & 2 ) e q 0 0015040 t h e n / / I n h i b i t 0015060 p r o c e s s i n g i f D 0015100 e b u g S y s t e m ' s 2 b 0015120 i t i s o \0 \0 \r \t \t \t [ D 0015140 o P r i n t \r \t \t \t / / 0015160 O b t a i n B a n d P r o 0015200 c e s s i n g C o d e \r 0015220 \t \t \t / / | | ( O V T 8 0 ) 0015240 , O V B a s e , O V I n i t 0015260 | | \r \t \t \t l e t b a s e L 0015300 e v P 1 = I s O v e r l a y 0015320 P r e s e n t ( O V B a s e ) + 0015340 1 \r \t \t \t l e t r e p r i n t 0015360 = f a l s e \r \t \t \t t e s t 0015400 p D o c > > D o c G . P r e s 0015420 s F i l e n e - 1 t h e n 0015440 / / e l s e r e p r i n t 0015460 , p o w e r o n , o r p 0015500 o w e r o f f \r \t \t \t \t [ \r \t 0015520 \t \t \t O v e r l a y ( O V I n t 0015540 e r p r e t , b a s e L e v P 0015560 1 , l v L o a d S h o w M C 0015600 ) \r \t \t \t \t O v 0 : \r \t \t \t \t 0015620 i f ( D e b u g S y s t e m & 0015640 # 1 0 0 ) n e 0 t h e n 0015660 C a l l S w a t ( " S p r i n t 0015700 : O v 0 " ) \r \t \t \t \t F S I n 0015720 i t ( ) \r \t \t \t \t I n t e r p r 0015740 e t ( p D o c ) \r \t \t \t \t ] \r 0015760 \t \t \t o r \t [ \r \t \t \t \t l e t 0016000 d i r e c t i v e = p D o c 0016020 > > D o c G . p r i n t e r D i 0016040 r e c t i v e \r \t \t \t \t s w i t 0016060 c h o n d i r e c t i v e 0016100 i n t o / / S e e S p r u 0016120 c e I n i t f o r S p r u c 0016140 e c o m m a n d s l e a d i 0016160 n g t o d i r e c t i v e s 0016200 \r \t \t \t \t \t [ \r \t \t \t \t \t c a s 0016220 e 0 : \r \t \t \t \t \t c a s e 1 0016240 0 0 : \r \t \t \t \t \t \t O v e r l a 0016260 y ( O V I n t e r p r e t , b 0016300 a s e L e v P 1 , l v L o a 0016320 d S h o w M C ) \r \t \t \t \t \t \t F 0016340 S I n i t ( ) ; d o c a s e 0016360 d i r e c t i v e + 1 0 0 0 \r \t 0016400 \t \t \t \t c a s e 1 0 0 0 : / 0016420 / c a s e 0 , e x t e n d 0016440 e d \r \t \t \t \t \t \t I n i t S p r 0016460 u c e F i l e ( B a n d F i l e 0016500 , 0 , 0 ) ; \r \t \t \t \t \t \t o 0016520 v e r R i d e P a g e S t a r t 0016540 = p D o c > > D o c G . U s 0016560 e r P a g e S t a r t \r \t \t \t \t 0016600 \t \t o v e r R i d e P a g e E n 0016620 d = p D o c > > D o c G . U 0016640 s e r P a g e E n d \r \t \t \t \t \t 0016660 \t o v e r R i d e D u p l e x 0016700 = p D o c > > D o c G . d u p 0016720 l e x \r \t \t \t \t \t \t r e p r i 0016740 n t = t r u e ; e n d c a 0016760 s e / / p r e p a r e f 0017000 o r r e p r i n t \r \t \t \t \t \t 0017020 / / r e m o v e d c a l l 0017040 t o V a l i d a t e F o n t s 0017060 ( ) \r \t \t \t \t \t c a s e 1 1 0 0017100 0 : d o c a s e - 1 / / 0017120 c a s e 1 0 0 , e x t e n d 0017140 e d \r \t \t \t \t \t d e f a u l t : 0017160 / / P o w e r o n o r 0017200 o f f \r \t \t \t \t \t \t P r i n t I 0017220 n i t ( d i r e c t i v e ) ; 0017240 / / d o c a s e - 1 \r \t \t \t 0017260 \t \t c a s e - 1 : o u t M s 0017300 g > > T O S p o o l e r M s g . 0017320 n u m P r i n t e d = 1 ; 0017340 b r e a k \r \t \t \t \t \t ] \r \t \t \t 0017360 \t ] \r / / P R I N T \r 0017400 \t \t \t / / | | ( O V T 8 0 ) , 0017420 O V B a s e , O V I n t e r 0017440 p r e t | | \r \t \t \t p D o c = 0017460 P a g e D a t a ( 0 ) \t \t / / R 0017500 e a d i n t h e g o o d i 0017520 e s - - d e s t r o y s S 0017540 p r u c e Z o n e \r \t \t \t O v e 0017560 r l a y ( O V P r i n t , I s 0017600 O v e r l a y P r e s e n t ( O 0017620 V T 8 0 ) + 1 , l v L o a d 0017640 O r b i t M C ) \r \t \t \t / / | | 0017660 ( O V T 8 0 ) , O V P r i n 0017700 t | | \r \t \t O v 1 : \r \t \t 0017720 \t i f ( D e b u g S y s t e m 0017740 & # 2 0 0 ) n e 0 t h e n 0017760 C a l l S w a t ( " S p r i n 0020000 t : O v 1 " ) \r \t \t \t i f o 0020020 v e r R i d e C o p i e s t h 0020040 e n p D o c > > D o c G . n C 0020060 o p i e s = o v e r R i d e C o 0020100 p i e s \r \t \t \t l e t n P r i 0020120 n t e d = 0 \r \t \t \t i f r e p 0020140 r i n t d o \r \t \t \t \t [ \r \t \t 0020160 \t \t i f o v e r R i d e P a g 0020200 e S t a r t > p D o c > > D 0020220 o c G . U s e r P a g e S t a r 0020240 t d o \r \t \t \t \t \t [ n P r i 0020260 n t e d = o v e r R i d e 0020300 P a g e S t a r t - p D o c 0020320 > > D o c G . U s e r P a g e S 0020340 t a r t - 1 \r \t \t \t \t \t p D o 0020360 c > > D o c G . U s e r P a g e 0020400 S t a r t = o v e r R i d e 0020420 P a g e S t a r t ] \r \t \t \t \t 0020440 i f o v e r R i d e P a g e E 0020460 n d < p D o c > > D o c G . 0020500 U s e r P a g e E n d d o \r \t 0020520 \t \t \t \t p D o c > > D o c G . U 0020540 s e r P a g e E n d = o v e 0020560 r R i d e P a g e E n d \r \t \t \t 0020600 \t p D o c > > D o c G . n P a g 0020620 e s = p D o c > > D o c G . 0020640 U s e r P a g e E n d - p D o 0020660 c > > D o c G . U s e r P a g e 0020700 S t a r t + \r \t \t \t \t \t b r 0020720 e a k P a g e + 1 \r \t \t \t \t p 0020740 D o c > > D o c G . d u p l e x 0020760 = o v e r R i d e D u p l e 0021000 x \r \t \t \t \t ] \r \t \t \t \t [ \r \t \t 0021020 \t \t l e t r e p o r t = n 0021040 i l \r \t \t \t \t E a r O n ( 2 ) 0021060 / / d u t y c y c l e l i 0021100 m i t e d ; r c v r t u r n 0021120 e d o n o n l y b y " t 0021140 i c k " c o d e \r \t \t \t \t l e 0021160 t o l d P e r m B o t = P 0021200 e r m a n e n t B o t t o m 0021220 / / ~ ~ o u t r a g e o u s 0021240 \r \t \t \t \t n P r i n t e d = 0021260 P r i n t ( p D o c , n P 0021300 r i n t e d , l v r e p o r 0021320 t ) \r \t \t \t \t P e r m a n e n t 0021340 B o t t o m = o l d P e r m 0021360 B o t / / ~ ~ o u t r a g 0021400 e o u s \r \t / / i f s o m e 0021420 o n e k n o c k e d a n d 0021440 w e a r e d e f e r r i n g 0021460 t o t h e s p o o l e r , 0021500 n P r i n t e d g e 0 a 0021520 n d r e p o r t = 0 \r \t / 0021540 / e l s e i f n P r i n t 0021560 e d g e 0 , r e p o r t 0021600 t e l l s o f a m a j o r 0021620 b u g t h a t s t o p p e 0021640 d t h i n g s o r a m i 0021660 n o r o n e \r \t / / t h a t 0021700 w e ' r e r e p o r t i n g 0021720 n o w t h a t a l l i s 0021740 d o n e . I n t h e l a 0021760 s t c a s e , n P r i n t e 0022000 d i s s u c h \r \t / / t 0022020 h a t p r i n t i n g w i l 0022040 l t e r m i n a t e i m m e 0022060 d i a t e l y o n c l o s i 0022100 n g t h e l o o p ~ ~ ~ ~ 0022120 ~ ! \r \t \t \t \t i f n P r i n t 0022140 e d < 0 % ( r e p o r t & 0022160 D e b u g ) t h e n [ E 0022200 a r O n ( 1 ) ; b r e a k ] 0022220 / / g o o d , o r e r r o 0022240 r b u t d e b u g g i n g \r 0022260 \t \t \t \t t e s t r e p o r t 0022300 t h e n S p r u c e C o n d i 0022320 t i o n ( 5 0 0 0 + r e p o r t 0022340 , E C E n g i n e T e r m i n a 0022360 t e ) \r \t \t \t \t \t o r S w a p 0022400 O n S p o o l R e q u e s t ( ) 0022420 / / o f w h i c h w e 0022440 k n o w t h e r e i s o n 0022460 e \r \t \t \t \t P r i n t S e t P a 0022500 r a m e t e r s ( 0 ) / / R 0022520 e t u r n i n g a f t e r p 0022540 e r h a p s a l o n g t i 0022560 m e \r \t \t \t \t ] r e p e a t 0022600 / / w i l l l o o p a f t 0022620 e r r e t u r n f r o m I 0022640 n L d \r \r \t \t \t / / A n d f 0022660 i n i s h s t a t i s t i c s 0022700 : \r \t \t \t c o m p i l e i f R 0022720 e p o r t S w t h e n [ R 0022740 e p o r t > > R E P . S u c c e 0022760 s s = t r u e ] \r \t \t \t c o m 0023000 p i l e i f R e p o r t S w 0023020 & M e t e r S w t h e n [ 0023040 M e t e r B l o c k ( M E T E 0023060 R R e p , R e p o r t , s i 0023100 z e R E P / 1 6 ) ] \r \t \t \t 0023120 c o m p i l e i f M e t e r S 0023140 w t h e n [ M e t e r C l 0023160 o s e ( ) ] \r \t \t \t ] D o P r 0023200 i n t \r \t \t n u m P r i n t e d 0023220 = n u m P r i n t e d + 0023240 1 \r \t \t o u t M s g > > T O S p 0023260 o o l e r M s g . n u m P r i n 0023300 t e d = n u m P r i n t e d 0023320 \r \t \t o u t M s g > > T O S p o 0023340 o l e r M s g . l a s t P r i n 0023360 t e d C o d e = p D o c > 0023400 > D o c G . P r e s s F i l e > 0023420 > S P r u c e F i l e . f i l e 0023440 C o d e \r \t \t ] P r i n t O n e 0023460 r e p e a t / / l o o p 0023500 n u m P r i n t e d t o n u 0023520 m F i l e s S p o o l e d \r \t 0023540 o u t M s g > > T O S p o o l e 0023560 r M s g . c o m p l e t i o n C 0023600 o d e = C C F i n i s h e d 0023620 \r \t ] P r i n t r e p e a t \r 0023640 ] S p r i n t \r \r / / T h i s 0023660 i s h e r e b e c a u s e 0023700 F o r c e B r e a k P a g e 0023720 i s i n t h e o t h e r 0023740 o v e r l a y f r o m P r i 0023760 n t \r a n d D o B r e a k P a 0024000 g e ( ) b e \r \t [ \r \t F o r c 0024020 e B r e a k P a g e ( p r i n t 0024040 D o c ) \t / / ~ ~ d i r t y 0024060 p D o c c o n v e n t i o n 0024100 s \r \t l e t p D o c = P a g e 0024120 D a t a ( 0 ) \t \t / / R e a d 0024140 i n t h e g o o d i e s - 0024160 - d e s t r o y s S p r u c 0024200 e Z o n e \r \t / / | | ( O V T 0024220 8 0 ) , O V B a s e , O V I 0024240 n t e r p r e t \r \t O v e r l a 0024260 y ( O V P r i n t , I s O v e 0024300 r l a y P r e s e n t ( O V T 8 0024320 0 ) + 1 , l v L o a d O r b 0024340 i t M C ) / / | | ( O V T 8 0024360 0 ) , O V P r i n t | | \r 0024400 O v 1 E r r : \r \t p r i 0024420 n t D o c = p D o c \t / / 0024440 ~ ~ j u s t i n c a s e \r 0024460 \t l e t n P r i n t e d = 0 \r 0024500 \r \t \t [ \r \t \t l e t r e p o r 0024520 t = n i l \r \t \t E a r O n ( 0024540 2 ) / / d u t y c y c l e 0024560 l i m i t e d ; r c v r t 0024600 u r n e d o n o n l y b y 0024620 " t i c k " c o d e \r \t \t l 0024640 e t o l d P e r m B o t = 0024660 P e r m a n e n t B o t t o m 0024700 / / ~ ~ o u t r a g e o u 0024720 s \r \t \t n P r i n t e d = 0024740 P r i n t ( p D o c , n 0024760 P r i n t e d , l v r e p o 0025000 r t ) \r \t \t E a r O n ( 1 ) \r \t 0025020 \t P e r m a n e n t B o t t o m 0025040 = o l d P e r m B o t / / 0025060 ~ ~ o u t r a g e o u s \r \t 0025100 \t i f n P r i n t e d < 0 0025120 % D e b u g r e t u r n \r 0025140 \t \t S p r u c e C o n d i t i o 0025160 n ( 5 0 0 0 + r e p o r t , E C 0025200 E n g i n e T e r m i n a t e ) 0025220 \r \t \t ] r e p e a t \r \t ] 0025240 \r / / D C S , J u l y 2 7 0025260 , 1 9 7 7 1 0 : 0 0 P M 0025300 , d e r i v e d ( l o o s e 0025320 l y ) f r o m " P r e s s " 0025340 v e r s i o n o f S p r u 0025360 c e \r / / J u l y 2 8 , 1 0025400 9 7 7 1 0 : 2 4 A M , s 0025420 p r u c e u p e n o u g h 0025440 t o r u n i n i t i a l t 0025460 e s t \r / / J u l y 2 9 , 0025500 1 9 7 7 3 : 0 4 P M , d 0025520 o n ' t c h a n g e f i n i 0025540 s h p r o c u n t i l R a 0025560 m i s l o a d e d \r / / J 0025600 u l y 3 0 , 1 9 7 7 1 0 0025620 : 1 2 P M , r e p a i r r 0025640 a n d o m b u g s t o f i 0025660 r s t w o r k i n g S p o o 0025700 l e d p r i n t e r ! \r / / 0025720 A u g u s t 2 , 1 9 7 7 0025740 1 2 : 1 0 A M , a d d r e 0025760 p r i n t , p o w e r o n , 0026000 p o w e r o f f \r / / A u 0026020 g u s t 7 , 1 9 7 7 1 2 0026040 : 4 0 P M , p u t i n a 0026060 p p r o x . t o f i n a l 0026100 e r r o r m a n a g e m e n t 0026120 . \r / / A u g u s t 2 2 , 0026140 1 9 7 7 5 : 2 3 P M , D 0026160 e b u g S y s t e m t a k e s 0026200 o n b i t b y b i t m 0026220 e a n i n g \r / / \t ( s e e S 0026240 h a r e d S t a t i c s ) \r / / 0026260 A u g u s t 2 8 , 1 9 7 7 0026300 7 : 3 5 A M , S p r u c 0026320 e - > S p r i n t , S p r 0026340 o u l l e r - > S p r u c e \r / 0026360 / S e p t e m b e r 2 , 1 0026400 9 7 7 4 : 2 6 P M , a d 0026420 d e t h e r " e a r " \r / / 0026440 S e p t e m b e r 5 , 1 9 0026460 7 7 9 : 3 8 A M , a d d 0026500 S w a p O n S p o o l R e q u 0026520 e s t \r / / S e p t e m b e r 0026540 2 3 , 1 9 7 7 9 : 5 7 0026560 P M , a c c o m m o d a t e 0026600 n e w p r i n t e r s t a t 0026620 u s r e p o r t i n g \r / / 0026640 N o v e m b e r 3 , 1 9 7 7 0026660 7 : 4 4 A M , p i c k 0026700 u p L E V S h a r e d R u n 0026720 s t u f f i n i n M s g a 0026740 f t e r f u l l s w a p , 0026760 v 4 . ( 2 , 7 ) \r / / D e c e 0027000 m b e r 2 0 , 1 9 7 7 3 0027020 : 1 9 P M , m o d s f o r 0027040 T r i d e n t d i s k v e 0027060 r s i o n \r / / J a n u a r y 0027100 2 0 , 1 9 7 8 1 : 5 6 0027120 P M , a c c o m m o d a t e 0027140 i m p r o v e d o v e r l a y 0027160 s t r u c t u r e \r / / J a 0027200 n u a r y 2 1 , 1 9 7 8 0027220 1 2 : 5 0 A M , r e m o v e 0027240 S w a p S y s t e m , . . . 0027260 O n S p o o l R e q . . . , f 0027300 i n i s h p r o c e d u r e \r 0027320 / / J a n u a r y 2 3 , 1 0027340 9 7 8 9 : 5 7 A M , m o 0027360 v e P a g e D a t a t o S 0027400 p r u c e B a n d , c a l l 0027420 i t b e f o r e p r i n t 0027440 o v e r l a y \r / / J a n u a 0027460 r y 2 3 , 1 9 7 8 5 : 4 0027500 2 P M , b r i n g i n I 0027520 n t e r p r e t o v e r l a y 0027540 t o p r o c e s s r e p r 0027560 i n t , e t c . ( P a g e D 0027600 a t a ) ~ ~ \r / / M a r c h 0027620 1 0 , 1 9 7 8 9 : 2 4 0027640 A M , a d d O V I n i t \r / 0027660 / M a y 1 1 , 1 9 7 8 0027700 6 : 4 6 P M , a c c o m m o 0027720 d a t e i n t e r r u p t l 0027740 e v e l E t h e r E a r \r / 0027760 / M a y 1 2 , 1 9 7 8 0030000 5 : 5 5 P M , s u s p e n s 0030020 i o n d u r i n g p r i n t 0030040 i n g ! \r / / A u g u s t 2 0030060 8 , 1 9 7 8 8 : 3 7 P M 0030100 , c h a n g e E a r O n p 0030120 a r a m e t e r c o n v e n t 0030140 i o n s \r / / S e p t e m b e 0030160 r 1 5 , 1 9 7 8 3 : 3 1 0030200 P M , a c c o m m o d a t e 0030220 n e w i n s t a l l a t i o 0030240 n , c h e c k p o i n t s t 0030260 u f f \r / / S e p t e m b e r 0030300 1 8 , 1 9 7 8 9 : 2 9 0030320 A M , C h e c k C f a - > 0030340 C h e c k F p \r / / S e p t e 0030360 m b e r 2 2 , 1 9 7 8 2 0030400 : 2 2 P M , g e t u p - t 0030420 o - d a t e S p r u c e v e 0030440 r s i o n s a f t e r S p o 0030460 o l e r c a l l \r / / O c t 0030500 o b e r 1 6 , 1 9 7 8 8 : 0030520 5 0 A M , m o d s f o r 0030540 f a s t f i l e s \r / / D e 0030560 c e m b e r 6 , 1 9 7 8 0030600 1 0 : 3 1 A M a d d p r i 0030620 n t e r s p e c i f i c o v 0030640 e r l a y s t r u c t u r e \r 0030660 / / A p r i l 2 5 , 1 9 7 0030700 9 1 : 3 9 P M r e s p o 0030720 n d t o S p r u c e V a l 0030740 i d a t e F o n t s - - s e 0030760 e S p r u c e I n i t , S p 0031000 r u c e V a l i d a t e \r / / 0031020 A u g u s t 2 9 , 1 9 7 9 0031040 1 : 3 1 P M , u s e L E 0031060 V R e p o r t t o p a s s 0031100 B i n C o u n t e r s b a c k 0031120 a n d f o r t h \r / / J a 0031140 n u a r y 2 9 , 1 9 8 0 4 0031160 : 3 3 P M , a d d L o a d 0031200 O r b i t M C a n d L o a d 0031220 S h o w M C t o o v e r l a 0031240 y c a l l s \r / / J u l y 0031260 1 6 , 1 9 8 0 , 1 : 1 1 P 0031300 M a l l o w o v e r r i d e 0031320 o f d u p l e x , p a g e 0031340 - s t a r t a n d - e n d 0031360 o n r e p r i n t \r / / J u 0031400 l y 2 2 , 1 9 8 0 , 4 : 1 0031420 4 P M , r e s t o r e L e 0031440 v S h a r e d V e r s i o n s 0031460 f i r s t \r / / J a n u a r y 0031500 2 6 , 1 9 8 1 , 5 : 0 0 P 0031520 M , c r e a t e p r i n t D 0031540 a t e S t r i n g f o r u s 0031560 e o n b r e a k p a g e \r 0031600 / / F e b r u a r y 4 , 1 0031620 9 8 1 8 : 5 3 P M , a 0031640 d d B i n S e r i a l s h a 0031660 c k i n g , h e n c e m o r 0031700 e C h e c k P o i n t i n g \r 0031720 / / O c t o b e r 6 , 1 9 0031740 8 2 1 1 : 2 4 A M r e m 0031760 o v e d r e f s t o V a l 0032000 i d a t e F o n t s ( ) \r 032 ( 6 0032020 3 5 ) \ 8 7 6 b 7 B 3 3 8 b 1 0 0032040 B 3 5 9 b 2 B 2 8 8 b 1 3 B 5 5 0032060 b 9 B 2 6 9 b 2 5 B 1 6 7 5 b 6 0032100 1 B 5 1 9 b 7 9 B 6 6 6 b 2 B 6 0032120 2 b 7 9 B 2 3 0 2 b 3 5 B \r 0032136