Skip to content

# DOSBox Pure - RetroBIOS

Type | standalone + libretro
Classification | enhanced_fork
Source | https://github.com/libretro/dosbox-pure
Upstream | https://github.com/schellingb/dosbox-pure
Version | 1.0-preview5
Profiled | 2026-03-23
Cores | dosbox_pure
Systems | dos
Verification mode | sha1

Technical notes

No BIOS required. MT-32 and SoundFont support is optional for MIDI music.

ROM scanning (both modes): Recursive scan of system directory for _CONTROL.ROM and .SF2/.SF3. ref: dosbox_pure_libretro.cpp:1367-1378 MT-32 requires matched pair: _CONTROL.ROM + *_PCM.ROM (PCM name derived from CONTROL name by replacing CONTROL with PCM, preserving case). ref: midi_mt32.h:189-199 ZIP archives also supported — scanned for files by size (65536/131072 = control, 524288/1048576 = PCM), not by name. ref: midi_mt32.h:160-166 Files can also be on mounted C: drive (DOSBOX.SF2, MT32_CONTROL.ROM). ref: dosbox_pure_libretro.cpp:2760-2762 Cache file DOSBoxPureMidiCache.txt written when scan >2s. ref: dosbox_pure_libretro.cpp:1393-1413

Bundled MUNT (header-only mt32emu.h) for MT-32 emulation. SHA1+size validation at load: unrecognized ROMs rejected (Synth::open fails). ref: mt32emu.h:2982-2988,3016-3019,5183-5187 12 full control ROMs + 2 PCM ROMs supported (no split ROMs in this MUNT). TinySoundFont (tsf.h) for SF2/SF3 playback. No firmware entries in .info file — all MIDI files optional.

DBP_STANDALONE build mode exists (same MIDI logic, different I/O layer). ref: dosbox_pure_libretro.cpp:81,1558,2270

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

`MT32_CONTROL.ROM` -optional, HLE available : MT-32 Control v1.04

- Size: 64.0 KB
- SHA1: `5a5cb5a77d7d55ee69657c2f870416daed52dea7`
- Validation: sha1, size
- Source: `mt32emu.h:5112,5129`
- Platforms: batocera, lakka, recalbox, retroarch, retrobat, retropie

`MT32_CONTROL.ROM` -optional, HLE available : MT-32 Control v1.05

- Size: 64.0 KB
- SHA1: `e17a3a6d265bf1fa150312061134293d2b58288c`
- Validation: sha1, size
- Source: `mt32emu.h:5113,5130`
- Platforms: batocera, lakka, recalbox, retroarch, retrobat, retropie

`MT32_CONTROL.ROM` -optional, HLE available : MT-32 Control v1.06

- Size: 64.0 KB
- SHA1: `a553481f4e2794c10cfe597fef154eef0d8257de`
- Validation: sha1, size
- Source: `mt32emu.h:5114,5131`
- Platforms: batocera, lakka, recalbox, retroarch, retrobat, retropie

`MT32_CONTROL.ROM` -optional, HLE available : MT-32 Control v1.07

- Size: 64.0 KB
- SHA1: `b083518fffb7f66b03c23b7eb4f868e62dc5a987`
- Validation: sha1, size
- Source: `mt32emu.h:5115,5132`
- Platforms: batocera, lakka, recalbox, retroarch, retrobat, retropie

`MT32_CONTROL.ROM` -optional, HLE available : MT-32 Control BlueRidge

- Size: 64.0 KB
- SHA1: `7b8c2a5ddb42fd0732e2f22b3340dcf5360edf92`
- Validation: sha1, size
- Source: `mt32emu.h:5116,5133`
- Platforms: batocera, lakka, recalbox, retroarch, retrobat, retropie

`MT32_CONTROL.ROM` -optional, HLE available : MT-32 Control v2.03 (new MT-32)

- Size: 128.0 KB
- SHA1: `5837064c9df4741a55f7c4d8787ac158dff2d3ce`
- Validation: sha1, size
- Source: `mt32emu.h:5118,5135`
- Platforms: batocera, lakka, recalbox, retroarch, retrobat, retropie

`MT32_CONTROL.ROM` -optional, HLE available : MT-32 Control v2.04

- Size: 128.0 KB
- SHA1: `2c16432b6c73dd2a3947cba950a0f4c19d6180eb`
- Validation: sha1, size
- Source: `mt32emu.h:5119,5136`
- Platforms: batocera, lakka, recalbox, retroarch, retrobat, retropie

`MT32_CONTROL.ROM` -optional, HLE available : MT-32 Control v2.06

- Size: 128.0 KB
- SHA1: `2869cf4c235d671668cfcb62415e2ce8323ad4ed`
- Validation: sha1, size
- Source: `mt32emu.h:5120,5137`
- Platforms: batocera, lakka, recalbox, retroarch, retrobat, retropie

`MT32_CONTROL.ROM` -optional, HLE available : MT-32 Control v2.07

- Size: 128.0 KB
- SHA1: `47b52adefedaec475c925e54340e37673c11707c`
- Validation: sha1, size
- Source: `mt32emu.h:5121,5138`
- Platforms: batocera, lakka, recalbox, retroarch, retrobat, retropie

`CM32L_CONTROL.ROM` -optional, HLE available : CM-32L/LAPC-I Control v1.00

- Size: 64.0 KB
- SHA1: `73683d585cd6948cc19547942ca0e14a0319456d`
- Validation: sha1, size
- Source: `mt32emu.h:5122,5139`
- Platforms: lakka, retroarch, retropie

`CM32L_CONTROL.ROM` -optional, HLE available : CM-32L/LAPC-I Control v1.02

- Size: 64.0 KB
- SHA1: `a439fbb390da38cada95a7cbb1d6ca199cd66ef8`
- Validation: sha1, size
- Source: `mt32emu.h:5123,5140`
- Platforms: lakka, retroarch, retropie

`CM32LN_CONTROL.ROM` -optional, HLE available, missing from repo : CM-32LN/CM-500/LAPC-N Control v1.00

- Size: 64.0 KB
- SHA1: `dc1c5b1b90a4646d00f7daf3679733c7badc7077`
- Validation: sha1, size
- Source: `mt32emu.h:5124,5141`

`MT32_PCM.ROM` -optional, HLE available : MT-32 PCM ROM

- Size: 512.0 KB
- SHA1: `f6b1eebc4b2d200ec6d3d21d51325d5b48c60252`
- Validation: sha1, size
- Source: `mt32emu.h:5126,5143`
- Platforms: batocera, lakka, recalbox, retroarch, retrobat, retropie
- pairs with any MT-32 v1.x control ROM

`CM32L_PCM.ROM` -optional, HLE available : CM-32L/CM-64/LAPC-I PCM ROM

- Size: 1.0 MB
- SHA1: `289cc298ad532b702461bfc738009d9ebe8025ea`
- Validation: sha1, size
- Source: `mt32emu.h:5127,5144`
- Platforms: lakka, retroarch, retropie
- pairs with MT-32 v2.x or CM-32L control ROMs. Lower half aliases MT-32 PCM.

`DOSBOX.SF2` -optional, HLE available, missing from repo : General MIDI SoundFont (any .sf2/.sf3 accepted)

- Source: `dosbox_pure_libretro.cpp:1375,2760`
- Any .SF2 or .SF3 file in the system directory works. The core lists all found SoundFonts in the MIDI config dropdown. DOSBOX.SF2 is the conventional name and is also auto-detected when placed inside game content on C: drive.

Generated on 2026-03-25T14:56:43Z