100 CALL CLEAR 110 PRINT "*SOUND DATA TABLE CREATOR*" 120 Q$="0123456789ABCDEF" 130 INPUT "GENERATOR # ?":GN 140 INPUT "DURATION ?":DUR 150 INPUT "FREQUENCY ?":FREQ 160 INPUT "VOLUME ?":VOL 170 PRINT: : : 180 IF DUR>17 THEN 200 190 DUR=17 200 REM DURATION 210 DUR=INT((DUR*255)/4250) 220 CONV=DUR 230 GOSUB 540 240 DUR$=SEG$(HX$,3,2) 250 IF FREQ>-1 THEN 370 260 REM NOISE FREQUENCY 270 FR=ABS(FREQ)-1 280 FR$="E"&STR$(FR) 290 REM NOISE VOLUME 300 VOL=INT(VOL/2) 310 CONV=VOL 320 GOSUB 540 330 VOL$="F"&SEG$(HX$,4,1) 340 PRINT "DATA>02";FR$;",>";VOL$;DUR$: : : 350 GOTO 470 360 REM TONE FREQUENCY 370 FR=INT((111860.8/FREQ)+.5) 380 CONV=FR 390 GOSUB 540 400 FR$=SEG$(Q$,GN*2+7,1)&SEG$(HX$,4,1)&SEG$(HX$,2,2) 410 REM TONE VOLUME 420 VOL=INT(VOL/2) 430 CONV=VOL 440 GOSUB 540 450 VOL$=SEG$(Q$,GN*2+8,1)&SEG$(HX$,4,1) 460 PRINT "DATA>03";SEG$(FR$,1,1)&SEG$(FR$,2,1);",>";SEG$(FR$,3,2);VOL$;",>";DUR$;"00": : : 470 PRINT: :"ANOTHER SOUND (Y/N)?" 480 CALL KEY(3,K,S) 490 IF K=89 THEN 100 500 IF K=78 THEN 520 510 GOTO 480 520 CALL CLEAR 530 END 540 REM DECIMAL TO HEX 550 AY=INT(CONV)/16 560 BY=INT(AY)/16 570 CY=INT(BY)/16 580 DY=INT(CY)/16 590 AP=(AY-INT(AY))*16 600 BP=(BY-INT(BY))*16 610 CP=(CY-INT(CY))*16 620 DP=(DY-INT(DY))*16 630 HX$=SEG$(Q$,DP+1,1)&SEG$(Q$,CP+1,1)&SEG$(Q$,BP+1,1)&SEG$(Q$,AP+1,1) 640 RETURN