home *** CD-ROM | disk | FTP | other *** search
- 10 ON ERROR GOTO 950
- 20 G$="G3ZCZ CONTEST LOGGING PROGRAM VERSION 2.20":CLS:WIDTH 80:LOCATE 10,1:PRINT G$
- 30 BANDS=7:M9=4000:DIM W$(M9),F1(M9),B(BANDS),B1(BANDS):R1$="00":S1$="59":C$="?"
- 40 BLANK$=" "
- 50 C4$="RXWBMCFL*/Q?O":L0$=BLANK$:QS$="-":QR$=QS$:R$=R1$:S$=S1$:L1$=L0$:L2$=L0$:L3$=L0$:L4$=L0$
- 60 L5$=L0$:L6$=L0$:L7$=L0$:L8$=L0$:L13$=L0$:L12$=L0$:L11$=L0$:L10$=L0$:L9$=L0$
- 70 FOR I%=1 TO BANDS:READ B(I%):NEXT:DATA 1,4,16,64,256,1024,4096
- 80 FOR I%=1 TO BANDS:READ B1(I%):NEXT:DATA 10,15,20,40,80,160,2
- 90 LOCATE 12,1:INPUT "Enter name of lOG file (D:NAME) Log type .LOG Assumed ",L$:IF L$="" THEN 90
- 95 INPUT "Do you want a running log printed out (Y/N) "; A$: IF A$="" THEN 95
- 98 IF LEFT$(A$,1)="Y" THEN P1 = 1 ELSE IF LEFT$(A$,1)="N" THEN P1 = 0 ELSE 95
- 100 GOSUB 880
- 110 OPEN L$+".$$$" FOR OUTPUT AS #2
- 120 OPEN L$+".LOG" FOR INPUT AS #1:GOTO 140
- 130 GOSUB 380 :GOSUB 390 :GOSUB 420:GOTO 800
- 140 LOCATE 23,1:PRINT "LOADING LAST ENTRY STRINGS":OPEN L$+".CHK" FOR INPUT AS #3
- 150 INPUT#3,L13$,L12$,L11$,L10$,L9$,L8$,L7$,L6$,L5$,L4$,L3$,L2$,L1$:CLOSE#3
- 160 PRINT "OPENING LOGBOOK ";L$:N4=0
- 170 IF EOF(1) THEN GOSUB 650:INPUT"Waiting,touch ENTER to continue ";A$:GOTO 800
- 180 INPUT#1,D$,T$,B$,C$,R$,S$,M$,P$,QS$,QR$,X$ : PRINT N4,C$,X$:IF C$="/*" THEN N4=N4-1 ELSE N4=N4+1
- 185 IF C$="/*" THEN C$=C8$:GOSUB 270:W$(J)=" ":F1(J)=F1(J)-B(B%):C$="/*":GOTO 210
- 190 GOSUB 270:W$(J)=C$:F=VAL(B$):FOR Q%=1 TO BANDS:IF INT(F)=B1(Q%) THEN F1(J)=F1(J)+B(Q%):B%=Q%:GOTO 210
- 200 NEXT
- 210 C8$=C$:PRINT#2,D$;",";T$;",";B$;",";C$;",";R$;",";S$;",";M$;",";P$;",";QS$;",";QR$;",";X$:GOTO 170
- 220 LOCATE 20,1:PRINT BLANK$:LOCATE 20,1:RETURN
- 230 L0$=BLANK$:MID$(L0$,6)=D$:MID$(L0$,15)=T$:MID$(L0$,20)=C$:MID$(L0$,32)=B$:MID$(L0$,36)=M$:MID$(L0$,40)=P$
- 240 IF C$="/*" THEN MID$(L0$,1)="-" ELSE N4$=STR$(N4):MID$(L0$,1)=MID$(N4$,2)
- 250 MID$(L0$,45)=R$:MID$(L0$,49)=S$:MID$(L0$,53)=QS$:MID$(L0$,55)=QR$:MID$(L0$,57)=X$:RETURN
- 260 T$=LEFT$(TIME$,2)+MID$(TIME$,4,2):D$=RIGHT$(DATE$,2)+"/"+LEFT$(DATE$,2)+"/"+MID$(DATE$,4,2):RETURN
- 270 J=0:IF C$="/*" THEN 350
- 280 FOR I%=1 TO LEN(C$):A$=MID$(C$,I%,1):J=J+(ASC(A$)-47):NEXT:J=J*25:IF J<0 THEN J=0
- 290 IF J>M9 THEN J = J-M9 : GOTO 290
- 300 IF LEN(W$(J))<1 THEN 350
- 310 IF LEFT$(W$(J),1)=" " THEN 350
- 320 IF LEFT$(W$(J),LEN(C$))=C$ THEN 340
- 330 J=J+1:GOTO 290
- 340 I=0:RETURN
- 350 I=1:RETURN
- 360 INPUT "REPORT RECEIVED ";A$:IF A$="" THEN 365 ELSE X$=A$
- 365 RETURN
- 370 GOSUB 220:INPUT "REPORT SENT ";S$:IF S$>"599" THEN 370 ELSE RETURN
- 380 GOSUB 220:INPUT "POWER (watts) ";P$:IF P$<"0" THEN 380 ELSE RETURN
- 390 GOSUB 220:INPUT "BAND ";F : IF F>160 THEN 390
- 400 FOR I%=1 TO BANDS:IF INT(F)=B1(I%) THEN 410 ELSE NEXT:LOCATE 22,1:FOR I%=1 TO BANDS:PRINT B1(I%);" ";:NEXT:GOTO 390
- 410 B$=MID$(STR$(F),2):B%=I%:GOSUB 650:RETURN
- 420 GOSUB 220:INPUT "MODE ";M$: IF M$="" THEN 420 ELSE RETURN
- 430 GOSUB 220:INPUT "CALL SIGN ";A$
- 440 IF A$="" THEN 510 :IF LEFT$(A$,1)="" THEN A$=LEFT$(A$,LEN(A$):GOTO 440
- 450 LOCATE 22,1:PRINT BLANK$: LOCATE 22,1:C$=A$:GOSUB 270:IF I=1 THEN PRINT "OK":GOTO 510
- 460 F2=F1(J): PRINT "WORKED on ";
- 470 FOR Q%=BANDS TO 1 STEP -1: IF F2<B(Q%) THEN 500
- 480 PRINT B1(Q%);" ";:F2=F2-B(Q%):IF B1(Q%)=INT(F) THEN PRINT "DUPLICATE";CHR$(7);
- 490 IF F2>=B(Q%) THEN 470
- 500 NEXT
- 510 RETURN
- 520 GOSUB 220:INPUT "ARE YOU SURE ";A$ :IF A$="" THEN RETURN
- 530 IF N4<1 THEN GOSUB 220 : PRINT "CAN'T F***** A ZERO ENTRY":RETURN
- 540 IF A$=""OR LEFT$(A$,1) <> "Y" THEN RETURN
- 550 C$=C8$:GOSUB 270:F1(J)=F1(J)-B(B%):IF F1(J)<=0 THEN W$(J)=" "
- 560 C$="/*":GOTO 600
- 570 IF LEN(X$)=0 THEN 580 ELSE IF LEFT$(C$,1)="?" THEN 580 ELSE 590
- 580 LOCATE 22,1:PRINT BLANK$: LOCATE 22,1:PRINT "GET THE DATA FIRST":RETURN
- 590 GOSUB 260:C8$=C$:GOSUB 270: F1(J)=F1(J)+B(B%):W$(J)=C$:GOSUB 860
- 600 PRINT#2,D$;",";T$;",";B$;",";C$;",";R$;",";S$;",";M$;",";P$;",";QS$;",";QR$;",";X$
- 610 IF C$="/*" THEN 620 ELSE N4=N4+1:GOTO 630
- 620 N4=N4-1:IF N4<0 THEN N4=0
- 630 GOSUB 230:L13$=L12$:L12$=L11$:L11$=L10$:L10$=L9$:LOCATE 1,5:PRINT G$
- 640 L9$=L8$:L8$=L7$:L7$=L6$:L6$=L5$:L5$=L4$:L4$=L3$:L3$=L2$:L2$=L1$:L1$=L0$:IF P1 = 1 THEN LPRINT L0$
- 650 GOSUB 660:C$="?":R$=R1$:S$=S1$:X$="":RETURN
- 660 I=3:GOSUB 700:PRINT L13$:I=4:GOSUB 700:PRINT L12$:I=5:GOSUB 700:PRINT L11$:I=6:GOSUB 700:PRINT L10$
- 670 I=7:GOSUB 700:PRINT L9$:I=8:GOSUB 700:PRINT L8$:I=9:GOSUB 700:PRINT L7$:I=10:GOSUB 700:PRINT L6$
- 680 I=11:GOSUB 700:PRINT L5$:I=12:GOSUB 700:PRINT L4$:I=13:GOSUB 700:PRINT L3$:I=14:GOSUB 700:PRINT L2$
- 690 I=15:GOSUB 700:PRINT L1$:RETURN
- 700 LOCATE I,1:PRINT BLANK$:LOCATE I,1:RETURN
- 710 GOSUB 220:INPUT "ARE YOU SURE ";A$:IF A$="" THEN RETURN
- 720 IF LEFT$(A$,1)<>"Y" THEN RETURN
- 730 CLS:PRINT "SAVING LAST ENTRY STRINGS BEFORE CLOSING":OPEN L$+".CHK" FOR OUTPUT AS #3
- 740 PRINT#3,L13$;",";L12$;",";L11$;",";L10$;",";L9$;",";L8$;",";L7$;",";L6$;",";L5$;",";L4$;",";L3$;",";L2$;",";L1$
- 750 CLOSE#3:CLOSE#1:CLOSE#2
- 760 KILL L$+".BAK"
- 770 NAME L$+".LOG" AS L$+".BAK"
- 780 NAME L$+".$$$" AS L$+".LOG"
- 790 GOTO 1000 : REM END
- 800 GOSUB 880: LOCATE 1,5:PRINT G$,L$:GOSUB 660
- 810 LOCATE 17,30:PRINT "CURRENT ENTRY":GOSUB 260:GOSUB 230
- 820 MID$(L0$,1)=STR$(N4+1):LOCATE 18,1 : PRINT BLANK$:LOCATE 18,1 : PRINT STR$(N4+1),C$,X$
- 830 GOSUB 220:INPUT "QRU ";A$:IF A$=""THEN 830
- 840 FOR J2%=1 TO LEN(C4$):IF LEFT$(A$,1)=MID$(C4$,J2%,1) THEN 850 ELSE NEXT:GOTO 830
- 850 GOSUB 220:ON J2% GOSUB 360,370,380,390,420,430,520,570,710,890,870,860,1200:GOTO 810
- 860 LOCATE 21,1:PRINT BLANK$:PRINT BLANK$:PRINT BLANK$:RETURN
- 870 LOCATE 22,1:PRINT L0$:RETURN
- 880 CLS:KEY OFF:LOCATE 25,1:FOR I = 1 TO LEN(C4$):PRINT MID$(C4$,I,1);" ";:NEXT:RETURN
- 890 GOSUB 220:INPUT "ARE YOU SURE ";A$:IF A$="" THEN RETURN
- 900 INPUT "WHICH PREFIX ";A$:IF LEN(A$)<1 THEN A$="*"
- 910 I%=0:FOR Q=1 TO M9:IF LEN(W$(Q))<=2 THEN 940
- 920 IF A$="*" THEN 930 ELSE IF A$=LEFT$(W$(Q),LEN(A$)) THEN 930 ELSE 940
- 930 PRINT W$(Q),:I%=I%+1:IF I%=4 THEN I%=0:PRINT
- 940 NEXT:PRINT:INPUT "READY WHEN YOU ARE, HIT ENTER TO CONTINUE";A$:CLS:GOSUB 880:GOSUB 660:RETURN
- 950 IF ERL = 120 THEN OPEN L$+".LOG" FOR OUTPUT AS #3:CLOSE#3:OPEN L$+".LOG" FOR INPUT AS #1:RESUME 130
- 955 IF ERR = 61 THEN PRINT "Yuk Yuk Yuk DISK FULL ERROR - You may have blown it" :GOTO 1000
- 960 IF ERL=140 THEN PRINT "CHECK LIST ERROR, RECOVERING....":RESUME 160
- 965 IF ERL = 640 THEN RESUME 650
- 970 IF ERL = 760 THEN RESUME 770
- 975 IF ERR = 62 AND ERL = 180 THEN GOSUB 650:INPUT"Waiting,touch ENTER to continue ";A$:RESUME 800
- 980 PRINT "ERROR ";ERR;" AT LINE ";ERL
- 990 REM RESUME 750:REM CLOSE DOWN IN AN ORDERLY MANNER
- 1000 END
- 1200 INPUT "What is the number of lost calls (to be added to the memory) ";O:IF O <0 THEN 1200
- 1210 N4 = N4+O : RETURN
- END
- 1200 INPUT "What