$ od -c -N 50000 [_CD6_]<altotape>DDTapePackageSources.dm!1 0000000 377 \0 \0 D D T a p e s . d \0 373 226 335 0000020 ` 305 \0 \0 376 001 \0 372 p / / D D T a 0000040 p e s . d - D e f i n i t i 0000060 o n s f o r t h e D u a l 0000100 D e n s i t y T a p e I / 0000120 O R o u t i n e s \r / / C o 0000140 p y r i g h t X e r o x C o 0000160 r p o r a t i o n 1 9 8 1 \r \r 0000200 / / L a s t m o d i f i e d 0000220 b y T i m D i e b e r t , 0000240 M a r c h 1 6 , 1 9 8 1 0000260 4 : 1 8 P M \r \r e x t e r n 0000300 a l \r [ \r / / P r o c e 0000320 d u r e s i n t h e D D T 0000340 a p e I O p a c k a g e t h 0000360 a t a r e u s e f u l \r 0000400 A c t O n D D T a p e \r 0000420 C l o s e D D T a 376 001 \0 006 243 p e 0000440 \r E r a s e I n c h e s \r 0000460 F i l e S k i p F w d \r 0000500 F i l e S k i p R e v \r 0000520 O p e n D D T a p e \r P 0000540 e r f o r m V D D T C B \r 0000560 R e c S k i p F w d \r R e 0000600 c S k i p R e v \r S e t D 0000620 e n s i t y \r T a p e E O 0000640 F \r T a p e S t a t u s \r 0000660 T a p e R e w i n d \r 0000700 T a p e R e w i n d W a i t \r 0000720 T a p e U n l o a d \r 0000740 W a i t T a p e R e a d y \r \r 0000760 / / P r o c e d u r e s i n 0001000 t h e D D T a p e I n i t 0001020 p a c k a g e t h a t a 376 001 0001040 \0 237 Z r e u s e f u l \r 0001060 I n i t i a l i z e D D T a p e 0001100 \r \r / / P r o c e d u r e s 0001120 i n t h e D D T a p e U t i 0001140 l A p a c k a g e t h a t 0001160 a r e u s e f u l \r D D 0001200 T a p e V e r t I n t C o d e 0001220 / / u s e d b y t h e 0001240 R / W c o d e f o r u s 0001260 e t o s y n c t h e D i 0001300 s p l a y t u r n o f f \r 0001320 U B l o c k E q \r B l 0001340 o c k E q \r U P u p C h e 0001360 c k s u m \r A s c i i X l 0001400 a t e \r E b c d i c X l a 0001420 t e \r T a p e T f s S w a 0001440 t P r 376 001 \0 302 P o c \r \r / / P 0001460 r o c e d u r e s i n t h e 0001500 D D T a p e M i c r o c o d 0001520 e p a c k a g e t h a t a 0001540 r e u s e f u l \r D D T 0001560 a p e I m a g e \r \r / / S t a 0001600 t i c s o r e x t e r n a l 0001620 s f o r u s e i n o t h 0001640 e r p a r t s o f t h e 0001660 t a p e c o d e \r D D T 0001700 a p e D i s p S a v e D a t a 1 0001720 \r D D T a p e D i s p S a 0001740 v e D a t a 2 \r D D T a p 0001760 e D i s p S a v e D a t a 3 \r 0002000 D D T a p e D i s p S a v e 0002020 r v D C B S t a r t \r D D 0002040 T a p e V e r t 376 001 \0 267 _ I n t 0002060 F l a g \r D D T a p e V e 0002100 r t I n t M a s k \r D D T 0002120 a p e V e r t I n t C h a n n e 0002140 l \r T a p e O p e n e d \r 0002160 T a p e A c t i v e \r 0002200 ] \r \r m a n i f e s t \r 0002220 [ \r / / L o w c o r e s t 0002240 u f f a n d m o r e \r 0002260 D C B S t a r t = # 4 2 0 0002300 / / D i s p l a y s t a r t 0002320 \r D C B I n t e r u p t 0002340 = # 4 2 1 / / D i s p l a 0002360 y i n t e r u p t f i e l d 0002400 \r D D T C B S t a r t = 0002420 # 6 2 2 \t / / T a p e C o 0002440 n t r o l B l o c k H 376 001 \0 0002460 306 = e a d \r I n t V e c 0002500 = # 5 0 1 \r I n t A c t 0002520 i v e = # 4 5 3 \r M a 0002540 x U n i t N u m = 3 \t / / 0002560 f o u r d r i v e s : 0 , 1 0002600 , 2 a n d 3 \r \r / / S t a 0002620 r t I O d e f s \r T a p 0002640 e N o r m a l O p = # 2 0 0 0002660 \r T a p e R e s e t O p 0002700 = # 1 0 0 \r ] \r \f \r / / 0002720 T a p e C o n t r o l l e r 0002740 S t a t u s D e f i n i t i 0002760 o n s \r / / - - - - - - - - - - 0003000 - - - - - - - - - - - - - - - - * 0003060 - - 376 001 \0 207 z - - - - - - - - - 0003100 - - - - - \r s t r u c t u r e 0003120 D D S t a t u s : \r / / - - - - 0003140 - - - - - - - - - - - - - - - - * 0003240 - - - - - - \r [ \r R 0003260 D Y b i t \t / / 1 0 0 0 0 0003300 0 R e a D Y . U n i t l o 0003320 a d e d , T a p e n o t i 0003340 n m o t i o n \r O N L 0003360 b i t \t / / 4 0 0 0 0 O 0003400 N L i n e . U n i t l o a 0003420 d e d , T a p e m a y b e 0003440 i n m o t i o n \r R W 0003460 D b i t \t / 376 001 \0 b 233 / 0003500 2 0 0 0 0 R e W i n D i n g . 0003520 U n i t i s r e w i n d i 0003540 n g \r F P T b i t \t / / 0003560 1 0 0 0 0 F i l e P r 0003600 o T e c t . W r i t e R i n 0003620 g r e m o v e d . \r B O 0003640 T b i t \t / / 4 0 0 0 0003660 B e g i n n i n g O f T a 0003700 p e . T a p e i s a t l 0003720 o a d p o i n t \r E O T 0003740 b i t \t / / 2 0 0 0 0003760 E n d O f T a p e . E O T 0004000 m a r k e r w a s c r o s 0004020 s e d i n a f o r w a r d 0004040 d i r e c t i o n \r F M 0004060 K b i t \t / / 376 001 \0 6 0004100 234 1 0 0 0 E n d O f F i l 0004120 e . L a s t r e c o r d ( 0004140 R / W ) w a s a n E O F 0004160 m a r k ( T a p e M a r k ) 0004200 \r N R Z I b i t \t / / 0004220 4 0 0 N R Z I S t a 0004240 t u s i s p r e s e n t i 0004260 n t h e d r i v e . 8 0 0 0004300 b i t s p e r i n c h m 0004320 o d e . \r H E b i t \t / 0004340 / 2 0 0 H a r d E 0004360 r r o r . A n o n r e c 0004400 o v e r a b l e e r r o r o 0004420 c c u r e d d u r i n g R / 0004440 W o p e r a t i o n \r S 0004460 E b i t \t / / 1 0 0 0004500 376 001 \0 * t S o f t E r r o r 0004520 . A c o r r e c t a b l e 0004540 e r r o r o c c u r e d d u 0004560 r i n g R / W o p e r a t i 0004600 o n . \r D L b i t \t / / 0004620 4 0 D a t a L a 0004640 t e . W r i t e o r R e a 0004660 d b u f f e r w e n t e m 0004700 p t y o r o v e r f l o w e 0004720 d \r R D P b i t \t / / 0004740 2 0 R e a d D a t 0004760 a P a r i t y . A r e a d 0005000 p a r i t y e r r o r o c 0005020 c u r e d . \r I C L b i 0005040 t \t / / 1 0 I n C 0005060 o r r e c t L e n g t h o n 0005100 w r i t e 376 001 \0 256 201 \r H 0005120 D W E R R b i t \t / / 0005140 4 H a r D W a r e E R 0005160 R o r . T H e c o n t r o l 0005200 l e r m i c r o c o d e d e 0005220 t e c t e d a n e r r o r . 0005240 \r W F P b i t \t / / 0005260 2 W r i t e o n 0005300 F i l e P r o t e c t e d r 0005320 e e l . ( F P T & W r i t 0005340 e - O p ) \r C M D E R b 0005360 i t \t / / 1 C o 0005400 m M a n D E R r o r . U n k 0005420 o w n c o m m a n d t y p e 0005440 . \r ] \r \r m a n i f e s t 0005460 \r [ / / S t a t u 0005500 s b i t m a s k s 376 001 \0 N 262 0005520 \r B o t = # 4 0 0 0 \r 0005540 E o t = # 2 0 0 0 \r 0005560 E o f = # 1 0 0 0 \r 0005600 R e w o u n d = # 1 4 4 0 0005620 0 0 \t / / R D Y % O N L 0005640 % B O T \r T a p e E r r 0005660 = # 3 6 7 \r ] \r \f \r / 0005700 / T a p e C o n t r o l B 0005720 l o c k a s R e q u i r e d 0005740 b y t h e h a r d w a r e 0005760 \r / / - - - - - - - - - - - - - 0006000 - - - - - - - - - - - - - - - - * 0006060 - - - - - - - - - - - - - \r s t 0006100 r u c t u r e D D T C B : \r / 0006120 376 001 \0 006 ) / - - - - - - - - - - 0006140 - - - - - - - - - - - - - - - - * 0006240 \r [ \r C h a i n A d 0006260 d r w o r d \t / / N e x 0006300 t T C B t o b e e x e c 0006320 u t e d i f e r r o r n o 0006340 t d e t e c t e d b y t h 0006360 e c u r r e n t o p . \r 0006400 C o m m a n d w o r d 0006420 = \r [ \r 0006440 D e n s i t y b i t 1 \t 0006460 / / 1 = N R Z I m o d e 0006500 , 0 = P E m o d e . \r 0006520 376 001 \0 302 c T h r e s h 0006540 o l d b i t 1 \t / / 0 = 0006560 n o r m a l , 1 = L o w 0006600 r e a d t h r e s h o l d 0006620 f o r d a t a r e c o v e r 0006640 y . \r R e a d A f t 0006660 e r W r i t e b i t 1 \t / / 0006700 0 = n o r e a d d a t 0006720 a t r a n s f e r e d a f t 0006740 e r w r i t e , 1 = r e 0006760 a d t r a s n f e r e d . \r 0007000 b l a n k b i t 2 0007020 \t / / s h o u l d b e z e 0007040 r o \r U n i t b i 0007060 t 3 \t / / U n i t t h i 0007100 s o p s e l e c t s . \r 0007120 b l a n k 376 001 \0 8 313 b 0007140 i t 3 \t / / s h o u l d b 0007160 e z e r o \r O p c 0007200 o d e b i t 5 = \t / / D 0007220 e f i n e b o t h d i r e c 0007240 t i o n a n d a c t i o n \r 0007260 [ \r 0007300 R E V b i t 1 \t / / 0007320 R e v e r s e d i r e c t i 0007340 o n b i t \r 0007360 W R T b i t 1 \t / / W r i 0007400 t e o p e r a t i o n \r 0007420 W F M b i t 1 \t 0007440 / / F i l e m a r k o p e 0007460 r a t i o n \r 0007500 E D I T b i t 1 \t / / E d 0007520 i t s p a c i n g o p e r 376 0007540 001 \0 266 R a t i o n \r 0007560 E R A S E b i t 1 \t / 0007600 / E r a s e o r d i s a b 0007620 l e d a t a \r 0007640 ] \r ] \r R e 0007660 a d B u f f e r w o r d \t / / 0007700 A d d r e s s o f m a i n 0007720 m e m o r y r e a d b u f 0007740 f e r \r R e a d C o u n t 0007760 w o r d \t / / R e a d b u 0010000 f f e r W O R D c o u n t \r 0010020 W r i t e B u f f e r w 0010040 o r d \t / / A d d r e s s o 0010060 f m a i n m e m o r y w r 0010100 i t e b u f f e r \r W r 0010120 i t e C o u n t w o r d \t / / 0010140 T h e 376 001 \0 q j n u m b e r 0010160 o f B Y T E S t o w r i 0010200 t e . M a y b e o d d \r 0010220 B y t e C o u n t w o r 0010240 d \t / / N u m b e r o f d 0010260 a t a b y t e s m o v e d 0010300 o n R / W . \r F l a g s 0010320 w o r d = \r [ \r 0010340 @ D D S t a t u s 0010360 / / C o n t r o l 0010400 l e r E n d i n g S t a t u 0010420 s \r ] \r ] \r m 0010440 a n i f e s t \r [ \r / / 0010460 D D T C B s i z e \r l D 0010500 D T C B = ( ( s i z e D D 0010520 T C B ) + 1 5 ) / 1 6 \r \r / / 0010540 T i m e o u t t 376 001 \0 330 { i m 0010560 e r s f o r v a r i o u s 0010600 t h i n g s \r R e w i n d 0010620 T i m e o u t = 1 9 2 0 0 0010640 / / T h e t o t a l t 0010660 i m e t o r e w i n d a t 0010700 1 5 0 i p s \r R e c o r 0010720 d T i m e o u t = 2 5 0 0010740 / / T i m e t o p a s s 0010760 2 5 ' o f t a p e a t 0011000 1 2 5 i p s \r F i l e T i 0011020 m e o u t = 2 3 0 4 0 0011040 / / T i m e t o p a s s 0011060 2 4 0 0 ' o f t a p e a t 0011100 1 2 5 i p s f o r a f i 0011120 l e s e a r c h . \r N o 0011140 O p T i m e o u t = 1 0 376 001 0011160 \0 310 315 / / T h e t o t 0011200 a l t i m e t o p e r f o 0011220 r m a N o O p \r ] \r 0011240 \r \f \r / / V i r t u a l T a 0011260 p e C o n t r o l B l o c k 0011300 u s e d b y t h e s o f 0011320 t w a r e t o k e e p t r 0011340 a c k o f t h i n g s \r / / 0011360 - - - - - - - - - - - - - - - - * 0011460 - - - - - - - - - - \r s t r u c 0011500 t u r e V D D T C B : / 0011520 / v i r t u a l t a p e c 0011540 o n t r o l b l o c k \r / / - 0011560 - - - 376 001 \0 177 226 - - - - - - - - 0011600 - - - - - - - - - - - - - - - - * 0011660 - - - - - - - - - - - - - - \r 0011700 [ \r @ D D T C B \r 0011720 o p D e n s i t y w o r d \t 0011740 / / f l a g i n d i c a t i 0011760 n g d r i v e s c u r r e n 0012000 t d e n s i t y \r o p e 0012020 r a t i o n w o r d \t / / O 0012040 p e r a t i o n c o d e a s 0012060 s u p p l i e d t o t h e 0012100 s o f t w a r e \r d r i 0012120 v e w o r d \t / / U n i t 0012140 t h i s o p e r a t i o n i 0012160 s f o r \r 376 001 \0 S 342 e r 0012200 r P r o c w o r d \t / / P r 0012220 o c e d u r e t o c a l l 0012240 i n c a s e a n e r r o r 0012260 i s d e t e c t e d \r 0012300 i n t e r v e n t i o n P r o c 0012320 w o r d \t / / P r o c e d u 0012340 r e t o c a l l i n c a 0012360 s e a n o p e r a t o r i 0012400 n t e r v e n t i o n . \r 0012420 r e t r i e s w o r d \t / / 0012440 R e t r y c o u n t \r l 0012460 o w t h r e s h w o r d \t / / 0012500 F l a g u s e d t o k e 0012520 e p t r a c k o f a r e 0012540 a d a t l o w t h r e s h 0012560 o l d . \r t i m e o 376 001 \0 0012600 c Y u t w o r d \t / / T i m 0012620 e o u t f l a g . I f t r 0012640 u e t h e n t i m e o u t 0012660 d e t e c t e d b y P e r f 0012700 o r m V T C B \r r e g a p 0012720 w o r d \t / / F l a g u s 0012740 e d t o k e e p t r a c k 0012760 o f a l o n g g a p w 0013000 r i t e d u r i n g w r i t 0013020 e r e t r y \r ] \r \r m a 0013040 n i f e s t \r [ \r \r / / 0013060 O p e r a t i o n D e n s i t 0013100 y D e f s \r P E = 1 0013120 6 0 0 \r N R Z I = 8 0 0013140 0 \r \r / / V D D T C B s i z 0013160 e \r l V D D T C B = ( 0013200 ( s 376 001 \0 025 w i z e V D D T C 0013220 B ) + 1 5 ) / 1 6 \r \r / / T a 0013240 p e O p C o d e s a s p 0013260 a s s e d t o t h e r o u 0013300 t i n e s b y t h e u s e 0013320 r p r o g r a m \r / / A s s 0013340 i g n m e n t s m u s t b e 0013360 m a i n t a i n e d s o t 0013400 h a t t h e h a r d w a r e 0013420 g e t s w h a t i s n e 0013440 e d s . \r B a c k S p a c 0013460 e R e c o r d = # 2 1 \r 0013500 F w d S p a c e R e c o r d 0013520 = # 0 1 \r B a c k S p a 0013540 c e F i l e = # 2 5 \r 0013560 F w d S p a c e F i l e = # 0013600 0 5 \r R 376 \0 322 263 017 e a d F 0013620 w d = # 0 0 \r R e a d 0013640 R e v = # 2 0 \r R e a 0013660 d R e v E d i t = # 2 2 \r 0013700 W r i t e = # 1 0 \r 0013720 W r i t e E d i t = # 1 2 0013740 \r E r a s e = # 1 5 \r 0013760 E r a s e V a r = # 1 0014000 1 \r W r i t e E O F = 0014020 # 1 4 \r R e w i n d = 0014040 # 3 5 \r U n l o a d = 0014060 # 3 6 \r N o O p = # 3 0014100 7 \r R e s e t = # 4 0 0014120 \r ] \r \r 032 ( 6 3 5 ) \r 377 \0 0014140 \0 D D T a p e I n i t . b c p l 0014160 \0 373 226 314 032 311 \0 \0 376 001 \0 016 367 / / 0014200 D D T a p e I n i t . b c p l 0014220 - D u a l D e n s i t y T 0014240 a p e L o w L e v e l D r 0014260 i v e r I n i t i a l i z a t 0014300 i o n 032 ( 6 3 5 ) \r / / \r / / 0014320 D u a l D e n s i t y T a p 0014340 e L o w L e v e l I n i t 0014360 i a l i z a t i o n \r / / L a 0014400 s t m o d i f i e d b y T 0014420 i m D i e b e r t , M a r c 0014440 h 3 , 1 9 8 1 2 : 1 6 0014460 P M \r / / C o p y r i g h t 0014500 X e r o x , 1 9 8 0 \r / / \r \r 0014520 g e t " D D T a p e s . d 0014540 " \r \r e x t e r n a l \r [ \r \r / 0014560 / P r o c e d u r e s 376 001 \0 0014600 236 f f r o m t h e U s e r 0014620 P r o g r a m o r t h e A 0014640 L T O C o n t e x t p a c k 0014660 a g e \r B l o c k \r \r / / 0014700 P r o c e d u r e s f r o m 0014720 t h e A L T O O p e r a t 0014740 i n g S y s t e m \r A l 0014760 l o c a t e \r C a l l S w 0015000 a t \r D i s a b l e I n t 0015020 e r r u p t s \r E n a b l 0015040 e I n t e r r u p t s \r F 0015060 r e e \r S e t E n d C o d 0015100 e \r S t a r t I O \r 0015120 s y s Z o n e \r Z e r o \r 0015140 \r / / P r o c e d u r e s f 0015160 r o m t h e A L T O I n t 0015200 e r 376 001 \0 { 334 r u p t P a c k 0015220 a g e \r I n i t i a l i z 0015240 e I n t e r r u p t \r F i 0015260 n d I n t e r r u p t M a s k \r 0015300 \r / / P r o c e d u r e s f 0015320 r o m t h e A L T O L o a 0015340 d R a m P a c k a g e \r 0015360 L o a d R a m \r \r / / P 0015400 r o c e d u r e s f r o m t 0015420 h e A L T O T i m e r P a 0015440 c k a g e \r I n i t i a l 0015460 i z e T i m e r \r S e t T 0015500 i m e r \r T i m e r H a s 0015520 E x p i r e d \r \r ] 0015540 \r \r s t a t i c \r [ \r 0015560 D D T a p e D i s p S a v e D 0015600 a t a 1 \r 376 001 \0 243 315 D D T 0015620 a p e D i s p S a v e D a t a 2 0015640 \r D D T a p e D i s p S a 0015660 v e D a t a 3 \r D D T a p 0015700 e D i s p S a v e r v D C B S t 0015720 a r t \r D D T a p e V e r 0015740 t I n t M a s k \r D D T a 0015760 p e V e r t I n t C h a n n e l 0016000 \r ] \r \r \f \r / / - - - - - 0016020 - - - - - - - - - - - - - - - - * 0016120 - - - - - - - - - - - - \r 0016140 l e t I n i t i a l i z e D D 0016160 T a p e ( ) = v a l o f \r / 0016200 / - - - - - - - - - - - 376 001 \0 e 0016220 207 - - - - - - - - - - - - - - - 0016240 - - - - - - - - - - - - - - - - * 0016320 - - - - - - - \r [ \r i f 0016340 L o a d R a m ( D D T a p e I 0016360 m a g e , t r u e ) n e 0 0016400 d o \r [ \r 0016420 C a l l S w a t ( " L o a d 0016440 R a m ( D D T a p e I m a g e 0016460 , t r u e ) f a i l e d . " ) 0016500 \r r e s u l t i s 0016520 f a l s e \r ] \r \r / 0016540 / S e t u p T a p e O p e 0016560 n e d b l o c k \r T a p 0016600 e O p e n e d = A l l o c a 0016620 t 376 001 \0 220 311 e ( s y s Z o n e , 0016640 M a x U n i t N u m + 1 , 0016660 t r u e ) \r u n l e s s 0016700 T a p e O p e n e d d o \r 0016720 [ \r C a l 0016740 l S w a t ( " * N S y s t e m 0016760 E r r o r u n a b l e t o 0017000 a l l o c a t e s p a c e f 0017020 o r T a p e O p e n e d " ) \r 0017040 r e s u l t i s f 0017060 a l s e \r ] \r 0017100 Z e r o ( T a p e O p e n e d , 0017120 M a x U n i t N u m + 1 ) 0017140 \r I n i t i a l i z e T i 0017160 m e r ( ) \r \r / / A l l o c a 0017200 t e s o m e s p a c e f o 0017220 r t h e 376 001 \0 030 n V D D T C 0017240 B \r l e t v t a p e = 0017260 A l l o c a t e ( s y s Z o n 0017300 e , l V D D T C B , t r u e 0017320 , t r u e ) \r u n l e s 0017340 s v t a p e d o \r 0017360 [ \r C a l l S w a 0017400 t ( " * n S y s t e m E r r o 0017420 r : U n a b l e t o a l l 0017440 o c a t e s p a c e f o r 0017460 V D D T C B " ) \r r 0017500 e s u l t i s 0 \r 0017520 ] \r \r / / A l l o c a t e a 0017540 D D T C B i n o r d e r 0017560 t o p e r f o r m a r e s 0017600 e t o n t h e h a r d w a 0017620 r e \r Z e r o ( 376 001 \0 361 + 0017640 v t a p e , l D D T C B ) \r 0017660 v t a p e > > V D D T C B . 0017700 U n i t = 0 \r v t a p 0017720 e > > V D D T C B . C o m m a n 0017740 d = # 3 7 \r v t a p e 0017760 > > V D D T C B . o p D e n s i 0020000 t y = P E \r v t a p e 0020020 > > D D T C B . O p c o d e 0020040 = N o O p \r @ D D T C 0020060 B S t a r t = v t a p e \r 0020100 S t a r t I O ( T a p e R e s e 0020120 t O p ) \r \r / / D O t h e 0020140 r e s e t \r l e t T i m 0020160 e r = n i l \r S e t T 0020200 i m e r ( l v T i m e r , 8 0020220 ) \r u n t i l T i m e r 0020240 376 001 \0 244 . H a s E x p i r e d ( 0020260 l v T i m e r ) d o B l o 0020300 c k ( ) \r \r S t a r t I O 0020320 ( T a p e N o r m a l O p ) \r \r 0020340 / / D O t h e r e s e t \r 0020360 l e t T i m e r = n 0020400 i l \r S e t T i m e r ( l 0020420 v T i m e r , 8 ) \r u 0020440 n t i l T i m e r H a s E x p 0020460 i r e d ( l v T i m e r ) d 0020500 o B l o c k ( ) \r \r S t 0020520 a r t I O ( T a p e N o r m a l 0020540 O p ) \r \r / / D O t h e r 0020560 e s e t \r l e t T i m e 0020600 r = n i l \r S e t T i 0020620 m e r ( l v T i m e r , 8 ) 0020640 \r u 376 001 \0 270 214 n t i l T 0020660 i m e r H a s E x p i r e d ( l 0020700 v T i m e r ) d o B l o c 0020720 k ( ) \r \r S t a r t I O ( 0020740 T a p e N o r m a l O p ) \r \r / 0020760 / D O t h e r e s e t \r 0021000 l e t T i m e r = n i 0021020 l \r S e t T i m e r ( l v 0021040 T i m e r , 8 ) \r u n 0021060 t i l T i m e r H a s E x p i 0021100 r e d ( l v T i m e r ) d o 0021120 B l o c k ( ) \r \r / / M a k 0021140 e t h i n g s r i g h t w 0021160 i t h t h e w o r l d a g 0021200 a i n \r F r e e ( s y s Z 0021220 o n e , v t a p e ) \r \r / / 0021240 G e t C h a n n e 376 001 \0 234 ` l 0021260 a v a i l a b l e m a s k \r 0021300 D D T a p e V e r t I n t 0021320 M a s k = F i n d I n t e r 0021340 r u p t M a s k ( 1 ) \r \r / / 0021360 C h e c k v a l i d i t y o 0021400 f m a s k \r D D T a p e 0021420 V e r t I n t M a s k = M a 0021440 k e O n e B i t ( D D T a p e V 0021460 e r t I n t M a s k ) \r i 0021500 f ( D D T a p e V e r t I n t 0021520 M a s k & @ I n t A c t i v 0021540 e ) n e 0 t h e n C a l 0021560 l S w a t ( " I n t e r r u p t 0021600 I n U s e " ) \r \r / / D i 0021620 s c o v e r i n t e r r u p t 0021640 c h a n n e l n u m b e r 376 0021660 001 \0 p 265 \r l e t D D T a 0021700 p e V e r t I n t C h a n n e l 0021720 = 0 \r w h i l e ( ( 0021740 1 l s h i f t D D T a p e V 0021760 e r t I n t C h a n n e l ) & 0022000 D D T a p e V e r t I n t M a 0022020 s k ) e q 0 d o \r 0022040 [ \r D D T a p e 0022060 V e r t I n t C h a n n e l = 0022100 D D T a p e V e r t I n t C h 0022120 a n n e l + 1 \r 0022140 ] \r \r / / S a v e o f f t 0022160 h e o l d s t u f f \r 0022200 D D T a p e D i s p S a v e D a 0022220 t a 1 = I n t V e c ! D D T 0022240 a p e V e r t I n t C h a n n e 0022260 l \r 376 001 \0 323 322 D D T a p e 0022300 D i s p S a v e D a t a 2 = 0022320 D C B I n t e r u p t \r D 0022340 D T a p e D i s p S a v e D a t 0022360 a 3 = r v I n t A c t i v 0022400 e \r D D T a p e D i s p S 0022420 a v e r v D C B S t a r t = 0022440 r v D C B S t a r t \r \r / / 0022460 S e t u p n e w i n t e r 0022500 u p t \r D i s a b l e I n 0022520 t e r r u p t s ( ) \r I n 0022540 t V e c ! D D T a p e V e r t I 0022560 n t C h a n n e l = D D T a 0022600 p e V e r t I n t C o d e \r 0022620 @ I n t A c t i v e = @ I 0022640 n t A c t i v e % D D T a p 0022660 e V e r t I n t M 376 001 \0 033 253 a s 0022700 k \r @ D C B I n t e r u p 0022720 t = @ D C B I n t e r u p t 0022740 % D D T a p e V e r t I n t 0022760 M a s k \r E n a b l e I n 0023000 t e r r u p t s ( ) \r \r r 0023020 e s u l t i s t r u e \r ] \r 032 0023040 ( 1 7 9 2 ) \ 1 3 2 b 1 B 9 9 v 0023060 5 V \r \r / / - - - - - - - - - - 0023100 - - - - - - - - - - - - - - - - * 0023160 - - - - - \r a n d M a k e O n 0023200 e B i t ( m a s k ) = v a l 0023220 o f \r / / - - - - - - - - - - - 0023240 - - - - - - - - - - - - - - - - 0023260 - - - - - - - - - - - - - - 376 001 0023300 \0 | - - - - - - - - - - - - - 0023320 - - - - - - - - - \r / / F r o m 0023340 m a s k , m a k e l e g a 0023360 l o n e - b i t m a s k s 0023400 e n s i n g o n l y h i g h 0023420 e s t o r d e r b i t \r [ \r 0023440 i f m a s k e q 0 t h e 0023460 n C a l l S w a t ( " I n t e 0023500 r r u p t M a s k Z e r o " 0023520 ) \r l e t i = 0 \r w h i l 0023540 e ( m a s k & # 1 0 0 0 0 0 ) 0023560 e q 0 d o \r [ \r 0023600 m a s k = m a s k l s h 0023620 i f t 1 \r i = i + 1 0023640 \r ] \r m a s k = ( # 1 0023660 0 0 0 0 0 r s h i f t i ) \r 0023700 i f 376 \0 G c 240 m a s k e q 0023720 # 1 0 0 0 0 0 t h e n C a l 0023740 l S w a t ( " I n t e r r u p t 0023760 C h a n Z e r o " ) \r r e s 0024000 u l t i s m a s k \r ] \r 032 \r 377 0024020 \0 \0 D D T a p e I O . b c p l \0 0024040 373 226 353 233 } \0 \0 376 001 \0 E 271 / / D 0024060 D T a p e I O . b c p l - D 0024100 u a l D e n s i t y T a p e 0024120 L o w L e v e l D r i v e 0024140 r 032 ( 6 3 5 ) \r / / \r / / D u 0024160 a l D e n s i t y T a p e 0024200 L o w L e v e l I / O R o 0024220 u t i n e s \r / / L a s t m 0024240 o d i f i e d b y T i m D 0024260 i e b e r t , M a r c h 2 7 0024300 , 1 9 8 1 1 1 : 4 3 A M 0024320 \r / / C o p y r i g h t X e 0024340 r o x , 1 9 8 1 \r / / \r \r g e 0024360 t " D D T a p e s . d " \r 0024400 \r e x t e r n a l \r [ \r / / P 0024420 r o c e d u r e s f r o m t 0024440 h e A L T O O p e r 376 001 \0 L 0024460 L a t i n g S y s t e m \r 0024500 A l l o c a t e \r C a l 0024520 l S w a t \r D e f a u l t 0024540 A r g s \r F r e e \r 0024560 S t a r t I O \r s y s Z o 0024600 n e \r Z e r o \r \r / / P 0024620 r o c e d u r e s f r o m t 0024640 h e U s e r P r o g r a m \r 0024660 T a p e W a i t Q u i e t 0024700 / / P r o c e d u r e 0024720 t h a t w a i t s f o r o 0024740 t h e r m i c r o c o d e t 0024760 a s k s t o c o m p l e t e 0025000 \r \r / / P r o c e d u r e s 0025020 f r o m t h e U s e r P r 0025040 o g r a m o r t h e A L T 0025060 O 376 001 \0 U / C o n t e x t p 0025100 a c k a g e \r B l o c k \r 0025120 \r / / P r o c e d u r e s f 0025140 r o m t h e A L T O T i m 0025160 e r P a c k a g e \r I n 0025200 i t i a l i z e T i m e r \r 0025220 S e t T i m e r \r T i m 0025240 e r H a s E x p i r e d \r 0025260 D i s m i s s \r \r ] 032 \ 1 0025300 3 2 b 1 B 1 9 3 v 1 3 V 1 3 3 v 0025320 5 V \r \r s t a t i c \r [ \r 0025340 T a p e A c t i v e = f a l 0025360 s e \r T a p e O p e n e d 0025400 \r ] \r \r \f \r 032 \r / / - - - - - - 0025420 - - - - - - - - - - - - - - - - * 0025460 - - - - - - 376 001 \0 357 330 - - - - - 0025500 - - - - - - - - - - - - - - - - * 0025540 \r l e t A c t O n D D T a p e 0025560 ( v t a p e , f u n c t i o n 0025600 , r b u f , r c n t , w b 0025620 u f , w c n t , r e t r i e 0025640 s , r e a d a f t e r w r i t 0025660 e ; n u m a r g s n u ) = 0025700 v a l o f \r / / - - - - - - - 0025720 - - - - - - - - - - - - - - - - * 0026020 - - - - - - - - - - \r / / P e 0026040 r f o r m s o p e r a t i o n 0026060 s o n t a p e w 376 001 \0 351 376 0026100 i t h r e t r y \r / / 0026120 e r r o r s a r e r e p o 0026140 r t e d t o v t a p e > > V 0026160 D D T C B . e r r P r o c \r / / 0026200 o p e r a t o r i n 0026220 t e r v e n t i o n i s r e 0026240 p o r t e d t o v t a p e > 0026260 > V D D T C B . i n t e r v e n 0026300 t i o n P r o c \r / / \r / / R 0026320 e t u r n s : \r / / \t c o n t 0026340 r o l l e r s t a t u s o n 0026360 n o n R / W o p e r a t i 0026400 o n s \r / / b y t e c o 0026420 u n t o n R / W o p e r a 0026440 t i o n s \r / / - 1 o n 0026460 H a r d w a r e e r r o r 0026500 376 001 \0 232 321 ( t i m e o u t ) \r / 0026520 / - 2 o n i l l e g a 0026540 l f u n c t i o n \r / / 0026560 - 3 o n N o t R e a d y 0026600 o r O f f l i n e \r / / 0026620 - 4 o n E n d o f F i l 0026640 e \r / / - 5 o n E n d 0026660 o f T a p e \r / / - 6 0026700 o n S o f t e r r o r \r / 0026720 / - 7 o n O t h e r 0026740 T a p e E r r o r \r / / 0026760 - 8 o n F i l e p r o t e 0027000 c t e r r o r \r / / \r / / C 0027020 a l l s o f i n t e r e s t 0027040 t o t h e u s e r : \r / / 0027060 \t v t a p e > > V D D T C B . e 0027100 r r P r o 376 001 \0 y 340 c o n e 0027120 r r o r \r / / \t v t a p e > > V 0027140 D D T C B . i n t e r v e n t i 0027160 o n P r o c o p e r a t o r 0027200 i n t e r v e n t i o n \r / / \r 0027220 [ \r D e f a u l t A r g s 0027240 ( l v n u , 2 , 0 , 0 , 0027260 0 , 0 , 4 , f a l s e ) 0027300 \r \r l e t a c t u a l s 0027320 t a t u s = n i l \r l 0027340 e t t e m p s t a t u s = 0027360 n i l \r l e t e r r p r 0027400 o c = v t a p e > > V D D T 0027420 C B . e r r P r o c \r l e 0027440 t i n t e r v e n t i o n p r 0027460 o c = v t a p e > > V D D T 0027500 C B . i n t e r v e 376 001 \0 r T n 0027520 t i o n P r o c \r \r / / C h e 0027540 c k t o s e e i f f u n 0027560 c t i o n i s i n v a l i d 0027600 \r i f ( f u n c t i o n 0027620 l s 0 ) % ( f u n c t i 0027640 o n g r # 3 7 ) d o \r 0027660 [ \r e r r p 0027700 r o c ( " * n A c t O n T a p e 0027720 : C a l l w i t h I l l e 0027740 g a l F u n c t i o n " ) \r 0027760 v t a p e > > V D D T 0030000 C B . C M D E R = 1 \r 0030020 r e s u l t i s - 2 \r 0030040 ] \r \r / / C h e c k 0030060 a n d c o r r e c t n u m 0030100 b e r o f r e t r i e s 376 0030120 001 \0 251 031 ( 8 m a x ) \r i 0030140 f ( r e t r i e s l s 0 ) 0030160 % ( r e t r i e s g r 8 0030200 ) t h e n r e t r i e s = 0030220 8 \r \r / / G e t e v e r y 0030240 t h i n g s e t u p f o r 0030260 r e t r y \r v t a p e > 0030300 > V D D T C B . r e t r i e s 0030320 = r e t r i e s \r v t a 0030340 p e > > V D D T C B . r e g a p 0030360 = r e t r i e s \r v t 0030400 a p e > > V D D T C B . l o w t 0030420 h r e s h = f a l s e \r 0030440 v t a p e > > V D D T C B . o 0030460 p e r a t i o n = f u n c t 0030500 i o n \r \r / / c h e c k f o 0030520 r d e 376 001 \0 z 220 v i c e O n 0030540 - L i n e \r l e t c u r 0030560 r e n t s t a t u s = P e r 0030600 f o r m V D D T C B ( v t a p e 0030620 , N o O p ) \r u n l e s 0030640 s c u r r e n t s t a t u s 0030660 d o \r [ \r 0030700 v t a p e > > V D D T C B . H 0030720 D W E R R = 1 \r 0030740 r e s u l t i s - 1 \r 0030760 ] / / r e t u r n 0031000 - 1 o n h u n g c o n t r 0031020 o l l e r \r u n l e s s 0031040 c u r r e n t s t a t u s < < D 0031060 D S t a t u s . O N L & c u 0031100 r r e n t s t a t u s < < D D S 0031120 t a t u s . R D Y 376 001 \0 212 302 t 0031140 h e n \r [ \r 0031160 i n t e r v e n t i o n p r 0031200 o c ( " * n T a p e D r i v e 0031220 O f f l i n e o r N o t 0031240 R e a d y " ) \r v t 0031260 a p e > > V D D T C B . C M D E 0031300 R = 1 \r r e s u 0031320 l t i s - 3 \r ] \r 0031340 \r \r / / P E R F O R M T H E 0031360 R E Q U E S T E D F U N C T 0031400 I O N \r \r t e s t ( f u 0031420 n c t i o n e q N o O p ) 0031440 % ( f u n c t i o n e q R 0031460 e w i n d ) % ( f u n c t i 0031500 o n e q U n l o a d ) \r 0031520 i f s o \r 376 001 0031540 \0 V ] [ \r 0031560 a c t u a l s t a t u s = 0031600 P e r f o r m V D D T C B ( v 0031620 t a p e , f u n c t i o n ) \r 0031640 r e s u l t i 0031660 s a c t u a l s t a t u s \r 0031700 ] \r \r 0031720 i f n o t \r 0031740 [ \r i f ( ( 0031760 ( f u n c t i o n & # 3 7 ) 0032000 & # 2 0 ) e q # 2 0 ) 0032020 & c u r r e n t s t a t u s < 0032040 < D D S t a t u s . B O T d o 0032060 \r [ \r 0032100 e r r p r 0032120 o c ( " * n A c t O n T a p e : 0032140 T a 376 001 \0 244 7 p e i s a t 0032160 B O T p r i o r t o a 0032200 R E V m o t i o n c o m m a 0032220 n d " ) \r 0032240 v t a p e > > V D D T C B . C 0032260 M D E R = 1 \r 0032300 r e s u l t i s - 2 0032320 \r ] \r 0032340 ] \r \r [ \r 0032360 [ \r 0032400 a c t u a l s t a t u s = 0032420 P e r f o r m V D D T C B ( v t 0032440 a p e , f u n c t i o n , r 0032460 b u f , r c n t , w b u f , 0032500 w c n t , r e a d a f t e r 0032520 w r i t e ) \r 0032540 u n l e s s a 376 001 \0 237 365 c t u 0032560 a l s t a t u s d o \r 0032600 [ \r 0032620 v t a p e > > 0032640 V D D T C B . H D W E R R = 0032660 1 \r r e 0032700 s u l t i s - 1 / / r e t 0032720 u r n o n h u n g d e v i 0032740 c e \r ] 0032760 \r i f ( ( # 0033000 7 & a c t u a l s t a t u s 0033020 ) n e 0 ) d o \r 0033040 [ \r 0033060 i f ( a c t u a l s 0033100 t a t u s & # 1 ) n e 0 0033120 d o \r 0033140 [ \r 376 001 \0 0033160 | 327 e r r p r o c 0033200 ( " * n A c t O n T a p e : M 0033220 i c r o c o d e d e t e c t e 0033240 d C o m m a n d E r r o r " 0033260 ) \r 0033300 v t a p e > > V D D T C B . C 0033320 M D E R = 1 \r 0033340 r e s u l t i s 0033360 - 2 / / i l e g a l f u 0033400 n c t i o n \r 0033420 ] \r \r 0033440 i f ( a c t u a l s 0033460 t a t u s & # 2 ) n e 0 0033500 d o \r 0033520 [ \r 0033540 i n t e r v e n t i o n 0033560 p r 376 001 \0 265 \0 o c ( " * n T a p 0033600 e i s W r i t e P r o t e 0033620 c t e d " ) \r 0033640 v t a p e > > V D D 0033660 T C B . C M D E R = 1 \r 0033700 r e s 0033720 u l t i s - 8 \r 0033740 ] \r \r 0033760 v t a p e > > V D 0034000 D T C B . H D W E R R = 1 \r 0034020 r e s u 0034040 l t i s - 1 \r 0034060 ] \r \r / / 0034100 C h e c k t o s e e i f 0034120 t h e o p e r a t i o n h a 0034140 s g o o d e n d i n g s t 0034160 a t u s o r 376 001 \0 250 277 t h e 0034200 r e t r y c o u n t i s 0034220 u s e d u p \r 0034240 l e t b r e a k o u t = 0034260 v a l o f \r 0034300 [ \r 0034320 i f ( ( T a p e E r r & a 0034340 c t u a l s t a t u s ) e q 0034360 0 ) % ( r e t r i e s e q 0034400 0 ) % F u n c t i o n N o 0034420 t R e t r y a b l e ( f u n c t 0034440 i o n ) d o r e s u l t i s 0034460 t r u e \r 0034500 t e s t v t a p e > > V D 0034520 D T C B . W R T \r 0034540 i f n o t \r 0034560 376 001 \0 { 0034600 P [ \r 0034620 i f v t a p e > > V D D 0034640 T C B . l o w t h r e s h & 0034660 ( v t a p e > > V D D T C B . r 0034700 e t r i e s l e 0 ) d o 0034720 r e s u l t i s t r u e \r 0034740 ] \r 0034760 \r 0035000 i f s o \r 0035020 [ \r 0035040 i f ( v t a p e 0035060 > > V D D T C B . r e t r i e s 0035100 l e 0 ) & ( v t a p e > 0035120 > V D D T C B . r e g a p l e 0035140 0 ) d o r e s u l t i s 0035160 t r u e \r 0035200 376 001 \0 244 s ] \r 0035220 r e s u l t i s 0035240 f a l s e \r 0035260 ] \r i f 0035300 b r e a k o u t d o b r e a 0035320 k \r \r \r / / r e t 0035340 r y t h e o p e r a t i o n 0035360 a f t e r b a c k i n g u 0035400 p , i g n o r i n g e r r o 0035420 r s \r t e m p 0035440 s t a t u s = P e r f o r m 0035460 V D D T C B ( v t a p e , ( v 0035500 t a p e > > V D D T C B . R E V 0035520 ? F w d S p a c e R e c o r 0035540 d , B a c k S p a c e R e c o 0035560 r d ) ) \r u 0035600 n l e s s 376 001 \0 264 225 t e m p s 0035620 t a t u s d o \r 0035640 [ \r 0035660 v t a p e > > V D D T C B . H D 0035700 W E R R = 1 \r 0035720 r e s u l t i s - 1 0035740 \r ] \r 0035760 v t a p e > > V D D T 0036000 C B . r e t r i e s = v t a 0036020 p e > > V D D T C B . r e t r i 0036040 e s - 1 \r \r / / 0036060 G e n e r a t e a l o n g 0036100 w r t g a p i f t h e 0036120 b a d o p e r a t i o n w a 0036140 s a w r i t e a n d t h 0036160 e r e t r y c o u n t w a 0036200 s \r / / 376 001 \0 ~ 036 0036220 g o n e \r 0036240 t e s t v t a p e > > V D D T 0036260 C B . W R T \r 0036300 i f s o \r 0036320 [ \r 0036340 i f ( v 0036360 t a p e > > V D D T C B . r e t 0036400 r i e s l e 0 ) & ( v t 0036420 a p e > > V D D T C B . r e g a 0036440 p l e 0 ) t h e n \r 0036460 [ 0036500 / / S e t u p t o r e 0036520 t r y t h e o p e r a t i o 0036540 n a l i t t l e w a y f 0036560 a r t h e r d o w n o n t 0036600 h e t a p e \r 0036620 376 001 \0 275 332 v 0036640 t a p e > > V D D T C B . r e t 0036660 r i e s = r e t r i e s \r 0036700 0036720 v t a p e > > V D D T C B . r 0036740 e g a p = v t a p e > > V D 0036760 D T C B . r e g a p - 1 \r 0037000 0037020 u n l e s s P e r f o r m V 0037040 D D T C B ( v t a p e , E r a 0037060 s e ) d o r e s u l t i s 0037100 - 1 / / W r i t e a l o 0037120 n g e r g a p \r 0037140 ] \r 0037160 ] \r \r 0037200 i f n o t 0037220 \r 376 001 \0 } 252 0037240 [ \r \r 0037260 / / U s e t h 0037300 e l o w t h r e s h o l d 0037320 i f t h e b a d o p e r a 0037340 t i o n w a s a r e a d 0037360 o p a n d t h e r e t r y 0037400 c o u n t w a s g o n e \r 0037420 0037440 i f ( v t a p e > > V D D 0037460 T C B . r e t r i e s l e 0 0037500 ) & ( n o t v t a p e > > 0037520 V D D T C B . l o w t h r e s h 0037540 ) t h e n \r 0037560 [ / 0037600 / S e t u p t o r e t r 0037620 y t h e o p e r 376 001 \0 212 352 a 0037640 t i o n w i t h l o w t h 0037660 r e s h o l d s e t \r 0037700 0037720 v t a p e > > V D D T C B . r 0037740 e t r i e s = r e t r i e s 0037760 \r 0040000 v t a p e > > V D D 0040020 T C B . l o w t h r e s h = 0040040 t r u e \r 0040060 v t a p e > 0040100 > V D D T C B . T h r e s h o l 0040120 d = 1 \r 0040140 ] \r 0040160 ] \r 0040200 ] r e p e a t \r ] \r 0040220 \r / / B u i l d t h e e 376 0040240 001 \0 234 312 n d i n g s t a t u s 0040260 \r i f v t a p e > > V D 0040300 D T C B . F M K t h e n r e 0040320 s u l t i s - 4 \r i f 0040340 v t a p e > > V D D T C B . E O 0040360 T t h e n r e s u l t i s 0040400 - 5 \r i f v t a p e > > 0040420 V D D T C B . S E d o \r 0040440 [ \r e r r p r 0040460 o c ( E r r m s g T a p e C B ( 0040500 v t a p e ) ) \r r e 0040520 s u l t i s - 6 \r 0040540 ] \r \r i f ( T a p e E r 0040560 r & a c t u a l s t a t u s 0040600 ) e q 0 t h e n r e s u 0040620 l t i s v t a p e > > V D D T 0040640 C B . B 376 001 \0 277 034 y t e C o u n 0040660 t \r \r / / T h e e n d i n g 0040700 s t a t u s w a s n o t 0040720 g o o d s o l o o k u p 0040740 t h e t e x t f o r t h e 0040760 e r r o r a n d c a l l 0041000 t h e e r r o r h a n d l e 0041020 r \r e r r p r o c ( E r r 0041040 m s g T a p e C B ( v t a p e ) 0041060 ) \r r e s u l t i s - 7 0041100 \r ] \r \f \r \r / / - - - - - - - - 0041120 - - - - - - - - - - - - - - - - * 0041220 - - - - - - - - - \r a n d C l 0041240 o s e D D T a p e 376 001 \0 316 242 ( v 0041260 t a p e ) b e \r / / - - - - - 0041300 - - - - - - - - - - - - - - - - * 0041400 - - - - - - - - - - - - \r / / 0041420 R e l e a s e s t h e s t o 0041440 r a g e f o r v t a p e a 0041460 n d m a r k e s t h e d r 0041500 i v e a s a v a i l a b l e 0041520 i n T a p e O p e n e d \r / 0041540 / \r [ \r i f ( v t a p e 0041560 n e 0 ) d o \r 0041600 [ \r T a 0041620 p e O p e n e d ! ( v t a p 0041640 e > > V D D T C B . d r i v 376 001 0041660 \0 F G e ) = f a l s e \r 0041700 F r e e ( s y s Z 0041720 o n e , v t a p e ) \r 0041740 ] \r ] \r \r / / - - - - - 0041760 - - - - - - - - - - - - - - - - * 0042060 - - - - - - - - - - - - \r a n d 0042100 E r a s e I n c h e s ( v t a 0042120 p e , i n c h e s ) = v a 0042140 l o f \r / / - - - - - - - - - - 0042160 - - - - - - - - - - - - - - - - * 0042260 - - - 376 001 \0 016 310 - - - - \r / / 0042300 T h i s r o u t i n e e r a 0042320 s e s " i n c h e s " a m o 0042340 u n t o f t a p e ( t h r 0042360 e e i s a t y p i c a l 0042400 f i g u r e ) . \r / / A n " 0042420 i n c h e s " v a l u e o f 0042440 z e r o o r l e s s i s 0042460 a n o - o p , a n d 7 2 0042500 i s t h e m a x i m u m . 0042520 A n y n u m b e r \r / / 0042540 g r e a t e r t h a n 7 2 0042560 i s t a k e n a s 7 2 . 0042600 I n c h e s d o e s n o t 0042620 d e f a u l t . \r / / N o t 0042640 e : A s t a n d a r d g a 0042660 p i s e r a 376 001 \0 216 237 s e d 0042700 i n a d d i t i o n t o 0042720 t h e e r a s e l e n g t h 0042740 s p e c i f i e d . \r / / \r / 0042760 / \r [ \r i f i n c h e s 0043000 l s 0 t h e n r e s u l 0043020 t i s f a l s e \r i f 0043040 i n c h e s g r 7 2 t h e 0043060 n i n c h e s = 7 2 \r 0043100 r e s u l t i s P e r f o r 0043120 m V D D T C B ( v t a p e , E 0043140 r a s e V a r , i n c h e s 0043160 * v t a p e > > V D D T C B . 0043200 o p D e n s i t y ) \r ] 032 \r \r / 0043220 / - - - - - - - - - - - - - - - 0043240 - - - - - - - - - - - - - - - - 0043260 - - - - - - - - - - - - - 376 001 \0 0043300 S 005 - - - - - - - - - - - - - - 0043320 - - - - - - - - - - - - - - - - 0043340 - - - - - - - \r a n d F i l e 0043360 S k i p F w d ( v t a p e ) = 0043400 A c t O n D D T a p e ( v t a 0043420 p e , F w d S p a c e F i l e 0043440 ) \r / / - - - - - - - - - - - - 0043460 - - - - - - - - - - - - - - - - * 0043560 - - - - - \r / / F o r w a r d 0043600 S p a c e F i l e p a s s 0043620 e s o v e r t a p e r e c 0043640 o r d s u n t i l a n E O 0043660 F o r E O T i s e n c o 0043700 u n 376 001 \0 343 374 t e r e d \r / / \r 0043720 \r / / - - - - - - - - - - - - - 0043740 - - - - - - - - - - - - - - - - * 0044040 - - - - \r a n d F i l e S k i 0044060 p R e v ( v t a p e ) = A c t O 0044100 n D D T a p e ( v t a p e , B 0044120 a c k S p a c e F i l e ) \r / / 0044140 - - - - - - - - - - - - - - - - * 0044260 - \r / / R e v e r s e S p a 0044300 c e F i l e 376 001 \0 317 233 p a s 0044320 s e s o v e r t a p e r e 0044340 c o r d s i n t h e r e v 0044360 e r s e d i r e c t i o n u 0044400 n t i l E O F o r B O T \r 0044420 \f \r / / - - - - - - - - - - - - 0044440 - - - - - - - - - - - - - - - - * 0044540 - - - - - \r a n d O p e n D D 0044560 T a p e ( u n i t , e r r p r 0044600 o c , i n t e r v e n t i o n 0044620 p r o c ; n u m a r g s n u 0044640 ) = v a l o f \r / / - - - - 0044660 - - - - - - - - - - - - - - - - 0044700 - - - - - - - - - - - - 376 001 \0 256 0044720 311 - - - - - - - - - - - - - - - 0044740 - - - - - - - - - - - - - - - - * 0045000 - - \r / / A l l o c a t e s 0045020 a V D D T C B a r e a f o 0045040 r t h e u n i t s p e c i 0045060 f i e d , s e t s u p t h 0045100 e p o i n t e r t o t h e 0045120 e r r P r o c . \r / / \r / / 0045140 R e t u r n s : \r / / 0045160 0 i f O p e n w a s 0045200 U n s u c c e s s f u l \r / / 0045220 p o i n t e r t o 0045240 t h e V D D T C B i f S u 0045260 c c e s s f u l \r / / \r / / C 0045300 a l l s o f i n t e r e s t 0045320 376 001 \0 264 267 t o t h e u s e 0045340 r : \r / / e r r p 0045360 r o c \r / / \r [ \r D e f a 0045400 u l t A r g s ( l v n u , 0 0045420 , 0 , C a l l S w a t , C 0045440 a l l S w a t ) \r \r / / C h e 0045460 c k f o r V a l i d T a p 0045500 e U n i t N u m b e r \r 0045520 i f ( u n i t l s 0 ) 0045540 % ( u n i t g r M a x U n 0045560 i t N u m ) d o \r 0045600 [ \r e r r p r o c 0045620 ( " * n I l l e g a l T a p e 0045640 U n i t N u m b e r " ) \r 0045660 r e s u l t i s 0 \r 0045700 ] \r \r / / A l l o 0045720 c a t e s 376 001 \0 277 y o m e s 0045740 p a c e f o r t h e V D D 0045760 T C B \r l e t v t a p e 0046000 = A l l o c a t e ( s y s Z 0046020 o n e , l V D D T C B , t r 0046040 u e , t r u e ) \r u n l 0046060 e s s v t a p e d o \r 0046100 [ \r e r r p r 0046120 o c ( " * n S y s t e m E r r 0046140 o r : U n a b l e t o a l 0046160 l o c a t e s p a c e f o r 0046200 V D D T C B " ) \r 0046220 r e s u l t i s 0 \r 0046240 ] \r Z e r o ( v t a p e 0046260 , l V D D T C B ) \r \r / / C 0046300 h e c k t o s e e i f u 0046320 n i t i s a l r e 376 001 \0 ' r 0046340 a d y o p e n e d . \r i 0046360 f T a p e O p e n e d ! u 0046400 n i t d o \r [ \r 0046420 e r r p r o c ( " * n 0046440 O p e n c o m m a n d i s s 0046460 u e d o n t a p e u n i t 0046500 w h i c h w a s a l r e a 0046520 d y o p e n . " ) \r 0046540 F r e e ( s y s Z o n e , v 0046560 t a p e ) \r r e s u 0046600 l t i s 0 \r ] \r \r 0046620 / / S e t u p a r e a s 0046640 i n t h e V D D T C B t h 0046660 a t r e l a t e t o t h e 0046700 d r i v e w e j u s t o 0046720 p e n e d . \r v t a p e > 0046740 376 001 \0 301 001 > V D D T C B . d r i 0046760 v e = u n i t \r v t a 0047000 p e > > V D D T C B . e r r P r 0047020 o c = e r r p r o c \r 0047040 v t a p e > > V D D T C B . i n 0047060 t e r v e n t i o n P r o c = 0047100 i n t e r v e n t i o n p r o 0047120 c \r v t a p e > > V D D T 0047140 C B . C o m m a n d = 0 \r 0047160 v t a p e > > V D D T C B . 0047200 o p D e n s i t y = P E \r \r 0047220 / / I n d i c a t e t h e 0047240 d r i v e i s n o w o p e 0047260 n e d i n T a p e O p e n e 0047300 d \r T a p e O p e n e d 0047320 ! u n i t = t r u e \r \r / 0047340 / I n i 376 001 \0 k \v t a l i z e 0047360 e v e r y t h i n g \r l 0047400 e t s t a t = P e r f o r 0047420 m V D D T C B ( v t a p e , N 0047440 o O p ) \r i f v t a p e 0047460 > > V D D T C B . N R Z I t h 0047500 e n v t a p e > > V D D T C B 0047520 . o p D e n s i t y = N R Z 0047540 I \r \r \r r e s u l t i s 0047560 v t a p e \r ] \r \f \r 032 \r / / - - 0047600 - - - - - - - - - - - - - - - - * 0047700 - - - - - - - - - - - - - - - \r 0047720 a n d P e r f o r m V D D T C 0047740 B ( v t a p e , f 376 001 \0 253 255 u 0047760 n c t i o n , r e a d b u f , 0050000 r e a d c o u n t , w r i t 0050020 e b u f , w r i t e c o u n t 0050040 , \r r e a d a f t e r w 0050060 r i t e ; n u m a r g s n u 0050100 ) = v a l o f \r / / - - - - 0050120 - - - - - - - - - - - - - - - - * 0050220 - - - - - - - - - - - - - \r / / 0050240 S e t s u p a n d e x e 0050260 c u t e s a T C B l o c a 0050300 t e d i n s i d e t h e V 0050320 D D T C B a r e a t o p e 0050340 r f o r m t h e \r / / 376 0050360 001 \0 = 260 r e q u e s t e 0050400 d f u n t i o n . \r / / \r / 0050420 / R e t u r n s : \r / / 0050440 0 o n t a p e o p e 0050460 r a t i o n t i m e o u t \r / 0050500 / h a r d w a r e 0050520 s t a t u s i f n o t i m 0050540 e o u t \r / / \r / / C a l l s 0050560 o f i n t e r e s t t o 0050600 t h e u s e r : \r / / 0050620 v t a p e > > V D D T C B . 0050640 e r r P r o c o n a n y e 0050660 r r o r e x e c p t a n a 0050700 t t e m p t t o o p e r a t 0050720 e \r / / o n 0050740 a d r i v e t h a t h a 0050760 s n o 376 001 \0 305 + t b e e n 0051000 o p e n e d , i n w h i c h 0051020 c a s e C a l l S w a t i 0051040 s e x e c u t e d . \r / / \r [ 0051060 \r D e f a u l t A r g s ( 0051100 l v n u , 2 , 0 , 0 , 0051120 0 , 0 , f a l s e ) \r \r / / 0051140 I s v t a p e a l l o c a 0051160 t e d ? \r u n l e s s v 0051200 t a p e d o \r [ \r 0051220 C a l l S w a t ( " 0051240 * n T a p e I O : P e r f o r 0051260 m V D D T C B c a l l e d w 0051300 i t h o u t a V D D T C B 0051320 b e i n g a l l o c a t e d " 0051340 ) \r r e s u l t i s 0051360 0 \r 376 001 \0 } 025 ] \r 0051400 \r \r / / I s t h e d r i v 0051420 e o p e n ? \r u n l e s 0051440 s T a p e O p e n e d ! ( 0051460 v t a p e > > V D D T C B . d r 0051500 i v e ) d o \r [ \r 0051520 C a l l S w a t ( " 0051540 * n T a p e I O : P e r f o r 0051560 m V D D T C B c a l l e d w 0051600 i t h o u t a d r i v e b 0051620 e i n g O p e n e d " ) \r 0051640 r e s u l t i s 0 \r 0051660 ] \r \r / / C h e c k 0051700 f o r r e s e t . \r i 0051720 f f u n c t i o n e q R e 0051740 s e t d o \r [ \r 0051760 Z e r o ( v t a p 376 001 0052000 \0 332 236 e , l D D T C B ) \r 0052020 v t a p e > > V D D T C 0052040 B . U n i t = 0 \r 0052060 v t a p e > > V D D T C B . C 0052100 o m m a n d = 0 \r 0052120 v t a p e > > D D T C B . D e 0052140 n s i t y = 0 / / a s s 0052160 u m e P E m o d e \r 0052200 i f v t a p e > > V D D T 0052220 C B . o p D e n s i t y e q 0052240 N R Z I d o \r 0052260 v t a p e > > D D T C B . D e 0052300 n s i t y = 1 \r 0052320 v t a p e > > D D T C B . O p c 0052340 o d e = N o O p \r 0052360 @ D D T C B S t a r t = v 0052400 t a p 376 001 \0 ? 021 e \r 0052420 S t a r t I O ( T a p e R e s e 0052440 t O p ) \r \r / / D O t 0052460 h e r e s e t \r D 0052500 i s m i s s ( 4 ) \r 0052520 r e s u l t i s v t a p e > > 0052540 D D T C B . F l a g s \r 0052560 ] \r \r / / s e t u p t 0052600 h e h a r d w a r e T C B \r 0052620 l e t o p c o d e = 0052640 n i l \r Z e r o ( v t a p 0052660 e , l D D T C B ) \r \r \r 0052700 v t a p e > > D D T C B . 0052720 W r i t e C o u n t = w r i 0052740 t e c o u n t \r v t a p e 0052760 > > D D T C B . W r i t e B u f 0053000 f e r = w r 376 001 \0 313 G i t e 0053020 b u f \r v t a p e > > D D 0053040 T C B . R e a d C o u n t = 0053060 r e a d c o u n t \r v t a 0053100 p e > > D D T C B . R e a d B u 0053120 f f e r = r e a d b u f \r 0053140 v t a p e > > D D T C B . U 0053160 n i t = v t a p e > > V D D 0053200 T C B . d r i v e \r i f 0053220 v t a p e > > V D D T C B . l o 0053240 w t h r e s h t h e n v t a 0053260 p e > > D D T C B . T h r e s h 0053300 o l d = 1 \r i f r e 0053320 a d a f t e r w r i t e t h e 0053340 n v t a p e > > D D T C B . R 0053360 e a d A f t e r W r i t e = 0053400 1 \r v t a p e > > D 376 001 \0 0053420 256 262 D T C B . D e n s i t y = 0053440 0 / / a s s u m e P E 0053460 m o d e \r i f v t a p e 0053500 > > V D D T C B . o p D e n s i 0053520 t y e q N R Z I d o \r 0053540 v t a p e > > D D T C B 0053560 . D e n s i t y = 1 \r \r / / 0053600 E R A S E f u n c t i o n s 0053620 t a k e s 3 r d p a r a m 0053640 e t e r a s w r i t e b y 0053660 t e c o u n t f o r e r a 0053700 s e t i m i n g \r i f 0053720 f u n c t i o n e q E r a s 0053740 e V a r d o \r v t 0053760 a p e > > D D T C B . W r i t e 0054000 C o u n t = r e a d b u f \r 0054020 \r \f 376 001 \0 003 320 \r / / P e r f o 0054040 r m V D D T C B ( c o n t ' d 0054060 ) \r \r / / S e t u p o p c 0054100 o d e \r v t a p e > > D D 0054120 T C B . O p c o d e = ( f u 0054140 n c t i o n & # 3 7 ) \r \r / 0054160 / W A I T F O R A N Y P 0054200 E N D I N G T R I D E N T O 0054220 R T A P E I / O F O R B 0054240 A N D W I D T H ' S S A K E \r 0054260 T a p e W a i t Q u i e t 0054300 ( ) \r w h i l e T a p e 0054320 A c t i v e d o B l o c k ( 0054340 ) \r T a p e A c t i v e 0054360 = t r u e \r \r / / C h e c k 0054400 t o s e e i f w e w i 0054420 l l t r a n 376 001 \0 320 252 s f e r 0054440 d a t a s o w e c a n 0054460 t u r n o f f t h e d i s 0054500 p l a y \r \r l e t D i s 0054520 p O f f F l a g = f a l s e 0054540 \r l e t D C B S t a r t 0054560 S a v e = n i l \r \r s 0054600 w i t c h o n f u n c t i o n 0054620 i n t o \r [ \r 0054640 c a s e R e a d F w d 0054660 : \r c a s e R e a 0054700 d R e v : \r c a s e 0054720 R e a d R e v E d i t : \r 0054740 c a s e W r i t e : \r 0054760 c a s e W r i t e 0055000 E d i t : \r c a s e 0055020 E r a s e V a r : \r 376 001 \0 242 0055040 362 [ \r 0055060 i f @ D C B S t a r t 0055100 n e 0 d o \r 0055120 [ \r 0055140 D i s p O f f F l a g = 0055160 t r u e \r 0055200 D C B S t a r t S a v e = 0055220 @ D C B S t a r t \r 0055240 @ D C B S t a r t 0055260 = 0 \r 0055300 D D T a p e V e r t I n t F l 0055320 a g = f a l s e \r 0055340 u n t i l D D T 0055360 a p e V e r t I n t F l a g d 0055400 o B l o c k ( ) \r 0055420 ] \r 0055440 376 001 \0 375 221 ] \r 0055460 e n d c a s e \r ] 0055500 \r \r / / s t a r 0055520 t t h e i n s t r u c t i o 0055540 n \r @ D D T C B S t a r t 0055560 = v t a p e \r \r S t a 0055600 r t I O ( T a p e N o r m a l O 0055620 p ) \r \r u n l e s s f u 0055640 n c t i o n e q U n l o a d 0055660 d o W a i t f o r T a p e S 0055700 t a t u s ( v t a p e , f u n 0055720 c t i o n ) \r \r i f D i 0055740 s p O f f F l a g d o @ D C 0055760 B S t a r t = D C B S t a r 0056000 t S a v e \r \r \r T a p e A 0056020 c t i v e = f a l s e \r \r / 0056040 / r e t u 376 001 \0 025 033 r n w i 0056060 t h t h e c o n t r o l l e 0056100 r s t a t u s \r r e s u 0056120 l t i s v t a p e > > D D T C 0056140 B . F l a g s \r ] 032 \r \f \r \r / / 0056160 - - - - - - - - - - - - - - - - * 0056300 - \r a n d R e c S k i p F w d 0056320 ( v t a p e ) = A c t O n D 0056340 D T a p e ( v t a p e , F w d 0056360 S p a c e R e c o r d ) \r / / - 0056400 - - - - - - - - - - - - - - - - * 0056440 - - - - - - - - - - - 376 001 \0 < J 0056460 - - - - - - - - - - - - - - - - * 0056520 - - - - - \r / / S k i p s o 0056540 n e r e c o r d f o r w a r 0056560 d \r \r / / - - - - - - - - - - - 0056600 - - - - - - - - - - - - - - - - * 0056700 - - - - - - \r a n d R e c S k 0056720 i p R e v ( v t a p e ) = A 0056740 c t O n D D T a p e ( v t a p e 0056760 , B a c k S p a c e R e c o r 0057000 d ) \r / / - - - - - - - - - - - 0057020 - - - - - - - - - - - - - - - - * 0057060 376 001 \0 K # - - - - - - - - - - - 0057100 - - - - - - - - - - - - - - - - 0057120 - - - - - - - - - - - \r / / S 0057140 k i p s o n e r e c o r d 0057160 r e v e r s e \r \r / / - - - - - 0057200 - - - - - - - - - - - - - - - - * 0057300 - - - - - - - - - - - - \r a n d 0057320 S e t D e n s i t y ( v t a p 0057340 e , d e n s i t y ) = v a 0057360 l o f \r / / - - - - - - - - - - 0057400 - - - - - - - - - - - - - - - - * 0057460 - - - - - 376 001 \0 360 N - - - - - - 0057500 - - - - - - - - - - - - \r / / 0057520 S e t s t h e t a p e d e 0057540 n s i t y . \r [ \r \r \r / / C h 0057560 e c k f o r V D D T C B a 0057600 l l o c a t e d \r u n l e 0057620 s s v t a p e d o \r 0057640 [ \r C a l l S w 0057660 a t ( " * n T a p e I O : N 0057700 o V D D T C B a l l o c a t 0057720 e d " ) \r r e s u l 0057740 t i s f a l s e \r 0057760 ] \r \r l e t e r r p r o 0060000 c = v t a p e > > V D D T C 0060020 B . e r r P r o c \r \r / / C h 0060040 e c k f o r V a l i d D e 0060060 n s i t y S e l e 376 001 \0 221 k c 0060100 t i o n \r u n l e s s ( 0060120 d e n s i t y e q P E ) % 0060140 ( d e n s i t y e q N R Z 0060160 I ) d o \r [ \r 0060200 e r r p r o c ( " * n S 0060220 p e c i f i e d T a p e D e 0060240 n s i t y N o t S u p p o r 0060260 t e d " ) \r r e s u 0060300 l t i s f a l s e \r 0060320 ] \r \r l e t f l a g s 0060340 = P e r f o r m V D D T C B 0060360 ( v t a p e , N o O p ) \r 0060400 u n l e s s f l a g s d o 0060420 r e s u l t i s f a l s e \r 0060440 \r l e t D e n s i t y S 0060460 a m e F l a g = f a l s e 376 0060500 001 \0 236 017 \r t e s t f l a 0060520 g s < < D D S t a t u s . N R Z 0060540 I \r i f s o \r 0060560 i f ( d e n s i t y e q N 0060600 R Z I ) d o \r 0060620 [ \r D e n s 0060640 i t y S a m e F l a g = t r 0060660 u e \r ] \r 0060700 i f n o t \r i f 0060720 ( d e n s i t y e q P E ) 0060740 d o \r [ \r 0060760 D e n s i t y S a 0061000 m e F l a g = t r u e \r 0061020 ] \r \r i f 0061040 f l a g s < < D D S t a t u s . 0061060 B O T d o \r [ \r 0061100 376 001 \0 266 \a v t a p e > 0061120 > V D D T C B . o p D e n s i t 0061140 y = d e n s i t y \r 0061160 r e s u l t i s t r u e \r 0061200 ] \r \r i f ( 0061220 n o t v t a p e > > V D D T C 0061240 B . B O T ) & D e n s i t y 0061260 S a m e F l a g d o r e s u 0061300 l t i s t r u e \r r e s 0061320 u l t i s f a l s e \r ] \r \r / 0061340 / - - - - - - - - - - - - - - - 0061360 - - - - - - - - - - - - - - - - * 0061460 - - \r a n d T a p e E O F ( v 0061500 t a p e ) = A 376 001 \0 ; 025 c t 0061520 O n D D T a p e ( v t a p e , 0061540 W r i t e E O F ) \r / / - - - - 0061560 - - - - - - - - - - - - - - - - * 0061660 - - - - - - - - - - - - - \r \r / 0061700 / - - - - - - - - - - - - - - - 0061720 - - - - - - - - - - - - - - - - * 0062020 - - \r a n d T a p e S t a t u 0062040 s ( v t a p e ) = P e r f o 0062060 r m V D D T C B ( v t a p e , 0062100 N o O p ) 032 \r / / - - - - - 376 001 0062120 \0 005 f - - - - - - - - - - - - - 0062140 - - - - - - - - - - - - - - - - * 0062220 - - - - - - - - - - - - - - - \r 0062240 \r / / - - - - - - - - - - - - - 0062260 - - - - - - - - - - - - - - - - * 0062360 - - - - \r a n d T a p e R e w 0062400 i n d ( v t a p e ) = P e r 0062420 f o r m V D D T C B ( v t a p e 0062440 , R e w i n d ) \r / / - - - - 0062460 - - - - - - - - - - - - - - - - * 0062520 - - - 376 001 \0 235 ( - - - - - - - - 0062540 - - - - - - - - - - - - - - - - * 0062600 - - \r / / R e w i n d s t h 0062620 e t a p e \r \r / / - - - - - - 0062640 - - - - - - - - - - - - - - - - * 0062740 - - - - - - - - - - - \r a n d 0062760 T a p e R e w i n d W a i t ( v 0063000 t a p e ) = v a l o f \r / / 0063020 - - - - - - - - - - - - - - - - * 0063120 - - - - - - - - 376 001 \0 205 324 - - - 0063140 - - - - - - \r / / R e w i n d 0063160 s t h e t a p e \r / / \r / / 0063200 R e t u r n s : \r / / 0063220 t r u e i f t h e r e 0063240 w i n d c o m p l e t e d \r / 0063260 / f a l s e i f 0063300 t h e r e w i n d t i m e o 0063320 u t \r / / \r / / C a l l s o 0063340 f i n t e r e s t t o t h 0063360 e u s e r : \r / / 0063400 v t a p e > > V D D T C B . e r 0063420 r P r o c o n e r r o r ( 0063440 v i a W a i t T a p e R e a d 0063460 y ) \r / / \r [ \r P e r f o 0063500 r m V D D T C B ( v t a p e , 0063520 R e w i n d ) \r l e 376 001 \0 0063540 363 021 t t e m p s t a t u s = 0063560 W a i t T a p e R e a d y ( v 0063600 t a p e ) \r r e s u l t i 0063620 s t e m p s t a t u s \r ] 032 \r 0063640 \r / / - - - - - - - - - - - - - 0063660 - - - - - - - - - - - - - - - - * 0063760 - - - - \r a n d T a p e U n l 0064000 o a d ( v t a p e ) b e \r / / 0064020 - - - - - - - - - - - - - - - - * 0064140 - \r 376 001 \0 \0 1 [ \r T a p e 0064160 R e w i n d W a i t ( v t a p e 0064200 ) \r P e r f o r m V D D T 0064220 C B ( v t a p e , U n l o a d 0064240 ) \r ] \r \r / / - - - - - - - - - 0064260 - - - - - - - - - - - - - - - - * 0064360 - - - - - - - - \r a n d W a i 0064400 t T a p e R e a d y ( v t a p e 0064420 ) = v a l o f \r / / - - - - 0064440 - - - - - - - - - - - - - - - - * 0064540 - - - - - - - 376 001 \0 374 X - - - - 0064560 - - \r / / W a i t s f o r 0064600 t h e d r i v e t o r e p 0064620 o r t r e a d y \r / / \r / / 0064640 R e t u r n s : \r / / 0064660 t r u e i f d r i v e c a 0064700 m e r e a d y b e f o r e 0064720 t h e t i m e o u t \r / / 0064740 f a l s e i f t i m e 0064760 o u t \r / / \r [ \r l e t 0065000 t e m p s t a t u s = n i l 0065020 \r l e t T i m e r = 0065040 n i l \r S e t T i m e r ( 0065060 l v T i m e r , R e w i n d 0065100 T i m e o u t ) / / T i m e 0065120 r f o r r e w i n d t i m 0065140 e 2 4 0 0 ' @ 1 5 376 001 \0 E 0065160 275 0 i p s \r \r [ \r 0065200 B l o c k ( ) \r 0065220 t e m p s t a t u s = 0065240 P e r f o r m V D D T C B ( v 0065260 t a p e , N o O p ) \r 0065300 ] r e p e a t u n t i l 0065320 t e m p s t a t u s < < D D S t 0065340 a t u s . R D Y % T i m e r 0065360 H a s E x p i r e d ( l v T i 0065400 m e r ) \r \r u n l e s s 0065420 t e m p s t a t u s < < D D S t 0065440 a t u s . R D Y r e s u l t i 0065460 s f a l s e \r r e s u l 0065500 t i s t r u e \r ] \r \f \r / / 0065520 L o c a l P r o c e d u r e s 0065540 t o h e l p m a k e l i 0065560 f 376 001 \0 _ 247 e e a s i e r \r \r 0065600 \r / / - - - - - - - - - - - - - 0065620 - - - - - - - - - - - - - - - - * 0065720 - - - - \r a n d E r r m s g T 0065740 a p e C B ( v t a p e ) = v 0065760 a l o f \r / / - - - - - - - - - 0066000 - - - - - - - - - - - - - - - - * 0066100 - - - - - - - - \r / / f o r m 0066120 a t s a n e r r o r m e s 0066140 s a g e t h a t s u m m a r 0066160 i z e s t 376 001 \0 ^ ~ h e c o 0066200 n t r o l l e r s t a t u s \r 0066220 / / \r / / R e t u r n s : \r / 0066240 / t e x t l i n e d e 0066260 s c r i b i n g e r r o r \r / 0066300 / \r [ \r \r \r i f v 0066320 t a p e > > V D D T C B . H E 0066340 t h e n r e s u l t i s " * 0066360 n E n d i n g S t a t u s 0066400 B a d H E " \r i f v t 0066420 a p e > > V D D T C B . S E t 0066440 h e n r e s u l t i s " * n 0066460 E n d i n g S t a t u s B 0066500 a d S E " \r i f v t a 0066520 p e > > V D D T C B . D L t h 0066540 e n r e s u l t i s " * n 0066560 E n d i n g S t a t 376 001 \0 b 205 0066600 u s B a d D L " \r i f 0066620 v t a p e > > V D D T C B . R 0066640 D P t h e n r e s u l t i s 0066660 " * n E n d i n g S t a t 0066700 u s B a d R D P " \r i 0066720 f v t a p e > > V D D T C B . 0066740 I C L t h e n r e s u l t i 0066760 s " * n E n d i n g S t a 0067000 t u s B a d I C L " \r 0067020 i f v t a p e > > V D D T C B 0067040 . H D W E R R t h e n r e s 0067060 u l t i s " * n E n d i n g 0067100 S t a t u s B a d H D W E 0067120 R R " \r i f v t a p e > 0067140 > V D D T C B . W F P t h e n 0067160 r e s u l t i s " * n E n 0067200 376 001 \0 R 204 d i n g S t a t u s 0067220 B a d W F P " \r i f 0067240 v t a p e > > V D D T C B . C M 0067260 D E R t h e n r e s u l t i 0067300 s " * n E n d i n g S t a 0067320 t u s B a d C M D E R " \r \r 0067340 \r / / E r r o r m e s s a g 0067360 e s i n o r d e r o f p 0067400 r e c e d e n c e \r r e s 0067420 u l t i s " * n N O T O K 0067440 " \r ] 032 \r \r / / - - - - - - - - 0067460 - - - - - - - - - - - - - - - - * 0067560 - - - - - - - - - \r a n d F u 0067600 n c t i o 376 001 \0 201 E n N o t R e 0067620 t r y a b l e ( f u n c t i o n 0067640 ) = v a l o f \r / / - - - - 0067660 - - - - - - - - - - - - - - - - * 0067760 - - - - - - - - - - - - - \r / / 0070000 t e s t f o r n o t r e 0070020 t r y a b l e f u n c t i o n 0070040 c o d e s \r / / \r / / R e t 0070060 u r n s : \r / / t r u e 0070100 i f n o t r e t r y a b l e 0070120 \r / / \r [ \r \r i f ( f u 0070140 n c t i o n e q B a c k S p 0070160 a c e F i l e ) % ( f u n c 0070200 t i o n e q F w 376 001 \0 220 F d 0070220 S p a c e F i l e ) % ( f u 0070240 n c t i o n e q E r a s e ) 0070260 % ( f u n c t i o n e q 0070300 E r a s e V a r ) % ( f u n 0070320 c t i o n e q R e s e t ) 0070340 r e s u l t i s t r u e \r \r 0070360 r e s u l t i s f a l s e 0070400 \r ] 032 \r \r \f 032 ( 1 7 9 2 ) \r / / 0070420 - - - - - - - - - - - - - - - - * 0070540 - \r a n d W a i t f o r T a p 0070560 e S t a t u s ( v t a p e , f 0070600 u n c t i o n ) b e \r / / - 376 0070620 001 \0 217 { - - - - - - - - - - - - 0070640 - - - - - - - - - - - - - - - - * 0070740 - - - - \r / / C a u s e s a 0070760 w a i t f o r v t a p e > 0071000 > T C B . F l a g s n e 0 0071020 o r a { 3 , 1 } s e c 0071040 t i m e o u t a t { 4 5 , 0071060 1 2 5 } I P S \r / / \r / / R 0071100 e t u r n s : \r / / 0071120 v t a p e > > T C B . F l a g s 0071140 = 0 i f T i m e o u t \r 0071160 / / v t a p e > > T 0071200 C B . F l a g s = H a r d w 0071220 a r e 376 001 \0 V : D D S t a t u 0071240 s i f n o t T i m e o u t 0071260 \r / / \r / / C a l l s : \r / / 0071300 v t a p e > > V D D 0071320 T C B . e r r P r o c o n T 0071340 i m e o u t . \r / / \r [ \r \r 0071360 T a p e A c t i v e = t r 0071400 u e \r v t a p e > > V D D 0071420 T C B . t i m e o u t = f a 0071440 l s e \r \r / / W a i t f o r 0071460 t h e r e q u i r e d t i 0071500 m e . \r l e t T i m e r 0071520 = n i l \r l e t a l 0071540 a r m t i m e = R e c o r d 0071560 T i m e o u t \r i f ( f 0071600 u n c t i o n e q F w d S p 0071620 a c e F i l e ) 376 001 \0 372 273 % 0071640 ( f u n c t i o n e q B a c 0071660 k S p a c e F i l e ) d o a 0071700 l a r m t i m e = F i l e T 0071720 i m e o u t \r i f ( f u 0071740 n c t i o n e q N o O p ) 0071760 d o a l a r m t i m e = N 0072000 o O p T i m e o u t \r S e 0072020 t T i m e r ( l v T i m e r , 0072040 a l a r m t i m e ) \r u 0072060 n t i l ( v t a p e > > D D T 0072100 C B . F l a g s n e 0 ) % 0072120 T i m e r H a s E x p i r e d 0072140 ( l v T i m e r ) d o B l 0072160 o c k ( ) \r \r / / D o n e w 0072200 a i t i n g . I f t h e 0072220 s t a t u s f r o m t h 376 001 0072240 \0 312 246 e c o n t r o l l e r 0072260 i s s t i l l z e r o s , 0072300 t h e t i m e r e x p i r e 0072320 d . \r i f v t a p e > > 0072340 D D T C B . F l a g s e q 0 0072360 d o \r [ \r 0072400 v t a p e > > V D D T C B . 0072420 t i m e o u t = t r u e \r 0072440 l e t e r r p r o c 0072460 = v t a p e > > V D D T C B 0072500 . e r r P r o c \r / 0072520 / T i m e r e x p i r e d : 0072540 R e s e t t h e m i c r o 0072560 c o d e a n d w a i t f o 0072600 r t h e c o n t r o l l e r 0072620 t o s e t t l e . \r 0072640 v 376 001 \0 245 L t a p e > > D D 0072660 T C B . O p c o d e = N 0072700 o O p \r @ D D T C B 0072720 S t a r t = v t a p e \r 0072740 S t a r t I O ( T a p e R e 0072760 s e t O p ) \r D i s 0073000 m i s s ( 4 ) \r \r / 0073020 / C h e c k t o s e e i 0073040 f o p e r a t i o n w a s 0073060 a N O P \r t e s t 0073100 ( f u n c t i o n e q N o 0073120 O p ) % ( f u n c t i o n 0073140 e q R e s e t ) \r 0073160 i f s o \r 0073200 [ / / T i m e o u 0073220 t o n a N O P i n d i c 0073240 a t e s a h 376 001 \0 240 235 a r d 0073260 w a r e p r o b l e m \r 0073300 e r r p r o c 0073320 ( " * n T a p e C o n t r o l 0073340 l e r T i m e o u t o n N 0073360 o O p ; P o s s i b l e H a 0073400 r d w a r e P r o b l e m " ) 0073420 \r v t a 0073440 p e > > D D T C B . F l a g s 0073460 = 0 \r 0073500 ] \r i f n o t 0073520 \r [ \r 0073540 t e s t 0073560 v t a p e > > D D T C B . B O T 0073600 \r 0073620 i f s o \r 0073640 [ / / T 376 001 \0 0073660 346 l i m e o u t o n a m o 0073700 t i o n c o m m a n d @ B 0073720 O T i n d i c a t e s a h 0073740 a r d w a r e p r o b l e m \r 0073760 0074000 e r r p r o c ( " * n T a p 0074020 e C o n t r o l l e r T i m 0074040 e o u t a t B O T ; P o s 0074060 s i b l e H a r d w a r e P 0074100 r o b l e m " ) \r 0074120 v t a p e 0074140 > > D D T C B . F l a g s = 0074160 0 \r 0074200 ] \r 0074220 i f n o t \r 0074240 [ / 0074260 / 376 001 \0 250 336 T i m e o u t o 0074300 n a m o t i o n c o m m a 0074320 n d n o t @ B O T m a y 0074340 i n d i c a t e a b l a n 0074360 k t a p e \r 0074400 e r r p r o c 0074420 ( " * n T a p e C o n t r o l 0074440 l e r T i m e o u t ; P o s 0074460 s i b l e B l a n k T a p e 0074500 " ) \r 0074520 v t a p e > > D D T C 0074540 B . F l a g s = 0 \r 0074560 ] \r 0074600 ] \r 0074620 ] \r T a p e A c t 0074640 i v e = f a l s e \r ] 032 ( 6 0074660 3 5 ) \r 032 ( 1 376 \0 005 i g 7 9 2 ) 0074700 \r 377 \0 \0 D D T a p e U t i l A . 0074720 a s m \0 373 226 263 , 225 \0 \0 376 001 \0 227 \v 0074740 ; D D T a p e U t i l A . a s 0074760 m \r ; C o p y r i g h t X e 0075000 r o x C o r p o r a t i o n 0075020 1 9 8 1 \r ; L a s t m o d i 0075040 f i e d b y T i m D i e b 0075060 e r t , F e b r u a r y 1 0075100 2 , 1 9 8 1 4 : 1 5 P M 0075120 \r \r . e n t U B l o c k E q \r 0075140 . e n t B l o c k E q \r . e n 0075160 t U P u p C h e c k s u m \r . 0075200 e n t A s c i i X l a t e \r . 0075220 e n t E b c d i c X l a t e \r 0075240 . e n t T a p e T f s S w a t 0075260 P r o c \r \r . b e x t D D T a 0075300 p e V e r t I n t C o d e \r . b 0075320 e x t D D T a p e V e r t I n 0075340 376 001 \0 356 : t F l a g \r \r \t . s r 0075360 e l \r D D T a p e V e r t I n t 0075400 C o d e : \t . D D T a p e V e r 0075420 t I n t C o d e \r D D T a p e V 0075440 e r t I n t F l a g : \t 0 \r U B 0075460 l o c k E q : \t . U B l o c k E 0075500 q \r B l o c k E q : \t . B l o c 0075520 k E q \r U P u p C h e c k s u m 0075540 : \t . U P u p C h e c k s u m \r 0075560 A s c i i X l a t e : . A s c 0075600 i i X l a t e \r E b c d i c X l 0075620 a t e : . E b c d i c X l a t 0075640 e \r T a p e T f s S w a t P r o 0075660 c : . T a p e T f s S w a t P 0075700 r o c \r \r \t . z r e l \r \r . t a 0075720 b A : \t A t a b \r . t a b E : \t 0075740 E t a b \r 376 001 \0 T 020 . p o i n t 0075760 : \t 0 \r . l e n : \t 0 \r \r \t . n 0076000 r e l \r \f \r ; D D T a p e V e 0076020 r t I n t C o d e \r ; S e t s 0076040 D D T a p e V e r t I n t F l 0076060 a g o n v e r t i c a l i 0076100 n t e r u p t \r \r . D D T a p e 0076120 V e r t I n t C o d e : \r \t s t 0076140 a 0 A 0 \r \t a d c 0 0 \t 0076160 ; m a k e t r u e \r \t s t 0076200 a 0 @ l v V e r t I n t F l 0076220 a g \r \t l d a 0 A 0 \r \t b r 0076240 i \r \r A 0 : \t 0 \r l v V e r t I 0076260 n t F l a g : D D T a p e V e 0076300 r t I n t F l a g \r \r \r ; U B 0076320 l o c k E q ( a d r 1 , a d r 2 0076340 , c o u n t ) - 376 001 \0 " ) M 0076360 i c r o c o d e v e r s i o n 0076400 \r ; C o m p a r e t h e c 0076420 o u n t w o r d s s t a r t 0076440 i n g a t a d r 1 w i t h 0076460 t h e c o r r e s p o n d i 0076500 n g \r ; w o r d s s t a r t 0076520 i n g a t a d r 2 , a n d 0076540 r e t u r n t r u e i f f 0076560 a l l t h e c o r r e s p 0076600 o n d i n g \r ; w o r d s a 0076620 r e e q u a l . \r \r . U B l o 0076640 c k E q : \r \t s t a 3 1 , 2 0076660 \r \t l d a 3 3 , 2 \t \t ; g 0076700 e t c o u n t \r \t 6 3 0 0 0 \t 0076720 \t \t ; c a l l m i c r o c o 0076740 d e \r \t m o v 3 3 s z r 376 0076760 001 \0 372 B \t \t ; a c 3 = 0 0077000 i f a l l i s w e l l \r \t 0077020 s u b 0 0 s k p \r \t a d 0077040 c 0 0 \r \t l d a 3 1 , 2 0077060 \r \t j m p 1 , 3 \r \r ; B l o 0077100 c k E q ( a d r 1 , a d r 2 , c 0077120 o u n t ) - A s s e m b l y 0077140 l a n g u a g e v e r s i o 0077160 n \r ; C o m p a r e t h e 0077200 c o u n t w o r d s s t a r 0077220 t i n g a t a d r 1 w i t 0077240 h t h e c o r r e s p o n d 0077260 i n g \r ; w o r d s s t a r 0077300 t i n g a t a d r 2 , a n 0077320 d r e t u r n t r u e i f 0077340 f a l l t h e c o r r e s 0077360 p o n d 376 001 \0 % 231 i n g \r ; w 0077400 o r d s a r e e q u a l . \r 0077420 \r . B l o c k E q : \r \t s t a 0077440 3 1 , 2 \r \t s t a 0 2 , 2 0077460 \t \t ; S t o r e a d r 1 \r \t 0077500 m o v 1 3 \t \t \t ; a c 3 0077520 _ a d r 2 \r \r ; C o m p a r 0077540 e t h e f i r s t ( c o u 0077560 n t m o d 8 ) w o r d s 0077600 o n e a t a t i m e \r b l 0077620 e q 1 : \t l d a 0 3 , 2 \t \t 0077640 ; S e e i f c o u n t m 0077660 o d 8 = 0 \r \t l d a 1 0077700 c 7 \r \t a n d # 0 1 s n r 0077720 \r \t j m p b l e q 2 \t \t ; 0077740 Y e s , g o t o f a s t 0077760 l o o p \r \t l d a 376 001 \0 357 272 0 0100000 @ 2 , 2 \t \t ; N o , d o 0100020 s l o w c o m p a r e o f 0100040 o n e w o r d \r \t l d a 1 0100060 0 , 3 \r \t s e 0 1 \r \t j m 0100100 p b l e q 5 \t \t ; N o t e 0100120 q u a l , r e t u r n f a l 0100140 s e \r \t i s z 2 2 \t \t \t ; 0100160 E q u a l , i n c r e m e n t 0100200 a d d r e s s e s \r \t i n c 0100220 3 3 \r \t d s z 3 , 2 \t \t \t ; 0100240 D e c r e m e n t a n d t 0100260 e s t c o u n t \r \t j m p 0100300 b l e q 1 \r \r ; S e t u p 0100320 f o r f a s t l o o p \r b l 0100340 e q 2 : \t l d a 0 3 , 2 \t \t 0100360 ; C o m p u t e c o u n 376 001 0100400 \0 230 214 t / 8 \r \t m o v z r 0 0100420 0 \r \t m o v z r 0 0 \r \t m o 0100440 v z r 0 0 s n r \r \t j m 0100460 p b l e q 4 \t \t ; L e s s 0100500 t h a n 8 w o r d s i n 0100520 b l o c k \r \t s t a 0 3 , 2 0100540 \t \t ; S t o r e c o u n t / 0100560 8 \r \t l d a 0 2 , 2 \t \t ; 0100600 G e t c u r r e n t a d r 1 0100620 \r \f \r ; F a s t l o o p . 0100640 a c 0 / a d r 1 , a c 3 / 0100660 a d r 2 , c o u n t i n 0100700 f r a m e t e m p 3 . \r ; 0100720 T h e p o r t i o n i n s i 0100740 d e d i r . . . e i r i s 0100760 n o n - r e e n t r a n t d u 0101000 e t 376 001 \0 o 5 o t h e u s 0101020 e \r ; o f s a v e 2 . \r b l 0101040 e q 3 : \t d i r \t \t \t ; I n t 0101060 e r l o c k n o n - r e e n t 0101100 r a n t p o r t i o n \r \t s t 0101120 a 2 s a v e 2 \t \t ; S a v 0101140 e f r a m e p o i n t e r \r 0101160 \t m o v 0 2 \t \t \t ; a c 2 0101200 _ a d r 1 \r \r \t l d a 0 0101220 0 , 2 \t \t ; C o m p a r e 8 0101240 w o r d s , t o b l e q 6 0101260 i f f a i l \r \t l d a 1 0101300 0 , 3 \r \t s e 0 1 \r \t j m 0101320 p b l e q 6 \r \r \t l d a 0 0101340 1 , 2 \r \t l d a 1 1 , 3 \r \t 0101360 s e 0 1 \r \t j m p b l e 0101400 q 6 \r \r \t l d a 376 001 \0 261 227 0 0101420 2 , 2 \r \t l d a 1 2 , 3 \r \t 0101440 s e 0 1 \r \t j m p b l e 0101460 q 6 \r \r \t l d a 0 3 , 2 \r \t 0101500 l d a 1 3 , 3 \r \t s e 0 0101520 1 \r \t j m p b l e q 6 \r \r \t 0101540 l d a 0 4 , 2 \r \t l d a 1 0101560 4 , 3 \r \t s e 0 1 \r \t j 0101600 m p b l e q 6 \r \r \t l d a 0 0101620 5 , 2 \r \t l d a 1 5 , 3 \r 0101640 \t s e 0 1 \r \t j m p b l 0101660 e q 6 \r \r \t l d a 0 6 , 2 \r 0101700 \t l d a 1 6 , 3 \r \t s e 0 0101720 1 \r \t j m p b l e q 6 \r \r 0101740 \t l d a 0 7 , 2 \r \t l d a 0101760 1 7 , 3 \r \t s e 0 1 \r \t 0102000 j m p b l e q 6 \r \r \t l 376 001 \0 0102020 $ ! d a 0 c 1 0 \r \t a d d 0102040 0 3 \t \t \t ; I n c r e m e n 0102060 t a d r 2 b y 8 \r \t a d d 0102100 2 0 \t \t \t ; I n c r e m e 0102120 n t a d r 1 b y 8 , m o 0102140 v e t o a c 0 \r \t l d a 2 0102160 s a v e 2 \t \t ; R e c o v e 0102200 r f r a m e p o i n t e r \r 0102220 \t e i r \t \t \t ; N o w r e e 0102240 n t r a n t \r \t d s z 3 , 2 \t 0102260 \t \t ; D e c r e m e n t a n 0102300 d t e s t c o u n t \r \t j 0102320 m p b l e q 3 \t \t ; M o r e 0102340 t o d o \r \r b l e q 4 : \t m 0102360 k m i n u s o n e 0 0 s k 0102400 p \t ; H e r e t o r e t u 0102420 r n 376 001 \0 342 b t r u e \r b l e 0102440 q 5 : \t m k z e r o 0 0 \t 0102460 \t ; H e r e t o r e t u r 0102500 n f a l s e \r \t l d a 3 1 0102520 , 2 \r \t j m p 1 , 3 \r \r b l e 0102540 q 6 : \t l d a 2 s a v e 2 \t 0102560 \t ; H e r e t o r e t u r 0102600 n f a l s e w h e n \r \t e i 0102620 r \t \t \t ; i n s i d e f a 0102640 s t l o o p \r \t j m p b l e 0102660 q 5 \r \r c 7 : \t 7 \r c 1 0 : \t 1 0102700 0 \r s a v e 2 : \t 0 \r \f \r ; P 0102720 u p C h e c k s u m m i c r o 0102740 c o d e i n t e r f a c e \r ; 0102760 m i c r o c o d e d r e p l 0103000 a c e m e n t f o r P u p C 0103020 h e c k s u m 376 001 \0 255 262 p r o 0103040 c e d u r e i n P u p A l 1 0103060 a . a s m \r \r . U P u p C h e c 0103100 k s u m : \r \t s t a 3 1 , 2 0103120 \r \t m o v 0 1 \t \t \t ; a d 0103140 d r e s s i n A C 1 f o r 0103160 m i c r o c o d e \r \t m o v 0103200 0 3 \r \t l d a 3 0 , 3 \t \t 0103220 ; g e t p u p l e n g t h 0103240 i n b y t e s \r \t n e g 3 0103260 3 \t \t \t ; c o m p u t e # 0103300 w o r d s e x c l u s i v e 0103320 o f c h e c k s u m \r \t c o 0103340 m z r 3 3 \t \t ; = ( # 0103360 b y t e s - 1 ) / 2 \r \t m k 0103400 z e r o 0 0 \t \t ; i n i t 0103420 c h e c k s u m \r \t 6 376 001 \0 % 0103440 005 3 4 0 0 \t \t \t ; c a l l m 0103460 i c r o c o d e \r \t l d a 3 0103500 1 , 2 \r \t j m p 1 , 3 \r \t \r \r 0103520 \f \r ; t r a n s l a t e s t 0103540 h e b u f f e r p o i n t e 0103560 d t o b y t h e f i r s 0103600 t p a r m i n p l a c e , 0103620 t w o b y t e s p e r w 0103640 o r d \r ; s e c o n d p a r 0103660 a m e t e r i s b u f f e r 0103700 l e n g t h \r ; t w o 8 - 0103720 b i t E B C D I C b y t e s 0103740 o f t h e a r g u m e n t 0103760 ( w o r d p a c k e d ) \r ; 0104000 i n t o t w o 7 - b i t 0104020 A S C I I b y t e s ( w o r 0104040 d 376 001 \0 234 E p a c k e d ) . 0104060 * * N O N R E E N T R A N 0104100 T * * \t \r \r ; A s c i i X l 0104120 a t e ( b u f f e r , l e n ) 0104140 \r \r . A s c i i X l a t e : \r \t 0104160 s t a 3 1 2 \t \t ; s a v e 0104200 a w a y a c 3 i n B C P 0104220 L p r o v i d e d r a t - h 0104240 o l e \r \t s t a \t 0 . p o i n 0104260 t \t ; a r g 1 a r g r e p r 0104300 e s e n t s t h e b u f f e 0104320 r p o i n t e r \r \t s t a 1 0104340 . l e n \t \t ; a r g 2 r e p 0104360 r e s e n t s t h e b u f f 0104400 e r l e n g t h \r \t m o v 1 0104420 1 s n r \t ; s k i p i f 0104440 l e n g t h 376 001 \0 267 X i s n 0104460 o n - z e r o \r \t j m p a x e 0104500 n d \t \t ; l e n g t h i s z 0104520 e r o , q u i t \r a x l o o p 0104540 : \r \t l d a 0 @ . p o i n t 0104560 \t ; g e t f i r s t ( n t h 0104600 ) w o r d i n a c 0 \r \t m 0104620 o v s 0 1 \t \t ; m o v e ( 0104640 w h i l e s w a p p i n g ) 0104660 a c 0 ( w o r d A r g ) t o 0104700 a c 1 \r \t l d a 3 . M a s 0104720 k A \t ; l o a d 8 - b i t m 0104740 a s k v a l u e \r \t a n d 3 0104760 0 \t \t ; m a s k l o w b y 0105000 t e \r \t a n d 3 1 \t \t ; m a 0105020 s k h i g h b y t e \r \t l d 0105040 a 3 . t a b A \t ; 376 001 \0 \b 337 0105060 t a b l e b a s e \r \t a d d 0105100 0 3 \t \t ; a d d o f f s e t 0105120 i n a c 3 \r \t l d a 0 0 0105140 3 \t \t ; t r a n s l a t e d 0105160 c h a r i n a c 0 \r \t l d a 0105200 3 . t a b A \t ; t a b l e 0105220 b a s e \r \t a d d 1 3 \t \t ; 0105240 a d d o f f s e t i n a c 0105260 3 \r \t l d a 1 0 3 \t \t ; t 0105300 r a n s l a t e d c h a r i 0105320 n a c 1 \r \t m o v s 1 1 \t 0105340 \t ; s w a p i t i n t o t 0105360 h e h i g h b y t e \r \t a d 0105400 d 1 0 \t \t ; O R t o g e t 0105420 h e r \r \t s t a 0 @ . p o i 0105440 n t \t ; a n d p u t i t b 0105460 376 001 \0 F P a c k \r ; \r \t i s z 0105500 . p o i n t \t \t ; b u m p t h 0105520 e p o i n t e r ( s h o u l 0105540 d n e v e r s k i p , u n 0105560 l e s s p o i n t e r = 0 0105600 ) \r \t d s z . l e n \t \t ; d e 0105620 c r e m e n t r e m a i n i n 0105640 g w o r d c o u n t , s k 0105660 i p i f z e r o ( d o n e 0105700 ) \r \t j m p a x l o o p \t ; n 0105720 o t d o n e , d o s o m e 0105740 m o r e \r a x e n d : \r \t l d 0105760 a 3 1 2 \t \t ; r e s t o r 0106000 e o r i g i n a l v a l u e 0106020 o f a c 3 \r \t j m p 1 3 0106040 \t \t ; r e t u r n t o t h e 0106060 c a l l 376 001 \0 h 023 e r \r \r . M 0106100 a s k A : # 3 7 7 \r A t a b : 0106120 \r 0 0 0 . \t ; n u l \r 0 0 1 . 0106140 \t ; s o h \r 0 0 2 . \t ; s t 0106160 x \r 0 0 3 . \t ; e t x \r 0 0 4 0106200 . \t ; e o t \r 0 0 9 . \t ; h 0106220 t \r 0 0 6 . \t ; a c k \r 0 0 7 0106240 . \t ; b e l \r 0 0 8 . \t ; b 0106260 s \r 0 0 5 . \t ; e n q \r 0 2 1 0106300 . \t ; n a k \r 0 1 1 . \t ; v 0106320 t \r 0 1 2 . \t ; f f \r 0 1 3 . 0106340 \t ; c r \r 0 1 4 . \t ; s o \r 0106360 0 1 5 . \t ; s i \r ; \r 0 1 6 . 0106400 \t ; d l e \r 0 1 7 . \t ; d c 0106420 o n e \r 0 1 8 . \t ; d c t 0106440 w o \r 0 1 9 . \t ; d c t h r 0106460 e e \r 0 2 0 . \t ; 376 001 \0 200 273 d 0106500 c f o u r \r 0 1 0 . \t ; l f 0106520 \r 0 2 2 . \t ; s y n \r 0 2 3 . 0106540 \t ; e t b \r 0 2 4 . \t ; c a 0106560 n \r 0 2 5 . \t ; e m \r 0 2 6 . 0106600 \t ; s u b \r 0 2 7 . \t ; e s 0106620 c \r 0 2 8 . \t ; f s \r 0 2 9 . 0106640 \t ; g s \r 0 3 0 . \t ; r s \r 0106660 0 3 1 . \t ; u s \r ; \r 0 0 0 . 0106700 \t ; n u l l \r 0 0 0 . \t ; n u l 0106720 l \r 0 0 0 . \t ; n u l l \r 0 0 0 0106740 . \t ; n u l l \r 0 0 0 . \t ; n u 0106760 l l \r 0 0 0 . \t ; n u l l \r 0 0 0107000 0 . \t ; n u l l \r 0 0 0 . \t ; n 0107020 u l l \r 0 0 0 . \t ; n u l l \r 0 0107040 0 0 . \t ; n u l l \r 0 0 0 . \t ; 0107060 n u l l \r 0 0 0 . \t ; n u l l 376 0107100 001 \0 005 037 \r 0 0 0 . \t ; n u l l \r 0107120 0 0 0 . \t ; n u l l \r 0 0 0 . \t 0107140 ; n u l l \r 0 0 0 . \t ; n u l l 0107160 \r ; \r 0 0 0 . \t ; n u l l \r 0 0 0107200 0 . \t ; n u l l \r 0 0 0 . \t ; n 0107220 u l l \r 0 0 0 . \t ; n u l l \r 0 0107240 0 0 . \t ; n u l l \r 0 0 0 . \t ; 0107260 n u l l \r 0 0 0 . \t ; n u l l \r 0107300 0 0 0 . \t ; n u l l \r 0 0 0 . \t 0107320 ; n u l l \r 0 0 0 . \t ; n u l l 0107340 \r 0 0 0 . \t ; n u l l \r 0 0 0 . 0107360 \t ; n u l l \r 0 0 0 . \t ; n u l 0107400 l \r 0 0 0 . \t ; n u l l \r 0 0 0 0107420 . \t ; n u l l \r 0 0 0 . \t ; n u 0107440 l l \r ; \r 0 3 2 . \t ; s p \r 0 0107460 0 0 . \t ; n u l l \r 0 0 0 . \t ; 0107500 n u l l 376 001 \0 252 H \r 0 0 0 . \t ; 0107520 n u l l \r 0 0 0 . \t ; n u l l \r 0107540 0 0 0 . \t ; n u l l \r 0 0 0 . \t 0107560 ; n u l l \r 0 0 0 . \t ; n u l l 0107600 \r 0 0 0 . \t ; n u l l \r 0 0 0 . 0107620 \t ; n u l l \r 0 9 6 . \t ; c e 0107640 n t s i g n \t / / b e c o m 0107660 e s a n a c c e n t g r a 0107700 v e \r 0 4 6 . \t ; p e r i o d 0107720 \r 0 6 0 . \t ; < \r 0 4 0 . \t ; 0107740 ( \r 0 4 3 . \t ; + \r 1 2 4 . 0107760 \t ; | \r ; \r 0 3 8 . \t ; & \r 0110000 0 0 0 . \t ; n u l l \r 0 0 0 . \t 0110020 ; n u l l \r 0 0 0 . \t ; n u l l 0110040 \r 0 0 0 . \t ; n u l l \r 0 0 0 . 0110060 \t ; n u l l \r 0 0 0 . \t ; n u l 0110100 l \r 0 0 0 . \t ; n 376 001 \0 * 233 u l 0110120 l \r 0 0 0 . \t ; n u l l \r 0 0 0 0110140 . \t ; n u l l \r 0 3 3 . \t ; ! 0110160 \r 0 3 6 . \t ; $ \r 0 4 2 . \t ; 0110200 * \r 0 4 1 . \t ; ) \r 0 5 9 . 0110220 \t ; ; \r 1 2 6 . \t ; n o t 0110240 s i g n \t / / b e c o m e s 0110260 a ~ ( t i l d e ) \r ; \r 0 4 0110300 5 . \t ; - \r 0 4 7 . \t ; s l 0110320 a s h \r 0 0 0 . \t ; n u l l \r 0 0110340 0 0 . \t ; n u l l \r 0 0 0 . \t ; 0110360 n u l l \r 0 0 0 . \t ; n u l l \r 0110400 0 0 0 . \t ; n u l l \r 0 0 0 . \t 0110420 ; n u l l \r 0 0 0 . \t ; n u l l 0110440 \r 0 0 0 . \t ; n u l l \r 0 9 4 . 0110460 \t ; c i r c u m f l e x ^ \r 0110500 0 4 4 . \t ; , \r 0 3 7 . \t 376 001 0110520 \0 236 315 ; % \r 0 9 5 . \t ; u n 0110540 d e r s c o r e \r 0 6 2 . \t ; 0110560 > \r 0 6 3 . \t ; ? \r ; \r 0 0 0 0110600 . \t ; n u l l \r 0 0 0 . \t ; n u 0110620 l l \r 0 0 0 . \t ; n u l l \r 0 0 0110640 0 . \t ; n u l l \r 0 0 0 . \t ; n 0110660 u l l \r 0 0 0 . \t ; n u l l \r 0 0110700 0 0 . \t ; n u l l \r 0 0 0 . \t ; 0110720 n u l l \r 0 0 0 . \t ; n u l l \r 0110740 0 0 0 . \t ; n u l l \r 0 5 8 . \t 0110760 ; : \r 0 3 5 . \t ; # \r 0 6 4 0111000 . \t ; @ \r 0 3 9 . \t ; ' \r 0 0111020 6 1 . \t ; = \r 0 3 4 . \t ; " 0111040 \r ; \r 0 0 0 . \t ; n u l l \r 0 9 0111060 7 . \t ; a \r 0 9 8 . \t ; b \r 0111100 0 9 9 . \t ; c \r 1 0 0 . \t ; 0111120 d \r 1 376 001 \0 : I 0 1 . \t ; e \r 0111140 1 0 2 . \t ; f \r 1 0 3 . \t ; 0111160 g \r 1 0 4 . \t ; h \r 1 0 5 . \t 0111200 ; i \r 0 0 0 . \t ; n u l l \r 0 0111220 0 0 . \t ; n u l l \r 0 0 0 . \t ; 0111240 n u l l \r 0 0 0 . \t ; n u l l \r 0111260 0 0 0 . \t ; n u l l \r 0 0 0 . \t 0111300 ; n u l l \r ; \r 0 0 0 . \t ; n u 0111320 l l \r 1 0 6 . \t ; j \r 1 0 7 . 0111340 \t ; k \r 1 0 8 . \t ; l \r 1 0 0111360 9 . \t ; m \r 1 1 0 . \t ; n \r 0111400 1 1 1 . \t ; o \r 1 1 2 . \t ; 0111420 p \r 1 1 3 . \t ; q \r 1 1 4 . \t 0111440 ; r \r 0 0 0 . \t ; n u l l \r 0 0111460 0 0 . \t ; n u l l \r 0 0 0 . \t ; 0111500 n u l l \r 0 0 0 . \t ; n u l l \r 0111520 0 0 0 . \t ; n u 376 001 \0 w f l l \r 0111540 0 0 0 . \t ; n u l l \r ; \r 0 0 0 0111560 . \t ; n u l l \r 0 0 0 . \t ; n u 0111600 l l \r 1 1 5 . \t ; s \r 1 1 6 . 0111620 \t ; t \r 1 1 7 . \t ; u \r 1 1 0111640 8 . \t ; v \r 1 1 9 . \t ; w \r 0111660 1 2 0 . \t ; x \r 1 2 1 . \t ; 0111700 y \r 1 2 2 . \t ; z \r 0 0 0 . \t 0111720 ; n u l l \r 0 0 0 . \t ; n u l l 0111740 \r 0 0 0 . \t ; n u l l \r 0 0 0 . 0111760 \t ; n u l l \r 0 0 0 . \t ; n u l 0112000 l \r 0 0 0 . \t ; n u l l \r ; \r 0 0112020 0 0 . \t ; n u l l \r 0 9 2 . \t ; 0112040 b a c k s l a s h \ \r 1 2 0112060 3 . \t ; l e f t c u r l y 0112100 b r a c k e t { \r 1 2 5 . \t ; 0112120 r i g h t c u r l y 376 001 \0 0112140 344 354 b r a c k e t } \r 0 9 1 . 0112160 \t ; l e f t s q u a r e b 0112200 r a c k e t [ \r 0 9 3 . \t ; 0112220 r i g h t s q u a r e b r a 0112240 c k e t ] \r 0 0 0 . \t ; n u l 0112260 l \r 0 0 0 . \t ; n u l l \r 0 0 0 0112300 . \t ; n u l l \r 0 0 0 . \t ; n u 0112320 l l \r 0 0 0 . \t ; n u l l \r 0 0 0112340 0 . \t ; n u l l \r 0 0 0 . \t ; n 0112360 u l l \r 0 0 0 . \t ; n u l l \r 0 0112400 0 0 . \t ; n u l l \r 0 0 0 . \t ; 0112420 n u l l \r ; \r 0 0 0 . \t ; n u l 0112440 l \r 0 6 5 . \t ; A \r 0 6 6 . \t 0112460 ; B \r 0 6 7 . \t ; C \r 0 6 8 0112500 . \t ; D \r 0 6 9 . \t ; E \r 0 0112520 7 0 . \t ; F \r 0 7 1 . \t ; G 0112540 \r 0 376 001 \0 # 9 7 2 . \t ; H \r 0 0112560 7 3 . \t ; I \r 0 0 0 . \t ; n u 0112600 l l \r 0 0 0 . \t ; n u l l \r 0 0 0112620 0 . \t ; n u l l \r 0 0 0 . \t ; n 0112640 u l l \r 0 0 0 . \t ; n u l l \r 0 0112660 0 0 . \t ; n u l l \r ; \r 0 0 0 . 0112700 \t ; n u l l \r 0 7 4 . \t ; J \r 0112720 0 7 5 . \t ; K \r 0 7 6 . \t ; 0112740 L \r 0 7 7 . \t ; M \r 0 7 8 . \t 0112760 ; N \r 0 7 9 . \t ; O \r 0 8 0 0113000 . \t ; P \r 0 8 1 . \t ; Q \r 0 0113020 8 2 . \t ; R \r 0 0 0 . \t ; n u 0113040 l l \r 0 0 0 . \t ; n u l l \r 0 0 0113060 0 . \t ; n u l l \r 0 0 0 . \t ; n 0113100 u l l \r 0 0 0 . \t ; n u l l \r 0 0113120 0 0 . \t ; n u l l \r ; \r 0 0 0 . 0113140 \t ; n u l l \r 376 001 \0 322 0 0 0 . 0113160 \t ; n u l l \r 0 8 3 . \t ; S \r 0113200 0 8 4 . \t ; T \r 0 8 5 . \t ; 0113220 U \r 0 8 6 . \t ; V \r 0 8 7 . \t 0113240 ; W \r 0 8 8 . \t ; X \r 0 8 9 0113260 . \t ; Y \r 0 9 0 . \t ; Z \r 0 0113300 0 0 . \t ; n u l l \r 0 0 0 . \t ; 0113320 n u l l \r 0 0 0 . \t ; n u l l \r 0113340 0 0 0 . \t ; n u l l \r 0 0 0 . \t 0113360 ; n u l l \r 0 0 0 . \t ; n u l l 0113400 \r ; \r 0 4 8 . \t ; z e r o \r 0 0113420 4 9 . \t ; o n e \r 0 5 0 . \t ; 0113440 t w o \r 0 5 1 . \t ; t h r e 0113460 e \r 0 5 2 . \t ; f o u r \r 0 5 0113500 3 . \t ; f i v e \r 0 5 4 . \t ; 0113520 s i x \r 0 5 5 . \t ; s e v e 0113540 n \r 0 5 6 . \t ; e i g 376 001 \0 037 0113560 265 h t \r 0 5 7 . \t ; n i n e \r 0113600 0 0 0 . \t ; n u l l \r 0 0 0 . \t 0113620 ; n u l l \r 0 0 0 . \t ; n u l l 0113640 \r 0 0 0 . \t ; n u l l \r 0 0 0 . 0113660 \t ; n u l l \r 1 2 7 . \t ; d e 0113700 l \r \r \r ; E b c d i c X l a t 0113720 e . a s m - - A s s e m b l 0113740 y c o d e t o t r a n s l 0113760 a t e I N T O E B C D I C \r 0114000 \r ; t r a n s l a t e s t h 0114020 e t w o 7 - b i t A S C I 0114040 I b y t e s o f t h e a 0114060 r g u m e n t ( w o r d p a 0114100 c k e d ) \r ; i n t o t w o 0114120 8 - b i t E B C D I C b y 0114140 t e s ( w o r d p a c k e d 0114160 ) 376 001 \0 334 q . * * N O N 0114200 R E E N T R A N T * * \t \r \r ; 0114220 E b c d i c X l a t e ( w o r 0114240 d A r g , l e n g t h ) \r \r . E 0114260 b c d i c X l a t e : \r \t s t a 0114300 3 1 2 \t \t ; s a v e a w 0114320 a y a c 3 i n B C P L p 0114340 r o v i d e d r a t - h o l e 0114360 \r \t s t a \t 0 . p o i n t \t ; 0114400 a r g 1 a r g r e p r e s e 0114420 n t s t h e b u f f e r p 0114440 o i n t e r \r \t s t a 1 . l 0114460 e n \t \t ; a r g 2 r e p r e s 0114500 e n t s t h e b u f f e r 0114520 l e n g t h \r \t m o v 1 1 0114540 s n r \t ; s k i p i f l e n 0114560 g t h i s 376 001 \0 200 331 n o n - 0114600 z e r o \r \t j m p e x e n d \t 0114620 \t ; l e n g t h i s z e r o 0114640 , q u i t \r e x l o o p : \r \t 0114660 l d a 0 @ . p o i n t \t ; g 0114700 e t f i r s t ( n t h ) w 0114720 o r d i n a c 0 \r \t m o v s 0114740 0 1 \t \t ; m o v e ( w h i 0114760 l e s w a p p i n g ) a c 0 0115000 ( w o r d A r g ) t o a c 0115020 1 \r \t l d a 3 . M a s k E \t 0115040 ; l o a d 7 - b i t m a s k 0115060 v a l u e \r \t a n d 3 0 \t 0115100 \t ; m a s k l o w b y t e \r 0115120 \t a n d 3 1 \t \t ; m a s k 0115140 h i g h b y t e \r \t l d a 3 0115160 . t a b E \t ; t a b 376 001 \0 \v 330 0115200 l e b a s e \r \t a d d 0 3 0115220 \t \t ; a d d o f f s e t i n 0115240 a c 3 \r \t l d a 0 0 3 \t 0115260 \t ; t r a n s l a t e d c h a 0115300 r i n a c 0 \r \t l d a 3 0115320 . t a b E \t ; t a b l e b a s 0115340 e \r \t a d d 1 3 \t \t ; a d d 0115360 o f f s e t i n a c 3 \r \t 0115400 l d a 1 0 3 \t \t ; t r a n 0115420 s l a t e d c h a r i n a 0115440 c 1 \r \t m o v s 1 1 \t \t ; s 0115460 w a p i t i n t o t h e 0115500 h i g h b y t e \r \t a d d 1 0115520 0 \t \t ; O R t o g e t h e r 0115540 \r \t s t a 0 @ . p o i n t \t 0115560 ; a n d p u t i t b a c k 0115600 376 001 \0 215 305 \r ; \r \t i s z . p o 0115620 i n t \t \t ; b u m p t h e p 0115640 o i n t e r ( s h o u l d n 0115660 e v e r s k i p , u n l e s 0115700 s p o i n t e r = 0 ) \r \t 0115720 d s z . l e n \t \t ; d e c r e 0115740 m e n t r e m a i n i n g w 0115760 o r d c o u n t , s k i p 0116000 i f z e r o ( d o n e ) \r \t 0116020 j m p e x l o o p \t ; n o t 0116040 d o n e , d o s o m e m o 0116060 r e \r e x e n d : \r \t l d a 3 0116100 1 2 \t \t ; r e s t o r e o 0116120 r i g i n a l v a l u e o f 0116140 a c 3 \r \t j m p 1 3 \t \t ; 0116160 r e t u r n t o t h e c a 0116200 l l e r \r 376 001 \0 354 263 \r . M a s k 0116220 E : # 1 7 7 \r E t a b : \r 0 . 0116240 \r 1 . \r 2 . \r 3 . \r 4 . \r 9 . \r 0116260 6 . \r 7 . \r 8 . \r 5 . \r 2 1 . \r 0116300 1 1 . \r 1 2 . \r 1 3 . \r 1 4 . \r 0116320 1 5 . \r ; \r 1 6 . \r 1 7 . \r 1 8 0116340 . \r 1 9 . \r 2 0 . \r 1 0 . \r 2 2 0116360 . \r 2 3 . \r 2 4 . \r 2 5 . \r 2 6 0116400 . \r 2 7 . \r 2 8 . \r 2 9 . \r 3 0 0116420 . \r 3 1 . \r ; \r 6 4 . \r 9 0 . \r 0116440 1 2 7 . \r 1 2 3 . \r 9 1 . \r 1 0 0116460 8 . \r 8 0 . \r 1 2 5 . \r 7 7 . \r 0116500 9 3 . \r 9 2 . \r 7 8 . \r 1 0 7 . 0116520 \r 9 6 . \r 7 5 . \r 9 7 . \r ; \r 2 0116540 4 0 . \r 2 4 1 . \r 2 4 2 . \r 2 4 0116560 3 . \r 2 4 4 . \r 2 4 5 . \r 2 4 6 0116600 . \r 2 4 7 . \r 2 4 8 376 001 \0 347 X . 0116620 \r 2 4 9 . \r 1 2 2 . \r 9 4 . \r 7 0116640 6 . \r 1 2 6 . \r 1 1 0 . \r 1 1 1 0116660 . \r ; \r 1 2 4 . \r 1 9 3 . \r 1 9 0116700 4 . \r 1 9 5 . \r 1 9 6 . \r 1 9 7 0116720 . \r 1 9 8 . \r 1 9 9 . \r 2 0 0 . 0116740 \r 2 0 1 . \r 2 0 9 . \r 2 1 0 . \r 0116760 2 1 1 . \r 2 1 2 . \r 2 1 3 . \r 2 0117000 1 4 . \r ; \r 2 1 5 . \r 2 1 6 . \r 0117020 2 1 7 . \r 2 2 6 . \r 2 2 7 . \r 2 0117040 2 8 . \r 2 2 9 . \r 2 3 0 . \r 2 3 0117060 1 . \r 2 3 2 . \r 2 3 3 . \r 1 8 0 0117100 . \r 1 7 7 . \r 1 8 1 . \r 1 0 6 . 0117120 \r 1 0 9 . \r ; \r 7 4 . \r 1 2 9 . 0117140 \r 1 3 0 . \r 1 3 1 . \r 1 3 2 . \r 0117160 1 3 3 . \r 1 3 4 . \r 1 3 5 . \r 1 0117200 3 6 . \r 1 3 7 . \r 1 4 5 . \r 1 376 0117220 001 \0 224 314 4 6 . \r 1 4 7 . \r 1 4 8 0117240 . \r 1 4 9 . \r 1 5 0 . \r ; \r 1 5 0117260 1 . \r 1 5 2 . \r 1 5 3 . \r 1 6 2 0117300 . \r 1 6 3 . \r 1 6 4 . \r 1 6 5 . 0117320 \r 1 6 6 . \r 1 6 7 . \r 1 6 8 . \r 0117340 1 6 9 . \r 1 7 8 . \r 7 9 . \r 1 7 0117360 9 . \r 9 5 . \r 2 5 5 . \r \f \r . T 0117400 a p e T f s S w a t P r o c : \r 0117420 \t s n z 0 0 \t \t ; e n t e 0117440 r i n g S w a t ? \r k w a i t 0117460 : \t i n c 0 0 s n r \t ; 0117500 y e s , w a i t f o r n o 0117520 T r i d e n t c o m m a n d 0117540 s p e n d i n g \r \t j m p 0117560 1 3 \r \t l d a 1 @ . K B L 0117600 K \r \t s z 1 1 \r \t j m p 0117620 k w a i 376 001 \0 216 . t \r \t i n c 0117640 1 1 s z r \t ; w a i t a 0117660 w h i l e l o n g e r f o 0117700 r t h i n g s t o s e t t 0117720 l e \r \t j m p . - 1 \r ; N 0117740 o w l e t t h e t a p e 0117760 d r i v e s e t t l e , w a 0120000 i t ~ . 5 s e c s . \r ; i 0120020 n t h e f u t u r e , m o 0120040 r e e l e g a n t t e c h n 0120060 i q u e s o u g h t t o b 0120100 e s u b s t i t u t e d f o 0120120 r t h e c o d e b e l o w 0120140 \r \t s u b z 1 1 \t ; z e r o 0120160 a c 1 a n d c a r r y \r t 0120200 l o o p : \r \t l d a 0 @ 1 , 0120220 3 \t ; w a s t e 376 \0 | 315 / s o 0120240 m e t i m e \r \t l d a 0 @ 0120260 1 , 3 \r \t l d a 0 @ 1 , 3 \r 0120300 \t l d a 0 @ 1 , 3 \r \t i s z 0120320 1 \t \t \t ; i n c r e m e n t 0120340 a c 1 , s k i p i f z e r 0120360 o \r \t j m p t l o o p \r \r \t j 0120400 m p 1 3 \r \r . K B L K : \t 6 0120420 4 0 \r \r \t . e n d \r 377 \0 \0 D u m 0120440 p D D T a p e P a c k a g e . c 0120460 m \0 373 226 243 2 034 \0 \0 376 001 \0 203 345 / / 0120500 D u m p D D T a p e P a c k a 0120520 g e . c m \r / / L a s t m o 0120540 d i f i e d b y T i m D i 0120560 e b e r t , J a n u a r y 3 0120600 1 , 1 9 8 1 1 : 3 2 P M 0120620 \r f t p i v y c o n n / c 0120640 A l t o T a p e ^ \r d i r / c 0120660 > D u a l D e n s i t y > S o 0120700 f t w a r e S o u r c e s > ^ 0120720 \r d u m p / c D D T a p 0120740 e P a c k a g e S o u r c e s . 0120760 d m ^ \r D D T a p 0121000 e s . d ^ \r D D T 0121020 a p e I n i t . b c p l ^ \r 0121040 D D T a p e I O . b c 0121060 p l ^ \r D D T 376 \0 0121100 271 e 021 a p e U t i l A . a s m 0121120 ^ \r D u m p D D T a 0121140 p e P a c k a g e . c m ^ \r d 0121160 i r / c > D u a l D e n s i t 0121200 y > S o f t w a r e > ^ \r 0121220 d u m p / c D D T a p e P a 0121240 c k a g e . d m ^ \r 0121260 D D T a p e s . d ^ \r 0121300 D D T a p e I n i t . b r 0121320 ^ \r D D T a p e I 0121340 O . b r ^ \r D D T 0121360 a p e U t i l A . b r \r 374 0121375