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