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