Files
libretro/emulators/dosbox.yml
T
Abdessamad Derraz e7aa9e870b fix: state libretro core versions from their code
Each libretro profile records version_basis and core_version is read
there at its pin. snes9x states 1.63 in snes9x.h, nestopia 2.0.0, mgba
0.11.0, vice 3.10, atari800's libretro tree 7.0.0. Cores whose build
takes its version from git carry the nearest tag in describe form
(flycast v2.7-90-ge88b0ce, ppsspp, duckstation, gearcoleco), placeholders
copied from .info files (Git, SVN) are replaced by the code's statement,
and a code that states none is null with kind none.
2026-10-27 19:21:27 +01:00

298 lines
11 KiB
YAML

emulator: DOSBox
type: libretro
core_classification: community_fork
source: "https://github.com/libretro/dosbox-libretro"
upstream: "https://sourceforge.net/projects/dosbox/"
profiled_date: "2026-10-04"
source_commit: "a563bb5e9753f207d74e9d8c417d793b784fa4be"
core_version: "r4494"
version_basis:
kind: file
path: "libretro/svn"
pattern: '^(r\d+)'
display_name: "DOS (DOSBox)"
cores: [dosbox]
systems: [dos]
notes: |
Rebuilt on the dosbox-core tree (DOSBox SVN r4494) with ZIP content and the
Nuked-SC55 driver. No BIOS. Every file below belongs to a MIDI driver picked
by the core option, and the default driver is "none".
ref: libretro/src/libretro_core_options.cpp:1684-1702
A driver that fails to open is replaced by the first handler that opens.
ref: src/gui/midi.cpp:241-243
mt32: mt32.romdir is the system directory. The type option (default cm32l)
picks CM32L_CONTROL.ROM + CM32L_PCM.ROM or MT32_CONTROL.ROM + MT32_PCM.ROM.
ref: libretro/src/libretro.cpp:720, src/gui/midi_mt32.cpp:51-68
MUNT identifies each file by size and SHA1 against its full-ROM list, so
any full control ROM is accepted under either control name and split
half-ROMs are refused. The PCM ROM must be the size the control ROM expects.
ref: libretro/deps/munt/mt32emu/src/ROMInfo.cpp:171-179
ref: libretro/deps/munt/mt32emu/src/c_interface/c_interface.cpp:425
ref: libretro/deps/munt/mt32emu/src/Synth.cpp:599
sc55: the driver is given SC-55.zip from the system directory when that
file exists, the system directory otherwise.
ref: libretro/src/libretro.cpp:903-913
In a directory it looks for SC-55/ROM1.BIN, SC-55/rom1.bin, ROM1.BIN then
rom1.bin, and opens ROM2, ROM2_ST, ROM_SM and WAVEROM1-3 next to it with the
same capitalization and extension. In a ZIP the members are assigned by
size, wave ROMs by the last 1, 2 or 3 in their name. No hash is checked.
ref: src/gui/midi_sc55.h:43-52, src/gui/midi_sc55.h:98-133
Byte 67 of ROM1 selects the model and the sizes the other ROMs must have:
SC-55mkII/SC-55st need ROM_SM, a 2 MiB WAVEROM1 and a 1 MiB WAVEROM2.
SC-55/SC-155 and CM-300/SCC-1 need a 256 KiB ROM2 and three 1 MiB wave
ROMs. JV-880 needs a 256 KiB ROM2 and two 2 MiB wave ROMs. SCB-55 needs a
2 MiB WAVEROM1.
ref: src/gui/midi_sc55.h:151-175
fluidsynth and bassmidi: the soundfont option lists the files found in
soundfonts/ under the system directory (.sf2 for both, .sfz for BASSMIDI,
.sf3/.dls/.gig for FluidSynth). No file name is fixed.
ref: libretro/src/libretro.cpp:1673-1689
bassmidi also loads the BASS and BASSMIDI libraries from the system
directory.
ref: libretro/src/midi_bassmidi.cpp:230-258
Keyboard layouts and codepages are compiled in.
ref: src/dos/dos_keyboard_layout_data.h, src/dos/dos_codepages.h
DOSBox.conf in the save directory is read as the configuration when the
content is not a .conf file.
ref: libretro/src/libretro.cpp:1777-1782
files:
# -- MT-32 control ROMs (mt32.type = mt32) --
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v1.04"
required: false
hle_fallback: true
size: 65536
sha1: "5a5cb5a77d7d55ee69657c2f870416daed52dea7"
validation: [sha1, size]
mode: libretro
source_ref: "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:58"
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v1.05"
required: false
hle_fallback: true
size: 65536
sha1: "e17a3a6d265bf1fa150312061134293d2b58288c"
validation: [sha1, size]
mode: libretro
source_ref: "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:61"
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v1.06"
required: false
hle_fallback: true
size: 65536
sha1: "a553481f4e2794c10cfe597fef154eef0d8257de"
validation: [sha1, size]
mode: libretro
source_ref: "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:64"
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v1.07"
required: false
hle_fallback: true
size: 65536
sha1: "b083518fffb7f66b03c23b7eb4f868e62dc5a987"
validation: [sha1, size]
mode: libretro
source_ref: "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:67"
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control BlueRidge"
required: false
hle_fallback: true
size: 65536
sha1: "7b8c2a5ddb42fd0732e2f22b3340dcf5360edf92"
validation: [sha1, size]
mode: libretro
source_ref: "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:70"
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v2.04"
required: false
hle_fallback: true
size: 131072
sha1: "2c16432b6c73dd2a3947cba950a0f4c19d6180eb"
validation: [sha1, size]
mode: libretro
source_ref: "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:72"
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v2.06"
required: false
hle_fallback: true
size: 131072
sha1: "2869cf4c235d671668cfcb62415e2ce8323ad4ed"
validation: [sha1, size]
mode: libretro
source_ref: "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:73"
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v2.07"
required: false
hle_fallback: true
size: 131072
sha1: "47b52adefedaec475c925e54340e37673c11707c"
validation: [sha1, size]
mode: libretro
source_ref: "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:74"
# -- CM-32L control ROMs (mt32.type = cm32l, the default) --
- name: "CM32L_CONTROL.ROM"
description: "CM-32L/LAPC-I Control v1.00"
required: false
hle_fallback: true
size: 65536
sha1: "73683d585cd6948cc19547942ca0e14a0319456d"
validation: [sha1, size]
mode: libretro
source_ref: "src/gui/midi_mt32.cpp:53, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:75"
- name: "CM32L_CONTROL.ROM"
description: "CM-32L/LAPC-I Control v1.02"
required: false
hle_fallback: true
size: 65536
sha1: "a439fbb390da38cada95a7cbb1d6ca199cd66ef8"
validation: [sha1, size]
mode: libretro
source_ref: "src/gui/midi_mt32.cpp:53, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:76"
- name: "CM32L_CONTROL.ROM"
description: "CM-32LN/CM-500/LAPC-N Control v1.00"
required: false
hle_fallback: true
size: 65536
sha1: "dc1c5b1b90a4646d00f7daf3679733c7badc7077"
validation: [sha1, size]
mode: libretro
source_ref: "src/gui/midi_mt32.cpp:53, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:77"
# -- PCM ROMs --
- name: "MT32_PCM.ROM"
description: "MT-32 PCM ROM"
required: false
hle_fallback: true
size: 524288
sha1: "f6b1eebc4b2d200ec6d3d21d51325d5b48c60252"
validation: [sha1, size]
mode: libretro
source_ref: "src/gui/midi_mt32.cpp:66, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:81"
- name: "CM32L_PCM.ROM"
description: "CM-32L/CM-64/LAPC-I PCM ROM"
required: false
hle_fallback: true
size: 1048576
sha1: "289cc298ad532b702461bfc738009d9ebe8025ea"
validation: [sha1, size]
mode: libretro
source_ref: "src/gui/midi_mt32.cpp:64, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:85"
# -- Roland SC-55 family ROMs (Nuked-SC55 driver) --
- name: "ROM1.BIN"
path: "SC-55/ROM1.BIN"
aliases: ["rom1.bin"]
description: "SC-55 family program ROM 1"
required: false
size: 32768
validation: [size]
mode: libretro
source_ref: "src/gui/midi_sc55.h:98, src/gui/midi_sc55.h:113-115"
note: "Byte 67 selects the emulated model."
- name: "ROM2.BIN"
path: "SC-55/ROM2.BIN"
aliases: ["rom2.bin", "ROM2_ST.BIN", "rom2_st.bin"]
description: "SC-55 family program ROM 2"
required: false
size: [262144, 524288]
validation: [size]
mode: libretro
source_ref: "src/gui/midi_sc55.h:46, src/gui/midi_sc55.h:120, src/gui/midi_sc55.h:135"
note: "The driver does not open without ROM1 and ROM2. ROM2_ST fills the same slot when ROM2 did not."
- name: "ROM_SM.BIN"
path: "SC-55/ROM_SM.BIN"
aliases: ["rom_sm.bin"]
description: "SC-55mkII/SC-55st sub-MCU ROM"
required: false
size: 4096
validation: [size]
mode: libretro
source_ref: "src/gui/midi_sc55.h:47, src/gui/midi_sc55.h:120, src/gui/midi_sc55.h:155"
- name: "WAVEROM1.BIN"
path: "SC-55/WAVEROM1.BIN"
aliases: ["waverom1.bin"]
description: "SC-55 family wave ROM 1"
required: false
size: [1048576, 2097152]
validation: [size]
mode: libretro
source_ref: "src/gui/midi_sc55.h:48-50, src/gui/midi_sc55.h:120"
- name: "WAVEROM2.BIN"
path: "SC-55/WAVEROM2.BIN"
aliases: ["waverom2.bin"]
description: "SC-55 family wave ROM 2"
required: false
size: [1048576, 2097152]
validation: [size]
mode: libretro
source_ref: "src/gui/midi_sc55.h:48-50, src/gui/midi_sc55.h:120"
- name: "WAVEROM3.BIN"
path: "SC-55/WAVEROM3.BIN"
aliases: ["waverom3.bin", "sc55_waverom3.bin"]
description: "SC-55/SC-155/CM-300 wave ROM 3"
required: false
size: 1048576
validation: [size]
mode: libretro
source_ref: "src/gui/midi_sc55.h:48-50, src/gui/midi_sc55.h:120, src/gui/midi_sc55.h:155, src/gui/midi_sc55.h:160"
note: "Next to ROM1.BIN the name is fixed. In SC-55.zip any 1 MiB or 2 MiB member fills the wave slot of the last 1, 2 or 3 in its name, so sc55_waverom3.bin is taken as wave ROM 3. The size test of an SC-55mkII ROM1 does not cover it."
# -- BASS libraries (BASSMIDI driver) --
- name: "libbass.so"
description: "BASS library (Linux)"
required: false
mode: libretro
source_ref: "libretro/src/midi_bassmidi.cpp:238, libretro/src/midi_bassmidi.cpp:246"
- name: "libbassmidi.so"
description: "BASSMIDI library (Linux)"
required: false
mode: libretro
source_ref: "libretro/src/midi_bassmidi.cpp:239, libretro/src/midi_bassmidi.cpp:254"
- name: "bass.dll"
description: "BASS library (Windows)"
required: false
mode: libretro
source_ref: "libretro/src/midi_bassmidi.cpp:232, libretro/src/midi_bassmidi.cpp:246"
- name: "bassmidi.dll"
description: "BASSMIDI library (Windows)"
required: false
mode: libretro
source_ref: "libretro/src/midi_bassmidi.cpp:233, libretro/src/midi_bassmidi.cpp:254"
- name: "libbass.dylib"
description: "BASS library (macOS)"
required: false
mode: libretro
source_ref: "libretro/src/midi_bassmidi.cpp:235, libretro/src/midi_bassmidi.cpp:246"
- name: "libbassmidi.dylib"
description: "BASSMIDI library (macOS)"
required: false
mode: libretro
source_ref: "libretro/src/midi_bassmidi.cpp:236, libretro/src/midi_bassmidi.cpp:254"