Gravis UltraSound¶
The Gravis UltraSound (or just GUS) was released in 1992 by an unlikely manufacturer: Canadian joystick company Advanced Gravis. Its audio capabilities were far ahead of anything else on the consumer market — wavetable synthesis, stereo sound, and up to 32 channels of simultaneous playback.
The catch? The GUS made no attempt at backwards compatibility with AdLib or Sound Blaster cards. Programs had to be written specifically for it. Many DOS gamers kept a Sound Blaster alongside their GUS for titles that lacked native support — and in DOSBox Staging, you can do the same by enabling both devices in your configuration.
Another quirk: unlike most sound cards, the GUS shipped with no built-in instrument sounds. All voices had to be loaded from disk via “patch files” at driver load time. Due to licensing restrictions, these patch files can’t be distributed with DOSBox Staging, so you’ll need to obtain them separately.
Where the GUS truly shone was in the demoscene and tracker music community. Second Reality by Future Crew, widely considered one of the greatest DOS demos ever made, was designed to sound its best on a GUS. Games with native GUS support, like Star Control II, also benefited enormously from its superior audio capabilities.
How programs use the GUS¶
Software used the GUS in several distinct ways. Understanding the difference is important because each requires a different DOSBox configuration.
Native support¶
These games use the card’s hardware mixing directly, uploading their own
samples to the GUS’s on-board RAM — no patch files or drivers needed. This
is the GUS at its best: crystal-clear multi-channel audio mixed in hardware
with a very low noise floor. Native GUS games need only gus = on in the
config. Select “Gravis UltraSound” (or similar) in the game’s setup utility.
Notable native GUS games
All demoscene productions with GUS support also fall into this category — they upload their own instrument samples and use the hardware mixer directly.
GUS MIDI with patch files¶
These games have a built-in GUS driver that sends MIDI commands and loads
instrument samples (patch files) from the ultradir directory to
use as wavetable instruments. The GUS acts as a MIDI synthesiser — the result
can sound very good, somewhere between FM synthesis and true General MIDI. The
patch files must be placed in a MIDI subdirectory under
ultradir (default C:\ULTRASND).
Notable GUS MIDI games
UltraMID¶
These games have no GUS-specific code at all — they send standard MIDI
commands as if talking to a Roland MT-32 or General
MIDI device. The ULTRAMID.EXE TSR
provided by Gravis intercepts these MIDI commands and translates them into GUS
hardware calls, loading instrument samples from the patch files on disk. Load
ULTRAMID.EXE before starting the game:
Notable UltraMID games
- Betrayal at Krondor (1993)
- Eye of the Beholder (1991)
- Hocus Pocus (1994)
- Indiana Jones and the Fate of Atlantis (1992)
- Master of Orion (1993)
- Monkey Island 2: LeChuck’s Revenge (1991)
- Sam & Max Hit the Road (1993)
- The 7th Guest (1993)
- Ultima Underworld: The Stygian Abyss (1992)
- X-COM: UFO Defense (1994)
Tip
If a game’s setup utility offers both “Gravis UltraSound” and “General MIDI” (or similar), the GUS option usually sounds better — it means the game has a built-in GUS driver. Fall back to the General MIDI option with UltraMID if the GUS option doesn’t work.
For a comprehensive list of games with GUS support, consult the official GLIST.TXT compatibility list maintained by Gravis:
Setting up the GUS environment¶
For games that need the patch files (GUS MIDI and UltraMID titles), you’ll need to set up the GUS directory structure. The expected layout is:
C:\ULTRASND\
├── MIDI\
│ ├── ACBASS.PAT
│ ├── ACPIANO.PAT
│ ├── ... (instrument patch files)
│ └── DEFAULT.CFG
└── ULTRAMID.EXE
The patch files cannot be distributed with DOSBox Staging due to licensing restrictions. Search online for “GUS patch files” or “GUS MIDI patches” to find them. Several freely available patch sets exist.
Once the files are in place, ensure ultradir points to the correct location
in your DOSBox config:
Note
Native GUS games and all demos do not need the patch
files — they upload their own instrument samples. You only need the
ULTRASND directory setup for GUS MIDI and
UltraMID games.
Hardware configuration¶
The gusbase, gusirq, and gusdma
settings configure the I/O base address, interrupt, and DMA channel of the
emulated GUS. The defaults (base address 240, IRQ 5, DMA 3) are chosen to
avoid conflicts with the Sound Blaster card, allowing both to coexist. Some
games and demos expect the GUS factory defaults of base address 220, IRQ 11,
DMA 1. Note that certain versions of the DOS/4GW extender cannot handle IRQs
above 7, so IRQ 11 may cause problems with those titles.
GUS-only configuration¶
If you want to emulate a system with only a GUS and no Sound Blaster (as some purists had in the 1990s), disable the other sound devices:
This can be useful for games where the GUS and Sound Blaster interfere with each other, or when you want to ensure a game uses its GUS code path exclusively.
Mixer channel¶
The Gravis UltraSound outputs to the GUS mixer channel.
Configuration settings¶
Gravis UltraSound settings are to be configured in the [gus] section.
Note
The default settings of base address 240, IRQ 5, and DMA 3 have been chosen so the GUS can coexist with a Sound Blaster card. This works fine for the majority of programs, but some games and demos expect the GUS factory defaults of base address 220, IRQ 11, and DMA 1. The default IRQ 11 is also problematic with specific versions of the DOS4GW extender that cannot handle IRQs above 7.
gus¶
-
Enable Gravis UltraSound emulation. Many games and all demos upload their own sounds, but some rely on the instrument patch files included with the GUS for MIDI playback (see
ultradirfor details). Some games also requireULTRAMID.EXEto be loaded prior to starting the game.Possible values:
on,offdefault
gusbase¶
-
The I/O base address of the Gravis UltraSound.
Possible values:
210,220,230,240default,250,260.
gusirq¶
-
The IRQ number of the Gravis UltraSound.
Possible values:
2,3,5default,7,11,12,15.
gusdma¶
-
The DMA channel of the Gravis UltraSound.
Possible values:
1,3default,5,6,7.
ultradir¶
- Path to the UltraSound directory (
C:\ULTRASNDby default). This should have aMIDIsubdirectory containing the patches (instrument files) required by some games for MIDI music playback. Not all games need these patches; many GUS-native games and all demos upload their own custom sounds instead.
gus_filter¶
-
Filter for the Gravis UltraSound audio output.
Possible values:
ondefault – Filter the output. This applies a 1st order low-pass filter at 8 kHz (lpf 1 8000).off– Don’t filter the output.<custom>– Custom filter definition; see Custom filter settings for details.