ZX Computings - OpenLibra
ZX Computings - OpenLibra
ZX Computings - OpenLibra
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
16K program<br />
Dot-dot-dot, dash<br />
dash-dash<br />
Master Morse code with the help<br />
of this 16K <strong>ZX</strong>81 program from<br />
John Knight of Cheshire.<br />
One of the conditions for getting<br />
an amateur radio licence<br />
(Class A UK (is a degree of proficiency<br />
in Morse code. This program<br />
may help you attain the<br />
required level of skill.<br />
When you run the program a<br />
menu will appear giving you the<br />
option of entering an English<br />
message, and having it<br />
reprinted in Morse, of having<br />
the program generate a Morse<br />
symbol at random and give you<br />
three tries at entering its<br />
* *<br />
10<br />
30<br />
40<br />
4 1<br />
42<br />
4 4<br />
45<br />
46<br />
47<br />
48<br />
50<br />
55<br />
60<br />
70<br />
7*5<br />
80<br />
y@<br />
100<br />
110<br />
1000<br />
1002<br />
1003<br />
1005<br />
1010<br />
1015<br />
1017<br />
1020<br />
THEN"<br />
1025<br />
1030<br />
1040<br />
1045<br />
1C50<br />
1055<br />
0<br />
1060<br />
1065<br />
1070<br />
1OS0<br />
109©<br />
1100<br />
1120<br />
1130<br />
H000<br />
2002<br />
2005<br />
2007<br />
2010<br />
TTER<br />
English equivalent.<br />
Notice the use of the initialisation<br />
subroutine starting<br />
at line 9000, which goes into<br />
FAST, then strips A$ down to<br />
elements of C$. To simplify<br />
later processing, C$(38) is the<br />
equivalent of CHR$(38), ie. the<br />
letter "A". The program tells<br />
you (line 21 90) which letter a<br />
particular symbol represents if<br />
you don't guess it within the<br />
three guesses allowed.<br />
REM MORSE TRAINER<br />
REM (C) -J KNIGHT, 1982<br />
GOSUB 9000<br />
FOR G = 1 TO 10<br />
SCROLL<br />
NEXT G<br />
PRINT "MRKE H SELECTION:<br />
SCROLL<br />
SCROLL<br />
SCROLL<br />
PRINT 1 - ENGLISH TO MORSE<br />
SCROLL<br />
SCROLL<br />
PRINT "2 - MORSE TO ENGLISH<br />
SCROLL<br />
SCROLL<br />
PRINT "3 - TO END"<br />
INPUT T<br />
GOSUB T *1000<br />
GOTO 40<br />
REM ENGLISH TO MORSE<br />
SCROLL<br />
SCROLL<br />
SCROLL<br />
PRINT "ENGLISH TO HORSE"<br />
SCROLL<br />
SCROLL<br />
PRINT "ENTER YOUR MESSRGf,.<br />
SCROLL<br />
PRINT TRB 3;"PRESS NEULJWE"<br />
INPUT U»$<br />
SCROLL<br />
FOR G = 1 TO LEN U$<br />
IF U$(l> " " THEM GOTO 108<br />
SCROLL<br />
SCROLL<br />
GOTO 1090<br />
PRINT C $ (CODE (1) ><br />
LET U$=U$(2 TO )<br />
NEXT G<br />
IF INKEY$="" THEN GOTO 1120<br />
RETURN<br />
REM MORSE TO ENGLISH<br />
SCROLL<br />
SCROLL<br />
SCROLL<br />
PRINT " I UILL GIUE YOU R LE<br />
IN"<br />
2015 SCROLL<br />
2020 PRINT "MORSE, RND YOU HRUE<br />
THREE"<br />
2025 SCROLL<br />
2030 PRINT "GUESSES TO WORK OUT<br />
UHRT IT IS."<br />
2035 SCROLL<br />
204O SCROLL<br />
£050 PRINT "PRESS NEULINE IJHfM v<br />
OU HRE"<br />
2055 SCROLL<br />
2060 PRINT TRB 3; "READY TO STRRT<br />
207§ L E T I S = 0 Y * = ' " <br />
2080 FOR Z=1 TO 10<br />
E N G O T O<br />
111® 5CPOLC<br />
O<br />
3 8 + I N T (RND*2B.><br />
2110<br />
5 (U )<br />
PRINT "UHRT LETTER DOES<br />
312®<br />
2130<br />
SCROLL<br />
PRINT TRB 12;"REPRESENTS"<br />
2140 FOR H = 1 TO 3 "<br />
2150 INPUT K$<br />
i£itj0 IF CODE (K$> =J THE.N GOTO 2>J?<br />
2170 SCROLL<br />
2175 SCROLL<br />
2180 IF H < 3 THEN PRINT ".NO - TOY<br />
RGRIN" *<br />
2190 IF H =3 THEN PRINT C$(J) : " R<br />
^PRESENTS " ;CHR $ (J)<br />
2200 NEXT H<br />
2210 GOTO 2250<br />
222© SCROLL<br />
2230 PRINT "YES, YOU RRE RIGHT"<br />
2240 LET 5=5+1<br />
2250 SCROLL<br />
5CROL1<br />
2260 PRINT""YOUR SCORE IS " ; S ; "<br />
nj IT OF " ; Z<br />
2265 SCROLL<br />
2270 SCROLL<br />
2280 PRINT<br />
2290 SCROLL<br />
2300 SCROLL<br />
2 310 NEXT Z<br />
2320 RETURN<br />
3000 STOP<br />
9000 rA5T<br />
LET = " . . .it--.-.*---*--*-<br />
. , - , * . . . . * . . * - * - - '<br />
— -s- - . * * . — . * — . - * - - - * * - - * - * •* - -<br />
* , , > - $ • — * — > • i — ~ * — * — » '<br />
9010 DIM C$(c4,.5)<br />
-020 FOR B =38 TO 84<br />
9030 LET B$=""<br />
9040 FOR C = 1 TO 5<br />
9045 IF H i ( 1 ) = " * " THEN GOTO 9080<br />
9050 LET B$=B$+A4 (1)<br />
9060 LET R$=R$(2 TO )<br />
9070 NEXT C<br />
9080 LET C$(B)=B$<br />
9085 LET R$=R$(2 TO ><br />
9 NEXT B<br />
910© SLOW<br />
950O RETURN<br />
38 <strong>ZX</strong> COMPUTING AUG/SEPT 1982