100 REM ******************************************************************** 110 REM * RF NETWORK ANALYSIS PROGRAM * 120 REM * by KENNETH D. WYATT * 130 REM * CONVERTED TO CP/M BY WILLIAM L. MUNSON * 140 REM * VERSION 1.0 CP/M - SEPT. 26 1987 * 150 REM ******************************************************************** 160 MS=30:PP=150:L=1E-09:C=1E-12:CM=2.54:FR=1000000!:REM MS=# SECTIONS 170 DIM R(MS),L(MS),C(MS),ST(MS),N(7),ET(MS) 175 CLS$=CHR$(14)+CHR$(28):REM +++++STRING SENT TO CLEAR TERMINAL SCREEN+++++ 180 PRINT CLS$:PRINT:PRINT " RF NETWORK ANALYSIS PROGRAM - VER 1.0 CP/M" 185 GOTO 3000:REM JUMP TO THE NEW/OLD FILE ROUTINE 190 PRINT:GOSUB 2810:PRINT "1) UNITS ARE OHMS, NH, PF, Mhz, AND INCHES":? 200 PRINT "2) MAXIMUM NUMBER OF SECTIONS IS 30.":PRINT 210 PRINT "3) IL(DB)=INSERTION LOSS IN DB.":PRINT 220 PRINT "4) RL(DB)=RETURN LOSS IN DB.":PRINT 230 PRINT "5) VSWR =VOLTAGE STANDING WAVE RATIO.":PRINT 240 PRINT "6) RHO =REFLECTION COEFFICIENT.":PRINT 250 PRINT "7) ZIN(R)=REAL PART OF INPUT IMPEDANCE.":PRINT 260 PRINT "8) ZIN(I)=IMAG PART OF INPUT IMPEDANCE.":PRINT 270 REM *********************** DATA INPUT ********************************** 280 FOR I=1 TO 30:R(I)=0:C(I)=0:L(I)=0:NEXT I:GOSUB 2810 290 PRINT:PRINT "HOW MANY SECTIONS (MAX=30)":INPUT "(DON'T COUNT LOADS)";NS 300 IF NS>30 OR NS<1 THEN 290 310 PRINT:INPUT "SOURCE RESISTANCE (OHMS) = ";M:GOSUB 2830:RS=M 330 FOR N=1 TO NS 340 PRINT:GOSUB 2810:PRINT:PRINT "ENTER ELEMENT TYPE FOR SECTION ";N:GOSUB 2560 350 INPUT "ELEMENT TYPE (1-17)";ET(N) 360 IF ET(N)<1 OR ET(N)>17 THEN 340 370 IF ET(N)<3 THEN 430 380 IF ET(N)>2 AND ET(N)<5 THEN 450 390 IF ET(N)>4 AND ET(N)<7 THEN 440 400 IF ET(N)>6 AND ET(N)<12 THEN 460 410 IF ET(N)>11 AND ET(N)<17 THEN 490 420 IF ET(N)=17 THEN 680:REM XFMR MODEL 430 PRINT "R";N;"(OHMS) = ";:INPUT M:GOSUB 2830:R(N)=M:GOTO 690 440 PRINT "C";N;" (PF) = ";:INPUT M:GOSUB 2830:C(N)=M:GOTO 690 450 PRINT "L";N;" (NH) = ";:INPUT M:GOSUB 2830:L(N)=M:GOTO 690 460 PRINT "R";N;"(OHMS) = ";:INPUT M:GOSUB 2830:R(N)=M 470 PRINT "L";N;" (NH) = ";:INPUT M:GOSUB 2830:L(N)=M 480 PRINT "C";N;" (PF) = ";:INPUT M:GOSUB 2830:C(N)=M:GOTO 690 490 GOSUB 2860:C(N)=INT(DC*100+.5)/100:REM PRINT DIELECTRIC CONST. CHART 500 PRINT "ARE THE LINES/STUBS IN:":PRINT:PRINT "(1) PHYSICAL DIMENSIONS, OR" 510 INPUT "(2) ELECTRICAL PARAMETERS ";PE 520 IF PE<1 OR PE>2 THEN 500 530 IF PE=2 THEN 630 540 PRINT:INPUT "ENTER THE WIDTH (IN) = ";M:GOSUB 2830:W=M 550 INPUT "ENTER THE LENGTH (IN) = ";M:GOSUB 2830:L(N)=INT(M*100+.5)/100 560 INPUT "ENTER BOARD THICKNESS (IN) = ";M:GOSUB 2830:TH=M 570 IF W/TH>1 THEN 600 580 EF=((C(N)+1/2)+((C(N)-1)/2)*((1+12*(TH/W))^(-.5)+.04*(1-W/TH)^2) 590 ZO=(60/SQR(EF))*LOG(8*TH/W+.25*W/TH):R(N)=INT(ZO*100+.5)/100:GOTO 770 600 EF=((C(N)+1)/2)+((C(N)-1)/2)*(1+12*(TH/W))^(-.5) 610 ZO=(120*3.14159/SQR(EF))/(W/TH+1.393+.667*LOG(W/TH+1.444)) 620 R(N)=INT(ZO*100+.5)/100:GOTO 690 630 PRINT:INPUT "ENTER CHAR. IMPEDANCE (OHMS) = ";M:GOSUB 2830:R(N)=M 640 R(N)=INT(M*100+.5)/100 650 INPUT "ENTER ELECTRICAL LENGTH (DEGS) = ";M:GOSUB 2830:DE=M 660 INPUT "ENTER CENTER FREWUENCY (Mhz) = ";M:GOSUB 2830:FO=M 670 L(N)=(DE*3E+10)/(C(N)*FO*FR*360):L(N)=INT(L(N)*100+.5)/100:GOTO 690 680 INPUT "TURNS RATIO (N) = ";M:GOSUB 2830:TR=M:GOTO 690 690 NEXT N 700 PRINT:GOSUB 2810:PRINT:INPUT "LOAD RESISTANCE (OHMS) = ";M:GOSUB 2830:RL=M 710 PRINT:PRINT "EDIT ELEMENTS (Y/N)";:INPUT Q1$:IF Q1$="N" OR Q1$="n" THEN 730 720 GOTO 1170 730 REM **************** DEFINE OR EDIT FREQUENCY **************************** 740 IF MF<>0 THEN ?:INPUT "SAME FREQ RANGE (Y/N)";Q$:IF Q$="Y" OR Q$="y" THEN 780 750 PRINT CLS$:PRINT:INPUT "MINIMUM FREQUENCY (Mhz) = ";MF:PRINT 760 INPUT "DELTA FREQUENCY (Mhz) = ";DF 770 PRINT:INPUT "NUMBER OF STEPS ( <150 ) = ";NF:NF=NF-1:IF NF>PP THEN 770 780 PRINT:INPUT "OUTPUT TO (S)CREEN OR (P)RINTER ";Q1$:? CLS$:IF Q1$="S" OR Q1$="s" THEN 830 790 GOSUB 2680:IF Q1$="p" THEN Q1$="P":REM *** PRINT ELEMENT LIST *** 800 REM ****************** DATA OUTPUT *************************************** 810 LPRINT "FREQ(Mhz)";TAB(14);"IL(DB)";TAB(23);"RL(DB)";TAB(33);"VSWR"; 820 LPRINT TAB(43);"RHO";TAB(50);"ZIN(R)";TAB(59);"ZIN(I)":LPRINT 830 PRINT "FREQ(Mhz)";TAB(14);"IL(DB)";TAB(23);"RL(DB)";TAB(33);"VSWR"; 840 PRINT TAB(43);"RHO";TAB(50);"ZIN(R)";TAB(59);"ZIN(I)" 850 CO=MF+DF*NF*FR 860 FOR K=0 TO NF 870 F=(MF+K*DF)*FR:W=2*3.14159*F 880 A1=1:D1=1:A4=0:B1=0:B4=0:C1=0:C4=0:D4=0 890 REM ******************** CALCULATE GAIN AND IMPEDANCES ******************* 900 FOR N=1 TO NS 910 ON ET(N) GOTO 1620,1630,1640,1650,1660,1670,1680,1700,1740,1770,1790,1820,1840,1860,1880,1900,1920 920 REM ***************** MULTIPLY ABCD MATRICES ***************************** 930 A3=A1*RA-A4*IA+B1*RC-B4*IC:A6=A1*IA+A4*RA+B1*IC+B4*RC 940 B3=A1*RB-A4*IB+B1*RD-B4*ID:B6=A1*IB+A4*RB+B1*ID+B4*RD 950 C3=C1*RA-C4*IA+D1*RC-D4*IC:C6=C1*IA+C4*RA+D1*IC+D4*RC 960 D3=C1*RB-C4*IB+D1*RD-D4*ID:D6=C1*IB+C4*RB+D4*RD+D1*ID 970 A1=A3:A4=A6:B1=B3:B4=B6:C1=C3:C4=C6:D1=D3:D4=D6:NEXT N 980 REM ********************* CALCULATE OUTPUT DATA ************************** 990 G=(A3*RL+B3+C3*RS*RL+D3*RS)/RL:H=(A6*RL+B6+C6*RS*RL+D6*RS)/RL 1000 I=SQR(G^2+H^2) 1010 N(2)=INT(-10*LOG(RL*I^2/(4*RS))/LOG(10)*100+.5)/100:REM CALC IL 1020 V1=C3*RL+D3:V2=C6*RL+D6:Q=V1^2+V2^2 1030 N(6)=INT(((A3*RL+B3)*V1+(A6*RL+B6)*V2)/Q*100+.5)/100:REM ZIN(R) 1040 N(7)=INT(((A6*RL+B6)*V1-(A3*RL+B3)*V2)/Q*100+.5)/100:REM ZIN(I) 1050 N(1)=INT(F*1000/1000000!+.5)/1000:REM CALC FREQ 1060 R1=SQR((N(6)-RS)^2+N(7)^2):R2=SQR((N(6)+RS)^2+N(7)^2):RO=R1/R2 1070 IF RO=1 THEN RO=.9999:REM PREVENT RHO FROM REACHING 1.0 1080 N(5)=INT(RO*100+.5)/100:REM CALC RHO 1090 N(3)=-INT(20*LOG(1/RO)/LOG(10)*100+.5)/100:REM CALC RET LOSS 1100 N(4)=INT((1+RO)/(1-RO)*100+.5)/100:REM CALC VSWR 1110 OUTPUT$="":FOR I=1 TO 7:PRINT USING "######.##";N(I);:NEXT:PRINT 1120 IF Q1$="P" THEN FOR I=1 TO 7:LPRINT USING "######.##";N(I);:NEXT:LPRINT 1130 NEXT K:PRINT:X2=N(1):IF Q1$="P" THEN LPRINT CHR$(12):REM TOP OF FORM 1140 INPUT "(1)SWEEP FREQ (2)EDIT ELEMENTS (3)START OVER (4)QUIT OR (5)SAVE";D 1145 IF D=5 THEN GOSUB 3200:GOTO 1140 1150 IF D<1 OR D>4 THEN 1140 1160 ON D GOTO 730,1170,180,2850 1170 REM *********** PRINT ELEMENT TABLE / CHANGE ELEMENTS ****************** 1180 PRINT CLS$:PRINT:PRINT "ELEM";TAB(11);"TYPE";TAB(23);"R";TAB(33);"L";TAB(43);"C" 1185 PRINT TAB(21);"(ZO)";TAB(32);"(L)";TAB(42);"(E)":PRINT:GOSUB 2810:Q$=" " 1190 F$=STR$(RS):PRINT "SOURCE R ";LEFT$(Q$,10-LEN(F$))+F$:FOR J=1 TO NS 1200 OUTPUT$="" 1210 A=ET(J):GOSUB 2970:A=R(J):GOSUB 2970:A=L(J):GOSUB 2970:A=C(J):GOSUB 2970 1220 PRINT J;TAB(5);OUTPUT$ 1230 OUTPUT$="":NEXT J:F$=STR$(RL):PRINT "LOAD R ";LEFT$(Q$,10-LEN(F$))+F$ 1240 GOSUB 2810:PRINT:PRINT "NOTE: R,L,C ARE FOR ELEMENT TYPES 1-11." 1250 PRINT " ZO,L,E ARE FOR ELEMENT TYPES 12-16." 1260 PRINT:GOSUB 2810:PRINT:INPUT "ENTER (S)OURCE, (L)OAD, ELEMENT #, (E)DIT, OR (0)TO SWEEP FREQ";E$:PRINT:IF E$="" THEN 1260 1270 E=VAL(E$):IF E=0 THEN E=ASC(E$) 1280 IF E=83 OR E=115 THEN INPUT "SOURCE RESISTANCE (OHMS) = ";M:GOSUB 2830:RS=M:GOTO 1260 1290 IF E=76 OR E=108 THEN INPUT "LOAD RESISTANCE (OHMS) = ";M:GOSUB 2830:RL=M:GOTO 1260 1300 IF E=48 THEN 730 1310 IF E=69 OR E=101 THEN 1170 1320 IF E>NS THEN 1260 1330 IF E>0 THEN PRINT "ELEMENT TYPE ";ET(E) 1340 ON ET(E) GOTO 1350,1350,1590,1590,1580,1580,1360,1360,1360,1360,1360,1390,1390,1390,1390,1390,1600 1350 PRINT "R";E;"(OHMS) = ";:INPUT M:GOSUB 2830:R(E)=M:GOTO 1260 1360 PRINT "R";E;"(OHMS) = ";:INPUT M:GOSUB 2830:R(E)=M 1370 PRINT "L";E;" (NH) = ";:INPUT M:GOSUB 2830:L(E)=M 1380 PRINT "C";E;" (PF) = ";:INPUT M:GOSUB 2830:C(E)=M:GOTO 1260 1390 GOSUB 2860:C(E)=INT(DC*100+.5)/100:REM PRINT DIELECTRIC CONST. CHART 1400 PRINT "ARE THE LINES/STUBS IN:":PRINT:PRINT "(1) PHYSICAL DIMENSIONS, OR" 1410 INPUT "(2) ELECTRICAL PARAMETERS ";PE 1420 IF PE<1 OR PE>2 THEN 1410 1430 IF PE=2 THEN 1530 1440 PRINT:INPUT "ENTER THEN WIDTH (IN) = ";M:GOSUB 2830:W=M 1450 INPUT "ENTER THE LENGTH (IN) = ";M:GOSUB 2830:L(E)=INT(M*100+.5)/100 1460 INPUT "ENTER BOARD THICKNESS (IN) = ";M:GOSUB 2830:TH=M 1470 IF W/TH>1 THEN 1500 1480 EF=((C(E)+1/2)+((C(E)-1)/2)*((1+12*(TH/W))^(-.5)+.04*(1-W/TH)^2) 1490 ZO=(60/SQR(EF))*LOG(8*TH/W+.25*W/TH):R(E)=INT(ZO*100+.5)/100:GOTO 1260 1500 EF=((C(E)+1)/2)+((C(E)-1)/2)*(1+12*(TH/W))^(-.5) 1510 ZO=(120*3.14159/SQR(EF))/(W/TH+1.393+.667*LOG(W/TH+1.444)) 1520 R(E)=INT(ZO*100+.5)/100:GOTO 1260 1530 PRINT:INPUT "ENTER CHAR. IMPEDANCE (OHMS) = ";M:GOSUB 2830:R(E)=M 1540 R(E)=INT(M*100+.5)/100 1550 INPUT "ENTER ELECTRICAL LENGTH (DEGS) = ";M:GOSUB 2830:DE=M 1560 INPUT "ENTER CENTER FREQUENCY (Mhz) = ";M:GOSUB 2830:FO=M 1570 L(E)=(DE*3E+10)/(C(E)*FO*FR*360):L(E)=INT(L(E)*100+.5)/100:GOTO 1260 1580 PRINT "C";E;" (PF) = ";:INPUT M:GOSUB 2830:C(E)=M:GOTO 1260 1590 PRINT "L";E;" (NH) = ";:INPUT M:GOSUB 2830:L(E)=M:GOTO 1260 1600 PRINT "T";E;" TURNS RATIO (N) = ";:INPUT M:GOSUB 2830:TR=M:GOTO 1260 1610 REM *************** CALCULATE INDIVIDUAL ABCD MATRICES ***************** 1620 RA=1:IA=0:RB=R(N):IB=0:RC=0:IC=0:RD=1:ID=0:GOTO 920:REM TYPE 1 1630 RA=1:IA=0:RB=0:IB=0:RC=1/R(N):IC=0:RD=1:ID=0:GOTO 920:REM TYPE 2 1640 RA=1:IA=0:RB=0:IB=W*L(N)*L:RC=0:IC=0:RD=1:ID=0:GOTO 920:REM TYPE 3 1650 RA=1:IA=0:RB=0:IB=0:RC=0:IC=-1/(W*L(N)*L):RD=1:ID=0:GOTO 920:REM TYPE 4 1660 RA=1:IA=0:RB=0:IB=-1/(W*C(N)*C):RC=0:IC=0:RD=1:ID=0:GOTO 920:REM TYPE 5 1670 RA=1:IA=0:RB=0:IB=0:RC=0:IC=W*C(N)*C:RD=1:ID=0:GOTO 920:REM TYPE 6 1680 RA=1:IA=0:RB=R(N):IB=W*L(N)*L-1/(W*C(N)*C) 1690 RC=0:IC=0:RD=1:ID=0:GOTO 920:REM TYPE 7 1700 RA=1:IA=0:RB=0:IB=0:V4=W^2*L(N)*L*C(N)*C-1:REM TYPE 8 1710 RC=W^2*(C(N)*C)^2*R(N)/(W^2*(C(N)*C)^2*R(N)^2+(W^2*L(N)*L*C(N)*C-1)^2) 1720 IC=-W*C(N)*C*V4/(W^2*(C(N)*C)^2*R(N)^2+V4^2) 1730 RD=1:ID=0:GOTO 920 1740 RB=W^2*R(N)*(L(N)*L)^2/(W^2*(L(N)*L)^2+R(N)^2*(1-W^2*L(N)*L*C(N)*C)^2) 1750 RA=1:IA=0:T=W^2*(L(N)*L)^2+R(N)^2*(1-W^2*L(N)*L*C(N)*C)^2 1760 IB=W*L(N)*L*R(N)^2*(1-W^2*L(N)*L*C(N)*C)/T:RC=0:IC=0:RD=1:ID=0:GOTO 920 1770 RC=1/R(N):IC=(-1+W^2*L(N)*L*C(N)*C)/(W*L(N)*L):REM TYPE 10 1780 RA=1:IA=0:RB=0:IB=0:RD=1:ID=0:GOTO 920 1790 RB=R(N)/((1-W^2*L(N)*L*C(N)*C)^2+(W*C(N)*C*R(N))^2):REM TYPE 11 1800 IB=W*(L(N)*L*(1-W^2*L(N)*L*C(N)*C)-C(N)*C*R(N)^2)*RB/R(N) 1810 RA=1:IA=0:RC=0:IC=0:RD=1:ID=0:GOTO 920 1820 V3=W*L(N)*CM*C(N)^.5/3E+10:RA=COS(V3):IA=0:RB=0:IB=R(N)*SIN(V3):REM TYPE 12 1830 RC=0:IC=SIN(V3)/R(N):RD=COS(V3):ID=0:GOTO 920 1840 V3=W*L(N)*CM*C(N)^.5/3E+10:REM TYPE 13 1850 RA=1:IA=0:RB=0:IB=0:RC=0:IC=TAN(V3)/R(N):RD=1:ID=0:GOTO 920 1860 V3=W*L(N)*CM*C(N)^.5/3E+10:REM TYPE 14 1870 RA=1:IA=0:RB=0:IB=0:RC=0:IC=-1/(TAN(V3)*R(N)):RD=1:ID=0:GOTO 920 1880 V3=W*L(N)*CM*C(N)^.5/3E+10:REM TYPE 15 1890 RA=1:IA=0:RB=0:IB=-R(N)/TAN(V3):RC=0:IC=0:RD=1:ID=0:GOTO 920 1900 V3=W*L(N)*CM*C(N)^.5/3E+10:REM TYPE 16 1910 RA=1:IA=0:RB=0:IB=R(N)*TAN(V3):RC=0:IC=0:RD=1:ID=0:GOTO 920 1920 RA=TR:IA=0:RB=0:IB=0:RC=0:IC=0:RD=1/TR:ID=0:GOTO 920:REM TYPE 17 2560 REM ****************** MENU SELECTION ******************************** 2570 PRINT:PRINT " (1) SER R (12) TRANSMISSION LINE" 2580 PRINT " (2) PAR R (13) PAR OPEN STUB" 2590 PRINT " (3) SER L (14) PAR SHORT STUB" 2600 PRINT " (4) PAR L (15) SER OPEN STUB" 2610 PRINT " (5) SER C (16) SER SHORT STUB" 2620 PRINT " (6) PAR C (17) TRANSFORMER" 2630 PRINT " (7) SER (S-RLC)" 2640 PRINT " (8) PAR (S-RLC)" 2650 PRINT " (9) SER (P-RLC)" 2660 PRINT "(10) PAR (P-RLC)" 2670 PRINT "(11) SER (S-RL/P-C)":PRINT:RETURN 2680 REM *********** PRINT ELEMENT LIST AT START OF CHART ************** 2690 GOSUB 2820:LPRINT " RF NETWORK ANALYSIS PROGRAM - VER 1.0CPM" 2700 GOSUB 2820:LPRINT:LPRINT "NETWORK LISTING:":LPRINT 2710 LPRINT "ELEM";TAB(11);"TYPE";TAB(23);"R";TAB(33);"L";TAB(43);"C" 2720 LPRINT TAB(21);"(ZO)";TAB(32);"(L)";TAB(42);"(E)":LPRINT:Q$=" " 2730 F$=STR$(RS):LPRINT "SOURCE R "+LEFT$(Q$,10-LEN(F$))+F$:FOR J=1 TO NS 2740 OUTPUT$="" 2750 A=ET(J):GOSUB 2970:A=R(J):GOSUB 2970:A=L(J):GOSUB 2970:A=C(J):GOSUB 2970 2760 LPRINT J;TAB(4);OUTPUT$ 2770 OUTPUT$="":NEXT J:F$=STR$(RL):LPRINT "LOAD R ";LEFT$(Q$,10-LEN(F$))+F$ 2780 LPRINT:LPRINT "NOTE: R,L,C ARE FOR ELEMENT TYPES 1-11." 2790 LPRINT " ZO,L,E ARE FOR ELEMENT TYPES 12-16.":LPRINT 2800 GOSUB 2820:LPRINT:RETURN 2810 PRINT "===========================================":RETURN:REM PRINT LINE 2820 LPRINT " ========================================":RETURN 2830 IF M=0 THEN M=.00001:RETURN:REM ZERO DATA INPUT IS NOT ALLOWED 2840 RETURN 2850 PRINT CLS$:STOP 2860 REM ******************* PRINT OUT DIELECTRIC CONSTANT CHART ************ 2870 PRINT:PRINT "DIELECTRIC CONSTANT CHART:":PRINT 2880 PRINT "AIR 1.00" 2890 PRINT "DUROID 5880 2.20" 2900 PRINT "DUROID 5870 2.23" 2910 PRINT "TEFLON-FIBERGLASS (PTFE) 2.55" 2920 PRINT "FUSED SILICA (QUARTZ) 3.78" 2930 PRINT "G-10 FIBERGLASS 4.50" 2940 PRINT "ALUMINA OR EPSILAM 10 10.00":PRINT 2950 INPUT "ENTER DESIRED DIELECTRIC CONST = ";M:GOSUB 2830:DC=M 2960 PRINT:RETURN 2970 REM ******************* FORMAT ELEMENT TABLE *********************** 2980 F$=STR$(A):P$=LEFT$(Q$,10-LEN(F$)):F$=P$+F$:OUTPUT$=OUTPUT$+F$:RETURN 3000 REM ************* GET DISK FILE ROUTINE **************************** 3010 PRINT:INPUT "DO YOU WANT TO RUN A (S)AVED OR (N)EW NETWORK";Q2$ 3020 IF Q2$="S" OR Q2$="s" THEN GOTO 3040 3030 PRINT CLS$:GOTO 190:REM RETURN TO NETWORK INPUT SECTION 3040 PRINT CLS$:FILES:PRINT:PRINT 3050 PRINT:PRINT "ALL NETWORK FILES HAVE THE EXTENSION OF .NET" 3060 PRINT:PRINT "ENTER THE NAME OF THE NETWORK. (DON'T USE A FILE EXTENSION)" 3070 INPUT "FILENAME:";NA$:IF NA$="" THEN 3040 3080 NA$=NA$+".NET":OPEN "I",1,NA$:REM OPEN DISK FILE 3090 INPUT #1,NS:REM GET NUMBER OF SECTIONS 3100 FOR N=1 TO NS 3110 INPUT #1,ET(N),R(N),L(N),C(N),ST(N):REM GET ELEMENT VALUES 3120 NEXT N 3130 INPUT #1,RS,RL:REM GET SOURCE AND LOAD VALUES 3140 PRINT CLS$:CLOSE:GOTO 710:REM RETURN TO MAIN PROGRAM 3200 REM **************** WRITE TO DISK FILE ROUTINE ********************** 3210 PRINT CLS$:PRINT:PRINT "ENTER THE FILENAME THE NETWORK WILL BE SAVED UNDER." 3220 PRINT "WARNING: IF YOU USE A DUPLICATE NAME THE OLD FILE WILL BE ERASED!!" 3230 PRINT:INPUT "FILENAME:";NA$:CLOSE:REM GET NEW FILE NAME 3240 NA$=NA$+".NET":OPEN "O",1,NA$:REM OPEN NEW FILE 3250 WRITE #1,NS 3260 FOR N=1 TO NS 3270 WRITE #1,ET(N),R(N),L(N),C(N),ST(N) 3280 NEXT N 3290 WRITE #1,RS,RL 3300 CLOSE:PRINT CLS$:RETURN