Back to Main page.
Back to Main tapes page.
10  REM:BILL MCFADDEN - MWLIST, DX FILE EDITING PROGRAM
20  REM:ALL RIGHTS RESERVED BY BILL MCFADDEN
30  DIM C$[255],S$[55],S0$[55],S1$[55],C0$[55]
40  FILES MWLOG.B970,MWLOG.B970,DUMMY.B951,DUMMY1.B951
50  E=1
60  S$="       ?                  ,                            "
70  REM:COMMAND ENTRY
80  IF E=0 THEN 100
90  PRINT "* ";
100  ENTER -1,A,C$
105  PRINT LIN(-E);
110  C$=UPS$(C$)
120  IF C$="" THEN 9999
125  CHAIN A,C$
130  IF  END #1 THEN 240
140  GOTO POS("ACDEFGJRSUZ",C$[1,1]) OF 180,60,280,700,770,870,240,960,960,1830,5000
150  PRINT '7;
160  GOTO 80
170  REM:ADVANCE COMMAND
180  A=(LEN(C$)=1)
190  IF A THEN 210
200  CONVERT C$[2] TO A,150
210  ADVANCE #1;A,A
220  IF A=0 THEN 1980
230  PRINT '7'7'7'7'7;
240  ASSIGN "MWLOG.B970",1,A
250  ASSIGN "MWLOG.B970",2,A
260  GOTO 80
270  REM:DEPOSIT COMMAND
280  IF S$[1,3]="   " THEN 150
290  READ #1,1
300  READ #2,1
310  READ #4,1
312  A=0
315  B=3
317  C=4
320  REM:FILL DUMMY1
330  IF  END #2 THEN 230
340  IF TYP(-1)=4 THEN 390
350  READ #1;S1$
360  PRINT #4;S1$
370  GOTO 340
380  REM:FILL DUMMY
390  READ #1,REC(1)+1
400  READ #B,1
410  IF  END #1 THEN 620
420  IF TYP(-1)=4 THEN 470
430  READ #1;S1$
440  PRINT #B;S1$
450  GOTO 420
460  REM:TRANSFER CONTENTS OF DUMMY1 TO MWLOG
470  READ #C,1
480  IF  END #C THEN 550
490  READ #C;S1$
495  IF S$[4,8]#S1$[4,8] THEN 500
497  PRINT '7;
498  GOSUB 1910
499  GOTO 520
500  IF S$[1,3]#S1$[1,3] THEN 520
505  IF A THEN 520
510  PRINT #2;S$
515  A=1
517  IF S1$[8,8]="?" THEN 490
520  PRINT #2;S1$
530  GOTO 490
540  REM:TRANSFER DUMMY TO DUMMY1
550  B=C
560  C=3+(C=3)
570  GOTO 390
610  REM:FINISH FILLING MWLOG
620  FOR X=1 TO 2
621  READ #C,1
630  IF  END #C THEN 682
640  READ #C;S1$
645  IF S$[4,8]#S1$[4,8] THEN 650
647  PRINT '7;
648  GOSUB 1910
649  GOTO 670
650  IF S$[1,3]#S1$[1,3] THEN 670
655  IF A THEN 670
660  PRINT #2;S$, END 
665  A=1
667  IF S1$[8,8]="?" THEN 640
670  PRINT #2;S1$, END 
680  GOTO 640
682  C=B
684  NEXT X
686  GOTO 240
690  REM:ECHO COMMAND
700  E= NOT E
710  IF E THEN 740
720  SYSTEM A,"ECH-OFF"
730  GOTO 80
740  SYSTEM A,"ECH-ON"
750  GOTO 80
760  REM:FIND FREQUENCY
770  IF LEN(C$)<4 THEN 150
810  READ #1,1
820  IF  END #1 THEN 230
825  R=REC(1)
827  I=ITM(1)
830  READ #1;S1$
832  CONVERT S1$[1,3] TO A
834  CONVERT C$[2] TO B,150
840  IF A*10#B THEN 825
850  GOTO 2010
860  REM:GET STATION
870  IF LEN(C$)=1 THEN 150
890  READ #1,1
900  IF  END #1 THEN 230
905  R=REC(1)
907  I=ITM(1)
910  READ #1;S1$
920  FOR X=4 TO 8
925  IF S1$[X,X]#" " THEN 930
927  NEXT X
928  GOTO 905
930  IF S1$[X,8]#C$[2] THEN 905
935  S$=S1$
940  GOTO 2010
950  REM:REPLACE COMMAND
960  P=POS(" BCCACIDADIDPDTFRLOMONPPRSTYR",C$[2,3])/2
970  IF P=0 AND NUM(C$)=82 THEN 150
990  IF C$[1,1]="S" THEN 2020
1000  GOTO P-1 OF 1060,1100,1150,1200,1240,1290,1390,1500,1450,1570,1620,1760,1790
1010  REM:REPLACE BC
1020  S$[25,26]="  "
1030  S$[25+(LEN(C$)=4),26]=C$[4]
1040  GOTO 1890
1050  REM:REPLACE CALL
1060  S$[4,8]="     "
1070  S$[(12-LEN(C$)) MAX 4,8]=C$[4]
1080  GOTO 1890
1090  REM:REPLACE CITY
1100  S1$=S$[POS(S$[27],",")+26]
1105  A=LEN(C$[4])
1110  S$[27,(A+26) MIN 52]=C$[4]
1120  S$[(A+27) MIN 53,(A+LEN(S1$)+27) MIN 55]=S1$
1125  S$[(A+LEN(S1$)+28) MIN 55,55]="                              "
1130  GOTO 1890
1140  REM:REPLACE DAY
1150  S$[21,22]="  "
1160  CONVERT C$[4] TO A,150
1170  S$[21+(LEN(C$)=4),22]=C$[4]
1180  GOTO 1890
1190  REM:REPLACE DISTANCE
1200  S$[15,18]="    "
1210  S$[(22-LEN(C$)) MAX 15,18]=C$[4]
1220  GOTO 1890
1230  REM:REPLACE DAYTIME POWER
1240  CONVERT C$[4] TO A,150
1250  S$[9,11]="   "
1260  S$[(15-LEN(C$)) MAX 9,11]=C$[4]
1270  GOTO 1890
1280  REM:REPLACE DATE
1290  IF LEN(C$)<8 THEN 150
1291  S$[19,24]="      "
1295  D=POS(C$,"-") MAX 5
1297  F=(POS(C$[D+1],"-") MIN (LEN(C$)-1-D))+D
1300  CONVERT C$[4,D-1] TO A,150
1310  CONVERT C$[D+1,F-1] TO B,150
1320  CONVERT C$[F+1] TO C,150
1340  CONVERT A TO S$[19+(A<10),20]
1350  CONVERT B TO S$[21+(B<10),22]
1360  CONVERT C TO S$[23+(C<10),24]
1370  GOTO 1890
1380  REM:REPLACE FREQUENCY
1390  CONVERT C$[4] TO A,150
1400  IF A<540 OR A>1600 OR INT(A/10)#A/10 THEN 150
1410  S$[1,3]="   "
1420  S$[1+(A<1000),3]=C$[4]
1430  GOTO 1890
1440  REM:REPLACE MONTH
1450  CONVERT C$[4] TO A,150
1460  S$[19,20]="  "
1470  S$[(24-LEN(C$)) MAX 19,20]=C$[4]
1480  GOTO 1890
1490  REM:REPLACE LOCATION
1500  IF  NOT POS(C$,",") THEN 150
1505  S$[27]="                             "
1507  A=POS(C$,",")
1510  S$[27,(A+22) MIN 50]=C$[4,A-1]
1520  S1$=C$[A+(POS(C$,", ")>0)+1]
1530  S$[(A+23) MIN 51,(A+24) MIN 52]=", "
1540  S$[(A+25) MIN 53,(A+LEN(S1$)+25) MIN 55]=S1$
1550  GOTO 1890
1560  REM:REPLACE NIGHTTIME POWER
1570  CONVERT C$[4] TO A,150
1580  S$[12,14]="   "
1590  S$[(18-LEN(C$)) MAX 12,14]=C$[4]
1600  GOTO 1890
1610  REM:REPLACE POWER
1620  IF POS(C$,"/") THEN 1680
1630  CONVERT C$[4] TO A,150
1640  S$[9,14]="      "
1650  S$[(15-LEN(C$)) MAX 9,11]=C$[4]
1660  S$[(18-LEN(C$)) MAX 12,14]=C$[4]
1670  GOTO 1890
1680  CONVERT C$[4,POS(C$,"/")-1] TO A,150
1690  CONVERT C$[POS(C$,"/")+1] TO A,150
1700  IF LEN(C$)-POS(C$,"/")>3 OR POS(C$,"/")>7 THEN 150
1710  S$[9,14]="      "
1720  S$[(16-POS(C$,"/")) MAX 9,11]=C$[4,POS(C$,"/")-1]
1730  S$[(15-LEN(C$)+POS(C$,"/")) MAX 12,14]=C$[POS(C$,"/")+1]
1740  GOTO 1890
1750  REM:REPLACE STATE
1760  FOR X=POS(S$,",")+1 TO 55
1761  S$[X,X]=" "
1762  NEXT X
1765  S$[POS(S$,",")+2,(POS(S$,",")+LEN(C$)-1) MIN 55]=C$[4]
1770  GOTO 1890
1780  REM:REPLACE YEAR
1790  CONVERT C$[4] TO A,150
1795  S$[23,24]="  "
1800  S$[23+(LEN(C$)=4),24]=C$[4]
1810  GOTO 1890
1820  REM:UPDATE COMMAND
1830  I=ITM(1)
1840  R=REC(1)
1850  UPDATE #1;S$
1860  READ #1,R
1870  ADVANCE #1;I,A
1875  GOTO 80
1880  REM:PRINT STRING
1890  S1$=S$
1895  GOSUB 1910
1897  GOTO 80
1900  IMAGE 3A,"0  ",5AXX,2AXX,3A,"/",3AXX,29AXX,4A," Mi.  ",2A,"-",2A,"-",2A
1910  PRINT  USING 1900;S1$[1,3],S1$[4,8],S1$[25,26],S1$[9,11],S1$[12,14],S1$[27],S1$[15,18],S1$[19,20],S1$[21,22],S1$[23,24]
1920  RETURN 
1970  REM:READ ITEM AND PRINT
1980  I=ITM(1)
1990  R=REC(1)
2000  READ #1;S1$
2005  S$=S1$
2010  READ #1,R
2012  ADVANCE #1;I,A
2015  GOTO 1895
2020  READ #1,1
2195  REM:SEARCH COMMAND
2200  READ #1,1
2205  C$=C$[4-3*(P=0)]
2210  READ #1;S1$
2211  IF S1$[8,8]="?" THEN 2210
2213  IF  NOT P THEN 2240
2215  RESTORE 
2220  FOR X=1 TO P
2230  READ A,B,C
2235  NEXT X
2236  S0$=S1$[A,B]
2237  GOTO C OF 2330,2370,2490,2510,2610
2238  GOTO 2255
2240  GOSUB 1910
2250  GOTO 2210
2255  Y=1
2260  CONVERT S0$ TO D,2275
2270  CONVERT D TO S0$
2271  GOTO 2280
2275  FOR Y=1 TO LEN(S0$)
2277  IF S0$[Y,Y]#" " THEN 2280
2278  NEXT Y
2279  GOTO 2210
2280  IF LEN(C$)0)+1]
2450  C$[D+1]=" "
2460  C$[D+2]=C0$
2462  FOR X=55 TO 1 STEP -1
2463  IF S0$[X,X]#" " THEN 2470
2464  NEXT X
2465  GOTO 2210
2470  IF S0$[1,X]#C$ THEN 2210
2480  GOTO 2240
2490  IF S0$[1,POS(S0$,",")-1]#C$ THEN 2210
2500  GOTO 2240
2510  A=B=-1
2515  CONVERT S0$[1,3] TO A,2520
2520  CONVERT S0$[4,6] TO B,2530
2530  IF POS(C$,"/") THEN 2580
2540  CONVERT C$ TO C,150
2550  GOTO (A=C AND B=C)+1 OF 2210,2240
2580  CONVERT C$[1,POS(C$,"/")-1] TO C,150
2590  CONVERT C$[POS(C$,"/")+1] TO D,150
2600  GOTO (A=C AND B=D)+1 OF 2210,2240
2610  C=POS(S0$,",")
2612  FOR X=55 TO C+1 STEP -1
2614  IF S0$[X,X]#" " THEN 2620
2616  NEXT X
2618  GOTO 2210
2620  IF S0$[C+2,X]=C$ THEN 2240
2622  GOTO 2210
2630  DATA 25,26,0,4,8,0,27,55,3,21,22,0,15,18,0,9,11,0,19,24,1,1,3,0
2640  DATA 27,55,2,19,20,0,12,14,0,9,14,4,27,55,5,23,24,0
4990  REM:ZAP COMMAND
5000  IF LEN(C$)<2 THEN 150
5001  READ #1,1
5009  A=0
5010  READ #2,1
5020  READ #3,1
5030  IF TYP(-1)>2 THEN 5080
5040  READ #1;S1$
5050  FOR X=4 TO 8
5052  IF S1$[X,X]#" " THEN 5068
5055  NEXT X
5057  GOTO 5030
5068  IF S1$[X,8]=C$[2] THEN 5150
5069  PRINT #3;S1$
5070  GOTO 5030
5080  READ #3,1
5090  IF  END #3 THEN 5130
5100  READ #3;S1$
5110  PRINT #2;S1$, END 
5120  GOTO 5100
5130  IF TYP(-1)=3 THEN 5170
5131  READ #1,REC(1)+1
5140  GOTO 5020
5150  A=1
5160  GOTO 5030
5170  GOTO A+1 OF 230,240
9999  END