' *** DOSND_IN.LST *** 2nd GFA-Manual, page 16-11 > PROCEDURE dosound_init ' ' *** Put sound-data in XBIOS 32 sound-string ' *** Call this Procedure before using Procedure Dosound: @dosound(V:boing3$) ' *** Command in DATA-lines: ' *** REG = 14 parameters for registers 0-13 ' *** END = end of sound-string ' *** PAUSE = pause (followed by time in 1/50 seconds) ' *** VAR = decrease/increase tone: channel,start,+/-step,end ' (start and end: 0-255) ' *** Procedure: Dosound_string ' *** Global: dosound-variable(s) ' boing3.sound: DATA REG,0,0,0,0,0,0,27,248,16,16,16,35,95,0 DATA VAR,3,255,-1,116 DATA PAUSE,255,END RESTORE boing3.sound @dosound_string(boing3$) ' boing4.sound: DATA REG,0,216,4,219,5,0,0,254,16,0,0,223,118,0 DATA VAR,0,0,22,0,END RESTORE boing4.sound @dosound_string(boing4$) ' boing5.sound: DATA REG,82,2,251,13,34,0,0,248,16,0,0,0,86,0 DATA VAR,0,0,11,0,END RESTORE boing5.sound @dosound_string(boing5$) ' boing6.sound: DATA REG,0,0,0,0,0,0,0,252,16,0,0,20,70,0 DATA VAR,1,0,1,255,END RESTORE boing6.sound @dosound_string(boing6$) ' tingeling1.sound: DATA REG,0,0,0,0,0,0,23,248,16,16,16,130,62,0 DATA VAR,0,255,-106,116 DATA PAUSE,255,END RESTORE tingeling1.sound @dosound_string(tingeling1$) ' tingeling2.sound: DATA REG,0,0,0,0,0,0,0,254,16,0,0,207,88,0 DATA VAR,0,0,41,0,END RESTORE tingeling2.sound @dosound_string(tingeling2$) ' siren2.sound: DATA REG,0,1,0,0,0,0,0,8,15,0,0,0,0,0,0,10 DATA VAR,0,1,10,0,END RESTORE siren2.sound @dosound_string(siren2$) ' heli.sound: DATA REG,176,0,238,1,119,12,26,227,16,11,14,111,2,12,END RESTORE heli.sound @dosound_string(heli$) ' surf.sound: DATA REG,0,0,0,0,0,0,31,199,16,16,16,0,32,14,END RESTORE surf.sound @dosound_string(surf$) ' ting2.sound: DATA REG,200,0,201,0,100,0,0,248,16,16,16,0,20,0,END RESTORE ting2.sound @dosound_string(ting2$) ' ding.sound: DATA REG,64,1,56,1,0,0,0,252,16,16,0,20,20,0,END RESTORE ding.sound @dosound_string(ding$) ' keyclick.sound: DATA REG,59,0,0,0,0,0,0,254,16,0,0,128,1,3,0,0,END RESTORE keyclick.sound @dosound_string(keyclick$) ' ploink.sound: DATA REG,2,15,2,15,0,0,0,252,16,16,0,20,20,10 DATA VAR,1,240,-16,0 DATA PAUSE,10 DATA REG,2,15,2,15,0,0,0,252,0,0,0,20,20,10,END RESTORE ploink.sound @dosound_string(ploink$) ' toing.sound: DATA REG,140,1,216,4,219,5,0,254,16,0,0,207,88,0 DATA VAR 0,0,41,0,END RESTORE toing.sound @dosound_string(toing$) ' clock.sound: DATA REG,64,0,120,0,0,0,0,252,16,16,0,20,20,0,END RESTORE clock.sound @dosound_string(clock$) ' gong1.sound: DATA REG,1,5,0,5,2,5,0,248,16,16,16,0,20,1,END RESTORE gong1.sound @dosound_string(gong1$) ' gong2.sound: DATA REG,210,3,232,3,209,7,0,248,16,16,16,111,163,0,END RESTORE gong2.sound @dosound_string(gong2$) ' gong3.sound: DATA REG,0,13,0,12,0,15,0,248,16,16,16,200,200,2 DATA PAUSE,250,END RESTORE gong3.sound @dosound_string(gong3$) ' dingdong.sound: DATA REG,65,1,64,1,66,1,0,248,16,16,16,255,70,1 DATA PAUSE,40 DATA REG,65,1,242,0,127,1,0,248,16,16,16,255,100,1,END RESTORE dingdong.sound @dosound_string(dingdong$) ' piew.sound: DATA REG,1,0,0,0,0,0,0,254,16,0,0,0,35,1 DATA VAR,0,50,1,100,END RESTORE piew.sound @dosound_string(piew$) ' poing.sound: DATA REG,1,0,0,0,0,0,0,254,16,0,0,0,35,1 DATA VAR,0,100,-1,50,END RESTORE poing.sound @dosound_string(poing$) ' zap.sound: DATA REG,0,16,0,0,0,0,0,252,15,0,0,20,0,4 DATA VAR,1,0,1,15 DATA PAUSE,1 DATA REG,0,16,0,0,0,0,0,252,0,0,0,20,0,4,END RESTORE zap.sound @dosound_string(zap$) ' dlink.sound: DATA REG,8,2,12,4,0,0,0,252,16,16,0,20,20,9 DATA VAR,0,200,-20,0 DATA PAUSE,1 DATA REG,8,2,12,4,0,0,0,252,0,0,0,20,20,9,END RESTORE dlink.sound @dosound_string(dlink$) ' shot.sound: DATA REG,0,0,0,0,0,0,15,199,16,16,16,0,16,0 DATA PAUSE,25 DATA REG,0,0,0,0,0,0,15,199,0,0,0,0,16,0,END RESTORE shot.sound @dosound_string(shot$) ' explosion1.sound: DATA REG,0,0,0,0,0,0,31,199,16,16,16,0,50,9,END RESTORE explosion1.sound @dosound_string(explosion1$) ' explosion2.sound: DATA REG,0,0,100,0,200,0,31,198,16,16,16,207,88,0 DATA VAR,6,255,0,0,END RESTORE explosion2.sound @dosound_string(explosion2$) ' laser.sound: DATA REG,100,0,200,0,50,0,31,220,16,0,16,127,37,0 DATA VAR,0,0,137,200 DATA PAUSE,128,END RESTORE laser.sound @dosound_string(laser$) ' fft.sound: DATA REG,42,2,88,4,164,8,0,199,16,16,16,106,10,4 DATA VAR 4,124,54,164,END RESTORE fft.sound @dosound_string(fft$) ' steam.sound: DATA REG,0,0,0,0,0,0,10,199,16,16,16,0,80,0 DATA PAUSE,20 DATA REG,0,0,0,0,0,0,10,255,0,0,0,0,80,100,END RESTORE steam.sound @dosound_string(steam$) ' thrill.sound: DATA REG,86,0,86,0,0,0,0,252,16,15,0,50,1,10 DATA VAR,9,16,-1,0 DATA PAUSE,0 DATA REG,86,0,86,0,0,0,0,252,0,15,0,50,1,10,END RESTORE thrill.sound @dosound_string(thrill$) ' jingle.sound: DATA REG,100,4,101,4,0,0,0,252,15,15,0,0,30,0 DATA PAUSE,5 DATA REG,100,3,101,3,0,0,0,252,15,15,0,0,30,0 DATA PAUSE,5 DATA REG,100,2,101,2,0,0,0,252,15,15,0,0,30,0 DATA PAUSE,5 DATA REG,100,1,101,1,0,0,0,252,15,15,0,0,30,0 DATA PAUSE,5 DATA REG,100,0,101,0,0,0,0,252,16,16,0,0,30,0,END RESTORE jingle.sound @dosound_string(jingle$) ' RETURN ' *** > PROCEDURE dosound_string(VAR s$) ' ' *** Construct sound-string from DATA ' LOCAL i,snd$,snd,channel,begin,step,end s$="" DO READ snd$ snd$=UPPER$(snd$) EXIT IF snd$="END" IF snd$="REG" FOR i=0 TO 13 READ snd s$=s$+CHR$(i)+CHR$(snd) NEXT i ENDIF IF snd$="PAUSE" READ snd s$=s$+CHR$(130)+CHR$(snd) ENDIF IF snd$="VAR" READ channel,begin,step,end s$=s$+CHR$(128)+CHR$(begin)+CHR$(129)+CHR$(channel)+CHR$(step)+CHR$(end) ENDIF LOOP s$=s$+CHR$(255)+CHR$(0) ! terminator RETURN ' ********* '