DMXGUS
From DoomWiki.org
DMXGUS (or DMXGUSC) is a WAD lump that contains instrument data for the DMX sound library to use for Gravis UltraSound soundcards. It contains a listing of all GUS patches, identified by a number at the beginning of the line and the name of the patch at the end, with in between the value of the patches to which they should be remapped on 256K, 512K, 768K and 1024K hardware. This allowed to make sure that all loaded patches would fit in the soundcard's memory.
Index 0 to 127 correspond to the General MIDI instrument lists. Index 128 to 255 correspond to drum banks; in practice 128 is explicitly blank and the rest starts at 155 to end at 215 (the General MIDI standard defines percussive instruments from 35 to 81 and therefore by adding 128 have them start at 163 and end at 209).
The DMXGUS lumps used in Doom engine games were contributed by the community and later adopted, rather than created by Bobby Prince or Paul Radek. Doom and Doom II use different patch mappings both created by Tom Klok, Hexen uses patch mappings created by Colin Caird. In both cases, only the 1024K mappings have been tweaked, the lower values still use the mappings provided by the default ultramid.ini. Heretic appears to use the default mappings entirely, and Strife reuses the mappings created for Doom, while Final Doom keeps the mappings created for Doom II.
A bug exists in how vanilla Doom applies the instrument mappings, which causes the wrong instruments to be played.
ZDoom and GZDoom source ports offer a GUS emulator based on a custom TiMidity and the UltraMID driver's source code, which reads DMXGUS lumps. Chocolate Doom features a "pseudo-emulator" which reads these lumps and use them to configure a normal TiMidity++ driver.
Tools for helping in the creation of a good DMXGUS lump were written for the Freedoom project. Instruments are grouped by similarity, and statistics are gathered from MIDI file to find out which instruments are more important than others. With these data and a list of each patch's size in the original GUS driver distribution, it is possible to automatically generate optimized configurations.
External links[edit]
Some custom DMXGUS PWADs are available on idgames:
- GUS1M at Doomworld/idgames by Tom Klok for Doom
- HT_GUS1M at Doomworld/idgames by Tom Klok for Heretic
- GUS1M-II at Doomworld/idgames by Sebastien Bacquet for Doom II
- GUS1M-IID at Doomworld/idgames by Sebastien Bacquet for Doom II (bugfixed version of above)
- GUS-TLR at Doomworld/idgames by Sebastien Bacquet for the deathmatch WAD The Last Resort (Doomworld/idgames)
Some PWADs feature a MIDI track composed specifically for custom GUS patches, which will only sound as intended when using a genuine or accurately emulated GUS card:
- Xtreme at Doomworld/idgames by Bobby Wolf and Jonathan Wright, replaces six of the "sound effects" GM instruments by sounds from Doom
- Freedoom's DMXGUS tools