home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast2.iso / hamradio / contest.zip / CQSS.TB < prev    next >
Text File  |  1989-12-26  |  26KB  |  577 lines

  1. 'CQSS10 COPYRIGHT JOE KASSER G3ZCZ (C) 1989, 1990
  2. ' THESE ARE LOADED FROM DISK
  3. ' MClr=15:MClrBG=1 ' MENU
  4. ' PClr=14:PClrBG=4 ' PROMPT
  5. ' KClr=7 :KClrBG=5 ' KEY COLOR
  6. ' LClr=14:LClrBG=1 ' LOG WINDOW
  7. ' WClr=30:WcLRbg=4 ' WARNING (INC BLINK)
  8. ' QClr=15:QClrBG=4 ' STATUS
  9. ' JCLR=15:JCLRBG=5 ' STATUS VARIABLES
  10. ' Sect1=15:SectBG1=4:   sect2=14:SectBG2=1: Sect3=13:SectBG3=0:
  11. ' Sect4=15:SectBG4=1:   Sect5=14:SectBG5=2: Sect6=15:SectBG6=0:
  12. ' Sect7=15:SectBG7=2:   Sect8=14:SectBG8=4: Sect9=14:SectBG9=1:
  13. ' Sect10=13:SectBG10=0: Sect11=15:SectBG11=4
  14.  
  15.  PRL=17:LGL=3:TXL=18:QRUL=23 ' LINES ON WHICH THINGS HAPPEN
  16.  SCORER=19:SCOREC=47 ' SCORE LINES
  17.  
  18. DEF FNstring$(VALUE)
  19.   FMINUTE$="00"+STR$(VALUE):
  20.   FOR I=1 TO LEN(FMINUTE$)
  21.     IF MID$(FMINUTE$,I,1)=" " THEN MID$(FMINUTE$,I,1)="0"
  22.   NEXT
  23.   FNstring$=RIGHT$(FMINUTE$,2)
  24. END DEF
  25.  
  26.  BLANK$="                                            "
  27.    Bar$="════════════════════════════════════════════"
  28.    LClr=14:LClrBG=0:WClr=31:WcLRbg=1 ' ASSUME BEFORE LOADING
  29. 10 on error goto 8000
  30. 20 K=3000 'number of stations in contest
  31. 30 k1=0: color LClr,LClrBG: CLS: gosub 5900
  32. 40 Q4=19:K7=74:K6=66:L0$=BLANK$
  33. 50 N1=1:B1=100:B2=200:B3=300:B4=400:B5=500:
  34. 60 DIM L(7),L$(5),C$(K),C(K),S(K7),S$(K7),P$(4),Z$(Q4),B$(4),M$(5):
  35. 70 B$(0)="10":B$(1)="15":B$(2)="20":B$(3)="40":B$(4)="80":
  36. 80 P$(0)="W":P$(1)="K":P$(2)="WA":P$(3)="WB":P$(4)="N":Q$="QWERTYUIOPASDFGHJKLZXCVBNM"
  37. 90 Z$(0)="CALL":Z$(1)="LOG":Z$(2)="BAND ":Z$(3)="CHECK":X$=CHR$(7)
  38. 100 Z$(4)="COLOR":Z$(5)="BREAK":Z$(6)="QSL":E$=" DE ":SAVE$="CQSS.DAT"
  39. 110 Z$(8)="REPEAT":Z$(9)="QRT":Z$(13)="DUPLICATE":
  40. 120 M$(0)="NUMBER":M$(1)="POWER":M$(4)=Z$(3):M$(5)="SECTION"
  41. 130 M$(2)=Z$(0):H=21:D=19:R$=" !#*":D$="NOVEMBER":N=1968:K$="CK":
  42. 140 Z$(7)="SEND":Z$(10)="TUNE":Z$(11)="RESTORE":Z$(12)="SAVE":M$(3)=Z$(3)
  43. 230 Z$(14)=M$(5):Z$(15)="HELP":Z$(16)="CQ":Z$(17)="WORKED"
  44.     Z$(18)="+MORE":Z$(Q4)="DEBUG"
  45. 240 S$(0)="CT":S$(1)="EMASS":S$(2)="ME":S$(3)="NH":S$(4)="RI"
  46.     S$(5)="VT":S$(6)="WMASS":S$(7)="ENY":S$(8)="NY-LI":
  47.     S$(9)="NNJ":S$(10)="SNJ":S$(11)="WNY":S$(12)="DE":
  48.     S$(13)="E.PA":S$(14)="M.DC":S$(15)="W.PA":S$(16)="ALA":
  49.     S$(17)="GA":S$(18)="KY":S$(19)="NC":S$(20)="NFLA":
  50.     S$(21)="SC":S$(22)="SFLA":S$(23)="TN":S$(24)="VA":
  51.     S$(25)="WI":S$(26)="ARKS":S$(27)="LA":S$(28)="MISS":
  52.     S$(29)="NM":S$(30)="N.TEX":S$(31)="OK":S$(32)="S.TEX":
  53.     S$(33)="CZ":S$(34)="E BAY":S$(35)="LAX":S$(36)="ORGE":
  54.     S$(37)="SB":S$(38)="SCV":S$(39)="SDG":S$(40)="SF"
  55.     S$(41)="SJV":S$(42)="SV":S$(43)="PCF":S$(44)="AZ":
  56.     S$(45)="ID":S$(46)="MT":S$(47)="NV":S$(48)="ORGN":
  57.     S$(49)="UT":S$(50)="WA":S$(51)="ALSK":S$(52)="WY":
  58.     S$(53)="MI":S$(54)="OH":S$(55)="W VA":S$(56)="IL":
  59.     S$(57)="IN":S$(58)="WSC":S$(59)="CO":S$(60)="IA":
  60.     S$(61)="KS":S$(62)="MN":S$(63)="MO":S$(64)="NB":
  61.     S$(65)="NDK":S$(66)="SDK":S$(67)="MAR":S$(68)="QB":
  62.     S$(69)="ONT":S$(70)="MAN"
  63.     S$(71)="SK":S$(72)="AB":S$(73)="BC":S$(74)="NWT"
  64.  
  65.     LOCATE 10,30: COLOR WCLR,WCLRBG: PRINT "QRX - LOADING CALLS"
  66. 301 open "CQSS.SS" for input as #1
  67.     INPUT#1, Mycall$
  68.     INPUT#1, MClr,MClrBG,PClr,PClrBG,KClr,KClrBG,LClr,LClrBG,WClr,WcLRbg,QClr,QClrBG,JCLR,JCLRBG
  69.     INPUT#1, Sect1,SectBG1,sect2,SectBG2,Sect3,SectBG3,Sect4,SectBG4,Sect5,SectBG5
  70.     INPUT#1, Sect6,SectBG6,Sect7,SectBG7,Sect8,SectBG8,Sect9,SectBG9,Sect10,SectBG10,Sect11,SectBG
  71.     FOR I=0 TO K
  72. 303 input#1, c$(i),c(i)
  73.     next:
  74. 305 CLOSE #1:PRINT: RANDOMIZE TIMER
  75.     gosub 5900
  76.     IF Mycall$ = "G3ZCZ" THEN GOTO 380 ELSE GOTO 395
  77. 380 LOCATE 5,1:INPUT "Are you a HAM Radio Operator";I$:IF LEFT$(I$,1)<>"Y" THEN 420
  78. 390 INPUT "Your Call";Mycall$: if Mycall$ = "" then 390
  79. 395 FOR I = 1 TO LEN(Mycall$): IF MID$(Mycall$,I,1) = "3" THEN 400 ELSE NEXT
  80.     IF RIGHT$(Mycall$,2)<>"/3" THEN Mycall$=Mycall$+"/3"
  81. 400 INPUT "Year First Licensed (19XX) ";N
  82. 410 IF N<1900 THEN PRINT "YOU MUST HAVE BEEN LICENSED BEFORE 1900":GOTO 400
  83. 420 F$=STR$(N-1900): print:
  84.     PRINT "The Station CALL is ";Mycall$:PRINT "The QTH is Silver Spring, Maryland ":
  85.     PRINT : PRINT
  86. 440 INPUT "DO YOU NEED INSTRUCTIONS ";I$:IF LEFT$(I$,1)="Y" THEN GOSUB 3300
  87.     N=1:gosub 500:PRINT "THE CONTEST HAS STARTED"+X$:GOSUB 5800: GOTO 1050
  88.     ' MAIN LOOP
  89. 500 color LClr,LClrBG
  90.     gosub 5900:GOSUB 4000:GOSUB 1170:GOSUB 9930:GOSUB 5020:GOSUB 5800
  91.     RETURN
  92. 700 color MClr,MClrBG
  93.     IF N>=K THEN 2010
  94.     LOCATE QRUL+1 ,1:PRINT "BAND ";
  95.     COLOR JClr,JClrBG: PRINT BI$;
  96.     color MClr,MClrBG:PRINT " NEXT QSO=";
  97.     COLOR JClr,JClrBG: PRINT N;
  98.     color MClr,MClrBG:print " TIME (GMT) ";
  99.     COLOR JClr,JClrBG:PRINT FNstring$(H);":";FNstring$(M);
  100.     color MClr,MClrBG:PRINT " ELAPSED ";
  101.     COLOR JClr,JClrBG:PRINT FNstring$(H1);":";FNstring$(M1);
  102.     color MClr,MClrBG:PRINT " C-DUPS ";
  103.     COLOR JClr,JClrBG: PRINT Ndupes;
  104.     color MClr,MClrBG:PRINT " C-LID ";
  105.     COLOR JClr,JClrBG: PRINT Nlids;
  106.     color MClr,MClrBG
  107. 710 IF Q1=0 AND RND(1)<0.1 THEN 2930
  108. 720 IF H1>24 OR D>=21 AND H>20 THEN PRINT "CONTEST IS OVER":GOTO 1480
  109. 730 color MClr,MClrBG:LOCATE QRUL,1:PRINT BLANK$:LOCATE QRUL,1
  110.     INPUT "QRU";I$:IF LEN(I$)<2 THEN PRINT "WHAT"+X$;:GOTO 730
  111. 735 FOR I=1 TO LEN(I$)
  112.     IF MID$(I$,I,1)=" " THEN I$=LEFT$(I$,I-1)::GOTO 740
  113.     NEXT
  114. 740 FOR I=0 TO Q4:IF I$=LEFT$(Z$(I),LEN(I$)) THEN 760
  115. 750 NEXT:I=15
  116. 760 GOSUB 5800
  117.     IF I>8 THEN ON I-8 GOTO 1480,1490,4600,4500,1980,3270,1340,930,1750,925,1730
  118. 770 ON I GOTO 840,1040,1090,1140,1240,1300,1350,1450
  119. 780 Q6=0:ON Q1 GOTO 800,1670,1700,1620
  120. 790 GOSUB 4400:color WClr,WClrBG:PRINT "CALL WHOM ?"+X$:
  121.     GOSUB 4400:PRINT "TRY TUNING OR PUT OUT A CQ":GOTO 700
  122. 800 IF L(7)=0 AND RND(1)>.5 THEN 1030
  123. 810 color WClr,WClrBG:PRINT "TRY SEND OR REPEAT, DON'T WASTE TIME";X$:GOTO 700
  124. 820 IF L(6)=0 AND RND(1)<0.1 THEN PRINT "REPEAT PLEASE":GOTO 700
  125. 830 Q1=0:GOTO 700
  126. 840 IF C(P)>K7 THEN color WClr,WClrBG:PRINT x$+"IN THE LOG ALREADY":GOSUB 4710:GOTO 700
  127. 850 IF Q5=0 THEN color WClr,WClrBG:PRINT X$ +"SEND HIM HIS REPORT FIRST":GOSUB 4700:GOTO 730
  128. 860 FOR I=0 TO 7:IF L(I)=0 THEN I=1:GOSUB 1580:GOTO 700
  129. 870 Q7=0:NEXT:Y=C(P):N=N+1
  130. 880 IF Y>K7 THEN Y=Y-B:GOTO 880
  131.     GOSUB 5000:GOSUB 5800
  132. 890 Y3=S(Y):S(Y)=1:C(P)=C(P)+B:
  133.     IF Y3=0 AND S(Y)=1 THEN GOSUB 4200 'ONLY UPDATE IF NEW ONE
  134.     GOSUB 920:Q1=0:GOSUB 1170:GOSUB 5800
  135. 900 IF Q6=1 AND RND(1)>.5 OR RND(1)<0.1 THEN 930
  136. 910 GOTO 700
  137. 920 Q5=0:FOR I=0 TO 7:L(I)=0:NEXT:RETURN
  138. 925 ' show keys
  139.     IF K1=1 THEN K1=0 ELSE K1=1
  140.     gosub 9930:goto 700
  141. 930 Q6=1:Y=24:GOSUB 1770: IF Y5=0 THEN 700 'CQ
  142. 940 IF RND(1)<0.1 THEN GOSUB 4400:PRINT "FREQUENCY IS IN USE OM":GOTO 700
  143. 950 IF RND(1)<0.1 OR B=B4 AND H>=20 AND RND(1)>.5 THEN GOSUB 4400:PRINT R$;" QRM ";R$:GOTO 700
  144. 960 IF Q7=0 THEN GOSUB 1970
  145. 970 IF Q7=1 AND Q1=1 THEN N1=N1+1
  146. 980 GOSUB 1900:Q1=1:GOSUB 4400:PRINT Mycall$;E$;C$(P):L(2)=1
  147. 990 IF C(P)>K7 AND Q6=1 AND RND(1)< 0.2 THEN 700
  148. 1000 IF C(P)>K7 AND Q6=1 THEN 1020
  149. 1010 IF C(P)>K7 AND RND(1)>.5 THEN GOSUB 4400:PRINT "WE'VE WORKED OM !":GOTO 700
  150. 1020 IF RND(1)>.5 THEN 700
  151. 1030 J$=Mycall$:GOSUB 1860: GOTO 700
  152. 1040 ' CHANGE BAND
  153. 1050 color MClr,MClrBG:LOCATE QRUL,1:PRINT BLANK$:LOCATE QRUL,1:INPUT "WHICH BAND ";BI$:
  154.      FOR I=0 TO 4:IF BI$=B$(I) THEN 1070
  155. 1060 NEXT:COLOR WCLR, WCLRBG: LOCATE TXL+3,2:PRINT "ONLY WORKING 10, 15, 20, 40 and 80" : GOTO 1050
  156. 1070 GOSUB 5800: IF B=(1+I)*B1 THEN 700
  157. 1080 B=(1+I)*B1:GOSUB 920:GOTO 700
  158. 1090 COLOR wCLR, WCLRbg:IF L(2)=0 AND L(5)=0 THEN PRINT "CHECK WHAT":GOTO 700
  159. 1100 IF C(P)>=B1 THEN GOSUB 4400:PRINT C$(P);" WORKED ON ";B$(INT(C(P) / B1)-1):GOTO 700
  160. 1110 Y=C(P):
  161. 1115 IF Y>=B1 THEN Y=Y-B1:GOTO 1115
  162. 1120 IF L(5)=1 THEN GOSUB 4400:PRINT "SECTION " ;:IF S(Y)=1 THEN PRINT "WORKED":GOTO 700
  163. 1130 PRINT "NOT WORKED YET":GOTO 700
  164. 1140 'VIEW COLOR COMBINATIONS
  165.      COLOR 15,0: cls
  166.      LOCATE 2,2 :PRINT "COLOR COMBINATIONS, FOREGROUND,BACKGROUND NUMBERS"
  167.      for i = 0 to 15: for j = 0 to 8
  168.      color i,  j :LOCATE I+4,1+J*6:print I;j;:
  169.      next j:print:next i: COLOR 31,0
  170.      PRINT:PRINT"ADD 16 TO FOREGROUND FOR BLINKING":PRINT:COLOR 15,0
  171.      GOSUB 3900:GOSUB 500:GOTO 700
  172. 1170 COLOR  QCLR,QClrBG
  173.      LOCATE SCORER,SCOREC:  PRINT "╔═══════════ STATUS ═══════════╗"
  174.      LOCATE SCORER+1,SCOREC:print "║ QSO'S   SECTIONS    SCORE    ║"
  175.      LOCATE SCORER+2,SCOREC:print "║                              ║"
  176.      LOCATE SCORER+2,SCOREC+2:PRINT N-1 ;
  177.      Y9=0:FOR J=0 TO K7:IF S(J)=1 THEN Y9=Y9+1
  178.      NEXT:LOCATE SCORER+2,SCOREC+14:PRINT Y9
  179.      LOCATE SCORER+2,SCOREC+ 22:PRINT 2*(N-1)*Y9 ;:
  180.      LOCATE SCORER+3,SCOREC:print "║ RATE                         ║"
  181.      LOCATE SCORER+3,SCOREC+10
  182.      IF H1=0 AND M1=0 THEN PRINT "-"; ELSE PRINT INT((N-1)*60/(H1*60+M1)) ;
  183.      PRINT "QSO'S/HOUR"
  184.      LOCATE SCORER+4,SCOREC: print"╚══════════════════════════════╝";
  185.      RETURN
  186. 1240 color MClr,MClrBG:
  187.      LOCATE QRUL,1:PRINT BLANK$:LOCATE QRUL,1:INPUT "HOURS ";H2: IF H2<0 THEN 1240
  188. 1245 LOCATE QRUL,1:PRINT BLANK$:LOCATE QRUL,1:INPUT "MINUTES ";Y: IF Y<0 THEN 1245
  189.      IF H2=0 AND Y=0 THEN GOTO 700
  190.      IF H2=0 AND Y<15 THEN I=5:GOSUB 1580:GOTO 1240
  191. 1250 IF H2>=24 OR Y>=60 THEN GOSUB 1290:IF LEFT$(I$,1)<>"Y" THEN 1240
  192. 1260 M=M+Y:IF M>=60 THEN M=M-60:H=H+1
  193. 1270 H=H+H2:IF H>=24 THEN H=H-24:D=D+1
  194. 1280 GOSUB 920:Q1=0:GOTO 700
  195. 1290 GOSUB 4400:color WClr,WClrBG:
  196.      INPUT "ARE YOU SURE YOU MEANT THAT";I$:RETURN
  197. 1300 IF L(7)=1 THEN GOSUB 4400:PRINT "73, SEE YOU LATER":GOTO 700
  198. 1310 IF RND(1)>0.1 THEN L(7)=1:GOSUB 4400:PRINT "ROGER":GOTO 700
  199. 1320 IF RND(1)>=0.1 THEN GOSUB 4400:PRINT "DO YOU QSL ?"
  200. 1330 GOTO 700
  201. 1340 GOSUB 3300:gosub 500:GOTO 700
  202. 1350 COLOR wCLR, WCLRbg:' ME SENDING
  203.      IF L(2)=0 OR Q1=0 THEN PRINT X$+"TO WHOM":GOTO 700
  204. 1360 IF Q1<>1 THEN PRINT "TUT TUT-CALL HIM FIRST";X$:GOTO 700
  205.      COLOR PClr, PClrBG: GOSUB 4400:
  206. 1370 GOSUB 4400:PRINT L$(2);" UR";N ;:PRINT "A";E$;Mycall$ ;:PRINT " ";K$;" ";F$;" MD K"
  207. 1380 GOSUB 4400:IF RND(1)<0.1 THEN PRINT Mycall$;" PLEASE REPEAT";E$;C$(P):GOTO 700
  208. 1390 Q5=1:L(6)=1:IF L(7)=1 THEN PRINT "QSL":GOTO 700
  209. 1400 IF RND(1)>.5 THEN J$=Mycall$:GOSUB 1860:GOSUB 4400:PRINT "DO YOU QSL ?"
  210. 1410 GOTO 700
  211.  
  212. 1450 IF Q1<>1 THEN COLOR WCLR,WCLRBG:PRINT "CALL HIM FIRST"+X$:GOTO 700
  213. 1460 IF RND(1)>0.1 THEN J$=Mycall$:GOSUB 1860:GOTO 700
  214. 1470 GOSUB 4400:PRINT "SORRY OM, QRM ... TRY AGAIN":GOTO 700
  215. 1480 GOTO 3500 ' CONTEST IS OVER
  216. 1490 IF B<400 AND H>16 AND RND(1)<0.1 THEN GOSUB 3110:GOTO 700
  217. 1500 IF RND(1)>=.6 AND B=B4 AND (H>=20 OR H<6) THEN GOSUB 3170:GOTO 700
  218. 1510 GOSUB 920:Q1=0:Y=26:GOSUB 1770:IF Y5=0 THEN 700
  219. 1520 L(2)=1:Q1=INT(RND(1)*3)+2:ON Q1 GOTO 1530,1540,1550
  220. 1530 GOSUB 4400:PRINT "QRZ";E$;C$(P):GOTO 700
  221. 1540 FOR T=0 TO INT(RND(1)*3):GOSUB 4400:PRINT "CQ CQ CQ";E$ ;C$(P):NEXT:PRINT: GOTO 700
  222. 1550 GOSUB 1810:GOSUB 4400:PRINT C$(K);E$;C$(P):IF RND(1)>.5 THEN 700
  223. 1560 Q7=1:GOSUB 1970
  224. 1570 GOSUB 1900:J$=C$(K):GOSUB 1860:GOTO 700
  225. 1580 COLOR WCLR,WCLRBG:GOSUB 4400:PRINT "THAT'S AGAINST THE RULES"; X$:GOSUB 4400:
  226. 1590 IF I=1 THEN PRINT "QSO NOT COMPLETED"
  227. 1600 IF I=5 THEN PRINT "15 MINUTE MINIMUM"
  228. 1610 GOSUB 4700:RETURN
  229. 1620 IF RND(1)>.5 THEN 1850
  230. 1630 IF Q7=1 AND RND(1)>.5 THEN 970
  231. 1640 IF RND(1)>.5 THEN Q1=2:GOTO 1530
  232. 1650 GOSUB 4400:IF RND(1)<.5 THEN PRINT "PLEASE, I'M IN QSO":GOTO 700
  233. 1660 PRINT C$(K);E$;C$(P);" SORRY QRM, REPEAT":GOTO 700
  234. 1670 IF RND(1)>.5 THEN 1530
  235. 1680 IF RND(1)<0.1 THEN Q1=3:GOTO 1540
  236. 1690 Q1=1:GOTO 960
  237. 1700 IF RND(1)>.5 THEN 1540
  238. 1710 IF RND(1)>.5 THEN Q1=2:GOTO 1530
  239. 1720 Q1=1:GOTO 960
  240. 1730 CLS:I = 0:FOR J=0 TO K:PRINT C$(J);C(j);:IF C(J)>K7 THEN PRINT "*" ;: I = I+1
  241.      PRINT,:NEXT:PRINT:PRINT I: PRINT: GOSUB 3900:GOSUB 500:GOTO 700
  242. 1750 CLS:i = 0: FOR J=0 TO K '- 1:
  243.      IF C(J)>K7 THEN PRINT C$(J);C(j), : i = i+1
  244. 1760 NEXT:print:print i: print:GOSUB 3900:PRINT:GOSUB 500:GOTO 700
  245. 1770 Y=RND(1)*Y+4:FOR T=0 TO 2:GOSUB 2860:GOSUB 2820:GOSUB 2030
  246. 1780 IF Y5=0 OR RND(1)<.1 THEN NEXT:GOTO 1800
  247. 1790 IF Y5=1 THEN GOSUB 1900
  248. 1800 RETURN
  249. 1810 I=K:T=INT(RND(1)*3+2):J$=P$(INT(RND(1)*3))
  250. 1820 C$(I)=J$+RIGHT$(STR$(T),1):GOSUB 2920:GOSUB 2920:GOSUB 2920
  251. 1830 IF C$(I)=Mycall$ THEN 1810
  252. 1840 RETURN
  253. 1850 GOSUB 1810:J$=C$(K):GOSUB 1860:N1=N1+1:Q7=1:GOTO 700
  254. 1860 L$(0)= STR$(N1):
  255. L(7)=1:GOSUB 4400:PRINT J$;" UR" ;:
  256. 1870 FOR J=0 TO 5:IF L(J)=1 OR RND(1)>=0.1 THEN L(J)=1:PRINT " ";L$(J) ;:GOTO 1890
  257. 1880 PRINT R$ ;
  258. 1890 NEXT:PRINT: RETURN
  259. 1900 FOR J=1 TO 26:IF RIGHT$(C$(P),1)<>MID$(Q$,J,1) THEN NEXT
  260. 1910 L$(1)="A":IF J>=12 THEN L$(1)="B"
  261. 1920 Y8=0:FOR J=1 TO 3:Y8=Y8+ASC(MID$(RIGHT$(C$(P),3),J,1)):NEXT
  262. 1930 L$(4)=STR$(INT(Y8/2-57)):L$(0)=STR$(N1)
  263. 1940 L$(2)=C$(P):L$(3)=K$:Y=C(P)
  264. 1950 IF Y>=B1 THEN Y=Y-B1:GOTO 1950
  265. 1960 L$(5)=S$(Y):RETURN
  266. 1970 N1=1+INT(N*1.2*RND(1)):RETURN
  267. 1980 IF RND(1)<0.1 THEN 700
  268. 1990 IF RND(1)>.5 THEN GOSUB 4400:PRINT "SORRY"
  269. 2000 Q1=0:GOTO 900
  270. 2010 COLOR WCLR,WCLRBG: GOSUB 4400:PRINT "ANTENNA BLEW DOWN IN WIND"
  271. 2020 GOSUB 4400:PRINT "NO WAY  TO FIX IT - QRT":GOTO 1480
  272. 2030 IF C(P)<B1 THEN 2070
  273. 2040 X1=C(P)
  274. 2050 C(P)=C(P)-B1:IF C(P)>=B1 THEN 2050
  275. 2060 GOSUB 2070: C(P)=X1: RETURN
  276. 2070 Y5=0:IF C(P)=14 OR C(P)=24 THEN 2810
  277. 2080 IF C(P)<8 THEN 2230
  278. 2090 IF C(P)<12 THEN 2280
  279. 2100 IF C(P)<16 THEN 2310
  280. 2110 IF C(P)=25 THEN 2710
  281. 2120 IF C(P)<25 THEN 2340
  282. 2130 IF C(P)=33 THEN 2750
  283. 2140 IF C(P)<33 THEN 2380
  284. 2150 IF C(P)=43 THEN 2640
  285. 2160 IF C(P)<43 THEN 2420
  286. 2170 IF C(P)=51 THEN 2640
  287. 2180 IF C(P)<53 THEN 2480
  288. 2190 IF C(P)<56 THEN 2530
  289. 2200 IF C(P)<59 THEN 2550
  290. 2210 IF C(P)<67 THEN 2580
  291. 2220 ON C(P)-67 GOTO 2280,2530,2550,2580,2480,2480,2480
  292. 2230 IF B=B4 OR B=B5 AND H<12 OR B=B3 AND H>=20 AND RND(1)>.5 THEN 2810
  293. 2240 IF B=B3 AND (H<20 AND H>=12 OR RND(1)>.5 AND H>=8) THEN 2810
  294. 2250 IF B=B2 AND (H>=20 OR H>=8 AND H<12) AND RND(1)<0.1 THEN 2810
  295. 2260 IF B=B1 AND (H>=12 AND Q=2 AND H<20 OR H>=20 AND RND(1)>.5) THEN 2810
  296. 2270 RETURN
  297. 2280 IF B=B3 AND (H>=8 AND H<12 OR H>=20) AND RND(1)>.5 THEN 2810
  298. 2290 IF B>=B4 OR B=B1 AND Q=1 AND RND(1)<.5 AND H<16 AND H>=12 THEN 2810
  299. 2300 RETURN
  300. 2310 IF B=B5 OR B=B4 AND H<8 AND RND(1)>.5 THEN 2810
  301. 2320 IF B=B4 AND (H>=20 OR H>=8 AND H<12) THEN 2810
  302. 2330 RETURN
  303. 2340 IF B=B4 OR B=B3 AND H>=8 OR B=B1 AND Q=3 AND H>=12 AND RND(1)>.5 THEN 2810
  304. 2350 IF B=B2 AND H<20 AND H>=12 AND RND(1)>.5 THEN 2810
  305. 2360 IF B=B5 AND H<16 OR (H>=20 OR H<12) AND RND(1)>.5 THEN 2810
  306. 2370 RETURN
  307. 2380 IF B<B4 AND H>=12 AND H<20 OR B=B4 AND H<8 THEN 2810
  308. 2390 IF B=B5 AND (H<8 AND H>=4 OR H<4 AND RND(1)>.5) THEN 2810
  309. 2400 IF RND(1)>.5 AND (H>=20 OR H>=8 AND H<12) THEN 2810
  310. 2410 RETURN
  311. 2420 IF H<8 AND H>=12 AND RND(1)<0.1 THEN 2810
  312. 2430 IF B<B4 AND H>=12 AND H<20 OR B>=B3 AND H<8 AND H>=4 THEN 2810
  313. 2440 IF H>=20 AND B<B3 AND RND(1)>.5 THEN 2810
  314. 2450 IF H>=20 AND (B=B3 OR B=B4 AND RND(1)<0.1) THEN 2810
  315. 2460 IF H<4 AND (B=B4 OR B=B5 AND RND(1)>.5) THEN 2810
  316. 2470 RETURN
  317. 2480 IF B<B4 AND H<20 AND H>=12 THEN 2810
  318. 2490 IF H>=20 AND B>B1 AND B<B5 AND RND(1)>.5 THEN 2810
  319. 2500 IF B=B4 AND (H<8 OR H>=20 AND RND(1)>.5) THEN 2810
  320. 2510 IF B=B5 AND (H<8 AND H>=4 OR H<4 AND RND(1)>.5) THEN 2810
  321. 2520 RETURN
  322. 2530 IF B=B5 OR B=B4 AND (H>=8 OR RND(1)>.5) THEN 2810
  323. 2540 RETURN
  324. 2550 IF B=B4 OR B=B5 AND (H<8 OR RND(1)>.5 AND H<12 OR H>=20) THEN 2810
  325. 2560 IF B=B3 AND H>=12 AND H<20 THEN 2810
  326. 2570 RETURN
  327. 2580 IF B>B3 AND H<8 OR H<12 AND RND(1)>.5 THEN 2810
  328. 2590 IF B=B1 AND Q=5 AND H>=12 AND RND(1)>.5 THEN 2810
  329. 2600 IF B=B2 AND H<20 AND H>=12 AND RND(1)>.5 THEN 2810
  330. 2610 IF B=B3 AND (H<20 AND H>=12 OR H>=20 AND RND(1)>.5) THEN 2810
  331. 2620 IF H>=20 AND (B=B4 AND RND(1)>.5 OR B=B5 AND RND(1)<0.1) THEN 2810
  332. 2630 RETURN
  333. 2640 IF B<B4 AND H<20 AND H>=16 THEN 2810
  334. 2650 IF B=B3 AND (H>=12 AND RND(1)>.5 OR H>=8 AND H<12 AND RND(1)<0.1) THEN 2810
  335. 2660 IF B=B1 AND H>=12 AND (H<20 OR RND(1)>.5) THEN 2810
  336. 2670 IF B=B2 AND (H<16 AND H>=12 AND RND(1)>.5 OR H>=20 AND RND(1)<0.1) THEN 2810
  337. 2680 IF B=B4 AND H<8 AND (H>=4 OR RND(1)>.5) THEN 2810
  338. 2690 IF B=B5 AND H>=4 AND H<8 AND RND(1)>.5 THEN 2810
  339. 2700 RETURN
  340. 2710 IF B=B5 AND H<8 OR B<B4 AND H>=8 AND H<20 THEN 2810
  341. 2720 IF H>=20 AND (B=B1 AND RND(1)>.5 OR B=B2 OR B=B3) THEN 2810
  342. 2730 IF B=B4 AND (H>=4 AND H<8 OR H<4 AND RND(1)<0.1) THEN 2810
  343. 2740 RETURN
  344. 2750 IF B<B3 AND H<20 AND (H>=12 AND H<16 OR H>=8 AND RND(1)>.5) THEN 2810
  345. 2760 IF H>=20 AND (B=B2 OR B=B4) AND RND(1)>.5 THEN 2810
  346. 2770 IF H>=16 AND B=B3 OR B=B4 AND H<8 THEN 2810
  347. 2780 IF B=B4 AND RND(1)>.5 AND H<12 THEN 2810
  348. 2790 IF B=B5 AND H<8 AND (H>=4 OR RND(1)>.5) THEN 2810
  349. 2800 RETURN
  350. 2810 Y5=1:RETURN
  351. 2820 P=INT(RND(1)*K)*(INT(RND(1)*10)):FOR P9 = 1 TO 5:P=P+INT(RND(1)*K):NEXT
  352. 2830 IF P>K THEN P=P-K :GOTO 2830
  353. 2840 IF B=B1 AND RND(1)>0.01 THEN Q=Q+INT(RND(1)+4):IF Q>5 THEN Q=Q-5
  354. 2850 RETURN
  355. 2860 S1=S1+Y:IF S1<60 THEN RETURN
  356. 2870 S1=S1-60:M1=M1+1:M=M+1:IF S1>=60 THEN 2870
  357. 2880 IF M>=60 THEN M=M-60:H=H+1:GOTO 2880
  358. 2890 IF M1>=60 THEN M1=M1-60:H1=H1+1:GOTO 2890
  359. 2900 IF H<24 THEN RETURN
  360. 2910 H=H-24:D=D+1:RETURN
  361. 2920 I$=MID$(Q$,INT(RND(1)*26)+1,1):C$(I)=C$(I)+I$:RETURN
  362. 2930 IF RND(1)>0.05 THEN 700
  363. 2935 IF RND(1)>0.5 THEN 700
  364. 2940 X3=INT(RND(1)*10)+1:GOSUB 5800:COLOR WCLR, WCLRBG: GOSUB 4400:
  365. 2950 ON X3 GOTO 2960,2970,2980,2960,2960,2960,2960,2960,3070,3020,2960
  366. 2960 PRINT "TIMEOUT IN THE BATHROOM":Y=20:GOTO 2990
  367. 2970 PRINT "TIMEOUT  TO CLEAR UP SPILT COFFEE":Y=5:GOTO 2990
  368. 2980 PRINT "KIDS ARE FIGHTING..TIMEOUT":Y=16
  369. 2990  GOSUB 4400:Y=INT(RND(1)*Y)+3:
  370.       COLOR PClr, PClrBG:PRINT "OFF THE AIR FOR ";Y;" MIN"
  371. 3000 IF Y>14 THEN H2=0:GOTO 1260
  372. 3010 Y=Y*60:GOSUB 2860:GOTO 700
  373. 3020 IF RND(1)*10<.5 THEN 2010
  374. 3030 GOSUB 4400:PRINT "POWER LINE BLACKOUT":H2=INT(RND(1)*5):Y=INT(RND(1)*24)+8
  375. 3040 COLOR PClr, PClrBG:GOSUB 4400::PRINT "POWER CAME BACK ON AFTER ";H2;" HRS";Y;" MIN"
  376. 3050 IF H2=0 AND Y<15 THEN Y=Y*60:GOSUB 2860:GOTO 700
  377. 3060 GOTO 1260
  378. 3070 GOSUB 4400:PRINT "FINAL TUBES BLEW OUT":COLOR PClr, PClrBG:
  379. 3090 GOSUB 4400::PRINT "LUCKY YOU, SPARES ARE TO HAND "
  380. 3100 GOSUB 4400::PRINT "REPLACING THEM NOW":Y=60:GOTO 2990
  381. 3110 I$="YV4":IF RND(1)>.5 THEN I$="HK3"
  382.      GOSUB 3160:GOSUB 3160:GOSUB 3160:
  383. 3120 J$="MIAMI":IF RND(1)>.5 THEN J$="LOS ANGELES" ELSE IF RND(1)>.3 THEN J$="WASHINGTON DC"
  384. 3130 GOSUB 4400:PRINT "CQ CQ CQ DE ";
  385. 3140 GOSUB 4400:PRINT "THIS IS ";I$;" LOOKING FOR A PHONE PATCH"
  386.      GOSUB 4400:PRINT "INTO ";J$
  387. 3150 RETURN
  388. 3160 I$=I$+MID$(Q$,INT(RND(1)*26)+1,1):RETURN
  389. 3170 X3=INT(RND(1)*4):
  390.      IF RND(1)>.5 THEN BBC$="THIS IS " ELSE BBC$="YOU ARE LISTENING TO "
  391. 3190 ON X3 GOTO 3210,3220,3230
  392. 3200 BBC$=BBC$+"RADIO MOSCOW":GOTO 3240
  393. 3210 BBC$=BBC$+ "RADIO PEKING":GOTO 3240
  394. 3220 BBC$=BBC$+ "RADIO ALBANIA":GOTO 3240
  395. 3230 BBC$=BBC$+ "THE BBC":
  396. 3240 GOSUB 4400:PRINT BBC$:GOSUB 4400:
  397.      IF RND(1)<0.2 THEN PRINT "THIS IS RADIO NEWSREEL":GOTO 3260
  398.      IF RND(1)>.5 THEN PRINT "A NEWS BROADCAST FOLLOWS":GOTO 3260
  399. 3250 IF RND(1)>.5 THEN GOTO 3260
  400.      GOSUB 4400:PRINT "YOU HAVE BEEN LISTENING"
  401.      GOSUB 4400:PRINT "TO A COMMENTARY ON THE NEWS"
  402. 3260 RETURN
  403. 3270 GOSUB 4000:GOTO 700 ' REDISPLAY SECTION WINDOW
  404. 3300 CLS:PRINT Z$(0),"CALL OTHER STATION"
  405. 3310 PRINT Z$(1),"ENTER CONTACT IN LOG"
  406. 3320 PRINT Z$(2),"CHANGE BANDS"
  407. 3330 PRINT Z$(3),"CHECK TO SEE IF WORKED"
  408. 3340 PRINT Z$(4),"VIEW COLOR COMBINATIONS FOR CUSTOMISING"
  409. 3350 PRINT Z$(5),"TAKE A BREAK (TIMEOUT)"
  410. 3360 PRINT Z$(6),"CONFIRM RECEPTION OF CONTEST DATA "
  411. 3370 PRINT Z$(7),"SEND YOUR DATA TO OTHER STATION"
  412. 3380 PRINT Z$(8),"REQUEST REPEAT OF OTHER STATION'S DATA "
  413. 3390 PRINT Z$(9),"GIVE UP AND SWITCH OFF EQUIPMENT"
  414. 3400 PRINT Z$(10),"TUNE ACROSS BAND "
  415. 3410 PRINT Z$(11),"RESTORE SAVED GAME"
  416. 3420 PRINT Z$(12),"SAVE STATE of CONTEST GAME"
  417. 3430 PRINT Z$(13),"TELL OTHER STATION THAT YOU HAVE WORKED BEFORE"
  418. 3440 ' PRINT Z$(14),"LIST SECTIONS STILL NEEDED"
  419. 3450 PRINT Z$(15),"RECEIVE SUMMARY OF INSTRUCTIONS"
  420. 3460 PRINT Z$(16),"CALL ";Z$(16)
  421. 3470 PRINT ' Z$(17),"LIST OF STATIONS WORKED (UNSORTED)"
  422. 3480 ' PRINT "YOU MAY TYPE FIRST TWO LETTERS FOR ALL ENTRIES, EXCEPT",
  423. 3490 ' PRINT Z$(14);" (TYPE 3)":
  424.      PRINT:GOSUB 3900:RETURN
  425. 3500 GOSUB 4400 :PRINT "HOPE YOU ENJOYED THE CONTEST":goto 9999
  426. 3900  INPUT "PUSH ENTER TO CONTINUE "; DUMMY$:RETURN
  427. 4000 ' show sections
  428.       color LClr,LClrBG:joel=2:joes=48:
  429.       locate joel,joes-1:print  "╔══════ SECTIONS NEEDED ═══════╗"
  430.       joel=joel+1
  431.       FOR JOE=0 TO k7 STEP 5
  432.        color LClr,LClrBG:
  433.        locate joel,joes-1:print "║                              ║"
  434.        locate joel,joes:JoeQ=joe:GOSUB 4100
  435.        locate joel,joes+6:JoeQ=joe+1:GOSUB 4100
  436.        locate joel,joes+12:JoeQ=joeq+1:GOSUB 4100
  437.        locate joel,joes+18:JoeQ=joeq+1:GOSUB 4100
  438.        locate joel,joes+24:JoeQ=joeq+1:GOSUB 4100
  439.      joel=joeL +1
  440.      next joe
  441.        color LClr,LClrBG:
  442.        locate joeL,joes-1:print"╚══════════════════════════════╝";
  443.      return
  444.  
  445. 4100 ' CHANGE COLORS
  446.        IF JOEQ=0 THEN  DCLR=Sect1:DCLRBG=SectBG1
  447.        IF JoeQ=7 THEN  DcLR=Sect2:DclrBG=SectBG2
  448.        IF JoeQ=12 THEN  DcLR=Sect3:DclrBG=SectBG3
  449.        IF JoeQ=16 THEN  DcLR=Sect4:DclrBG=SectBG4
  450.        IF JoeQ=26 THEN  DcLR=Sect5:DclrBG=SectBG5
  451.        IF JoeQ=34 THEN  DcLR=Sect6:DclrBG=SectBG6
  452.        IF JoeQ=44 THEN  DcLR=Sect7:DclrBG=SectBG7
  453.        IF JoeQ=53 THEN  DcLR=Sect8:DclrBG=SectBG8
  454.        IF JoeQ=56 THEN  DcLR=Sect9:DclrBG=SectBG9
  455.        IF JoeQ=59 THEN  DcLR=Sect10:DclrBG=SectBG10
  456.        IF JoeQ=67 THEN  DcLR=Sect11:DclrBG=SectBG11
  457.        COLOR DcLR, DclrBG
  458.        IF S(JoeQ)=1 THEN PRINT "      "; ELSE print LEFT$(S$(JoeQ)+"    ",6);
  459.      RETURN
  460.  
  461. 4200 ' Y=SECTION NUMBER SHOW JUST SECTION NUMBER
  462.        DCLR=Sect1:DCLRBG=SectBG1
  463.        IF Y>=34 THEN  DcLR=Sect2:DclrBG=SectBG6:GOTO 4220
  464.  
  465.        IF Y>=12 THEN  DcLR=Sect2:DclrBG=SectBG3:GOTO 4210
  466.        IF Y>=7 THEN  DcLR=Sect2:DclrBG=SectBG2
  467.        GOTO 4250
  468. 4210   IF Y>=26 THEN  DcLR=Sect2:DclrBG=SectBG5:GOTO 4250
  469.        IF Y>=16 THEN  DcLR=Sect2:DclrBG=SectBG4
  470.        GOTO 4250
  471. 4220   IF Y>=56 THEN  DcLR=Sect2:DclrBG=SectBG9 :GOTO 4240
  472.        IF Y>=53 THEN  DcLR=Sect2:DclrBG=SectBG8:GOTO 4250
  473.        IF Y>=44 THEN  DcLR=Sect2:DclrBG=SectBG7
  474.        GOTO 4250
  475. 4240   IF Y>=67 THEN  DcLR=Sect2:DclrBG=SectBG11:GOTO 4250
  476.        IF Y>=59 THEN  DcLR=Sect2:DclrBG=SectBG10
  477. 4250 COLOR DcLR, DclrBG
  478.      joel=3:joes=48:Y1=INT(Y/5):Y2=Y-Y1*5
  479.      JOEL=Y1 +JOEL:JOES=JOES+(6*Y2)
  480.      locate joel,joes:PRINT "      ";
  481.      RETURN
  482. 4400 ' position cursor
  483.      row=csrlin : col=2+posn : locate row,col: return
  484. 4500 ' save
  485. 4510 color PClr,PClrBG:LOCATE QRUL,1:PRINT BLANK$:LOCATE QRUL,1
  486.      print "Save Game to what file ("+SAVE$+") ";: INPUT SAVE1$
  487.      IF SAVE1$ <> "" THEN SAVE$ = SAVE1$
  488.      IF SAVE$ = "" THEN 700
  489.      COLOR WCLR, WCLRBG:LOCATE TXL+2,10:PRINT "QRX - SAVING GAME";
  490.      open "O" ,#2, SAVE$
  491.      WRITE#2, Ndupes,NLIDS
  492.      for i=0 to k7:write#2, s(i):next
  493.      for i=0 to k:write#2, c(i):next
  494.      write #2, d,h1,m1,h,m,n,n1,b,BI$
  495.      write #2, L0$,L1$,L2$,L3$,L4$,L5$,L6$,L7$,L8$,L9$,L10$,L11$,L12$,L13$
  496.      close#2 : LOCATE TXL+2,10:PRINT "                 ";
  497.      goto 700
  498. 4600 ' RESTORE
  499.      color PClr,PClrBG:LOCATE QRUL,1:PRINT BLANK$:LOCATE QRUL,1
  500.      PRINT "Restore Game from what file ("+SAVE$+") ";: INPUT SAVE1$
  501.      IF SAVE1$ <> "" THEN SAVE$ = SAVE1$
  502.      IF SAVE$ = "" THEN 700
  503.      COLOR WCLR, WCLRBG:LOCATE TXL+2,10:PRINT "QRX - RESTORING GAME";
  504.      open "I" ,#3,SAVE$
  505.      INPUT#3, Ndupes,NLIDS
  506.      for i=0 to k7:INPUT#3, s(i):next
  507.      for i=0 to k:INPUT#3, c(i):next
  508.      INPUT#3, d,h1,m1,h,m,n,n1,b,BI$
  509.      INPUT#3, L0$,L1$,L2$,L3$,L4$,L5$,L6$,L7$,L8$,L9$,L10$,L11$,L12$,L13$
  510.      close#3
  511.      GOSUB 500:goto 700
  512. 4700 nlids=Nlids+1:RETURN ' LID COUNT
  513. 4710 Ndupes=Ndupes+1:RETURN ' DUP ATTEMPT
  514. 5000 ' LOGGING UPDATES
  515.      L0$=BLANK$:DAY$=STR$(D):
  516.      MID$(L0$,1)="68/11/"+ FNstring$(D) ' RIGHT$(DAY$,2)
  517.      MID$(L0$,10)=FNstring$(H)+":"+FNstring$(M)
  518.      MID$(L0$,16)=BI$:
  519.      L00$ = RIGHT$(" 000" + STR$(N1),4):
  520.      ' L00$ = RIGHT$(L00$,4):
  521.   FOR I5=1 TO 4
  522.     IF MID$(L00$,I5,1)=" " THEN MID$(L00$,I5,1)="0"
  523.   NEXT : IF LEFT$(L00$,1)="0" THEN MID$(L00$,1,1)=" "
  524.      MID$(L0$,19)=L00$:
  525.      MID$(L0$,23)=L$(1):  MID$(L0$,25)=C$(P):
  526.      MID$(L0$,35)=L$(4):  MID$(L0$,39)=S$(Y)
  527.      L13$=L12$:L12$=L11$:L11$=L10$:L10$=L9$:L9$=L8$:L8$=L7$:L7$=L6$:
  528.      L6$=L5$:L5$=L4$:L4$=L3$:L3$=L2$:L2$=L1$:L1$=L0$:
  529. 5020 COLOR LClr,LClrBG
  530.      LOCATE 2,1:PRINT "╔══════════════ LOG ENTRIES ═════════════════╗"
  531.      I=3:GOSUB 5780:PRINT L13$:I=I+1:GOSUB 5780:PRINT L12$:
  532.      I=I+1:GOSUB 5780:PRINT L11$:I=I+1:GOSUB 5780:PRINT L10$
  533.      I=I+1:GOSUB 5780:PRINT L9$:I=I+1:GOSUB 5780:PRINT L8$:
  534.      I=I+1:GOSUB 5780:PRINT L7$:I=I+1:GOSUB 5780:PRINT L6$
  535.      I=I+1:GOSUB 5780:PRINT L5$:I=I+1:GOSUB 5780:PRINT L4$:
  536.      I=I+1:GOSUB 5780:PRINT L3$:I=I+1:GOSUB 5780:PRINT L2$
  537.      I=I+1:GOSUB 5780:PRINT L1$:
  538.      LOCATE 16,1:PRINT"╚"; BAR$;"╝";
  539.      RETURN
  540.  
  541. 5780 LOCATE I,1:PRINT "║";BLANK$;"║":LOCATE I,2:RETURN
  542.  
  543. 5800 COLOR PClr, PClrBG:
  544.      LOCATE TXL-1,1:PRINT "╔";  BAR$;"╗"
  545.                      PRINT "║";BLANK$;"║"
  546.                     PRINT "║";BLANK$;"║"
  547.                     PRINT "║";BLANK$;"║"
  548.                     PRINT "║";BLANK$;"║"
  549.      LOCATE txl +4,1:print"╚";  BAR$;"╝";
  550.      LOCATE TXL,2
  551.      RETURN
  552. 5900 color LClr,LClrBG:cls:LOCATE 1,10:
  553.      PRINT "PC-HAM SWEEPSTAKES CONTEST Version 3.3 (c) G3ZCZ 1990"
  554.      return
  555. 8000 COLOR WCLR, WCLRBG:LOCATE TXL+2,10:
  556.      if erl=301 THEN print "FILE CALLS.SS MISSING"
  557.      if erl=303 then PRINT "ERROR READING CALLS.SS"
  558.      if erl=305 then PRINT "ERROR CLOSING CALLS.SS"
  559.      IF ERL=>4500 AND ERL<4600 THEN PRINT "ERROR SAVING GAME": RESUME 700
  560.      IF ERL=>4600 AND ERL<4700 THEN PRINT "ERROR RESTORING GAME": RESUME 700
  561.      GOTO 9999
  562. 9930 IF K1=1 THEN 9970
  563. 9940 KEY 1,"QSL   "+CHR$(13):KEY 2,"DUP   "+CHR$(13):
  564.      KEY 3,"CALL  "+CHR$(13):KEY 4,"TUNE  "+CHR$(13):
  565.      KEY 5,"CHECK "+CHR$(13):KEY 6,"CQ    "+CHR$(13):
  566.      KEY 7,"SEND  "+CHR$(13):KEY 8,"REPEAT"+CHR$(13):
  567.      KEY 9,"LOG   "+CHR$(13):KEY 10,"+MORE "+CHR$(13):
  568. 9960 GOTO 9990
  569. 9970 KEY 1,"BREAK "+CHR$(13):KEY 2,"BAND  "+CHR$(13):
  570.      KEY 3,"QRT   "+CHR$(13):KEY 4,"SAVE  "+CHR$(13):
  571.      KEY 5,"RESTOR"+CHR$(13):KEY 6,"      "+CHR$(13):
  572.      KEY 7,"      "+CHR$(13):KEY 8,"COLOR "+CHR$(13):
  573.      KEY 9,"HELP  "+CHR$(13):KEY 10,"+MORE "+CHR$(13):
  574. 9990 color KClr, KClrBG:KEY ON:color MClr,MClrBG:return
  575. 9999 IF L1G$="Y" THEN CLOSE#4
  576.      LOCATE 24,1: end
  577.