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