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