$ od -c -N 50000 [IO]<DoradoLogic>routemwlb.dm!2
0000000 377 \0 \0 r o u t e m w l b 1 . b c
0000020 p l \0 373 235 256 350 _ \0 \0 376 001 \0 337 262 /
0000040 / r o u t e m w l b 1 . b c p l
0000060 \r \r / / B o a r d - s p e c i
0000100 f i c R o u t e r o u t i n
0000120 e s f o r t h e M u l t i
0000140 - W i r e v e r s i o n o f
0000160 t h e \r / / D o r a d o M
0000200 a i n L o g i c B o a r d \r
0000220 \r / / p a r t 1 o f 2 \r
0000240 \r / / l a s t m o d i f i e
0000260 d b y D . R u m p h , O
0000300 c t o b e r 3 0 , 1 9 8 4
0000320 4 : 4 2 P M \r / / \t \t t o
0000340 m a k e I C C l a s s E 4 W
0000360 a D I P 4 5 a l o n g w
0000400 i t h F 1 0 0 K \r / / l a
0000420 s t m o d i f i e d b y 376
0000440 001 \0 = < E . M c C r e i g h t
0000460 , J u l y 7 , 1 9 8 1
0000500 2 : 4 6 P M \r / / \t \t t o c
0000520 o r r e c t p o s i t i o n
0000540 o f G N D p i n s a t c
0000560 o n n e c t o r s t o 5 0 -
0000600 m i l c t r s \r / / m o d i
0000620 f i e d b y E . M c C r e
0000640 i g h t , J u l y 2 4 , 1
0000660 9 8 0 5 : 4 2 P M \r / / \t
0000700 \t t o f i x m u l t i w i r
0000720 e - f o r m a t s t i t c h w
0000740 e l d b o a r d c o n n e c
0000760 t o r m i s a l i g n m e n t
0001000 \r \r / / S o m e g e n e r a
0001020 l c o m m e n t s : \r \r / / \t
0001040 A s o 376 001 \0 o 247 c k e t p o
0001060 s i t i o n i s m a d e u
0001100 p o f a l o w e r - c a s
0001120 e l e t t e r f o l l o w e
0001140 d b y a \r / / \t n u m b e r
0001160 , l i k e a 1 3 o r h 4
0001200 1 . T h e l e t t e r d e
0001220 s i g n a t e s t h e c o l
0001240 u m n , o r t h e \r / / \t x
0001260 o r f i r s t c o - o r d
0001300 i n a t e . I n c r e a s i n
0001320 g l e t t e r s c o r r e s
0001340 p o n d t o i n c r e a s i
0001360 n g x v a l u e s . \r / / \t
0001400 T h e n u m b e r i n a
0001420 s o c k e t p o s i t i o n
0001440 d e s i g n a t e 376 001 \0 305 + s
0001460 t h e r o w , o r y , o
0001500 r s e c o n d \r / / \t c o - o
0001520 r d i n a t e . I n c r e a s
0001540 i n g n u m b e r s c o r r
0001560 e s p o n d t o i n c r e a
0001600 s i n g y v a l u e s . \r \r
0001620 / / \t I n s t a n d a r d o
0001640 r i e n t a t i o n t h e b
0001660 o a r d h a s t h e c o m
0001700 p o n e n t ( n o n - w i r i
0001720 n g ) s i d e \r / / \t u p ,
0001740 a n d t h e c o n n e c t o
0001760 r c u t o u t s t o t h e
0002000 l e f t . S o c k e t a 0
0002020 1 i s i n t h e t o p
0002040 l e f t , \r / / \t l 0 1 i 376 001
0002060 \0 333 % n t h e t o p r i g
0002100 h t , a 2 4 i n t h e b
0002120 o t t o m l e f t , a n d
0002140 l 2 4 i n t h e b o t t o
0002160 m r i g h t . \r / / \t T h e
0002200 x c o - o r d i n a t e i n
0002220 c r e a s e s t o t h e r
0002240 i g h t , a n d t h e y
0002260 c o - o r d i n a t e i n c r
0002300 e a s e s \r / / \t d o w n w a r
0002320 d . I n s t a n d a r d o
0002340 r i e n t a t i o n p i n 1
0002360 o f e a c h s o c k e t
0002400 i s t h e t o p r i g h t
0002420 \r / / \t p i n o f t h e s
0002440 o c k e t . T h e p i n n
0002460 u m b 376 001 \0 p 377 e r i n g g o
0002500 e s l e f t w a r d , t h e
0002520 n d o w n , t h e n \r / / \t
0002540 r i g h t w a r d . \r \r / / \t W
0002560 i t h c e r t a i n e x c e
0002600 p t i o n s , a g i v e n
0002620 f u n c t i o n a l l y e q u
0002640 i v a l e n t g r o u p o f
0002660 p i n s \r / / \t i s o r d e
0002700 r e d f i r s t d o w n w a
0002720 r d a n d t h e n r i g h
0002740 t w a r d . F o r e x a m p
0002760 l e , i f w e h a d \r / /
0003000 \t G N D p i n s o f a c
0003020 e r t a i n k i n d a t {
0003040 x 0 , y 0 } , { x 1 , y 1 } ,
0003060 { x 1 , y 0 } 376 001 \0 w 256 , a
0003100 n d { x 0 , y 1 } , \r / / \t
0003120 w h e r e x 0 < x 1 a n d
0003140 y 0 < y 1 , t h e n t h e y
0003160 w o u l d a p p e a r i n
0003200 t h e G N D p s e u d o -
0003220 \r / / \t n e t i n t h e f
0003240 o l l o w i n g o r d e r : \r
0003260 / / \t \t . . . { x 0 , y 0 } . .
0003300 . { x 0 , y 1 } . . . { x 1 , y
0003320 0 } . . . { x 1 , y 1 } . . . \r
0003340 \r / / \t T h i s m e a n s t
0003360 h a t t h e p s e u d o - n
0003400 e t p i n n u m b e r i s
0003420 u s u a l l y c o m p u t e
0003440 d a s \r / / \t \t ( x ( h o r
0003460 i z o n t a l ) r e p e 376 001 \0
0003500 \t 374 a t ) * ( p i n s P e r C o
0003520 l u m n ) + ( y ( v e r t i c
0003540 a l ) r e p e a t ) + f i r s
0003560 t P i n N o \r \r / / \t S i m i l
0003600 a r l y t h e h o r i z o n
0003620 t a l a n d v e r t i c a l
0003640 r e p e a t s a r e u s u
0003660 a l l y c o m p u t e d a s
0003700 \r / / \t \t c o l u m n = x R
0003720 e p e a t = ( p s e u d o -
0003740 n e t p i n n u m b e r -
0003760 f i r s t P i n N o ) / p i n
0004000 s P e r C o l u m n \r / / \t \t r
0004020 o w = y R e p e a t = (
0004040 p s e u d o - n e t p i n n
0004060 u m b e r - f i r s t P i n
0004100 N o 376 001 \0 236 0 ) r e m p i n
0004120 s P e r C o l u m n \r \r g e t
0004140 " r o u t e . d e f s " \r \r e x
0004160 t e r n a l [ P i n 1 o f 1
0004200 6 ] \r \r m a n i f e s t \r [ 032
0004220 ( 6 3 5 ) \ f 1 \r r e p e a t R
0004240 o w s = 1 2 \r r e p e a t C
0004260 o l s = 6 \r f u l l R e p e
0004300 a t C o l s = 4 \r r e p e a
0004320 t s = r e p e a t R o w s *
0004340 r e p e a t C o l s \r f u l l R
0004360 e p e a t s = r e p e a t R
0004400 o w s * f u l l R e p e a t C o
0004420 l s \r r o w O f f s e t = 1
0004440 6 \r l e f t C o l s O f f s e t
0004460 = 0 \r r i g h t C o l s O f
0004500 f s e t = 376 001 \0 025 227 2 4 6 \r
0004520 r o w H e i g h t = 4 2 \r f
0004540 u l l C o l W i d t h = 1 1
0004560 2 \r p a t t e r n G r o u n d s
0004600 = 3 * r e p e a t s + 6 * f
0004620 u l l R e p e a t s \r S o c k e
0004640 t s 1 6 p i n = 6 * f u l l
0004660 R e p e a t s \r S o c k e t s 2
0004700 4 p i n = 2 * f u l l R e p
0004720 e a t s \r S o c k e t s 5 0 p i
0004740 n = f u l l R e p e a t s \r
0004760 S o c k e t s S i p = 3 * f
0005000 u l l R e p e a t s 032 l 4 2 6 9
0005020 \ f 1 \r ] \r \r s t a t i c \r [ 032
0005040 \ f 1 \r m a x I C s = 6 0 0
0005060 \r b o a r d I n t e r f a c e V
0005100 e r s i o n = i n t 376 001 \0 006
0005120 016 e r f a c e V e r s i o n \r V
0005140 C C C a p \r V E E C a p 032 l 4 2
0005160 6 9 \ f 1 \r ] \r \r l e t D e c
0005200 l a r e I n i t i a l N e t s (
0005220 B u i l d T W N e t , B u i l
0005240 d T e r m N e t , B u i l d C
0005260 o n n e c t o r ) b e \r [ 032 \
0005300 f 1 \r B u i l d C o n n e c t o
0005320 r ( " E " , 1 8 9 , E P i n
0005340 P o s ) \r B u i l d C o n n e c
0005360 t o r ( " C " , 1 8 9 , C P
0005400 i n P o s ) \r B u i l d T W N e
0005420 t ( " G N D " , 6 * f u l l R
0005440 e p e a t s + 3 * r e p e a t s
0005460 + 2 * 9 2 , G N D P i n P o s
0005500 ) \r B u i l d T W N e t ( " V E
0005520 E 376 001 \0 * 340 " , 4 * f u l l R
0005540 e p e a t s + 2 * r e p e a t s
0005560 , V E E P i n P o s ) \r B u i
0005600 l d T W N e t ( " V T T " , 3
0005620 * f u l l R e p e a t s , V T
0005640 T P i n P o s ) \r B u i l d T W
0005660 N e t ( " V C C " , r e p e a
0005700 t s , V C C P i n P o s ) \r B
0005720 u i l d T W N e t ( " V D D " ,
0005740 r e p e a t s , V D D P i n
0005760 P o s ) \r V C C C a p = D e
0006000 f i n e B y p a s s T y p e ( "
0006020 V C C B y p a s s C a p " , V
0006040 C C B y p a s s V o l t a g e s
0006060 ) \r V E E C a p = D e f i n
0006100 e B y p a s s T y p e ( " V E E
0006120 B y p a s s 376 001 \0 244 232 C a p " ,
0006140 V E E B y p a s s V o l t a g
0006160 e s ) \r B u i l d T e r m N e t
0006200 ( " T e r m 1 0 0 / 8 / T e r m
0006220 1 0 0 " , 8 , " T e r m 1 0
0006240 0 " , 1 0 0 8 , A u t o T e
0006260 r m P i n P o s , " T " ) \r l e
0006300 t c = T r y F i n d i n g
0006320 N a m e e ( " F 1 0 0 K " , t
0006340 y p e I c c l a s s ) \r i f c
0006360 n e e m p t y t h e n c
0006400 > > i c c l a s s . P i n O f f
0006420 s e t = D I P 4 5 W i d e 032
0006440 l 4 2 6 9 \ f 1 \r c = T r y
0006460 F i n d i n g N a m e e ( " E 4
0006500 W " , t y p e I c c l a s s )
0006520 \r i f c n e e m 376 001 \0 ^ ;
0006540 p t y t h e n c > > i c c l
0006560 a s s . P i n O f f s e t =
0006600 D I P 4 5 W i d e 032 l 4 2 6 9 \
0006620 f 1 \r ] \r \r a n d D I P 4 5 W
0006640 i d e ( i c i n s t , p i n N
0006660 o , p v , p h ) = v a l
0006700 o f \r [ 032 \ f 1 \r l e t r e s
0006720 u l t = D I P 3 W i d e ( i
0006740 c i n s t , p i n N o , p v
0006760 , p h ) \r i f @ p h n e
0007000 0 t h e n @ p h = @ p h
0007020 + 6 \r r e s u l t i s r e s u
0007040 l t 032 l 4 2 6 9 \ f 1 \r ] \r \r a
0007060 n d Z e r o T a b l e P o i n
0007100 t ( p o i n t ) = s e l e c
0007120 t o n p o i n t i n t o \r [
0007140 376 001 \0 T 336 032 \ f 1 \r c a s e 0
0007160 : " L " / / b o a r d t
0007200 y p e \r c a s e 1 : " C 1 8
0007220 8 " \r c a s e 2 : " E 6 " \r
0007240 c a s e 3 : " E 1 8 7 " \r c
0007260 a s e 4 : " C 5 " \r d e f a
0007300 u l t : e m p t y 032 l 4 2 6 9
0007320 \ f 1 \r ] \r \r a n d L e v e l
0007340 T r a n s f o r m ( l e v e l ,
0007360 x , y , p x , p y , p
0007400 N a m e , p P u l l C o m p o
0007420 n e n t s , p W i r e ; n u
0007440 m a r g s n a ) = v a l o
0007460 f \r [ 032 \ f 1 \r D e f a u l t A
0007500 r g s ( l v n a , - 1 , 0
0007520 , 0 , l v n a , l v n
0007540 a , l v 376 001 \0 254 i n a , l
0007560 v n a , l v n a ) \r s w i
0007600 t c h o n l e v e l i n t o
0007620 \r [ 032 l 4 2 6 9 \ f 1 \r c a s e
0007640 T o p L e v e l : 032 l 5 5 3 9
0007660 \ f 1 \r @ p x = x \r @ p y
0007700 = 5 2 4 - y \r @ p N a m e =
0007720 " C o m p o n e n t s i d e
0007740 " \r @ p P u l l C o m p o n e n
0007760 t s = t r u e \r @ p W i r e
0010000 = f a l s e \r r e s u l t i
0010020 s t r u e 032 l 6 8 0 9 \ f 1 \r
0010040 \r c a s e B o t t o m L e v e
0010060 l : 032 l 5 5 3 9 \ f 1 \r @ p x
0010100 = x \r @ p y = y \r @ p N a
0010120 m e = " W i r i n g s i d
0010140 e " \r @ p P u l l C 376 001 \0 255 234 o
0010160 m p o n e n t s = f a l s e
0010200 \r @ p W i r e = t r u e \r r
0010220 e s u l t i s t r u e 032 l 6 8
0010240 0 9 \ f 1 \r \r d e f a u l t :
0010260 r e s u l t i s f a l s e 032 l
0010300 5 5 3 9 \ f 1 \r ] 032 l 4 2 6 9 \
0010320 f 1 \r ] \r \r a n d D e f i n e
0010340 B y p a s s T y p e ( c l a s s
0010360 , I n i t i a l W i r i n g )
0010400 = v a l o f \r [ 032 \ f 1 \r S
0010420 e t u p I C c l a s s ( c l a s
0010440 s , p r i n t U s e d L i s t
0010460 , D I P 3 W i d e , N u l l
0010500 A t t r i b u t e s , I n i t
0010520 i a l W i r i n g , 2 ) \r l e
0010540 t t y p e = v e c 5 0 376
0010560 001 \0 m 351 \r E x p a n d T e m p l
0010600 a t e ( t y p e , " $ S / 2 /
0010620 $ S " , c l a s s , c l a s
0010640 s ) \r l e t i c t y p e =
0010660 D e f i n e N a m e e ( t y p e
0010700 , t y p e I c t y p e ) \r i c
0010720 t y p e > > i c t y p e . i c c
0010740 l a s s = M u s t F i n d N
0010760 a m e e ( c l a s s , t y p e
0011000 I c c l a s s ) \r i c t y p e >
0011020 > i c t y p e . n p i n s =
0011040 2 \r r e s u l t i s i c t y p
0011060 e 032 l 4 2 6 9 \ f 1 \r ] \r \r a n
0011100 d V C C B y p a s s V o l t a
0011120 g e s ( i c i n s t ) b e \r [
0011140 032 \ f 1 \r l e t s t r = F
0011160 i n d N 376 001 \0 221 265 a m e e s S t
0011200 r i n g ( i c i n s t ) \r P u t
0011220 T e m p l a t e ( I m p l i c i
0011240 t F i l e , " * n V C C : $
0011260 S . 1 p * n G N D : $ S . 2 p
0011300 " , s t r , s t r ) 032 l 4 2
0011320 6 9 \ f 1 \r ] \r \r a n d V E E
0011340 B y p a s s V o l t a g e s ( i
0011360 c i n s t ) b e \r [ 032 \ f 1 \r
0011400 l e t s t r = F i n d N a
0011420 m e e s S t r i n g ( i c i n s
0011440 t ) \r P u t T e m p l a t e ( I
0011460 m p l i c i t F i l e , " * n
0011500 V E E : $ S . 1 p * n G N D :
0011520 $ S . 2 p " , s t r , s t
0011540 r ) 032 l 4 2 6 9 \ f 1 \r ] \r \r a
0011560 n d A d d D e c 376 001 \0 367 334 o u
0011600 p l i n g C a p s ( ) b e \r [
0011620 032 \ f 1 \r f o r r o w = 1
0011640 t o 2 3 b y 2 d o \r [
0011660 032 l 4 2 6 9 \ f 1 \r f o r c o
0011700 l = $ a t o $ g b y
0011720 ( $ g - $ a ) d o \r [ 032 l 5 5
0011740 3 9 \ f 1 \r A d d C a p ( V C C
0011760 C a p , 9 , c o l , r o w
0012000 ) \r A d d C a p ( V E E C a p ,
0012020 8 , c o l , r o w ) 032 l 6
0012040 8 0 9 \ f 1 \r ] \r f o r c o l
0012060 = $ c t o $ l b y (
0012100 $ f - $ c ) d o \r [ 032 l 5 5 3
0012120 9 \ f 1 \r A d d C a p ( V C C C
0012140 a p , - 1 , c o l , r o w
0012160 ) \r A d d C a p ( V E E C a 376 001
0012200 \0 \ 005 p , - 2 , c o l , r
0012220 o w ) 032 l 6 8 0 9 \ f 1 \r ] 032 l
0012240 5 5 3 9 \ f 1 \r ] 032 l 4 2 6 9 \
0012260 f 1 \r ] \r \r a n d A d d C a p
0012300 ( c a p T y p e , v e r t O f
0012320 f s e t , c o l , r o w )
0012340 b e \r [ 032 \ f 1 \r l e t s =
0012360 v e c 2 0 \r E x p a n d T e
0012400 m p l a t e ( s , " # $ D $ C
0012420 $ 2 F 0 D " , v e r t O f f s
0012440 e t , c o l , r o w ) \r I n
0012460 s e r t D e v i c e I f P o s s
0012500 i b l e ( s , c a p T y p e ,
0012520 t r u e ) / / s u p p r e s
0012540 s w a r n i n g s 032 l 4 2 6 9
0012560 \ f 1 \r ] \r \r a n d E P i n P
0012600 o s ( 376 001 \0 311 337 i c i n s t ,
0012620 p i n , p x , p y ) = v
0012640 a l o f \r [ 032 \ f 1 \r i f ( p
0012660 i n l s 5 ) % ( p i n
0012700 g r 1 8 8 ) t h e n r e s
0012720 u l t i s i l l e g a l \r @ p
0012740 y = 5 2 4 \r l e t p g =
0012760 ( p i n - 1 ) r e m 4 \r i
0013000 f ( p g e q 0 ) % ( p g
0013020 e q 3 ) t h e n r e s u l
0013040 t i s i l l e g a l \r l e t
0013060 x C o l = ( p i n - 5 ) / 2
0013100 \r @ p x = 2 2 + 4 * x C o l
0013120 + 2 * ( x C o l / 2 ) \r r e s u
0013140 l t i s a b s o l u t e 032 l 4
0013160 2 6 9 \ f 1 \r ] \r \r a n d C P
0013200 i n P o s ( i c 376 001 \0 243 320 i n s
0013220 t , p i n , p x , p y )
0013240 = v a l o f \r [ 032 \ f 1 \r i f
0013260 ( p i n l s 5 ) % ( p
0013300 i n g r 1 8 8 ) t h e n
0013320 r e s u l t i s i l l e g a l
0013340 \r @ p y = 0 \r l e t p g
0013360 = ( p i n - 1 ) r e m 4 \r
0013400 i f ( p g e q 1 ) % ( p g
0013420 e q 2 ) t h e n r e s u
0013440 l t i s i l l e g a l \r l e t
0013460 x C o l = ( 1 8 8 - p i n
0013500 ) / 2 \r @ p x = 2 2 + 4 * x
0013520 C o l + 2 * ( x C o l / 2 ) \r r
0013540 e s u l t i s a b s o l u t e
0013560 032 l 4 2 6 9 \ f 1 \r ] \r \r a n d
0013600 G N D P i n P o s ( i c 376 001 \0
0013620 @ _ i n s t , p i n , p x ,
0013640 p y , p I n f o ; n u m a
0013660 r g s n a ) = v a l o f \r
0013700 [ 032 \ f 1 \r D e f a u l t A r g
0013720 s ( l v n a , - 4 , l v
0013740 n a ) \r @ p I n f o = n o D
0013760 i s c o n n e c t + n o R e c o
0014000 n n e c t + B o t t o m L e v e
0014020 l \r i f p i n l e 0 t h
0014040 e n r e s u l t i s i l l e
0014060 g a l \r i f p i n l e p a
0014100 t t e r n G r o u n d s t h e
0014120 n \r [ 032 l 4 2 6 9 \ f 1 \r R e p
0014140 e a t ( l v p i n , 3 , 6
0014160 , p x , p y ) \r l e t x t
0014200 a b l e = t a b l e [ 0
0014220 ; 0 376 001 \0 002 031 ; 4 ; 4 0 ; 4 0 ;
0014240 7 2 ; 7 6 ; 7 6 ; 1 0 8 ] \r @
0014260 p x = @ p x + x t a b l e !
0014300 p i n \r l e t y t a b l e =
0014320 t a b l e [ 1 2 ; 2 4 ; 3
0014340 6 ; 0 ; 1 2 ; 1 2 ; 0 ; 1 2 ; 3
0014360 6 ] \r @ p y = @ p y + y t
0014400 a b l e ! p i n \r r e s u l t i
0014420 s a b s o l u t e 032 l 5 5 3 9
0014440 \ f 1 \r ] \r p i n = p i n -
0014460 p a t t e r n G r o u n d s \r i
0014500 f p i n l e 2 * 9 2 t h
0014520 e n \r [ 032 l 4 2 6 9 \ f 1 \r p i
0014540 n = p i n - 1 \r @ p y =
0014560 p i n l s 9 2 ? 0 + 4 ,
0014600 5 2 4 - 4 \r l e t s e q =
0014620 p i n r e m 376 001 \0 322 205 9 2 \r
0014640 @ p x = 2 2 + 4 * s e q + 2
0014660 * ( s e q / 2 ) \r r e s u l t i
0014700 s a b s o l u t e 032 l 5 5 3 9
0014720 \ f 1 \r ] \r r e s u l t i s i
0014740 l l e g a l 032 l 4 2 6 9 \ f 1 \r
0014760 ] \r \r a n d V E E P i n P o s
0015000 ( i c i n s t , p i n , p x
0015020 , p y , p I n f o ; n u m
0015040 a r g s n a ) = v a l o f
0015060 \r [ 032 \ f 1 \r D e f a u l t A r
0015100 g s ( l v n a , - 4 , l v
0015120 n a ) \r @ p I n f o = n o
0015140 D i s c o n n e c t + n o R e c
0015160 o n n e c t + B o t t o m L e v
0015200 e l \r i f p i n l e 0 t
0015220 h e n r e s u l t i s 376 001 \0 246
0015240 351 i l l e g a l \r i f p i n
0015260 l e 4 * f u l l R e p e a t
0015300 s + 2 * r e p e a t s t h e n
0015320 \r [ 032 l 4 2 6 9 \ f 1 \r R e p e
0015340 a t ( l v p i n , 2 , 4 ,
0015360 p x , p y ) \r l e t x t a
0015400 b l e = t a b l e [ 4 ;
0015420 4 4 ; 8 0 ] \r @ p x = @ p
0015440 x + x t a b l e ! ( p i n / 2 )
0015460 \r @ p y = @ p y + 2 4 * ( p
0015500 i n r e m 2 ) \r r e s u l t
0015520 i s a b s o l u t e 032 l 5 5 3
0015540 9 \ f 1 \r ] \r r e s u l t i s
0015560 i l l e g a l 032 l 4 2 6 9 \ f 1
0015600 \r ] \r \r a n d V T T P i n P o
0015620 s ( i c i n s t , p i n , p
0015640 x 376 001 \0 Q 034 , p y , p I n f
0015660 o ; n u m a r g s n a ) =
0015700 v a l o f \r [ 032 \ f 1 \r D e f
0015720 a u l t A r g s ( l v n a ,
0015740 - 4 , l v n a ) \r @ p I n f
0015760 o = n o D i s c o n n e c t
0016000 + n o R e c o n n e c t + B o t
0016020 t o m L e v e l \r i f p i n
0016040 l e 0 t h e n r e s u l t
0016060 i s i l l e g a l \r i f p i
0016100 n l e 3 * f u l l R e p e a
0016120 t s t h e n \r [ 032 l 4 2 6 9 \
0016140 f 1 \r R e p e a t ( l v p i n
0016160 , 0 , 3 , p x , p y ) \r
0016200 l e t x t a b l e = t a b
0016220 l e [ 4 0 ; 7 6 ; 1 0 8 ]
0016240 \r @ p x = 376 001 \0 372 217 @ p x +
0016260 x t a b l e ! p i n \r l e t y
0016300 t a b l e = t a b l e [
0016320 2 4 ; 2 4 ; 1 8 ] \r @ p y =
0016340 @ p y + y t a b l e ! p i n \r
0016360 r e s u l t i s a b s o l u t
0016400 e 032 l 5 5 3 9 \ f 1 \r ] \r r e s
0016420 u l t i s i l l e g a l 032 l 4
0016440 2 6 9 \ f 1 \r ] \r \r a n d V D
0016460 D P i n P o s ( i c i n s t ,
0016500 p i n , p x , p y , p I n
0016520 f o ; n u m a r g s n a )
0016540 = v a l o f \r [ 032 \ f 1 \r D e
0016560 f a u l t A r g s ( l v n a ,
0016600 - 4 , l v n a ) \r @ p I n
0016620 f o = n o D i s c o n n e c
0016640 t + n o R e c o n n e 376 001 \0 A 267
0016660 c t + B o t t o m L e v e l \r i
0016700 f p i n l e 0 t h e n
0016720 r e s u l t i s i l l e g a l
0016740 \r i f p i n l e r e p e a
0016760 t s t h e n \r [ 032 l 4 2 6 9 \
0017000 f 1 \r R e p e a t ( l v p i n
0017020 , 1 , 0 , p x , p y ) \r
0017040 @ p x = @ p x + 4 \r @ p y
0017060 = @ p y + 1 8 \r r e s u l t i
0017100 s a b s o l u t e 032 l 5 5 3 9
0017120 \ f 1 \r ] \r r e s u l t i s i
0017140 l l e g a l 032 l 4 2 6 9 \ f 1 \r
0017160 ] \r \r a n d V C C P i n P o s
0017200 ( i c i n s t , p i n , p x
0017220 , p y , p I n f o ; n u m
0017240 a r g s n a ) = v a l o f
0017260 376 001 \0 ' 350 \r [ 032 \ f 1 \r D e f a
0017300 u l t A r g s ( l v n a , -
0017320 4 , l v n a ) \r @ p I n f o
0017340 = n o D i s c o n n e c t +
0017360 n o R e c o n n e c t + B o t t
0017400 o m L e v e l \r i f p i n l
0017420 e 0 t h e n r e s u l t i
0017440 s i l l e g a l \r i f p i n
0017460 l e r e p e a t s t h e n
0017500 \r [ 032 l 4 2 6 9 \ f 1 \r R e p e
0017520 a t ( l v p i n , 1 , 0 ,
0017540 p x , p y ) \r @ p y = @
0017560 p y + 3 6 \r r e s u l t i s a
0017600 b s o l u t e 032 l 5 5 3 9 \ f 1
0017620 \r ] \r r e s u l t i s i l l e
0017640 g a l 032 l 4 2 6 9 \ f 1 \r ] \r \r
0017660 a n d A 376 001 \0 b | u t o T e r
0017700 m P i n P o s ( i c i n s t ,
0017720 p i n , p x , p y , p I n
0017740 f o , p i n N a m e ; n u m
0017760 a r g s n a ) = v a l o f
0020000 \r [ 032 \ f 1 \r D e f a u l t A r
0020020 g s ( l v n a , - 4 , l v
0020040 n a , 0 ) \r i f p i n l
0020060 e 0 t h e n r e s u l t i
0020100 s i l l e g a l \r i f p i n
0020120 l e 1 0 0 8 t h e n \r [ 032
0020140 l 4 2 6 9 \ f 1 \r p i n = p i n
0020160 - 1 \r l e t p a c k a g e =
0020200 p i n / 7 \r p i n = p i n
0020220 r e m 7 \r P i n 1 o f 8 ( p
0020240 a c k a g e r e m 1 2 , p
0020260 a c k a g e / 1 2 , 376 001 \0 o '
0020300 p x , p y ) \r @ p x = @ p
0020320 x - 4 - 4 * p i n \r i f p i n
0020340 N a m e n e 0 t h e n 032 l
0020360 5 5 3 9 \ f 1 \r E x p a n d T e
0020400 m p l a t e ( p i n N a m e ,
0020420 " $ C $ D . $ D " , $ a + p a
0020440 c k a g e / 1 2 , \r 4 1 + ( p
0020460 a c k a g e r e m 1 2 ) ,
0020500 p i n + 2 ) \r r e s u l t i s
0020520 a b s o l u t e 032 l 5 5 3 9 \ f
0020540 1 \r ] \r r e s u l t i s i l l
0020560 e g a l 032 l 4 2 6 9 \ f 1 \r ] \r
0020600 \r a n d F i n d C o o r d F r
0020620 o m S t r i n g ( s , p x ,
0020640 p y , v o p 1 , h o p 1 ;
0020660 n u m a r g s n a ) = v 376
0020700 001 \0 F ' a l o f \r [ / / v o
0020720 p 1 i s t h e " v e r t i
0020740 c a l " f r o m p i n 1 ,
0020760 t h a t i s , t h e o f
0021000 f s e t a l o n g t h e 0
0021020 . 1 " \r / / s p a c i n g ;
0021040 h o p 1 i s t h e " h o r
0021060 i z o n t a l o f f s e t "
0021100 f r o m p i n 1 . I n a
0021120 s t a n d a r d 1 6 - p i n
0021140 \r / / D I P , f o r p i n
0021160 2 v o p 1 = 4 a n d h o
0021200 p 1 = 0 , a n d f o r p i
0021220 n 1 6 , v o p 1 = 0 a n d
0021240 h o p 1 = 1 2 . F o r \r / /
0021260 t h i s b o a r d , v o p
0021300 1 g r 376 001 \0 364 V o w s i n
0021320 t h e - x d i r e c t i o n
0021340 , a n d h o p 1 g r o w s
0021360 i n t h e + y d i r e c
0021400 t i o n . \r \r / / s c a n
0021420 b e o f t h e f o r m <
0021440 l o w e r - c a s e l e t t e
0021460 r > < n u m b e r > o r \r / /
0021500 \t < n u m b e r > s ( m e a
0021520 n i n g v e r t i c a l l y
0021540 o f f s e t < n u m b e r > *
0021560 0 . 1 " ) o r \r / / \t ^ < n u
0021600 m b e r > s ( m e a n i n g
0021620 v e r t i c a l l y o f f s
0021640 e t < n u m b e r > * 0 . 1 "
0021660 ) o r \r / / _ < n u m b e r
0021700 > s ( m e a n 376 001 \0 P 030 i n
0021720 g h o r i z o n t a l l y o
0021740 f f s e t < n u m b e r > * 0
0021760 . 1 " ) o r \r / / # s \r 032
0022000 \ f 1 \r D e f a u l t A r g s (
0022020 l v n a , - 3 , 0 , 0 )
0022040 \r \r l e t b p V O f f s e t ,
0022060 b p H O f f s e t = 0 , 0
0022100 \r l e t i = 0 \r l e t c =
0022120 $ # \r l e t o f f s e t I s
0022140 V e r t i c a l = t r u e \r
0022160 l e t s i g n = 1 \r \r w h
0022200 i l e i l e s > > s t r .
0022220 l e n g t h & ( c l s $
0022240 a % c g r $ z ) d o \r
0022260 [ 032 l 4 2 6 9 \ f 1 \r i f c
0022300 e q $ ^ % c e q $ 376 001
0022320 \0 220 S _ % c e q $ # %
0022340 c e q $ - t h e n \r [ 032
0022360 l 5 5 3 9 \ f 1 \r t e s t c
0022400 e q $ - \r i f s o s i g n
0022420 = - s i g n \r i f n o t o f
0022440 f s e t I s V e r t i c a l =
0022460 n o t ( c e q $ _ ) \r \r
0022500 i = i + 1 \r c = s > > s t r
0022520 . c h a r ^ i \r l o o p 032 l 6 8
0022540 0 9 \ f 1 \r ] \r \r i f c g e
0022560 $ 0 & c l e $ 9 t h
0022600 e n \r [ 032 l 5 5 3 9 \ f 1 \r l e
0022620 t b p O f f s e t = 0 \r w
0022640 h i l e i l e s > > s t r
0022660 . l e n g t h & c g e $
0022700 0 & c l e $ 9 d o \r [
0022720 032 l 6 376 001 \0 7 [ 8 0 9 \ f 1 \r b
0022740 p O f f s e t = 1 0 * b p O
0022760 f f s e t + c - $ 0 \r i = i
0023000 + 1 \r c = s > > s t r . c h
0023020 a r ^ i 032 l 8 0 7 9 \ f 1 \r ] \r
0023040 @ ( o f f s e t I s V e r t i c
0023060 a l ? l v b p V O f f s e t
0023100 , l v b p H O f f s e t )
0023120 = \r s i g n * b p O f f s e t
0023140 \r o f f s e t I s V e r t i c a
0023160 l = t r u e \r s i g n =
0023200 1 \r l o o p 032 l 6 8 0 9 \ f 1 \r
0023220 ] \r \r r e s u l t i s i l l e
0023240 g a l 032 l 5 5 3 9 \ f 1 \r ] \r \r
0023260 v o p 1 = v o p 1 + 4 * b p
0023300 V O f f s e t \r h o p 1 = h
0023320 o p 1 + 4 * b p 376 001 \0 225 L H O f
0023340 f s e t \r \r / / I C p o s i
0023360 t i o n o f t h e f o r m
0023400 < l e t t e r > < n u m b e r
0023420 > \r \r i f i g r s > > s t
0023440 r . l e n g t h % c l s
0023460 $ a % c g r $ z t h e
0023500 n r e s u l t i s i l l e g
0023520 a l \r l e t a l p h = c \r
0023540 \r l e t n u m = 0 \r w h i
0023560 l e i l s s > > s t r . l
0023600 e n g t h d o \r [ 032 l 4 2 6 9
0023620 \ f 1 \r i = i + 1 \r c = s >
0023640 > s t r . c h a r ^ i \r i f (
0023660 c l s $ 0 ) % ( c g r
0023700 $ 9 ) t h e n r e s u l t
0023720 i s i l l e g a l \r n u 376 001 \0
0023740 360 215 m = 1 0 * n u m + ( c -
0023760 $ 0 ) 032 l 5 5 3 9 \ f 1 \r ] \r \r
0024000 i f ( n u m g e 1 ) & ( n
0024020 u m l e 2 4 ) t h e n \r [
0024040 032 l 4 2 6 9 \ f 1 \r u n l e s s
0024060 P i n 1 o f 1 6 ( n u m - 1 ,
0024100 a l p h - $ a , p x , p y
0024120 ) d o r e s u l t i s i l
0024140 l e g a l \r @ p x = @ p x - v o
0024160 p 1 \r @ p y = @ p y + h o p
0024200 1 \r r e s u l t i s a b s o l
0024220 u t e 032 l 5 5 3 9 \ f 1 \r ] \r \r
0024240 i f ( n u m g e 4 1 ) &
0024260 ( n u m l e 5 2 ) t h e
0024300 n \r [ 032 l 4 2 6 9 \ f 1 \r u n l
0024320 e s s P i n 1 o f 8 ( n u m -
0024340 4 1 376 001 \0 236 4 , a l p h - $ a
0024360 , p x , p y ) d o r e s
0024400 u l t i s i l l e g a l \r @ p
0024420 x = @ p x - v o p 1 \r @ p y = @
0024440 p y + h o p 1 \r r e s u l t i s
0024460 a b s o l u t e 032 l 5 5 3 9 \
0024500 f 1 \r ] \r \r l e t c o l =
0024520 s e l e c t o n a l p h i n
0024540 t o \r [ 032 l 4 2 6 9 \ f 1 \r c a
0024560 s e $ b : 0 \r c a s e $ c
0024600 : 1 \r c a s e $ e : 2 \r c
0024620 a s e $ f : 3 \r c a s e $
0024640 h : 4 \r c a s e $ i : 5 \r
0024660 c a s e $ k : 6 \r c a s e
0024700 $ l : 7 \r d e f a u l t : -
0024720 1 032 l 5 5 3 9 \ f 1 \r ] \r l e t
0024740 r o w = 376 001 \0 h 017 s e l e
0024760 c t o n n u m i n t o \r [ 032
0025000 l 4 2 6 9 \ f 1 \r c a s e 6 0
0025020 : 1 \r c a s e 6 1 : 4 \r c
0025040 a s e 6 2 : 7 \r c a s e 6
0025060 3 : 1 0 \r \r c a s e 6 4 :
0025100 0 \t / / n e w n u m b e r s
0025120 \r c a s e 6 5 : 2 \r c a s e
0025140 6 6 : 3 \r c a s e 6 7 :
0025160 5 \r c a s e 6 8 : 6 \r c a s
0025200 e 6 9 : 8 \r c a s e 7 0 :
0025220 9 \r c a s e 7 1 : 1 1 \r \r
0025240 d e f a u l t : - 1 032 l 5 5 3
0025260 9 \ f 1 \r ] \r \r u n l e s s P
0025300 i n 1 o f 2 4 ( r o w , c o l
0025320 , p x , p y ) d o r e s
0025340 u l t i s i l l e g a 376 001 \0 241
0025360 313 l \r @ p x = @ p x - v o p
0025400 1 \r @ p y = @ p y + h o p 1
0025420 032 l 4 2 6 9 \ f 1 \r r e s u l t
0025440 i s a b s o l u t e 032 l 4 2 6
0025460 9 \ f 1 \r ] \r \r a n d P i n 1
0025500 o f 1 6 ( r o w , c o l , p
0025520 x , p y ) = v a l o f \r [
0025540 032 \ f 1 \r u n l e s s O f f s
0025560 e t L e g a l ( r o w , 1 ,
0025600 0 , 2 3 ) & O f f s e t L e g
0025620 a l ( c o l , 1 , $ a - $ a
0025640 , $ l - $ a ) d o \r r e s
0025660 u l t i s f a l s e \r \r B a s
0025700 i c P a t t e r n ( r o w / 2 ,
0025720 c o l / 3 + c o l / 6 , p x
0025740 , p y ) \r @ p y = @ p y + 2 4
0025760 * 376 001 \0 # 351 ( r o w r e m 2
0026000 ) \r @ p x = @ p x + 3 6 + 3 6 *
0026020 ( c o l r e m 3 ) \r r e s u
0026040 l t i s t r u e 032 l 4 2 6 9 \
0026060 f 1 \r ] \r \r a n d P i n 1 o f
0026100 8 ( r o w , c o l , p x ,
0026120 p y ) = v a l o f \r [ 032 \ f
0026140 1 \r u n l e s s O f f s e t L
0026160 e g a l ( r o w , 1 , 0 ,
0026200 1 1 ) & O f f s e t L e g a l (
0026220 c o l , 1 , $ a - $ a , $
0026240 l - $ a ) d o \r r e s u l t
0026260 i s f a l s e \r \r B a s i c P
0026300 a t t e r n ( r o w , c o l /
0026320 3 + c o l / 6 , p x , p y )
0026340 \r @ p y = @ p y + 1 8 \r @ p x =
0026360 @ p x + 3 6 376 001 \0 372 Q + 3 6 * (
0026400 c o l r e m 3 ) \r r e s u l
0026420 t i s t r u e 032 l 4 2 6 9 \ f
0026440 1 \r ] \r \r a n d P i n 1 o f 2
0026460 4 ( r o w , c o l , p x ,
0026500 p y ) = v a l o f \r [ 032 \ f
0026520 1 \r u n l e s s O f f s e t L
0026540 e g a l ( r o w , 1 , 0 ,
0026560 1 1 ) & O f f s e t L e g a l (
0026600 c o l , 1 , 0 , 7 ) d o
0026620 r e s u l t i s f a l s e \r
0026640 \r B a s i c P a t t e r n ( r o
0026660 w , c o l / 2 + c o l / 4 ,
0026700 p x , p y ) \r @ p y = @ p y +
0026720 6 \r @ p x = @ p x + 5 2 + 5 6 *
0026740 ( c o l r e m 2 ) \r r e s u
0026760 l t i s t r u e 032 l 376 001 \0 366 H
0027000 4 2 6 9 \ f 1 \r ] \r 032 \ f 1 \r a
0027020 n d P i n 1 o f 5 0 ( r o w ,
0027040 c o l , p x , p y ) =
0027060 P i n 1 o f 2 4 ( r o w , 2 *
0027100 c o l , p x , p y ) \r \r a n
0027120 d R e p e a t ( p p i n , p
0027140 i n s P e r B a s i c R e p e a
0027160 t , e x t r a P i n s P e r F
0027200 u l l R e p e a t , p x , p
0027220 y ) b e \r [ 032 \ f 1 \r l e t
0027240 p i n = @ p p i n - 1 \r l e
0027260 t p i n s P e r S i d e =
0027300 r e p e a t R o w s * \r ( ( r
0027320 e p e a t C o l s / 2 ) * p i n
0027340 s P e r B a s i c R e p e a t +
0027360 \r ( f u l l R e p e a t C o
0027400 376 001 \0 250 302 l s / 2 ) * e x t r a
0027420 P i n s P e r F u l l R e p e a
0027440 t ) \r l e t s i d e = p i
0027460 n / p i n s P e r S i d e \r p i
0027500 n = p i n r e m p i n s
0027520 P e r S i d e \r l e t p i n s
0027540 P e r F u l l C o l = r e p
0027560 e a t R o w s * ( p i n s P e r
0027600 B a s i c R e p e a t + e x t r
0027620 a P i n s P e r F u l l R e p e
0027640 a t ) \r l e t c o l = p i
0027660 n / p i n s P e r F u l l C o l
0027700 \r p i n = p i n r e m p
0027720 i n s P e r F u l l C o l \r l e
0027740 t p i n s P e r R e p e a t
0027760 = p i n s P e r B a s i c R e
0030000 p e a t + 376 001 \0 e 203 \r ( c o l
0030020 l s f u l l R e p e a t C o
0030040 l s / 2 ? e x t r a P i n s P
0030060 e r F u l l R e p e a t , 0 )
0030100 \r l e t r o w = p i n / p
0030120 i n s P e r R e p e a t \r @ p p
0030140 i n = p i n r e m p i n
0030160 s P e r R e p e a t \r B a s i c
0030200 P a t t e r n ( r o w , 3 * s
0030220 i d e + c o l , p x , p y )
0030240 032 l 4 2 6 9 \ f 1 \r ] \r \r a n d
0030260 B a s i c P a t t e r n ( r o
0030300 w , c o l , p x , p y )
0030320 b e \r [ 032 \ f 1 \r @ p y = r
0030340 o w O f f s e t + r o w H e i g
0030360 h t * r o w \r @ p x = ( c
0030400 o l l s 3 ? l 376 \0 K [ ) e
0030420 f t C o l s O f f s e t , r i
0030440 g h t C o l s O f f s e t ) + \r
0030460 f u l l C o l W i d t h * ( c
0030500 o l r e m 3 ) 032 l 4 2 6 9 \
0030520 f 1 \r ] \r 032 \ f 1 \r 377 \0 \0 r o u
0030540 t e m w l b 2 . b c p l \0 373 225 247
0030560 220 222 \0 \0 376 001 \0 335 g / / r o u t e
0030600 m w l b 2 . b c p l \r \r / / B
0030620 o a r d - s p e c i f i c R o
0030640 u t e r o u t i n e s f o r
0030660 t h e M u l t i - W i r e
0030700 v e r s i o n o f t h e \r /
0030720 / D o r a d o M a i n L o
0030740 g i c B o a r d \r \r / / p a
0030760 r t 2 o f 2 \r \r / / l a
0031000 s t m o d i f i e d b y E
0031020 . M c C r e i g h t , J u l
0031040 y 2 4 , 1 9 8 0 5 : 4 1
0031060 P M \r / / \t \t t o f i x m
0031100 u l t i w i r e - f o r m a t
0031120 s t i t c h w e l d b o a r d
0031140 c o n n e c t o r m i s a l
0031160 i g n m e n t \r \r 376 001 \0 356 234 / /
0031200 a l l c o - o r d i n a t e
0031220 s a r e d e s c r i b e d
0031240 w i t h r e s p e c t t o
0031260 t h e b o t t o m o r \r / /
0031300 w i r i n g s i d e o f
0031320 t h e b o a r d . L e v e l
0031340 T r a n s f o r m f i x e s
0031360 t h e s e a s n e c e s s a
0031400 r y . \r \r g e t " r o u t e .
0031420 d e f s " \r \r m a n i f e s t \r
0031440 [ 032 ( 6 3 5 ) \ f 1 \r r e p e a
0031460 t R o w s = 1 2 \r r e p e a
0031500 t C o l s P e r S i d e = 3
0031520 \r r e p e a t C o l s = 2 *
0031540 r e p e a t C o l s P e r S i d
0031560 e \r f u l l R e p e a t C o 376 001
0031600 \0 246 304 l s P e r S i d e = 2
0031620 \r f u l l R e p e a t C o l s
0031640 = 2 * f u l l R e p e a t C o
0031660 l s P e r S i d e \r r e p e a t
0031700 s = r e p e a t R o w s * r
0031720 e p e a t C o l s \r f u l l R e
0031740 p e a t s = r e p e a t R o
0031760 w s * f u l l R e p e a t C o l
0032000 s \r r o w O f f s e t = 1 6
0032020 \r l e f t C o l s O f f s e t
0032040 = 0 \r r i g h t C o l s O f f
0032060 s e t = 2 4 6 \r r o w H e i
0032100 g h t = 4 2 \r f u l l C o l
0032120 W i d t h = 1 1 2 \r p a t t
0032140 e r n G r o u n d s = 3 * r
0032160 e p e a t s + 6 * f u l l R e p
0032200 e a t 376 001 \0 u 230 s \r S o c k e t
0032220 s 1 6 p i n = 6 * f u l l R
0032240 e p e a t s \r S o c k e t s 2 4
0032260 p i n = 2 * f u l l R e p e
0032300 a t s \r S o c k e t s 5 0 p i n
0032320 = f u l l R e p e a t s \r S
0032340 o c k e t s S i p = 3 * f u
0032360 l l R e p e a t s 032 l 4 2 6 9 \
0032400 f 1 \r ] \r \r s t a t i c [ b
0032420 o a r d I n t e r f a c e V e r
0032440 s i o n = i n t e r f a c e
0032460 V e r s i o n ] \r \r l e t F
0032500 i n d I n d e x F r o m C o o r
0032520 d ( x , y , p i c c l a s s
0032540 , p P i n N o ; n u m a r g
0032560 s n a ) = v a l o f \r [ 032
0032600 \ f 1 \r s t a t 376 001 \0 213 v i c
0032620 [ h o t I n d e x = - 1 ;
0032640 f i r s t U n u s e d P i n
0032660 = 0 ] \r \r D e f a u l t A r
0032700 g s ( l v n a , - 2 , l v
0032720 n a , l v n a ) \r \r i f
0032740 f i r s t U n u s e d P i n e
0032760 q 0 t h e n f i r s t U n
0033000 u s e d P i n = F I F C ( -
0033020 1 , - 1 ) \r l e t r e s u l t
0033040 = F I F C ( x , y , p i
0033060 c c l a s s , p P i n N o ) \r
0033100 i f r e s u l t l s 0 %
0033120 r e s u l t g r f i r s t
0033140 U n u s e d P i n t h e n C
0033160 a l l S w a t ( " I l l e g a l
0033200 i n d e x . . " ) \r i f 376 001 \0
0033220 k 350 r e s u l t e q h o t
0033240 I n d e x t h e n C a l l S
0033260 w a t ( " H o t i n d e x c
0033300 o m p u t e d . . . " ) \r r e s
0033320 u l t i s r e s u l t 032 l 4 2
0033340 6 9 \ f 1 \r ] \r \r a n d F I F
0033360 C ( x , y , p i c c l a s s
0033400 , p P i n N o ; n u m a r g
0033420 s n a ) = v a l o f \r [ 032
0033440 \ f 1 \r m a n i f e s t \r [ 032 l
0033460 4 2 6 9 \ f 1 \r f i r s t E P i
0033500 n = 1 \r f i r s t S o c k e
0033520 t G r o u n d = f i r s t E
0033540 P i n + 9 2 + 9 2 \r f i r s t P
0033560 a t t e r n P i n = f i r s
0033600 t S o c k e t G r o u n d + 9 2
0033620 + 9 376 001 \0 241 374 2 \r f i r s t U n
0033640 u s e d P i n = f i r s t P
0033660 a t t e r n P i n + r e p e a t
0033700 R o w s * ( f u l l R e p e a t
0033720 C o l s * 7 * 2 6 + \r r e p e
0033740 a t C o l s * 5 * 2 ) 032 l 5 5 3
0033760 9 \ f 1 \r ] \r \r i f x e q
0034000 - 1 & y e q - 1 t h e
0034020 n r e s u l t i s f i r s t
0034040 U n u s e d P i n \r \r D e f a u
0034060 l t A r g s ( l v n a , - 2
0034100 , l v n a , l v n a ) \r
0034120 \r u n l e s s O f f s e t L e
0034140 g a l ( x , 1 , 0 , 4 7 6
0034160 ) & O f f s e t L e g a l ( y ,
0034200 1 , 0 , 5 2 4 ) d o r
0034220 e s u l t i s 376 001 \0 f 210 0 \r \r
0034240 i f y e q 0 % y e q
0034260 5 2 4 t h e n / / . . c
0034300 o n n e c t o r s i g n a l
0034320 p i n \r [ 032 l 4 2 6 9 \ f 1 \r l
0034340 e t c o n n C l a s s = (
0034360 x - 2 2 ) r e m 1 0 \r i f
0034400 ( c o n n C l a s s n e 0 )
0034420 & ( c o n n C l a s s n e
0034440 4 ) t h e n r e s u l t i
0034460 s 0 \r l e t v p i n = 2
0034500 * ( ( x - 2 2 ) / 1 0 ) + ( c o
0034520 n n C l a s s / 4 ) \r u n l e s
0034540 s O f f s e t L e g a l ( v p
0034560 i n , 1 , 0 , 9 1 ) d o
0034600 r e s u l t i s 0 \r r e s u
0034620 l t i s v p i n + 9 2 376 001 \0 315
0034640 R * ( y / 5 2 4 ) + f i r s t E
0034660 P i n 032 l 5 5 3 9 \ f 1 \r ] \r \r
0034700 i f y e q 4 % y e q
0034720 5 2 0 t h e n / / . . c
0034740 o n n e c t o r g r o u n d
0034760 p i n \r [ 032 l 4 2 6 9 \ f 1 \r l
0035000 e t c o n n C l a s s = (
0035020 x - 2 2 ) r e m 1 0 \r i f
0035040 ( c o n n C l a s s n e 0 )
0035060 & ( c o n n C l a s s n e
0035100 4 ) t h e n r e s u l t i
0035120 s 0 \r l e t v p i n = 2
0035140 * ( ( x - 2 2 ) / 1 0 ) + ( c o
0035160 n n C l a s s / 4 ) \r u n l e s
0035200 s O f f s e t L e g a l ( v p
0035220 i n , 1 , 0 , 9 1 ) d o
0035240 376 001 \0 [ 302 r e s u l t i s 0
0035260 \r l e t c g p = v p i n +
0035300 9 2 * ( y / 5 2 0 ) \r @ p i c c
0035320 l a s s = M u s t F i n d N
0035340 a m e e ( " G N D " , t y p e
0035360 I c c l a s s ) \r @ p P i n N o
0035400 = p a t t e r n G r o u n d
0035420 s + 1 + c g p \r r e s u l t i s
0035440 c g p + f i r s t S o c k e t
0035460 G r o u n d 032 l 5 5 3 9 \ f 1 \r
0035500 ] \r \r l e t s i d e = 0 \r
0035520 i f x g e r i g h t C o l
0035540 s O f f s e t t h e n \r [ 032 l
0035560 4 2 6 9 \ f 1 \r s i d e = 1
0035600 \r x = x - ( r i g h t C o l
0035620 s O f f s e t - l e f t C o l s
0035640 O f f s e t 376 001 \0 \n 274 ) 032 l 5 5
0035660 3 9 \ f 1 \r ] \r l e t x O f f
0035700 s e t = x - l e f t C o l s
0035720 O f f s e t \r u n l e s s O f
0035740 f s e t L e g a l ( x O f f s e
0035760 t , 4 , 0 , 5 7 ) d o
0036000 r e s u l t i s 0 \r l e t x
0036020 R e p e a t = r e p e a t C
0036040 o l s P e r S i d e * s i d e +
0036060 ( x O f f s e t / f u l l C o l
0036100 W i d t h ) \r x O f f s e t =
0036120 x O f f s e t r e m f u l
0036140 l C o l W i d t h \r u n l e s s
0036160 O f f s e t L e g a l ( x O f
0036200 f s e t , 4 , 0 , 2 7 )
0036220 d o r e s u l t i s 0 \r l e
0036240 t y O f f s e t = 376 001 \0 365 g
0036260 y - r o w O f f s e t \r l e t
0036300 y R e p e a t = y O f f s
0036320 e t / r o w H e i g h t \r y O f
0036340 f s e t = y O f f s e t r
0036360 e m r o w H e i g h t \r u n l
0036400 e s s O f f s e t L e g a l (
0036420 y R e p e a t , 1 , 0 , 1
0036440 1 ) & O f f s e t L e g a l ( y
0036460 O f f s e t , 6 , 0 , 6 )
0036500 d o \r r e s u l t i s 0 \r
0036520 \r l e t p i n I n G r o u p
0036540 = 1 \r l e t p r e v G r o u
0036560 p s = r e p e a t R o w s *
0036600 x R e p e a t + y R e p e a t \r
0036620 l e t p r e v F u l l G r o u
0036640 p s = r e p e a t R o w s *
0036660 376 001 \0 " 320 ( x R e p e a t - ( x
0036700 R e p e a t / r e p e a t C o l
0036720 s P e r S i d e ) ) + \r ( x R
0036740 e p e a t r e m r e p e a t
0036760 C o l s P e r S i d e n e f
0037000 u l l R e p e a t C o l s P e r
0037020 S i d e ? y R e p e a t , 0
0037040 ) \r \r s w i t c h o n y O f f
0037060 s e t i n t o \r [ 032 l 4 2 6 9
0037100 \ f 1 \r c a s e 0 : 032 l 5 5 3
0037120 9 \ f 1 \r s w i t c h o n x O
0037140 f f s e t i n t o \r [ 032 l 6 8
0037160 0 9 \ f 1 \r c a s e 8 0 : p
0037200 i n I n G r o u p = p i n I
0037220 n G r o u p + 2 \r c a s e 4 4
0037240 : p i n I n G r o u p = p
0037260 i n I n G 376 001 \0 I 001 r o u p + 2
0037300 \r c a s e 4 : 032 l 8 0 7 9 \ f
0037320 1 \r @ p i c c l a s s = M u
0037340 s t F i n d N a m e e ( " V E E
0037360 " , t y p e I c c l a s s ) \r
0037400 @ p P i n N o = 2 * p r e v
0037420 G r o u p s + 4 * p r e v F u l
0037440 l G r o u p s + \r p i n I n G
0037460 r o u p \r e n d c a s e 032 l 9 3
0037500 4 9 \ f 1 \r \r c a s e 7 6 :
0037520 p i n I n G r o u p = p i n
0037540 I n G r o u p + 3 \r c a s e 4
0037560 0 : 032 l 8 0 7 9 \ f 1 \r p i n I
0037600 n G r o u p = p i n I n G r
0037620 o u p + 3 \r @ p i c c l a s s
0037640 = M u s t F i n d N a m e e (
0037660 " G N D " , t y p 376 001 \0 023 030 e
0037700 I c c l a s s ) \r @ p P i n N o
0037720 = 3 * p r e v G r o u p s +
0037740 6 * p r e v F u l l G r o u p s
0037760 + \r p i n I n G r o u p \r e n
0040000 d c a s e \r 032 l 9 3 4 9 \ f 1 \r
0040020 d e f a u l t : 032 l 8 0 7 9 \ f
0040040 1 \r ] \r e n d c a s e 032 l 6 8 0
0040060 9 \ f 1 \r \r c a s e 6 : \r c a
0040100 s e 3 0 : 032 l 5 5 3 9 \ f 1 \r
0040120 i f x O f f s e t l s 8
0040140 t h e n r e s u l t i s 0 \r
0040160 e n d c a s e 032 l 6 8 0 9 \ f 1
0040200 \r \r c a s e 1 2 : 032 l 5 5 3 9
0040220 \ f 1 \r s w i t c h o n x O f
0040240 f s e t i n t o \r [ 032 l 6 8 0
0040260 9 \ f 1 \r c a s e 7 6 : p 376
0040300 001 \0 031 357 i n I n G r o u p =
0040320 p i n I n G r o u p + 2 \r c a s
0040340 e 7 2 : p i n I n G r o u p
0040360 = p i n I n G r o u p + 1 \r
0040400 c a s e 4 0 : p i n I n G r
0040420 o u p = p i n I n G r o u p
0040440 + 4 \r c a s e 0 : 032 l 8 0 7 9
0040460 \ f 1 \r @ p i c c l a s s =
0040500 M u s t F i n d N a m e e ( " G
0040520 N D " , t y p e I c c l a s s
0040540 ) \r @ p P i n N o = 3 * p r
0040560 e v G r o u p s + 6 * p r e v F
0040600 u l l G r o u p s + \r p i n I
0040620 n G r o u p \r e n d c a s e \r 032
0040640 l 9 3 4 9 \ f 1 \r d e f a u l t
0040660 : 032 l 8 0 7 9 \ f 1 \r ] \r e n d
0040700 c a s e 376 001 \0 u 311 032 l 6 8 0 9 \
0040720 f 1 \r \r c a s e 1 8 : 032 l 5 5
0040740 3 9 \ f 1 \r s w i t c h o n x
0040760 O f f s e t i n t o \r [ 032 l 6
0041000 8 0 9 \ f 1 \r c a s e 4 : 032 l
0041020 8 0 7 9 \ f 1 \r @ p i c c l a s
0041040 s = M u s t F i n d N a m e
0041060 e ( " V D D " , t y p e I c c
0041100 l a s s ) \r @ p P i n N o =
0041120 p r e v G r o u p s + p i n I n
0041140 G r o u p \r e n d c a s e 032 l 9
0041160 3 4 9 \ f 1 \r \r c a s e 1 0 8
0041200 : 032 l 8 0 7 9 \ f 1 \r p i n I n
0041220 G r o u p = p i n I n G r o
0041240 u p + 2 \r @ p i c c l a s s =
0041260 M u s t F i n d N a m e e ( "
0041300 V T T " , t y p 376 001 \0 \b 177 e I
0041320 c c l a s s ) \r @ p P i n N o
0041340 = 3 * p r e v F u l l G r o u
0041360 p s + p i n I n G r o u p \r e n
0041400 d c a s e \r 032 l 9 3 4 9 \ f 1 \r
0041420 d e f a u l t : 032 l 8 0 7 9 \ f
0041440 1 \r ] \r e n d c a s e 032 l 6 8 0
0041460 9 \ f 1 \r \r c a s e 2 4 : 032 l
0041500 5 5 3 9 \ f 1 \r s w i t c h o n
0041520 x O f f s e t i n t o \r [ 032
0041540 l 6 8 0 9 \ f 1 \r c a s e 0 :
0041560 032 l 8 0 7 9 \ f 1 \r p i n I n G
0041600 r o u p = p i n I n G r o u
0041620 p + 1 \r @ p i c c l a s s =
0041640 M u s t F i n d N a m e e ( " G
0041660 N D " , t y p e I c c l a s s
0041700 ) \r @ p P i n N o = 3 * 376 001
0041720 \0 333 023 p r e v G r o u p s + 6 *
0041740 p r e v F u l l G r o u p s + \r
0041760 p i n I n G r o u p \r e n d c
0042000 a s e 032 l 9 3 4 9 \ f 1 \r \r c a
0042020 s e 8 0 : p i n I n G r o u
0042040 p = p i n I n G r o u p + 2
0042060 \r c a s e 4 4 : p i n I n G
0042100 r o u p = p i n I n G r o u
0042120 p + 2 \r c a s e 4 : 032 l 8 0 7
0042140 9 \ f 1 \r p i n I n G r o u p
0042160 = p i n I n G r o u p + 1 \r @
0042200 p i c c l a s s = M u s t F
0042220 i n d N a m e e ( " V E E " ,
0042240 t y p e I c c l a s s ) \r @ p P
0042260 i n N o = 2 * p r e v G r o
0042300 u p s + 4 * p r e v F u l l G r
0042320 o u p 376 001 \0 | 360 s + \r p i n I
0042340 n G r o u p \r e n d c a s e 032 l
0042360 9 3 4 9 \ f 1 \r \r c a s e 7 6
0042400 : p i n I n G r o u p = p
0042420 i n I n G r o u p + 1 \r c a s e
0042440 4 0 : 032 l 8 0 7 9 \ f 1 \r @ p
0042460 i c c l a s s = M u s t F i
0042500 n d N a m e e ( " V T T " , t
0042520 y p e I c c l a s s ) \r @ p P i
0042540 n N o = 3 * p r e v F u l l
0042560 G r o u p s + p i n I n G r o u
0042600 p \r e n d c a s e \r 032 l 9 3 4 9
0042620 \ f 1 \r d e f a u l t : 032 l 8 0
0042640 7 9 \ f 1 \r ] \r e n d c a s e 032
0042660 l 6 8 0 9 \ f 1 \r \r c a s e 3
0042700 6 : 032 l 5 5 3 9 \ f 1 \r s w i t
0042720 c h o n x O f 376 001 \0 343 O f s e
0042740 t i n t o \r [ 032 l 6 8 0 9 \ f
0042760 1 \r c a s e 0 : 032 l 8 0 7 9 \
0043000 f 1 \r @ p i c c l a s s = M
0043020 u s t F i n d N a m e e ( " V C
0043040 C " , t y p e I c c l a s s )
0043060 \r @ p P i n N o = p r e v G
0043100 r o u p s + p i n I n G r o u p
0043120 \r e n d c a s e 032 l 9 3 4 9 \ f
0043140 1 \r \r c a s e 1 0 8 : p i n
0043160 I n G r o u p = p i n I n G
0043200 r o u p + 6 \r c a s e 4 : 032 l
0043220 8 0 7 9 \ f 1 \r p i n I n G r o
0043240 u p = p i n I n G r o u p +
0043260 2 \r @ p i c c l a s s = M u
0043300 s t F i n d N a m e e ( " G N D
0043320 " , t y p e I c c l a s 376 001 \0
0043340 \v J s ) \r @ p P i n N o = 3
0043360 * p r e v G r o u p s + 6 * p r
0043400 e v F u l l G r o u p s + \r p
0043420 i n I n G r o u p \r e n d c a s
0043440 e \r 032 l 9 3 4 9 \ f 1 \r d e f a
0043460 u l t : 032 l 8 0 7 9 \ f 1 \r ] \r
0043500 e n d c a s e 032 l 6 8 0 9 \ f 1
0043520 \r \r d e f a u l t : r e s u l
0043540 t i s 0 032 l 5 5 3 9 \ f 1 \r ]
0043560 \r \r l e t c o l B a s e =
0043600 ( x R e p e a t / 3 ) * r e p e
0043620 a t R o w s * ( ( f u l l R e p
0043640 e a t C o l s / 2 ) * 7 * 2 6 +
0043660 \r ( r e p e a t C o l s / 2 )
0043700 * 5 * 2 ) + ( x R e p e a t r
0043720 e m 3 ) * r e p e a t R o w s
0043740 * ( 376 001 \0 324 347 7 * 2 6 + 5 * 2 )
0043760 \r l e t r o w B a s e = y
0044000 R e p e a t * ( ( x R e p e a t
0044020 r e m 3 e q 2 ) ? 5 *
0044040 2 , 7 * 2 6 + 5 * 2 ) \r \r r e
0044060 s u l t i s f i r s t P a t t
0044100 e r n P i n + c o l B a s e + r
0044120 o w B a s e + ( x O f f s e t /
0044140 4 ) + \r ( x R e p e a t r e
0044160 m 3 l s 2 ? \r s e l e
0044200 c t o n y O f f s e t i n t
0044220 o \r [ 032 l 4 2 6 9 \ f 1 \r c a s
0044240 e 0 : 0 \r c a s e 6 : 2
0044260 8 - 2 \r c a s e 1 2 : 2 8 +
0044300 2 6 \r c a s e 1 8 : 2 8 + 2
0044320 6 + 2 8 \r c a s e 2 4 : 2 8
0044340 + 2 6 + 2 8 + 376 \0 345 244 333 2 8 \r c
0044360 a s e 3 0 : 2 8 + 2 6 + 2 8
0044400 + 2 8 + 2 8 - 2 \r c a s e 3 6
0044420 : 2 8 + 2 6 + 2 8 + 2 8 + 2 8
0044440 + 2 6 032 l 5 5 3 9 \ f 1 \r ] , \r
0044460 s e l e c t o n y O f f s
0044500 e t i n t o \r [ 032 l 4 2 6 9 \
0044520 f 1 \r c a s e 0 : 0 \r c a s
0044540 e 6 : 2 - 2 \r c a s e 1 2
0044560 : 2 \r c a s e 1 8 : 2 + 2
0044600 \r c a s e 2 4 : 2 + 2 + 2 \r
0044620 c a s e 3 0 : 2 + 2 + 2 + 2
0044640 - 2 \r c a s e 3 6 : 2 + 2 +
0044660 2 + 2 032 l 5 5 3 9 \ f 1 \r ] \r )
0044700 032 l 4 2 6 9 \ f 1 \r ] \r 032 \ f 1
0044720 \r 377 \0 \0 r o u t e m w l b h o l
0044740 e s . b c p l \0 373 223 b 004 351 \0 \0 376
0044760 001 \0 \r k / / r o u t e m w l b h
0045000 o l e s . b c p l \r \r / / B o
0045020 a r d - s p e c i f i c R o u
0045040 t e e x t r a - h o l e r o
0045060 u t i n e s f o r t h e M
0045100 u l t i - W i r e v e r s i o
0045120 n o f t h e \r / / D o r a
0045140 d o M a i n L o g i c B o
0045160 a r d \r \r / / l a s t m o d
0045200 i f i e d b y E . M c C r
0045220 e i g h t , M a y 1 0 , 1
0045240 9 7 9 9 : 3 3 P M \r / /
0045260 t o c o r r e c t V D D /
0045300 V T T b u s b a r w i r i
0045320 n g r e v e r s a l \r \r g e t
0045340 " r o u t e . d e f s " \r \r e
0045360 x t e r 376 001 \0 6 307 n a l [ P
0045400 i n 1 o f 1 6 ] \r \r s t a t i
0045420 c [ b o a r d I n t e r f a
0045440 c e V e r s i o n = i n t e
0045460 r f a c e V e r s i o n ] \r \r
0045500 \r l e t C o m p u t e M W C o
0045520 o r d s ( p x , p y , i s M
0045540 i l s ) b e \r [ 032 ( 6 3 5 ) \
0045560 f 1 \r u n l e s s i s M i l s
0045600 d o \r [ 032 l 4 2 6 9 \ f 1 \r @
0045620 p x = 2 5 * @ p x \r @ p y
0045640 = 2 5 * @ p y 032 l 5 5 3 9 \ f
0045660 1 \r ] \r \r / / T h e b o a r
0045700 d , \r / / v i e w e d i n
0045720 s t a n d a r d o r i e n t a
0045740 t i o n w i t h a 0 1 a t
0045760 t o p l e f t 376 001 \0 322 275 a
0046000 n d l 0 1 a t t o p \r / /
0046020 r i g h t , i s d e s c r
0046040 i b e d w i t h y i n c r
0046060 e a s i n g u p w a r d a n
0046100 d x i n c r e a s i n g \r /
0046120 / t o t h e r i g h t a
0046140 n d t h e 0 , 0 o r i g i
0046160 n a t b o t t o m l e f t
0046200 o f f t h e b o a r d .
0046220 \r \r @ p x = 1 1 0 0 + @ p x
0046240 \t / / o f f s e t t h e x
0046260 c o - o r d i n a t e b y
0046300 1 . 1 i n c h e s \r @ p y =
0046320 1 4 4 0 0 - @ p y \t / / r e
0046340 v e r s e t h e y c o - o
0046360 r d i n a t e a n d o f 376 001
0046400 \0 231 ! f s e t 1 4 . 4 i n c
0046420 h e s \r \r / / L o c a t i o
0046440 n a 0 1 p i n 1 i s n
0046460 o w a t x = 2 0 0 0 , y =
0046500 1 4 0 0 0 \r \r @ p x = @ p x
0046520 + 2 5 - ( ( @ p x + 2 5 ) r e
0046540 m 5 0 ) / / r o u n d t
0046560 o n e a r e s t o n - g r i
0046600 d p o i n t \r @ p y = @ p
0046620 y + 2 5 - ( ( @ p y + 2 5 ) r
0046640 e m 5 0 ) 032 l 4 2 6 9 \ f 1
0046660 \r ] \r \r a n d D e s c r i b e
0046700 H o l e s ( P r i n t A H o l e
0046720 ) b e \r [ 032 \ f 1 \r m a n i f
0046740 e s t [ p l a t e d = t
0046760 r u e ; u n p l a t e d =
0047000 n o t 376 001 \0 250 204 p l a t e d
0047020 ] \r m a n i f e s t \r [ 032 l 4 2
0047040 6 9 \ f 1 \r s o c k e t H o l e
0047060 S i z e = 4 1 / / m i l
0047100 s , a f t e r p l a t i n g
0047120 & s o l d e r c o a t \r s
0047140 c r e w H o l e S i z e = 1
0047160 4 4 / / m i l s , u n p l
0047200 a t e d 032 l 5 5 3 9 \ f 1 \r ] \r
0047220 m a n i f e s t [ l e f t B
0047240 u s B a r C e n t e r x = -
0047260 1 4 ; r i g h t B u s B a r C
0047300 e n t e r x = 4 8 8 ] \r \r
0047320 l e t x , y = n i l , n i
0047340 l \r \r f o r x = 0 t o 5 9
0047360 9 d o f o r y = 0 t o
0047400 5 9 9 d o i 376 001 \0 \f 222 f F
0047420 i n d I n d e x F r o m C o o r
0047440 d ( x , y ) n e 0 t h e n
0047460 \r [ 032 l 4 2 6 9 \ f 1 \r l e t
0047500 c l a s s , p i n = e m p t
0047520 y , 0 \r F i n d I n d e x F r o
0047540 m C o o r d ( x , y , l v
0047560 c l a s s , l v p i n ) \r P
0047600 r i n t A H o l e ( x , y ,
0047620 s o c k e t H o l e S i z e ,
0047640 p l a t e d , f a l s e , c
0047660 l a s s n e e m p t y ) 032 l
0047700 5 5 3 9 \ f 1 \r ] \r \r f o r r
0047720 o w = 0 t o 1 1 d o \r P
0047740 r i n t A H o l e ( r i g h t B
0047760 u s B a r C e n t e r x - 1 0 ,
0050000 2 8 + 4 2 * r o w , s 376 001 \0
0050020 ] 237 o c k e t H o l e S i z e ,
0050040 p l a t e d , f a l s e ,
0050060 t r u e ) \r / / V D D s t
0050100 r i p f e e d - t h r u h o
0050120 l e s \r \r f o r r o w = 0 t
0050140 o 1 1 d o \r P r i n t A H
0050160 o l e ( l e f t B u s B a r C e
0050200 n t e r x + 1 0 , 3 4 + 4 2 *
0050220 r o w , s o c k e t H o l e S
0050240 i z e , p l a t e d , f a l
0050260 s e , t r u e ) \r / / V T
0050300 T s t r i p f e e d - t h r
0050320 u h o l e s \r \r f o r x = l
0050340 e f t B u s B a r C e n t e r x
0050360 t o r i g h t B u s B a r C
0050400 e n t e r x b y ( r i g h t
0050420 B u 376 001 \0 025 374 s B a r C e n t e
0050440 r x - l e f t B u s B a r C e n
0050460 t e r x ) d o \r [ 032 l 4 2 6 9
0050500 \ f 1 \r f o r r o w = 0 t o
0050520 1 d o f o r h o l e =
0050540 0 t o 1 d o \r P r i n
0050560 t A H o l e ( x - 2 + h o l e *
0050600 4 , r o w * 5 2 4 , s o c k
0050620 e t H o l e S i z e , p l a t
0050640 e d , f a l s e , t r u e )
0050660 \r / / p o w e r b u s f
0050700 e e d - t h r u h o l e s \r \r
0050720 f o r r o w = 0 t o 2 d
0050740 o \r P r i n t A H o l e ( x ,
0050760 1 6 + r o w * 2 4 6 , s c r
0051000 e w H o l e S i z e , u n p l
0051020 a t e d , f 376 \0 D 207 327 a l s e
0051040 , t r u e ) \r / / b u s
0051060 b a r m o u n t i n g s c r
0051100 e w s 032 l 5 5 3 9 \ f 1 \r ] 032 l
0051120 4 2 6 9 \ f 1 \r ] \r \r 032 \ f 1 \r
0051140 374
0051141