$ od -c -N 50000 [Indigo]<AltoSource>NETEXEC.DM!3 0000000 377 \0 \0 N e t E x e c . b c p l \0 0000020 373 232 K 253 } \0 \0 376 001 \0 257 K / / N 0000040 e t E x e c . b c p l - - A 0000060 o n e - d a y h a c k t h 0000100 a t w o r k e d \r / / C o p 0000120 y r i g h t X e r o x C o r 0000140 p o r a t i o n 1 9 7 9 , 1 0000160 9 8 0 , 1 9 8 2 , 1 9 8 3 \r 0000200 / / L a s t m o d i f i e d 0000220 J a n u a r y 1 1 , 1 9 8 0000240 3 8 : 2 2 P M b y B o 0000260 g g s \r \r g e t " A l t o D e 0000300 f s . d " \r g e t " C m d S c 0000320 a n . d e c l " \r \r e x t e r n 0000340 a l \r [ \r / / o u t g o i n g 0000360 p r o c e d u r e s \r L o a d 0000400 K T \r \r / / i n c o m i n g 0000420 p r o c e d u r e s \r P 376 001 \0 272 0000440 311 r i n t N a m e ; L o a d M 0000460 i c r o c o d e ; W h e r e \r 0000500 G e t T i m e ; G e t D i r ; 0000520 G e t N a m e ; N e t B o o 0000540 t \r \r M y F r a m e ; U s c ; 0000560 C a l l S w a t ; S y s E r 0000600 r ; M o v e B l o c k ; Z e 0000620 r o \r E n q u e u e ; D e q u 0000640 e u e ; D o u b l e D i f f e 0000660 r e n c e ; J u n t a \r I n i 0000700 t i a l i z e Z o n e ; A l l 0000720 o c a t e ; F r e e \r \r I n i 0000740 t i a l i z e C o n t e x t ; 0000760 C a l l C o n t e x t L i s t ; 0001000 B l o c k ; D i s m i s s \r 0001020 \r C r e a t e D i s p l a y S t 0001040 r 376 001 \0 d 333 e a m ; S h o w D 0001060 i s p l a y S t r e a m ; E r 0001100 a s e B i t s \r G e t B i t P o 0001120 s ; S e t B i t P o s ; C h 0001140 a r W i d t h ; G e t L m a r 0001160 g ; S e t F o n t \r \r S e t T 0001200 i m e r ; T i m e r H a s E x 0001220 p i r e d \r S t a r t I O ; F 0001240 a l s e P r e d i c a t e ; R 0001260 e a d C a l e n d a r \r \r U N P 0001300 A C K D T ; W E E K D A Y ; 0001320 M O N T H N A M E ; W R I T E 0001340 U D T \r P u t s ; R e s e t s 0001360 ; C l o s e s ; P u t b a c 0001400 k s ; E n d o f s \r P u t T e 0001420 m p l a t e ; W s s \r \r C r e 0001440 a t e K e y 376 001 \0 j 372 w o r d T 0001460 a b l e ; I n s e r t K e y w 0001500 o r d ; L o o k u p K e y w o 0001520 r d ; D e l e t e K e y w o r 0001540 d \r I n i t C m d ; G e t K e 0001560 y w o r d ; G e t N u m b e r 0001600 ; C m d E r r o r C o d e ; 0001620 E n a b l e C a t c h ; E n d 0001640 C a t c h \r B e g i n D e f a u 0001660 l t P h r a s e ; E n d D e f 0001700 a u l t P h r a s e ; C o n f 0001720 i r m \r \r I n i t P u p L e v e 0001740 l 1 ; E t h e r B o o t \r \r / 0001760 / i n c o m i n g s t a t i 0002000 c s \r s y s Z o n e ; s y s F 0002020 o n t ; d s p ; k e y s \r t 0002040 i m e R e q u e s t ; 376 001 \0 207 \n 0002060 d i r R e q u e s t \r \r / / 0002100 o u t g o i n g s t a t i c s 0002120 \r f t p C t x Q ; c m d D s p 0002140 ; c m d K T ; e b K T ; k 0002160 b d C S ; b u f ; e n g ; 0002200 O p e n F i l e \r ] \r \r s t a t 0002220 i c \r [ \r f t p C t x Q ; c m 0002240 d D s p ; c m d K T ; e b K 0002260 T ; k b d C S ; b u f \r w a 0002300 t c h D o g ; n u m K T E s 0002320 = 0 ; e n g ; O p e n F i 0002340 l e \r c u r s o r O n ; c u r 0002360 s o r T i m e r \r ] \r \r s t r u 0002400 c t u r e K T E : \r [ \r d a t 0002420 e w o r d 2 \r h o s t w o 0002440 r d \t / / i f h o s t i s 0002460 376 001 \0 231 216 z e r o t h e n \r b 0002500 f n w o r d \t / / b f n i s 0002520 r e a l l y a l o c a l 0002540 p r o c e d u r e ( e . g . 0002560 B f n T o K e y s ) \r ] \r m a n 0002600 i f e s t \r [ \r l e n K T E = 0002620 s i z e K T E / 1 6 \r m a x 0002640 K T E s = 1 0 0 \r \r b u f L 0002660 e n = 2 5 6 + 1 6 3 8 4 0002700 + 4 0 9 6 + 1 0 0 / 0002720 / h e a d e r + I M + 0002740 I F U M + s l o p \r s t k L 0002760 i m = 3 3 5 b \r ] \r \f \r / / 0003000 - - - - - - - - - - - - - - - - * 0003060 - - - - - 376 001 \0 343 021 - - - - - - 0003100 - - - - - - - - - - - - - - - - 0003120 \r l e t N e t E x e c ( ) b 0003140 e J u n t a ( n i l , A f t 0003160 e r J u n t a ) \r / / - - - - - 0003200 - - - - - - - - - - - - - - - - * 0003300 - - - - - - \r \r / / - - - - - - 0003320 - - - - - - - - - - - - - - - - * 0003420 - - - - - \r a n d A f t e r J 0003440 u n t a ( ) b e \r / / - - - - 0003460 - - - - - - - - - - 376 001 \0 N 366 - 0003500 - - - - - - - - - - - - - - - - * 0003560 - - - - - - - - - - - - \r [ \r l 0003600 e t d = v e c ( l D C B 0003620 + 3 ) ; d s p = ( d + 1 ) 0003640 & - 2 \r l e t d c b = d s 0003660 p + 2 ; d s p ! 0 , d s p ! 0003700 1 = d c b , d c b \r Z e r 0003720 o ( d c b , l D C B ) ; d c 0003740 b > > D C B . h e i g h t = 0003760 4 2 \r S h o w D i s p l a y S t 0004000 r e a m ( d s p , D S a l o n 0004020 e ) \r e n g = ( t a b l e 0004040 [ 6 1 0 1 4 b ; 1 4 0 1 b 0004060 ] ) ( ) < < V E R S . e n g \r 376 0004100 001 \0 t M \r b u f = @ s t k L 0004120 i m ; @ s t k L i m = b u 0004140 f + b u f L e n \r l e t b 0004160 a s e = @ s t k L i m ; @ 0004200 s t k L i m = M y F r a m e 0004220 ( ) - 2 0 0 \r s y s Z o n e 0004240 = I n i t i a l i z e Z o n 0004260 e ( b a s e , @ s t k L i m 0004300 - b a s e , S y s E r r , 0004320 S y s E r r ) \r \r l e t v = 0004340 v e c 1 ; f t p C t x Q 0004360 = v ; f t p C t x Q ! 0 = 0004400 0 \r I n i t P u p L e v e l 1 0004420 ( s y s Z o n e , f t p C t x 0004440 Q , 1 0 ) \r E n q u e u e ( f 0004460 t p C t x Q , I n i t i a l i 0004500 z e C o 376 001 \0 @ 256 n t e x t ( A 0004520 l l o c a t e ( s y s Z o n e , 0004540 5 0 0 ) , 5 0 0 , T i t l 0004560 e ) ) \r E n q u e u e ( f t p C 0004600 t x Q , I n i t i a l i z e C 0004620 o n t e x t ( A l l o c a t e ( 0004640 s y s Z o n e , 5 0 0 ) , 5 0004660 0 0 , C o m m a n d ) ) \r E n 0004700 q u e u e ( f t p C t x Q , I 0004720 n i t i a l i z e C o n t e x t 0004740 ( A l l o c a t e ( s y s Z o n 0004760 e , 3 0 0 ) , 3 0 0 , G e 0005000 t T i m e ) ) \r E n q u e u e ( 0005020 f t p C t x Q , I n i t i a l 0005040 i z e C o n t e x t ( A l l o c 0005060 a t e ( s y s Z o n e , 3 0 0 0005100 ) , 3 0 0 , G 376 001 \0 306 327 e t 0005120 D i r ) ) \r E n q u e u e ( f t 0005140 p C t x Q , I n i t i a l i z 0005160 e C o n t e x t ( A l l o c a t 0005200 e ( s y s Z o n e , 3 0 0 ) , 0005220 3 0 0 , G e t N a m e ) ) \r 0005240 E n q u e u e ( f t p C t x Q , 0005260 I n i t i a l i z e C o n t e 0005300 x t ( A l l o c a t e ( s y s Z 0005320 o n e , 1 0 0 ) , 1 0 0 , 0005340 W a t c h D o g ) ) \r \r c m d K 0005360 T = C r e a t e K e y w o r 0005400 d T a b l e ( m a x K T E s , 0005420 l e n K T E ) \r e b K T = C 0005440 r e a t e K e y w o r d T a b l 0005460 e ( m a x K T E s , l e n K T 0005500 E ) \r \r C a l l C o n t e x 376 001 0005520 \0 ~ = t L i s t ( f t p C t x Q 0005540 ! 0 ) r e p e a t \r ] \r \f \r / 0005560 / - - - - - - - - - - - - - - - 0005600 - - - - - - - - - - - - - - - - * 0005660 - - - - - - - - - - - - \r a n d 0005700 T i t l e ( ) b e \r / / - - 0005720 - - - - - - - - - - - - - - - - * 0006020 - - - - - - - - - \r [ \r B l o c 0006040 k ( ) \r l e t l i n e W o r d 0006060 s = l D C B + 3 8 * 2 * ( ( 0006100 s y s F o n t ! - 2 + 1 ) r s 0006120 h i f 376 001 \0 O 036 t 1 ) + 1 0006140 \r l e t t o p = v e c 1 0006160 \r t o p ! 0 = C r e a t e D 0006200 i s p l a y S t r e a m ( 1 , 0006220 A l l o c a t e ( s y s Z o n e 0006240 , l i n e W o r d s ) , l i 0006260 n e W o r d s ) \r t o p ! 1 = 0006300 C r e a t e D i s p l a y S t 0006320 r e a m ( 1 , A l l o c a t e 0006340 ( s y s Z o n e , l i n e W o 0006360 r d s ) , l i n e W o r d s ) 0006400 \r S h o w D i s p l a y S t r e 0006420 a m ( t o p ! 0 , D S b e l o 0006440 w , d s p ) \r l e t b o t 0006460 = v e c 1 \r b o t ! 0 = 0006500 C r e a t e D i s p l a y S t r 0006520 e a m ( 1 , A 376 001 \0 257 237 l l o 0006540 c a t e ( s y s Z o n e , l i 0006560 n e W o r d s ) , l i n e W o 0006600 r d s ) \r b o t ! 1 = C r e 0006620 a t e D i s p l a y S t r e a m 0006640 ( 1 , A l l o c a t e ( s y s 0006660 Z o n e , l i n e W o r d s ) 0006700 , l i n e W o r d s ) \r S h o 0006720 w D i s p l a y S t r e a m ( b 0006740 o t ! 0 , D S b e l o w , t 0006760 o p ! 0 ) \r l e t b o l d F o 0007000 n t = v e c 1 ; b o l d 0007020 F o n t = b o l d F o n t 0007040 + 2 \r b o l d F o n t ! - 2 = 0007060 - 1 ; b o l d F o n t ! - 1 0007100 = s y s F o n t \r l e t m 0007120 a c h i n e T y p e = 376 001 \0 0007140 201 306 s e l e c t o n e n g i 0007160 n t o \r [ \r c a s e 0007200 0 : c a s e 1 : " A l t 0007220 o I " \r c a s e 2 : 0007240 " A l t o I I " \r c a s 0007260 e 3 : " A l t o I I X M 0007300 " \r c a s e 4 : " D o 0007320 l p h i n " \r c a s e 5 0007340 : " D o r a d o " \r ] \r 0007360 \r l e t l a s t T i m e , n 0007400 o w = v e c 1 , v e c 0007420 1 \r [ \r R e a d C a 0007440 l e n d a r ( n o w ) \r i 0007460 f D o u b l e D i f f e r e n 0007500 c e ( n o w , l a s t T i m e 0007520 ) n e 0 t h e n \r 0007540 376 001 \0 365 234 [ \r l 0007560 e t l i n e = t o p ! 1 \r 0007600 R e s e t s ( l i n 0007620 e ) \r P u t T e m p 0007640 l a t e ( l i n e , " - - $ 0007660 P X E R O X $ P B C P L N e 0007700 t E x e c u t i v e / 1 2 " , 0007720 \r S e t F o n t , 0007740 b o l d F o n t , S e t F o 0007760 n t , s y s F o n t ) \r 0010000 F i l l W i t h D a s h ( 0010020 l i n e , 3 3 0 ) \r 0010040 W r i t e D a t e ( l i n e ) 0010060 \r F i l l W i t h D 0010100 a s h ( l i n e , 6 0 5 ) \r 0010120 E x c h a n g e L i n 0010140 e s ( t o p ) 376 001 \0 232 020 \r \r 0010160 l i n e = b o t ! 1 0010200 \r R e s e t s ( l i 0010220 n e ) \r F i l l W i 0010240 t h D a s h ( l i n e , 1 2 5 0010260 ) \r W s s ( l i n e 0010300 , m a c h i n e T y p e ) \r 0010320 F i l l W i t h D a s 0010340 h ( l i n e , 2 5 0 ) \r 0010360 P r i n t N a m e ( l i n 0010400 e ) \r i f e n g 0010420 g r 3 t h e n \r 0010440 [ \r F i 0010460 l l W i t h D a s h ( l i n e , 0010500 4 5 0 ) \r P 0010520 u t T e m p l a t e ( l i n e , 0010540 " P a r t i t i o n 376 001 \0 217 0010560 320 $ D " , ( t a b l e [ 6 0010600 1 0 3 7 b ; 1 4 0 1 b ] ) ( 0010620 0 ) ) \r ] \r 0010640 F i l l W i t h D a s 0010660 h ( l i n e , 6 0 5 ) \r 0010700 E x c h a n g e L i n e s 0010720 ( b o t ) \r \r M o v 0010740 e B l o c k ( l a s t T i m e , 0010760 n o w , 2 ) \r ] 0011000 \r D i s m i s s ( 2 0 ) \r 0011020 ] r e p e a t \r ] \r \r / 0011040 / - - - - - - - - - - - - - - - 0011060 - - - - - - - - - - - - - - - - * 0011140 - - - - - - - - - - - - \r a n d 0011160 376 001 \0 F G E x c h a n g e L i 0011200 n e s ( l i n e V e c ) b e \r 0011220 / / - - - - - - - - - - - - - - 0011240 - - - - - - - - - - - - - - - - * 0011320 - - - - - - - - - - - - - \r [ \r 0011340 l e t d c b = @ d i s p l 0011360 a y L i s t H e a d \r w h i l e 0011400 d c b > > D C B . n e x t n 0011420 e l i n e V e c ! 0 > > D S . 0011440 c d c b d o d c b = d c 0011460 b > > D C B . n e x t \r l i n e 0011500 V e c ! 1 > > D S . c d c b > > 0011520 D C B . n e x t = l i n e V 0011540 e c ! 0 > > D S . c d c b > > D 0011560 C B . n e x 376 001 \0 032 207 t \r d c b 0011600 > > D C B . n e x t = l i n 0011620 e V e c ! 1 > > D S . c d c b \r 0011640 l e t t e m p = l i n e V 0011660 e c ! 1 ; l i n e V e c ! 1 0011700 = l i n e V e c ! 0 ; l i n 0011720 e V e c ! 0 = t e m p \r ] \r 0011740 \f \r / / - - - - - - - - - - - - 0011760 - - - - - - - - - - - - - - - - * 0012040 - - - - - - - - - - - - - - - \r 0012060 a n d F i l l W i t h D a s h 0012100 ( s t r e a m , e n d ) b e 0012120 \r / / - - - - - - - - - - - - - 0012140 - - - - - - - - - - - - - - - - 0012160 - - - - - - - - - - - 376 001 \0 027 205 0012200 - - - - - - - - - - - - - - - - * 0012240 - - - \r [ \r i f ( e n d - G e 0012260 t B i t P o s ( s t r e a m ) ) 0012300 g r C h a r W i d t h ( s t 0012320 r e a m , $ * S ) & \r G e 0012340 t B i t P o s ( s t r e a m ) 0012360 n e G e t L m a r g ( s t r e 0012400 a m ) t h e n P u t s ( s t 0012420 r e a m , $ * S ) \r f o r i 0012440 = 1 t o ( e n d - C h a 0012460 r W i d t h ( s t r e a m , $ 0012500 * S ) - G e t B i t P o s ( s t 0012520 r e a m ) ) / \r C h a r W i d 0012540 t h ( s t r e a m , $ - ) d 0012560 o P u t s ( s t r e a m , $ 0012600 376 001 \0 ( b - ) \r S e t B i t P o 0012620 s ( s t r e a m , e n d ) \r ] 0012640 \r \r / / - - - - - - - - - - - - 0012660 - - - - - - - - - - - - - - - - * 0012740 - - - - - - - - - - - - - - - \r 0012760 a n d W r i t e D a t e ( s t 0013000 r e a m ) = v a l o f \r / / 0013020 - - - - - - - - - - - - - - - - * 0013120 - - - - - - - - - - - \r / / " 0013140 W e e k d a y M o n t h D a 0013160 y - h o u r : m i n u t e : 0013200 s e c o n 376 001 \0 > 343 d a m / p 0013220 m " \r [ \r s t r u c t u r e U 0013240 V : \r [ \r y e a r 0013260 w o r d \r m o n t h w o 0013300 r d \r d a y w o r d \r 0013320 h o u r w o r d \r m 0013340 i n u t e w o r d \r s e 0013360 c o n d w o r d \r d s t 0013400 w o r d \r ] \r m a n i f 0013420 e s t l e n U V = s i z e 0013440 U V / 1 6 \r l e t d v = 0013460 v e c 1 ; R e a d C a l e n 0013500 d a r ( d v ) \r l e t u v = 0013520 v e c l e n U V ; U N P A 0013540 C K D T ( d v , u v ) \r i f 0013560 u v > > U V . y e a r l e 1 0013600 9 8 2 % u v > > 376 001 \0 \b 002 U 0013620 V . y e a r g r 2 0 0 0 t 0013640 h e n \r [ \r W s s ( 0013660 s t r e a m , " D a t e a n 0013700 d t i m e u n k n o w n " ) 0013720 \r r e s u l t i s f a l 0013740 s e \r ] \r l e t d a y 0013760 = s e l e c t o n W E E K D 0014000 A Y ( d v ) i n t o \r [ 0014020 \r c a s e 0 : " M o n 0014040 d a y " \r c a s e 1 : 0014060 " T u e s d a y " \r c a s 0014100 e 2 : " W e d n e s d a y " 0014120 \r c a s e 3 : " T h u 0014140 r s d a y " \r c a s e 4 0014160 : " F r i d a y " \r c a 0014200 s e 5 : " S a t u r d a y 376 0014220 001 \0 003 377 " \r c a s e 6 : 0014240 " S u n d a y " \r ] \r l 0014260 e t m o n t h = s e l e c 0014300 t o n u v > > U V . m o n t h 0014320 i n t o \r [ \r c a 0014340 s e 0 : " J a n " \r c 0014360 a s e 1 : " F e b " \r 0014400 c a s e 2 : " M a r " \r 0014420 c a s e 3 : " A p r " \r 0014440 c a s e 4 : " M a y " \r 0014460 c a s e 5 : " J u n " 0014500 \r c a s e 6 : " J u l 0014520 " \r c a s e 7 : " A u 0014540 g " \r c a s e 8 : " S 0014560 e p " \r c a s e 9 : " 0014600 O c t " \r c a s e 1 0 : 0014620 " N o 376 001 \0 > 026 v " \r c 0014640 a s e 1 1 : " D e c " \r 0014660 ] \r P u t T e m p l a t e ( s 0014700 t r e a m , " $ S $ S $ U 0014720 D - " , d a y , m o n t 0014740 h , u v > > U V . d a y ) \r l 0014760 e t a m = u v > > U V . h 0015000 o u r l e 1 1 \r i f u v > 0015020 > U V . h o u r g e 1 2 t 0015040 h e n u v > > U V . h o u r 0015060 = u v > > U V . h o u r - 0015100 1 2 \r i f u v > > U V . h o u 0015120 r l s 1 t h e n u v > > 0015140 U V . h o u r = 1 2 \r P u t 0015160 T e m p l a t e ( s t r e a m , 0015200 " $ U D : $ U 2 F 0 D : $ U 2 0015220 F 0 D $ S " , 376 001 \0 z L u v 0015240 > > U V . h o u r , \r u v > > 0015260 U V . m i n u t e , u v > > U 0015300 V . s e c o n d , ( a m ? " 0015320 a m " , " p m " ) ) \r r e s u 0015340 l t i s t r u e \r ] \r \f \r / / 0015360 - - - - - - - - - - - - - - - - * 0015460 - - - - - - - - - - - \r a n d 0015500 C o m m a n d ( ) b e / / 0015520 a c o n t e x t \r / / - - - - 0015540 - - - - - - - - - - - - - - - - * 0015620 - - - - - - - - - - - - - - 376 001 0015640 \0 225 355 - - - - - - - - - \r [ \r m 0015660 a n i f e s t n u m L i n e s 0015700 = 2 0 \r c m d D s p = C 0015720 r e a t e D i s p l a y S t r e 0015740 a m ( n u m L i n e s , b u f 0015760 , b u f L e n ) \r f o r i 0016000 = 1 t o n u m L i n e s - 0016020 1 d o P u t s ( c m d D s p 0016040 , $ * N ) \r S h o w D i s p l 0016060 a y S t r e a m ( c m d D s p , 0016100 D S b e l o w , d s p ) \r S 0016120 e t T i m e r ( l v c u r s o 0016140 r T i m e r , 0 ) \r c m d D s 0016160 p > > S T . p u t b a c k = 0016200 c m d D s p > > S T . p u t s ; 0016220 c m d D s p > > S T . p u t s 0016240 = 376 001 \0 | 236 P u t s W i t h 0016260 C u r s o r \r k e y s > > S T . 0016300 p a r 1 = k e y s > > S T . 0016320 g e t s ; k e y s > > S T . g 0016340 e t s = G e t s W i t h C u 0016360 r s o r \r k e y s > > S T . p a 0016400 r 2 = k e y s > > S T . e n 0016420 d o f ; k e y s > > S T . e n 0016440 d o f = E n d o f W i t h C 0016460 u r s o r \r \r l e t d u m m y 0016500 D a t e = v e c 1 ; Z e 0016520 r o ( d u m m y D a t e , 2 ) 0016540 \r L o a d K T ( c m d K T , " 0016560 B o o t D P 0 " , 0 , d u m 0016600 m y D a t e , D i s k B o o t 0016620 ) \r L o a d K T ( c m d K T , 0016640 " E t h e r B o 376 001 \0 345 352 o t " 0016660 , 0 , d u m m y D a t e , 0016700 N e t B o o t ) \r L o a d K T ( 0016720 c m d K T , " F i l e S t a t 0016740 " , 0 , d u m m y D a t e , 0016760 F i l e S t a t ) \r i f e n 0017000 g g r 3 t h e n \r [ 0017020 \r L o a d K T ( c m d K T 0017040 , " L o a d M i c r o c o d e 0017060 " , 0 , d u m m y D a t e , 0017100 L o a d M i c r o c o d e ) \r 0017120 L o a d K T ( c m d K T , 0017140 " P a r t i t i o n " , 0 , 0017160 d u m m y D a t e , P a r t 0017200 i t i o n ) \r L o a d K T 0017220 ( c m d K T , " P o w e r O f 0017240 f " , 0 , d u m m y D 376 001 \0 0017260 * o a t e , P o w e r O f f ) 0017300 \r ] \r L o a d K T ( c m d 0017320 K T , " P r o b e " , 0 , 0017340 d u m m y D a t e , P r o b e 0017360 ) \r L o a d K T ( c m d K T , 0017400 " Q u i t " , 0 , d u m m y 0017420 D a t e , Q u i t ) \r L o a d 0017440 K T ( c m d K T , " S e t T i 0017460 m e " , 0 , d u m m y D a t 0017500 e , S e t T i m e ) \r L o a d 0017520 K T ( c m d K T , " W h e r e 0017540 " , 0 , d u m m y D a t e , 0017560 W h e r e ) \r \r [ \r 0017600 k b d C S = I n i t C m d 0017620 ( 2 5 6 , 5 , 0 , 0 , 0 0017640 , k e y s , c m d D s p ) 0017660 r e 376 001 \0 370 250 p e a t u n t i l 0017700 k b d C S n e 0 \r W 0017720 s s ( k b d C S , " * N > " ) \r 0017740 i f E n a b l e C a t c 0017760 h ( k b d C S ) t h e n \r 0020000 [ \r i f C 0020020 m d E r r o r C o d e ( k b d C 0020040 S ) e q e c K e y N o t F o 0020060 u n d t h e n P r o b e ( ) 0020100 \r E n d C a t c h ( 0020120 k b d C S ) \r ] \r 0020140 S e t T i m e r ( l v w a 0020160 t c h D o g , 3 0 0 0 0 ) 0020200 / / 5 m i n \r l e t k 0020220 t e = G e t K e y w o r d ( 0020240 k b d C S , c m d K T ) \r 0020260 t e s t k 376 001 \0 i \n t e > > 0020300 K T E . h o s t n e 0 \r 0020320 i f s o E t h e r B o 0020340 o t ( k t e > > K T E . b f n , 0020360 f a l s e , k t e > > K T E 0020400 . h o s t ) \r i f n 0020420 o t ( k t e > > K T E . b f n 0020440 ) ( ) \r C l o s e s ( k b 0020460 d C S ) \r ] r e p e a t 0020500 \r ] \r \f \r / / - - - - - - - - - 0020520 - - - - - - - - - - - - - - - - * 0020620 - - \r a n d L o a d K T ( k t 0020640 , n a m e , h o s t , d a 0020660 t e , b f n ) b e \r 376 001 \0 * 0020700 335 / / - - - - - - - - - - - - - 0020720 - - - - - - - - - - - - - - - - * 0021000 - - - - - - - - - - - - - - \r [ 0021020 \r l e t k t e = L o o k u 0021040 p K e y w o r d ( k t , n a m 0021060 e ) \r i f k t e n e 0 & 0021100 D o u b l e U s c ( d a t e , 0021120 l v k t e > > K T E . d a t 0021140 e ) g r 0 t h e n \r 0021160 [ D e l e t e K e y w o r d ( 0021200 k t , n a m e ) ; k t e = 0021220 0 ] \r i f k t e e q 0 0021240 & n u m K T E s n e m a 0021260 x K T E s t h e n \r [ \r 0021300 376 001 \0 320 347 k t e = I n 0021320 s e r t K e y w o r d ( k t , 0021340 n a m e ) \r k t e > > K T 0021360 E . h o s t = h o s t \r 0021400 k t e > > K T E . b f n = 0021420 b f n \r M o v e B l o c k 0021440 ( l v k t e > > K T E . d a t 0021460 e , d a t e , 2 ) \r ] 0021500 \r ] \r \r / / - - - - - - - - - - 0021520 - - - - - - - - - - - - - - - - * 0021620 - - \r a n d D o u b l e U s c 0021640 ( l v A , l v B ) = \r / / - 0021660 - - - - - - - - - - - - - - - - 0021700 - - - - - - 376 001 \0 6 374 - - - - - 0021720 - - - - - - - - - - - - - - - - * 0022000 \r / / l v A a n d l v B 0022020 a r e t h e a d d r e s s e 0022040 s o f t w o 3 2 - b i t 0022060 o p e r a n d s R e t u r n s 0022100 : \r / / \t - 1 i f A < B 0022120 \r / / \t 0 i f A = B \r 0022140 / / \t 1 i f A > B \r ( 0022160 t a b l e \r [ \r 4 0022200 1 0 0 3 b \t / / \t s t a 0 3 0022220 2 \t ; l v A \r 4 5 0 0022240 0 2 b \t / / \t s t a 1 2 2 0022260 \t ; l v B \r 2 3 0 0 3 0022300 b \t / / \t l d a 0 376 001 \0 v 177 0022320 @ 3 2 \t ; A h i g h p a 0022340 r t \r 2 7 0 0 2 b \t / / 0022360 \t l d a 1 @ 2 2 \t ; B 0022400 h i g h p a r t \r 1 0 6 0022420 4 1 4 b \t / / \t s e 0 1 \t \t 0022440 ; A , B \r 4 0 5 0022460 b \t / / \t j m p d u s c 1 \r 0022500 1 1 0 0 3 b \t / / \t i s 0022520 z 3 2 \t \t ; l v A \r 0022540 1 1 0 0 2 b \t / / \t i s z 2 0022560 2 \t \t ; l v B \r 2 3 0022600 0 0 3 b \t / / \t l d a 0 @ 3 0022620 2 \t ; A l o w p a r t \r 0022640 2 7 0 0 2 b \t / / \t l d 0022660 a 1 @ 2 2 \t ; B l o w 0022700 p a r t \r 1 0 6 4 3 3 b 0022720 376 001 \0 361 O \t / / d u s c 1 : 0022740 s l e u 0 1 \t ; A , B \r 0022760 4 0 5 b \t / / \t j 0023000 m p g r \t \t ; A > B \r 0023020 1 0 6 4 1 4 b \t / / \t s e 0023040 0 1 \t \t ; A , B \r 1 0023060 0 2 0 0 1 b \t / / \t m k m i n 0023100 u s o n e 0 0 s k p \t ; 0023120 A < B \r 1 0 2 4 6 0 b 0023140 \t / / \t m k z e r o 0 0 \t ; 0023160 A = B \r 1 4 0 1 0023200 b \t / / \t j m p 1 3 \r 0023220 1 0 2 5 2 0 b \t / / g r : \t m 0023240 k o n e 0 0 \r 1 4 0023260 0 1 b \t / / \t j m p 1 3 \r 0023300 ] ) ( l v A , l v B ) \r \f 0023320 \r / / - - 376 001 \0 q 370 - - - - - - 0023340 - - - - - - - - - - - - - - - - * 0023440 - - - \r a n d Q u i t ( ) b 0023460 e E t h e r B o o t ( 0 ) \r / 0023500 / - - - - - - - - - - - - - - - 0023520 - - - - - - - - - - - - - - - - * 0023600 - - - - - - - - - - - - \r \r / / 0023620 - - - - - - - - - - - - - - - - * 0023720 - - - - - - - - - - 376 001 \0 350 374 - 0023740 \r a n d S e t T i m e ( ) b 0023760 e t i m e R e q u e s t = 0024000 t r u e \r / / - - - - - - - - - 0024020 - - - - - - - - - - - - - - - - * 0024120 - - \r \r / / - - - - - - - - - - 0024140 - - - - - - - - - - - - - - - - * 0024240 - \r a n d P r o b e ( ) b e 0024260 d i r R e q u e s t = t r 0024300 u e \r / / - - - - - - - - - - - 0024320 - - - - - - - - - - - - - - - 376 0024340 001 \0 346 y - - - - - - - - - - - - 0024360 - - - - - - - - - - - - - - - - * 0024420 - - - - - \r \r / / - - - - - - - 0024440 - - - - - - - - - - - - - - - - * 0024540 - - - - \r a n d P a r t i t i 0024560 o n ( ) b e \r / / - - - - - - 0024600 - - - - - - - - - - - - - - - - * 0024700 - - - - - \r [ \r W s s ( k b d C 0024720 S , " n u m b e r " ) \r B 0024740 e g i n 376 001 \0 5 A D e f a u l t 0024760 P h r a s e ( k b d C S ) \r P u 0025000 t T e m p l a t e ( k b d C S , 0025020 " $ D " , ( t a b l e [ 0025040 6 1 0 3 7 b ; 1 4 0 1 b ] ) 0025060 ( 0 ) ) \r E n d D e f a u l t P 0025100 h r a s e ( k b d C S ) \r ( t a 0025120 b l e [ 6 1 0 3 7 b ; 1 4 0025140 0 1 b ] ) ( G e t N u m b e r 0025160 ( k b d C S ) ) \r ] \r \r / / - - 0025200 - - - - - - - - - - - - - - - - * 0025300 - - - - - - - - - \r a n d P o 0025320 w e r O f f ( ) b e i f C 0025340 o n f i r m ( k b 376 001 \0 350 O d C 0025360 S ) t h e n ( t a b l e [ 0025400 6 1 0 3 4 b ; 1 4 0 1 b ] 0025420 ) ( ) \r / / - - - - - - - - - - 0025440 - - - - - - - - - - - - - - - - * 0025540 - \r \r / / - - - - - - - - - - - 0025560 - - - - - - - - - - - - - - - - * 0025660 \r a n d W a t c h D o g ( ) 0025700 b e / / a c o n t e x t \r 0025720 / / - - - - - - - - - - - - - - 0025740 - - - - - - - - - - - - - - 376 001 0025760 \0 230 035 - - - - - - - - - - - - - 0026000 - - - - - - - - - - - - - - - - * 0026040 - - \r [ \r S e t T i m e r ( l v 0026060 w a t c h D o g , 3 0 0 0 0 0026100 ) / / 5 m i n u t e s \r B 0026120 l o c k ( ) r e p e a t u n t 0026140 i l T i m e r H a s E x p i r 0026160 e d ( l v w a t c h D o g ) \r 0026200 Q u i t ( ) \r ] \r \f \r / / - - - 0026220 - - - - - - - - - - - - - - - - * 0026320 - - - - - - - - \r a n d D i s 0026340 k B o o t ( ) b e \r / / - - - 0026360 - - - 376 001 \0 226 " - - - - - - - - 0026400 - - - - - - - - - - - - - - - - * 0026460 - - - - - - - - - - - - - \r / / 0026500 D 0 s d o n ' t b o o t 0026520 w h e n S I O 1 0 0 0 0 0 0026540 i s e x e c u t e d , s o 0026560 t h i s B c p l p r o c e d 0026600 u r e \r / / d o e s w h a 0026620 t t h e m i c r o c o d e 0026640 s h o u l d d o . \r [ \r s t r 0026660 u c t u r e K C B : \r [ 0026700 \r l i n k w o r d \r 0026720 s t a t u s w o r d \r 0026740 c o m m a n d w o r d \r 0026760 h e a d e r A d 376 001 \0 1 272 d r e 0027000 s s w o r d \r l a b e l 0027020 A d d r e s s w o r d \r 0027040 d a t a A d d r e s s w o r d 0027060 \r n o r m a l W a k e u p 0027100 s w o r d \r e r r o r W 0027120 a k e u p s w o r d \r h 0027140 e a d e r w o r d \r d i 0027160 s k A d d r e s s w o r d \r 0027200 ] \r m a n i f e s t l e n 0027220 K C B = s i z e K C B / 1 0027240 6 \r \r @ d i s p l a y L i s t H 0027260 e a d = 0 / / t u r n 0027300 o f f d i s p l a y \r ( t a b 0027320 l e [ 6 1 0 0 0 b ; 1 4 0 0027340 1 b ] ) ( ) / / d i s a b 0027360 l e i n t e r r u p t s 376 001 \0 0027400 210 271 \r S t a r t I O ( 3 ) / 0027420 / r e s e t E t h e r n e t \r 0027440 \r l e t k c b , d a t a , 0027460 l a b e l = v e c l e n K 0027500 C B , v e c 2 5 6 , v e c 0027520 8 \r f o r t r i e s = 1 0027540 t o 1 0 d o \r [ \r 0027560 Z e r o ( k c b , l e n K 0027600 C B ) \r k c b > > K C B . 0027620 c o m m a n d = 4 4 1 0 0 b 0027640 / / c h e c k h e a d e r 0027660 , r e a d l a b e l , r e 0027700 a d d a t a \r k c b > > 0027720 K C B . h e a d e r A d d r e s 0027740 s = l v k c b > > K C B . 0027760 h e a d e r \r k c b > > K 0030000 C B 376 001 \0 l ) . l a b e l A d d 0030020 r e s s = l a b e l \r 0030040 k c b > > K C B . d a t a A d d 0030060 r e s s = d a t a \r k 0030100 c b > > K C B . d i s k A d d r 0030120 e s s = k b d A d ! 0 x o 0030140 r - 1 \r @ d i s k C o m 0030160 m a n d = k c b / / s p 0030200 i n t h e d i s k \r w 0030220 h i l e ( k c b > > K C B . s 0030240 t a t u s & 7 4 0 0 b ) e 0030260 q 0 l o o p / / w a i t 0030300 f o r i t t o s t o p \r 0030320 i f ( k c b > > K C B . 0030340 s t a t u s & 7 6 6 7 b ) 0030360 e q 7 4 0 0 b b r e a k 0030400 / / g o o d 376 001 \0 ? F s t a t 0030420 u s \r i f t r i e s e 0030440 q 1 0 t h e n C a l l S w 0030460 a t ( " 1 0 c o n s e c u t i 0030500 v e e r r o r s r e a d i n 0030520 g v d a 0 " ) \r ] \r \r 0030540 M o v e B l o c k ( 4 0 2 b , 0030560 l a b e l , 8 ) / / 4 0 2 0030600 - 4 1 1 _ l a b e l \r M o v 0030620 e B l o c k ( 1 , d a t a , 0030640 2 5 6 ) / / 1 - 4 0 0 _ 0030660 d a t a \r @ 2 = k c b > > 0030700 K C B . s t a t u s / / 2 0030720 _ s t a t u s \r g o t o 1 0030740 / / j u m p t o b o o t l 0030760 o a d e r s t a r t a d d r 0031000 e s s \r ] \r \f \r / / - - 376 001 \0 274 0031020 352 - - - - - - - - - - - - - - - 0031040 - - - - - - - - - - - - - - - - * 0031120 - - - - - - - - - - \r a n d F 0031140 i l e S t a t ( ) b e \r / / - 0031160 - - - - - - - - - - - - - - - - * 0031260 - - - - - - - - - - \r [ \r W s s 0031300 ( k b d C S , " f o r b o 0031320 o t f i l e " ) \r l e t k 0031340 t e = G e t K e y w o r d ( 0031360 k b d C S , c m d K T ) \r i f 0031400 k t e > > K T E . h o s t e 0031420 q 376 001 \0 364 \a 0 t h e n \r 0031440 [ \r W s s ( k b d C S , 0031460 " * N N e t E x e c c o m m 0031500 a n d - n o t a b o o t 0031520 f i l e " ) \r r e t u r 0031540 n \r ] \r P u t T e m p l a 0031560 t e ( k b d C S , " * N B o o 0031600 t f i l e n u m b e r $ U 0031620 O b , f r o m h o s t $ U 0031640 O # , c r e a t e d " , \r 0031660 k t e > > K T E . b f n , k t 0031700 e > > K T E . h o s t ) \r l e t 0031720 u t v = v e c 7 ; U N 0031740 P A C K D T ( l v k t e > > K 0031760 T E . d a t e , u t v ) ; W 0032000 R I T E U D T ( k b d C S , u 0032020 t v ) \r l e 376 001 \0 271 020 t a l t 0032040 o I = e n g l e 1 \r W s 0032060 s ( k b d C S , " * N k e y s 0032100 < B S > " ) \r f o r i = 0032120 0 t o 1 5 d o i f ( ( 0032140 k t e > > K T E . b f n ) & 0032160 ( 1 b 1 5 r s h i f t i ) ) 0032200 n e 0 t h e n \r W s 0032220 s ( k b d C S , s e l e c t o 0032240 n i i n t o \r [ 0032260 \r c a s e 0 : " 0032300 3 " \r c a s e 1 0032320 : " 2 " \r c a s 0032340 e 2 : " W " \r 0032360 c a s e 3 : " Q " \r 0032400 c a s e 4 : " S " \r 0032420 c a s e 376 001 \0 266 | 0032440 5 : " A " \r c a 0032460 s e 6 : " 9 " \r 0032500 c a s e 7 : " I " \r 0032520 c a s e 8 : " X " 0032540 \r c a s e 9 : " 0032560 O " \r c a s e 1 0032600 0 : " L " \r c a 0032620 s e 1 1 : " < c o m m a > 0032640 " \r c a s e 1 2 : 0032660 " < q u o t e > " \r 0032700 c a s e 1 3 : " ] " \r 0032720 c a s e 1 4 : a 0032740 l t o I ? " < b l a n k - m 0032760 i d d l e > " , " < F R 4 > 0033000 " \r c a s e 1 5 : 0033020 a l t o I ? " < b l a n k 0033040 376 001 \0 205 230 - t o p > " , " < 0033060 B W > " \r ] ) \r ] \r 0033100 \f \r / / - - - - - - - - - - - - 0033120 - - - - - - - - - - - - - - - - * 0033220 \r a n d G e t s W i t h C u r 0033240 s o r ( s t ) = v a l o f \r 0033260 / / - - - - - - - - - - - - - - 0033300 - - - - - - - - - - - - - - - - * 0033360 - - - - - - - - - - - - - - \r [ 0033400 \r B l o c k ( ) r e p e a t w 0033420 h i l e E n d o f s ( s t ) \r 0033440 E r a s e 376 001 \0 364 223 C u r s o r 0033460 ( ) \r r e s u l t i s s t > > 0033500 S T . p a r 1 ( s t ) \r ] \r \r / 0033520 / - - - - - - - - - - - - - - - 0033540 - - - - - - - - - - - - - - - - * 0033620 - - - - - - - - - - - - - \r a n 0033640 d P u t s W i t h C u r s o r 0033660 ( s t , c h a r ) b e \r / / 0033700 - - - - - - - - - - - - - - - - * 0034000 - - - - - - - - - - - - \r [ \r E 0034020 r a s e C u r s o r ( ) \r P u t 0034040 b a c k s ( s t , 376 001 \0 222 216 c 0034060 h a r ) \r ] \r \r / / - - - - - - 0034100 - - - - - - - - - - - - - - - - * 0034200 - - - - - - \r a n d E n d o f 0034220 W i t h C u r s o r ( s t ) = 0034240 v a l o f \r / / - - - - - - - 0034260 - - - - - - - - - - - - - - - - * 0034360 - - - - - \r [ \r i f T i m e r 0034400 H a s E x p i r e d ( l v c u 0034420 r s o r T i m e r ) t h e n \r 0034440 [ \r S e t T i m e 376 0034460 001 \0 u L r ( l v c u r s o r T 0034500 i m e r , 5 0 ) \r t e s 0034520 t c u r s o r O n \r 0034540 i f s o E r a s e C u r s o 0034560 r ( ) \r i f n o t 0034600 [ P u t s ( c m d D s p , $ 0034620 | ) ; c u r s o r O n = t 0034640 r u e ] \r ] \r r e s u l 0034660 t i s s t > > S T . p a r 2 ( 0034700 s t ) \r ] \r \r / / - - - - - - - 0034720 - - - - - - - - - - - - - - - - * 0035020 - - - - - \r a n d E r a s e C 0035040 u r s o r ( ) b e i f c u 0035060 r s o r 376 \0 225 331 216 O n t h e n 0035100 \r / / - - - - - - - - - - - - - 0035120 - - - - - - - - - - - - - - - - * 0035200 - - - - - - - - - - - - - - - \r 0035220 [ \r E r a s e B i t s ( c m d D 0035240 s p , - C h a r W i d t h ( c 0035260 m d D s p , $ | ) ) \r c u r s o 0035300 r O n = f a l s e \r ] \r 377 \0 0035320 \0 N e t E x e c 1 . b c p l \0 373 0035340 230 340 270 366 \0 \0 376 001 \0 320 \f / / N e 0035360 t E x e c 1 . b c p l \r / / C 0035400 o p y r i g h t X e r o x C 0035420 o r p o r a t i o n 1 9 7 9 , 0035440 1 9 8 0 , 1 9 8 2 \r / / L 0035460 a s t m o d i f i e d A p r 0035500 i l 1 1 , 1 9 8 2 2 : 0 0035520 0 P M b y B o g g s \r \r g 0035540 e t " P u p E f t p . d e c l 0035560 " \r g e t " A l t o D e f s . 0035600 d " \r \r e x t e r n a l \r [ \r / 0035620 / o u t g o i n g p r o c e 0035640 d u r e s \r P r i n t N a m e ; 0035660 L o a d M i c r o c o d e ; 0035700 W h e r e \r G e t T i m e ; G 0035720 e t D i r ; G e t N a m e ; 0035740 N e t B o o t \r \r / / 376 001 \0 362 i 0035760 i n c o m i n g p r o c e d 0036000 u r e s \r L o a d K T \r \r Z e r 0036020 o ; D e q u e u e ; A l l o 0036040 c a t e ; F r e e ; B l o c 0036060 k \r S e t T i m e r ; T i m e 0036100 r H a s E x p i r e d ; S e t 0036120 C a l e n d a r \r P u t T e m p 0036140 l a t e ; W s s ; C l o s e 0036160 s \r S t r i n g C o m p a r e ; 0036200 G e t K e y w o r d ; G e t 0036220 S t r i n g \r U N P A C K D T ; 0036240 W R I T E U D T ; E n u m e 0036260 r a t e K e y w o r d T a b l e 0036300 \r \r G e t P a r t n e r ; O p 0036320 e n L e v e l 1 S o c k e t ; 0036340 C l o s e L e v e l 1 S o c k e 0036360 376 001 \0 032 360 t \r G e t P B I ; R 0036400 e l e a s e P B I ; C o m p l 0036420 e t e P u p ; E t h e r B o o 0036440 t \r O p e n E F T P S o c ; R 0036460 e c e i v e E F T P B l o c k ; 0036500 C l o s e E F T P S o c \r \r / 0036520 / i n c o m i n g s t a t i 0036540 c s \r s y s Z o n e \r k b d C S 0036560 ; c m d D s p ; c m d K T ; 0036600 e b K T ; b u f ; e n g \r 0036620 l e n P B I ; n d b Q \r \r / / 0036640 o u t g o i n g s t a t i c 0036660 s \r t i m e R e q u e s t ; d 0036700 i r R e q u e s t \r ] \r \r s t a 0036720 t i c \r [ \r t i m e R e q u e s 0036740 t = t r u e \r d i r R e q u 0036760 e s t = 376 001 \0 @ & t r u e \r 0037000 o u r N a m e = 0 \r ] \r \r m 0037020 a n i f e s t \r [ \r p s M i s c 0037040 S e r v = 4 \r p t A l t o T 0037060 i m e R e q = 2 0 6 b \r p t 0037100 A l t o T i m e R e p l y = 0037120 2 0 7 b \r p t B o o t F i l e R 0037140 e q = 2 4 4 b \r p t B o o t 0037160 D i r R e q = 2 5 7 b \r p t 0037200 B o o t D i r R e p l y = 2 0037220 6 0 b \r p t A d d r e s s L o o 0037240 k u p = 2 2 3 b \r p t A d d 0037260 r e s s R e p l y = 2 2 4 b 0037300 \r p t A d d r e s s E r r o r 0037320 = 2 2 2 b \r ] \r \r s t r u c t 0037340 u r e K T E : \r [ \r d a t e 0037360 w o r d 2 \r h o s 376 001 \0 324 375 t 0037400 w o r d \t / / i f h o s t 0037420 i s z e r o t h e n \r b f n 0037440 w o r d \t / / b f n i s r 0037460 e a l l y a l o c a l p r 0037500 o c e d u r e ( e . g . B f 0037520 n T o K e y s ) \r ] \r \r s t r u 0037540 c t u r e B F D : [ b f n 0037560 w o r d ; d a t e w o r d 0037600 2 ; n a m e @ S t r i n g 0037620 ] \r \f \r / / - - - - - - - - - 0037640 - - - - - - - - - - - - - - - - * 0037740 - - \r l e t G e t T i m e ( ) 0037760 b e / / a c o n t e x 376 0040000 001 \0 361 212 t \r / / - - - - - - - - 0040020 - - - - - - - - - - - - - - - - * 0040120 - - - \r [ \r B l o c k ( ) r e 0040140 p e a t u n t i l t i m e R e 0040160 q u e s t \r l e t p b i = 0040200 A l l o c a t e ( s y s Z o n e 0040220 , l e n P B I ) ; Z e r o ( 0040240 p b i , l e n P B I ) \r p b i 0040260 > > P B I . p u p . t y p e = 0040300 p t A l t o T i m e R e q \r p 0040320 b i > > P B I . p u p . l e n g 0040340 t h = p u p O v B y t e s \r 0040360 p b i > > P B I . p u p . d P o 0040400 r t . s 376 001 \0 374 363 o c k e t ^ 2 0040420 = p s M i s c S e r v \r S i 0040440 m p l e P u p ( p b i , 5 0 , 0040460 1 0 0 0 , I n s t a l l T i 0040500 m e ) \r F r e e ( s y s Z o n e 0040520 , p b i ) \r t i m e R e q u e 0040540 s t = 0 \r ] r e p e a t \r 0040560 \r / / - - - - - - - - - - - - - 0040600 - - - - - - - - - - - - - - - - * 0040660 - - - - - - - - - - - - - - \r a 0040700 n d I n s t a l l T i m e ( p 0040720 b i , n i l ) = v a l o f 0040740 \r / / - - - - - - - - - - - - - 0040760 - - - - - - - - - - - - - - - - 0041000 - - - - - - - - - 376 001 \0 ' 002 - - 0041020 - - - - - - - - - - - - - - - - * 0041060 - - - \r [ \r s t r u c t u r e 0041100 N T i m e : \r [ \r t 0041120 i m e w o r d 2 \r z o 0041140 n e : \r [ \r 0041160 s i g n b i t 1 \r 0041200 h o u r b i t 7 \r 0041220 m i n u t e b i t 8 0041240 \r ] \r b e g i 0041260 n D S T w o r d \r e n d 0041300 D S T w o r d \r ] \r \r i 0041320 f p b i > > P B I . p u p . t 0041340 y p e n e p t A l t o T i m 0041360 e R e p l y r e s u l t i s 0041400 t r u e / / k e e p 376 001 0041420 \0 333 T t r y i n g \r l e t n T 0041440 i m e = l v p b i > > P B 0041460 I . p u p . w o r d s \r S e t C 0041500 a l e n d a r ( l v n T i m e 0041520 > > N T i m e . t i m e ) \r t i 0041540 m e P a r a m s > > L T P . s i 0041560 g n = n T i m e > > N T i m 0041600 e . z o n e . s i g n \r t i m e 0041620 P a r a m s > > L T P . z o n e 0041640 H = n T i m e > > N T i m e 0041660 . z o n e . h o u r \r t i m e P 0041700 a r a m s > > L T P . z o n e M 0041720 = n T i m e > > N T i m e . 0041740 z o n e . m i n u t e \r t i m e 0041760 P a r a m s > > L T P . b e g i 0042000 n D S T = n T i m e > > N T 0042020 i m e 376 001 \0 j 334 . b e g i n D S 0042040 T \r t i m e P a r a m s > > L T 0042060 P . e n d D S T = n T i m e 0042100 > > N T i m e . e n d D S T \r r 0042120 e s u l t i s f a l s e \r ] \r 0042140 \f \r / / - - - - - - - - - - - - 0042160 - - - - - - - - - - - - - - - - * 0042240 - - - - - - - - - - - - - - - \r 0042260 a n d G e t D i r ( ) b e 0042300 / / a c o n t e x t \r / / - 0042320 - - - - - - - - - - - - - - - - * 0042420 - - - - - - - - 376 001 \0 203 355 - - \r 0042440 [ \r B l o c k ( ) r e p e a t 0042460 u n t i l d i r R e q u e s t 0042500 \r l e t p b i = A l l o c 0042520 a t e ( s y s Z o n e , l e n 0042540 P B I ) ; Z e r o ( p b i , 0042560 l e n P B I ) \r p b i > > P B I 0042600 . p u p . t y p e = p t B o 0042620 o t D i r R e q \r p b i > > P B 0042640 I . p u p . l e n g t h = p 0042660 u p O v B y t e s \r p b i > > P 0042700 B I . p u p . d P o r t . s o c 0042720 k e t ^ 2 = p s M i s c S e 0042740 r v \r S i m p l e P u p ( p b i 0042760 , 1 0 0 , 3 0 0 , I n s t 0043000 a l l D i r ) \r d i r R e q u e 0043020 s t = 0 \r ] r e p e 376 001 \0 0043040 L 034 a t \r \r / / - - - - - - - - 0043060 - - - - - - - - - - - - - - - - * 0043160 - - - \r a n d I n s t a l l D 0043200 i r ( p b i , n i l ) = v 0043220 a l o f \r / / - - - - - - - - - 0043240 - - - - - - - - - - - - - - - - * 0043340 - - \r [ \r i f p b i > > P B I 0043360 . p u p . t y p e e q p t B 0043400 o o t D i r R e p l y t h e n 0043420 \r [ \r l e t p t r 0043440 , 376 001 \0 237 ; m a x P t r = 0043460 1 , ( p b i > > P B I . p u p 0043500 . l e n g t h - p u p O v B 0043520 y t e s ) / 2 \r l e t h 0043540 o s t = p b i > > P B I . p 0043560 u p . s P o r t . h o s t \r 0043600 w h i l e p t r l s m a 0043620 x P t r d o \r [ \r 0043640 l e t b f d = 0043660 l v p b i > > P B I . p u p . 0043700 w o r d s ^ p t r \r 0043720 l e t n a m e = l v b f 0043740 d > > B F D . n a m e \r 0043760 l e t l e n g t h = n 0044000 a m e > > S t r i n g . l e n g 0044020 t h \r i f S t r i 0044040 n g C o m p a 376 001 \0 212 D r e ( n 0044060 a m e , " . b o o t " , l e 0044100 n g t h - 4 ) e q 0 t h e 0044120 n \r L o a d K 0044140 T ( c m d K T , n a m e , h 0044160 o s t , l v b f d > > B F D 0044200 . d a t e , b f d > > B F D . 0044220 b f n ) \r i f S t 0044240 r i n g C o m p a r e ( n a m e 0044260 , " . e b " , l e n g t h - 0044300 2 ) e q 0 t h e n \r 0044320 L o a d K T ( e b K 0044340 T , n a m e , h o s t , l 0044360 v b f d > > B F D . d a t e , 0044400 b f d > > B F D . b f n ) \r 0044420 p t r = p t r + 0044440 4 + l e n g t h / 376 001 \0 317 0044460 322 2 \r ] \r ] \r 0044500 r e s u l t i s t r u e \r ] \r 0044520 \f \r / / - - - - - - - - - - - - 0044540 - - - - - - - - - - - - - - - - * 0044620 - - - - - - - - - - - - - - - \r 0044640 a n d G e t N a m e ( ) b e 0044660 / / a c o n t e x t \r / / 0044700 - - - - - - - - - - - - - - - - * 0045000 - - - - - - - - - - - \r [ \r l e 0045020 t n d b = n d b Q ! 0 ; 0045040 B l o c k ( ) r e p e a t w h 0045060 i 376 001 \0 : 314 l e o u r N a m e 0045100 n e 0 % n d b > > N D B 0045120 . l o c a l N e t e q 0 \r l 0045140 e t p b i = A l l o c a t 0045160 e ( s y s Z o n e , l e n P B 0045200 I ) ; Z e r o ( p b i , l e 0045220 n P B I ) \r p b i > > P B I . p 0045240 u p . t y p e = p t A d d r 0045260 e s s L o o k u p \r p b i > > P 0045300 B I . p u p . l e n g t h = 0045320 p u p O v B y t e s + 6 \r p b i 0045340 > > P B I . p u p . d P o r t . 0045360 s o c k e t ^ 2 = p s M i s 0045400 c S e r v \r l e t p o r t = 0045420 l v p b i > > P B I . p u p 0045440 . b y t e s ^ 1 \r p o r t > > P 0045460 o r t . n e 376 001 \0 P 257 t = n 0045500 d b > > N D B . l o c a l N e t 0045520 \r p o r t > > P o r t . h o s t 0045540 = n d b > > N D B . l o c a 0045560 l H o s t \r S i m p l e P u p ( 0045600 p b i , 1 0 0 , 5 0 0 , I 0045620 n s t a l l N a m e ) \r F r e e 0045640 ( s y s Z o n e , p b i ) \r ] 0045660 r e p e a t \r \r / / - - - - - 0045700 - - - - - - - - - - - - - - - - * 0046000 - - - - - - \r a n d I n s t a 0046020 l l N a m e ( p b i , n i l ) 0046040 = v a l o f \r / / - - - - - 0046060 - - - - - - - - - - - 376 001 \0 274 323 0046100 - - - - - - - - - - - - - - - - * 0046160 - - - - - - - - - - - \r [ \r s w 0046200 i t c h o n p b i > > P B I . 0046220 p u p . t y p e i n t o \r 0046240 [ \r c a s e p t A d d 0046260 r e s s R e p l y : \r 0046300 [ \r l e t n u m 0046320 C h a r s = p b i > > P B I 0046340 . p u p . l e n g t h - p u 0046360 p O v B y t e s \r o 0046400 u r N a m e = A l l o c a t 0046420 e ( s y s Z o n e , n u m C h 0046440 a r s / 2 + 1 ) \r f 0046460 o r i = 1 t o n u m C 0046500 376 001 \0 ] 271 h a r s d o \r 0046520 o u r N a m e > > S 0046540 t r i n g . c h a r ^ i = p 0046560 b i > > P B I . p u p . b y t e 0046600 s ^ i \r o u r N a m 0046620 e > > S t r i n g . l e n g t h 0046640 = n u m C h a r s \r 0046660 r e s u l t i s f a l s e 0046700 \r ] \r c a s e 0046720 p t A d d r e s s E r r o r : 0046740 \r [ \r o 0046760 u r N a m e = - 1 \r 0047000 r e s u l t i s f a l s e 0047020 \r ] \r d e f a 0047040 u l t : r e s u l t i s t r 0047060 u e \r ] \r ] \r \r / / - - - 0047100 - - - - - 376 001 \0 \f 2 - - - - - - 0047120 - - - - - - - - - - - - - - - - * 0047200 - - - - - - - - - - - - - - \r a 0047220 n d P r i n t N a m e ( s t r 0047240 e a m ) b e \r / / - - - - - - 0047260 - - - - - - - - - - - - - - - - * 0047360 - - - - - - \r [ \r t e s t o u 0047400 r N a m e e q 0 % o u r 0047420 N a m e e q - 1 \r i f 0047440 s o \r [ \r 0047460 l e t n d b = n d b Q ! 0047500 0 \r P u 376 001 \0 z 342 t 0047520 T e m p l a t e ( s t r e a m , 0047540 " [ $ O # $ O # ] " , \r 0047560 n d b > > N D B . l o c 0047600 a l N e t , n d b > > N D B . 0047620 l o c a l H o s t ) \r 0047640 ] \r i f n o t P u t T 0047660 e m p l a t e ( s t r e a m , 0047700 " [ $ S ] " , o u r N a m e ) 0047720 \r ] \r \f \r / / - - - - - - - - - 0047740 - - - - - - - - - - - - - - - - * 0050040 - - \r a n d L o a d M i c r o 0050060 c o d e ( ) b e \r / / - - - - 0050100 - - - - - - - - - - - - - - - 376 0050120 001 \0 324 346 - - - - - - - - - - - - 0050140 - - - - - - - - - - - - - - - - * 0050200 - - - - - - - - - - - - \r [ \r W 0050220 s s ( k b d C S , " f r o m 0050240 f i l e " ) \r l e t k t e 0050260 = G e t K e y w o r d ( k b 0050300 d C S , e b K T ) \r C l o s e 0050320 s ( c m d D s p ) \r \r l e t s 0050340 o c , p o r t = v e c l 0050360 e n E F T P S o c , v e c l 0050400 e n P o r t \r p o r t > > P o r 0050420 t . n e t = ( n d b Q ! 0 ) 0050440 > > N D B . l o c a l N e t \r p 0050460 o r t > > P o r t . h o s t = 0050500 k t e > > K T E . h o s t \r p 0050520 o r t > 376 001 \0 374 371 > P o r t . s 0050540 o c k e t ^ 1 = 0 \r p o r t 0050560 > > P o r t . s o c k e t ^ 2 0050600 = p s M i s c S e r v \r O p e 0050620 n E F T P S o c ( s o c , 0 , 0050640 p o r t ) \r \r / / o u g h t 0050660 t o d o s o m e b u f f 0050700 e r b o u n d s c h e c k i 0050720 n g , a n d c h e c k f i 0050740 l e c h e c k s u m \r l e t 0050760 b y t e P t r = n i l \r 0051000 [ \r l e t p b i = 0051020 G e t P B I ( s o c ) \r p 0051040 b i > > P B I . p u p . i d ^ 2 0051060 = k t e > > K T E . b f n \r 0051100 C o m p l e t e P u p ( p 0051120 b i , p t B o o 376 001 \0 302 ! t F 0051140 i l e R e q , p u p O v B y t 0051160 e s ) \r b y t e P t r = 0051200 R e c e i v e E F T P B l o c 0051220 k ( s o c , b u f , 1 0 0 ) 0051240 / / 1 s e c \r ] r 0051260 e p e a t u n t i l b y t e P 0051300 t r g r 0 \r \r l e t b y t 0051320 e s = n i l \r [ \r 0051340 b y t e s = R e c e i v e 0051360 E F T P B l o c k ( s o c , b 0051400 u f + b y t e P t r r s h i f 0051420 t 1 , 1 0 0 0 ) / / 1 0051440 0 s e c \r b y t e P t r 0051460 = b y t e P t r + b y t 0051500 e s \r ] r e p e a t u n 0051520 t i l b y t e s l e 0 376 001 0051540 \0 302 352 \r \r C l o s e E F T P S o 0051560 c ( s o c ) \r \r l e t p t r 0051600 = b u f + 2 5 6 \r i f e 0051620 n g e q 4 t h e n \r 0051640 [ / / m a g i c i n c a 0051660 n t a t i o n f r o m H G M 0051700 \r p t r = p t r - 1 0051720 \r p t r ! 0 = 0 \r 0051740 ] \r ( t a b l e [ 6 1 0 3 0051760 6 b ; 1 4 0 1 b ] ) ( p t r 0052000 , t r u e ) / / l o a d 0052020 r a m a n d b o o t \r ] \r 0052040 \f \r / / - - - - - - - - - - - - 0052060 - - - - - - - - - - - - - - - - * 0052140 - - - 376 001 \0 204 352 - - - - - - - - 0052160 - - - - \r a n d W h e r e ( ) 0052200 b e \r / / - - - - - - - - - - 0052220 - - - - - - - - - - - - - - - - * 0052320 - \r [ \r W s s ( k b d C S , " 0052340 ( i s b o o t f i l e ) 0052360 " ) \r l e t k t e = G e t 0052400 K e y w o r d ( k b d C S , c 0052420 m d K T ) \r l e t p b i = 0052440 A l l o c a t e ( s y s Z o n e 0052460 , l e n P B I ) ; Z e r o ( 0052500 p b i , l e n P B I ) \r p b i 0052520 > > P B I . p u p . t y p e = 0052540 p t B o o t D 376 001 \0 245 0 i r R 0052560 e q \r p b i > > P B I . p u p . 0052600 l e n g t h = p u p O v B y 0052620 t e s \r p b i > > P B I . p u p 0052640 . d P o r t . s o c k e t ^ 2 0052660 = p s M i s c S e r v \r S i m 0052700 p l e P u p ( p b i , 1 0 0 0 0052720 , 2 5 0 , W h e r e M a t c 0052740 h , k t e ! - 1 ) \r F r e e ( 0052760 s y s Z o n e , p b i ) \r ] \r 0053000 \r / / - - - - - - - - - - - - - 0053020 - - - - - - - - - - - - - - - - * 0053100 - - - - - - - - - - - - - - \r a 0053120 n d W h e r e M a t c h ( p b 0053140 i , s t r i n g ) = 376 001 \0 0053160 * a v a l o f \r / / - - - - - - 0053200 - - - - - - - - - - - - - - - - * 0053300 - - - - - \r [ \r i f p b i > > 0053320 P B I . p u p . t y p e e q 0053340 p t B o o t D i r R e p l y t 0053360 h e n \r [ \r l e t 0053400 p t r , m a x P t r = 1 , 0053420 ( p b i > > P B I . p u p . l 0053440 e n g t h - p u p O v B y t e s 0053460 ) / 2 \r w h i l e p t r 0053500 l s m a x P t r d o \r 0053520 [ \r l e t 0053540 b f d = l v p b i > > P B 0053560 I . 376 001 \0 = 336 p u p . w o r d s 0053600 ^ p t r \r l e t n 0053620 a m e = l v b f d > > B F 0053640 D . n a m e \r l e t 0053660 l e n g t h = n a m e > > 0053700 S t r i n g . l e n g t h \r 0053720 i f S t r i n g C o m 0053740 p a r e ( s t r i n g , n a m 0053760 e ) e q 0 t h e n \r 0054000 [ \r 0054020 l e t u t v = v e c 7 0054040 ; U N P A C K D T ( l v b f 0054060 d > > B F D . d a t e , u t v 0054100 ) \r P u t T e 0054120 m p l a t e ( c m d D s p , " 0054140 * N [ $ O # ] b o o t f i l 0054160 e n u m b e 376 001 \0 < 222 r $ U 0054200 O , c r e a t e d $ P " , \r 0054220 p b i > > P 0054240 B I . p u p . s P o r t . h o s 0054260 t , b f d > > B F D . b f n , 0054300 W R I T E U D T , u t v ) \r 0054320 ] \r 0054340 p t r = p t r + 4 + 0054360 l e n g t h / 2 \r 0054400 ] \r ] \r r e s u l t i s 0054420 t r u e \r ] \r \f \r / / - - - - - 0054440 - - - - - - - - - - - - - - - - * 0054540 - - - - - - \r a n d N e t B o 0054560 o t ( ) b e \r / / - - 376 001 \0 G 0054600 w - - - - - - - - - - - - - - - 0054620 - - - - - - - - - - - - - - - - * 0054700 - - - - - - - - - - \r [ \r W s s 0054720 ( k b d C S , " ( f i l e 0054740 n a m e d ) " ) \r l e t k t 0054760 e = G e t K e y w o r d ( k 0055000 b d C S , c m d K T ) \r i f 0055020 k t e > > K T E . h o s t e q 0055040 0 t h e n \r [ W s s 0055060 ( k b d C S , " - N e t E 0055100 x e c c o m m a n d ; n o t 0055120 a b o o t f i l e " ) ; 0055140 r e t u r n ] \r W s s ( k b d 0055160 C S , " ( f r o m s e r v 0055200 e 376 001 \0 ) 277 r ) " ) \r l e t 0055220 s e r v e r = G e t S t r i 0055240 n g ( k b d C S ) \r i f s e r 0055260 v e r > > S t r i n g . c h a r 0055300 ^ 1 e q $ [ t h e n \r 0055320 [ \r f o r i = 2 0055340 t o s e r v e r > > S t r i n 0055360 g . l e n g t h - 1 d o \r 0055400 s e r v e r > > S t r i 0055420 n g . c h a r ^ ( i - 1 ) = 0055440 s e r v e r > > S t r i n g . c 0055460 h a r ^ i \r s e r v e r > 0055500 > S t r i n g . l e n g t h = 0055520 s e r v e r > > S t r i n g . 0055540 l e n g t h - 2 \r ] \r l 0055560 e t p o r t = v e c l e 0055600 n P o r t \r 376 001 \0 272 365 i f G e 0055620 t P a r t n e r ( s e r v e r , 0055640 k b d C S , p o r t ) t h 0055660 e n \r E t h e r B o o t ( 0055700 k t e > > K T E . b f n , f a 0055720 l s e , p o r t > > P o r t . 0055740 h o s t ) \r F r e e ( s y s Z o 0055760 n e , s e r v e r ) \r ] \r \f \r 0056000 / / - - - - - - - - - - - - - - 0056020 - - - - - - - - - - - - - - - - * 0056100 - - - - - - - - - - - - - - \r a 0056120 n d S i m p l e P u p ( o u t 0056140 P b i , r e t r a n s T O , 0056160 t o t a l T O , p r o c , a 0056200 r g ) b e \r / / - - 376 001 \0 310 v 0056220 - - - - - - - - - - - - - - - - * 0056320 - - - - - - - - - - \r [ \r l e t 0056340 s o c = v e c l e n P u 0056360 p S o c ; O p e n L e v e l 1 0056400 S o c k e t ( s o c ) \r l e t 0056420 q = v e c 1 ; q ! 0 = 0056440 0 ; o u t P b i > > P B I . 0056460 q u e u e = q \r l e t r T 0056500 i m e r = n i l ; S e t T 0056520 i m e r ( l v r T i m e r , 0056540 0 ) \r l e t t T i m e r = 0056560 n i l ; S e t T i m e r ( l v 0056600 t T i m e r , t o t a l T O 0056620 376 001 \0 277 235 ) \r l e t c o n t i 0056640 n u e = t r u e \r [ \r 0056660 i f T i m e r H a s E x 0056700 p i r e d ( l v r T i m e r ) 0056720 t h e n \r [ \r 0056740 o u t P b i > > P B I . 0056760 s o c k e t = s o c \r 0057000 C o m p l e t e P u p ( o 0057020 u t P b i ) \r S e t 0057040 T i m e r ( l v r T i m e r , 0057060 r e t r a n s T O ) \r 0057100 ] \r B l o c k ( ) r 0057120 e p e a t u n t i l s o c > > 0057140 P u p S o c . i Q . h e a d n 0057160 e 0 % \r T i m e r H 0057200 a s E x p i r e d ( l v r T i 0057220 m e r ) 376 \0 377 365 337 % T i m e 0057240 r H a s E x p i r e d ( l v t 0057260 T i m e r ) \r i f T i m 0057300 e r H a s E x p i r e d ( l v 0057320 t T i m e r ) b r e a k \r 0057340 l e t i n P b i = D e q 0057360 u e u e ( l v s o c > > P u p 0057400 S o c . i Q ) ; i f i n P b 0057420 i n e 0 t h e n \r 0057440 [ \r c o n t i n 0057460 u e = p r o c ( i n P b i , 0057500 a r g ) \r R e l e 0057520 a s e P B I ( i n P b i ) \r 0057540 ] \r ] r e p e a 0057560 t w h i l e c o n t i n u e \r 0057600 C l o s e L e v e l 1 S o c k e 0057620 t ( s o c ) \r ] \r 377 \0 \0 B u i l 0057640 d N e t E x e c . c m \0 373 232 K 255 0057660 004 \0 \0 376 001 \0 354 ( / / B u i l d 0057700 N e t E x e c . c m - - B u 0057720 i l d s t h e B C P L N e 0057740 t E x e c \r / / L a s t m o 0057760 d i f i e d J a n u a r y 1 0060000 1 , 1 9 8 3 9 : 3 9 P M 0060020 b y B o g g s \r / / C o p 0060040 y r i g h t X e r o x C o r 0060060 p o r a t i o n 1 9 8 2 , 1 0060100 9 8 3 \r \r B l d r / L V K N e 0060120 t E x e c B o o t / S 6 0 0 / 0060140 W 1 6 6 5 0 / V F u l l B o 0060160 o t B a s e / J ^ \r N e t E x 0060200 e c N e t E x e c 1 ^ \r ^ \r 0060220 P u p E f t p C o m m o n P u 0060240 p E f t p R e c e i v e P u p 0060260 N a m e L o o k 376 001 \0 9 035 u p 0060300 ^ \r P u p 1 O p e n C l o s e 0060320 P u p R o u t e P u p D u m m 0060340 y G a t e P u p 1 B P u p A 0060360 l 1 A ^ \r P u p A l E t h B 0060400 P u p A l E t h A ^ \r ^ \r T i 0060420 m e C o n v A T i m e C o n v 0060440 B T i m e I O T e m p l a t 0060460 e ^ \r S t r i n g U t i l K 0060500 e y w o r d K e y w o r d I n 0060520 i t ^ \r C m d S c a n C m d 0060540 S c a n E d i t C m d S c a n 0060560 D i s p l a y C m d S c a n A 0060600 u x ^ \r I n t e r r u p t C 0060620 o n t e x t C o n t e x t I n 0060640 i t ^ \r A l t o Q u e u e A 0060660 l t o T i m e r A l t o 376 \0 364 0060700 s 332 B y t e B l t ^ \r ^ \r P u 0060720 p 1 I n i t P u p A l E t h I 0060740 n i t I n t e r r u p t I n i 0060760 t \r / / n o r m a l n u m b 0061000 e r o f e r r o r s = 2 0061020 \r \r B u i l d B o o t N e t E 0061040 x e c . m a p / L N e t E x e 0061060 c . B o o t / O 1 3 1 1 / G 0061100 3 / D D i s k B o o t . R u n 0061120 / B 3 0 0 / N F u l l B o o 0061140 t B a s e . x c / S 1 4 1 1 / 0061160 V F u l l B o o t B a s e . R 0061200 u n / E 1 3 5 1 / V N e t E 0061220 x e c B o o t . r u n / E \r \r D 0061240 e l e t e N e t E x e c B o o 0061260 t . r u n \r 377 \0 \0 N e t E x e c 0061300 . c m \0 373 232 K 256 x \0 \0 376 \0 5 \b 224 0061320 N e t E x e c . b c p l N e t 0061340 E x e c 1 . b c p l B u i l d 0061360 N e t E x e c . c m N e t E x 0061400 e c . c m 374 0061406