100  READ N,F1,F2,F3,R1,Z0,R0,Q
110  DIM K[20]
120  DIM A[2,3],B[2,3],C[2,3],D[2,3]
130  LET Q6=0
140  GOTO Q+1 OF 150,170,190,230,260,300
150  PRINT "FREQ, GC","LOSS, DB","INS PH, DEG","REFL MAG","REFL PH, DEG"
160  GOTO 330
170  PRINT "FREQ, GC","R IN, OHMS","X IN, OHMS","VSWR","REFL,DB DOWN"
180  GOTO 330
190  PRINT "GRAPH: Y = VSWR, SCALE 1 TO 1.6. FREQ SCALE, ";F1;" TO ";F2
200  LET Q1=1.6
210  LET Q0=1
220  GOTO 330
230  PRINT "Y = VSWR, SCALE 1 TO 7,  VS FREQ. IN GC"
240  LET Q1=7
250  GOTO 210
260  PRINT "Y = INS. LOSS, SCALE 0 TO 6 DB, VS FREQ. IN GC"
270  LET Q1=6
280  LET Q0=0
290  GOTO 330
300  PRINT "Y = INS. LOSS, SCALE 0 TO 60 DB, VS FREQ. IN GC"
310  LET Q1=60
320  GOTO 280
330  FOR F=F1 TO F2 STEP F3
340  A[1,1]=1
350  A[2,1]=0
360  B[1,1]=0
370  B[2,1]=0
380  C[1,1]=0
390  C[2,1]=0
400  D[1,1]=1
410  D[2,1]=0
420  FOR I=1 TO N
430  A[1,2]=1
440  A[2,2]=0
450  B[1,2]=0
460  B[2,2]=0
470  C[1,2]=0
480  C[2,2]=0
490  D[1,2]=1
500  D[2,2]=0
510  READ K[I]
520  GOTO K[I] OF 530,560,590,620,670,700,730,760,810,870,900,930,960
530  READ C
540  B[2,2]=-500/(3.14159*F*C)
550  GOTO 990
560  READ L
570  B[2,2]=6.2832*F*L
580  GOTO 990
590  READ R
600  B[1,2]=R
610  GOTO 990
620  READ L,C,G
630  LET D1=G^2+(.0062832*F*C-1/(6.2832*F*L))^2
640  B[1,2]=G/D1
650  B[2,2]=-(.0062832*F*C-1/(6.2832*F*L))/D1
660  GOTO 990
670  READ C
680  C[2,2]=3.14159*F*C/500
690  GOTO 990
700  READ L
710  C[2,2]=-1/(6.2832*F*L)
720  GOTO 990
730  READ G
740  C[1,2]=G
750  GOTO 990
760  READ L,C,R
770  LET D1=R^2+(6.2832*F*L-500/(3.14159*F*C))^2
780  C[1,2]=R/D1
790  C[2,2]=-(6.2832*F*L-500/(3.14159*F*C))/D1
800  GOTO 990
810  READ Z,L,V
820  A[1,2]=COS(.53197*F*L*V)
830  B[2,2]=SIN(.53197*F*L*V)*Z
840  C[2,2]=SIN(.53197*F*L*V)/Z
850  D[1,2]=COS(.53197*F*L*V)
860  GOTO 990
870  READ Z,L,V
880  B[2,2]=Z*TAN(.53197*F*L*V)
890  GOTO 990
900  READ Z,L,V
910  B[2,2]=Z/TAN(.53197*F*L*V)
920  GOTO 990
930  READ Z,L,V
940  C[2,2]=-1/(Z*TAN(.53197*F*L*V))
950  GOTO 990
960  READ Z,L,V
970  C[2,2]=TAN(.53197*F*L*V)/Z
980  GOTO 990
990  A[1,3]=A[1,2]*A[1,1]-A[2,2]*A[2,1]+B[1,2]*C[1,1]-B[2,2]*C[2,1]
1000  A[2,3]=A[1,2]*A[2,1]+A[2,2]*A[1,1]+B[1,2]*C[2,1]+B[2,2]*C[1,1]
1010  B[1,3]=A[1,2]*B[1,1]-A[2,2]*B[2,1]+B[1,2]*D[1,1]-B[2,2]*D[2,1]
1020  B[2,3]=A[1,2]*B[2,1]+A[2,2]*B[1,1]+B[1,2]*D[2,1]+B[2,2]*D[1,1]
1030  C[1,3]=C[1,2]*A[1,1]-C[2,2]*A[2,1]+D[1,2]*C[1,1]-D[2,2]*C[2,1]
1040  C[2,3]=C[1,2]*A[2,1]+C[2,2]*A[1,1]+D[1,2]*C[2,1]+D[2,2]*C[1,1]
1050  D[1,3]=C[1,2]*B[1,1]-C[2,2]*B[2,1]+D[1,2]*D[1,1]-D[2,2]*D[2,1]
1060  D[2,3]=C[1,2]*B[2,1]+C[2,2]*B[1,1]+D[1,2]*D[2,1]+D[2,2]*D[1,1]
1070  A[1,1]=A[1,3]
1080  A[2,1]=A[2,3]
1090  B[1,1]=B[1,3]
1100  B[2,1]=B[2,3]
1110  C[1,1]=C[1,3]
1120  C[2,1]=C[2,3]
1130  D[1,1]=D[1,3]
1140  D[2,1]=D[2,3]
1150  NEXT I
1160  M=A[1,1]*R1+B[1,1]
1170  U=C[1,1]*R1+D[1,1]
1180  O=A[2,1]*R1+B[2,1]
1190  P=C[2,1]*R1+D[2,1]
1200  LET E=(M+Z0*U)^2+(O+Z0*P)^2
1210  LET H=M^2-(Z0*U)^2+O^2-(Z0*P)^2
1220  LET S=2*Z0*(O*U-M*P)
1230  LET T1=SQR((H/E)^2+(S/E)^2)
1240  IF H >= 0 THEN 1270
1250  IF S >= 0 THEN 1290
1260  GOTO 1310
1270  LET N2=0
1280  GOTO 1320
1290  LET N2=1
1300  GOTO 1320
1310  LET N2=-1
1320  LET T2=(360/6.2832)*ATN(S/H)+N2*180
1330  LET T3=(M*U+O*P)/(U^2+P^2)
1340  LET T4=(O*U-M*P)/(U^2+P^2)
1350  LET T5=4.3429*LOG(((M+R0*U)^2+(O+R0*P)^2)/(4*R0*R1))
1360  IF (M+R0*U) >= 0 THEN 1390
1370  IF (O+R0*P) >= 0 THEN 1410
1380  GOTO 1430
1390  LET N1=0
1400  GOTO 1440
1410  LET N1=1
1420  GOTO 1440
1430  LET N1=-1
1440  LET T6=(360/6.2832)*ATN((O+R0*P)/(M+R0*U))+N1*180
1450  LET T7=(1+T1)/(1-T1)
1460  LET T8=8.686*LOG(1/T1)
1470  GOTO Q+1 OF 1520,1540,1480,1480,1500,1500
1480  LET Y=T7
1490  GOTO 1560
1500  LET Y=T5
1510  GOTO 1560
1520  PRINT F,T5,T6,T1,T2
1530  GOTO 1910
1540  PRINT F,T3,T4,T7,T8
1550  GOTO 1910
1560  LET Q5=(Q1-Q0)/60
1570  IF Q6=0 THEN 1830
1580  IF Q6=20 THEN 1610
1590  PRINT " . ";
1600  GOTO 1630
1610  PRINT " - ";
1620  LET Q6=10
1630  IF Y>Q1 THEN 1800
1640  IF Y<Q0 THEN 1800
1650  LET Q7=Q0+2*Q5
1660  LET Z1=Q7+.5*Q5
1670  IF Z1<Y THEN 1770
1680  LET Q6=Q6+1
1690  IF Z1-Y >= 2*Q5 THEN 1750
1700  IF Z1-Y >= Q5 THEN 1730
1710  PRINT "  +"
1720  GOTO 1900
1730  PRINT " +"
1740  GOTO 1900
1750  PRINT "+"
1760  GOTO 1900
1770  LET Q7=Q7+3*Q5
1780  PRINT "   ";
1790  GOTO 1660
1800  PRINT "OFF SCALE  (F,Y) = ";F;",";Y
1810  LET Q6=Q6+1
1820  GOTO 1900
1830  PRINT 
1840  PRINT "FOR F:  TOP= ";F1;"  BOTTOM = ";F2;" INCREMENT =";F3
1850  PRINT "FOR Y: LEFT= ";Q0;"   RIGHT = ";Q1;" INCREMENT =";Q5
1860  PRINT 
1870  PRINT 
1880  PRINT "   I.........I.........I.........I.........I.........I.........I"
1890  GOTO 1610
1900  GOTO 1910
1910  RESTORE 
1920  READ W1,W2,W3,W4,W5,W6,W7,W8
1930  NEXT F
5000  END 
