$ od -c -N 50000 [_CD6_]<altotape>TDPSources.dm!1 0000000 377 \0 \0 T D P D e f s . d \0 373 226 260 0000020 n ] \0 \0 376 001 \0 z 7 / / - - 0000040 T D P D e f s . d \r / / D e 0000060 f i n i t i o n s f o r T D 0000100 P \r / / L a s t m o d i f i 0000120 e d b y T i m D i e b e r 0000140 t , F e b r u a r y 1 0 , 0000160 1 9 8 1 2 : 2 9 P M \r / / 0000200 C o p y r i g h t X e r o x 0000220 , 1 9 8 1 \r \r e x t e r n a l 0000240 \r [ \r \r / / P r o c e d u r e 0000260 s f r o m t h e A L T O 0000300 O p e r a t i n g S y s t e m 0000320 \r A d d T o Z o n e \r 0000340 A l l o c a t e \r C a l 0000360 l S w a t \r C l o s e s \r 0000400 C r e a t e D i s p l a y 0000420 S t r e a m \r 376 001 \0 3 220 E 0000440 n d o f s \r F r e e \r 0000460 G e t F i x e d \r G e t 0000500 s \r I d l e \r k e y 0000520 s \r l v S w a t C o n t e 0000540 x t P r o c \r l v U s e r 0000560 F i n i s h P r o c \r M o 0000600 v e B l o c k \r O p e n F 0000620 i l e \r P u t s \r S 0000640 e t B l o c k \r S e t E n 0000660 d C o d e \r S h o w D i s 0000700 p l a y S t r e a m \r S t 0000720 a r t I O \r s y s F o n t 0000740 \r s y s Z o n e \r T 0000760 r u n c a t e D i s k S t r e a 0001000 m \r W n s \r W o s \r 0001020 W s \r W s s \r \r 376 001 0001040 \0 o b / / S t a t i c s f r 0001060 o m t h e A L T O O p e r 0001100 a t i n g S y s t e m \r 0001120 d s p \r \r / / P r o c e d u r 0001140 e s f r o m t h e A L T O 0001160 L o a d R a m P a c k a g 0001200 e \r L o a d R a m \r 0001220 S e t B L V \r \f \r / / P r o c 0001240 e d u r e s f r o m t h e 0001260 A L T O B C P L R u n t i m 0001300 e P a c k a g e \r I n i 0001320 t B c p l R u n t i m e \r \r / / 0001340 P r o c e d u r e s f r o m 0001360 t h e A L T O T e m p l a 0001400 t e P a c k a g e \r P u 0001420 t T e m p l a t e \r \r \r / / P 0001440 r o c 376 001 \0 373 \v e d u r e s t 0001460 o D D T a p e I O \r B l 0001500 o c k \r T a p e W a i t Q 0001520 u i e t \r T a p e E r r P 0001540 r o c \r \r / / P r o c e d u r 0001560 e s t o o r f r o m T D 0001600 P U t i l \r D u m p \r 0001620 D i s p l a y C o u n t s \r 0001640 D i s p D D S t a t u s \r 0001660 C o m p a r e D a t a \r 0001700 C o m p a r e R o u t i n e \r 0001720 P a t t e r n R o u t i n 0001740 e \r G e t I n t \r T 0001760 a p e T r i d e n t B o o t \r 0002000 S y s S t r \r S t r T 0002020 o I n t \r M i n \r D 0002040 i g i t \r 376 001 \0 x # B l u 0002060 e \r ] 032 ( 6 3 5 ) \r e x t e r n 0002100 a l \r [ \r / / e x t e r n a l 0002120 s u s e d b y o r s u p 0002140 p l i e d t o T D P U t i l 0002160 \r B i t M s g \r D 0002200 a t a C o m p a r e F l a g \r 0002220 D i s p A f t e r E r r o r 0002240 F l a g \r d r i v e n o \r 0002260 d u m p s t r e a m \r 0002300 L o g F i l e \r L o g F 0002320 l a g \r L o o p R e a d A 0002340 f t e r W r i t e F l a g \r 0002360 m o d e \r m e n u \r 0002400 N u m B a d D a t a \r N 0002420 u m L o w T h r e s h o l d \r 0002440 N u m O p e r a t i o 376 001 \0 0002460 352 d n s T h i s P a s s \r 0002500 N u m P e r s i s t a n t \r 0002520 N u m R e e l \r N u m R 0002540 e G a p s \r N u m R e t r 0002560 i e s \r N u m R e t r i e 0002600 s g t 1 \r O p D e n s i t 0002620 y \r r e a d b u f \r 0002640 r e a d b u f w o r d 0002660 / / w o r d l e n g t h s 0002700 , p l u s e x t r a r o o 0002720 m \r r e a d l 0002740 / / b y t e l e 0002760 n g t h s \r r e t r y \r 0003000 S C o m p a r e R e a d F l 0003020 a g \r S i n g l e O p D e 0003040 n s i t y \r S i n g l e R 0003060 e a 376 \0 272 345 \0 d A f t e r W r i 0003100 t e F l a g \r s p e e d \r 0003120 S t o p A E f l a g \r 0003140 S t o p D E f l a g \r T 0003160 a p e T r i d e n t U F P \r 0003200 v t a p e \r w r i t e b 0003220 u f w o r d / / w 0003240 o r d l e n g t h s , p l u 0003260 s e x t r a r o o m \r 0003300 w r i t e b u f \r w r i t 0003320 e l / / 0003340 b y t e l e n g t h s \r ] 032 0003360 \r 377 \0 \0 T D P . b c p l \0 373 226 335 0003400 i 262 \0 \0 376 001 \0 201 p / / - - 0003420 T D P . b c p l \r / / D i a g 0003440 n o s t i c P r o g r a m f 0003460 o r D u a l D e n s i t y 0003500 A l t o M a g n e t i c T a 0003520 p e s \r / / L a s t m o d i 0003540 f i e d b y T i m D i e b 0003560 e r t , M a r c h 1 6 , 1 0003600 9 8 1 5 : 2 1 P M \r / / 0003620 C o p y r i g h t X e r o x , 0003640 1 9 8 1 \r \r g e t " D D 0003660 T a p e s . d " \r g e t " 0003700 M e n u D e f s . d " \r g e t 0003720 " A l t o D e f s . D " \r g 0003740 e t " T D P D e f s . d " 0003760 / / T h i s d e f s f i 0004000 l e c o n t a i 376 001 \0 ` m n s 0004020 t h e i n t e r e s t i n g 0004040 s t u f f f o r T D P . 032 0004060 ( 6 3 5 ) \r g e t " T D P 0004100 M e n u N a m e s . d " 032 \r \r / 0004120 / T h e s e a r e d e f i 0004140 n e d a s E x t e r n a l 0004160 i n T D P D e f s . d \r s t a 0004200 t i c \r [ \r / / s t a t i c 0004220 s u s e d b y o r s u p 0004240 p l i e d t o T D P U t i l 0004260 \r B i t M s g \r D 0004300 a t a C o m p a r e F l a g \r 0004320 D i s p A f t e r E r r o r 0004340 F l a g \r d r i v e n o \r 0004360 d u m p s t r e a m \r 0004400 L o g F i l e \r L o 376 001 0004420 \0 357 d g F l a g \r L o o p 0004440 R e a d A f t e r W r i t e F l 0004460 a g \r m e n u \r m o 0004500 d e \r N u m B a d D a t a 0004520 \r N u m L o w T h r e s h 0004540 o l d \r N u m O p e r a t 0004560 i o n s T h i s P a s s \r 0004600 N u m P e r s i s t a n t \r 0004620 N u m R e e l \r N u m R 0004640 e G a p s \r N u m R e t r 0004660 i e s \r N u m R e t r i e 0004700 s g t 1 \r O p D e n s i t 0004720 y \r r e a d b u f \r 0004740 r e a d b u f w o r d 0004760 / / w o r d l e n g t h s 0005000 , p l u s e x t r a r o o 0005020 m \r 376 001 \0 p 342 r e a d l 0005040 / / b y 0005060 t e l e n g t h s \r r e 0005100 t r y \r S C o m p a r e R 0005120 e a d F l a g \r S i n g l 0005140 e R e a d A f t e r W r i t e F 0005160 l a g \r S t o p A E f l a 0005200 g \r S t o p D E f l a g \r 0005220 T a p e T r i d e n t U F 0005240 P \r v t a p e \r w r 0005260 i t e b u f w o r d 0005300 / / w o r d l e n g t h s , 0005320 p l u s e x t r a r o o m 0005340 \r w r i t e b u f \r 0005360 w r i t e l 0005400 / / b y t e l e n g t h 0005420 s \r \r ] 032 \r \r m 376 001 \0 004 D a n i 0005440 f e s t \r [ \r m u c h c o 0005460 r e = # 7 6 0 0 0 \r / / m o d 0005500 e n a m e s \r o c t a l 0005520 = 0 \r a s c i i = 0005540 1 \r e b c d i c = 2 \r 0005560 b y t e m o d e = 3 \r 0005600 / / A S C I I s t u f f \r 0005620 C R = # 1 5 \r ] 032 \r \r s 0005640 t r u c t u r e B T : \r [ \r c 0005660 h a r ^ 0 , 0 b y t e \r ] 0005700 032 \r \f \r l e t M a i n ( ) b 0005720 e \r [ \r P u t T e m p l a 0005740 t e ( d s p , " * N T D P o f 0005760 M a r c h 1 6 , 1 9 8 1 0006000 5 : 2 1 P M - - - T a p 0006020 e D i a g n o s t i c 376 001 \0 0006040 " 327 P r o g r a m " ) \r \r / / 0006060 I n i t t h e t r i d e n t 0006100 / t a p e m i c r o c o d e , 0006120 s e t u p c o d e t o 0006140 r e t u r n t a s k s t o 0006160 R O M w h e n d o n e . \r 0006200 I n i t i a l i z e D D T a 0006220 p e ( ) \r I n i t B c p l 0006240 R u n t i m e ( ) \r S e t 0006260 E n d C o d e ( I n i t i a l i 0006300 z e D D T a p e ) \r \r / / S t 0006320 a r t b y m o v i n g f r 0006340 e e c o r e i n t o t h e 0006360 " h e a p " \r l e t v = 0006400 G e t F i x e d ( m u c h c o r 0006420 e ) \r u n l e s s v d 0006440 o 376 001 \0 270 373 C a l l S w a t ( 0006460 " G e t F i x e d f a i l e d 0006500 " ) \r A d d T o Z o n e ( 0006520 s y s Z o n e , v , m u c h c o 0006540 r e ) \r l e t f h = s 0006560 y s F o n t ! ( - 2 ) \r l 0006600 e t n L i n e s = 3 2 \r 0006620 l e t w W i d t h = 3 8 \r 0006640 l e t l B l o c k = l D C B 0006660 * n L i n e s + f h * w W i d t 0006700 h * n L i n e s + 1 \r d u 0006720 m p s t r e a m = C r e a t e D 0006740 i s p l a y S t r e a m ( n L i 0006760 n e s , A l l o c a t e ( s y s 0007000 Z o n e , l B l o c k ) , l B l 0007020 o c k ) \r \r / / S e t u p 0007040 m e n u \r \r 376 001 \0 J \v l e 0007060 t l e n g t h = M e n u S 0007100 i z e ( ) + 1 / 0007120 / P a r a n o i a f r o m 0007140 a n o l d b u g \r l e 0007160 t b u f f e r = A l l o c 0007200 a t e ( s y s Z o n e , l e n g 0007220 t h ) \r l e t m e n u s 0007240 t r e a m = C r e a t e M e 0007260 n u D i s p l a y S t r e a m ( 0007300 b u f f e r , l e n g t h ) \r 0007320 m e n u = M e n u D a t a > 0007340 > D A T A . m e n u \r S h 0007360 o w D i s p l a y S t r e a m ( 0007400 m e n u s t r e a m , D S b e l 0007420 o w ) \r S h o w D i s p l 0007440 a y S t r e a m ( d u m 376 001 \0 253 0007460 201 p s t r e a m , D S b e l o w 0007500 , m e n u s t r e a m ) \r \r / / 0007520 S e t u p p r o g r a m 0007540 d e f a u l t s a n d d i s 0007560 p l a y i t i n t h e b 0007600 o x e s o n t h e m e n u 0007620 \r \r m o d e = b y t e 0007640 m o d e \r W r i t e B o x 0007660 ( m e n u ! M o d e , " B y t e 0007700 " ) \r \r l e t r e a d l 0007720 s t r = S y s S t r ( " 1 0 0007740 2 4 " ) \r r e a d l = 0007760 1 0 2 4 \r W r i t e B o x 0010000 ( m e n u ! R e a d L , r e a d 0010020 l s t r ) \r r e a d b u f 0010040 w o r d = r e a d l r s h 0010060 i 376 001 \0 263 212 f t 1 + 1 \r 0010100 r e a d b u f = A l l o c 0010120 a t e ( s y s Z o n e , r e a 0010140 d b u f w o r d ) \r \r l e 0010160 t w r i t e l s t r = S y 0010200 s S t r ( " 1 0 2 4 " ) \r 0010220 w r i t e l = 1 0 2 4 \r 0010240 W r i t e B o x ( m e n u ! W 0010260 r i t e L , w r i t e l s t r ) 0010300 \r w r i t e b u f w o r d 0010320 = w r i t e l r s h i f t 0010340 1 + 1 \r w r i t e b 0010360 u f = A l l o c a t e ( s y 0010400 s Z o n e , w r i t e b u f w 0010420 o r d ) \r f o r i = 0010440 0 t o w r i t e l - 1 d o 0010460 w r i t e 376 001 \0 210 233 b u f > > 0010500 B T . c h a r ^ i = ( i 0010520 & # 3 7 7 ) \r \r L o g 0010540 F l a g = f a l s e \r 0010560 L o g F i l e = 0 \r W 0010600 r i t e B o x ( m e n u ! t L o 0010620 g , " E r r o r L o g g i n 0010640 g O F F " ) \r \r l e t 0010660 d r i v e s t r = S y s S t 0010700 r ( " 0 " ) \r d r i v e n 0010720 o = 0 \r W r i t e B o 0010740 x ( m e n u ! U n i t , d r i v 0010760 e s t r ) \r \r l e t r e 0011000 t r y s t r = S y s S t r ( 0011020 " 0 " ) \r r e t r y = 0011040 0 \r W r i t e B o x ( m e 0011060 n u ! R e t r i e s , 376 001 \0 265 033 0011100 r e t r y s t r ) \r \r l e 0011120 t O p D e n s i t y s t r = 0011140 " P E " \r O p D e n s i 0011160 t y = P E \r W r i t e 0011200 B o x ( m e n u ! t S i n g l e 0011220 D e n s i t y S e t , O p D e 0011240 n s i t y s t r ) \r \r S i 0011260 n g l e R e a d A f t e r W r i 0011300 t e F l a g = f a l s e \r 0011320 W r i t e B o x ( m e n u ! 0011340 t S i n g l e R e a d A f t e r 0011360 W r i t e , " R e a d a f t 0011400 e r W r i t e O F F " ) \r \r 0011420 S C o m p a r e R e a d F 0011440 l a g = f a l s e \r W 0011460 r i t e B o x ( m e n u ! t S i 0011500 376 001 \0 m 231 n g l e C o m p a r e 0011520 A f t e r R e a d , " C o m p 0011540 a f t e r R e a d O F F " 0011560 ) \r \r S t o p D E f l a g 0011600 = f a l s e \r W r i t 0011620 e B o x ( m e n u ! t S t o p D 0011640 E , " S t o p o n D a t a 0011660 E r r o r O F F " ) \r \r 0011700 S t o p A E f l a g = f a 0011720 l s e \r W r i t e B o x ( 0011740 m e n u ! t S t o p A E , " S 0011760 t o p o n A n y E r r o r 0012000 O F F " ) \r \r L o o p R 0012020 e a d A f t e r W r i t e F l a 0012040 g = f a l s e \r W r i 0012060 t e B o x ( m e n u ! t L o o p 0012100 R e a d A 376 001 \0 \r 016 f t e r W r 0012120 i t e , " R e a d a f t e r 0012140 W r i t e O F F " ) \r \r 0012160 D a t a C o m p a r e F l a g 0012200 = t r u e \r W r i t e 0012220 B o x ( m e n u ! t D a t a C o 0012240 m p a r e , " D a t a C o m 0012260 p a r e O N " ) \r \r D i 0012300 s p A f t e r E r r o r F l a g 0012320 = t r u e \r W r i t e 0012340 B o x ( m e n u ! t D i s p A f 0012360 t e r E r r o r , " D i s p 0012400 S t a t u s o n E r r o r 0012420 O N " ) \r \r / / o p e n t h 0012440 e i n i t i a l t a p e \r 0012460 R e O p e n T a p e ( ) \r \f 0012500 \r / / L o o p o 376 001 \0 374 # v 0012520 e r m e n u r o u t i n e \r 0012540 W r i t e B o x ( m e n u 0012560 ! T i t l e , " T D P o f 0012600 F e b r u a r y 1 0 , 1 9 8 0012620 1 2 : 0 8 P M - - - T 0012640 a p e D i a g n o s t i c P 0012660 r o g r a m " ) \r F i l l 0012700 B o x ( m e n u ! T i t l e , 0 0012720 ) \r N u m O p e r a t i o 0012740 n s T h i s P a s s = 0 \r 0012760 N u m R e t r i e s = 0 0013000 \r N u m R e t r i e s g t 0013020 1 = 0 \r N u m R e G a 0013040 p s = 0 \r N u m L o w 0013060 T h r e s h o l d = 0 \r 0013100 N u m P e r s i s t a n t 376 0013120 001 \0 307 245 = 0 \r N u m B a 0013140 d D a t a = 0 \r N u m 0013160 R e e l = 0 \r \r 0013200 [ \r l e t s e l e 0013220 c t i o n = S c a n M e n u 0013240 ( m e n u ) \r s w i 0013260 t c h o n s e l e c t i o n 0013300 i n t o \r [ \r 0013320 \r c a s e t M o d e : \r 0013340 [ \r 0013360 m o d e = ( m 0013400 o d e + 1 ) r e m 4 \r 0013420 l e t m 0013440 o d e t e x t = s e l e c t 0013460 o n m o d e i n t o \r 0013500 [ \r 0013520 376 001 \0 213 366 0013540 c a s e o c t a l : " 0013560 O c t a l " \r 0013600 c a s e a s c i i 0013620 : " A s c i i " \r 0013640 c a s e e 0013660 b c d i c : " E b c d i c " 0013700 \r 0013720 c a s e b y t e m o d e : 0013740 " B y t e " \r 0013760 ] \r 0014000 F i l l B o x ( m e n u 0014020 ! M o d e , w h i t e ) \r 0014040 W r i t e B 0014060 o x ( m e n u ! M o d e , m o 0014100 d e t e x t ) \r 0014120 ] \r 376 001 \0 \0 004 0014140 e n d c a s e \r \r 0014160 c a s e t S h o w R e a d : \r 0014200 [ \r D u m p ( " * n 0014220 * * R e a d B u f f e r * * " 0014240 , r e a d b u f , v t a p e > > 0014260 V D D T C B . B y t e C o u n t 0014300 ) \r e n d c a s e \r 0014320 ] \r \r c a s e t R e a d L : \r 0014340 [ \r 0014360 F r e e ( s 0014400 y s Z o n e , r e a d b u f ) \r 0014420 [ 0014440 \r 0014460 r e a d l s t r = G e t S t 0014500 r i n g ( m e n u ! R e a d L , 0014520 r e a d l s t r , s y s 376 001 0014540 \0 321 b Z o n e ) \r 0014560 r e a d l = 0014600 S t r T o I n t ( r e a d l s t 0014620 r ) \r 0014640 r e a d b u f w o r d = 0014660 r e a d l r s h i f t 1 + 0014700 1 \r 0014720 r e a d b u f = A l l o c a 0014740 t e ( s y s Z o n e , r e a d b 0014760 u f w o r d , t r u e ) \r 0015000 u n l 0015020 e s s r e a d b u f d o \r 0015040 0015060 W s ( " * n R e a d b u f f 0015100 e r t o o l a r g e " ) \r 0015120 ] 0015140 r e p 376 001 \0 y 355 e a t u n t i l 0015160 r e a d b u f \r 0015200 ] \r 0015220 e n d c a s e \r \r c a s e 0015240 t S h o w W r i t e : \r 0015260 [ \r D u m p ( " * n * * W 0015300 r i t e B u f f e r * * " , w 0015320 r i t e b u f , w r i t e l ) \r 0015340 e n d c a s e \r ] \r 0015360 \r c a s e t W r i t e L : \r 0015400 [ \r 0015420 F r e e ( s y 0015440 s Z o n e , w r i t e b u f ) \r 0015460 [ 0015500 \r 0015520 w r i t e l s t r = G e t S 0015540 t r i n g ( m e 376 001 \0 _ 367 n u ! 0015560 W r i t e L , w r i t e l s t 0015600 r , s y s Z o n e ) \r 0015620 w r i t e 0015640 l = S t r T o I n t ( w r i 0015660 t e l s t r ) \r 0015700 w r i t e b u f w 0015720 o r d = w r i t e l r s h 0015740 i f t 1 + 1 \r 0015760 w r i t e b u 0016000 f = A l l o c a t e ( s y s Z o 0016020 n e , w r i t e b u f w o r d , 0016040 t r u e ) \r 0016060 u n l e s s w r i 0016100 t e b u f d o \r 0016120 W s ( " * 0016140 n W r i t e b u f f e r 376 001 \0 0016160 351 c t o o l a r g e " ) \r 0016200 ] 0016220 r e p e a t u n t i l w r i t 0016240 e b u f \r 0016260 f o r i = 0 t o w r 0016300 i t e l - 1 d o w r i t e b 0016320 u f > > B T . c h a r ^ i = 0016340 ( i & # 3 7 7 ) \r 0016360 ] \r 0016400 e n d c a s e \r \r 0016420 c a s e t P a t t e r n : \r 0016440 [ \r P a t t e r n R o 0016460 u t i n e ( ) \r e n d c a 0016500 s e \r ] \r \r c a s e t C 0016520 o m p a r e B u f f e r s : \r 0016540 [ \r C o m p a r e R o 0016560 u t 376 001 \0 > = i n e ( ) \r 0016600 e n d c a s e \r ] \r \r c a 0016620 s e t L o g : \r [ \r 0016640 t e s t L o g F l a g \r 0016660 i f s o \r 0016700 [ \r F i l 0016720 l B o x ( m e n u ! t L o g , 0016740 w h i t e ) \r 0016760 W r i t e B o x ( m e n u ! t L 0017000 o g , " E r r o r L o g g i 0017020 n g O F F " ) \r 0017040 F i l l B o x ( m e n u ! t 0017060 L o g , f l i p ) \r 0017100 L o g F l a g = f a 0017120 l s e \r i f 0017140 L o g F i l e n e 0 d o \r 0017160 376 001 \0 231 [ 0017200 [ \r T 0017220 r u n c a t e D i s k S t r e a 0017240 m ( L o g F i l e ) \r 0017260 C l o s e s ( L o 0017300 g F i l e ) \r 0017320 L o g F i l e = 0 \r 0017340 ] \r 0017360 ] \r i f 0017400 n o t \r [ \r 0017420 F i l l B o x ( 0017440 m e n u ! t L o g , w h i t e 0017460 ) \r W r i t e 0017500 B o x ( m e n u ! t L o g , " 0017520 E r r o r L o g g i n g O N 0017540 " ) \r F i l l 0017560 B o x ( m e n u ! t L o 376 001 \0 030 0017600 031 g , f l i p ) \r 0017620 i f L o g F i l e n e 0017640 0 t h e n C a l l S w a t 0017660 ( " F i l e m e s s e d u p 0017700 " ) \r L o g F 0017720 i l e = O p e n F i l e ( " 0017740 T D P . L o g " ) \r 0017760 u n l e s s L o g F i l 0020000 e t h e n C a l l S w a t ( 0020020 " E r r o r i n f i l e o 0020040 p e n " ) \r 0020060 L o g F l a g = t r u e 0020100 \r ] \r ] 0020120 \r e n d c a s e \r \r c a 0020140 s e Q u i t I t : \r [ \r 0020160 C l o s e D D T a p e ( v 0020200 t 376 001 \0 310 256 a p e ) \r i f 0020220 L o g F l a g t h e n \r 0020240 [ \r T r u n 0020260 c a t e D i s k S t r e a m ( L 0020300 o g F i l e ) \r C l 0020320 o s e s ( L o g F i l e ) \r 0020340 ] \r f i n i 0020360 s h \r ] \r e n d c a 0020400 s e \r \f \r / / S i n g l e O 0020420 p e r a t i o n S t u f f \r \r 0020440 c a s e t U n i t : \r 0020460 [ \r 0020500 [ \r 0020520 d r i v e s 0020540 t r = G e t S t r i n g ( m 0020560 e n u ! U n i t , d r i v e s 0020600 t r , s y 376 001 \0 ! 002 s Z o n e 0020620 ) \r 0020640 d r i v e n o = S t r T o 0020660 I n t ( d r i v e s t r ) \r 0020700 i f 0020720 o u t s i d e ( 0 , d r i v e 0020740 n o , 3 ) d o \r 0020760 W s ( " 0021000 * n D r i v e N u m b e r m 0021020 u s t b e 0 . . 3 " ) \r 0021040 ] r 0021060 e p e a t w h i l e o u t s i 0021100 d e ( 0 , d r i v e n o , 3 0021120 ) \r R e 0021140 O p e n T a p e ( ) \r 0021160 ] \r 0021200 e n d c a s 376 001 \0 235 344 0021220 e \r \r c a s e t R e t r i e s 0021240 : \r [ \r 0021260 r e t r 0021300 y s t r = G e t S t r i n g 0021320 ( m e n u ! R e t r i e s , r 0021340 e t r y s t r , s y s Z o n e 0021360 ) \r r e 0021400 t r y = S t r T o I n t ( r 0021420 e t r y s t r ) \r 0021440 i f o u t s i d e ( 0021460 0 , r e t r y , 8 ) d o \r 0021500 W 0021520 s ( " * n R e t r y c o u n t 0021540 m u s t b e 0 . . . 8 " ) 0021560 \r ] r 0021600 e p e a t w h i l e o u t s i 0021620 376 001 \0 017 212 d e ( 0 , r e t r y 0021640 , 8 ) \r 0021660 e n d c a s e \r \r c a s e t 0021700 S i n g l e D e n s i t y S e t 0021720 : \r [ \r 0021740 t e s t 0021760 O p D e n s i t y e q P E 0022000 \r i f s 0022020 o \r 0022040 [ \r 0022060 O p D e n s i t y = N R 0022100 Z I \r 0022120 O p D e n s i t y s t r = 0022140 " N R Z I " \r 0022160 F i l l B o x ( m 0022200 e n u ! t S i n g l e D e n s i 0022220 t y S e t 376 001 \0 366 313 , w h i t 0022240 e ) \r 0022260 W r i t e B o x ( m e n u ! 0022300 t S i n g l e D e n s i t y S e 0022320 t , O p D e n s i t y s t r ) 0022340 \r 0022360 F i l l B o x ( m e n u ! t S i 0022400 n g l e D e n s i t y S e t , 0022420 f l i p ) \r 0022440 S e t D e n s i t y ( 0022460 v t a p e , O p D e n s i t y 0022500 ) \r 0022520 ] \r i 0022540 f n o t \r 0022560 [ \r 0022600 O p D e n s i t y = 0022620 P E \r 376 001 \0 257 $ 0022640 O p D e n s i t 0022660 y s t r = " P E " \r 0022700 F i l l B 0022720 o x ( m e n u ! t S i n g l e D 0022740 e n s i t y S e t , w h i t e 0022760 ) \r 0023000 W r i t e B o x ( m e n u ! t 0023020 S i n g l e D e n s i t y S e t 0023040 , O p D e n s i t y s t r ) \r 0023060 F 0023100 i l l B o x ( m e n u ! t S i n 0023120 g l e D e n s i t y S e t , f 0023140 l i p ) \r 0023160 S e t D e n s i t y ( v 0023200 t a p e , O p D e n s i t y ) 0023220 \r 376 0023240 001 \0 223 006 ] \r 0023260 ] \r 0023300 e n d c a s e \r \r c a s e t 0023320 S i n g l e R e a d A f t e r W 0023340 r i t e : \r 0023360 [ \r 0023400 t e s t S i n g l e R e a d A 0023420 f t e r W r i t e F l a g \r 0023440 i f s o \r 0023460 [ 0023500 \r 0023520 S i n g l e R e a d A f t e r W 0023540 r i t e F l a g = f a l s e 0023560 \r 0023600 F i l l B o x ( m e n u ! t S i 0023620 n g l e R e a d A f t e r W r i 0023640 t e , 376 001 \0 002 311 w h i t e ) \r 0023660 W 0023700 r i t e B o x ( m e n u ! t S i 0023720 n g l e R e a d A f t e r W r i 0023740 t e , " R e a d a f t e r 0023760 W r i t e O F F " ) \r 0024000 F i l l B 0024020 o x ( m e n u ! t S i n g l e R 0024040 e a d A f t e r W r i t e , f 0024060 l i p ) \r 0024100 ] \r 0024120 i f n o t \r 0024140 [ \r 0024160 S i n g l e R e 0024200 a d A f t e r W r i t e F l a g 0024220 = t r u e \r 0024240 F i 376 001 \0 \t 243 l l 0024260 B o x ( m e n u ! t S i n g l e 0024300 R e a d A f t e r W r i t e , 0024320 w h i t e ) \r 0024340 W r i t e B o x ( m 0024360 e n u ! t S i n g l e R e a d A 0024400 f t e r W r i t e , " R e a d 0024420 a f t e r W r i t e O N " 0024440 ) \r 0024460 F i l l B o x ( m e n u ! t S 0024500 i n g l e R e a d A f t e r W r 0024520 i t e , f l i p ) \r 0024540 ] \r 0024560 ] \r 0024600 e n d c a s e \r \r c 0024620 a s e t S i n g l e C o m p a 0024640 r e A f t e r R e a d : \r 376 001 0024660 \0 260 002 [ \r 0024700 t e s t 0024720 S C o m p a r e R e a d F l a 0024740 g \r i 0024760 f s o \r 0025000 [ \r 0025020 S C o m p a r e R e a d 0025040 F l a g = f a l s e \r 0025060 F i l l 0025100 B o x ( m e n u ! t S i n g l e 0025120 C o m p a r e A f t e r R e a d 0025140 , w h i t e ) \r 0025160 W r i t e B o x 0025200 ( m e n u ! t S i n g l e C o m 0025220 p a r e A f t e r R e a d , " 0025240 C o m p a f t e r R e a d 0025260 O F F 376 001 \0 e @ " ) \r 0025300 F i l l B o 0025320 x ( m e n u ! t S i n g l e C o 0025340 m p a r e A f t e r R e a d , 0025360 f l i p ) \r 0025400 ] \r 0025420 i f n o t \r 0025440 [ \r 0025460 S C o m p a r 0025500 e R e a d F l a g = t r u e 0025520 \r 0025540 F i l l B o x ( m e n u ! t S i 0025560 n g l e C o m p a r e A f t e r 0025600 R e a d , w h i t e ) \r 0025620 W r i t 0025640 e B o x ( m e n u ! t S i n g l 0025660 e C o m p a r e 376 001 \0 E 334 A f t 0025700 e r R e a d , " C o m p a f 0025720 t e r R e a d O N " ) \r 0025740 F i l 0025760 l B o x ( m e n u ! t S i n g l 0026000 e C o m p a r e A f t e r R e a 0026020 d , f l i p ) \r 0026040 ] \r 0026060 ] \r 0026100 e n d c a s e \r \r \r c a 0026120 s e t R e a d F w d : \r 0026140 [ \r 0026160 i f S C o m p a 0026200 r e R e a d F l a g d o S e 0026220 t B l o c k ( r e a d b u f , 0026240 # 1 2 5 2 5 2 , r e a d b u f 0026260 w o r d ) \r 376 001 \0 0026300 y 204 A c t O n D D T a 0026320 p e ( v t a p e , R e a d F w 0026340 d , r e a d b u f , r e a d 0026360 b u f w o r d , 0 , 0 , r 0026400 e t r y ) \r 0026420 D i s p D D S t a t u s ( ) 0026440 \r i f 0026460 S C o m p a r e R e a d F l a g 0026500 d o C o m p a r e D a t a ( 0026520 ) \r ] \r 0026540 e n d c 0026560 a s e \r \r c a s e t W r i t e 0026600 F w d : \r 0026620 [ \r i 0026640 f S C o m p a r e R e a d F l 0026660 a g & S i n g l e R e a d A 0026700 f t 376 001 \0 : 4 e r W r i t e F l 0026720 a g d o S e t B l o c k ( r 0026740 e a d b u f , # 1 2 5 2 5 2 , 0026760 r e a d b u f w o r d ) \r 0027000 A c t O n D 0027020 D T a p e ( v t a p e , W r i 0027040 t e , r e a d b u f , r e a 0027060 d b u f w o r d , w r i t e b 0027100 u f , w r i t e l , r e t r 0027120 y , S i n g l e R e a d A f t 0027140 e r W r i t e F l a g ) \r 0027160 D i s p D D S 0027200 t a t u s ( ) \r 0027220 i f S C o m p a r e R 0027240 e a d F l a g & S i n g l e 0027260 R e a d A f t e r W r i t e F l 0027300 a g d o C 376 001 \0 201 ( o m p a 0027320 r e D a t a ( ) \r 0027340 ] \r 0027360 e n d c a s e \r \r c a s e 0027400 t F w d S k i p : \r 0027420 [ \r 0027440 A c t O n D D T a p e 0027460 ( v t a p e , F w d S p a c e 0027500 R e c o r d ) \r 0027520 D i s p D D S t a t u s 0027540 ( ) \r ] 0027560 \r e n d 0027600 c a s e \r \r c a s e t W r i t 0027620 e E O F : \r 0027640 [ \r 0027660 A c t O n D D T a p e ( v t a p 0027700 e , W r i t e E O F , 376 001 \0 257 0027720 211 0 , 0 , 0 , 0 , r e 0027740 t r y ) \r 0027760 D i s p D D S t a t u s ( ) \r 0030000 ] \r 0030020 e n d c a s 0030040 e \r \r c a s e t F w d B k : \r 0030060 [ \r 0030100 A c t O n D 0030120 D T a p e ( v t a p e , F w d 0030140 S p a c e F i l e ) \r 0030160 D i s p D D S t a 0030200 t u s ( ) \r 0030220 ] \r 0030240 e n d c a s e \r \r c a s e t E 0030260 r a s e : \r 0030300 [ \r 0030320 A 376 001 \0 225 & c t O n D D T a p e 0030340 ( v t a p e , E r a s e ) \r 0030360 D i s p D 0030400 D S t a t u s ( ) \r 0030420 e n d c a s e \r 0030440 ] \r \r c a s 0030460 e t R e a d R e v : \r 0030500 [ \r 0030520 A c t O n D D T a p 0030540 e ( v t a p e , R e a d R e v 0030560 , r e a d b u f , r e a d b 0030600 u f w o r d , 0 , 0 , r e 0030620 t r y ) \r 0030640 D i s p D D S t a t u s ( ) \r 0030660 ] \r 0030700 e n d c a s 0030720 e \r \r c a s 376 001 \0 w 274 e t R e 0030740 w i n d : \r 0030760 [ \r 0031000 A c t O n D D T a p e ( v t a p 0031020 e , R e w i n d ) \r 0031040 D i s p D D S t a 0031060 t u s ( ) \r 0031100 ] \r 0031120 e n d c a s e \r \r c a s e t B 0031140 a c k S k i p : \r 0031160 [ \r 0031200 A c t O n D D T a p e ( v 0031220 t a p e , B a c k S p a c e R 0031240 e c o r d ) \r 0031260 D i s p D D S t a t u s ( 0031300 ) \r ] \r 0031320 376 001 \0 241 340 0031340 e n d c a s e \r \r c a s e t 0031360 U n l o a d : \r 0031400 [ \r 0031420 A c t O n D D T a p e ( v t 0031440 a p e , U n l o a d ) \r 0031460 D i s p D D S 0031500 t a t u s ( ) \r 0031520 ] \r 0031540 e n d c a s e \r \r c a s e 0031560 t B a c k B k : \r 0031600 [ \r 0031620 A c t O n D D T a p e ( v 0031640 t a p e , B a c k S p a c e F 0031660 i l e ) \r 0031700 D i s p D D S t a t u s ( ) \r 0031720 ] \r 0031740 376 001 \0 , 035 e 0031760 n d c a s e \r \r c a s e t N o 0032000 O p : \r 0032020 [ \r A c 0032040 t O n D D T a p e ( v t a p e , 0032060 N o O p ) \r 0032100 D i s p D D S t a t u s ( 0032120 ) \r ] \r 0032140 e n d c 0032160 a s e \r \r c a s e t R e s e t 0032200 O p : \r 0032220 [ \r P e 0032240 r f o r m V D D T C B ( v t a p 0032260 e , R e s e t ) \r 0032300 D i s p D D S t a t 0032320 u s ( ) \r 0032340 ] \r 376 001 \0 > \ 0032360 e n d c a s e \r \f \r / / 0032400 L o o p O p e r a t i o n 0032420 S t u f f \r \r c a s e t D i s 0032440 p S t a t : \r [ \r D 0032460 i s p l a y C o u n t s ( ) \r 0032500 e n d c a s e \r ] \r \r 0032520 c a s e t R e s e t : \r 0032540 [ \r N u m O p e r a t i o 0032560 n s T h i s P a s s = 0 \r 0032600 N u m R e t r i e s = 0 0032620 \r N u m R e t r i e s g t 0032640 1 = 0 \r N u m R e G a 0032660 p s = 0 \r N u m P e r 0032700 s i s t a n t = 0 \r N 0032720 u m B a d D a t a = 0 \r 0032740 N u m R e e l = 376 001 \0 > n 0032760 0 \r D i s p l a y C o u n 0033000 t s ( ) \r ] \r e n d 0033020 c a s e \r \r c a s e t R e a d 0033040 L o o p : \r [ \r l e t f l a g 0033060 s = n i l \r l e t S t o p 0033100 F l a g = f a l s e \r l e 0033120 t s t a t f l a g = f a l 0033140 s e \r [ \r [ \r 0033160 A c t O n D D T a p 0033200 e ( v t a p e , R e a d F w d , 0033220 r e a d b u f , r e a d b u f w 0033240 o r d , 0 , 0 , r e t r y ) \r 0033260 f l a g s = v t a 0033300 p e > > D D T C B . F l a g s \r 0033320 i f ( f l a g s 0033340 e q 0 ) % ( ( f l a g s 376 0033360 001 \0 233 241 & # 1 0 0 0 0 0 ) 0033400 e q 0 ) % ( ( f l a g s 0033420 & # 7 ) n e 0 ) d o S 0033440 t o p F l a g = t r u e \r 0033460 N u m O p e r a t i o 0033500 n s T h i s P a s s = N u m 0033520 O p e r a t i o n s T h i s P a 0033540 s s + 1 \r u n l 0033560 e s s ( f l a g s & # 1 2 0033600 3 5 ) n e 0 d o / / 0033620 F M K % H E % D L % 0033640 R D P % H D W E R R % 0033660 C M D E R \r [ 0033700 \r i f 0033720 D a t a C o m p a r e F l a g 0033740 d o \r [ 0033760 \r 376 001 \0 m 313 0034000 u n l e s s C o m p a r e 0034020 D a t a ( ) t h e n \r 0034040 [ \r 0034060 S t o p 0034100 F l a g = S t o p D E f l a 0034120 g % S t o p A E f l a g \r 0034140 N u 0034160 m B a d D a t a = N u m B a 0034200 d D a t a + 1 \r 0034220 ] \r 0034240 ] \r 0034260 ] \r \r i f ( f 0034300 l a g s & T a p e E r r ) 0034320 n e 0 t h e n \r 0034340 [ \r i f 0034360 S t o p A E f l 376 001 \0 j b a g 0034400 t h e n S t o p F l a g = 0034420 t r u e \r N 0034440 u m P e r s i s t a n t = N 0034460 u m P e r s i s t a n t + 1 0034500 \r i f D i s 0034520 p A f t e r E r r o r F l a g 0034540 t h e n D i s p D D S t a t u 0034560 s ( ) \r s t a 0034600 t f l a g = t r u e \r 0034620 ] \r \r i 0034640 f ( r e t r y n e 0 ) & 0034660 v t a p e > > V D D T C B . l 0034700 o w t h r e s h t h e n N u 0034720 m L o w T h r e s h o l d = 0034740 N u m L o w T h r e s h o l d 0034760 + 1 \r \r i f 376 001 0035000 \0 362 " ( r e t r y n e 0 ) 0035020 & ( v t a p e > > V D D T C 0035040 B . r e t r i e s n e r e t 0035060 r y ) t h e n \r 0035100 [ \r N u m 0035120 R e t r i e s = N u m R e t 0035140 r i e s + 1 \r 0035160 i f ( r e t r y - v t 0035200 a p e > > V D D T C B . r e t r 0035220 i e s ) n e 1 t h e n N 0035240 u m R e t r i e s g t 1 = N 0035260 u m R e t r i e s g t 1 + 1 0035300 \r ] \r 0035320 s t a t f l a g = f a l 0035340 s e \r ] r e p e a 0035360 t u n t i l B l u e ( ) % 0035400 f l a 376 001 \0 375 # g s < < D D S t 0035420 a t u s . E O T % f l a g s 0035440 < < D D S t a t u s . F M K % 0035460 S t o p F l a g \r D i s 0035500 p l a y C o u n t s ( ) \r 0035520 i f ( f l a g s < < D D S t a 0035540 t u s . E O T % f l a g s < 0035560 < D D S t a t u s . F M K ) & 0035600 ( n o t S t o p F l a g ) 0035620 t h e n \r [ \r 0035640 T a p e R e w i n d W a 0035660 i t ( v t a p e ) \r 0035700 N u m R e e l = N u m R e e 0035720 l + 1 \r N u m O 0035740 p e r a t i o n s T h i s P a s 0035760 s = 0 \r ] \r 0036000 ] r e p e a 376 001 \0 304 270 t u n 0036020 t i l B l u e ( ) % S t o 0036040 p F l a g \r ] \r \r 0036060 e n d c a s e \r \r c a 0036100 s e t W r i t e L o o p : \r 0036120 [ \r 0036140 l e t f l a 0036160 g s = n i l \r 0036200 l e t S t o p F l a 0036220 g = f a l s e \r 0036240 l e t s t a t f l 0036260 a g = f a l s e \r 0036300 [ \r 0036320 [ 0036340 \r 0036360 A c t O n D D T a p e ( v 0036400 t a p e , W r i t e , 376 001 \0 0036420 @ p r e a d b u f , r e a d b 0036440 u f w o r d , w r i t e b u f 0036460 , w r i t e l , r e t r y , 0036500 L o o p R e a d A f t e r W r 0036520 i t e F l a g ) \r 0036540 f l a g s 0036560 = v t a p e > > D D T C B . 0036600 F l a g s \r 0036620 i f ( f l a g 0036640 s e q 0 ) % ( ( f l a g 0036660 s & # 1 0 0 0 0 0 ) e q 0036700 0 ) % ( ( f l a g s & # 0036720 7 ) n e 0 ) d o S t o p 0036740 F l a g = t r u e \r 0036760 N u 0037000 m O p e r a t i o n s T h i s P 0037020 a s 376 001 \0 \a 017 s = N u m O p 0037040 e r a t i o n s T h i s P a s s 0037060 + 1 \r 0037100 u n l e s s ( f 0037120 l a g s & T a p e E r r ) 0037140 n e 0 d o \r 0037160 [ \r 0037200 0037220 i f D a t a C o m p a 0037240 r e F l a g d o \r 0037260 0037300 [ \r 0037320 u n l e 0037340 s s C o m p a r e D a t a ( ) 0037360 t h e n \r 0037400 0037420 [ \r 376 001 \0 327 230 0037440 0037460 S t o p F l a g = S t 0037500 o p D E f l a g % S t o p A 0037520 E f l a g \r 0037540 0037560 N u m B a d D a t a = N u 0037600 m B a d D a t a + 1 \r 0037620 0037640 ] \r 0037660 0037700 ] \r 0037720 ] \r \r 0037740 i f 0037760 ( f l a g s & T a p e E r 0040000 r ) n e 0 t h e n \r 0040020 376 001 \0 7 0040040 027 [ \r 0040060 i f 0040100 S t o p A E f l a g t h e n 0040120 S t o p F l a g = t r u e 0040140 \r 0040160 N u m P e r s i s t 0040200 a n t = N u m P e r s i s t 0040220 a n t + 1 \r 0040240 i f 0040260 D i s p A f t e r E r r o r F l 0040300 a g d o D i s p D D S t a t 0040320 u s ( ) \r 0040340 s t a t f l 0040360 a g = t r u e \r 0040400 ] 0040420 \r \r 0040440 376 001 \0 [ 304 i f ( r e t 0040460 r y n e 0 ) & ( v t a p 0040500 e > > V D D T C B . r e g a p 0040520 l e 0 ) t h e n \r 0040540 0040560 [ \r 0040600 N u m R e G a p s 0040620 = N u m R e G a p s + 1 0040640 \r 0040660 i f v t a p e > > 0040700 V D D T C B . r e t r i e s e 0040720 q r e t r y t h e n N u m 0040740 R e t r i e s = N u m R e t 0040760 r i e s + 1 \r 0041000 ] 0041020 \r \r 0041040 i f 376 001 \0 336 353 ( r e t 0041060 r y n e 0 ) & ( v t a p 0041100 e > > V D D T C B . r e t r i e 0041120 s n e r e t r y ) t h e n 0041140 \r 0041160 [ \r 0041200 N u m 0041220 R e t r i e s = N u m R e t 0041240 r i e s + 1 \r 0041260 i f 0041300 ( r e t r y - v t a p e > 0041320 > V D D T C B . r e t r i e s ) 0041340 n e 1 t h e n N u m R e 0041360 t r i e s g t 1 = N u m R e 0041400 t r i e s g t 1 + 1 \r 0041420 0041440 ] \r 376 001 \0 034 365 0041460 s t a t f 0041500 l a g = f a l s e \r \r 0041520 ] 0041540 r e p e a t u n t i l B l u 0041560 e ( ) % f l a g s < < D D S 0041600 t a t u s . E O T % S t o p 0041620 F l a g \r 0041640 D i s p l a y C o u n t 0041660 s ( ) \r 0041700 i f f l a g s < < D D S 0041720 t a t u s . E O T & ( n o t 0041740 S t o p F l a g ) t h e n 0041760 \r 0042000 [ \r 0042020 T a p e R e w i n 0042040 d W a i t ( v t a p e ) \r 0042060 376 001 \0 225 D 0042100 N u m R e e l = N u 0042120 m R e e l + 1 \r 0042140 N u m O 0042160 p e r a t i o n s T h i s P a s 0042200 s = 0 \r 0042220 ] \r 0042240 ] r e p e a 0042260 t u n t i l B l u e ( ) % 0042300 S t o p F l a g \r 0042320 ] \r 0042340 e n d c a s e \r \r c a s e 0042360 t S t o p D E : \r [ \r 0042400 t e s t S t o p D E f l a 0042420 g \r i f s o \r 0042440 [ \r 0042460 F i l l 376 001 \0 \f 177 B o x ( m e 0042500 n u ! t S t o p D E , 3 ) \r 0042520 W r i t e B o x 0042540 ( m e n u ! t S t o p D E , " 0042560 S t o p o n D a t a E r r 0042600 o r O F F " ) \r 0042620 F i l l B o x ( m e n u ! t 0042640 S t o p D E , 0 ) \r 0042660 S t o p D E f l a g = 0042700 f a l s e \r 0042720 ] \r i f n o t \r 0042740 [ \r 0042760 F i l l B o x ( m e n u ! t 0043000 S t o p D E , 3 ) \r 0043020 W r i t e B o x ( m e n 0043040 u ! t S t o p D E , " S t o p 0043060 o n D a t a E 376 001 \0 R 317 r 0043100 r o r O N " ) \r 0043120 F i l l B o x ( m e n u ! t 0043140 S t o p D E , 0 ) \r 0043160 S t o p D E f l a g = 0043200 t r u e \r ] 0043220 \r ] \r e n d c a s e 0043240 \r \r c a s e t S t o p A E : \r 0043260 [ \r t e s t S t o 0043300 p A E f l a g \r i f 0043320 s o \r [ \r 0043340 F i l l B o x ( m 0043360 e n u ! t S t o p A E , 3 ) \r 0043400 W r i t e B o 0043420 x ( m e n u ! t S t o p A E , 0043440 " S t o p o n A n y E r r 0043460 o r O F F " ) \r 376 0043500 001 \0 361 N F i l l B o x ( m 0043520 e n u ! t S t o p A E , 0 ) \r 0043540 S t o p A E f 0043560 l a g = f a l s e \r 0043600 ] \r i f n 0043620 o t \r [ \r 0043640 F i l l B o x ( m 0043660 e n u ! t S t o p A E , 3 ) \r 0043700 W r i t e B o 0043720 x ( m e n u ! t S t o p A E , 0043740 " S t o p o n A n y E r r 0043760 o r O N " ) \r 0044000 F i l l B o x ( m e n u ! t S 0044020 t o p A E , 0 ) \r 0044040 S t o p A E f l a g = 0044060 t r u e \r ] \r 0044100 ] 376 001 \0 h > \r e n d 0044120 c a s e \r \r c a s e t L o o p 0044140 R e a d A f t e r W r i t e : \r 0044160 [ \r 0044200 t e s t L 0044220 o o p R e a d A f t e r W r i t 0044240 e F l a g \r 0044260 i f s o \r 0044300 [ \r 0044320 L o o p R e a d A 0044340 f t e r W r i t e F l a g = 0044360 f a l s e \r 0044400 F i l l B o x ( m e n 0044420 u ! t L o o p R e a d A f t e r 0044440 W r i t e , w h i t e ) \r 0044460 W r i 0044500 t e B o x ( m e n 376 001 \0 256 = u ! 0044520 t L o o p R e a d A f t e r W r 0044540 i t e , " R e a d a f t e r 0044560 W r i t e O F F " ) \r 0044600 F i l l 0044620 B o x ( m e n u ! t L o o p R e 0044640 a d A f t e r W r i t e , f l 0044660 i p ) \r 0044700 ] \r 0044720 i f n o t \r 0044740 [ \r 0044760 L o o p R e a d A 0045000 f t e r W r i t e F l a g = 0045020 t r u e \r 0045040 F i l l B o x ( m e n u 0045060 ! t L o o p R e a d A f t e r W 0045100 r i t e , w h i t e ) \r 376 001 0045120 \0 024 4 0045140 W r i t e B o x ( m e n u ! t 0045160 L o o p R e a d A f t e r W r i 0045200 t e , " R e a d a f t e r 0045220 W r i t e O N " ) \r 0045240 F i l l B o 0045260 x ( m e n u ! t L o o p R e a d 0045300 A f t e r W r i t e , f l i p 0045320 ) \r 0045340 ] \r ] 0045360 \r e n d 0045400 c a s e \r \r c a s e t D a t a 0045420 C o m p a r e : \r [ \r 0045440 t e s t D a t a C o m p a r 0045460 e F l a g \r i f s o 0045500 \r [ \r 0045520 376 001 \0 350 332 F i l l B o 0045540 x ( m e n u ! t D a t a C o m p 0045560 a r e , w h i t e ) \r 0045600 W r i t e B o x ( m e 0045620 n u ! t D a t a C o m p a r e , 0045640 " D a t a C o m p a r e O 0045660 F F " ) \r F i 0045700 l l B o x ( m e n u ! t D a t a 0045720 C o m p a r e , f l i p ) \r 0045740 D a t a C o m p 0045760 a r e F l a g = f a l s e \r 0046000 ] \r 0046020 i f n o t \r 0046040 [ \r F i l l B 0046060 o x ( m e n u ! t D a t a C o m 0046100 p a r e , w h i t e ) \r 0046120 W r 376 001 \0 l _ i t e 0046140 B o x ( m e n u ! t D a t a C o 0046160 m p a r e , " D a t a C o m 0046200 p a r e O N " ) \r 0046220 F i l l B o x ( m e n u ! 0046240 t D a t a C o m p a r e , f l 0046260 i p ) \r D a t 0046300 a C o m p a r e F l a g = t 0046320 r u e \r ] \r 0046340 ] \r e n d c a s e \r \r 0046360 c a s e t D i s p A f t e r E 0046400 r r o r : \r [ \r t e 0046420 s t D i s p A f t e r E r r o 0046440 r F l a g \r i f s o 0046460 \r [ \r 0046500 F i l l B o x ( m e n 0046520 u ! t D i s p A f t e r E 376 001 \0 0046540 M 377 r r o r , w h i t e ) \r 0046560 W r i t e B o x 0046600 ( m e n u ! t D i s p A f t e r 0046620 E r r o r , " D i s p S t a 0046640 t u s o n E r r o r O F F 0046660 " ) \r F i l l 0046700 B o x ( m e n u ! t D i s p A f 0046720 t e r E r r o r , f l i p ) \r 0046740 D i s p A f t 0046760 e r E r r o r F l a g = f a 0047000 l s e \r ] \r 0047020 i f n o t \r 0047040 [ \r F 0047060 i l l B o x ( m e n u ! t D i s 0047100 p A f t e r E r r o r , w h i 0047120 t e ) \r W r i 0047140 t e 376 001 \0 243 307 B o x ( m e n u ! 0047160 t D i s p A f t e r E r r o r , 0047200 " D i s p S t a t u s o n 0047220 E r r o r O N " ) \r 0047240 F i l l B o x ( m e n 0047260 u ! t D i s p A f t e r E r r o 0047300 r , f l i p ) \r 0047320 D i s p A f t e r E r r o r 0047340 F l a g = t r u e \r 0047360 ] \r ] \r e 0047400 n d c a s e \r \r \r 0047420 ] \r D e S e l e 0047440 c t ( m e n u ! s e l e c t i o 0047460 n ) \r ] r e p e a t \r ] 0047500 \r \f 032 \ 3 7 2 6 f 1 1 f 0 \r a 0047520 n d R e O p e n T a p e ( ) 0047540 b e \r [ 376 001 \0 256 \n \r 0047560 i f v t a p e d o C l o s 0047600 e D D T a p e ( v t a p e ) 0047620 / / w i l l n o t b e 0047640 h e r e f i r s t t i m e \r 0047660 v t a p e = O p e n D 0047700 D T a p e ( d r i v e n o , T 0047720 a p e E r r P r o c , T a p e 0047740 E r r P r o c ) \r l e t 0047760 f l a g s = P e r f o r m V 0050000 D D T C B ( v t a p e , N o O 0050020 p ) \r t e s t f l a g s 0050040 e q 0 \r i f s 0050060 o \r [ \r 0050100 l e t e r r p r o 0050120 c = v t a p e > > V D D T C 0050140 B . e r r P r o c \r 376 001 \0 254 0050160 Q e r r p r o c ( 0050200 " * N T a p e D r i v e d 0050220 i d n o t r e s p o n d t 0050240 o a N o O p " ) \r 0050260 ] \r i f n o 0050300 t \r [ \r 0050320 u n l e s s f l a 0050340 g s < < D D S t a t u s . B O T 0050360 d o T a p e R e w i n d W a 0050400 i t ( v t a p e ) \r 0050420 ] \r S e t D e n s i 0050440 t y ( v t a p e , O p D e n s 0050460 i t y ) \r ] 032 \r \r a n d 0050500 T a p e W a i t Q u i e t ( ) 0050520 b e I d l e ( ) 032 \r \r a n d 0050540 B l o c k ( ) b e I d l e ( 0050560 ) 376 \0 ; , O 032 \r \r a n d o u t 0050600 s i d e ( l o w , a r g , h 0050620 i ) = ( a r g l s l o w 0050640 ) % ( a r g g r h i ) 032 0050660 \r 377 \0 \0 T D P U t i l . b c p l 0050700 \0 373 226 316 341 \ \0 \0 376 001 \0 301 030 / / 0050720 T h i s c o d e i s f i l 0050740 e d u n d e r T D P U t i l 0050760 . b c p l \r / / U t i l i t 0051000 y r o u t i n e s f o r t 0051020 h e D i a g n o s t i c P r 0051040 o g r a m f o r D u a l D 0051060 e n s i t y A l t o M a g n 0051100 e t i c T a p e s \r / / L a 0051120 s t m o d i f i e d b y T 0051140 i m D i e b e r t , M a r c 0051160 h 5 , 1 9 8 1 4 : 4 8 0051200 P M \r / / C o p y r i g h t 0051220 X e r o x , 1 9 8 1 \r \r g e t 0051240 " D D T a p e s . d " \r g 0051260 e t " M e n u D e f s . d 0051300 " \r g e t " A l t o 376 001 \0 0051320 \b 251 D e f s . D " \r g e t 0051340 " T D P D e f s . d " 032 ( 6 3 5 0051360 ) \r g e t " T D P M e n u 0051400 N a m e s . d " 032 \r \r \r s t r u 0051420 c t u r e S t r i n g [ l 0051440 e n g t h b y t e ; c h a r 0051460 ^ 1 , 1 b y t e ] \r \r m a n 0051500 i f e s t \r [ \r m u c h c 0051520 o r e = # 7 6 0 0 0 \r / / m o 0051540 d e n a m e s \r o c t a 0051560 l = 0 \r a s c i i = 0051600 1 \r e b c d i c = 2 0051620 \r b y t e m o d e = 3 0051640 \r / / A S C I I s t u f f \r 0051660 C R = # 1 5 \r ] 032 \r \r 0051700 s t r u c t u r e B T : \r [ \r 0051720 c h 376 001 \0 247 275 a r ^ 0 , 0 0051740 b y t e \r ] 032 \r \f \r l e t D u 0051760 m p ( p r o m p t , l v f i e l 0052000 d , l e n g t h ) b e \r [ \r 0052020 l e n g t h = ( l e n g 0052040 t h + 1 ) r s h i f t 1 0052060 \r l e t s k i p = # 0052100 7 \r l e t m a s k = 0052120 " $ 6 U F 0 O " \r l 0052140 e t o f f m a s k = # 1 0052160 7 7 \r l e t s t a r t l 0052200 e n g t h = l e n g t h \r 0052220 i f ( m o d e n e 0 ) 0052240 d o [ s k i p = # 3 7 0052260 ; m a s k = " $ C $ C " ] 0052300 \r i f ( m o d e e q 0052320 3 ) d o [ 376 001 \0 < \ s k i 0052340 p = # 7 ; m a s k = " 0052360 $ 3 U F 0 O $ 3 U F 0 O 0052400 " ; o f f m a s k = # 3 7 0052420 7 ] \r W s s ( d u m p s t 0052440 r e a m , p r o m p t ) ; \r 0052460 i f L o g F l a g t h e n 0052500 P u t T e m p l a t e ( L o g 0052520 F i l e , p r o m p t ) \r 0052540 w h i l e ( l e n g t h n e 0052560 0 ) & ( n o t B l u e ( 0052600 ) ) d o \r [ \r 0052620 i f ( ( s t a r t l 0052640 e n g t h - l e n g t h + 1 ) 0052660 & s k i p ) e q 1 d o \r 0052700 [ \r 0052720 P u t T e m p l 376 001 \0 256 0052740 321 a t e ( d u m p s t r e a m , 0052760 " * N < $ 5 F 0 D > : " , 0053000 ( s t a r t l e n g t h - l e n 0053020 g t h ) l s h i f t 1 ) \r 0053040 i f L o g F l 0053060 a g t h e n P u t T e m p l 0053100 a t e ( L o g F i l e , " * N 0053120 < $ 5 F 0 D > : " , ( s t a 0053140 r t l e n g t h - l e n g t h ) 0053160 l s h i f t 1 ) \r 0053200 w h i l e Y e l l o w 0053220 ( ) d o B l o c k ( ) \r 0053240 ] \r t 0053260 e s t ( m o d e n e 0 ) \r 0053300 i f n o t \r 0053320 [ \r 0053340 376 001 \0 334 374 P u 0053360 t T e m p l a t e ( d u m p s t 0053400 r e a m , m a s k , @ l v f i e 0053420 l d ) / / S p a c e b 0053440 e t w e e n e n t r i e s \r 0053460 i f L o 0053500 g F l a g t h e n P u t T e 0053520 m p l a t e ( L o g F i l e , m 0053540 a s k , @ l v f i e l d ) \r 0053560 ] \r 0053600 i f s o \r 0053620 [ \r 0053640 i f ( m o d e e q 0053660 2 ) d o A s c i i X l a t e 0053700 ( l v f i e l d , 1 ) \r 0053720 P u t T e m p l 0053740 a t e ( d u 376 001 \0 | 224 m p s t r 0053760 e a m , m a s k , @ l v f i 0054000 e l d r s h i f t 8 , @ l 0054020 v f i e l d & o f f m a s k 0054040 ) \r i f 0054060 L o g F l a g t h e n P u 0054100 t T e m p l a t e ( L o g F i l 0054120 e , m a s k , @ l v f i e l 0054140 d r s h i f t 8 , @ l v f 0054160 i e l d & o f f m a s k ) \r 0054200 ] \r 0054220 l v f i e l d = l v f i 0054240 e l d + 1 0054260 / / t h e 0054300 n g e t t h e n e w a d 0054320 d r e s s \r l e n g 0054340 t h = l e n g t h - 1 376 001 \0 327 317 0054360 \r ] \r W s s ( 0054400 d u m p s t r e a m , " * N " ) 0054420 0054440 / / a n d d o a 0054460 f i n a l C R L F \r 0054500 i f L o g F l a g t h e n 0054520 P u t T e m p l a t e ( L o g F 0054540 i l e , " * N " ) \r ] 032 \r \f \r a 0054560 n d D i s p D D S t a t u s ( 0054600 ) b e \r [ \r / / s e t u p 0054620 s t a t u s m e s s a g e s 0054640 \r l e t t e m p = v 0054660 e c 1 7 \r B i t M s g 0054700 = t e m p \r B i t M s g 0054720 ! 1 = " R D Y " \r B 0054740 i t M s g ! 2 = " O N L " 0054760 376 001 \0 210 / \r B i t M s g ! 0055000 3 = " R W D " \r B i 0055020 t M s g ! 4 = " F P T " \r 0055040 B i t M s g ! 5 = " 0055060 B O T " \r B i t M s g ! 6 0055100 = " E O T " \r B i t 0055120 M s g ! 7 = " F M K " \r 0055140 B i t M s g ! 8 = " N 0055160 R Z I " \r B i t M s g ! 0055200 9 = " H E " \r B i 0055220 t M s g ! 1 0 = " S 0055240 E " \r B i t M s g ! 1 1 0055260 = " D L " \r B i t M 0055300 s g ! 1 2 = " R D P " \r 0055320 B i t M s g ! 1 3 = " 0055340 I C L " \r B i t M s g ! 0055360 1 4 = 376 001 \0 5 j " H D W E 0055400 R R " \r B i t M s g ! 1 5 0055420 = " W F P " \r B i 0055440 t M s g ! 1 6 = " C M D E 0055460 R " \r l e t x = # 1 7 \r 0055500 \r P u t T e m p l a t e ( 0055520 d s p , " * n C m d : $ 7 U 0055540 F 0 O C n t : $ D " , 0055560 v t a p e > > V D D T C B . C 0055600 o m m a n d , v t a p e > > 0055620 V D D T C B . B y t e C o u n t 0055640 ) \r \r i f L o g F l a g 0055660 t h e n P u t T e m p l a t 0055700 e ( L o g F i l e , " * n C m 0055720 d : $ O C n t : $ D " 0055740 , v t a p e > > V D D T C B 0055760 . C o m m a n d , 376 001 \0 313 b 0056000 v t a p e > > V D D T C B . B y 0056020 t e C o u n t ) \r \r \r l e 0056040 t i = 1 \r l e t T a p 0056060 e S t a t e = v t a p e > > D D 0056100 T C B . F l a g s \r W s s 0056120 ( d s p , " * N 0056140 S T A T U S : " ) \r i f 0056160 L o g F l a g t h e n P u 0056200 t T e m p l a t e ( L o g F i l 0056220 e , " * N S T 0056240 A T U S : " ) \r [ 0056260 \r i f ( T a p e S 0056300 t a t e & # 1 0 0 0 0 0 ) 0056320 n e 0 d o \r 0056340 [ \r P u t s 0056360 ( d s p , $ * s ) \r 376 0056400 001 \0 277 374 W s s ( d s p , 0056420 B i t M s g ! i ) \r 0056440 P u t s ( d s p , $ * s ) 0056460 \r i f L o g 0056500 F l a g t h e n \r 0056520 [ \r 0056540 P u t s ( L o g F i l e 0056560 , $ * s ) \r 0056600 W s s ( L o g F i l e , B i 0056620 t M s g ! i ) \r 0056640 P u t s ( L o g F i l e 0056660 , $ * s ) \r 0056700 ] \r ] \r 0056720 T a p e S t a t e = 0056740 T a p e S t a t e l s h i f 0056760 t 1 \r i = i + 1 \r 0057000 376 001 \0 j 352 ] r e p 0057020 e a t u n t i l i e q 1 7 0057040 \r ] 032 \r \f \r a n d C o m p a r 0057060 e D a t a ( ) = v a l o f \r 0057100 [ \r l e t m a t c h f l 0057120 a g = t r u e \r l e t 0057140 l e n = M i n ( v t a p e 0057160 > > V D D T C B . B y t e C o u 0057200 n t , w r i t e l ) \r l e 0057220 t w o r d c n t = ( l e n 0057240 r s h i f t 1 ) & # 7 7 0057260 7 7 7 \r i f U B l o c k 0057300 E q ( v t a p e > > V D D T C B 0057320 . R e a d B u f f e r , v t a 0057340 p e > > V D D T C B . W r i t e 0057360 B u f f e r , w o r d c n t ) 0057400 d o \r 376 001 \0 340 372 [ 0057420 \r l e t i = l 0057440 e n - 1 \r i f 0057460 r e a d b u f > > B T . c h a r 0057500 ^ i e q w r i t e b u f > > 0057520 B T . c h a r ^ i d o r e s 0057540 u l t i s t r u e \r 0057560 ] \r \r f o r i = 0 0057600 t o l e n - 1 d o \r 0057620 i f r e a d b u f > > B 0057640 T . c h a r ^ i n e w r i t 0057660 e b u f > > B T . c h a r ^ i 0057700 d o \r [ \r 0057720 i f m a t c h f 0057740 l a g d o W s s ( d u m p s 0057760 t r e a m , " * n - - - B u f f 0060000 e r s D i f f e r - - - " 376 001 0060020 \0 031 U ) \r i f 0060040 m a t c h f l a g & L o g 0060060 F l a g d o P u t T e m p l 0060100 a t e ( L o g F i l e , " * n 0060120 - - - B u f f e r s D i f f e 0060140 r - - - " ) \r 0060160 m a t c h f l a g = f a l s 0060200 e \r P u t T e 0060220 m p l a t e ( d u m p s t r e a 0060240 m , " * n B y t e : $ 0060260 4 F 0 D W r i t e B u f : $ 0060300 8 U F 0 B R e a d B u f : $ 0060320 8 U F 0 B X O R : $ 8 U F 0 0060340 B " , \r 0060360 i , 0060400 w r i t e b u f > > B T . c h a 0060420 r ^ i 376 001 \0 c e , r e a d b u 0060440 f > > B T . c h a r ^ i , ( w 0060460 r i t e b u f > > B T . c h a r 0060500 ^ i x o r \r 0060520 0060540 r e a d b u f > > B T . c h a r 0060560 ^ i ) ) \r i f 0060600 L o g F l a g t h e n P u 0060620 t T e m p l a t e ( L o g F i l 0060640 e , " * n B y t e : $ 0060660 4 F 0 D W r i t e B u f : $ 0060700 8 U F 0 B R e a d B u f : $ 0060720 8 U F 0 B X O R : $ 8 U F 0 0060740 B " , \r i , 0060760 w r i t e b u f > > B T . c h a 0061000 r ^ i , r e a d b u f > > B T 0061020 . c h a r ^ i , 376 001 \0 n ~ ( w 0061040 r i t e b u f > > B T . c h a r 0061060 ^ i x o r r e a d b u f > > 0061100 B T . c h a r ^ i ) ) \r 0061120 ] \r i f m a t c 0061140 h f l a g d o r e s u l t i 0061160 s t r u e \r r e s u l t i 0061200 s f a l s e \r ] 032 \r \f \r a n d 0061220 C o m p a r e R o u t i n e ( 0061240 ) b e \r [ \r l e t m a 0061260 t c h f l a g = t r u e \r 0061300 l e t l e n = M i n ( 0061320 v t a p e > > V D D T C B . B y 0061340 t e C o u n t , w r i t e l ) \r 0061360 l e t w o r d c n t = 0061400 ( l e n r s h i f t 1 ) 0061420 & # 7 7 7 7 7 \r i 376 001 \0 0061440 : O f U B l o c k E q ( v t a 0061460 p e > > V D D T C B . R e a d B 0061500 u f f e r , v t a p e > > V D 0061520 D T C B . W r i t e B u f f e r 0061540 , w o r d c n t ) d o \r 0061560 [ \r l e t 0061600 i = l e n - 1 \r 0061620 i f r e a d b u f > > B T 0061640 . c h a r ^ i e q w r i t e 0061660 b u f > > B T . c h a r ^ i d 0061700 o \r [ \r 0061720 W s s ( d u m p s t 0061740 r e a m , " * n - - - b u f f 0061760 e r s m a t c h - - - " ) \r 0062000 r e t u r n \r 0062020 ] \r 0062040 ] \r 376 001 \0 X v \r f o 0062060 r i = 0 t o l e n - 1 0062100 d o \r [ \r 0062120 i f B l u e ( 0062140 ) r e t u r n \r 0062160 i f r e a d b u f > > B T 0062200 . c h a r ^ i n e w r i t e 0062220 b u f > > B T . c h a r ^ i d 0062240 o \r [ \r 0062260 i f m 0062300 a t c h f l a g d o W s s ( 0062320 d u m p s t r e a m , " * n - - 0062340 - B u f f e r s D i f f e r - 0062360 - - " ) \r 0062400 m a t c h f l a g = f a l 0062420 s e \r P 0062440 u t T e m p l 376 001 \0 v 300 a t e ( 0062460 d u m p s t r e a m , " * n 0062500 B y t e : $ 4 F 0 D W r 0062520 i t e B u f : $ 8 U F 0 B R 0062540 e a d B u f : $ 8 U F 0 B X 0062560 O R : $ 8 U F 0 B " , i , 0062600 w r i t e b u f > > B T . c h a 0062620 r ^ i , r e a d b u f > > B T 0062640 . c h a r ^ i , ( w r i t e b 0062660 u f > > B T . c h a r ^ i x o 0062700 r r e a d b u f > > B T . c h 0062720 a r ^ i ) ) \r 0062740 ] \r ] \r 0062760 i f m a t c h f l 0063000 a g d o W s s ( d u m p s t 0063020 r e a m , " * n - - - b u f f 0063040 e r s m a t c h - - - 376 001 \0 001 0063060 a " ) \r ] 032 \r \r a n d P a t t 0063100 e r n R o u t i n e ( ) b e \r 0063120 [ \r W s s ( d u m p s t r 0063140 e a m , " * n U s i n g D e f 0063160 a u l t P a t t e r n ? " ) 0063200 \r l e t a n s = G e 0063220 t s ( k e y s ) \r P u t s 0063240 ( d u m p s t r e a m , a n s ) 0063260 \r t e s t a n s e q 0063300 $ y % a n s e q $ Y % 0063320 a n s e q C R \r 0063340 i f s o \r [ \r 0063360 f o r i = 0 t o 0063400 w r i t e l - 1 d o w r i 0063420 t e b u f > > B T . c h a r ^ i 0063440 = ( i & # 3 7 7 ) \r 0063460 376 001 \0 l 324 ] \r 0063500 i f n o t \r [ 0063520 \r l e t p a t l e 0063540 n = n i l \r 0063560 [ \r W s s ( 0063600 d u m p s t r e a m , " * n P a 0063620 t t e r n L e n g t h : " ) 0063640 \r p a t l e n 0063660 = G e t I n t ( 1 0 ) \r 0063700 ] r e p e a t u 0063720 n t i l p a t l e n g r 0 0063740 & p a t l e n l e 3 2 \r 0063760 f o r j = 0 0064000 t o M i n ( p a t l e n - 1 , 0064020 w r i t e l - 1 ) d o \r 0064040 [ \r 0064060 P u t T e 376 001 \0 020 m p l a t 0064100 e ( d u m p s t r e a m , " * 0064120 n E n t r y N u m b e r $ D 0064140 ( b a s e 8 ) : " , j ) 0064160 \r w r i t e b 0064200 u f > > B T . c h a r ^ j = 0064220 G e t I n t ( 8 ) \r 0064240 ] \r 0064260 i f p a t l e n l s w r 0064300 i t e l d o \r 0064320 f o r j = p a t l e n 0064340 t o w r i t e l d o \r 0064360 w r i t e b u 0064400 f > > B T . c h a r ^ j = w 0064420 r i t e b u f > > B T . c h a r 0064440 ^ ( j - p a t l e n ) \r 0064460 ] \r ] 032 \r \f \r a n 376 001 \0 327 207 0064500 d G e t I n t ( b a s e ) = 0064520 v a l o f \r [ \r l e t 0064540 c h = G e t s ( k e y s ) \r 0064560 l e t t o t a l = 0 0064600 \r u n t i l D i g i t ( 0064620 c h ) d o c h = G e t s 0064640 ( k e y s ) \r [ \r 0064660 P u t s ( d u m p s t 0064700 r e a m , c h ) \r t 0064720 o t a l = t o t a l * b 0064740 a s e + ( c h - $ 0 ) \r 0064760 c h = G e t s ( k e 0065000 y s ) \r ] r 0065020 e p e a t w h i l e D i g i t 0065040 ( c h ) \r r e s u l t i s 0065060 t o t a l \r ] 032 \r \r a n d T 0065100 376 001 \0 272 } a p e T r i d e n t B 0065120 o o t ( ) b e \r [ \r S e 0065140 t B L V ( # 1 7 7 7 7 6 ) 0065160 / / a l l b u t t a 0065200 s k 0 b a c k i n t o R 0065220 O M \r S t a r t I O ( # 1 0065240 0 0 0 0 0 ) / / b 0065260 o o t ! \r @ l v U s e r F 0065300 i n i s h P r o c = T a p e T r 0065320 i d e n t U F P \r ] 032 \r \r a n d 0065340 S y s S t r ( s t r i n g ) 0065360 = v a l o f \r [ \r l e t 0065400 s t r e a d l = s t r i n 0065420 g > > S T R I N G . l e n g t h 0065440 r s h i f t 1 + 1 \r 0065460 l e t s y s s t r i n g = 0065500 A l l o 376 001 \0 275 ` c a t e ( 0065520 s y s Z o n e , s t r e a d l ) 0065540 \r M o v e B l o c k ( s 0065560 y s s t r i n g , s t r i n g , 0065600 s t r e a d l ) \r r e s u 0065620 l t i s s y s s t r i n g \r ] 0065640 032 \r \r a n d S t r T o I n t ( 0065660 s t r i n g ) = v a l o f \r 0065700 [ \r l e t t o t a l = 0065720 0 \r f o r i = 1 0065740 t o s t r i n g > > S T R I N 0065760 G . l e n g t h d o \r 0066000 t o t a l = t o t a l 0066020 * 1 0 + ( s t r i n g > > S 0066040 T R I N G . c h a r ^ i - $ 0066060 0 ) \r r e s u l t i s t 0066100 o t a l \r ] 032 \r \r a 376 001 \0 B 213 n 0066120 d M i n ( a , b ) = a l 0066140 s b ? a , b 032 \r \r a n d 0066160 D i g i t ( a r g ) = a r g 0066200 g e $ 0 & a r g l e 0066220 $ 9 032 \r \r a n d B l u e ( ) 0066240 = u t i l I n > > U t i l I n 0066260 . b l u e e q 0 \r \r a n d 0066300 Y e l l o w ( ) = u t i l I 0066320 n > > U t i l I n . y e l l o w 0066340 e q 0 \r \r a n d T a p e E 0066360 r r P r o c ( f o o ) b e \r [ 0066400 \r W s s ( d s p , f o o ) \r i 0066420 f L o g F l a g t h e n \r \t 0066440 [ \r \t / / w r i t e A s c i 0066460 i s t r i n g t o w o r d 0066500 s t r e a m . W h a t 376 0066520 001 \0 035 023 a p a i n ! \r \t i f 0066540 f o o > > S t r i n g . l e n g 0066560 t h g r 1 t h e n \r \t 0066600 f o r i = 1 t o f o 0066620 o > > S t r i n g . l e n g t h 0066640 - 1 b y 2 d o \r \t 0066660 P u t s ( L o g F i l e , 0066700 f o o > > S t r i n g . c h a r 0066720 ^ i l s h i f t 8 + f o 0066740 o > > S t r i n g . c h a r ^ ( 0066760 i + 1 ) ) \r \t P u t s ( L o g F 0067000 i l e , ( f o o > > S t r i n 0067020 g . l e n g t h & 1 ) e q 0067040 0 ? 0 , \r \t f o o > > S t 0067060 r i n g . c h a r ^ ( f o o > > 0067100 S t r i n g . l e n g t h ) l 0067120 s h i f 376 001 \0 # B t 8 ) \r \t ] 0067140 \r ] 032 \r \r \r a n d D i s p l a 0067160 y C o u n t s ( ) b e \r 0067200 [ \r P u t T e m p l a t e 0067220 ( d s p , " * N P a s s : $ D 0067240 O p s : $ D R t y : $ D 0067260 R t y > 1 : $ D R g p : 0067300 $ D L o w T h r : $ D U R 0067320 : $ D B a d D a t a : $ 0067340 D " , N u m R e e l , N u 0067360 m O p e r a t i o n s T h i s P 0067400 a s s , N u m R e t r i e s , 0067420 N u m R e t r i e s g t 1 , 0067440 N u m R e G a p s , N u m L o 0067460 w T h r e s h o l d , N u m P 0067500 e r s i s t a n t , N u m B a 0067520 d D a t a ) \r \r 376 001 \0 2 ! 0067540 i f L o g F l a g t h e n \r 0067560 [ \r P u 0067600 t T e m p l a t e ( L o g F i l 0067620 e , " * N P a s s : $ D O p 0067640 s : $ D R t y : $ D R t 0067660 y > 1 : $ D R g p : $ D 0067700 L o w T h r : $ D U R : 0067720 $ D B a d D a t a : $ D 0067740 " , N u m R e e l , N u m O 0067760 p e r a t i o n s T h i s P a s 0070000 s , N u m R e t r i e s , N 0070020 u m R e t r i e s g t 1 , N u 0070040 m R e G a p s , N u m L o w T 0070060 h r e s h o l d , N u m P e r 0070100 s i s t a n t , N u m B a d D 0070120 a t a ) \r ] \r \r 376 \0 0070140 017 354 F ] \r \r \r 032 ( 1 7 9 2 0070160 ) \r 377 \0 \0 T D P M e n u T a b l 0070200 e s . b c p l \0 373 226 243 M 354 \0 \0 376 0070220 001 \0 261 ` / / T D P M e n u 0070240 - - T a b l e s f o r s 0070260 e t t i n g u p m e n u w 0070300 i n d o w s . \r \r \r e x t e r n 0070320 a l M e n u I n i t H e l p \r 0070340 \r \r l e t M e n u I n i t H e 0070360 l p ( ) = v a l o f \r \t [ \r 0070400 \t / / s e t u p m e n u 0070420 t a b l e \r \t l e t m e n u = 0070440 t a b l e \r \t \t [ \r \t \t 4 6 \r \t 0070460 \t 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 0070500 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 0070520 \r \t \t 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 0070540 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 0070560 ; 0 \r \t \t 0 ; 0 ; 0 ; 0 ; 0 ; 0 0070600 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 0070620 ; 0 ; 0 376 001 \0 * 276 \r \t \t ] \r \t m 0070640 e n u ! 1 = t a b l e [ 0 ; 0070660 # 4 1 0 0 1 ; # 7 3 1 ; # 4 0 4 0070700 ; # 1 0 5 0 ; # 4 2 7 ] \r \t m 0070720 e n u ! 2 = t a b l e [ 0 ; 0070740 # 4 0 0 0 1 ; # 7 3 1 ; # 4 3 3 0070760 ; # 1 0 5 0 ; # 4 5 6 ] \r \t m 0071000 e n u ! 3 = t a b l e [ 0 ; 0071020 # 4 0 0 0 1 ; # 2 3 ; # 2 7 5 ; 0071040 # 1 7 5 ; # 3 2 0 ] \r \t m e n 0071060 u ! 4 = t a b l e [ 0 ; # 7 0071100 0 0 0 1 ; # 7 3 2 ; # 3 2 5 ; # 0071120 1 0 5 1 ; # 3 5 0 ] \r \t m e n 0071140 u ! 5 = t a b l e [ 0 ; # 7 0071160 0 0 0 1 ; # 6 0 5 ; # 4 3 3 ; # 0071200 7 2 4 ; # 4 5 6 ] \r \t m e n u 0071220 ! 6 = t a b l e 376 001 \0 1 w [ 0071240 0 ; # 7 1 0 0 1 ; # 6 0 5 ; # 4 0071260 0 4 ; # 7 2 4 ; # 4 2 7 ] \r \t 0071300 m e n u ! 7 = t a b l e [ 0 0071320 ; # 7 0 0 0 1 ; # 7 3 1 ; # 4 6 0071340 2 ; # 1 0 5 1 ; # 5 0 5 ] \r \t 0071360 m e n u ! 8 = t a b l e [ 0 0071400 ; # 4 1 0 0 2 ; # 7 4 ; # 5 1 1 0071420 ; # 2 1 3 ; # 5 3 4 ] \r \t m e 0071440 n u ! 9 = t a b l e [ 0 ; # 0071460 4 0 0 0 1 ; # 2 3 ; # 3 5 5 ; # 0071500 1 7 5 ; # 4 0 0 ] \r \t m e n u 0071520 ! 1 0 = t a b l e [ 0 ; # 4 0071540 1 0 0 1 ; # 7 3 1 ; # 2 7 5 ; # 0071560 1 0 5 0 ; # 3 2 0 ] \r \t m e n 0071600 u ! 1 1 = t a b l e [ 0 ; # 0071620 7 0 0 0 1 ; # 7 3 1 ; # 3 5 376 001 0071640 \0 i \v 5 ; # 1 0 5 0 ; # 4 0 0 0071660 ] \r \t m e n u ! 1 2 = t a b l e 0071700 [ 0 ; # 1 ; # 2 3 ; # 2 4 6 0071720 ; # 2 6 1 ; # 2 7 1 ] \r \t m e 0071740 n u ! 1 3 = t a b l e [ 0 ; 0071760 # 1 ; # 2 3 ; # 3 2 5 ; # 2 6 1 0072000 ; # 3 5 0 ] \r \t m e n u ! 1 4 0072020 = t a b l e [ 0 ; # 7 0 0 0 0072040 1 ; # 6 0 5 ; # 3 5 5 ; # 7 2 4 0072060 ; # 4 0 0 ] \r \t m e n u ! 1 5 0072100 = t a b l e [ 0 ; # 7 0 0 0 0072120 1 ; # 6 0 5 ; # 4 6 2 ; # 7 2 4 0072140 ; # 5 0 5 ] \r \t m e n u ! 1 6 0072160 = t a b l e [ 0 ; # 1 ; # 2 0072200 3 ; # 4 3 3 ; # 2 6 1 ; # 4 5 6 0072220 ] \r \t m e n u ! 1 7 = t a b l 0072240 e [ 376 001 \0 375 207 0 ; # 4 0 0 0 0072260 1 ; # 3 1 0 ; # 2 4 6 ; # 4 6 2 0072300 ; # 2 7 1 ] \r \t m e n u ! 1 8 0072320 = t a b l e [ 0 ; # 4 4 0 0 0072340 1 ; # 4 6 2 ; # 2 1 7 ; # 5 5 3 0072360 ; # 2 4 2 ] \r \t m e n u ! 1 9 0072400 = t a b l e [ 0 ; # 4 4 0 0 0072420 1 ; # 1 7 5 ; # 3 5 5 ; # 2 6 1 0072440 ; # 4 0 0 ] \r \t m e n u ! 2 0 0072460 = t a b l e [ 0 ; # 4 4 0 0 0072500 1 ; # 1 7 5 ; # 2 7 5 ; # 2 6 1 0072520 ; # 3 2 0 ] \r \t m e n u ! 2 1 0072540 = t a b l e [ 0 ; # 4 4 0 0 0072560 1 ; # 4 6 2 ; # 2 4 6 ; # 5 5 3 0072600 ; # 2 7 1 ] \r \t m e n u ! 2 2 0072620 = t a b l e [ 0 ; # 4 0 0 0 0072640 1 ; # 2 3 ; # 2 376 001 \0 351 a 1 7 ; 0072660 # 1 7 5 ; # 2 4 2 ] \r \t m e n 0072700 u ! 2 3 = t a b l e [ 0 ; # 0072720 4 4 0 0 1 ; # 1 7 5 ; # 2 1 7 ; 0072740 # 2 6 1 ; # 2 4 2 ] \r \t m e n 0072760 u ! 2 4 = t a b l e [ 0 ; # 0073000 4 0 0 0 1 ; # 3 1 0 ; # 2 1 7 ; 0073020 # 4 6 2 ; # 2 4 2 ] \r \t m e n 0073040 u ! 2 5 = t a b l e [ 0 ; # 0073060 1 ; # 2 3 ; # 4 0 4 ; # 2 6 1 ; 0073100 # 4 2 7 ] \r \t m e n u ! 2 6 = 0073120 t a b l e [ 0 ; # 4 1 0 0 1 0073140 ; # 6 0 5 ; # 2 7 5 ; # 7 2 4 ; 0073160 # 3 2 0 ] \r \t m e n u ! 2 7 = 0073200 t a b l e [ 0 ; # 4 0 0 0 1 0073220 ; # 6 0 5 ; # 3 2 5 ; # 7 2 4 ; 0073240 # 3 5 0 ] \r \t m e n u ! 376 001 \0 0073260 L 205 2 8 = t a b l e [ 0 ; # 0073300 1 ; # 3 1 1 ; # 4 0 4 ; # 4 3 0 0073320 ; # 4 2 7 ] \r \t m e n u ! 2 9 0073340 = t a b l e [ 0 ; # 1 ; # 4 0073360 3 5 ; # 4 0 4 ; # 5 5 4 ; # 4 2 0073400 7 ] \r \t m e n u ! 3 0 = t a b 0073420 l e [ 0 ; # 1 ; # 3 1 1 ; # 0073440 3 5 5 ; # 4 3 0 ; # 4 0 0 ] \r 0073460 \t m e n u ! 3 1 = t a b l e [ 0073500 0 ; # 1 ; # 4 3 5 ; # 3 5 5 ; 0073520 # 5 5 4 ; # 4 0 0 ] \r \t m e n 0073540 u ! 3 2 = t a b l e [ 0 ; # 0073560 1 ; # 3 1 1 ; # 4 3 3 ; # 5 5 3 0073600 ; # 4 5 6 ] \r \t m e n u ! 3 3 0073620 = t a b l e [ 0 ; # 1 ; # 2 0073640 3 ; # 4 6 2 ; # 2 6 1 ; # 5 0 5 0073660 ] 376 001 \0 230 326 \r \t m e n u ! 3 4 0073700 = t a b l e [ 0 ; # 1 ; # 3 0073720 1 1 ; # 4 6 2 ; # 5 5 3 ; # 5 0 0073740 5 ] \r \t m e n u ! 3 5 = t a b 0073760 l e [ 0 ; # 1 ; # 3 1 1 ; # 0074000 5 1 1 ; # 5 5 3 ; # 5 3 4 ] \r 0074020 \t m e n u ! 3 6 = t a b l e [ 0074040 0 ; # 4 4 0 0 2 ; # 5 ; # 1 2 0074060 7 ; # 1 0 6 4 ; # 1 5 4 ] \r \t 0074100 m e n u ! 3 7 = t a b l e [ 0074120 0 ; # 1 0 4 0 0 2 ; # 5 0 0 1 7 0074140 ; # 5 2 1 6 6 ; # 4 2 6 5 ; # 6 0074160 1 7 ] \r \t m e n u ! 3 8 = t a 0074200 b l e [ 0 ; # 1 ; # 3 1 1 ; 0074220 # 5 4 0 ; # 5 5 3 ; # 5 6 3 ] 0074240 \r \t m e n u ! 3 9 = t a b l e 0074260 [ 0 ; # 4 0 376 001 \0 205 ( 0 0 1 ; 0074300 # 6 0 5 ; # 2 1 7 ; # 1 0 5 1 ; 0074320 # 2 4 1 ] \r \t m e n u ! 4 0 = 0074340 t a b l e [ 0 ; # 4 0 0 0 1 0074360 ; # 6 0 5 ; # 2 4 6 ; # 1 0 5 1 0074400 ; # 2 7 0 ] \r \t m e n u ! 4 1 0074420 = t a b l e [ 0 ; # 1 ; # 3 0074440 1 1 ; # 5 6 7 ; # 5 5 3 ; # 6 1 0074460 2 ] \r \t m e n u ! 4 2 = t a b 0074500 l e [ 0 ; # 1 0 4 0 0 2 ; # 0074520 6 0 5 7 7 ; # 4 6 1 6 6 ; # 3 0 0074540 5 4 ; # 6 1 7 ] \r \t m e n u ! 0074560 4 3 = t a b l e [ 0 ; # 1 0 0074600 4 0 0 2 ; # 6 6 3 0 3 ; # 4 4 3 0074620 2 5 ; # 2 5 6 0 ; # 6 1 7 ] \r 0074640 \t m e n u ! 4 4 = t a b l e [ 0074660 0 ; # 1 ; # 3 1 0 ; # 376 001 \0 q 0074700 300 2 7 5 ; # 5 5 4 ; # 3 1 7 ] 0074720 \r \t m e n u ! 4 5 = t a b l e 0074740 [ 0 ; # 4 0 0 0 1 ; # 6 5 5 ; 0074760 # 5 1 1 ; # 7 7 4 ; # 5 3 4 ] 0075000 \r \t m e n u ! 4 6 = t a b l e 0075020 [ 0 ; # 1 0 4 0 0 2 ; # 5 4 3 0075040 0 3 ; # 4 6 1 6 6 ; # 2 5 6 0 ; 0075060 # 3 2 2 ] \r \r \t / / s e t 0075100 u p s t r i n g l i s t t a 0075120 b l e \r \t l e t s t r i n g l 0075140 i s t = t a b l e \r \t \t [ \r \t \t 0075160 4 6 \r \t \t 0 ; 0 ; 0 ; 0 ; 0 ; 0 0075200 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 0075220 ; 0 ; 0 \r \t \t 0 ; 0 ; 0 ; 0 ; 0 0075240 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 0075260 ; 0 ; 0 ; 0 \r \t \t 0 ; 0 ; 0 ; 0 0075300 ; 376 001 \0 255 S 0 ; 0 ; 0 ; 0 ; 0 ; 0075320 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 \r \t \t 0075340 ] \r \t s t r i n g l i s t ! 1 = 0075360 " R e w i n d " \r \t s t r i n g 0075400 l i s t ! 2 = " U n l o a d " \r 0075420 \t s t r i n g l i s t ! 3 = " R 0075440 e a d L e n g t h " \r \t s t r 0075460 i n g l i s t ! 4 = " W r i t e 0075500 E O F " \r \t s t r i n g l i s 0075520 t ! 5 = " B a c k S k i p " \r 0075540 \t s t r i n g l i s t ! 6 = " R 0075560 e a d R e v " \r \t s t r i n g 0075600 l i s t ! 7 = " N o O p " \r \t s 0075620 t r i n g l i s t ! 8 = " Q U I 0075640 T " \r \t s t r i n g l i s t ! 9 0075660 = " W r i t e L e n g t h " \r 0075700 \t s t r i n 376 001 \0 u 210 g l i s t 0075720 ! 1 0 = " W r i t e F w d " \r 0075740 \t s t r i n g l i s t ! 1 1 = " 0075760 E r a s e " \r \t s t r i n g l i 0076000 s t ! 1 2 = " D i s p l a y R 0076020 D D a t a " \r \t s t r i n g l 0076040 i s t ! 1 3 = " D i s p l a y 0076060 W R T D a t a " \r \t s t r i n 0076100 g l i s t ! 1 4 = " F w d B l 0076120 o c k " \r \t s t r i n g l i s t 0076140 ! 1 5 = " B a c k B l o c k " 0076160 \r \t s t r i n g l i s t ! 1 6 = 0076200 " C o m p a r e B u f f e r " 0076220 \r \t s t r i n g l i s t ! 1 7 = 0076240 " R e t r i e s " \r \t s t r i n 0076260 g l i s t ! 2 2 = " D i s p l a 0076300 y M o d e " \r \t s t 376 001 \0 0 c 0076320 r i n g l i s t ! 2 4 = " D r i 0076340 v e N u m b e r " \r \t s t r i n 0076360 g l i s t ! 2 5 = " C h a n g e 0076400 D a t a P a t t e r n " \r \t 0076420 s t r i n g l i s t ! 2 6 = " R 0076440 e a d F w d " \r \t s t r i n g 0076460 l i s t ! 2 7 = " F w d S k i 0076500 p " \r \t s t r i n g l i s t ! 2 0076520 8 = " L o o p R D " \r \t s t r 0076540 i n g l i s t ! 2 9 = " L o o p 0076560 W R T " \r \t s t r i n g l i s 0076600 t ! 3 0 = " D s p y C n t s " 0076620 \r \t s t r i n g l i s t ! 3 1 = 0076640 " R e s e t C n t s " \r \t s t 0076660 r i n g l i s t ! 3 3 = " " \r 0076700 \t s t r i n g l i s t ! 3 7 = " 0076720 376 001 \0 366 Y P r o g r a m C o n 0076740 t r o l " \r \t s t r i n g l i s 0076760 t ! 4 2 = " S i n g l e O p e 0077000 r a t i o n s " \r \t s t r i n g 0077020 l i s t ! 4 3 = " L o o p O p 0077040 e r a t i o n s " \r \t s t r i n 0077060 g l i s t ! 4 5 = " R e s e t O 0077100 p " \r \t s t r i n g l i s t ! 4 0077120 6 = " U n i t S e l e c t i o 0077140 n " \r \r \t / / s e t u p m 0077160 e n u D C B t a b l e \r \t l e 0077200 t m e n u D C B = t a b l e \r 0077220 \t \t [ \r \t \t 0 \r \t \t 0 ; # 0 ; 0 0077240 ; 4 3 \r \t \t 0 ; # 4 6 ; 0 ; 1 2 0077260 \r \t \t 0 ; # 0 ; 0 ; 4 \r \t \t 0 ; 0077300 # 4 4 ; 0 ; 1 4 1 \r \t \t 0 ; # 0 0077320 ; 0 ; 2 0 376 001 \0 } 235 4 \r \t \t ] \r 0077340 \t t e s t ( m e n u D C B & 1 0077360 ) e q 1 i f s o m e n u 0077400 D C B = m e n u D C B + 1 \r \t \t 0077420 i f n o t f o r n = 0 t o 0077440 1 9 d o m e n u D C B ! n 0077460 = m e n u D C B ! ( n + 1 ) \r \t 0077500 f o r n = 0 t o 3 d o 0077520 m e n u D C B ! ( 4 * n ) = m e 0077540 n u D C B + 4 * ( n + 1 ) \r \r \t 0077560 / / n o w f i n i s h u p 0077600 \r \t l e t t e m p = t a b l e 0077620 [ 0 ; 0 ; 0 ] \r \t t e m p 0077640 ! 0 = m e n u \r \t t e m p ! 1 = 0077660 s t r i n g l i s t \r \t t e m p 0077700 ! 2 = m e n u D C B \r \t r e s u 0077720 l t i s t e m p \r 376 \0 003 \t ` \t 0077740 ] \r 377 \0 \0 T D P M e n u N a m e 0077760 s . d \0 373 226 243 M 353 \0 \0 376 001 \0 235 003 0100000 / / T D P M e n u - - 0100020 M a n i f e s t n a m e s f 0100040 o r m e n u w i n d o w s . 0100060 \r \r \r m a n i f e s t \r \t [ \r \t 0100100 t R e w i n d = 1 \r \t t U n l o 0100120 a d = 2 \r \t t R e a d L = 3 \r \t 0100140 t W r i t e E O F = 4 \r \t t B a 0100160 c k S k i p = 5 \r \t t R e a d R 0100200 e v = 6 \r \t t N o O p = 7 \r \t Q 0100220 u i t I t = 8 \r \t t W r i t e L 0100240 = 9 \r \t t W r i t e F w d = 1 0 0100260 \r \t t E r a s e = 1 1 \r \t t S h 0100300 o w R e a d = 1 2 \r \t t S h o w 0100320 W r i t e = 1 3 \r \t t F w d B k 0100340 = 1 4 \r \t t B a c k B k = 1 5 \r 0100360 \t t C o m p a r e B u f f e r s 0100400 376 001 \0 A 355 = 1 6 \r \t t R e t r i 0100420 e s = 1 7 \r \t U n i t = 1 8 \r \t 0100440 W r i t e L = 1 9 \r \t R e a d L 0100460 = 2 0 \r \t R e t r i e s = 2 1 \r 0100500 \t t M o d e = 2 2 \r \t M o d e = 0100520 2 3 \r \t t U n i t = 2 4 \r \t t P 0100540 a t t e r n = 2 5 \r \t t R e a d 0100560 F w d = 2 6 \r \t t F w d S k i p 0100600 = 2 7 \r \t t R e a d L o o p = 2 0100620 8 \r \t t W r i t e L o o p = 2 9 0100640 \r \t t D i s p S t a t = 3 0 \r \t 0100660 t R e s e t = 3 1 \r \t t S t o p 0100700 D E = 3 2 \r \t t L o g = 3 3 \r \t 0100720 t S t o p A E = 3 4 \r \t t L o o 0100740 p R e a d A f t e r W r i t e = 0100760 3 5 \r \t T i t l e = 3 6 \r \t t D 0101000 a t a C o 376 \0 z 350 \a m p a r e = 0101020 3 8 \r \t t S i n g l e R e a d A 0101040 f t e r W r i t e = 3 9 \r \t t S 0101060 i n g l e C o m p a r e A f t e 0101100 r R e a d = 4 0 \r \t t D i s p A 0101120 f t e r E r r o r = 4 1 \r \t t S 0101140 i n g l e D e n s i t y S e t = 0101160 4 4 \r \t t R e s e t O p = 4 5 \r 0101200 \t ] \r \r 377 \0 \0 L i n k T D P . c 0101220 m \0 373 226 264 - E \0 \0 376 001 \0 Z 250 / / 0101240 L i n k T D P . c m \r / / L 0101260 a s t m o d i f i e d b y 0101300 T i m D i e b e r t , F e b 0101320 r u a r y 1 3 , 1 9 8 1 0101340 1 0 : 2 8 A M \r b l d r / l / 0101360 v T D P ^ \r T D P U 0101400 t i l ^ \r D D T a p e I 0101420 O ^ \r D D T a p e U t i 0101440 l A ^ \r T D P M e n u T 0101460 a b l e s ^ \r M e n u 0101500 ^ \r M e n u B o x ^ \r 0101520 M e n u B o x U t i l s ^ 0101540 \r M e n u K e y B o a r d 0101560 ^ \r T e m p l a t e ^ 0101600 \r B c p l R u n t i m e 0101620 ^ \r A l t o T i m e r 376 \0 0101640 U 261 c ^ \r D D T a p e I 0101660 n i t ^ \r I n t e r r u 0101700 p t I n i t ^ \r I n t e 0101720 r r u p t ^ \r L o a d R 0101740 a m ^ \r D D T a p e M i 0101760 c r o c o d e \r 377 \0 \0 D u m p T 0102000 D P S o u r c e s . c m \0 373 230 F 0102020 < 6 \0 \0 376 001 \0 I 035 / / D u m p 0102040 T D P S o u r c e s . c m \r / / 0102060 L a s t m o d i f i e d b 0102100 y T i m D i e b e r t , D 0102120 e c e m b e r 1 5 , 1 9 8 1 0102140 9 : 5 5 A M \r f t p i n 0102160 d i g o c o n n / c A l t o 0102200 T a p e d i r / c > D u a l 0102220 D e n s i t y > S o f t w a r e 0102240 S o u r c e s > ^ \r d u 0102260 m p / c T D P S o u r c e s . 0102300 d m ^ \r T D P D e f s . 0102320 d ^ \r T D P . b c p l 0102340 ^ \r T D P U t i l . b c p 0102360 l ^ \r T D P M e n u T a 0102400 b l e s . b c p l ^ \r T 0102420 D P M e n u N a m 376 \0 n 224 364 e s 0102440 . d ^ \r L i n k T D P . 0102460 c m ^ \r D u m p T D P S 0102500 o u r c e s . c m ^ \r d i r / 0102520 c > D u a l D e n s i t y > S 0102540 o f t w a r e > ^ \r s t 0102560 o r e / c T D P . r u n ^ \r 0102600 T D P . s y m s \r 374 0102615