DMX

DMX was a sound library written by Paul Radek of Digital Expressions, Inc. that was used in the Doom engine to provide sound and music playback under DOS. The use of this external library meant that when the Doom source code was later released, only the source code to the Linux port could be made public, as disclosure of the copyrighted DMX APIs could have resulted in an infringement lawsuit.

Various sources imply that id Software's programmers were dissatisfied with the DMX library. John Romero was quoted in an alt.games.doom newsgroup post as having called Radek a "shithead", "sound code dork" and "incompetent". John Carmack later described the use of DMX as "a mistake" in the release notes to the Doom source code.

References to DMX can be found in Doom (although not in the game directly): a DMXOPTION environment variable allows a couple sound options to be set, and the DMXGUS lump contains instrument mapping data for use on the Gravis Ultrasound card.

Despite id's unwillingness to release any DMX-related code, Raven took a much more relaxed attitude to the issue, and DMX-related code was included with the Heretic and Hexen source releases (although not the DMX library itself).

DMX only supports its native sound formats, two of which (plus MUS for music) are used in Doom: format 0 is used for PC speaker sound effects while format 3 is used for digitized sounds. Formats 1 and 2 are unknown, though reverse-engineering efforts showed that they do exist as there is a function dedicated to handling them both.