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