Nadir Ahmad
Variables
- midinum dw 0
- water db 'water.xmi',0
- smack db 'smack.xmi',0
- midioffset dw 0
- hellowav db 'hello.wav',0
- firewav db 'gun.wav',0
- menuwav db 'menu.wav',0
- killedwav db 'killed.wav',0
- goodbyewav db 'goodbye.wav',0
- dyingwav db 'dying.wav',0
- bullethitwav db 'doh.wav',0
- sbuf_page db ?
- sbuf_offset dw ?
- snd_offset dw 0
- sbuf_length dw 0
- playing dw 0
- handle dw 0
- loadbuf WaveHdr < >
Procedures
- playMidi
- Purpose: To open and play and eXtended MIDI file
- Input: midioffset: pointer to beginning of filename
- Output: Plays MIDI music using MIDPAK through sound card
- Notes: If file is inaccessable, procedure will not play anything
- stopMidi
- Purpose: To stop a playing eXtended MIDI song
- Input: none
- Output: none
- repeatMidi
- Purpose: To repeat a eXtended MIDI song once it has ended
- Input: none
- Output: none
- Notes: Once procedure has determined if song has ended, it calls playMidi
- soundHandler
- Purpose: To keep stop sound and clean buffer when sound is done
- Input: none
- Output: playing: set to 0 when wav is done
- Notes: Is called via interrupt when sound is done playing
- _initializeSoundSeg
- Purpose: To calculate larger half of sound segment and set up for SBlib291
- Input: none
- Output: sbuf_offset, sbuf_page, sndbuf, snd_offset
- Notes: Only needs to be called once to initialize
- _loadWav
- Purpose: To open a wav file
- Input: dx: offset to filename of wavfile
- Output: sbuf_length: length of sound buffer
- Notes: If file is inaccessable, procedure will not open anything
- _playWav
- Purpose: To play a wav file
- Input: dx: offset of filename of wav file
- Output: Plays wav file through soundblaster or compatible sound card