'$DYNAMIC DEFINT A-Z DECLARE SUB setmodex () DECLARE SUB setvispage (BYVAL page) DECLARE SUB fadeto (palbuff(), BYVAL red, BYVAL green, BYVAL blue) DECLARE SUB fadetopal (pal(), palbuff()) DECLARE SUB setpal (pal()) DECLARE SUB clearpage (BYVAL page) DECLARE SUB setkeys () DECLARE SUB setfont (f()) DECLARE SUB printstr (s$, BYVAL x, BYVAL y, BYVAL p) DECLARE SUB textcolor (BYVAL f, BYVAL b) DECLARE SUB setitup (fil$, buff(), tbuff(), BYVAL p) DECLARE SUB resetdsp DECLARE SUB savesnd (fil$, BYVAL i) DECLARE SUB playsnd (BYVAL n, BYVAL f) DECLARE SUB closefile DECLARE SUB rectangle (BYVAL x, BYVAL y, BYVAL w, BYVAL h, BYVAL c, BYVAL p) DECLARE SUB setwait (b(), BYVAL t) DECLARE FUNCTION Keyseg () DECLARE FUNCTION keyoff () DECLARE FUNCTION keyval (BYVAL a) DECLARE FUNCTION getkey () TYPE Regtype ax AS INTEGER bx AS INTEGER cx AS INTEGER dx AS INTEGER bp AS INTEGER si AS INTEGER di AS INTEGER flags AS INTEGER ds AS INTEGER es AS INTEGER END TYPE DIM SHARED regs AS Regtype regs.ax = &H3509: CALL interruptx(&H21, regs, regs) off9 = regs.bx: seg9 = regs.es DIM font(1024), master(767), noise(16384), buffer(16384), fade(1536), timing(4) RANDOMIZE TIMER 'SHELL "dir /b *.voc >noise.txt" resetdsp setitup "noise.cbv" + CHR$(0), noise(), buffer(), 2 setmodex GOSUB switchon DEF SEG = VARSEG(master(0)): BLOAD "master.pal", VARPTR(master(0)): setpal master() DEF SEG = VARSEG(font(0)): BLOAD "one.fnt", VARPTR(font(0)): setfont font() textcolor 15, 0 rate! = 211 OPEN "noise.txt" FOR INPUT AS #1 DO i = i + 1 INPUT #1, v$ printstr STR$(i) + " " + v$, 0, 0, 0 savesnd v$ + CHR$(0), i playsnd i, rate! w = getkey clearpage 0 LOOP UNTIL EOF(1) CLOSE #1 printstr "PRESS ANY KEY", 0, 0, 0 w = getkey FOR i = 1 TO i playsnd i, rate! NEXT i finis: fadeto fade(), 0, 0, 0 GOSUB shutoff closefile SCREEN 13: SYSTEM switchon: regs.ax = &H2509: regs.ds = Keyseg: regs.dx = keyoff CALL interruptx(&H21, regs, regs) RETURN shutoff: regs.ax = &H2509: regs.ds = seg9: regs.dx = off9 CALL interruptx(&H21, regs, regs) RETURN