home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HAM Radio 1
/
HamRadio.cdr
/
tech
/
design2
/
net85.asc
< prev
next >
Wrap
Text File
|
1986-10-27
|
15KB
|
516 lines
10 ' *** NET*85 ***
20 ' SEE EDN FEB 4, 1981 PP 126-133
30 ' TRANSLATED TO MICROSOFT BASIC BY R.B. KOLBLY
35 ' DISK FILES FOR SAVING AND RESTORING NETWORKS ADDED
36 ' DATA FILE OUTPUT CAPABILITY ADDED
40 ' GOLDEN RULE SYSTEMS - FEBRUARY 22,1985
50 P$="FREQ= ##.####^^^^ AMPL= ##.##^^^^ 20LOG= ####.# PHASE= ####.#"
60 K=INT(FRE(A)/4)-23
70 X=INT((SQR(169+24*K)-26)/12)-1
80 PRINT USING "You have a maximum of ## Nodes Available";X
90 INPUT "Number of Nodes Desired (CR=10)";Y
100 IF X>=10 AND Y=0 THEN X=10:GOTO 140
110 IF X<10 AND Y=0 THEN X=Y:GOTO 140
120 IF Y>X THEN 170
130 IF Y<X THEN X=Y
140 DIM A(X,X),B(X,X),P(X,X),Q(X,X),R(X,X)
150 DIM S(X,X),I(2*X)
160 DIM T(2*X),M(2*X),N(2*X),O(2*X),L(2*X),Z(2*X)
170 PRINT USING "You have selected a maximum of ## nodes";X
180 FOR J=1 TO X
190 FOR I=1 TO X
200 P(I,J)=0
210 Q(I,J)=0
220 R(I,J)=0
230 S(I,J)=0
240 NEXT I
250 NEXT J
260 NODES=X:X=1:T(X)=0
270 N=0
280 PRINT "1 - Resistor 11 - Analyze Network"
290 PRINT "2 - Capacitor 12 - Enable/Disable Printer"
300 PRINT "3 - Inductor 13 - Restore Network from Disk"
310 PRINT "4 - Transmission Line 14 - Save Network to Disk"
320 PRINT "5 - Shorted Stub 15 - Generate ASCII Network File"
330 PRINT "6 - Open Stub 16 - Load Network from ASCII File"
340 PRINT "7 - Operational Amplifier 17 -"
350 PRINT "8 - NPN Transistor 18 -"
360 PRINT "9 - Field-effect Transistor 19 -"
370 PRINT " 10 - End "
410 PRINT
420 R6=0:INPUT "Select from list (<CR> for Menu)";R6
430 IF R6=1 THEN PRINT "(1) Resistor":GOTO 730
440 IF R6=2 THEN PRINT "(2) Capacitor":GOTO 810
450 IF R6=3 THEN PRINT "(3) Inductor":GOTO 770
460 IF R6=4 THEN PRINT "(4) Transmission Line":GOTO 560
470 IF R6=5 THEN PRINT "(5) Shorted Stub":GOTO 690
480 IF R6=6 THEN PRINT "(6) Open Stub":GOTO 710
490 IF R6=7 THEN PRINT "(7) Op Amp":GOTO 990
500 IF R6=8 THEN PRINT "(8) NPN Transistor":GOTO 880
510 IF R6=9 THEN PRINT "(9) FET Transistor":GOTO 840
520 IF R6=10 THEN PRINT "(10) Program Finish":CLS:END
530 IF R6=11 THEN PRINT "(11) Analysis":GOTO 1060
540 IF R6=12 THEN INPUT "(12) Hardcopy Output (Y/N)";H$:GOTO 4700
541 IF R6=13 THEN PRINT "(13) Restore Network from Disk":GOTO 3000
542 IF R6=14 THEN PRINT "(14) Save Network to Disk":GOTO 3500
543 IF R6=15 THEN PRINT "(15) Generate ASCII Network File":GOTO 5000
544 IF R6=16 THEN PRINT "(16) Load Network from ASCII File":GOTO 4000
550 GOTO 280
560 T(X)=1:INPUT "Shield in";M(X):REM *** TRANSMISSION LINE ***
570 INPUT "Center in";I(X):INPUT "Center out";O(X)
580 INPUT "Shield out";N(X):GOTO 610
590 INPUT "Node A";M(X)
600 INPUT "Node B";N(X)
610 INPUT "Z0";Z(X)
620 INPUT "Quarter-wave Frequency (Hz)";L(X)
630 IF I(X)>N THEN N=I(X)
640 IF M(X)>N THEN N=M(X)
650 IF N(X)>N THEN N=N(X)
660 IF O(X)>N THEN N=O(X)
670 X=X+1:T(X)=0
680 GOTO 420
690 T(X)=3: REM *** SHORTED STUB ***
700 GOTO 590
710 T(X)=2: REM *** OPEN STUB ***
720 GOTO 590
730 INPUT "Node A";I:INPUT "Node B";J:INPUT "Resistance (Ohms)";V
740 V=1/V
750 GOSUB 1430
760 GOTO 420
770 INPUT "Node A";I:INPUT "Node B";J:INPUT "Inductance (H)";V
780 V=1/V
790 GOSUB 1360
800 GOTO 420
810 INPUT "Node A";I:INPUT "Node B";J:INPUT "Capacitance (Farads)";V
820 GOSUB 1480
830 GOTO 420
840 INPUT "Gate";K:INPUT "Source";J:INPUT "Drain";I:INPUT "Gaim(Mho)";V
850 L=J
860 GOSUB 1530
870 GOTO 420
880 INPUT "Base";K:INPUT "Emitter";J:INPUT "Collector";I:INPUT "Beta";R5
890 INPUT "Rbe (Ohms)";V
900 V=1/V
910 L=I
920 I=K
930 GOSUB 1430
940 I=L
950 L=J
960 V=V*R5
970 GOSUB 1530
980 GOTO 420
990 INPUT "+In";K:INPUT "-In";L:INPUT "-Out";I:REM *** OP-AMP ***
1000 INPUT "+Out";J:INPUT "Gain(Vo/Vi)";R5:INPUT "Output Resistance(Ohms)";V
1010 V=1/V
1020 GOSUB 1430
1030 V=V*R5
1040 GOSUB 1530
1050 GOTO 420
1060 INPUT "Input Node";E:INPUT "Output Node";F:N=N-1
1070 INPUT "Start,Stop Frequencies (Hz)";G,H
1080 INPUT "# of Data Points";M
1090 INPUT "Frequency Sweep (0 for log, 1 for linear)";R6
1091 PFG=0:INPUT "Do you want output data files";Q$:Q$=LEFT$(Q$,1)
1092 IF Q$="Y" OR Q$="y" THEN GOSUB 7000
1093 IF H$<>"Y" THEN GOTO 1100
1094 IF LEN(H$)=0 THEN GOTO 1100
1095 LPRINT:LPRINT TOP$:LPRINT
1100 D=(H-G)/(M-1)
1110 R4=EXP(LOG(H/G)/(M-1))
1120 R0=G:R9=0
1130 R9=R9+1
1140 W=2*3.14159*R0
1150 O=E:Z=F
1160 GOSUB 2470
1170 GOSUB 2200
1180 V=R5:U=Z
1190 IF (E+F)/2=INT((E+F)/2) THEN 1210
1200 U=U-180
1210 O=E:Z=E
1220 GOSUB 2200
1230 U=U-Z
1240 IF V=0 THEN R7=-999:GOTO 1270
1250 IF R5=0 THEN R7=9999:GOTO 1270
1260 V=V/R5:R7=8.68589*LOG(V)
1270 IF U>180 THEN U=U-360
1280 IF U<-180 THEN U=U+360
1290 PRINT USING P$;R0,V,R7,U
1300 IF H$="Y" THEN LPRINT USING P$;R0,V,R7,U
1302 IF PFG=0 THEN GOTO 1310
1304 GOSUB 7200
1310 IF R6=0 THEN R0=R0*R4
1320 IF R6<>0 THEN R0=R0+D
1330 IF R9<>M THEN 1130
1340 N=N+1
1350 CLOSE:GOTO 420
1360 R(I,I)=R(I,I)+V:REM INDL
1370 R(J,J)=R(J,J)+V
1380 R(I,J)=R(I,J)-V
1390 R(J,I)=R(J,I)-V
1400 IF I>N THEN N=I
1410 IF J>N THEN N=J
1420 RETURN
1430 P(I,I)=P(I,I)+V:REM RESL
1440 P(J,J)=P(J,J)+V
1450 P(I,J)=P(I,J)-V
1460 P(J,I)=P(J,I)-V
1470 GOTO 1400
1480 Q(I,I)=Q(I,I)+V
1490 Q(J,J)=Q(J,J)+V:REM CAPL
1500 Q(I,J)=Q(I,J)-V
1510 Q(J,I)=Q(J,I)-V
1520 GOTO 1400
1530 P(I,K)=P(I,K)+V:REM TRANS
1540 P(J,L)=P(J,L)+V
1550 P(J,K)=P(J,K)-V
1560 P(I,L)=P(I,L)-V
1570 IF K>N THEN N=K
1580 IF L>K THEN N=L
1590 GOTO 1400
1600 IF N>1 THEN 1630: REM COMP
1610 O=A(1,1):Z=B(1,1)
1620 RETURN
1630 O=1
1640 Z=0
1650 K=1
1660 L=K
1670 S=ABS(A(K,K))+ABS(B(K,K))
1680 I=K-1
1690 I=I+1
1700 T=ABS(A(I,K))+ABS(B(I,K))
1710 IF S>=T THEN 1730
1720 L=I:S=T
1730 IF I<>N THEN 1690
1740 IF L=K THEN 1800
1750 J=0
1760 J=J+1
1770 S=-A(K,J):A(K,J)=A(L,J):A(L,J)=S
1780 A=-B(K,J):B(K,J)=B(L,J):B(L,J)=A
1790 IF J<>N THEN 1760
1800 L=K+1:I=L-1
1810 I=I+1
1820 A=A(K,K)*A(K,K)+B(K,K)*B(K,K)
1830 S=(A(I,K)*A(K,K)+B(I,K)*B(K,K))/A
1840 B(I,K)=(A(K,K)*B(I,K)-A(I,K)*B(K,K))/A
1850 A(I,K)=S
1860 IF I<>N THEN 1810
1870 C=K-1
1880 IF C=0 THEN 1960
1890 J=L-1
1900 J=J+1:I=0
1910 I=I+1
1920 A(K,J)=A(K,J)-A(K,I)*A(I,J)+B(K,I)*B(I,J)
1930 B(K,J)=B(K,J)-B(K,I)*A(I,J)-A(K,I)*B(I,J)
1940 IF C<>I THEN 1910
1950 IF J><N THEN 1900
1960 C=K
1970 K=K+1:I=K-1
1980 I=I+1:J=0
1990 J=J+1
2000 A(I,K)=A(I,K)-A(I,J)*A(J,K)+B(I,J)*B(J,K)
2010 B(I,K)=B(I,K)-B(I,J)*A(J,K)-A(I,J)*B(J,K)
2020 IF J<>C THEN 1990
2030 IF I<>N THEN 1980
2040 IF K<>N THEN 1660
2050 L=1
2060 C=INT(N/2)
2070 IF N=2*C THEN 2100
2080 L=0
2090 O=A(N,N):Z=B(N,N)
2100 I=0
2110 I=I+1
2120 J=N-I+L
2130 S=A(I,I)*A(J,J)-B(I,I)*B(J,J)
2140 A=A(I,I)*B(J,J)+A(J,J)*B(I,I)
2150 T=O*S-Z*A
2160 Z=Z*S+O*A
2170 O=T
2180 IF I<>C THEN 2110
2190 RETURN
2200 R5=N:REM DET
2210 N=N-1
2220 I=0
2230 K=0
2240 K=K+1
2250 IF K<>O THEN 2270
2260 I=1
2270 J=0:L=0
2280 L=L+1
2290 IF L<>Z THEN 2310
2300 J=1
2310 A(K,L)=P(K+I,L+J)
2320 B(K,L)=W*Q(K+I,L+J)-R(K+I,L+J)/W+S(K+I,L+J)
2330 IF L<>N THEN 2280
2340 IF K<>N THEN 2240
2350 GOSUB 1600
2360 N=R5
2370 R5=SQR(O*O+Z*Z)
2380 Y=Z
2390 IF O=0 THEN 2450
2400 Z=180/3.14159*ATN(Z/O)
2410 IF O>0 THEN RETURN
2420 Z=Z+SGN(Y)*180
2430 IF Y=0 THEN Z=180
2440 RETURN
2450 Z=90*SGN(Y)
2460 RETURN
2470 IF T(1)=0 THEN RETURN
2480 X=0
2490 R1=0
2500 R1=R1+1:R2=0
2510 R2=R2+1
2520 S(R1,R2)=0
2530 IF R2<>N+1 THEN 2510
2540 IF R1<>N+1 THEN 2500
2550 X=X+1
2560 IF X>20 THEN RETURN
2570 IF T(X)=0 THEN RETURN
2580 IF T(X)=1 THEN 2640
2590 IF T(X)=2 THEN 2830
2600 R1=-1/(Z(X)*TAN(.25*W/L(X)))
2610 Q=M(X):R=N(X)
2620 GOSUB 2870
2630 GOTO 2550
2640 R1=-1/(Z(X)*TAN(.25*W/L(X)))
2650 Q=M(X):R=I(X)
2660 GOSUB 2870
2670 Q=N(X):R=O(X):GOSUB 2870
2680 R1=1/(Z(X)*SIN(.25*W/L(X)))
2690 P=I(X)
2700 R=N(X)
2710 S(R,P)=S(R,P)-R1
2720 S(P,R)=S(P,R)-R1
2730 R=O(X)
2740 S(R,P)=S(R,P)+R1
2750 S(P,R)=S(P,R)+R1
2760 P=M(X)
2770 S(R,P)=S(R,P)-R1
2780 S(P,R)=S(P,R)-R1
2790 R=N(X)
2800 S(R,P)=S(R,P)+R1
2810 S(P,R)=S(P,R)+R1
2820 GOTO 2550
2830 R2=1/(Z(X)*TAN(.25*W/L(X)))
2840 R3=1/(Z(X)*SIN(.25*W/L(X)))
2850 R1=R3*R3/R2-R2
2860 GOTO 2610
2870 S(Q,Q)=S(Q,Q)+R1
2880 S(R,R)=S(R,R)+R1
2890 S(Q,R)=S(Q,R)-R1
2900 S(R,Q)=S(R,Q)-R1
2910 RETURN
2920 END
3000 INPUT "Name of File to load <CR> for Directory";F$:' LOAD FROM FILE
3010 IF LEN(F$)=0 THEN FILES:GOTO 3000
3020 IF F$="B:" THEN FILES "B:*.*":GOTO 3000
3030 IF F$="A:" THEN FILES "A:*.*":GOTO 3000
3040 OPEN "I",#1,F$
3050 INPUT #1,X
3060 ERASE A,B,P,Q,R,S,I,T,M,N,O,L,Z
3070 DIM A(X,X),B(X,X),P(X,X),Q(X,X),R(X,X)
3080 DIM S(X,X),I(2*X)
3090 DIM T(2*X),M(2*X),N(2*X),O(2*X),L(2*X),Z(2*X)
3095 INPUT #1,N
3100 FOR J=1 TO X
3110 INPUT #1,I(J),T(J),M(J),N(J),O(J),L(J),Z(J)
3120 FOR K=1 TO X
3130 INPUT #1,A(J,K),B(J,K),P(J,K),Q(J,K),R(J,K),S(J,K)
3140 NEXT K
3150 NEXT J
3160 CLOSE #1
3170 NODES=X:GOTO 420
3500 INPUT "Name of file to save <CR> for Directory";F$:' SAVE INTO FILE
3510 IF LEN(F$)=0 THEN FILES:GOTO 3500
3520 IF F$="B:" THEN FILES "B:*.*":GOTO 3500
3530 IF F$="A:" THEN FILES "A:*.*":GOTO 3500
3540 OPEN "O",#1,F$
3550 PRINT #1,NODES,N
3600 FOR J=1 TO NODES
3610 PRINT #1,I(J),T(J),M(J),N(J),O(J),L(J),Z(J)
3620 FOR K=1 TO NODES
3630 PRINT #1,A(J,K),B(J,K),P(J,K),Q(J,K),R(J,K),S(J,K)
3640 NEXT K
3650 NEXT J
3660 CLOSE #1
3670 GOTO 420
4000 INPUT "Name of file to load <cr> for directory";F$
4010 IF LEN(F$)=0 THEN FILES:GOTO 4000
4020 OPEN "I",#1,F$
4030 IF EOF(1) THEN CLOSE:GOTO 420
4035 R6$="":INPUT #1,R6$:R6$=LEFT$(R6$,1)
4040 IF R6$="1" THEN GOTO 4320
4050 IF R6$="2" THEN GOTO 4400
4060 IF R6$="3" THEN GOTO 4360
4070 IF R6$="4" THEN GOTO 4150
4080 IF R6$="5" THEN GOTO 4280
4090 IF R6$="6" THEN GOTO 4300
4100 IF R6$="7" THEN GOTO 4580
4110 IF R6$="8" THEN GOTO 4470
4120 IF R6$="9" THEN GOTO 4430
4130 IF EOF(1) THEN 420
4140 GOTO 4030
4150 T(X)=1:INPUT #1,M$:M(X)=VAL(M$):REM *** TRANSMISSION LINE ***
4160 INPUT #1,I$:I(X)=VAL(I$):INPUT #1,O$:O(X)=VAL(O$)
4170 INPUT #1,N$:N(X)=VAL(N$):GOTO 4200
4180 INPUT #1,M$:M(X)=VAL(M$)
4190 INPUT #1,N$:N(X)=VAL(N$)
4200 INPUT #1,Z$:Z(X)=VAL(Z$)
4210 INPUT #1,L$:L(X)=VAL(L$)
4220 IF I(X)>N THEN N=I(X)
4230 IF M(X)>N THEN N=M(X)
4240 IF N(X)>N THEN N=N(X)
4250 IF O(X)>N THEN N=O(X)
4260 X=X+1:T(X)=0
4270 GOTO 4030
4280 T(X)=3: REM *** SHORTED STUB ***
4290 GOTO 4180
4300 T(X)=2: REM *** OPEN STUB ***
4310 GOTO 4180
4320 INPUT #1,I$:I=VAL(I$):INPUT #1,J$:J=VAL(J$):INPUT #1,V$:V=VAL(V$)
4330 V=1/V
4340 GOSUB 1430
4350 GOTO 4030
4360 INPUT #1,I$:I=VAL(I$):INPUT #1,J$:J=VAL(J$):INPUT #1,V$:V=VAL(V$)
4370 V=1/V
4380 GOSUB 1360
4390 GOTO 4030
4400 INPUT #1,I$:I=VAL(I$):INPUT #1,J$:J=VAL(J$):INPUT #1,V$:V=VAL(V$)
4410 GOSUB 1480
4420 GOTO 4030
4430 INPUT #1,K$:K=VAL(K$):INPUT #1,J$:J=VAL(J$):INPUT #1,I$:I=VAL(I$):INPUT #1,V$:V=VAL(V$)
4440 L=J
4450 GOSUB 1530
4460 GOTO 4030
4470 INPUT "BASE";K:INPUT #1,J$:J=VAL(J$):INPUT #1,I$:I=VAL(I$):INPUT #1,R$:R5=VAL(R$)
4480 INPUT #1,V$:V=VAL(V$)
4490 V=1/V
4500 L=I
4510 I=K
4520 GOSUB 1430
4530 I=L
4540 L=J
4550 V=V*R5
4560 GOSUB 1530
4570 GOTO 4030
4580 INPUT #1,K$:K=VAL(K$):INPUT #1,L$:L=VAL(L$):INPUT #1,I$:I=VAL(I$)
4590 INPUT #1,J$:J=VAL(J$):INPUT #1,R$:R5=VAL(R$):INPUT #1,V$:V=VAL(V$)
4600 V=1/V
4610 GOSUB 1430
4620 V=V*R5
4630 GOSUB 1530
4640 GOTO 4030
4700 H$=LEFT$(H$,1)
4710 IF H$="y" THEN H$="Y"
4720 IF H$<>"Y" THEN GOTO 420
4730 LINE INPUT "Header for hardcopy output? ";TOP$
4740 GOTO 420
5000 INPUT "Name of file (<cr> for Directory)";F$
5010 IF LEN(F$)=0 THEN FILES:GOTO 5000
5020 OPEN "O",#1,F$
5200 PRINT "1 RESISTOR"
5210 PRINT "2 CAPACITOR"
5220 PRINT "3 INDUCTOR"
5230 PRINT "4 TRANSMISSION LINE"
5240 PRINT "5 SHORTED STUB"
5250 PRINT "6 OPEN STUB"
5260 PRINT "7 OPERATIONAL AMPLIFIER"
5270 PRINT "8 NPN TRANSISTOR"
5280 PRINT "9 FIELD-EFFECT TRANSISTOR"
5290 PRINT "10 STOP"
5360 R6=0:INPUT "SELECT FROM LIST";R6:R6$=STR$(R6)
5370 IF R6=1 THEN PRINT "(1) RESISTOR":GOTO 5690
5380 IF R6=2 THEN PRINT "(2) CAPACITOR":GOTO 5770
5390 IF R6=3 THEN PRINT "(3) INDUCTOR":GOTO 5730
5400 IF R6=4 THEN PRINT "(4) TRANSMISSION LINE":GOTO 5520
5410 IF R6=5 THEN PRINT "(5) SHORTED STUB":GOTO 5650
5420 IF R6=6 THEN PRINT "(6) OPEN STUB":GOTO 5670
5430 IF R6=7 THEN PRINT "(7) OP AMP":GOTO 5950
5440 IF R6=8 THEN PRINT "(8) NPN TRANSISTOR":GOTO 5840
5450 IF R6=9 THEN PRINT "(9) FET TRANSISTOR":GOTO 5800
5460 IF R6=10 THEN PRINT "(10) FILE COMPLETED":CLOSE #1:GOTO 420
5510 GOTO 5360
5520 INPUT "SHIELD IN";M$:REM *** TRANSMISSION LINE ***
5530 INPUT "CENTER IN";I$:INPUT "CENTER OUT";O$
5531 PRINT #1,R6$+" * TRANSMISSION LINE"
5532 PRINT #1,M$
5533 PRINT #1,I$
5534 PRINT #1,O$
5540 INPUT "SHIELD OUT";N$:PRINT #1,N$:GOTO 5570
5550 INPUT "NODE A";M$:PRINT #1,M$
5560 INPUT "NODE B";N$:PRINT #1,N$
5570 INPUT "Z0";Z$:PRINT #1,Z$
5580 INPUT "QUARTER-WAVE FREQUENCY (HZ)";L$:PRINT #1,L$
5640 GOTO 5360
5650 REM *** SHORTED STUB ***
5655 PRINT #1,R6$+" * SHORTED STUB"
5660 GOTO 5550
5670 PRINT #1,R6$+" * OPEN STUB":REM *** OPEN STUB ***
5680 GOTO 5550
5690 INPUT "NODE A";I$:INPUT "NODE B";J$:INPUT "RESISTANCE (OHMS)";V$
5700 PRINT #1,R6$+" * RESISTOR"
5702 PRINT #1,I$
5704 PRINT #1,J$
5706 PRINT #1,V$
5720 GOTO 5360
5730 INPUT "NODE A";I$:INPUT "NODE B";J$:INPUT "INDUCTANCE (H)";V$
5740 PRINT #1,R6$+" * INDUCTOR"
5742 PRINT #1,I$
5744 PRINT #1,J$
5746 PRINT #1,V$
5760 GOTO 5360
5770 INPUT "NODE A";I$:INPUT "NODE B";J$:INPUT "CAPACITANCE (FARADS)";V$
5775 PRINT #1,R6$+" * CAPACITOR"
5790 GOTO 5742
5800 INPUT "GATE";K$:INPUT "SOURCE";J$:INPUT "DRAIN";I$:INPUT "GAIN(MHO)";V$
5810 PRINT #1,R6$+" * FET"
5812 PRINT #1,K$
5814 PRINT #1,J$
5816 PRINT #1,I$
5818 PRINT #1,V$
5830 GOTO 5360
5840 INPUT "BASE";K$:INPUT "EMITTER";J$:INPUT "COLLECTOR";I$:INPUT "BETA";R5$
5850 INPUT "Rbe (OHMS)";V$
5860 PRINT #1,R6$+" * NPN TRANSISTOR"
5861 PRINT #1,K$
5862 PRINT #1,J$
5863 PRINT #1,I$
5864 PRINT #1,R5$
5865 PRINT #1,V$
5940 GOTO 5360
5950 INPUT "+IN";K$:INPUT "-IN";L$:INPUT "-OUT";I$:REM *** OP-AMP ***
5960 INPUT "+OUT";J$:INPUT "GAIN(V/V)";R5$:INPUT "OUTPUT RESISTANCE(OHMS)";V$
5970 PRINT #1,R6$+" * OP-AMP"
5972 PRINT #1,K$
5974 PRINT #1,L$
5976 PRINT #1,I$
5978 PRINT #1,J$
5980 PRINT #1,R5$
5990 PRINT #1,V$
6010 GOTO 5360
7000 DIM FL$(4,2)
7010 FOR J=1 TO 4:READ FL$(J,1):FL$(J,2)="N":NEXT J
7020 FOR J=1 TO 4
7030 IF FL$(J,2)="Y" THEN GOTO 7050
7040 PRINT STR$(J)+"- "+FL$(J,1)
7050 NEXT J
7060 PRINT
7070 INPUT "Choice (enter <cr> or 0 to exit)";C:C=INT(C)
7080 IF FL$(C,2)="Y" THEN PRINT "Already Selected!":GOTO 7070
7090 IF C=0 THEN RETURN
7100 PFG=1:INPUT "Name of Data File (<cr> for Directory)";F$
7110 IF LEN(F$)=0 THEN FILES:GOTO 7100
7120 FL$(C,2)="Y":OPEN "O",C,F$
7130 GOTO 7020
7140 DATA "Amplitude versus Frequency","Phase versus Frequency"
7150 DATA "Amplitude,Phase versus Frequency","Amplitude versus Phase"
7160 CLOSE
7200 FOR JJ=1 TO 4
7210 IF FL$(JJ,2)="N" THEN GOTO 7270
7220 ON JJ GOTO 7230,7240,7250,7260
7230 WRITE #1,R0,V:GOTO 7270
7240 WRITE #2,R0,U:GOTO 7270
7250 WRITE #3,R0,V,U:GOTO 7270
7260 WRITE #4,V,U
7270 NEXT JJ
7280 RETURN