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