Ravi's Sound Drivers

From SCI Wiki
Jump to navigationJump to search

By Ravi Iyengar

 

Caveat

These are 16-bit drivers for Sierra's DOS interpreters. Mileage will vary when trying to use them in Windows. For Windows NT, Windows 2000, and Windows XP, it may be necessary or helpful to install [../Emulators/VDMSound/VDMSound.html VDMSound]. You can also try playing supported games with FreeSCI to get all the benefits of a more modern interpreter. Also FreeSCI's documentation covers more SCI internals

 

SCI0 No Sound / Framework Driver

The main purpose of this driver is to serve as a starting point for producing drivers for otherwise unsupported hardware. To this end, it is released under the GNU Lesser GPL. The GM driver is an example.

Additionally, the driver can be used to play SCI0 games with no sound at all. Games use events embedded in sound resources to synchronize gameplay with sound. The driver should handle these events properly.

 

SCI0 General MIDI

The General MIDI standard didn't exist when Sierra was making SCI0 games. This driver uses a bastardized version of Rickard Lind's patch mapping algorithm, taken from the FreeSCI project, to map instruments in the MT-32 track from each game their GM equivalents. I changed the original C to assembly, simplified the mapping, and changed unmapped instruments to play piano instead of being silent. The result was mixed with the framework driver and a few MPU functions to control the synth. may be compatible with the template game.

The driver is released under the GNU GPL with a specific provision to allow linking with Sierra's SCI interpreter.

 

SCI0 MPU MIDI

The MPU MIDI driver plays music in new, fan-made SCI0 games. These games most likely follow the GM standard, but the driver itself is agnostic concerning the instrument layout. It simply plays the resources as-are on an MPU UART device. The device must be on port 330h.

The driver is released under the GNU Lesser GPL.

 

SCI01/1 No Sound / Framework Driver

The main purpose of this driver is to serve as a starting point for producing drivers for otherwise unsupported hardware. To this end, it is released under the GNU Lesser GPL. The MPU Map driver is an example.

 

SCI01/1 MPU Remap

Sierra was still producing patches and drivers on a per-snyth basis while making SCI01 and SCI1 games. Some time later they released a sound driver that works with some games to remap instruments to the General MIDI layout. This driver does the same thing, but works with a different set of games. It uses PATCH.124 or 124.PAT depending on the game to determine how to remap instruments. The driver comes with a sample PATCH.124 resource for playing GM music in Quest for Glory II. (Thanks go to Tom Lewandowski of Quest Studios. I based my mapping of instruments in QFG2 on his GM arrangements.)

The driver is released under the GNU Lesser GPL (You can find Sierra's GM driver for support of other SCI1 on the Sierra Sound Utilities page.)

 

Sierra GM Driver

Sierra developed an after market GM driver for other SCI1 games; EcoQuest 1, Hoyle's Book of Games vol 3, Leisure Suit Larry 1 (Enhanced Version), Leisure Suit Larry 5, Robin Hood: Conquest of the Longbow, Space Quest 1 (Enhanced Version), Space Quest 4 and Mixed Up Fairy Tales

 

Notes

I haven't done any active development on these drivers lately, but other people have written and continue to write sound drivers for Sierra's games. Let me know if you're working on anything -- I'm always interested to see.


External links

  • SCI1 GM+SFX Driver by Michael Maggio combines support for general MIDI music and digital sound effects in early SCI1 games.