Sierra General MIDI Driver w/ SFX support

Summary

This driver provides General MIDI and digital sound effects on earlier SCI1-based Sierra games. The following games have been tested to work with this driver:

Overview

Most (if not all) of Sierra's SCI1 games have MIDI music and digital sound effects. Depending on the version of the interpreter, this can be supported in several ways. In later SCI1 interpreters (such as Space Quest 5, Police Quest 1, and Conquests of the Longbow) Sierra used separate drivers for music and sound effects. However in earlier interpreters (such as Space Quest 1 and Leisure Suit Larry 5) the logic to handle both music and sound effects were in the same driver.

To receive the best-quality MIDI music, a General MIDI (GM) compatible wavetable synthesizer is recommended over a FM synth. Wavetable synths of the day were the Roland MT-32 (though it was not GM compatible) and the Sound Blaster AWE32 while popular FM synths were the Adlib and Sound Blaster 16. Furthermore, the Sound Blaster series were popularized by thier ability to playback digitized sound effects. Today, all sound cards can playback recorded sounds and nearly all are GM compatible. But back in the day, the only way to do both was to buy an AWE32 (which wasn't available until the mid-90's) or connect an MT-32 to an SB card. Furthermore, the game had to have the correct drivers to support these options.

In those earlier SCI1 games, if you want to hear the digitized sound effects, you have two options:

Unfortunately, there was no way to have GM-compatible MIDI music and digital sound effects. This driver, GMBLAST.DRV, corrects this problem.

Download

Here is the driver: gmblast.zip.

And for those who are interested the technical details, I'm also offering my documentation on the assembler code of the driver here. Be sure to turn on the document map for easier navigation. GMBLAST.DRV is nothing more than GENMIDI.DRV with the sound effects code appended from MTBLAST.DRV (and some supporting logic). You're welcome to use it for your own debugging purposes.

Install Instructions

  1. Unzip the gmblast.zip file and copy its contents into the game directory.
  2. Edit the resource.cfg file and change the value of the soundDrv parameter to GMBLAST.DRV.
  3. You can also (optionally) append the following lines to install.hlp so the install program will recognize the driver:
            \\gmblast.drv
            General MIDI with SoundBlaster
            \\gmblast.hlp
            General MIDI Device with SoundBlaster Sound Effects
        
  4. The use of Dosbox is recommended for greatest compability.

Links

The following links may help you run your older Sierra games on newer computers.

Final words

Please send questions and comments to voyager@voyd.net. Donations are welcome and a good motivation tool. ;)

This work was done entirely in assembly language using MS-DOS debug, hiew, Micro$oft Word, and DosBox. Special thanks to Ravi Iyengar, whose framework soundriver code helped me greatly.