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