Skip to content

DOSBox Pure

DOSBox Pure emulates MS-DOS. It reads 25 files, none of them required: it starts games without them.

About this profile
Detail Value
Type standalone + libretro
Classification Enhanced fork
Source https://github.com/libretro/dosbox-pure
Upstream https://codeberg.org/schelling/dosbox-pure
Version 1.0-preview7, the tag at this revision
Revision libretro/dosbox-pure@cdaea10ce8ca, schelling/dosbox-pure@cdaea10ce8ca
Profiled 2026-03-23
Profile YAML, JSON
Cores dosbox_pure
Systems MS-DOS
Checks the file by sha1
Install this emulator's files

For DOSBox Pure inside RetroArch, Batocera or another setup. The installer finds your setup and its BIOS folder, then downloads only the files this emulator reads there and checks each one.

Open the Start menu. Type PowerShell and open it. Paste the line. Press Enter.

PowerShell
&([scriptblock]::Create((irm https://abdess.github.io/retrobios/i.ps1))) --emulator dosbox_pure
Technical notes

No BIOS required. MT-32, Sound Canvas 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:1399-1410 MT-32 requires matched pair: *_CONTROL.ROM + *_PCM.ROM (PCM name derived from CONTROL name by replacing CONTROL with PCM, preserving case). ref: src/gui/midi_mt32.h:189-199 ZIP archives also supported, scanned for files by size (65536/131072 = control, 524288/1048576 = PCM), not by name. ref: src/gui/midi_mt32.h:160-166 Files can also be on mounted C: drive (DOSBOX.SF2, MT32_CONTROL.ROM, ROM1.BIN). ref: dosbox_pure_libretro.cpp:2806-2813 Cache file DOSBoxPureMidiCache.txt written when scan >2s. ref: dosbox_pure_libretro.cpp:1449-1464

Sound Canvas: the scan also lists every file whose name ends in ROM1.BIN, WAVEROM1.BIN excepted, as "Sound Canvas SC-55". Selected, the Nuked-SC55 driver opens it at exactly 32768 bytes, then ROM2, ROM2_ST, ROM_SM, WAVEROM1, WAVEROM2 and WAVEROM3 beside it, spelled with the capitalization and extension of ROM1.BIN. Each file fills the slot its size names. Byte 67 of ROM1 selects the model, SC-55mkII/SC-55st, SC-55/SC-155, CM-300/SCC-1, JV-880 or SCB-55, and the sizes the other ROMs must have. The driver does not open without ROM1 and ROM2. ref: dosbox_pure_libretro.cpp:1405, src/gui/midi_sc55.h:38-47, src/gui/midi_sc55.h:71-95, src/gui/midi_sc55.h:97-134

Bundled MUNT (header-only mt32emu.h) for MT-32 emulation. SHA1+size validation at load: unrecognized ROMs rejected (Synth::open fails). ref: src/gui/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,1588,2302

16 files (25 accepted versions): 0 required, 16 optional. 6 have an HLE fallback.

In this collection: 16 in repo and 0 missing.

25 rows
FileStatusHash

MT32_CONTROL.ROM

MT-32 Control v1.04

Hashes, validation and source
  • SHA1: 5a5cb5a77d7d55ee69657c2f870416daed52dea7
  • Validation: sha1, size
  • Asked for by: emulator code, libretro port
  • Source: src/gui/mt32emu.h:5112 (emulator code, libretro port), src/gui/mt32emu.h:5129 (emulator code, libretro port)
in repo HLE fallbackSHA1 5a5cb5a77d7d

MT32_CONTROL.ROM

MT-32 Control v1.05

Hashes, validation and source
  • SHA1: e17a3a6d265bf1fa150312061134293d2b58288c
  • Validation: sha1, size
  • Asked for by: emulator code, libretro port
  • Source: src/gui/mt32emu.h:5113 (emulator code, libretro port), src/gui/mt32emu.h:5130 (emulator code, libretro port)
in repo HLE fallbackSHA1 e17a3a6d265b

MT32_CONTROL.ROM

MT-32 Control v1.06

Hashes, validation and source
  • SHA1: a553481f4e2794c10cfe597fef154eef0d8257de
  • Validation: sha1, size
  • Asked for by: emulator code, libretro port
  • Source: src/gui/mt32emu.h:5114 (emulator code, libretro port), src/gui/mt32emu.h:5131 (emulator code, libretro port)
in repo HLE fallbackSHA1 a553481f4e27

MT32_CONTROL.ROM

MT-32 Control v1.07

Hashes, validation and source
  • SHA1: b083518fffb7f66b03c23b7eb4f868e62dc5a987
  • Validation: sha1, size
  • Asked for by: emulator code, libretro port
  • Source: src/gui/mt32emu.h:5115 (emulator code, libretro port), src/gui/mt32emu.h:5132 (emulator code, libretro port)
in repo HLE fallbackSHA1 b083518fffb7

MT32_CONTROL.ROM

MT-32 Control BlueRidge

Hashes, validation and source
  • SHA1: 7b8c2a5ddb42fd0732e2f22b3340dcf5360edf92
  • Validation: sha1, size
  • Asked for by: emulator code, libretro port
  • Source: src/gui/mt32emu.h:5116 (emulator code, libretro port), src/gui/mt32emu.h:5133 (emulator code, libretro port)
in repo HLE fallbackSHA1 7b8c2a5ddb42

MT32_CONTROL.ROM

MT-32 Control v2.03 (new MT-32)

Hashes, validation and source
  • SHA1: 5837064c9df4741a55f7c4d8787ac158dff2d3ce
  • Validation: sha1, size
  • Asked for by: emulator code, libretro port
  • Source: src/gui/mt32emu.h:5118 (emulator code, libretro port), src/gui/mt32emu.h:5135 (emulator code, libretro port)
in repo HLE fallbackSHA1 5837064c9df4

MT32_CONTROL.ROM

MT-32 Control v2.04

Hashes, validation and source
  • SHA1: 2c16432b6c73dd2a3947cba950a0f4c19d6180eb
  • Validation: sha1, size
  • Asked for by: emulator code, libretro port
  • Source: src/gui/mt32emu.h:5119 (emulator code, libretro port), src/gui/mt32emu.h:5136 (emulator code, libretro port)
in repo HLE fallbackSHA1 2c16432b6c73

MT32_CONTROL.ROM

MT-32 Control v2.06

Hashes, validation and source
  • SHA1: 2869cf4c235d671668cfcb62415e2ce8323ad4ed
  • Validation: sha1, size
  • Asked for by: emulator code, libretro port
  • Source: src/gui/mt32emu.h:5120 (emulator code, libretro port), src/gui/mt32emu.h:5137 (emulator code, libretro port)
in repo HLE fallbackSHA1 2869cf4c235d

MT32_CONTROL.ROM

MT-32 Control v2.07

Hashes, validation and source
  • SHA1: 47b52adefedaec475c925e54340e37673c11707c
  • Validation: sha1, size
  • Asked for by: emulator code, libretro port
  • Source: src/gui/mt32emu.h:5121 (emulator code, libretro port), src/gui/mt32emu.h:5138 (emulator code, libretro port)
in repo HLE fallbackSHA1 47b52adefeda

CM32L_CONTROL.ROM

CM-32L/LAPC-I Control v1.00

Hashes, validation and source
  • SHA1: 73683d585cd6948cc19547942ca0e14a0319456d
  • Validation: sha1, size
  • Asked for by: emulator code, libretro port
  • Source: src/gui/mt32emu.h:5122 (emulator code, libretro port), src/gui/mt32emu.h:5139 (emulator code, libretro port)
in repo HLE fallbackSHA1 73683d585cd6

CM32L_CONTROL.ROM

CM-32L/LAPC-I Control v1.02

Hashes, validation and source
  • SHA1: a439fbb390da38cada95a7cbb1d6ca199cd66ef8
  • Validation: sha1, size
  • Asked for by: emulator code, libretro port
  • Source: src/gui/mt32emu.h:5123 (emulator code, libretro port), src/gui/mt32emu.h:5140 (emulator code, libretro port)
in repo HLE fallbackSHA1 a439fbb390da

CM32LN_CONTROL.ROM

CM-32LN/CM-500/LAPC-N Control v1.00

Hashes, validation and source
  • SHA1: dc1c5b1b90a4646d00f7daf3679733c7badc7077
  • Validation: sha1, size
  • Asked for by: emulator code, libretro port
  • Source: src/gui/mt32emu.h:5124 (emulator code, libretro port), src/gui/mt32emu.h:5141 (emulator code, libretro port)
in repo HLE fallbackSHA1 dc1c5b1b90a4

MT32_PCM.ROM

MT-32 PCM ROM

  • accepted by every MT-32 control ROM, v1.x and v2.x. Each control ROM fixes the PCM size it accepts through its pcmCount: 128 requires this 524288 byte image. ref: src/gui/mt32emu.h:2586-2598,3167,3025
Hashes, validation and source
  • SHA1: f6b1eebc4b2d200ec6d3d21d51325d5b48c60252
  • Validation: sha1, size
  • Asked for by: emulator code, libretro port
  • Source: src/gui/mt32emu.h:5126 (emulator code, libretro port), src/gui/mt32emu.h:5143 (emulator code, libretro port)
in repo HLE fallbackSHA1 f6b1eebc4b2d

CM32L_PCM.ROM

CM-32L/CM-64/LAPC-I PCM ROM

  • Aliases: CM32LN_PCM.ROM
  • accepted by the CM-32L and CM-32LN control ROMs, which carry pcmCount 256 and require this 1048576 byte image. The alias covers the name derived from CM32LN_CONTROL.ROM. ref: src/gui/mt32emu.h:2586-2598,3167,3025, src/gui/midi_mt32.h:194-195
Hashes, validation and source
  • SHA1: 289cc298ad532b702461bfc738009d9ebe8025ea
  • Validation: sha1, size
  • Asked for by: emulator code, libretro port
  • Source: src/gui/mt32emu.h:5127 (emulator code, libretro port), src/gui/mt32emu.h:5144 (emulator code, libretro port)
in repo HLE fallbackSHA1 289cc298ad53

DOSBOX.SF2

General MIDI SoundFont (any .sf2/.sf3 accepted)

  • Aliases: GeneralUser-GS.sf2
  • 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.
Source
in repo HLE fallback-

ROM1.BIN

SC-55mkII program ROM 1

  • Path: SC-55/ROM1.BIN
  • Aliases: rom1.bin
  • Any name ending in ROM1.BIN anywhere under the system directory is listed. Byte 67 selects the emulated model, 0x12 for SC-55mkII/SC-55st. This set's companions are named without a prefix.
Validation and source
in repo-

ROM2.BIN

SC-55mkII program ROM 2

  • Path: SC-55/ROM2.BIN
  • Aliases: rom2.bin, ROM2_ST.BIN, rom2_st.bin
  • The driver does not open without ROM1 and ROM2. ROM2_ST fills the same slot when ROM2 did not.
Validation and source
in repo-

ROM_SM.BIN

SC-55mkII/SC-55st sub-MCU ROM

  • Path: SC-55/ROM_SM.BIN
  • Aliases: rom_sm.bin
Validation and source
in repo-

WAVEROM1.BIN

SC-55mkII wave ROM 1 (16 Mbit)

  • Path: SC-55/WAVEROM1.BIN
  • Aliases: waverom1.bin
Validation and source
in repo-

WAVEROM2.BIN

SC-55mkII wave ROM 2 (8 Mbit)

  • Path: SC-55/WAVEROM2.BIN
  • Aliases: waverom2.bin
  • The mkII branch checks ROM_SM, WAVEROM1 and WAVEROM2 only. A WAVEROM3 beside it is opened and ignored.
Validation and source
in repo-

sc55_rom1.bin

SC-55 v1.00 program ROM 1

  • Path: SC-55-v1.00/sc55_rom1.bin
  • Byte 67 is 0x50, the SC-55/SC-155 branch. The driver builds each companion name from the ROM1.BIN name the user picks: the text before ROM1.BIN is kept, the first letter of the companion name takes the case of the R of ROM1 and the other letters the case of the O, and the extension is copied. Picking sc55_rom1.bin opens sc55_rom2.bin, sc55_waverom1.bin, sc55_waverom2.bin and sc55_waverom3.bin beside it. The directory name selects SC-155 only when it contains 155.
Validation and source
in repo-

sc55_rom2.bin

SC-55 v1.00 program ROM 2

  • Path: SC-55-v1.00/sc55_rom2.bin
Validation and source
in repo-

sc55_waverom1.bin

SC-55 wave ROM 1 (8 Mbit)

  • Path: SC-55-v1.00/sc55_waverom1.bin
Validation and source
in repo-

sc55_waverom2.bin

SC-55 wave ROM 2 (8 Mbit)

  • Path: SC-55-v1.00/sc55_waverom2.bin
Validation and source
in repo-

sc55_waverom3.bin

SC-55 wave ROM 3 (8 Mbit)

  • Path: SC-55-v1.00/sc55_waverom3.bin
  • The SC-55/SC-155 and CM-300/SCC-1 branches refuse the set without a third 8 Mbit wave ROM.
Validation and source
in repo-
.