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