Sierra General MIDI Driver w/ SFX support

Summary

This driver provides General MIDI and digital sound effects on earlier SCI1-based Sierra games where the MIDI and SFX code are in the same driver.

Updated Feb 28, 2012: Added genmidi.zip to obtain the 4.PAT patch file (I thought this came with the game when I first wrote this), added info on Hoyle 3 and Dr Brain, and updated the links section with the new locations of various sites.

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.

Affected Games

The following games have been tested to work with this driver:

The following games would also work if there were an appropriate instrument patch. Unfortunately, their use is not recommended at this time as the instruments will not sound correct.

Download

Here is the driver: gmblast.zip.

And here is the GM driver package that contains the instrument patches: genmidi.zip.

You will need to download both files.

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 genmidi.zip file and follow the instructions to install 4.PAT.
  2. Unzip the gmblast.zip file and copy its contents into the game directory.
  3. Edit the resource.cfg file and change the value of the soundDrv parameter to GMBLAST.DRV.
  4. 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
        
  5. The use of Dosbox is recommended for greatest compatability.

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.