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