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