home *** CD-ROM | disk | FTP | other *** search
- 10 PRINT"G3ZCZ General Contest Program Version 1.6"\REM VER 830911"
- 20 INPUT"Roughly how many QSO's do you expect to make ? ",M9
- 25 ERRSET 2000,E1,E2
- 30 IFM9<100 THEN PRINT"OPTIMIST !"
- 40 DIMW$(M9*10),C4$(17),F1(M9)
- 50 C4$="QRCXFLBMDWT*SH"
- 60 DIMB(5)\B(1)=1\B(2)=4\B(3)=16\B(4)=64\B(5)=256
- 65 DIMB1(5)\B1(1)=10\B1(2)=15\B1(3)=20\B1(4)=40\B1(5)=80
- 110 GOSUB 5010\X=0\GOSUB5005\IFX=1THEN5045ELSEGOSUB5050
- 120 OPEN #1,L1$
- 145 IFN=0THEN220
- 150 PRINT"Loading check list"
- 160 FOR I1=1TON
- 170 READ #1,&D1,&D2,&D3,T,F,C$,S,R,M$,P,&Q1,&Q2,X$
- 175 IFC$ <> "/*"THEN177ELSEN4=N4-1\IFN4<0THENN4=0\GOTO200
- 177 PRINT C$
- 180 GOSUB840\IFI=0THEN190ELSEGOSUB960
- 190 GOSUB962
- 195 N4=N4+1
- 200 NEXTI1\C8$=C$
- 210 I=I1-1\GOSUB1020\N=I
- 220 GOSUB1040
- 230 N=N+1
- 240 GOSUB 1000
- 250 IFN>M9-5THENPRINT"CHECK LIST IS ALMOST FULL"
- 251 INPUT1"-? ",A$\IFA$=""THEN250
- 252 A$=A$(1,1)
- 260 FOR J2=1TOLEN(C4$)\IFA$(1,1)=C4$(J2,J2)THENEXIT280
- 270 NEXT \!CHR$(7)\ GOTO250
- 280 PRINT TAB(5),\GOSUB 980\GOTO250
- 290 INPUT"REPORT RECEIVED ? ",X$
- 300 RETURN
- 310 INPUT"REPORT SENT ? ",S
- 315 IF S>599 THEN310
- 320 RETURN
- 350 INPUT"Day (1-31) ? ",D1\IFD1<1ORD1>31THEN350
- 360 INPUT"Month ( 1 - 12 ) ? ",D2\IFD2<0ORD2>12THEN360
- 370 INPUT "Year (19xx) ? ",D3 \ IF D3<1900 THEN 370
- 380 D3 = D3 - 1900
- 390 RETURN
- 400 INPUT "Power (watts) ? ",P
- 410 RETURN
- 420 INPUT "Freq/Band ? ",F\IF INT(F)>999THEN420
- 422 FORQ=1TO5\IFB1(Q)=FTHENEXIT430\NEXT\GOTO420
- 430 RETURN
- 440 INPUT "Mode ? ",M$\IFM$=""THEN440
- 450 IF M$(1,1)<>" "THEN460ELSEM$=M$(2,LEN(M$))\GOTO450
- 460 RETURN
- 470 INPUT"Call sign ? ",A$\IFLEN(A$)=0THEN510
- 480 IFA$(1,1)<>" "THEN490ELSEA$=A$(2,LEN(A$))\GOTO480
- 490 C$=A$\GOSUB840
- 500 IFI=1THEN!"OK"ELSE!"WORKED",CHR$(7)," on ",
- 502 IFI=1THEN510\F2=F1(J)
- 503 FORQ=5TO1STEP-1
- 504 IFF2<B(Q)THEN508
- 506 PRINTB1(Q)," ",\F2=F2-B(Q)\IFB1(Q)=FTHEN!"DUPLICATE ",
- 508 NEXT\IFF2>1THEN503
- 510 !\RETURN
- 520 INPUT "Time ? ",T\IFT>2400THEN520
- 530 RETURN
- 660 IF D2>0THEN670ELSE!"Enter the date first please !"\RETURN
- 670 REM
- 675 I=N \ PRINT
- 685 GOSUB 5020 \ RETURN
- 690 RETURN
- 695 INPUT"ARE YOU SURE ? ",A$\IF A$=""THEN695ELSE IF A$(1,1)<>"Y"THENRETURN
- 698 GOSUB1040\C$="/*"\C8$=C$\N4=N4-1\IFN4<0THENN4=0
- 700 D1=INT(D1) \D2=INT(D2)\D3=INT(D3)\S=INT(S)
- 710 R=INT(R)\P=INT(P)
- 720 S8=0\GOSUB840\GOSUB962\IFI=0THEN730ELSEGOSUB960
- 730 GOSUB5035
- 735 N=N+1\IF C$="/*"THEN760
- 738 N4=N4+1
- 740 C8$=C$
- 750 GOSUB 1040
- 760 GOTO 1000
- 770 IFN>0THENN=N-1
- 790 CLOSE #1
- 800 OPEN#0,L2$
- 810 WRITE #0,N
- 820 CLOSE #0
- 830 GOTO 5045\REM EXIT
- 840 IF C$="/*"THEN940
- 850 J=0 \ FOR I=1TOLEN(C$)
- 860 J=J+ASC(C$(I,I))-47\NEXT
- 870 J=J*10
- 880 IF J<M9 THEN 890 ELSE J=J-M9\GOTO880
- 890 D$=W$(J*10+1,J*10+10)
- 900 IF D$(1,1)=" "THEN 950
- 910 IF D$(1,LEN(C$))=C$THEN940
- 920 J=J+1\IFJ>=M9THENJ=J-M9
- 930 GOTO 890
- 940 I=0\RETURN
- 950 I=1\RETURN
- 960 W$(J*10+1,J*10+10)=C$\RETURN
- 962 FORQ=1TO5\IFF=B1(Q)THENF1(J)=F1(J)+B(Q)
- 964 NEXT\RETURN
- 980 ONJ2GOTO660,290,470,310,695,700,420,440,350,400,520,770,1000,2205
- 1000 !CHR$(26),CHR$(12)\!"NEXT QSO= ",N4+1,TAB(20),"LAST QSO=",C8$,TAB(40),
- 1002 !"TIME= ",T\!"Band/Freq = ",F,TAB(20),"Log file is ",L$
- 1005 PRINT "THERE ARE ",N-1," ENTRIES IN THE LOG"
- 1010 RETURN
- 1020 GOSUB5015\GOSUB5020
- 1030 INPUT"HIT RETURN WHEN READY",A$\RETURN
- 1040 C$="?"\Z$=C$\Z2$=Z$\Z3$=Z$\Z4$=Z$\R=0\S=0\Y1=0\X$=""
- 1045 S=59
- 1050 RETURN
- 2000 ERRSET 2000,E1,E2
- 2002 IF E1>500 AND E1<510 THEN 510
- 2005 IFE1=480 THEN 470
- 2015 IF E1=5560 THEN 5570
- 2020 IF E1=5650 THEN 5670
- 2030 IF E2<>8 THEN 2040ELSE!"HARD DISC ERROR"\GOTO 2100
- 2040 IF E2<>7 THEN 2050ELSE!"FILE ERROR"\GOTO 2100
- 2050 IF E2=15 THEN 790
- 2055 IF E1=251THEN251
- 2090 !"ERROR ",E2," AT LINE ",E1 \ GOTO 790
- 2100 GOTO 5045
- 2205 INPUT"Which Prefix ? ",P9$\IFP9$=""THEN2295
- 2215 I=0\FORJ=0TOM9-1\IFP9$="*"THEN2217ELSE2220
- 2217 IFW$(J*10+1,J*10+1)=" "THEN2255ELSE2225
- 2220 IFW$(J*10+1,J*10+LEN(P9$))=P9$THEN2225ELSE2255
- 2225 PRINTW$(J*10+1,J*10+10),TAB(I*10),\I=I+1\IFI<6THEN2255
- 2245 I=0\PRINT
- 2255 NEXT\PRINT
- 2295 RETURN
- 5000 REM SUBROUTINE PACKAGE VER 791008
- 5005 GOTO 5550 \ REM GET STNDATA
- 5010 GOTO 5060 \ REM SET UP VARIABLES & CONSTANTS
- 5015 GOTO 5180 \ REM PRINT TITLE LINE
- 5020 GOTO 5110 \ REM PRINT LINE OF DATA
- 5025 GOTO 5600 \ REM READ ENTRY FROM DISC
- 5030 GOTO 5500 \ REM PRINT HEADING
- 5035 GOTO 5620 \ REM WRITE ENTRY TO DISC
- 5040 GOTO 5230 \ DETERMINE OUTPUT DEVICE
- 5045 STOP
- 5050 GOTO 5260 \ REM DETERMINE NAME OF LOG FILE & GET N
- 5060 DIMX$(64) \ P1=66\P2=1
- 5065 DIMM1$(36)\M1$="JanFebMarAprMayJunJulAugSepOctNovDec"
- 5070 T0 = 9 \ T1=T0+ 4 \ T2= T1+ 3 \ T3 = T2 +3
- 5075 T4=T3+10\T5=T4+10\T6=T5+4\T7=T6+5\T8=T7+4\T9=T8+6
- 5080 DEF FNT$(V)
- 5085 V1=INT(V/1000)\V2=INT((V-V1*1000)/100)
- 5090 V3=INT((V-V1*1000-V2*100)/10)\V4=INT(V-V1*1000-V2*100-V3*10)
- 5095 RETURN CHR$(48+V1)+CHR$(48+V2)+CHR$(48+V3)+CHR$(48+V4)
- 5096 FNEND
- 5100 RETURN
- 5110 PRINT #A,%5I,I,TAB(6),%2I,D1,TAB(T0),M1$((D2-1)*3+1,(D2-1)*3+3),
- 5112 PRINT #A,TAB(T1),%2I,D3,TAB(T2),
- 5115 T$=FNT$(T)
- 5120 PRINT #A,T$,TAB(T3),%Z8F3,F,TAB(T4),C$,TAB(T5),%3I,S,TAB(T6),
- 5130 PRINT #A,%3I,R,TAB(T7),M$,TAB(T8),%4I,P,TAB(T9),
- 5140 IF Q1=1 THEN PRINT#A,"S", ELSE PRINT#A,"-",
- 5150 IF Q2=1 THEN PRINT#A,"R", ELSE PRINT#A,"-",
- 5160 PRINT#A," ",X$
- 5165 P1=P1-1\IFP1>2THEN5170 ELSE P1=66\P2=P2+1\!#A\!#A"-"\!#A\GOSUB5500
- 5170 RETURN
- 5180 PRINT#A,"QSO #",TAB(5)," DATE",TAB(T1+3),"TIME",TAB(T3),
- 5190 PRINT#A," BAND",TAB(T4),"STATION",TAB(T5)," S",TAB(T6),
- 5200 PRINT#A," R",TAB(T7-1),"MODE",TAB(T8)," PWR",TAB(T9),
- 5210 PRINT#A,"QSL COMMENTS"
- 5220 RETURN
- 5230 INPUT"Which output device (0-7) ? ",A
- 5240 IF A>7 OR A<0 THEN 5230
- 5250 RETURN
- 5260 INPUT"What is the name of the log file ? ",L$\IFL$=""THEN5260
- 5270 INPUT"Which drive is it on ? ",D$\IFD$=""THEN 5270
- 5275 IF LEN(D$)>1THEN5270
- 5310 L1$=L$+","+D$ \ REM LOG FILE
- 5320 L2$="*"+L$+","+D$
- 5325 IF FILE(L1$)=3 THEN 5327 ELSEPRINT"LOG FILE IS NOT ON DISC"\GOTO5045
- 5327 IF FILE(L2$)=3 THEN 5330 ELSEPRINT"LOG POINTER FILE ERROR"\GOTO 5045
- 5330 OPEN#2,L2$
- 5340 READ#2,N
- 5350 CLOSE#2
- 5360 RETURN
- 5500 PRINT#A\PRINT#A,"STATION LOG ",C9$,TAB(32),"PAGE",P2,
- 5510 PRINT#A,TAB(48),"FILE ",L1$\P1=P1-4\GOTO 5180
- 5550 X1$="STNDATA,"
- 5555 FOR I=1 TO 4\ I$=STR$(I) \ X$=X1$+I$(2,2)
- 5560 IF FILE(X$)=3 THEN EXIT 5590
- 5565 NEXT
- 5570 PRINT"STNDATA file is not on system"\ X=1\RETURN
- 5590 OPEN#2,X$ \ READ#2,L$,C9$ \ CLOSE#2
- 5595 RETURN
- 5600 READ #0,&D1,&D2,&D3,T,F,C$,S,R,M$,P,&Q1,&Q2,X$
- 5610 RETURN
- 5620 WRITE#1,&D1,&D2,&D3,T,F,C$,S,R,M$,P,&Q1,&Q2,X$
- 5625 PRINT#7 C$," ",T," ",X$
- 5630 RETURN
- 5640 FOR I=1 TO 4
- 5650 IF FILE ("SYSTEM,"+STR$(I))=2 THEN EXIT 5690
- 5660 NEXT
- 5670 PRINT"put the SYSTEM disc in the computer, then hit 'RETURN'"
- 5680 INPUT "",A$ \ GOTO 5640
- 5690 CHAIN "SYSTEM,"+STR$(I)
- 5695 REM ERROR E1<>5650 THEN +10 ELSE I>4 THEN 5670 ELSE 5660