02.02.2013 Views

ZX Computings - OpenLibra

ZX Computings - OpenLibra

ZX Computings - OpenLibra

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!