1 REM Ins{nt av 2635 2 ! ********************************************************************** 3 ! Program FNMUSIK.800 Utg}va 1.0 1984-01-15 4 ! av Per Svebeck 5 ! Ins{nd av Per Svebeck 6 ! F|r ABC800M ABC800C ABC802 8 ! Testad p} ABC800M 9 ! ********************************************************************** 10 INTEGER : EXTEND 39999 ! Exempel 40000 ! SPELA GENOM ATT ANROPA tex Z=FNmusik("ASDFGHJKL\[") 40001 M1$="S S S F D D D G F F D D S " 40002 M2$="F F F F H G D D D D G F " 40003 M3$=M1$ 40004 M$=M1$+M2$+M3$ 40005 ! osv 40006 Z=FNMusik(M$) 50000 ! 50020 DEF FNMusik(B$) LOCAL P$=160 50030 FOR I=1 TO LEN(B$) 50040 P$=MID$(B$,I,1) 50050 Z=FNTon(P$) 50060 NEXT I 50070 RETURN 0 50080 FNEND 50090 ! 50100 DEF FNTut(Frekv,L{ngd) LOCAL Tut$=15 50110 Tut$=CHR$(66,22,0,219,5,197,16,254,193,27,122,179,32,245,201) 50120 RETURN CALL(VARPTR(Tut$),Frekv*256+L{ngd) 50130 FNEND 50140 ! 50150 DEF FNTon(Tangent$) LOCAL A 50160 A=ASCII(Tangent$) 50170 IF A=192 THEN GOTO 50430 50180 IF A=81 Z=FNTut(242,200) ! ! Q ->A# 50190 IF A=65 Z=FNTut(228,205) ! ! A ->H 50200 ! 50210 IF A=83 Z=FNTut(214,210) ! ! S ->C 50220 IF A=69 Z=FNTut(204,215) ! ! E ->C# 50230 IF A=68 Z=FNTut(190,220) ! ! D ->D 50240 IF A=82 Z=FNTut(180,225) ! ! R ->D# 50250 IF A=70 Z=FNTut(170,230) ! ! F ->E 50260 IF A=71 Z=FNTut(160,235) ! ! G ->F 50270 IF A=89 Z=FNTut(150,240) ! ! Y ->F# 50280 IF A=72 Z=FNTut(143,245) ! ! H ->G 50290 IF A=85 Z=FNTut(136,250) ! ! U ->G# 50300 IF A=74 Z=FNTut(128,255) ! ! J ->A 50310 IF A=73 Z=FNTut(120,255) ! ! I ->A# 50320 IF A=75 Z=FNTut(114,255) ! ! K ->H 50330 ! 50340 IF A=76 Z=FNTut(107,255) ! ! L ->C 50350 IF A=80 Z=FNTut(102,255) ! ! P ->C# 50360 IF A=92 Z=FNTut(95,255) ! ! \ ->D 50370 IF A=93 Z=FNTut(88,255) ! ! ] ->D# 50380 IF A=91 Z=FNTut(85,255) ! ! [ ->E 50390 IF A=39 Z=FNTut(73,255) ! ! ' ->F 50400 IF A=94 Z=FNTut(80,255) ! ! ^ ->F# 50410 ! 50420 RETURN 0 50430 FNEND