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