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