home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HAM Radio 1
/
HamRadio.cdr
/
log
/
g3zcz15
/
contst16.2
< prev
next >
Wrap
Text File
|
1985-09-28
|
7KB
|
198 lines
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