Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/joncampbell123/dosbox-x/llms.txt

Use this file to discover all available pages before exploring further.

DOSBox-X emulates a rich set of DOS-era audio hardware. The [mixer] section governs the global audio pipeline; [midi] controls MIDI output including MT-32 and FluidSynth; [sblaster] emulates Creative Sound Blaster cards with AdLib/OPL; [gus] emulates the Gravis UltraSound; and [speaker] covers the PC speaker, Tandy 3-voice, and Disney Sound Source. Configuring these correctly is often the difference between silence and authentic DOS audio.

[mixer] — Global audio pipeline

The mixer controls the combined audio output that all emulated sound devices feed into.
nosound
bool
default:"false"
Run DOSBox-X in silent mode. Sound hardware is still emulated and programs behave normally, but no audio is sent to the host. Useful for automated testing or when running headless.
rate
integer
default:"48000"
Host audio sample rate in Hz. All emulated devices will be resampled to this rate. Higher rates improve fidelity but increase CPU usage.Valid values: 8000, 11025, 16000, 22050, 32000, 44100, 48000, 96000, 192000
rate = 48000
blocksize
integer
default:"1024"
Audio buffer block size in samples. Larger blocks reduce the risk of audio dropouts on slower or heavily loaded systems but increase latency.Valid values: 256, 512, 1024, 2048, 4096, 8192
prebuffer
integer
default:"25"
Milliseconds of audio data to buffer on top of blocksize before playback begins. Increase this value if you hear stuttering or crackling.
The sample accurate option (default false) enables sample-accurate mixing at the cost of some CPU. Enable it for demos or games that require precise Tandy/OPL timing, such as those using digitized speech through OPL tricks.

[midi] — MIDI output and synthesis

mididevice
string
default:"default"
The device or synthesizer that receives MIDI data from DOSBox-X’s MPU-401 emulation.
ValueDescription
defaultUse the OS default MIDI output
win32Windows MM MIDI output (specify device with midiconfig)
alsaALSA sequencer (Linux; specify port with midiconfig)
ossOSS MIDI (Linux)
coreaudiomacOS CoreAudio synthesizer (optionally specify a soundfont via midiconfig)
coremidimacOS CoreMIDI output port
synthInternal software synthesizer (specify a soundfont via midiconfig)
mt32MT-32 emulation via Munt (requires ROM files)
fluidsynthFluidSynth software synthesizer (requires SF2 soundfont)
timidityTiMidity++ soft synth
noneDisable MIDI output entirely
mididevice = fluidsynth
midiconfig
string
default:""
Device-specific configuration string. For win32, specify a Windows MIDI device ID or part of its name. For alsa, specify the ALSA port (e.g. 128:0). For coreaudio or synth, you can specify a soundfont path here instead of using fluid.soundfont.
midiconfig = 2 delaysysex

MT-32 emulation

DOSBox-X includes Munt-based MT-32 emulation. You must provide your own ROM files (legally obtained from a real MT-32 unit).
mt32.romdir
string
default:""
Directory containing the MT-32 Control and PCM ROM files. DOSBox-X looks for files named MT32_CONTROL.ROM and MT32_PCM.ROM (or their CM-32L equivalents).
mt32.romdir = ~/roms/mt32
mt32.model
string
default:"auto"
Model of MT-32 synthesizer to emulate.
ValueDescription
autoAutomatically select based on available ROM files
mt32Emulate the original Roland MT-32
cm32lEmulate the Roland CM-32L (superset of MT-32)

FluidSynth settings

fluid.soundfont
string
default:""
Path to an SF2 or SF3 soundfont file for FluidSynth. This is required when mididevice = fluidsynth. Popular free soundfonts include GeneralUser GS and FluidR3 GM.
fluid.soundfont = /usr/share/sounds/sf2/FluidR3_GM.sf2
fluid.gain
float
default:"(FluidSynth default)"
FluidSynth synthesizer output gain (0.0 to 10.0). The default FluidSynth gain is used if not set. Reduce this if FluidSynth output is clipping against other audio sources.
fluid.gain = 0.5

FluidSynth example

[midi]
mididevice      = fluidsynth
fluid.soundfont = /path/to/FluidR3_GM.sf2
fluid.gain      = 0.6

[sblaster] — Sound Blaster emulation

DOSBox-X emulates the full Creative Sound Blaster family, from the original SB1.0 through to the SB16.
sbtype
string
default:"sb16"
The Sound Blaster model to emulate.
ValueCard emulated
sb1 / sb1.0 / sb1.5Sound Blaster 1.x
sb2 / sb2.0 / sb2.01Sound Blaster 2.0
sbpro1Sound Blaster Pro (OPL2 stereo)
sbpro2Sound Blaster Pro 2 (OPL3)
sb16Sound Blaster 16 (most compatible, default)
sb16vibraSound Blaster 16 Vibra variant
ess688 / ess1688ESS Technology ES688/ES1688
reveal_sc400Reveal SC400
gbGame Blaster (CMS)
noneDisable Sound Blaster emulation
sbtype = sb16
sbbase
hex
default:"220"
I/O base address of the Sound Blaster.Valid values: 220, 240, 260, 280, 2a0, 2c0, 2e0Most DOS games expect the default of 220h.
irq
integer
default:"7"
IRQ number for the Sound Blaster.Valid values: 3, 5, 7, 9, 10, 11, 12IRQ 7 is the most commonly expected value; some games default to IRQ 5.
dma
integer
default:"1"
Low DMA channel for 8-bit audio transfers.Valid values: 0, 1, 3, 5, 6, 7
hdma
integer
default:"5"
High DMA channel for 16-bit audio transfers (SB16 only).Valid values: 0, 1, 3, 5, 6, 7

OPL / AdLib settings

oplmode
string
default:"auto"
Type of OPL chip to emulate. On auto, the mode is determined by the sbtype setting.
ValueDescription
autoChoose based on sbtype
opl2OPL2 (AdLib compatible, mono)
dualopl2Dual OPL2 (SB Pro stereo)
opl3OPL3 (YMF262, stereo)
opl3goldOPL3 Gold variant
esfmESS FM (ESS Technology variant)
noneDisable OPL emulation
hardware / hardwaregbPass through to real OPL hardware
oplemu
string
default:"default"
OPL emulation provider.
ValueNotes
defaultDOSBox-X built-in emulator
compatMay provide better quality for some titles
nukedMost accurate, most CPU-intensive
fastFastest, least accurate
mameMAME OPL core
oplrate
integer
default:"49716"
OPL chip sample rate. Use 49716 for the highest quality (and set mixer rate to match).Valid values: 8000, 11025, 16000, 22050, 32000, 44100, 49716

Sound Blaster quick-reference

[sblaster]
sbtype  = sb16
sbbase  = 220
irq     = 7
dma     = 1
hdma    = 5
oplmode = auto
oplemu  = nuked
oplrate = 49716

[gus] — Gravis UltraSound

gus
bool
default:"false"
Enable Gravis UltraSound emulation. Must be true for any GUS settings to have effect.
gustype
string
default:"classic"
GUS hardware variant to emulate.
ValueCard
classicOriginal GUS chipset
classic37Original GUS with ICS Mixer (rev 3.7)
maxGUS MAX (with CS4231 codec)
interwaveGUS Plug & Play (InterWave)
gusbase
hex
default:"240"
GUS I/O base address. Valid values: 210, 220, 230, 240, 250, 260, 280, 2a0, 2c0, 2e0, 300
gusirq
integer
default:"5"
GUS IRQ. Valid values: 3, 5, 7, 9, 10, 11, 12
gusdma
integer
default:"3"
GUS DMA channel. Valid values: 0, 1, 3, 5, 6, 7
gusmemsize
integer
default:"-1"
GUS RAM size in KB. Set to -1 for the default amount appropriate to the selected gustype.
ultradir
string
default:"C:\\ULTRASND"
Path to the Ultrasound directory. This directory should contain a MIDI subfolder with GUS patch files. Patch sets for TiMidity++ are compatible.

[speaker] — PC speaker and simple sound

pcspeaker
bool
default:"true"
Enable PC speaker emulation. The PC speaker is used for simple beeps and sound effects in many early DOS games and BIOS alerts.
pcrate
integer
default:"65536"
Sample rate for PC speaker synthesis.Valid values: 8000, 11025, 16000, 22050, 32000, 44100, 48000, 49716, 65536
tandy
string
default:"auto"
Enable Tandy 3-voice sound emulation.
ValueBehaviour
autoEnable only when machine=tandy
onAlways enable Tandy sound
offAlways disable Tandy sound
tandyrate
integer
default:"48000"
Tandy 3-voice synthesis sample rate.Valid values: 8000, 11025, 16000, 22050, 32000, 44100, 48000, 49716
disney
bool
default:"false"
Enable Disney Sound Source emulation (also compatible with the Covox Voice Master and Speech Thing). Connects to the parallel port.

[innova] — Innovation SSI-2001

The SSI-2001 was an ISA sound card built around the MOS 6581 SID chip (the same chip used in the Commodore 64).
innova
bool
default:"false"
Enable Innovation SSI-2001 emulation.
sidbase
hex
default:"280"
SID chip base I/O port. Valid values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300
quality
integer
default:"0"
SID emulation quality level (0–3). Higher values are more accurate but use more CPU.

Audio configuration examples

Sound Blaster 16 with high-quality OPL emulation — the best choice for the vast majority of DOS games.
[mixer]
rate      = 48000
blocksize = 1024
prebuffer = 25

[sblaster]
sbtype  = sb16
sbbase  = 220
irq     = 7
dma     = 1
hdma    = 5
oplmode = auto
oplemu  = nuked
oplrate = 49716
If you experience audio dropouts or crackling, try increasing blocksize to 2048 or 4096 and prebuffer to 50. On systems with low latency audio drivers you can safely reduce these values.

Build docs developers (and LLMs) love