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