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