config, too

This commit is contained in:
Jonathan Campbell
2025-05-21 09:27:13 -07:00
parent 83d9e3094e
commit 40e5ca6e9f
3 changed files with 391 additions and 0 deletions

View File

@@ -1779,6 +1779,173 @@ blaster environment variable = true
#DOSBOX-X-ADV:dsp busy cycle duty = -1
#DOSBOX-X-ADV:io port aliasing = true
[sblaster2]
# sbtype: Type of Sound Blaster to emulate. 'gb' is Game Blaster.
# Possible values: sb1, sb1.0, sb1.5, sb2, sb2.0, sb2.01, sbpro1, sbpro2, sb16, sb16vibra, gb, ess688, ess1688, reveal_sc400, none.
# sbbase: The IO address of the Sound Blaster.
# 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.
# Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, d2, d4, d6, d8, da, dc, de.
# irq: 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, or set to -1 to start DOSBox-X with the IRQ unassigned.
# Possible values: 7, 5, 3, 9, 10, 11, 12, 0, -1.
#DOSBOX-X-ADV:# mindma: Minimum DMA transfer left to increase attention across DSP blocks, in milliseconds. Set to -1 for default.
#DOSBOX-X-ADV:# There are some DOS games/demos that use single-cycle DSP playback in their music tracker and they micromanage
#DOSBOX-X-ADV:# the DMA transfer per block poorly in a way that causes popping and artifacts. Setting this option to 0 for
#DOSBOX-X-ADV:# such DOS applications may reduce audible popping and artifacts.
# listen to recording source: When the guest records audio from the Sound Blaster card, send the input source to the speakers as well so it can be heard.
# recording source: Audio source to use when guest is recording audio. At this time only generated audio sources are available.
# Possible values: silence, hiss, 1khz tone.
#DOSBOX-X-ADV:# irq hack: Specify a hack related to the Sound Blaster IRQ to avoid crashes in a handful of games and demos.
#DOSBOX-X-ADV:# none Emulate IRQs normally
#DOSBOX-X-ADV:# cs_equ_ds Do not fire IRQ unless two CPU segment registers match: CS == DS. Read DOSBox-X Wiki or source code for details.
# dma: The DMA number of the Sound Blaster. Set to -1 to start DOSBox-X with the DMA unassigned.
# Possible values: 1, 5, 0, 3, 6, 7, -1.
# hdma: The High DMA number of the Sound Blaster. Set to -1 to start DOSBox-X with the High DMA unassigned.
# Possible values: 1, 5, 0, 3, 6, 7, -1.
#DOSBOX-X-ADV:# dsp command aliases: If set (on by default), emulation will support known undocumented aliases
#DOSBOX-X-ADV:# of common Sound Blaster DSP commands. Some broken DOS games and demos rely on these aliases.
#DOSBOX-X-ADV:# For more information: https://www.vogons.org/viewtopic.php?f=62&t=61098&start=280
#DOSBOX-X-ADV:# pic unmask irq: Start the DOS virtual machine with the Sound Blaster IRQ already unmasked at the PIC.
#DOSBOX-X-ADV:# Some early DOS games/demos that support Sound Blaster expect the IRQ to fire but make
#DOSBOX-X-ADV:# no attempt to unmask the IRQ. If audio cuts out no matter what IRQ you try, then try
#DOSBOX-X-ADV:# setting this option.
#DOSBOX-X-ADV:# Option is needed for:
#DOSBOX-X-ADV:# Public NMI "jump" demo (1992)
# enable speaker: Start the DOS virtual machine with the Sound Blaster speaker enabled.
# Sound Blaster Pro and older cards have a speaker disable/enable command.
# Normally the card boots up with the 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.
#DOSBOX-X-ADV:# enable asp: If set, emulate the presence of the Sound Blaster 16 Advanced Sound Processor/Creative Sound Processor chip.
#DOSBOX-X-ADV:# NOTE: This only emulates its presence and the basic DSP commands to communicate with it. Actual ASP/CSP functions are not yet implemented.
#DOSBOX-X-ADV:# disable filtering: By default DOSBox-X filters Sound Blaster output to emulate lowpass filters and analog output limitations.
#DOSBOX-X-ADV:# Set this option to true to disable filtering. Note that doing so disables emulation of the Sound Blaster Pro
#DOSBOX-X-ADV:# output filter and ESS AudioDrive lowpass filter.
#DOSBOX-X-ADV:# dsp write buffer status must return 0x7f or 0xff: If set, force port 22Ch (DSP write buffer status) to return 0x7F or 0xFF. If not set, the port
#DOSBOX-X-ADV:# may return 0x7F or 0xFF depending on what type of Sound Blaster is being emulated.
#DOSBOX-X-ADV:# Set this option for some early DOS demos that make that assumption about port 22Ch.
#DOSBOX-X-ADV:# Option is needed for:
#DOSBOX-X-ADV:# Overload by Hysteria (1992) - Audio will crackle/saturate (8-bit overflow) except when sbtype=sb16
#DOSBOX-X-ADV:# pre-set sbpro stereo: Start the DOS virtual machine with the Sound Blaster Pro stereo bit set (in the mixer).
#DOSBOX-X-ADV:# A few demos support Sound Blaster Pro but forget to set this bit.
#DOSBOX-X-ADV:# Option is needed for:
#DOSBOX-X-ADV:# Inconexia by Iguana (1993)
# sbmixer: Allow the Sound Blaster mixer to modify the DOSBox-X mixer.
#DOSBOX-X-ADV:# cms: Enable CMS emulation ('auto' by default).
#DOSBOX-X-ADV:# off: Disable CMS emulation (except when the Game Blaster is selected).
#DOSBOX-X-ADV:# on: Enable CMS emulation on Sound Blaster 1 and 2.
#DOSBOX-X-ADV:# auto: Auto-enable CMS emulation for Sound Blaster 1 and Game Blaster.
#DOSBOX-X-ADV:# Possible values: on, off, auto.
# oplmode: Type of OPL emulation. On 'auto' the mode is determined by the 'sbtype' setting.
# All OPL modes are AdLib-compatible.
# Possible values: auto, opl2, dualopl2, opl3, opl3gold, none, hardware, hardwaregb, esfm.
#DOSBOX-X-ADV:# adlib force timer overflow on detect: If set, Adlib/OPL emulation will signal 'overflow' on timers after 50 I/O reads.
#DOSBOX-X-ADV:# This is a temporary hack to work around timing bugs noted in DOSBox-X. Certain
#DOSBOX-X-ADV:# games (Wolfenstein 3D) poll the Adlib status port a fixed number of times assuming
#DOSBOX-X-ADV:# that the poll loop takes long enough for the Adlib timer to run out. If the game
#DOSBOX-X-ADV:# cannot reliably detect Adlib at higher cycles counts, but can reliably detect at
#DOSBOX-X-ADV:# lower cycles counts, set this option.
# oplemu: Provider for the OPL emulation. 'compat' might provide better quality.
# 'nuked' is the most accurate (but the most CPU-intensive). See oplrate as well.
# Possible values: default, compat, fast, nuked, mame, opl2board, opl3duoboard, retrowave_opl3, esfmu.
# oplrate: Sample rate of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly).
# Possible values: 49716, 48000, 44100, 32000, 22050, 16000, 11025, 8000.
# oplport: Serial port of the OPL2 Audio Board when oplemu=opl2board, opl2mode will become 'opl2' automatically.
# retrowave_bus: Bus of the Retrowave series board (serial/spi). SPI is only supported on Linux.
#DOSBOX-X-ADV:# retrowave_spi_cs: SPI chip select pin of the Retrowave series board. Only supported on Linux.
# retrowave_port: Serial port of the Retrowave series board.
# hardwarebase: base address of the real hardware Sound Blaster:
# 210,220,230,240,250,260,280
#DOSBOX-X-ADV:# force dsp auto-init: Treat all single-cycle DSP commands as auto-init to keep playback going.
#DOSBOX-X-ADV:# This option is a workaround for DOS games or demos that use single-cycle DSP playback commands and
#DOSBOX-X-ADV:# have problems with missing the Sound Blaster IRQ under load. Do not enable unless you need this workaround.
#DOSBOX-X-ADV:# Needed for:
#DOSBOX-X-ADV:# - Extreme "lunatic" demo (1993)
#DOSBOX-X-ADV:# force goldplay: Always render Sound Blaster output sample-at-a-time. Testing option. You probably don't want to enable this.
# goldplay: Enable goldplay emulation.
#DOSBOX-X-ADV:# goldplay stereo: Enable workaround for goldplay stereo playback. Many DOS demos using this technique
#DOSBOX-X-ADV:# don't seem to know they need to double the frequency when programming the DSP time constant for Pro stereo output.
#DOSBOX-X-ADV:# If stereo playback seems to have artifacts consider enabling this option. For accurate emulation of Sound Blaster
#DOSBOX-X-ADV:# hardware, disable this option.
#DOSBOX-X-ADV:# dsp require interrupt acknowledge: If set, the DSP will halt DMA playback until IRQ acknowledgement occurs even in auto-init mode (SB16 behavior).
#DOSBOX-X-ADV:# If clear, IRQ acknowledgement will have no effect on auto-init playback (SB Pro and earlier & clone behavior)
#DOSBOX-X-ADV:# If set to 'auto' then behavior is determined by sbtype= setting.
#DOSBOX-X-ADV:# This is a setting for hardware accuracy in emulation. If audio briefly plays then stops then your DOS game
#DOSBOX-X-ADV:# and it's not using IRQ (but using DMA), try setting this option to 'false'
#DOSBOX-X-ADV:# dsp write busy delay: 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.
#DOSBOX-X-ADV:# 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.
#DOSBOX-X-ADV:# Setting the value way too high (above 1000000ns) can cause significant lag in DOS games.
# blaster environment variable: Whether or not to set the BLASTER environment variable automatically at startup
#DOSBOX-X-ADV:# sample rate limits: If set (default), limit DSP sample rate to what real hardware is limited to
#DOSBOX-X-ADV:# instant direct dac: If set, direct DAC output commands are instantaneous. This option is intended as a quick fix for
#DOSBOX-X-ADV:# games or demos that play direct DAC music/sound from the IRQ 0 timer who a) write the DSP command
#DOSBOX-X-ADV:# and data without polling the DSP to ensure it's ready or b) can get locked into the IRQ 0 handler
#DOSBOX-X-ADV:# waiting for DSP status when instructed to play at or beyond the DSP's maximum direct DAC sample rate.
#DOSBOX-X-ADV:# This fix allows broken Sound Blaster code to work and should not be enabled unless necessary.
#DOSBOX-X-ADV:# stereo control with sbpro only: Default on. If set, Sound Blaster Pro stereo is not available when emulating sb16 or sb16vibra.
#DOSBOX-X-ADV:# If clear, sb16 emulation will honor the sbpro stereo bit. Note that Creative SB16 cards do not
#DOSBOX-X-ADV:# honor the stereo bit, and this option allows DOSBox-X emulate that fact. Accuracy setting.
#DOSBOX-X-ADV:# dsp busy cycle rate: Sound Blaster 16 DSP chips appear to go busy periodically at some high clock rate
#DOSBOX-X-ADV:# whether the DSP is actually doing anything for the system or not. This is an accuracy
#DOSBOX-X-ADV:# option for Sound Blaster emulation. If this option is nonzero, it will be interpreted
#DOSBOX-X-ADV:# as the busy cycle rate in Hz. If zero, busy cycle will not be emulated. If -1, sound
#DOSBOX-X-ADV:# blaster emulation will automatically choose a setting based on the sbtype= setting
#DOSBOX-X-ADV:# dsp busy cycle always: If set, the DSP busy cycle always happens. If clear, DSP busy cycle only happens when
#DOSBOX-X-ADV:# audio playback is running. Default setting is to pick according to the sound card.
#DOSBOX-X-ADV:# dsp busy cycle duty: If emulating SB16 busy cycle, this value (0 to 100) controls the duty cycle of the busy cycle.
#DOSBOX-X-ADV:# If this option is set to -1, Sound Blaster emulation will choose a value automatically according
#DOSBOX-X-ADV:# to sbtype=. If 0, busy cycle emulation is disabled.
#DOSBOX-X-ADV:# io port aliasing: If set, Sound Blaster ports alias by not decoding the LSB of the I/O port.
#DOSBOX-X-ADV:# This option only applies when sbtype is set to sb1 or sb2 (not SBPro or SB16).
#DOSBOX-X-ADV:# This is a hack for the Electromotive Force 'Internal Damage' demo which apparently
#DOSBOX-X-ADV:# relies on this behavior for Sound Blaster output and should be enabled for accuracy in emulation.
#DOSBOX-X-ADV-SEE:#
#DOSBOX-X-ADV-SEE:# Advanced options (see full configuration reference file [dosbox-x.reference.full.conf] for more details):
#DOSBOX-X-ADV-SEE:# -> mindma; irq hack; dsp command aliases; pic unmask irq; enable asp; disable filtering; dsp write buffer status must return 0x7f or 0xff; pre-set sbpro stereo; cms; adlib force timer overflow on detect; retrowave_spi_cs; force dsp auto-init; force goldplay; goldplay stereo; dsp require interrupt acknowledge; dsp write busy delay; sample rate limits; instant direct dac; stereo control with sbpro only; dsp busy cycle rate; dsp busy cycle always; dsp busy cycle duty; io port aliasing
#DOSBOX-X-ADV-SEE:#
sbtype = none
sbbase = 260
irq = 3
#DOSBOX-X-ADV:mindma = -1
listen to recording source = false
recording source = silence
#DOSBOX-X-ADV:irq hack = none
dma = 0
hdma = 7
#DOSBOX-X-ADV:dsp command aliases = true
#DOSBOX-X-ADV:pic unmask irq = false
enable speaker = false
#DOSBOX-X-ADV:enable asp = false
#DOSBOX-X-ADV:disable filtering = false
#DOSBOX-X-ADV:dsp write buffer status must return 0x7f or 0xff = false
#DOSBOX-X-ADV:pre-set sbpro stereo = false
sbmixer = true
#DOSBOX-X-ADV:cms = off
oplmode = none
#DOSBOX-X-ADV:adlib force timer overflow on detect = false
oplemu = default
oplrate = 48000
oplport =
retrowave_bus = serial
#DOSBOX-X-ADV:retrowave_spi_cs = 0,6
retrowave_port =
hardwarebase = 220
#DOSBOX-X-ADV:force dsp auto-init = false
#DOSBOX-X-ADV:force goldplay = false
goldplay = true
#DOSBOX-X-ADV:goldplay stereo = true
#DOSBOX-X-ADV:dsp require interrupt acknowledge = auto
#DOSBOX-X-ADV:dsp write busy delay = -1
blaster environment variable = true
#DOSBOX-X-ADV:sample rate limits = true
#DOSBOX-X-ADV:instant direct dac = false
#DOSBOX-X-ADV:stereo control with sbpro only = true
#DOSBOX-X-ADV:dsp busy cycle rate = -1
#DOSBOX-X-ADV:dsp busy cycle always = -1
#DOSBOX-X-ADV:dsp busy cycle duty = -1
#DOSBOX-X-ADV:io port aliasing = true
[gus]
# gus: Enable the Gravis Ultrasound emulation.
# global register read alias: If true, all GUS global registers have a read alias at N and N+0x80.