Skip to content

DOSBox Pure Unleashed - RetroBIOS

Type standalone
Classification Official ports
Source https://github.com/schellingb/dosbox-pure-unleashed
Upstream https://github.com/schellingb/dosbox-pure
Version 1.0-preview6
Profiled 2026-08-08
Cores dosbox-pure-unleashed, dosboxpure
Systems dos
Checked by sha1
Technical notes

Desktop build of DOSBox Pure by the same author. The repository holds only the platform layer (main.cpp, vfs_implementation.cpp) and compiles the emulation core from a sibling checkout of schellingb/dosbox-pure with -D__LIBRETRO__ -DDBP_STANDALONE, using ZillaLib for video, input and audio. ref: Makefile:7,9-14,34

No BIOS. Windows 3.x and 9x run as guest operating systems installed into the emulated DOS machine, not as separate emulated hardware.

System directory: the program keeps DOSBoxPure.cfg in a base directory and creates saves and system folders next to it. Base directory is %APPDATA%\DOSBoxPure on Windows when the user creates that folder, else the directory of the executable; $HOME/.config/DOSBoxPure on Linux and $HOME/Library/Application Support/DOSBoxPure on macOS, else the working directory. The system folder can be redirected with the path_system key in DOSBoxPure.cfg. It is returned to the core as RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY. ref: main.cpp:1985-2045,973-974

System directory scan (recursive, DBP_ScanSystem): .SF2 and .SF3 listed as General MIDI SoundFonts, any file whose last four characters are ".SF" plus one. *_CONTROL.ROM listed as Roland MT-32/CM-32L control ROMs. ref: dosbox_pure_libretro.cpp:1380-1412 Both feed the Audio > MIDI SoundFont option, prefixed with the system directory path at apply time. ref: dosbox_pure_libretro.cpp:2495 With no MIDI file selected, mpu401 is set to none and games fall back to their OPL or Sound Blaster music driver. A General MIDI over OPL synthesizer is built in and opens on midiconfig=adlib. ref: dosbox_pure_libretro.cpp:2497, midi_opl.h:46-49

MT-32 pairing: the PCM ROM is not scanned. Its name is derived from the control ROM path by replacing CONTROL with PCM, preserving the case of both letters, so MT32_CONTROL.ROM resolves MT32_PCM.ROM. Open fails unless both are found. ref: midi_mt32.h:182-201,194-195 ZIP archives are accepted and picked by size instead of name: 65536 or 131072 for control, 524288 or 1048576 for PCM. ref: midi_mt32.h:163 Bundled MUNT (header-only mt32emu.h) validates size and SHA1 against a 14 entry table and rejects anything else, failing Synth::open. ref: mt32emu.h:5185,2979-2989,3013-3020 Each control ROM fixes the PCM size it accepts through its pcmCount: 128 requires the 524288 byte MT-32 PCM ROM, 256 requires the 1048576 byte CM-32L PCM ROM. The MT-32 v2.x control ROMs carry pcmCount 128 and so pair with the MT-32 PCM ROM. ref: mt32emu.h:2586-2598,3167,3024-3029

SoundFonts are parsed by TinySoundFont with no size or hash check. SF3 ogg compressed samples decode through the bundled stb_vorbis. ref: midi_tsf.h:22,65,96-105

Per game override: a DOSBOX.SF2, or an MT32_PCM.ROM together with an MT32_CONTROL.ROM, found on the mounted C: drive replaces the option value and is marked fixed. The control ROM is matched through its 8.3 forms MT32TROL.ROM inside ZIPs and MT32_C~1.ROM on local file systems. ref: dosbox_pure_libretro.cpp:2803-2813 MIDI ZIPs are looked up in the content directory before the system directory. ref: dosbox_pure_libretro.cpp:906-914

Keyboard layouts and codepages are compiled in, external keyboard.sys, keybrd2.sys, keybrd3.sys and EGA*.CPI loading is disabled. ref: include/config.h:58, dos_keyboard_layout.cpp:729-819

Other system directory entries carry no fixed identity and are not listed as files. Hard disk images (.IMG, .IMA, .VHD of at least 7 MB and a multiple of 512 bytes) are created by the Install New Operating System feature and booted as C:. .DOSZ archives are shells the user assembles, underlaid below C: and started through WINDOWS.BAT, AUTOEXEC.BAT or WINDOWS\WIN.COM. DOSBoxPureMidiCache.txt is written by the emulator when a scan exceeds two seconds and read back to skip later scans. ref: dosbox_pure_libretro.cpp:1413-1424,1425-1446,1452-1466, dosbox_pure_run.h:187-210,289-297

15 files | 0 required, 15 optional | 15 in repo, 0 missing | 15 with HLE fallback

MT32_CONTROL.ROM optional in repo HLE fallback
MT-32 Control v1.04

MT32_CONTROL.ROM optional in repo HLE fallback
MT-32 Control v1.05

MT32_CONTROL.ROM optional in repo HLE fallback
MT-32 Control v1.06

MT32_CONTROL.ROM optional in repo HLE fallback
MT-32 Control v1.07

MT32_CONTROL.ROM optional in repo HLE fallback
MT-32 Control BlueRidge

MT32_CONTROL.ROM optional in repo HLE fallback
MT-32 Control v2.03

MT32_CONTROL.ROM optional in repo HLE fallback
MT-32 Control v2.04

MT32_CONTROL.ROM optional in repo HLE fallback
MT-32 Control v2.06

MT32_CONTROL.ROM optional in repo HLE fallback
MT-32 Control v2.07

CM32L_CONTROL.ROM optional in repo HLE fallback
CM-32L/LAPC-I Control v1.00

  • Size: 64.0 KB
  • SHA1: 73683d585cd6...
  • Validation: sha1, size
  • Source: src/gui/mt32emu.h:5122, src/gui/mt32emu.h:5139
  • Platforms: lakka, retroarch, retropie

CM32L_CONTROL.ROM optional in repo HLE fallback
CM-32L/LAPC-I Control v1.02

  • Size: 64.0 KB
  • SHA1: a439fbb390da...
  • Validation: sha1, size
  • Source: src/gui/mt32emu.h:5123, src/gui/mt32emu.h:5140
  • Platforms: lakka, retroarch, retropie

CM32LN_CONTROL.ROM optional in repo HLE fallback
CM-32LN/CM-500/LAPC-N Control v1.00

  • Size: 64.0 KB
  • SHA1: dc1c5b1b90a4...
  • Validation: sha1, size
  • Source: src/gui/mt32emu.h:5124, src/gui/mt32emu.h:5141

MT32_PCM.ROM optional in repo HLE fallback
MT-32 PCM ROM

  • Size: 512.0 KB
  • SHA1: f6b1eebc4b2d...
  • Validation: sha1, size
  • Source: src/gui/mt32emu.h:5126, src/gui/mt32emu.h:5143
  • Platforms: batocera, lakka, recalbox, retroarch, retrobat, retropie
  • accepted by every MT-32 control ROM, v1.x and v2.x (pcmCount 128)

CM32L_PCM.ROM optional in repo HLE fallback
CM-32L/CM-64/LAPC-I PCM ROM

  • Size: 1.0 MB
  • SHA1: 289cc298ad53...
  • Aliases: CM32LN_PCM.ROM
  • Validation: sha1, size
  • Source: src/gui/mt32emu.h:5127, src/gui/mt32emu.h:5144
  • Platforms: lakka, retroarch, retropie
  • accepted by the CM-32L and CM-32LN control ROMs (pcmCount 256). The alias covers the name derived from CM32LN_CONTROL.ROM.

DOSBOX.SF2 optional in repo HLE fallback
General MIDI SoundFont (any .sf2/.sf3 accepted)

  • Source: dosbox_pure_libretro.cpp:1407, dosbox_pure_libretro.cpp:2805
  • Any .SF2 or .SF3 in the system directory is listed in the MIDI option. DOSBOX.SF2 is the fixed name looked up on the mounted C: drive as a per game override.

Generated on 2026-08-23T16:12:06Z