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