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