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 ""