1 *FX229,1
10 GOTO 1000
30 IF B<(.5*T) THEN LET T=T-2
32 IF DO>200 THEN LET DO=200
33 IF DA>200 THEN LET DA=200
35 RETURN
80 GOSUB 9070
90 LET DO=0:LET DA=0
100 DIM A$(120)
101 RESTORE
110 FOR N=1 TO 120:READ A$(N):NEXT
115 PRINT "READY":LET P=0:LET N=0:LET K=0
116 PRINT
120 LET T=20
125 IF T>45 THEN LET T=40
130 X=ADVAL(0) AND 3:IF X=0 THEN GOTO 125
150 LET B=0
160 X=ADVAL(0) AND 3:LET B=B+1
170 IF X=0 THEN LET DO=2*DO:LET DA=2*DA:LET DO=DO+1:GOSUB 30:GOTO 220
180 IF B<(.7*T) THEN GOTO 160
190 LET DO=2*DO:LET DA=2*DA:LET DA=DA+1
200 X=ADVAL(0) AND 3:LET P=P+1:IF X=1 THEN GOTO 200
213 IF P>T THEN LET T=T+1
214 IF P<(.5*T) THEN LET T=T-.5
215 LET P=0
220 LET B=0
230 X=ADVAL(0) AND 3:LET B=B+1:IF X=1 THEN GOTO 150
250 IF B<(.5*T) THEN GOTO 230
260 GOSUB 320
270 X=ADVAL(0):LET B=B+1:IF X=1 THEN GOTO 150
290 IF B<1.4*T THEN GOTO 270
300 PRINT " ";:GOTO 130
320 LET DA=DA*2:LET D=DA+DO:IF D>120 THEN LET D=18
330 PRINT A$(D);
331 X$=INKEY$(0):IF X$="R" OR X$="r" THEN LET T=20
332 IF X$="C" OR X$="c" THEN CLS
340 LET DA=0:LET DO=0:RETURN
350 DATA E,T,I,A,N,M,S,U,R,W,D,K,G,O,H,V,F,*,L,*,P,J,B,X,C
360 DATA Y,Z,Q,*,*,5,4,*,3,*,*,*,2,WAIT,*,+,*,*,*,*,1,6,=,/,*
370 DATA *,CT,(,*,7,*,*,*,8,*,9,0,*,*,*,*,*,END OF WORK,*,*,*,*,*,*,?
380 DATA UNDERLINE,*,*,*,*,'',*,*,.,*,*,*,*,*,*,*,*,',*,*,-,*,*,*,*
390 DATA *,*,*,*,*,*,*,),*,*,*,*,*,",",*,*,*,*,:,*
1000 GOSUB 9070
1005 PRINT TAB(10,1);"MORSE READER"
1010 PRINT TAB(15,3);"BY"
1020 PRINT TAB(9,5);"G4OIK ** G4OIL"
1030 PRINT TAB(0,14);" MORSE READER COPYRIGHT 1984 "
1031 PRINT TAB(9,15);"G4OIK+G4OIL"
1032 PRINT TAB(0,20);"DO YOU NEED INSTRUCTIONS? Y/N"
1050 A$=INKEY$(18000):IF A$="Y" OR A$="y" THEN 1500
1060 IF A$="N" THEN GOTO 80
1070 GOTO 1032
1185 PRINT B,T
1500 GOSUB 9070
1520 PRINT TAB(0,6);" TO OBTAIN THE BEST RESULTS FROM THIS PROGRAMME, YOU SHOULD HAVE A C.W. FILTER FITTED, AND YOU MAY NEED TO ADJUST THE AUDIO VOLUME AND R.F. GAIN CONTROLS FOR THE BEST RATIO BETWEEN THE"
1521 PRINT"SIGNAL AND BACKGROUND NOISES."
1580 PRINTTAB(3,18);"PRESS ANY KEY TO CONTINUE"
1590 G$=INKEY$(18000)
1600 GOSUB 9070
1650 PRINT TAB(0,6);" BY TURNING DOWN THE R.F. GAIN CONTROLBACKGROUND NOISES CAN BE MINIMISED - THEY CAN BE INTERPRETED AS A SIGNAL BY THE PROGRAMME!"
1651 PRINTTAB(0,11);" FOR EXAMPLE, A VERY HIGH BACKGROUND NOISE, COMPARED WITH THE SIGNAL TO BE INTERPRETED, USUALLY RESULTS IN LONG ROWS OF THE LET TERS E AND I. EXPERIMENT,AND THIS ADJUSTMENT SOON BECOMES AUTOMATIC."
1660 PRINT TAB(3,18);"PRESS ANY KEY TO CONTINUE"
1670 G$=INKEY$(18000)
1700 GOSUB 9070
1710 PRINT TAB(0,6);" IF LONG ROWS OF THE LET TERS T AND M APPEAR ON THE SCREEN, THE PROGRAMME HAS LOCKED AT A HIGH SPEED."
1711 PRINT TAB(0,10);" SIMPLY PRESS THE RESET KEY 'R' WHILE TWO OR THREE CHARACTERS ARE RECEIVED, AND EVERYTHING RETURNS TO NORMAL."
1720 PRINT TAB(3,18);"PRESS ANY KEY TO CONTINUE"
1730 G$=INKEY$(18000)
1800 GOSUB 9070
1810 PRINT TAB(0,6);" CONNECT YOUR RECEIVER'S EXTENSION SPEAKER SOCKET TO THE INPUT OF THE INTERFACE. THE OUTPUT OF THE INTERFACE SHOULD BE CONNECTED TO THE COMPUTERS 'ANALOGUE IN' SOCKET. CONNECTION SHOULD BE TO PINS";
1811 PRINT " 3 AND 13, AS SHOWN IN THE INSTRUCTION SHEET."
9060 PRINT TAB(0,20);"DO YOU WISH TO READ INSTRUCTIONS THROUGH AGAIN/ Y/N"
9065 F$=INKEY$(18000):IF F$="Y" OR F$="y" THEN GOTO 1500
9066 IF F$="N" OR F$="n" THEN GOTO 80
9067 GOTO 9060
9069
9070 PRINT TAB(0,0);
9072 FOR F=0 TO 21: PRINTTAB(0,F);"****************************************"
9073 PRINT TAB(0,F)" "
9074 NEXT F
9075 RETURN