54 lines
1.4 KiB
Plaintext
54 lines
1.4 KiB
Plaintext
100 DI$="IA" : REM DIT = EIGHTH NOTE
|
|
110 DA$="Q.A": REM DA = DOTTED QUARTER NOTE
|
|
120 IS$="IR" : REM SPACE BETWEEN SYMS=1xDOT
|
|
130 IC$="QR" : REM EXTRA BETWEEN CHARS=2xDOT(TOTAL 3)
|
|
140 IW$="HR" : REM SPACE BETWEEN WORDS=4xDOT(TOTAL 7)
|
|
150 DIM MC$(127): REM READ CODE TABLE
|
|
160 DO
|
|
170 : READ C$
|
|
180 : IF C$="" THEN EXIT
|
|
190 : C=ASC(C$)
|
|
200 : READ C$
|
|
210 : MC$(C) = C$
|
|
220 LOOP
|
|
230 PRINT "ENTER MESSAGE:"
|
|
240 OPEN1,0:INPUT#1,M$:CLOSE1
|
|
250 TEMPO 128
|
|
260 P$="T7": REM ENVELOPE = ORGAN
|
|
270 FOR I=1 TO LEN(M$)
|
|
280 : A=ASC(MID$(M$,I))
|
|
290 : IF A=32 THEN BEGIN
|
|
300 : P$=P$+IW$
|
|
310 : BEND:ELSE IF MC$(A)<>"" THEN BEGIN
|
|
320 : C$=MC$(A)
|
|
330 : FOR J=1 TO LEN(C$)
|
|
340 : S$=MID$(C$,J,1)
|
|
350 : IF S$="." THEN BEGIN
|
|
360 : P$=P$+DI$
|
|
370 : BEND:ELSE BEGIN
|
|
380 : P$=P$+DA$
|
|
390 : BEND
|
|
400 : P$=P$+IS$
|
|
410 : NEXT J
|
|
420 : P$=P$+IC$
|
|
430 : BEND
|
|
440 NEXT I
|
|
450 PLAY P$
|
|
460 END
|
|
470 REM MORSE CODE TABLE DATA
|
|
500 DATA A,".-", B,"-...", C,"-.-."
|
|
510 DATA D,"-..", E,".", F,"..-.",G,"--."
|
|
520 DATA H,"....", I,"..", J,".---"
|
|
530 DATA K,"-.-", L,".-..", M,"--",N,"-."
|
|
540 DATA O,"---", P,".--.", Q,"--.-"
|
|
550 DATA R,".-.", S,"...", T,"-",U,"..-"
|
|
560 DATA V,"...-", W,".--", X,"-..-"
|
|
570 DATA Y,"-.--", Z,"--.."
|
|
580 DATA 0,"-----",1,".----",2,"..---"
|
|
590 DATA 3,"...--",4,"....-",5,"....."
|
|
600 DATA 6,"-....",7,"--...",8,"---.."
|
|
610 DATA 9,"----."
|
|
620 DATA ".",".-.-.-", ",","--..--"
|
|
630 DATA "?","..--.."
|
|
640 DATA ""
|