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