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