Skip to content

Config file examples

John Novak edited this page Mar 29, 2023 · 112 revisions
Table of contents (click to expand)

Introduction

The below config files follow the convention detailed in the FAQ section. The idea is to take advantage of the layered approach to keep files easy to read. Also not to have to edit multiple files in various locations in case of issue.

  • First, you must have one global config file.
  • Second, have one config file per game (ie. <game_name>.conf) in order to override some values.
  • Last, add few lines in the [autoexec] section at the bottom of <game_name>.conf to tell DOSBox Staging how to launch the game.

To run a game (or a program), simply type in the following command:

$ ./dosbox -userconf -conf <game_name>.conf

DOSBox Staging 0.78 and above:

$ ./dosbox -conf <game_name>.conf

[Top]


Global config file

It's generated automatically if you launch DOSBox Staging without any parameter and if no such file already exists in the below path. If there's none then it's fine to create one and copy/paste the below examples straight into it. The global config file should be named after dosbox-staging.conf.

Depending on your system, the file can be found at the following locations:

  • Linux: ~/.config/dosbox/
  • macOS: ~/Library/Preferences/DOSBox/
  • Windows: C:\Users\<username>\AppData\Local\DOSBox\

Note: GNU/Linux users can customize the parent (.config/) location by setting the XDG_CONFIG_HOME environment variable.

If you're updating DOSBox Staging to the latest release, it would be required to also update dosbox-staging.conf. This will ensure you have all new parameters added. Your existing settings will be retained however extraneous comments will be dropped. At the DOSBox C:\> prompt, simply type:

C:\>config -wc

Global config files for various systems

Raspberry Pi 3
[sdl]
fullscreen          = true
display             = 0
fullresolution      = original
windowresolution    = default
viewport_resolution = fit
window_position     = auto
window_decorations  = true
transparency        = 0
host_rate           = auto
vsync               = true
vsync_skip          = 7000
presentation_mode   = auto
output              = texturenb
texture_renderer    = auto
waitonerror         = true
priority            = auto auto
mute_when_inactive  = false
pause_when_inactive = false
mapperfile          = mapper-sdl2-git.map
screensaver         = auto

[dosbox]
language           = 
machine            = svga_s3
captures           = capture
memsize            = 16
mcb_fault_strategy = deny
vmemsize           = auto
dos_rate           = default
vesa_modes         = compatible
speed_mods         = true
autoexec_section   = join
automount          = true
startup_verbosity  = quiet

[render]
aspect             = true
monochrome_palette = white
cga_colors         = default
glshader           = default

[composite]
composite   = auto
era         = auto
hue         = 0
saturation  = 100
contrast    = 100
brightness  = 0
convergence = 0

[cpu]
core      = dynamic
cputype   = auto
cycles    = auto
cycleup   = 10
cycledown = 20

[mouse]
mouse_capture        = onstart
mouse_middle_release = true
mouse_sensitivity    = 200
mouse_raw_input      = true
dos_mouse_driver     = true
dos_mouse_immediate  = false
ps2_mouse_model      = intellimouse
com_mouse_model      = wheel+msm

[mixer]
nosound    = false
rate       = 48000
blocksize  = 2048
prebuffer  = 50
negotiate  = true
compressor = off
crossfeed  = off
reverb     = off
chorus     = off

[midi]
mpu401     = none
midiconfig = 
mididevice = none

[fluidsynth]
soundfont     = /path/to/soundfont.sf2
fsynth_chorus = off
fsynth_reverb = off
fsynth_filter = off

[mt32]
model       = auto
romdir      = /path/to/mt32.rom
mt32_filter = off

[sblaster]
sbtype              = sb16
sbbase              = 220
irq                 = 7
dma                 = 1
hdma                = 5
sbmixer             = true
sbwarmup            = 100
oplmode             = auto
sb_filter           = modern
sb_filter_always_on = off
opl_filter          = off
cms_filter          = off

[gus]
gus        = off
gusbase    = 240
gusirq     = 5
gusdma     = 3
ultradir   = U:\ULTRASND
gus_filter = off

[innovation]
sidmodel          = none
sidclock          = default
sidport           = 280
6581filter        = 50
8580filter        = 50
innovation_filter = off

[speaker]
pcspeaker           = off
pcspeaker_filter    = off
tandy               = off
tandy_filter        = off
tandy_dac_filter    = off
lpt_dac             = off
lpt_dac_filter      = off
ps1audio            = off
ps1audio_filter     = off
ps1audio_dac_filter = off

[reelmagic]
reelmagic       = off
reelmagic_key   = auto
reelmagic_fcode = 0

[joystick]
joysticktype                = hidden
timed                       = false
autofire                    = false
swap34                      = false
buttonwrap                  = false
circularinput               = false
deadzone                    = 10
use_joy_calibration_hotkeys = false
joy_x_calibration           = auto
joy_y_calibration           = auto

[serial]
serial1       = disabled
serial2       = disabled
serial3       = disabled
serial4       = disabled
phonebookfile = phonebook-git.txt

[dos]
xms                   = true
ems                   = false
umb                   = true
ver                   = 5.0
country               = 0
expand_shell_variable = false
keyboardlayout        = auto

[ipx]
ipx = false

[ethernet]
ne2000            = false
nicbase           = 300
nicirq            = 3
macaddr           = AC:DE:48:88:99:AA
tcp_port_forwards = 
udp_port_forwards = 

[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.
Raspberry Pi 4
[sdl]
fullscreen          = true
display             = 0
fullresolution      = original
windowresolution    = default
viewport_resolution = fit
window_position     = auto
window_decorations  = true
transparency        = 0
host_rate           = auto
vsync               = true
vsync_skip          = 7000
presentation_mode   = auto
output              = openglnb
texture_renderer    = auto
waitonerror         = true
priority            = auto auto
mute_when_inactive  = false
pause_when_inactive = false
mapperfile          = mapper-sdl2-git.map
screensaver         = auto

[dosbox]
language           = 
machine            = svga_s3
captures           = capture
memsize            = 16
mcb_fault_strategy = deny
vmemsize           = auto
dos_rate           = default
vesa_modes         = compatible
speed_mods         = true
autoexec_section   = join
automount          = true
startup_verbosity  = quiet

[render]
aspect             = true
monochrome_palette = white
cga_colors         = default
glshader           = default

[composite]
composite   = auto
era         = auto
hue         = 0
saturation  = 100
contrast    = 100
brightness  = 0
convergence = 0

[cpu]
core      = dynamic
cputype   = auto
cycles    = auto
cycleup   = 10
cycledown = 20

[mouse]
mouse_capture        = onstart
mouse_middle_release = true
mouse_sensitivity    = 200
mouse_raw_input      = true
dos_mouse_driver     = true
dos_mouse_immediate  = false
ps2_mouse_model      = intellimouse
com_mouse_model      = wheel+msm

[mixer]
nosound    = false
rate       = 48000
blocksize  = 2048
prebuffer  = 50
negotiate  = true
compressor = true
crossfeed  = off
reverb     = off
chorus     = off

[midi]
mpu401     = none
midiconfig = 
mididevice = none

[fluidsynth]
soundfont     = /path/to/soundfont.sf2
fsynth_chorus = off
fsynth_reverb = off
fsynth_filter = off

[mt32]
model       = auto
romdir      = /path/to/mt32.rom
mt32_filter = off

[sblaster]
sbtype              = sb16
sbbase              = 220
irq                 = 7
dma                 = 1
hdma                = 5
sbmixer             = true
sbwarmup            = 100
oplmode             = auto
sb_filter           = modern
sb_filter_always_on = false
opl_filter          = auto
cms_filter          = on

[gus]
gus        = false
gusbase    = 240
gusirq     = 5
gusdma     = 3
ultradir   = U:\ULTRASND
gus_filter = off

[innovation]
sidmodel          = none
sidclock          = default
sidport           = 280
6581filter        = 50
8580filter        = 50
innovation_filter = off

[speaker]
pcspeaker           = off
pcspeaker_filter    = on
tandy               = off
tandy_filter        = on
tandy_dac_filter    = on
lpt_dac             = off
lpt_dac_filter      = on
ps1audio            = off
ps1audio_filter     = on
ps1audio_dac_filter = on

[reelmagic]
reelmagic       = off
reelmagic_key   = auto
reelmagic_fcode = 0

[joystick]
joysticktype                = hidden
timed                       = false
autofire                    = false
swap34                      = false
buttonwrap                  = false
circularinput               = false
deadzone                    = 10
use_joy_calibration_hotkeys = false
joy_x_calibration           = auto
joy_y_calibration           = auto

[serial]
serial1       = disabled
serial2       = disabled
serial3       = disabled
serial4       = disabled
phonebookfile = phonebook-git.txt

[dos]
xms                   = true
ems                   = false
umb                   = true
ver                   = 5.0
country               = 0
expand_shell_variable = false
keyboardlayout        = auto

[ipx]
ipx = false

[ethernet]
ne2000            = false
nicbase           = 300
nicirq            = 3
macaddr           = AC:DE:48:88:99:AA
tcp_port_forwards = 
udp_port_forwards = 

[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.
MacOS / Windows The default configuration file shipped with DOSBox Staging should cover most applications/gaming scenario for these OS.
[sdl]
#         fullscreen: Start directly in fullscreen.
#                     Run INTRO and see Special Keys for window control hotkeys.
#            display: Number of display to use; values depend on OS and user settings.
#     fullresolution: What resolution to use for fullscreen: 'original', 'desktop'
#                     or a fixed size (e.g. 1024x768).
#   windowresolution: Set window size when running in windowed mode:
#                       default:   Select the best option based on your
#                                  environment and other settings.
#                       small, medium, or large (or s, m, l):
#                                  Size the window relative to the desktop.
#                       <custom>:  Scale the window to the given dimensions in
#                                  WxH format. For example: 1024x768.
#                                  Scaling is not performed for output=surface.
#    window_position: Set initial window position when running in windowed mode:
#                       auto:      Let the window manager decide the position.
#                       <custom>:  Set window position in X,Y format. For example: 250,100
#                                  0,0 is the top-left corner of the screen.
# window_decorations: Controls whether to display window decorations in windowed mode.
#              vsync: Synchronize with display refresh rate if supported. This can
#                     reduce flickering and tearing, but may also impact performance.
#         vsync_skip: Number of microseconds to allow rendering to block before skipping the next frame. 0 disables this and will always render.
#     max_resolution: Optionally restricts the viewport resolution within the window/screen:
#                       auto:      The viewport fills the window/screen (default).
#                       <custom>:  Set max viewport resolution in WxH format.
#                                  For example: 960x720
#             output: What video system to use for output.
#                     Possible values: surface, texture, texturenb, texturepp, opengl, openglnb, openglpp.
#   texture_renderer: Choose a renderer driver when using a texture output mode.
#                     Use texture_renderer=auto for an automatic choice.
#                     Possible values: auto, direct3d, direct3d11, opengl, opengles2, software.
#      capture_mouse: Choose a mouse control method:
#                        onclick:        Capture the mouse when clicking any button in the window.
#                        onstart:        Capture the mouse immediately on start.
#                        seamless:       Let the mouse move seamlessly; captures only with middle-click or hotkey.
#                        nomouse:        Hide the mouse and don't send input to the game.
#                     Choose how middle-clicks are handled (second parameter):
#                        middlegame:     Middle-clicks are sent to the game.
#                        middlerelease:  Middle-click will release the captured mouse, and also capture when seamless.
#                     Defaults (if not present or incorrect): seamless middlerelease
#                     Possible values: seamless, onclick, onstart, nomouse.
#        sensitivity: Mouse sensitivity. The optional second parameter specifies vertical sensitivity (e.g. 100,-50).
#    raw_mouse_input: Enable this setting to bypass your operating system's mouse
#                     acceleration and sensitivity settings. This works in
#                     fullscreen or when the mouse is captured in window mode.
#        waitonerror: Wait before closing the console if dosbox has an error.
#           priority: Priority levels for dosbox. Second entry behind the comma is for when dosbox is not focused/minimized.
#                     pause is only valid for the second entry. auto disables priority levels and uses OS defaults
#                     Possible values: auto, lowest, lower, normal, higher, highest, pause.
#         mapperfile: File used to load/save the key/event mappings from.
#                     Resetmapper only works with the default value.
#        screensaver: Use 'allow' or 'block' to override the SDL_VIDEO_ALLOW_SCREENSAVER
#                     environment variable (which usually blocks the OS screensaver
#                     while the emulator is running).
#                     Possible values: auto, allow, block.

fullscreen         = false
display            = 0
fullresolution     = desktop
windowresolution   = default
window_position    = auto
window_decorations = true
vsync              = false
vsync_skip         = 7000
max_resolution     = auto
output             = opengl
texture_renderer   = auto
capture_mouse      = seamless middlerelease
sensitivity        = 100
raw_mouse_input    = false
waitonerror        = true
priority           = auto,auto
mapperfile         = mapper-sdl2-0.78.1.map
screensaver        = auto

[dosbox]
#          language: Select a language to use: de, en, es, fr, it, pl, and ru
#                    Notes: This setting will override the 'LANG' environment, if set.
#                           The 'translations' directory bundled with the executable holds these data
#                           files. Please keep it along-side the executable to support this feature.
#           machine: The type of machine DOSBox tries to emulate.
#                    Possible values: hercules, cga, cga_mono, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe.
#          captures: Directory where things like wave, midi, screenshot get captured.
#           memsize: Amount of memory DOSBox has in megabytes.
#                    This value is best left at its default to avoid problems with some games,
#                    though few games might require a higher value.
#                    There is generally no speed advantage when raising this value.
#          vmemsize: Video memory in MiB (1-8) or KiB (256 to 8192). 'auto' uses the default per video adapter.
#                    Possible values: auto, 1, 2, 4, 8, 256, 512, 1024, 2048, 4096, 8192.
#        vesa_modes: Controls the selection of VESA 1.2 and 2.0 modes offered:
#                      compatible   A tailored selection that maximizes game compatibility.
#                                   This is recommended along with 4 or 8 MB of video memory.
#                      all          Offers all modes for a given video memory size, however
#                                   some games may not use them properly (flickering) or may need
#                                   more system memory (mem = ) to use them.
#                    Possible values: compatible, all.
#  autoexec_section: How autoexec sections are handled from multiple config files.
#                    join      : combines them into one big section (legacy behavior).
#                    overwrite : use the last one encountered, like other conf settings.
#                    Possible values: join, overwrite.
# startup_verbosity: Controls verbosity prior to displaying the program:
#                    Verbosity   | Splash | Welcome | Early stdout
#                    high        |  yes   |   yes   |    yes
#                    medium      |  no    |   yes   |    yes
#                    low         |  no    |   no    |    yes
#                    quiet       |  no    |   no    |    no
#                    splash_only |  yes   |   no    |    no
#                    auto        | 'low' if exec or dir is passed, otherwise 'high'
#                    Possible values: auto, high, medium, low, splash_only, quiet.

language          = 
machine           = svga_s3
captures          = capture
memsize           = 16
vmemsize          = auto
vesa_modes        = compatible
autoexec_section  = join
startup_verbosity = auto

[render]
#          frameskip: How many frames DOSBox skips before drawing one.
#             aspect: Scales the vertical resolution to produce a 4:3 display aspect
#                     ratio, matching that of the original standard-definition monitors
#                     for which the majority of DOS games were designed. This setting
#                     only affects video modes that use non-square pixels, such as
#                     320x200 or 640x400; where as square-pixel modes, such as 640x480
#                     and 800x600, will be displayed as-is.
# monochrome_palette: Select default palette for monochrome display.
#                     Works only when emulating hercules or cga_mono.
#                     You can also cycle through available colours using F11.
#                     Possible values: white, paperwhite, green, amber.
#             scaler: Scaler used to enlarge/enhance low resolution modes.
#                     If 'forced' is appended, then the scaler will be used even if
#                     the result might not be desired.
#                     Note that some scalers may use black borders to fit the image
#                     within your configured display resolution. If this is
#                     undesirable, try either a different scaler or enabling
#                     fullresolution output.
#                     Possible values: none, normal2x, normal3x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x.
#           glshader: Either 'none' or a GLSL shader name. Works only with
#                     OpenGL output.  Can be either an absolute path, a file
#                     in the 'glshaders' subdirectory of the DOSBox
#                     configuration directory, or one of the built-in shaders:
#                     advinterp2x, advinterp3x, advmame2x, advmame3x,
#                     crt-easymode-flat, crt-fakelottes-flat, rgb2x, rgb3x,
#                     scan2x, scan3x, tv2x, tv3x, sharp (default).

frameskip          = 0
aspect             = true
monochrome_palette = white
scaler             = none
glshader           = default

[composite]
#   composite: Enable composite mode on start. 'auto' lets the program decide.
#              Note: Fine-tune the settings below (ie: hue) using the composite hotkeys.
#                    Then read the new settings from your console and enter them here.
#              Possible values: auto, on, off.
#         era: Era of composite technology. When 'auto', PCjr uses new and CGA/Tandy use old.
#              Possible values: auto, old, new.
#         hue: Appearance of RGB palette. For example, adjust until sky is blue.
#  saturation: Intensity of colors, from washed out to vivid.
#    contrast: Ratio between the dark and light area.
#  brightness: Luminosity of the image, from dark to light.
# convergence: Convergence of subpixel elements, from blurry to sharp (CGA and Tandy-only).

composite   = auto
era         = auto
hue         = 0
saturation  = 100
contrast    = 100
brightness  = 0
convergence = 0

[cpu]
#      core: CPU Core used in emulation. auto will switch to dynamic if available and
#            appropriate.
#            Possible values: auto, dynamic, normal, simple.
#   cputype: CPU Type used in emulation. auto is the fastest choice.
#            Possible values: auto, 386, 386_slow, 486_slow, pentium_slow, 386_prefetch.
#    cycles: Number of instructions DOSBox tries to emulate each millisecond.
#            Setting this value too high results in sound dropouts and lags.
#            Cycles can be set in 3 ways:
#              'auto'          tries to guess what a game needs.
#                              It usually works, but can fail for certain games.
#              'fixed #number' will set a fixed number of cycles. This is what you usually
#                              need if 'auto' fails (Example: fixed 4000).
#              'max'           will allocate as much cycles as your computer is able to
#                              handle.
#            Possible values: auto, fixed, max.
#   cycleup: Number of cycles added or subtracted with speed control hotkeys.
#            Run INTRO and see Special Keys for list of hotkeys.
# cycledown: Setting it lower than 100 will be a percentage.

core      = auto
cputype   = auto
cycles    = auto
cycleup   = 10
cycledown = 20

[mixer]
#   nosound: Enable silent mode, sound is still emulated though.
#      rate: Mixer sample rate, setting any device's rate higher than this will probably lower their sound quality.
#            Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
# blocksize: Mixer block size, larger blocks might help sound stuttering but sound will also be more lagged.
#            Possible values: 1024, 2048, 4096, 8192, 512, 256, 128.
# prebuffer: How many milliseconds of data to keep on top of the blocksize.
# negotiate: Allow system audio driver to negotiate optimal rate and blocksize
#            as close to the specified values as possible.

nosound   = false
rate      = 48000
blocksize = 512
prebuffer = 20
negotiate = true

[midi]
# mididevice: Device that will receive the MIDI data (from the emulated MIDI
#             interface - MPU-401). Choose one of the following:
#             'fluidsynth', to use the built-in MIDI synthesizer. See the
#                    [fluidsynth] section for detailed configuration.
#             'mt32', to use the built-in Roland MT-32 synthesizer.
#                    See the [mt32] section for detailed configuration.
#             'auto', to use the first working external MIDI player. This
#                    might be a software synthesizer or physical device.
#             Possible values: auto, win32, fluidsynth, mt32, none.
# midiconfig: Configuration options for the selected MIDI interface.
#             This is usually the id or name of the MIDI synthesizer you want
#             to use (find the id/name with DOS command 'mixer /listmidi').
#             - This option has no effect when using the built-in synthesizers
#               (mididevice = fluidsynth or mt32).
#             - If you're using a physical Roland MT-32 with revision 0 PCB,
#               the hardware may require a delay in order to prevent its
#               buffer from overflowing. In that case, add 'delaysysex',
#               for example: 'midiconfig=2 delaysysex'.
#             See the README/Manual for more details.
#     mpu401: Type of MPU-401 to emulate.
#             Possible values: intelligent, uart, none.

mididevice = auto
midiconfig = 
mpu401     = intelligent

[fluidsynth]
# soundfont: Path to a SoundFont file in .sf2 format. You can use an
#            absolute or relative path, or the name of an .sf2 inside
#            the 'soundfonts' directory within your DOSBox configuration
#            directory.
#            An optional percentage will scale the SoundFont's volume.
#            For example: 'soundfont.sf2 50' will attenuate it by 50 percent.
#            The scaling percentage can range from 1 to 500.
#    chorus: Chorus effect: 'auto', 'on', 'off', or custom values.
#            When using custom values:
#              All five must be provided in-order and space-separated.
#              They are: voice-count level speed depth modulation-wave, where:
#              - voice-count is an integer from 0 to 99.
#              - level is a decimal from 0.0 to 10.0
#              - speed is a decimal, measured in Hz, from 0.1 to 5.0
#              - depth is a decimal from 0.0 to 21.0
#              - modulation-wave is either 'sine' or 'triangle'
#              For example: chorus = 3 1.2 0.3 8.0 sine
#    reverb: Reverb effect: 'auto', 'on', 'off', or custom values.
#            When using custom values:
#              All four must be provided in-order and space-separated.
#              They are: room-size damping width level, where:
#              - room-size is a decimal from 0.0 to 1.0
#              - damping is a decimal from 0.0 to 1.0
#              - width is a decimal from 0.0 to 100.0
#              - level is a decimal from 0.0 to 1.0
#              For example: reverb = 0.61 0.23 0.76 0.56

soundfont = default.sf2
chorus    = auto
reverb    = auto

[mt32]
#  model: Model of synthesizer to use.
#         'auto' picks the first model with available ROMs, in order as listed.
#         'cm32l' and 'mt32' pick the first model of their type, in the order listed.
#         'mt32_old' and 'mt32_new' are aliases for 1.07 and 2.04, respectively.
#         Possible values: auto, cm32l, cm32l_102, cm32l_100, mt32, mt32_old, mt32_107, mt32_106, mt32_105, mt32_104, mt32_bluer, mt32_new, mt32_204.
# romdir: The directory containing ROMs for one or more models.
#         The directory can be absolute or relative, or leave it blank to
#         use the 'mt32-roms' directory in your DOSBox configuration
#         directory. Other common system locations will be checked as well.
#         ROM files inside this directory may include any of the following:
#           - MT32_CONTROL.ROM and MT32_PCM.ROM, for the 'mt32' model.
#           - CM32L_CONTROL.ROM and CM32L_PCM.ROM, for the 'cm32l' model.
#           - Unzipped MAME MT-32 and CM-32L ROMs, for the versioned models.

model  = auto
romdir = 

[sblaster]
#   sbtype: Type of Sound Blaster to emulate. 'gb' is Game Blaster.
#           Possible values: sb1, sb2, sbpro1, sbpro2, sb16, gb, none.
#   sbbase: The IO address of the Sound Blaster.
#           Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300.
#      irq: The IRQ number of the Sound Blaster.
#           Possible values: 7, 5, 3, 9, 10, 11, 12.
#      dma: The DMA number of the Sound Blaster.
#           Possible values: 1, 5, 0, 3, 6, 7.
#     hdma: The High DMA number of the Sound Blaster.
#           Possible values: 1, 5, 0, 3, 6, 7.
#  sbmixer: Allow the Sound Blaster mixer to modify the DOSBox mixer.
# sbwarmup: Silence initial DMA audio after card power-on, in milliseconds.
#           This mitigates pops heard when starting many SB-based games.
#           Reduce this if you notice intial playback is missing audio.
#  oplmode: Type of OPL emulation. On 'auto' the mode is determined by 'sbtype'.
#           All OPL modes are AdLib-compatible, except for 'cms'.
#           Possible values: auto, cms, opl2, dualopl2, opl3, opl3gold, none.
#   oplemu: Provider for the OPL emulation. 'compat' provides better quality,
#           'nuked' is the default and most accurate (but the most CPU-intensive).
#           Possible values: default, compat, fast, mame, nuked.

sbtype   = sb16
sbbase   = 220
irq      = 7
dma      = 1
hdma     = 5
sbmixer  = true
sbwarmup = 100
oplmode  = auto
oplemu   = default

[gus]
#      gus: Enable Gravis UltraSound emulation.
#  gusbase: The IO base address of the Gravis UltraSound.
#           Possible values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300.
#   gusirq: The IRQ number of the Gravis UltraSound.
#           Possible values: 5, 3, 7, 9, 10, 11, 12.
#   gusdma: The DMA channel of the Gravis UltraSound.
#           Possible values: 3, 0, 1, 5, 6, 7.
# ultradir: Path to UltraSound directory. In this directory
#           there should be a MIDI directory that contains
#           the patch files for GUS playback. Patch sets used
#           with Timidity should work fine.

gus      = false
gusbase  = 240
gusirq   = 5
gusdma   = 3
ultradir = C:\ULTRASND

[innovation]
#   sidmodel: Model of chip to emulate in the Innovation SSI-2001 card:
#              - auto:  Selects the 6581 chip.
#              - 6581:  The original chip, known for its bassy and rich character.
#              - 8580:  A later revision that more closely matched the SID specification.
#                       It fixed the 6581's DC bias and is less prone to distortion.
#                       The 8580 is an option on reproduction cards, like the DuoSID.
#              - none:  Disables the card.
#             Possible values: auto, 6581, 8580, none.
#   sidclock: The SID chip's clock frequency, which is jumperable on reproduction cards.
#              - default: uses 0.895 MHz, per the original SSI-2001 card.
#              - c64ntsc: uses 1.023 MHz, per NTSC Commodore PCs and the DuoSID.
#              - c64pal:  uses 0.985 MHz, per PAL Commodore PCs and the DuoSID.
#              - hardsid: uses 1.000 MHz, available on the DuoSID.
#             Possible values: default, c64ntsc, c64pal, hardsid.
#    sidport: The IO port address of the Innovation SSI-2001.
#             Possible values: 240, 260, 280, 2a0, 2c0.
# 6581filter: The SID's analog filtering meant that each chip was physically unique.
#             Adjusts the 6581's filtering strength as a percent from 0 to 100.
# 8580filter: Adjusts the 8580's filtering strength as a percent from 0 to 100.

sidmodel   = none
sidclock   = default
sidport    = 280
6581filter = 50
8580filter = 50

[speaker]
#   pcspeaker: Enable PC-Speaker emulation.
#      pcrate: Sample rate of the PC-Speaker sound generation.
# zero_offset: Neutralizes and prevents the PC speaker's DC-offset from harming other sources.
#              'auto' enables this for non-Windows systems and disables it on Windows.
#              If your OS performs its own DC-offset correction, then set this to 'false'.
#              Possible values: auto, true, false.
#       tandy: Enable Tandy Sound System emulation. For 'auto', emulation is present only if machine is set to 'tandy'.
#              Possible values: auto, on, off.
#   tandyrate: Sample rate of the Tandy 3-Voice generation.
#              Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
#      disney: Enable Disney Sound Source emulation. (Covox Voice Master and Speech Thing compatible).
#    ps1audio: Enable IBM PS/1 Audio emulation.

pcspeaker   = true
pcrate      = 18939
zero_offset = auto
tandy       = auto
tandyrate   = 44100
disney      = true
ps1audio    = false

[joystick]
#  joysticktype: Type of joystick to emulate: auto (default),
#                auto     : Detect and use any joystick(s), if possible.,
#                2axis    : Support up to two joysticks.
#                4axis    : Support the first joystick only.
#                4axis_2  : Support the second joystick only.
#                fcs      : Support a Thrustmaster-type joystick.
#                ch       : Support a CH Flightstick-type joystick.
#                hidden   : Prevent DOS from seeing the joystick(s), but enable them for mapping.
#                disabled : Fully disable joysticks: won't be polled, mapped, or visible in DOS.
#                (Remember to reset DOSBox's mapperfile if you saved it earlier)
#                Possible values: auto, 2axis, 4axis, 4axis_2, fcs, ch, hidden, disabled.
#         timed: enable timed intervals for axis. Experiment with this option, if your joystick drifts (away).
#      autofire: continuously fires as long as you keep the button pressed.
#        swap34: swap the 3rd and the 4th axis. Can be useful for certain joysticks.
#    buttonwrap: enable button wrapping at the number of emulated buttons.
# circularinput: enable translation of circular input to square output.
#                Try enabling this if your left analog stick can only move in a circle.
#      deadzone: the percentage of motion to ignore. 100 turns the stick into a digital one.

joysticktype  = auto
timed         = true
autofire      = false
swap34        = false
buttonwrap    = false
circularinput = false
deadzone      = 10

[serial]
#       serial1: set type of device connected to com port.
#                Can be disabled, dummy, modem, nullmodem, directserial.
#                Additional parameters must be in the same line in the form of
#                parameter:value. Parameter for all types is irq (optional).
#                for directserial: realport (required), rxdelay (optional).
#                                 (realport:COM1 realport:ttyS0).
#                for modem: listenport sock (all optional).
#                for nullmodem: server, rxdelay, txdelay, telnet, usedtr,
#                               transparent, port, inhsocket, sock (all optional).
#                SOCK parameter specifies the protocol to be used by both sides
#                     of the conection. 0 for TCP and 1 for ENet reliable UDP.
#                Example: serial1=modem listenport:5000 sock:1
#                Possible values: dummy, disabled, modem, nullmodem, directserial.
#       serial2: see serial1
#                Possible values: dummy, disabled, modem, nullmodem, directserial.
#       serial3: see serial1
#                Possible values: dummy, disabled, modem, nullmodem, directserial.
#       serial4: see serial1
#                Possible values: dummy, disabled, modem, nullmodem, directserial.
# phonebookfile: File used to map fake phone numbers to addresses.

serial1       = dummy
serial2       = dummy
serial3       = disabled
serial4       = disabled
phonebookfile = phonebook.txt

[dos]
#            xms: Enable XMS support.
#            ems: Enable EMS support. The default (=true) provides the best
#                 compatibility but certain applications may run better with
#                 other choices, or require EMS support to be disabled (=false)
#                 to work at all.
#                 Possible values: true, emsboard, emm386, false.
#            umb: Enable UMB support.
#            ver: Set DOS version (5.0 by default). Specify as major.minor format.
#                 A single number is treated as the major version.
#                 Common settings are 3.3, 5.0, 6.22, and 7.1.
# keyboardlayout: Language code of the keyboard layout (or none).

xms            = true
ems            = true
umb            = true
ver            = 5.0
keyboardlayout = auto

[ipx]
# ipx: Enable ipx over UDP/IP emulation.

ipx = false

[ethernet]
#            ne2000: Enable emulation of a Novell NE2000 network card on a software-based
#                    network (using libslirp) with properties as follows:
#                     - 255.255.255.0 : Subnet mask of the 10.0.2.0 virtual LAN.
#                     - 10.0.2.2      : IP of the gateway and DHCP service.
#                     - 10.0.2.3      : IP of the virtual DNS server.
#                     - 10.0.2.15     : First IP provided by DHCP, your IP!
#                    Note: Inside DOS, setting this up requires an NE2000 packet driver,
#                          DHCP client, and TCP/IP stack. You might need port-forwarding
#                          from the host into the DOS guest, and from your router to your
#                          host when acting as the server for multiplayer games.
#           nicbase: The base address of the NE2000 card.
#                    Note: Addresses 220 and 240 might not be available as they're assigned
#                          to the Sound Blaster and Gravis UltraSound by default.
#                    Possible values: 200, 220, 240, 260, 280, 2c0, 300, 320, 340, 360.
#            nicirq: The interrupt used by the NE2000 card.
#                    Note: IRQs 3 and 5 might not be available as they're assigned
#                          to 'serial2' and the Gravis UltraSound by default.
#                    Possible values: 3, 4, 5, 9, 10, 11, 12, 14, 15.
#           macaddr: The MAC address of the NE2000 card.
# tcp_port_forwards: Forwards one or more TCP ports from the host into the DOS guest.
#                    The format is:
#                      port1  port2  port3 ... (e.g., 21 80 443)
#                      This will forward FTP, HTTP, and HTTPS into the DOS guest.
#                    If the ports are privileged on the host, a mapping can be used
#                      host:guest  ..., (e.g., 8021:21 8080:80)
#                      This will forward ports 8021 and 8080 to FTP and HTTP in the guest
#                    A range of adjacent ports can be abbreviated with a dash:
#                      start-end ... (e.g., 27910-27960)
#                      This will forward ports 27910 to 27960 into the DOS guest.
#                    Mappings and ranges can be combined, too:
#                      hstart-hend:gstart-gend ..., (e.g, 8040-8080:20-60)
#                      This forwards ports 8040 to 8080 into 20 to 60 in the guest
#                    Notes:
#                      - If mapped ranges differ, the shorter range is extended to fit.
#                      - If conflicting host ports are given, only the first one is setup.
#                      - If conflicting guest ports are given, the latter rule takes precedent.
# udp_port_forwards: Forwards one or more UDP ports from the host into the DOS guest.
#                    The format is the same as for TCP port forwards.

ne2000            = true
nicbase           = 300
nicirq            = 3
macaddr           = AC:DE:48:88:99:AA
tcp_port_forwards = 
udp_port_forwards = 

[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.

[Top]


Game specific config files

Al-Qadim: The Genie's Curse

  • ensure to have a global config file
  • create a dedicated alqadim.conf and copy/paste the below
  • game has been installed on /home/pi/roms/pc/games/ALQADIM
  • game does make proper use of General MIDI
  • ensure to set a valid soundfont in dosbox-staging.conf
Click to expand!
[midi]
mpu401     = intelligent
mididevice = fluidsynth

[autoexec]
imgmount d /home/pi/roms/pc/isos/alqadim/alqadim.img -t cdrom
mount c /home/pi/roms/pc/games
C:
CD ALQADIM
CALL GENIE.BAT
EXIT

[Top]


Another World

  • ensure to have a global config file
  • create a dedicated another.conf and copy/paste the below
  • game has been installed on /home/pi/roms/pc/games/ANOTHER
Click to expand!
[sdl]
capture_mouse = nomouse

[cpu]
cycles = 5000

[mixer]
rate = 22050

[sblaster]
sbtype = sbpro1

[dos]
xms = false

[autoexec]
mount c /home/pi/roms/pc/games
C:
CD ANOTHER
CALL GO.BAT
EXIT

[Top]


Doom

  • ensure to have a global config file
  • create a dedicated doom.conf and copy/paste the below
  • game has been installed on /home/pi/roms/pc/games/DOOM
  • game does make proper use of General MIDI
  • ensure to set a valid soundfont in dosbox-staging.conf
Click to expand!
[sdl]
capture_mouse = nomouse

[midi]
mpu401     = intelligent
mididevice = fluidsynth

[autoexec]
mount c /home/pi/roms/pc/games
C:
CD DOOM
DOOM.EXE
EXIT

[Top]


Dune 2

  • ensure to have a global config file
  • create a dedicated dune2.conf and copy/paste the below
  • game has been installed on /home/pi/roms/pc/games/DUNE2
  • game does make proper use of MT-32
  • ensure you do have a valid set of MT-32 roms in dosbox-staging.conf
Click to expand!
[cpu]
cycles = 15000

[midi]
mpu401     = intelligent
mididevice = mt32

[mt32]
model  = mt32

[joystick]
joysticktype  = none

[autoexec]
mount c /home/pi/roms/pc/games
C:
CD DUNE2
DUNE2.EXE
EXIT

[Top]


Mad Dog II

  • ensure to have a global config file
  • create a dedicated maddog2.conf and copy/paste the below
  • game has been installed on /home/pi/roms/pc/games/maddog2
Click to expand!
[cpu]
cycles = 8000

[mixer]
rate = 22050

[sblaster]
sbtype = sbpro1

[autoexec]
imgmount d /home/pi/roms/pc/isos/maddog2/maddog2.iso -t cdrom
mount c /home/pi/roms/pc/games
C:
CD MADDOG2
CALL MADDOG2.BAT
EXIT

[Top]


One Must Fall 2097

  • ensure to have a global config file
  • create a dedicated omf2097.conf and copy/paste the below
  • game has been installed on /home/pi/roms/pc/games/OMF
  • game does support Gravis UltraSound natively
Click to expand!
[sblaster]
sbtype  = none
oplmode = none

[gus]
gus = true

[autoexec]
mount c /home/pi/roms/pc/games
C:
CD OMF
OMF.EXE
EXIT

[Top]


Pył

  • ensure to have a global config file
  • create a dedicated pyl.conf and copy/paste the below
  • game has been installed on /home/pi/roms/pc/games/PYL
Click to expand!
[dosbox]
memsize = 48

[cpu]
cycles  = 100000

[dos]
xms = true
ems = false
umb = false

[autoexec]
mount c /home/pi/roms/pc/games
C:
CD PYL
PYLDEMO.EXE -V6
Supported flags. Click to expand!
Sound options: 
 -AUTO : autodetection (default)
 -NOSOUND : no sound
 -SB -SB20 -SBPRO -SB16 : sound card type
 -A210 -A220 -A230 -A240 -A50 -A260 -A280 : sound card port address
 -I2 -I3 -I4 -I5 -I6 -I7 -I8 -I9 -I10: sound card irq
 -D0 -D1 -D3 : sound card low dma channel
 -H5 -H6 -H7 : sound card hi dma channel
Graphic options: 
 -V0 : auto detect graphics (default)
 -V1 : 3DFX Voodoo 640x480 16bpp
 -V2 : VESA 2.0 linear buffer 640x480 16bpp
 -V3 : VESA 1.2 banked buffer 640x480 16bpp
 -V4 : Null driver 640x480 16bpp
 -V5 : VESA 2.0 linear buffer 320x200 16bpp
 -V6 : VESA 1.2 banked buffer 320x200 16bpp
Game options: 
 -L levelname    : start game with this level
 -LN levelnumber : start game with this level
 -S slotnumber   : load game from this savegame slot
 -LAN language   : language version
                     polish (default)
                     english
 -SAVE           : save demo file [for current level]
 -PLAY           : load and use demo file [for current level]
 -RECORD path    : create screenshots from each frame
                   [or press X in game for sigle frame]

[Top]


Rise of the Triad: Dark War

  • ensure to have a global config file
  • create a dedicated rott.conf and copy/paste the below
  • game has been installed on /home/pi/roms/pc/games/ROTT
  • game does support Gravis UltraSound via UltraMID
Click to expand!
[sblaster]
sbtype  = none
oplmode = none

[gus]
gus = true
ultradir = u:\ultrasnd

[autoexec]
mount c /home/pi/roms/pc/games
mount u /home/pi/roms/pc/utils
C:
CD ROTT
ROTT.EXE
EXIT

[Top]


Theme Park CD

  • ensure to have a global config file
  • create a dedicated thpark.conf and copy/paste the below
  • game has been installed on /home/pi/roms/pc/games/THPARK
  • game does make proper use of General MIDI
  • ensure to set a valid soundfont in dosbox-staging.conf
  • game will crash if you don't set exactly the following settings
Click to expand!
[dosbox]
memsize = 8

[cpu]
cputype   = 486_slow
cycles	  = 12000
cycleup	  = 8000
cycledown = 8000

[midi]
mpu401     = intelligent
mididevice = fluidsynth

[autoexec]
imgmount d /home/pi/roms/pc/isos/thpark/thpark.cue -t cdrom
mount c /home/pi/roms/pc/games
C:
CD THPARK
CALL THEME.BAT
EXIT

[Top]


Under a Killing Moon

  • ensure to have a global config file
  • create a dedicated uakm.conf and copy/paste the below
  • game has been installed on /home/pi/roms/pc/games/UAKM
  • game does make proper use of General MIDI
  • ensure to set a valid soundfont in dosbox-staging.conf
  • game does support multiple CD-ROM drives
Click to expand!
[midi]
mpu401     = intelligent
mididevice = fluidsynth

[joystick]
joysticktype  = none

[autoexec]
imgmount d /home/pi/roms/pc/isos/uakm/uakm1.cue -t cdrom
imgmount e /home/pi/roms/pc/isos/uakm/uakm2.cue -t cdrom
imgmount f /home/pi/roms/pc/isos/uakm/uakm3.cue -t cdrom
imgmount g /home/pi/roms/pc/isos/uakm/uakm4.cue -t cdrom
mount c /home/pi/roms/pc/games
C:
CD UAKM
MOON.EXE
EXIT

[Top]


Wing Commander 2

  • ensure to have a global config file
  • create a dedicated wingc2.conf and copy/paste the below
  • game has been installed on /home/pi/roms/pc/games/WINGC2
  • game does make proper use of MT-32
  • ensure you do have a valid set of MT-32 roms in dosbox-staging.conf
  • notice the cycles = 4000 to ensure proper game speed.
Click to expand!
[cpu]
cycles = 4000

[midi]
mpu401     = intelligent
mididevice = mt32

[mt32]
model  = mt32

[dos]
ems    = true

[autoexec]
mount c /home/pi/roms/pc/games
C:
CD WINGC2
CALL WC2.BAT
EXIT

[Top]


Wolfenstein 3D

  • ensure to have a global config file
  • create a dedicated wolf3d.conf and copy/paste the below
  • game has been installed on /home/pi/roms/pc/games/WOLF3D
  • cycles = auto could actually cause the game to run slower than expected. Let's rely on fixed cycles instead.
  • notice the AUTOTYPE command to bypass setup screen automatically.
Click to expand!
[sdl]
capture_mouse = nomouse

[cpu]
cycles = 30000

[autoexec]
mount c /home/pi/roms/pc/games
C:
CD WOLF3D
AUTOTYPE -w 2 enter
WOLF3D.EXE
EXIT

[Top]


Worms (CD)

  • ensure to have a global config file
  • create a dedicated worms.conf and copy/paste the below
  • game has been installed on /home/pi/roms/pc/games/WORMS
  • cycles = auto could actually cause the game to run slower than expected. Let's rely on fixed cycles instead.
  • also to prevent sound issue it's best to rely on SoundBlaster (default).
Click to expand!
[cpu]
core = normal
cycles = 15000

[autoexec]
imgmount d /home/pi/roms/pc/isos/worms/worms.cue -t cdrom
mount c /home/pi/roms/pc/games
C:
CD WORMS
WORMS.EXE
EXIT

[Top]


Clone this wiki locally