-
Notifications
You must be signed in to change notification settings - Fork 383
Guide:Sound card support in DOSBox‐X
Back to the DOSBox-X Wiki Welcome page.
DOSBox-X supports the emulation of a wide range of audio output options that were common in the DOS days. This document attempts to help the novice user, especially those that never experienced DOS PC’s during the 80’s and 90’s with selecting an appropriate audio output option for games.
You can set the audio output option to emulate in the DOSBox-X config file.
The available audio option can be found in a few sections, such as [pcspeaker]
, [sblaster]
, [gus]
and [innova]
.
By default, DOSBox-X just like regular DOSBox on which is it based, enables emulation of a PC Speaker and the Sound Blaster 16.
Note
|
DOSBox-X does not support microphone and/or line-in for any of the emulated soundcards. |
Year Introduced |
FM Channels |
FM Stereo |
FM Sound Chip |
DAC |
|
PC Speaker |
1981 |
1 |
- |
- |
- |
IBM PCjr |
1984 |
3 + Noise |
- |
TI SN76496 |
- |
Tandy 1000/A/HD/SX/TX/EX/HX |
1985 |
3 + Noise |
- |
TI SN76489 |
- |
AdLib Music Synthesizer Card |
1987 |
9 |
- |
Yamaha OPL2 |
- |
Creative Music System |
1987 |
2 x 6 |
Yes |
2x Philips SAA1099 |
- |
Covox Speech Thing |
1987 |
- |
- |
- |
8-bit |
Tandy 1000SL/TL/RL/RLX/RSX |
1988 |
3 + Noise |
- |
Tandy PSSJ |
8-bit up to 22kHz |
Sound Blaster 1.x |
1989 |
9 |
- |
Yamaha OPL2 |
8-bit up to 22kHz |
Innovation SSI-2001 |
1989 |
3 |
- |
MOS 6581 |
- |
Disney Sound Source |
1990 |
- |
- |
- |
8-bit, 7kHz |
IBM PS/1 Audio Card |
1990 |
3 + Noise |
- |
TI SN76496 |
8-bit up to 22kHz |
Sound Blaster 2.0 |
1991 |
9 |
- |
Yamaha OPL2 |
8-bit up to 44kHz |
Sound Blaster Pro |
1991 |
2 x 9 |
Yes |
2x Yamaha OPL2 |
8-bit up to 44kHz |
Sound Blaster Pro 2 |
1991 |
18 |
Yes |
Yamaha OPL3 |
8-bit up to 44kHz |
Sound Blaster 16 |
1992 |
18 |
Yes |
Yamaha OPL3 |
16-bit up to 44kHz |
AdLib Gold 1000 |
1992 |
18 |
Yes |
Yamaha OPL3 |
12-bit up to 44kHz |
Gravis UltraSound |
1992 |
32 |
Yes |
- |
16-bit up to 44kHz |
Gravis UltraSound MAX |
1994 |
32 |
Yes |
- |
16-bit up to 44kHz |
Gravis UltraSound PnP |
1995 |
32 |
Yes |
- |
16-bit up to 44kHz |
Some games support Roland MT-32 and/or General MIDI output. See the Guide: Setting up MIDI in DOSBox-X for instructions.
MIDI was a very expensive option at the time, and therefore rare. It is able to deliver high quality music, but is poorly suited for sound effects and cannot produce voice.
Some early DOS games with MIDI support may only offer you one output option, so you need to choose for instance the Roland MT-32 or AdLib, but not both. Depending on the game, this may mean that you get MIDI background music, but no sound or voice effects if you choose the MT-32. Some games however did try to map all or some of the sound effects to MIDI sounds.
Some later DOS games may offer you separate options for Audio and Music, such that you can have the Sound Blaster for Audio like effects and/or speech, and MIDI for music.
During the early CD-ROM era some games stopped supporting MIDI and replaced the music with CD Audio streamed from the CD during gameplay.
The PC Speaker was the integrated speaker from the earliest IBM PC’s. It was really only meant for simple beeps, but ended up widely used by PC games as it was the lowest common-denominator for PC sound, despite its very limited capabilities.
It is effectively a single-channel square-wave generator, and with considerable CPU overhead it was possible to get some half-decent sound out of it as demonstrated by RealSound.
Sound quality was heavily dependent on the type of speaker and the placement and PC case it was built into. Originally a dynamic speaker was used, but later model PCs used a tiny piezo speaker instead which further reduced sound quality and volume.
PC Speaker emulation is enabled by default, but can be disabled by setting pcspeaker=false
in the [speaker]
section of the DOSBox-X config file.
The following options are available in the [speaker]
section of the DOSBox-X config file:
-
Default value: false
-
Valid values: true, false
Start system with the clock gate (bit 0 of port 61h) on.
Needed for some games that use the PC speaker for timing on IBM compatible systems.
-
Default value: -1
-
Valid values:
The PC speaker PIT (Programmable Interval Timer) is programmed to this frequency on startup.
If the DOS game or demo causes a long audible beep at startup (leaving the gate open) try setting this option to 0 to silence the PC speaker until reprogrammed by the demo. Set to 0 for some early Abaddon demos including "Torso" and "Cycling".
The default value of -1 causes it to default depending on the machine type:
-
IBM PC defaults to 903Hz
-
PC-98 defaults to 2000Hz
The PCjr was introduced by IBM in March 1984, and discontinued due to poor sales just over a year later.
PCjr audio is automatically enabled when you set machine=pcjr
in the [dosbox]
section of the DOSBox-X config file.
Note
|
Enabling PCjr mode, also enables PCjr video emulation |
Tandy audio, was introduced with the Tandy 1000 in 1984, which began as a clone of the IBM PCjr.
Tandy audio is automatically enabled when you set machine=tandy
in the [dosbox]
section of the DOSBox-X config file.
Note
|
Enabling Tandy mode this way, also enables Tandy video emulation |
The later Tandy 1000 SL, TL, TLX, RL and RLX models added support for a DAC for digital sample sounds.
Note
|
The Tandy DAC will be disabled if Sound Blaster emulation is enabled, due to resource conflicts.
So to enable the Tandy DAC, you need to set sbtype=none .
|
The following options are available in the [speaker]
section of you config file:
-
Default value: auto
-
Valid values: auto, on, off
The default auto option means that Tandy sound will be automatically enabled, when using machine=tandy
.
It is possible to set tandy=on
for non-Tandy machine=
settings, but quite a few Tandy compatible games will not offer or allow Tandy sound unless it is detected as a Tandy machine.
The AdLib Music Synthesizer Card (typically simple referred to as "AdLib") was released by Ad Lib in 1987, and is based on the Yamaha OPL2 chip. It was the first popular sound card for IBM PC’s and compatibles. It was an easy card to clone, resulting in many AdLib compatible sound cards.
AdLib can be emulated with the following config settings:
[sblaster] sbtype=none oplmode=opl2
However, the above is normally not needed as the later Sound Blaster cards, such as the sb16 that DOSBox-X by default emulates, are all backward compatible with the AdLib Music Synthesizer Card.
Note
|
Some programs may require the AdLib SOUND.COM TSR to be loaded. See the Sound Driver Pack for details.
|
FM synthesizer card, released by Creative Technology in 1987. Based around two Philips SAA-1099 chips, allowing for stereo sound.
Originally named the Creative Music System (CMS), but the year after rebranded as the Game Blaster.
CMS/Game Blaster emulation can be enabled by setting sbtype=gb
in the [sblaster]
section of the DOSBox-X config file.
Note
|
Some programs may require the Creative CMSDRV.COM TSR to be loaded. See the Sound Driver Pack for details.
|
Optional audio card released in 1990 for IBM PS/1 computers (model 2011 and 2121). Relatively few games support this option, and the FM sounds very much like the PCjr or Tandy 1000, as they all use the same or similar TI sound chips.
The following options related to this card are available in the [speaker]
section of you config file:
Covox introduced the Covox Speech Thing parallel port sound dongle in 1987, while Disney introduced the Disney Sound Source in 1990, which is backwards compatible with the Covox, but adds a FIFO buffer and logic to reduce CPU overhead.
These parallel port devices only provide a DAC at a low frequency for playback of digital samples, and has no FM sound.
DOSBox-X provides emulation for the Disney Sound Source, which is effectively backward compatible with the earlier Covox Speech Thing. Also games compatible with the Intersound MDO should work with this, as it is effectively a Covox Speech Thing clone.
The following option is available in the [speaker]
section of you config file:
Creative Technology created a range of Sound Blaster cards, which quickly became the industry standard for PC sound.
Note
|
The SB cards are backwards compatible with the AdLib Music Synthesizer Card. As such the AdLib sound.com TSR works on them, but Creative had to create their own version as they could not distribute the one from AdLib. The Creative TSR is named sb-sound.com , but is not 100% compatible. See the Sound Driver Pack for details.
|
Note
|
Some programs may require the Creative SBFMDRV.COM TSR or CT-VOICE.DRV . See the Sound Driver Pack for details.
|
The Sound Blaster 1.0 was released by Creative Technology in 1989, followed a year later by the cost-reduced Sound Blaster 1.5.
Some key features of the SB 1.x cards
-
Backward compatible with the AdLib Music Synthesizer Card
-
Backward compatible with the CMS/Game Blaster (optional for the SB 1.5)
-
8bit 22kHz DAC for digital samples
Sound Blaster 1.x emulation can be enabled by setting sbtype=sb1
in the [sblaster]
section of the DOSBox-X config file.
The Sound Blaster 2.0 was released by Creative Technology in October 1991.
Some key features of the SB 2.0
-
Backward compatible with AdLib Music Synthesizer Card
-
Optional backward compatibility with CMS/Game Blaster
-
Backward compatible with the Sound Blaster 1.x
-
8bit 44kHz DAC for digital samples
Sound Blaster 2.0 emulation can be enabled by setting sbtype=sb2
in the [sblaster]
section of the DOSBox-X config file.
The Sound Blaster Pro was released by Creative Technology in May 1991.
Some key features of the SB Pro
-
Backward compatible with the AdLib Music Synthesizer Card
-
Backward compatible with the Sound Blaster 1.x
-
Backward compatible with the Sound Blaster 2.0
-
Dual Yamaha OPL2 for stereo FM sound
-
8bit 44kHz DAC for digital samples
Note
|
This adapter was retroactively often named the SB Pro 1 or SB Pro 1.0. |
Note
|
Any software making use of the Stereo FM feature will sound wrong if it was coded for the later SB Pro 2 (or vice versa). Therefore, it is important that you select the right SB Pro model in DOSBox-X, to correspond to that supported by the game. |
Sound Blaster Pro emulation can be enabled by setting sbtype=sbpro1
in the [sblaster]
section of the DOSBox-X config file.
The Sound Blaster Pro 2 was released by Creative Technology in 1991, and quickly replaced the earlier SB Pro.
Some key features of the SB Pro 2
-
Backward compatible with the AdLib Music Synthesizer Card
-
Backward compatible with the Sound Blaster 1.x
-
Backward compatible with the Sound Blaster 2.0
-
Single Yamaha OPL3 for stereo FM sound
Note
|
Any software making use of the Stereo FM feature will sound wrong if it was coded for the original SB Pro (or vice versa). Therefore, it is important that you select the right SB Pro model in DOSBox-X, to correspond to that supported by the game. |
Sound Blaster Pro 2 emulation can be enabled by setting sbtype=sbpro2
in the [sblaster]
section of the DOSBox-X config file.
The Sound Blaster 16 was released by Creative Technology in June 1992.
Some key features of the SB 16
-
Backward compatible with the AdLib Music Synthesizer Card
-
Backward compatible with the Sound Blaster 1.x
-
Backward compatible with the Sound Blaster 2.0
-
Backward compatible with the Sound Blaster Pro 2
-
16bit 44kHz DAC for digital samples
Sound Blaster 16 emulation is enabled by default, and can be enabled by setting sbtype=sb16
in the [sblaster]
section of the DOSBox-X config file.
Note
|
DOSBox-X also provides a sbtype=sb16vibra variation, which emulates the Sound Blaster ViBRA16.
There is no advantage for games to use the sb16vibra over the sb16.
The only advantage it offers is support for PnP (Plug-and-Play), which is to allow later Windows version like Windows 95 to detect it easier.
|
-
Default value: sb16
-
Valid values: sb1, sb2, sbpro1, sbpro2, sb16, sb16vibra, gb, ess688, reveal_sc400, none
This represents the following variations:
-
sbtype=sb1
- Sound Blaster 1.0 or 1.5 -
sbtype=sb2
- Sound Blaster 2.0 -
sbtype=sbpro1
- Sound Blaster Pro -
sbtype=sbpro2
- Sound Blaster Pro 2 -
sbtype=sb16
- Sound Blaster 16 -
sbtype=sb16vibra
- Sound Blaster ViBRA16 -
sbtype=gb
- Creative Music System (CMS) / Game Blaster -
sbtype=ess688
- ESS688 AudioDrive -
sbtype=reveal_sc400
- Reveal SC400
-
Default value: 220 (or d2 for PC-98)
-
Valid values: 220, 240, 260, 280, 2a0, 2c0, 2e0, d2, d4, d6, d8, da, dc, de
The IO base address of the Sound Blaster.
By default
-
220h to 2E0h are for use with IBM PC Sound Blaster emulation.
-
D2h to DEh are for use with NEC PC-98 Sound Blaster 16 emulation.
-
Default value: 7
-
Valid values: 7, 5, 3, 9, 10, 11, 12, 0, -1
The IRQ number of the Sound Blaster (usually 5 or 7, depending on the sound card type and the game).
Set to 0 for the default setting of the sound card.
-
For the sb1, sb2 and sbpro1 this implies IRQ7
-
For the sbpro2 and sb16 this implies IRQ5
-
For PC-98 this always implies IRQ5 (as IRQ7 is its cascade interrupt)
Or set to -1 to start DOSBox-X with the IRQ unassigned.
-
Default value: -1
-
Valid values:
Minimum DMA transfer left to increase attention across DSP blocks, in milliseconds. Set to -1 for default.
There are some DOS games/demos that use single-cycle DSP playback in their music tracker, and they micromanage the DMA transfer per block poorly in a way that causes popping and artefacts. Setting this option to 0 for such DOS applications may reduce audible popping and artefacts.
-
Default value: none
-
Valid values: none, cs_equ_ds
Specify a hack related to the Sound Blaster IRQ to avoid crashes in a handful of games and demos. - none Emulate IRQs normally - cs_equ_ds Do not fire IRQ unless two CPU segment registers match: CS == DS.
Read DOSBox-X Wiki or source code for details.
-
Default value: 1
-
Valid values: 1, 5, 0, 3, 6, 7, -1
The DMA number of the Sound Blaster.
Set to -1 to start DOSBox-X with the DMA unassigned
-
Default value: 5
-
Valid values: 1, 5, 0, 3, 6, 7, -1
The High DMA number of the Sound Blaster.
Set to -1 to start DOSBox-X with the High DMA unassigned
-
Default value: true
-
Valid values: true, false
If set (on by default), emulation will support known undocumented aliases of common Sound Blaster DSP commands. Some broken DOS games and demos rely on these aliases. For more information: https://www.vogons.org/viewtopic.php?f=62&t=61098&start=280
-
Default value: false
-
Valid values: true, false
Start the DOS virtual machine with the Sound Blaster IRQ already unmasked at the PIC.
Some early DOS games/demos that support Sound Blaster expect the IRQ to fire but make no attempt to unmask the IRQ. If audio cuts out no matter what IRQ you try, then try setting this option.
This option is needed for: - Public NMI "jump" demo (1992)
-
Default value: false
-
Valid values: true, false
Start the DOS virtual machine with the Sound Blaster DSP speaker enabled.
Sound Blaster Pro and older cards have a DSP speaker disable/enable command. Normally the card boots up with the DSP speaker disabled. If a DOS game or demo attempts to play without enabling the speaker, set this option to true to compensate.
This setting has no meaning if emulating a Sound Blaster 16 card, as it is always enabled.
-
Default value: false
-
Valid values: true, false
If set, emulate the presence of the Sound Blaster 16 Advanced Sound Processor/Creative Sound Processor chip.
Note
|
This only emulates its presence and the basic DSP commands to communicate with it. Actual ASP/CSP functions are not yet implemented. |
-
Default value: false
-
Valid values: true, false
By default, DOSBox-X filters Sound Blaster output to emulate low-pass filters and analogue output limitations.
Set this option to true to disable filtering. Note that doing so disables emulation of the Sound Blaster Pro output filter and ESS AudioDrive low-pass filter
-
Default value: false
-
Valid values: true, false
If set, force port 22Ch (DSP write buffer status) to return 0x7F or 0xFF.
If not set, the port may return 0x7F or 0xFF depending on what type of Sound Blaster is being emulated. Set this option for some early DOS demos that make that assumption about port 22Ch.
This option is needed for:
- Overload by Hysteria (1992) - Audio will crackle/saturate (8-bit overflow) except when sbtype=sb16
-
Default value: false
-
Valid values: true, false
Start the DOS virtual machine with the Sound Blaster Pro stereo bit set (in the mixer).
A few demos support Sound Blaster Pro but forget to set this bit.
This option is needed for: - Inconexia by Iguana (1993)
-
Default value: true
-
Valid values: true, false
Allow the Sound Blaster mixer to modify the DOSBox-X mixer.
Starting with the Sound Blaster Pro, there is a software mixer to change the volume levels and mute certain inputs. This allows software, such as games, to change the volume levels, which may be undesirable.
When this option is set to false, volume level changes will be ignored.
-
Default value: auto
-
Valid values: auto, cms, opl2, dualopl2, opl3, opl3gold, none, hardware, hardwaregb
Type of Yamaha OPL emulation.
-
auto = the mode is determined by the
sbtype=
setting -
cms = Philips SAA1099 as used in the CMS / Game Blaster (not OPL compatible)
-
opl2 = Yamaha OPL2
-
dualopl2 = Two Yamaha OPL2 chips for stereo, like the SB Pro.
-
opl3 = Yamaha OPL3
-
opl3gold = Yamaha OPL3 as found on the AdLib Gold
-
none = Disable OPL chip emulation
-
hardware = Use a real hardware OPL chip
-
hardwaregb = Use a real hardware Philips SAA1099 (not OPL compatible)
-
Default value: false
-
Valid values: true, false
If set, AdLib/OPL emulation will signal 'overflow' on timers after 50 I/O reads.
Certain games (e.g., Wolfenstein 3D) poll the AdLib status port a fixed number of times assuming that the poll loop takes long enough for the AdLib timer to run out. If the game cannot reliably detect AdLib at higher cycles counts, but can reliably detect at lower cycles counts, set this option.
-
Default value: default
-
Valid values: default, compat, fast, nuked, mame, opl2board, opl3duoboard, retrowave_opl3
Provider for the OPL emulation. - 'compat' might provide better quality. - 'nuked' is the most accurate (but the most CPU-intensive).
See oplrate as well.
-
Default value: 44100
-
Valid values: 44100, 49716, 48000, 32000, 22050, 16000, 11025, 8000
Sample rate in Hz of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly).
You should set this to the same sample rate as the rate=
option in the [mixer]
section.
-
Default value: <blank>
-
Valid values:
Serial port of the OPL2 Audio Board when oplemu=opl2board
, opl2mode will become 'opl2' automatically.
-
Default value: serial
-
Valid values: serial, spi
Bus to which the Retrowave series board is connected. SPI is only supported on Linux.
-
Default value: 0,6
-
Valid values:
SPI chip select pin of the Retrowave series board. Only supported on Linux.
-
Default value: 220
-
Valid values: 210, 220, 230, 240, 250, 260, 280
Base IO address of the real hardware Sound Blaster.
For use with oplmode=hardware
or oplmode=hardwaregb
-
Default value: false
-
Valid values: true, false
Treat all single-cycle DSP commands as auto-init to keep playback going.
This option is a workaround for DOS games or demos that use single-cycle DSP playback commands and have problems with missing the Sound Blaster IRQ under load. Do not enable unless you need this workaround.
Needed for: - Extreme "lunatic" demo (1993)
-
Default value: false
-
Valid values: true, false
Always render Sound Blaster output sample-at-a-time. Testing option. You probably don’t want to enable this.
-
Default value: true
-
Valid values: true, false
Enable goldplay emulation. See Libraries:Goldplay for details.
-
Default value: true
-
Valid values: true, false
Enable workaround for goldplay stereo playback.
Many DOS demos using this technique don’t seem to know they need to double the frequency when programming the DSP time constant for Pro stereo output.
If stereo playback seems to have artefacts consider enabling this option. For accurate emulation of Sound Blaster hardware, disable this option.
-
Default value: auto
-
Valid values: auto, true, false
-
If true, the DSP will halt DMA playback until IRQ acknowledgement occurs even in auto-init mode (SB16 behaviour).
-
If false, IRQ acknowledgement will have no effect on auto-init playback (SB Pro and earlier & SB clone behaviour)
-
If set to 'auto' then behaviour is determined by the
sbtype=
setting.
-
This is a setting for hardware accuracy in emulation. If audio briefly plays then stops, and it’s not using IRQ (but using DMA), try setting this option to 'false'
-
Default value: -1
-
Valid values:
Amount of time in nanoseconds the DSP chip signals 'busy' after writing to the DSP (port 2xCh).
Set to -1 to use card-specific defaults.
Warning
|
Setting the value too high (above 20000ns) may have detrimental effects to DOS games that use IRQ 0 and DSP command 0x10 to play audio. Setting the value way too high (above 1000000ns) can cause significant lag in DOS games. |
-
Default value: true
-
Valid values: true, false
Determines if the BLASTER environment variable is automatically set at startup.
-
Default value: true
-
Valid values: true, false
If true, limit DSP sample rate to what real hardware is limited to.
-
Default value: false
-
Valid values: true, false
If true, direct DAC output commands are instantaneous.
This option is intended as a quick fix for games or demos that play direct DAC music/sound from the IRQ 0 timer who either - write the DSP command and data without polling the DSP to ensure it’s ready - can get locked into the IRQ 0 handler waiting for DSP status when instructed to play at or beyond the DSP’s maximum direct DAC sample rate.
This fix allows broken Sound Blaster code to work and should not be enabled unless necessary.
-
Default value: true
-
Valid values: true, false
If true, Sound Blaster Pro stereo is not available when emulating sb16 or sb16vibra.
If false, sb16 emulation will honour the sbpro stereo bit.
Note that Creative SB16 cards do not honour the stereo bit, and this option allows DOSBox-X emulate that fact. Accuracy setting.
-
Default value: -1
-
Valid values:
Sound Blaster 16 DSP chips appear to go busy periodically at some high clock rate whether the DSP is actually doing anything for the system or not. This is an accuracy option for Sound Blaster emulation.
If this option is nonzero, it will be interpreted as the busy cycle rate in Hz.
If zero, busy cycle will not be emulated.
If -1, Sound blaster emulation will automatically choose a setting based on the sbtype=
setting
-
Default value: -1
-
Valid values:
If set, the DSP busy cycle always happens. If clear, DSP busy cycle only happens when audio playback is running. Default setting is to pick according to the sound card.
-
Default value: -1
-
Valid values: -1, 0-100
If emulating SB16 busy cycle, this value (0 to 100) controls the duty cycle of the busy cycle.
If this option is set to -1, Sound Blaster emulation will choose a value automatically according to sbtype=
.
If 0, busy cycle emulation is disabled.
-
Default value: true
-
Valid values: true, false
If true, Sound Blaster ports alias by not decoding the LSB (Least Significant Bits) of the I/O port.
This option only applies when sbtype=
is set to sb1 or sb2 (not SBPro or SB16).
This is a hack for the Electromotive Force 'Internal Damage' demo which apparently relies on this behaviour for Sound Blaster output and should be enabled for accuracy in emulation.
The AdLib Gold 1000 was released in 1992. It is backward compatible with the earlier AdLib Music Synthesizer Card, but not with the Sound Blaster cards.
This card is only partly emulated, for instance no DAC emulation, by using the following config settings:
[sblaster] sbtype=none oplmode=opl3gold
It will work with some games in this mode, such as Dune 2.
Note
|
AdLib Gold 1000 emulation is experimental, it is not meant for regular use. |
Introduced in 1996 by Electronic Speech Systems (ESS). This chip was used by a range of sound cards from different manufacturers, and integrated into systemboards and notebooks.
It provides backward compatibility with:
-
AdLib Music Synthesizer Card
-
Sound Blaster 1.x
-
Sound Blaster Pro 2
-
Windows Sound System
Note
|
ESS688 emulation is experimental, it is not meant for regular use. |
According to DOS Days, the Reveal SC400 is an OEM version of the Aztech Nova 16, which was released in 1994. It was also offered by Packard Bell as the Forte 16SBP.
It provides backward compatibility with:
-
AdLib Music Synthesizer Card
-
Sound Blaster 2.0
-
Sound Blaster Pro 2
-
Windows Sound System
Note
|
Reveal SC400 emulation is experimental, it is not meant for regular use. |
The Gravis UltraSound (aka GUS) was released in 1992 by Advanced Gravis Computer Technology.
It was one of the first to introduce 16bit 44.1kHz stereo, a hardware mixer, and featured MIDI playback capability. It was a popular sound card in certain circles, such as the demo scene, but never gained much traction with game developers.
The downside is that it offered no hardware compatibility with other sound cards. It did ship with a TSR (SBOS) that needed to be loaded into memory to provide AdLib or Sound Blaster emulation, but this caused many issues.
In practice, you only want to use this emulation option, if the GUS is specifically supported by the software.
Configuring the GUS is more complex than other soundcards, as quite a few software titles that supports the GUS require that you have a configured "ULTRASND" directory setup with the necessary files in it.
By default, this directory is expected to be located at C:\ULTRASND
within DOSBox-X.
One way is to install the Gravis UltraSound driver disks inside DOSBox-X, another is to find a configured ULTRASND folder online that you can simply unpack to the root of the virtual C: drive.
-
Default value: false
-
Valid values: true, false
If true, GF1 output will reduce in volume automatically if the sum of all channels exceeds full volume.
If false, then loud music will clip to full volume just as it would on real hardware.
Enable this option for loud music if you want a more pleasing rendition without saturation and distortion.
-
Default value: false
-
Valid values: true, false
Start the DOS virtual machine with the DMA channel already unmasked at the controller. Use this for DOS applications that expect to operate the GUS but forget to unmask the DMA channel.
-
Default value: false
-
Valid values: true, false
Ignore writes to the active channel count register when the DAC is enabled (bit 1 of GUS reset). This is a HACK for demoscene prod 'Ice Fever' without which the music sounds wrong. According to current testing real hardware does not behave this way.
-
Default value: false
-
Valid values: true, false
Start the DOS virtual machine with the GUS IRQ already unmasked at the PIC.
-
Default value: false
-
Valid values: true, false
If true, start the GF1 in a fully initialized state (as if ULTRINIT had been run). If false, leave the card in an uninitialized state (as if cold boot).
Some DOS games or demoscene productions will hang or fail to use the UltraSound hardware because they assume the card is initialized and their hardware detect does not fully initialize the card.
-
Default value: false
-
Valid values: true, false
If true, automatically enable the GUS DMA transfer bit in specific cases when the DMA control register is being polled. THIS IS A HACK. Some games and demoscene productions need this hack to avoid hanging while uploading sample data to the Gravis UltraSound due to bugs in their implementation.
-
Default value: false
-
Valid values: true, false
If the DOS application is seen polling the IRQ status register rapidly, automatically clear the DMA TC IRQ status.
This is a hack that should only be used with DOS applications that need it to avoid bugs in their GUS support code.
Needed for:
-
Warcraft II by Blizzard
-
If using GUS for music and sound, set this option to prevent the game from hanging when you click on the buttons in the main menu.
-
-
Default value: false
-
Valid values: true, false
Set this option if a DOS game or demo initializes the GUS but is unable to play any music. Usually the cause is buggy GUS support that resets the GUS but fails to set the Master IRQ enable bit.
-
Default value: default
-
Valid values: old, accurate, default
Controls which table or equation is used for the Gravis UltraSound panning emulation. Accurate emulation attempts to better reflect how the actual hardware handles panning, while the old emulation uses a simpler idealistic mapping.
-
Default value: 44100
-
Valid values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716
Sample rate, in Hz, of the UltraSound emulation.
You should set this to the same sample rate as the rate=
option in the [mixer]
section.
-
Default value: false
-
Valid values: true, false
If true, Gravis Ultrasound audio output is rendered at a fixed sample rate specified by 'gusrate'. This can provide better quality than real hardware, if desired.
Else, Gravis UltraSound emulation will change the sample rate of it’s output according to the number of active channels, just like real hardware.
Note
|
DOSBox-X defaults to 'false', while mainline DOSBox SVN is currently hardcoded to render as if this setting is 'true'. |
-
Default value: -1
-
Valid values: -1, 256, 512, 1024
Amount of RAM on the Gravis UltraSound in KiB. Set to -1 for default, which will be 1024KiB.
-
Default value: 0.00
-
Valid values:
Master Gravis UltraSound GF1 volume, in decibels. Reducing the master volume can help with games or demoscene productions where the music is too loud and clipping.
-
Default value: 240
-
Valid values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300, 210, 230, 250
The base IO address of the Gravis UltraSound.
-
Default value: 5
-
Valid values: 5, 3, 7, 9, 10, 11, 12
The IRQ number of the Gravis UltraSound.
-
Default value: none
-
Valid values: none, cs_equ_ds
Specify a hack related to the Gravis UltraSound IRQ to avoid crashes in a handful of games and demos.
-
none = Emulate IRQs normally
-
cs_equ_ds = Do not fire IRQ unless two CPU segment registers match: CS == DS.
Read DOSBox-X Wiki or source code for details.
-
Default value: classic
-
Valid values: classic, classic37, max, interwave
Type of Gravis UltraSound to emulate.
-
gustype=classic
- Original Gravis UltraSound chipset -
gustype=classic37
- Original Gravis UltraSound with ICS Mixer (rev 3.7) -
gustype=max
- Gravis UltraSound MAX emulation (with CS4231 codec) -
gustype=interwave
- Gravis UltraSound Plug & Play (Interwave)
Note
|
MAX and Interwave emulation is experimental, and meant for developers only. The MAX emulation is mostly complete, except for missing support for the WSS codec chip. |
Released in April 1989 by Innovation Computer Corporation, utilizing the MOS 6581 (aka SID) chip, as found in the Commodore 64.
Very few games support this sound option.
-
Default value: 22050
-
Valid values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716
Sample rate in Hz of the Innovation SSI-2001 emulation.
You should set this to the same sample rate as the rate=
option in the [mixer]
section.
-
Default value: 280
-
Valid values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300
Base IO address of the Innovation SSI-2001 emulation.