Final Project: Zelda 291: Sound and Music

by Kevin Moore

Theory: MIDI file playback as handled through John Ratcliff's (somewhat) reliable MIDPAK interface. The WAV playback is handled by setting the DMA for an auto transfer and using the sound blaster to initiate it. The actual Data files are WAV's stripped of the headers and renamed PCM's.

From the "Give Credit where credit is due" department: This game uses John Ratcliff's Midpak interrupt handler to do all MIDI functions. The procedures I wrote are an interface to other programmers in the group. The MIDI repeat feature, which is not implemented by MIDPAK, is entirely original. The Wave functions are more direct in the way that they interface with the hardware. Plavcan wrote two macros that are used to send bytes to and from the SB read/write port. Plavcan's source was also the base for my ResetDSP function. The ProgDMA function is based on source code provided by Draeden in the PC-GPE, the DSPFindPageOffset function is also based on his source. All other functions are brand spanking new.

WAV Playback

Internal Structures:

Functions