home *** CD-ROM | disk | FTP | other *** search
Wrap
10 CLS: REM SOUND ON:BEEP OFF 20 COLOR 14,4,1 30 ' 40 '========================================================================= 50 '= Notes for the users of this program & PCjr Users = 60 '========================================================================= 70 ' 80 ' If you are useing a PCjr with an external amplifier for sound you can 90 ' achieve very realistic sound without the clicks by removing the REM 100 ' in line number 10 so that it reads 10 CLS:SOUND ON:BEEP OFF 110 ' Jr used with a cheap amplifier such as one sold by Radio Shack for 120 ' about $7.00 will create a dramatic increase in the quality of sound 130 ' and the clicks heard on the PCjr speaker will be greatly reduced. 140 ' 150 ' Please feel free to copy this program and distribute it among your 160 ' friends. I wrote this program so that I could obtain my amateur 170 ' radio license. I used it for 2 months and went from no license to 180 ' Advanced Class in that short period of time. It worked for me and 190 ' I am sure it will work for you if you practice with it. Good Luck. 200 ' Jim Radcliffe N9DHZ 210 ' 220 ' NOTE: Downloading of this program in straight TEXT or ASCII form 230 ' will result in the loss of the screen graphics of the title 240 ' page. XMODEM protocol is advised. 250 ' 260 ' 270 KEY OFF : CLS : X = VAL(RIGHT$(TIME$,2)) : RANDOMIZE X 280 PRINT " ┌─┐ ┌┬┬┬┬┬┬┬┬┐ " 290 PRINT " ┌░░┐ ╔══╗ └░┘ └▀▀▀██▀▀▀┘ " 300 PRINT " ╔══╗ ▀▀▀▀▒▒▀▀▀▀║°°║▀▀▀▀▀█▀▀▀▀▀▀▀██▀▀▀▀▀▀ " 310 PRINT " ╚╦╦╝ ║║ ║ ║ ╔▓╗ ╔╗ " 320 PRINT " ╔═╩╩═══════╩╩════╩══╩════╩╩╩══════╩╩══╗ " 330 PRINT " ╚═════════════════════════════════════╝ " 340 PRINT SPC(25)"╔════════════════════════════════╗" 350 PRINT SPC(25)"║ THE MEAN MORSE MACHINE ║" 360 PRINT SPC(25)"║ Jim Radcliffe N9DHZ ║" 370 PRINT SPC(25)"║ Copyright (c) 1985 ║" 380 PRINT SPC(25)"╚════════════════════════════════╝" 390 PRINT 400 PRINT" A ▄ ▄▄▄ K ▄▄▄ ▄ ▄▄▄ U ▄ ▄ ▄▄▄ 5 ▄ ▄ ▄ ▄ ▄ 410 PRINT" B ▄▄▄ ▄ ▄ ▄ L ▄ ▄▄▄ ▄ ▄ V ▄ ▄ ▄ ▄▄▄ 6 ▄▄▄ ▄ ▄ ▄ ▄ 420 PRINT" C ▄▄▄ ▄ ▄▄▄ ▄ M ▄▄▄ ▄▄▄ W ▄ ▄▄▄ ▄▄▄ 7 ▄▄▄ ▄▄▄ ▄ ▄ ▄ 430 PRINT" D ▄▄▄ ▄ ▄ N ▄▄▄ ▄ X ▄▄▄ ▄ ▄ ▄▄▄ 8 ▄▄▄ ▄▄▄ ▄▄▄ ▄ ▄ 440 PRINT" E ▄ O ▄▄▄ ▄▄▄ ▄▄▄ Y ▄▄▄ ▄ ▄▄▄ ▄▄▄ 9 ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄ 450 PRINT" F ▄ ▄ ▄▄▄ ▄ P ▄ ▄▄▄ ▄▄▄ ▄ Z ▄▄▄ ▄▄▄ ▄ ▄ 0 ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ 460 PRINT" G ▄▄▄ ▄▄▄ ▄ Q ▄▄▄ ▄▄▄ ▄ ▄▄▄ 1 ▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ . ▄ ▄▄▄ ▄ ▄▄▄ ▄ ▄▄▄ 470 PRINT" H ▄ ▄ ▄ ▄ R ▄ ▄▄▄ ▄ 2 ▄ ▄ ▄▄▄ ▄▄▄ ▄▄▄ , ▄▄▄ ▄▄▄ ▄ ▄ ▄▄▄ ▄▄▄ 480 PRINT" I ▄ ▄ S ▄ ▄ ▄ 3 ▄ ▄ ▄ ▄▄▄ ▄▄▄ ? ▄ ▄ ▄▄▄ ▄▄▄ ▄ ▄ 490 PRINT" J ▄ ▄▄▄ ▄▄▄ ▄▄▄ T ▄▄▄ 4 ▄ ▄ ▄ ▄ ▄▄▄ / ▄▄▄ ▄ ▄ ▄▄▄ ▄ 500 IF Z$ = "3" THEN LOCATE 23,1 : END 510 X$=INKEY$: IF X$="" THEN 510 ELSE CLS: LOCATE 3,28:PRINT"--- NOTICE OF COPYRIGHT ---":PRINT 520 PRINT" * The Mean Morse Machine Is User Supported Software * 530 PRINT 540 PRINT" If you are using this program and finding it of value, 550 PRINT" your contribution ($10 suggested) will be appreciated. 560 PRINT" 570 PRINT" James Lee Radcliffe 580 PRINT" C/O Dr. Robert Meisner 590 PRINT" 2019 Ivy Drive 600 PRINT" Manhattan, KS 66502 610 PRINT" 620 PRINT" You are encouraged to copy and share this program with 630 PRINT" other users, on the conditions that the program will not be 640 PRINT" distributed in modified form, that no fee or consideration 650 PRINT" is charged, and that this notice is not bypassed or removed. 660 LOCATE 24,27 :PRINT "Press any key to continue..."; 670 DIM AL$(50), MC$(50), TRX$(20), RCV$(20), RNA$(20), RST$(20) 680 DIM QTH$(20), TNA$(20), POW$(20), ANT$(20), HGHT$(20) 690 DIM REC$(20), NT$(20), AG$(20), LIC$(20), CL$(20), WX$(20) 700 DIM CND$(20), TEM$(20), OC$(20), QRT$(20), AP$(47), MP$(47), A(20) 710 FOR X = 1 TO 41 : READ AL$(X), MC$(X): NEXT X 720 FOR X = 1 TO 11 : READ TRX$(X) : NEXT X 730 FOR X = 1 TO 11 : READ RCV$(X) : NEXT X 740 FOR X = 1 TO 11 : READ RNA$(X) : NEXT X 750 FOR X = 1 TO 11 : READ RST$(X) : NEXT X 760 FOR X = 1 TO 11 : READ QTH$(X) : NEXT X 770 FOR X = 1 TO 11 : READ TNA$(X) : NEXT X 780 FOR X = 1 TO 11 : READ POW$(X) : NEXT X 790 FOR X = 1 TO 11 : READ ANT$(X) : NEXT X 800 FOR X = 1 TO 11 : READ HGHT$(X) : NEXT X 810 FOR X = 1 TO 11 : READ REC$(X) : NEXT X 820 FOR X = 1 TO 11 : READ NT$(X) : NEXT X 830 FOR X = 1 TO 11 : READ AG$(X) : NEXT X 840 FOR X = 1 TO 11 : READ LIC$(X) : NEXT X 850 FOR X = 1 TO 11 : READ CL$(X) : NEXT X 860 FOR X = 1 TO 11 : READ WX$(X) : NEXT X 870 FOR X = 1 TO 11 : READ CND$(X) : NEXT X 880 FOR X = 1 TO 11 : READ TEM$(X) : NEXT X 890 FOR X = 1 TO 11 : READ OC$(X) : NEXT X 900 FOR X = 1 TO 11 : READ QRT$(X) : NEXT X 910 A$=INKEY$ : IF A$ <> "" THEN 920 ELSE 910 920 CLS 930 ' 940 ' 950 'Program introduction 960 ' 970 ' 980 ' 990 LOCATE 1,31 : PRINT"A Note From N9DHZ" : PRINT 1000 PRINT" This program is in two parts, the first is the Morse Trainer." 1010 PRINT" The morse trainer is designed to help you learn the International" 1020 PRINT" Morse Code. It will give you the opportunity to become familiar" 1030 PRINT" with all of the letters of the alphabet, numbers and punctuation" 1040 PRINT" that you must know to acquire an amateur radio license. You will" 1050 PRINT" be receiving training groups of a maximum of six characters at a" 1060 PRINT" time. With a little effort on your part you will know the Morse" 1070 PRINT" Code in no time at all." 1080 PRINT 1090 PRINT" The second part of the program is the Upgrade Trainer. This is" 1100 PRINT" a terrific way to practice for that next license class. It will" 1110 PRINT" allow you to receive continuous or five character code groupings" 1120 PRINT" as well as randomly generated QSO's at speeds from 5 to 55 wpm." 1130 PRINT" The FCC code examination is based on this type of exercise. You" 1140 PRINT" will find this to be a valuable tool in acquiring your license." 1150 PRINT" The format is identical to the one that the FCC used in testing." 1160 PRINT 1170 PRINT" This program will not guarantee that you will pass the FCC exam." 1180 PRINT" Only you can learn the Morse Code! However, with determination on" 1190 PRINT" your part and this program, you will learn the Morse Code quickly" 1200 PRINT" and easily. See you on the air!" 1210 LOCATE 25,27: PRINT"Press any key to continue...";: X$ = INKEY$ 1220 IF X$ = "" THEN GOTO 1210 1230 ' 1240 ' 1250 ' 1260 ' Main Menu 1270 ' 1280 ' 1290 ' 1300 CLS :COLOR 14,4:KEY OFF : LOCATE 8,1:A=FRE(" ") 1310 FOR X = 1 TO 9: KEY (X) OFF : NEXT X 1320 PRINT SPC(28)"THE MEAN MORSE MACHINE" : PRINT 1330 PRINT SPC(30)"(1) MORSE TRAINER" : PRINT 1340 PRINT SPC(30)"(2) UPGRADE TRAINER" : PRINT 1350 PRINT SPC(30)"(3) EXIT PROGRAM" : PRINT 1360 PRINT 1370 LOCATE 16,28 : PRINT "PLEASE ENTER YOUR CHOICE";:Z$= INKEY$ 1380 IF Z$ = "1" THEN GOTO 1510 1390 IF Z$ = "2" THEN GOTO 1890 1400 IF Z$ = "3" THEN GOTO 270 1410 Z$ = "": GOTO 1370 1420 ' 1430 KEY ON 1440 ' 1450 ' 1460 ' 1470 ' Morse Trainer 1480 ' 1490 ' 1500 ' 1510 PLAY"MF T105 MS L15;O3" 1520 CLS : X = VAL(RIGHT$(TIME$,2)) : RANDOMIZE X 1530 KEY 1," ABCDE":KEY 2," FGHIJ": KEY 3," KLMNO": KEY 4," PQRST" 1540 KEY 5,"UVWXYZ": KEY 6," 12345": KEY 7," 67890": KEY 8," .,/:?" 1550 KEY 9," STOP ": KEY 10," MENU ": FOR X = 1 TO 10 : KEY (X) ON : NEXT X 1560 KEY ON 1570 ON KEY (1) GOSUB 1720 1580 ON KEY (2) GOSUB 1730 1590 ON KEY (3) GOSUB 1740 1600 ON KEY (4) GOSUB 1750 1610 ON KEY (5) GOSUB 1760 1620 ON KEY (6) GOSUB 1770 1630 ON KEY (7) GOSUB 1780 1640 ON KEY (8) GOSUB 1790 1650 ON KEY (9) GOSUB 1800 1660 ON KEY (10) GOSUB 1810 1670 LOCATE 1,1 : PRINT" MEAN MORSE MACHINE -- MORSE CODE TRAINER -- PRESS FUNCTION KEY 1 THRU 8 " 1680 LOCATE 3,1 : PRINT" Press the fuction key representing the group you wish to practice." 1690 GOTO 1690 1700 X = INT(RND * (RC + 1)) + 1 + GN : PLAY MC$(X): PLAY "P1": PRINT AL$(X);" ";:IF POS(0) > 75 THEN PRINT:PRINT SPC(8); 1710 GOTO 1700 1720 RC = 4 : GN = 0 : PRINT : PRINT"GROUP 1 ";: PLAY "P1.." : RETURN 1700 1730 RC = 4 : GN = 5 : PRINT : PRINT"GROUP 2 ";: PLAY "P1.." : RETURN 1700 1740 RC = 4 : GN = 10 : PRINT : PRINT"GROUP 3 ";: PLAY "P1.." : RETURN 1700 1750 RC = 4 : GN = 15 : PRINT : PRINT"GROUP 4 ";: PLAY "P1.." : RETURN 1700 1760 RC = 5 : GN = 20 : PRINT : PRINT"GROUP 5 ";: PLAY "P1.." : RETURN 1700 1770 RC = 4 : GN = 26 : PRINT : PRINT"GROUP 6 ";: PLAY "P1.." : RETURN 1700 1780 RC = 4 : GN = 31 : PRINT : PRINT"GROUP 7 ";: PLAY "P1.." : RETURN 1700 1790 RC = 4 : GN = 36 : PRINT : PRINT"GROUP 8 ";: PLAY "P1.." : RETURN 1700 1800 RETURN 1690 1810 F = 0 :RETURN 1300 1820 ' 1830 ' 1840 ' 1850 ' Upgrade Trainer 1860 ' 1870 ' 1880 ' 1890 RP = 1 : CLS : ID$ = " THE MEAN MORSE MACHINE -- UPGRADE TRAINER -- VARIABLE SPEED & SPACING " : PRINT ID$ 1900 FOR X = 1 TO 9 : KEY (X) OFF : KEY X," OFF " : NEXT X : KEY ON 1910 ON KEY (10) GOSUB 1810 : KEY 10," MENU " : KEY (10) ON 1920 T$ = "4" : LOCATE 5,1 1930 INPUT" ENTER THE CODE SPEED: (5 WPM TO 55 WPM) ",CS$ 1940 IF VAL(CS$) < 5 OR VAL(CS$) > 55 THEN SOUND 1000,10: LOCATE 5,1 : GOTO 1930 1950 CS = VAL(CS$) : P = CS : P$ = "P" + STR$(CS) : WP = ( INT(CS/2)) + 2 : WP$ = "P" + STR$(WP) 1960 CS$ = "L" + CS$ : GOTO 1980 1970 LOCATE 3,1 : GOTO 1930 1980 PRINT 1990 PRINT 2000 PRINT " YOU MAY RECEIVE: (A) LETTERS ONLY":PRINT 2010 PRINT SPC(25) "(B) LETTERS AND NUMBERS" : PRINT 2020 PRINT SPC(25) "(C) LETTERS, NUMBERS AND PUNCTUATION" : PRINT 2030 PRINT SPC(25) "(D) PROBLEM CHARACTERS" : PRINT 2040 PRINT SPC(25) "(E) PRACTICE QSO" : PRINT 2050 PRINT SPC(25) "ENTER YOUR CHOICE ";: INPUT" ",RC$ 2060 IF LEFT$(RC$,1) = "A" OR LEFT$(RC$,1) = "a" THEN RC = 26:GOTO 2120 2070 IF LEFT$(RC$,1) = "B" OR LEFT$(RC$,1) = "b" THEN RC = 36:GOTO 2120 2080 IF LEFT$(RC$,1) = "C" OR LEFT$(RC$,1) = "c" THEN RC = 41:GOTO 2120 2090 IF LEFT$(RC$,1) = "D" OR LEFT$(RC$,1) = "d" THEN FL = 1 :GOTO 2120 2100 IF LEFT$(RC$,1) = "E" OR LEFT$(RC$,1) = "e" THEN GOTO 2140 2110 BEEP:LOCATE 18,1:GOTO 2050 2120 PRINT 2130 INPUT" RECEIVE CONTINUOUS CHARACTERS OR FIVE CHARACTER GROUPS? (C/F) ",M$ : PRINT 2140 CE$ = "MF T105 MS" + CS$ +";O"+ T$ : PLAY CE$ : GOTO 3310 2150 CLS : PRINT ID$ : C = 0 2160 IF LEFT$(RC$,1) = "E" OR LEFT$(RC$,1) = "e" THEN GOTO 2870 2170 IF FL = 1 THEN GOTO 2510 2180 LOCATE 1,51 : PRINT CS;"WORDS PER MINUTE " : LOCATE 5,1:PRINT SPC(5); 2190 FOR X = 1 TO 2000:NEXT 2200 RC = RC -1 : TIME$ = "00:00:00" 2210 X= INT(RND*(RC+1))+1: PLAY MC$(X) + P$ 2220 IF POS(0)> 77 THEN PRINT:PRINT:PRINT SPC(5); 2230 IF CSRLIN > 20 THEN 2450 2240 IF M$ = "C" THEN PRINT AL$(X);" ";: GOTO 2210 2250 C = C + 1 : IF C = 5 THEN PRINT AL$(X);" ";: PLAY WP$ : ELSE PRINT AL$(X);:IF C > 5 THEN C = 1 2260 GOTO 2210 2270 RETURN 2350 2280 RETURN 2210 2290 P$ = RIGHT$(P$,(LEN(P$))-1) : P = VAL(P$) : IF P > 5 THEN P = P - 1: P$ = "P" + STR$(P) : GOTO 2390 2300 P$ = "P5" : GOTO 2390 2310 P$ = RIGHT$(P$,(LEN(P$))-1) : P = VAL(P$) : IF P < CS THEN P = P + 1 : P$ = "P" + STR$(P) : GOTO 2390 2320 P$ = "P" + STR$(CS) : GOTO 2390 2330 P$ = "P55" : GOTO 2390 2340 FOR X = 1 TO 9 : KEY (X) OFF : NEXT : FL = 0 : RETURN 1890 2350 GOTO 2350 2360 T = VAL(T$): IF T<6 THEN T = T + 1 : T$ = STR$(T) 2370 GOTO 2390 2380 T = VAL(T$): IF T>1 THEN T = T - 1 : T$ = STR$(T) 2390 CE$ = "MF T105 MS" + CS$ +";O"+T$ : PLAY CE$ 2400 IF CS <> P THEN COLOR 10,4 2410 IF CS = P THEN COLOR 14,4 2420 IF RP = 1 THEN RETURN 2210 2430 IF RP = 2 THEN RETURN 2730 2440 IF RP = 3 THEN RETURN 3020 2450 LOCATE 22,11:PRINT"CHECK YOUR COPY FOR ACCURACY - PRESS RETURN FOR THE MENU" 2460 A$=INKEY$:IF A$=CHR$(13) THEN 1260 ELSE 2460 2470 ' 2480 ' Problem Character Routine 2490 ' 2500 ' 2510 A$="":AA$="":RP = 2 :EC = 0:PRINT: PRINT " ENTER PROBLEM CHARACTERS (DO NOT INCLUDE SPACES) "; 2520 AA$=INKEY$:IF AA$=CHR$(13) THEN CLS:GOTO 2570 2530 IF AA$="" THEN 2520 2540 IF AA$=CHR$(8) THEN A$=LEFT$(A$,LEN(A$)-1):PRINT CHR$(29);:PRINT " "+CHR$(29);:GOTO 2520 2550 A$=A$+AA$:PRINT AA$;:GOTO 2520 2560 ON KEY (8) GOSUB 2780 2570 L = LEN(A$) 2580 FOR X = 1 TO L:IF ASC(MID$(A$,X,1)) > 94 THEN LF=1 2590 NEXT 2600 IF LF=1 THEN LF=0:BEEP:PRINT" Enter the problem characters in UPPER CASE only without spaces!":FOR X =1 TO 1000:NEXT:CLS:GOTO 2480 2610 FOR X = 1 TO 41 2620 FOR Y = 1 TO L 2630 IF AL$(X) = MID$(A$,Y,1) THEN EC = EC +1 2640 NEXT Y,X 2650 IF EC <> L THEN PRINT :BEEP: PRINT" YOU ENTERED ";:PRINT A$:PRINT:PRINT" ONE OR MORE OF THE ABOVE CHARACTERS IS INVALID AS A MORSE CHARACTER.":PRINT:EC = 0 : A$="":AA$="":GOTO 2510 2660 FOR X = 1 TO 41 2670 FOR Y = 1 TO L 2680 IF AL$(X) = MID$(A$,Y,1) THEN MP$(Y) = MC$(X) : AP$(Y) = AL$(X) 2690 NEXT Y,X 2700 CLS : PRINT ID$ : LOCATE 3,6 : PRINT" PROBLEM CHARACTERS: ";A$;" CODE SPEED ";CS;"WPM " : PRINT:PRINT SPC(7); 2710 FOR X = 1 TO 2000:NEXT 2720 RC = L-1 2730 X = INT(RND * (RC+1))+1: PLAY MP$(X) + P$ 2740 IF POS(0)> 73 THEN PRINT:PRINT:PRINT SPC(7);:IF CSRLIN=23 THEN 2790 2750 IF M$ = "C" THEN PRINT AP$(X);" ";: GOTO 2730 2760 C = C + 1 : IF C = 5 THEN PRINT AP$(X);" ";: PLAY WP$ : ELSE PRINT AP$(X);:IF C > 5 THEN C = 1 2770 GOTO 2730 2780 RETURN 2730 2790 PRINT"CHECK YOUR COPY FOR ACCURACY - PRESS THE RETURN KEY FOR THE MENU" 2800 A$=INKEY$:IF A$=CHR$(13) THEN 1260 ELSE 2800 2810 ' 2820 ' 2830 ' Random QSO generator 2840 ' 2850 ' 2860 ' 2870 RP = 3 2880 X = INT(RND *(10 + 1)) + 1 : N = 0 2890 QSO$(0) = "CQ CQ CQ CQ VVV VVV VVV " 2900 QSO$(1) = TRX$(X) + " DE " + RCV$(X) + " RRR " 2910 QSO$(2) = "AND TNX " + RNA$(X) + ", UR RST " + RST$(X) + ", QTH HR IS " + QTH$(X) + ", AND NAME IS " + TNA$(X) + ". " 2920 QSO$(3) = "MY RIG RUNS " + POW$(X) + " WATTS INTO A " + ANT$(X) + " UP " + HGHT$(X) + " FEET. " 2930 QSO$(4) = "MY RECEIVER IS " + REC$(X) + " WITH " + NT$(X) + " TUBES. MY AGE IS " + AG$(X) 2940 QSO$(5) = " AND LICENSED " + LIC$(X) + " YEARS AS " + CL$(X) + " CLASS. " 2950 QSO$(6) = "THE WEATHER HERE IS " + WX$(X) + " AND " + CND$(X) + " AND TEMPERATURE IS " + TEM$(X) + ". " 2960 QSO$(7) = "MY OCCUPATION IS " + OC$(X) + ". I MUST QRT SOON FOR " + QRT$(X) + ". HOW COPY? " 2970 QSO$(8) = TRX$(X) + " DE " + RCV$(X) + " AR" 2980 LOCATE 1,32 : PRINT" PRACTICE QSO -- ";CS;" WORDS PER MINUTE " 2990 LOCATE 5,1 3000 FOR X = 1 TO 5 : KEY (X) ON : NEXT X 3010 FOR Y = 1 TO LEN(QSO$(N)):IF POS(0)=1 THEN PRINT SPC(13); 3020 S = ASC(MID$(QSO$(N),Y,1)) 3030 IF S > 64 AND S < 91 THEN S = S - 64 : PLAY MC$(S) + P$ : PRINT AL$(S); 3040 IF S = 32 THEN PLAY WP$ : PRINT " ";: IF POS(0) > 55 THEN PRINT:PRINT SPC(13); 3050 IF S = 48 THEN PLAY MC$(36) + P$ : PRINT AL$(36); 3060 IF S = 49 THEN PLAY MC$(27) + P$ : PRINT AL$(27); 3070 IF S = 50 THEN PLAY MC$(28) + P$ : PRINT AL$(28); 3080 IF S = 51 THEN PLAY MC$(29) + P$ : PRINT AL$(29); 3090 IF S = 52 THEN PLAY MC$(30) + P$ : PRINT AL$(30); 3100 IF S = 53 THEN PLAY MC$(31) + P$ : PRINT AL$(31); 3110 IF S = 54 THEN PLAY MC$(32) + P$ : PRINT AL$(32); 3120 IF S = 55 THEN PLAY MC$(33) + P$ : PRINT AL$(33); 3130 IF S = 56 THEN PLAY MC$(34) + P$ : PRINT AL$(34); 3140 IF S = 57 THEN PLAY MC$(35) + P$ : PRINT AL$(35); 3150 IF S = 46 THEN PLAY MC$(37) + P$ : PRINT AL$(37); 3160 IF S = 44 THEN PLAY MC$(38) + P$ : PRINT AL$(38); 3170 IF S = 47 THEN PLAY MC$(39) + P$ : PRINT AL$(39); 3180 IF S = 63 THEN PLAY MC$(40) + P$ : PRINT AL$(40); 3190 NEXT Y 3200 IF N = 0 THEN PRINT : PRINT 3210 IF N = 1 THEN PRINT : PRINT 3220 IF N = 7 THEN PRINT : PRINT 3230 IF N = 8 THEN GOTO 3240 ELSE N = N + 1 : GOTO 3010 3240 LOCATE 22,1 : PRINT" CHECK YOUR COPY FOR ACCURACY - PRESS FUNCTION KEY 6 FOR ANOTHER QSO " :KEY (6) ON : KEY 6," AGAIN" 3250 ON KEY (6) GOSUB 3280 3260 FOR X = 1 TO 5 : KEY (X) OFF : NEXT X 3270 GOTO 3270 3280 CLS : PRINT ID$ : KEY (6) OFF : KEY 6," OFF " : GOTO 2880 3290 END 3300 ' 3310 ON KEY (1) GOSUB 2360 : KEY 1," TONE" + CHR$(24) : KEY (1) ON 3320 ON KEY (2) GOSUB 2380 : KEY 2," TONE" + CHR$(25) : KEY (2) ON 3330 ON KEY (3) GOSUB 2290 : KEY 3,"SPACE" + CHR$(24) : KEY (3) ON 3340 ON KEY (4) GOSUB 2310 : KEY 4,"SPACE" + CHR$(25) : KEY (4) ON 3350 ON KEY (5) GOSUB 4090 : KEY 5," HELP " : KEY (5) ON 3360 ON KEY (7) GOSUB 2340 : KEY 7," RESET": KEY (7) ON 3370 ON KEY (8) GOSUB 2390 : KEY 8," CONT.": KEY (8) ON 3380 ON KEY (9) GOSUB 2270: KEY 9," PAUSE": KEY (9) ON 3390 KEY ON : GOTO 2150 3400 ' 3410 ' 3420 'Letters of the alphabet 3430 ' 3440 ' 3450 DATA A,CC..,B,C..CCC,C,C..CC..C,D,C..CC,E,C,F,CCC..C 3460 DATA G,C..C..C,H,CCCC,I,CC,J,CC..C..C..,K,C..CC.. 3470 DATA L,CC..CC,M,C..C..,N,C..C,O,C..C..C..,P,CC..C..C 3480 DATA Q,C..C..CC..,R,CC..C,S,CCC,T,C..,U,CCC..,V,CCCC.. 3490 DATA W,CC..C..,X,C..CCC..,Y,C..CC..C..,Z,C..C..CC 3500 ' 3510 'Numbers 3520 ' 3530 DATA 1,CC..C..C..C..,2,CCC..C..C..,3,CCCC..C..,4,CCCCC.. 3540 DATA 5,CCCCC,6,C..CCCC,7,C..C..CCC,8,C..C..C..CC 3550 DATA 9,C..C..C..C..C,0,C..C..C..C..C.. 3560 ' 3570 'Punctuation 3580 ' 3590 DATA ".",CC..CC..CC..,",",C..C..CCC..C..,"/",C..CCC..C,"?",CCC..C..CC 3600 DATA ":",C..C..C..CCC 3610 ' 3620 PRINT ERR: END 3630 'QSO DATA 3640 ' 3650 'TRANSMITOR-TRX$ 3660 DATA WA4TBA,N9THI,WA0EBW,K3SNB,WB4POW,JA1XQE,WA0BNB,W6KW,WB4JOS,KP4SBW,W3PA 3670 'RECEIVING PARTY-RCV$ 3680 DATA WB0ACE,W3BRU,WB4LKJ,KL7IPV,WB6MXY/3,KH6LK,W4MAR,W1QCH,W3OPN,K7MET,W4XE 3690 'RECEIVING PARTYS'NAME-RNA$ 3700 DATA TOM,MARK,ROBERT,MARY,KENN,HASI,MICK,BOB,HARV,MARK,BART 3710 'RST REPORT-RST$ 3720 DATA 569,468,569,569,559,579,599,589,599,559,598 3730 'QTH-QTH$ 3740 DATA "CHICAGO, IL","RICHMOND, VA","RALEIGH, NC","FIJI ISLANDS" 3750 DATA "WASHINGTON, DC","SACRAMENTO, CA","ORLANDO, FLA","KANSAS CITY, MO" 3760 DATA "CLARK, MD","PHOENIX, AZ","DALLAS, TEXAS" 3770 'SENDERS NAME-TNA$ 3780 DATA DAVID,PHIL,EARL,GEORGE,GARY,KATASHI,ALLEN,STEW,GAIL,DON,JAMES 3790 'POWER-POW$ 3800 DATA 250,750,100,450,180,500,75,100,3,1000,1000 3810 'ANTENNA-ANT$ 3820 DATA VERTICAL,GROUND PLANE,INVERTED VEE,TRAP DOUBLET,DIPOLE,2 ELE YAGI 3830 DATA QUAD,5 ELE BEAM,DIPOLE,RHOMBIC,CUBICAL QUAD 3840 'ANTENNA HEIGHT-HGHT$ 3850 DATA 30,21,50,25,20,100,150,100,5,100,75 3860 'RECEIVER-REC$ 3870 DATA R4,SB202,HQ100,SB301,DRAKE 2C,75S3,R100,DRAKE 2B,HQ101,75A4,75A4 3880 'TUBES-NT$ 3890 DATA 11,10,21,11,3,16,8,8,17,14,17 3900 'AGE-AG$ 3910 DATA 30,41,26,18,25,45,48,19,35,31,60 3920 'HOW LONG LICENSED-LIC$ 3930 DATA 10,8,3,5,4,15,13,2,17,12,20 3940 'LICENSED AS-CL$ 3950 DATA NOVICE,EXTRA,GENERAL,EXTRA,GENERAL,TECHNICIAN 3960 DATA ADVANCED,GENERAL,ADVANCED,EXTRA,GENERAL 3970 'WEATHER-WX$ 3980 DATA COOL,HUMID,CLEAR,COLD,RAINY,MILD,RAINY,FOGGY,WINDY,HOT,SNOW 3990 'WEATHER CONDITIONS-CND$ 4000 DATA WINDY,CALM,HOT,RAINY,WARM,BREEZY,WINDY,MILD,WET,DRY,COLD 4010 'TEMPERATURE-TEM$ 4020 DATA MINUS 2,69,89,32,85,77,80,58,87,105,21 4030 'OCCUPATION-OC$ 4040 DATA DOCTOR,ENGINEER,TRUCK DRIVER,STUDENT,POLICEMAN,PROFFESOR 4050 DATA DISC JOCKEY,ORDERLY,MUSICIAN,PHYSICIAN,ELECTRICIAN 4060 'REASON QRT-QRT$ 4070 DATA LUNCH,BREAKFAST,WORK,SCHOOL,BED,STORE,WORK,DINNER,BOWLING 4080 DATA GOLF,CHOW 4090 CLS :FOR X = 1 TO 9 : KEY (X) OFF : NEXT X : PRINT SPC(25) "EXPLANATION OF FUNCTION KEYS" 4100 ' 4110 ' 4120 ' 4130 ' Explanation of function keys 4140 ' 4150 ' 4160 PRINT 4170 PRINT" Function Key 1....Press this key to raise the pitch of the code." 4180 PRINT" You may press it until it reaches its upper" 4190 PRINT" limit. There are six tones available." 4200 PRINT 4210 PRINT" Function Key 2....Press this key to lower the pitch of the code." 4220 PRINT 4230 PRINT" Function Key 3....Press this key to increase the space between the" 4240 PRINT" individual characters. You may use this function" 4250 PRINT" to utilize the Fast Code Method of learning the" 4260 PRINT" Morse Code. The greater the number of times you" 4270 PRINT" press this key the greater the spacing between " 4280 PRINT" the morse characters, reducing the effective " 4290 PRINT" speed at which you are receiving code. When" 4300 PRINT" utilizing this feature the characters displayed" 4310 PRINT" on the CRT will be light green in color." 4320 PRINT 4330 PRINT" Function Key 4....This key when pressed the same number of times as" 4340 PRINT" function key 3 will remove the extra spacing and" 4350 PRINT" restore normal code spacing. 4360 LOCATE 23,27:PRINT "Press any key to continue...";: X$ = INKEY$ : IF X$ = "" THEN GOTO 4360 4370 CLS :PRINT SPC(25)"EXPLANATION OF FUNCTION KEYS":PRINT:PRINT 4380 PRINT" Function Key 5....Prints these explanations." 4390 PRINT 4400 PRINT" Function Key 6....Pressing this key while in the Random QSO mode " 4410 PRINT" starts another practice QSO." 4420 PRINT 4430 PRINT" Function Key 7....Pressing this key allows you to reconfigure your" 4440 PRINT" practice session while in the Upgrade Trainer." 4450 PRINT 4460 PRINT" Function Key 8....Pressing this key restarts code transmission if" 4470 PRINT" you have pressed Function Key 9." 4480 PRINT 4490 PRINT" Function Key 9....Pressing this key stops the transmission of code." 4500 PRINT 4510 PRINT" Function Key 10...Pressing this key clears the screen and returns" 4520 PRINT" to the Main Menu." 4530 LOCATE 23,27:PRINT"Press any key to continue...";: X$ = INKEY$ : IF X$ = "" THEN GOTO 4530 4540 CLS 4550 RETURN 1300