Files
libretro/emulators/dosbox_core.yml
Abdessamad Derraz 69ac957a3c feat: add hle_fallback to 9 emulator profiles
Marked files with HLE fallback based on source code analysis:
- desmume: 3 files (NDSSystem.cpp fake BIOS generation)
- dolphin: 31 files (HLE for IPL, DSP, fonts, Wii system)
- pcsx_rearmed: 7 files (psxbios.c full HLE replacement)
- easyrpg: 4 files (RTP and soundfonts optional)
- dosbox_core: all MT-32/soundfont/BASS files
- dosbox_pure: all MT-32/soundfont files
- boytacean: 8 boot ROMs (open-source embedded in binary)
- citra: shared_font.bin only (HLE for font rendering)
- azahar: shared_font.bin only

Not modified (no HLE): beetle_psx, duckstation, ecwolf, emuscv.
2026-03-19 12:55:03 +01:00

344 lines
11 KiB
YAML

emulator: DOSBox-core
type: standalone + libretro
source: "https://github.com/libretro/dosbox-core"
upstream: "https://github.com/dosbox-staging/dosbox-staging"
profiled_date: "2026-03-19"
core_version: "SVN"
display_name: "DOS (DOSBox-core)"
cores: [dosbox_core]
systems: [dos]
verification: sha1
notes: |
No BIOS required. MT-32 and SoundFont support is optional for MIDI music.
Libretro mode:
MT-32 ROMs loaded by exact filename from system directory.
mt32.romdir = system_dir (libretro.cpp:652). CM-32L is default type.
ref: src/gui/midi_mt32.cpp:35,51-66
FluidSynth reads .sf2/.sf3/.dls/.gig from system/soundfonts/.
ref: libretro/src/libretro.cpp:1086-1097
BASSMIDI reads .sf2/.sfz from system/soundfonts/, requires BASS +
BASSMIDI shared libs in system dir (dlopen'd at runtime).
ref: libretro/src/midi_bassmidi.cpp:232-254
.info declares firmware_count=10 (4 ROMs + 6 BASS libs).
Standalone mode (DOSBox Staging):
MT-32 ROMs identified by SHA1 hash (MUNT), not filename. Any file in
mt32-roms/ dir scanned and matched. Split ROM pairs supported (_a+_b).
ref: dosbox-staging src/midi/mt32.cpp:109-148 (ROM defs), 470-484 (dir scan)
Default dir: config_dir/mt32-roms/ (dosbox.h:173)
Models: MT-32 v1.04-1.07, BlueRidge, v2.03-2.07, CM-32L v1.00-1.02, CM-32LN v1.00
Sound Canvas (SC-55/SC-155/SC-88) emulation with soundcanvas-roms/ dir.
ref: src/midi/soundcanvas.cpp, dosbox.h:174
SoundFonts in config_dir/soundfonts/ (dosbox.h:175)
ref: src/midi/fluidsynth.cpp:68-69,211
files:
# -- MT-32 Control ROM --
# The core only loads MT32_CONTROL.ROM (not versioned filenames).
# Any v1.x control ROM (64 KB) works. The .info references v1.07.
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v1.04"
required: false
hle_fallback: true
size: 65536
sha1: "5a5cb5a77d7d55ee69657c2f870416daed52dea7"
source_ref: "midi_mt32.cpp:55"
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v1.05"
required: false
hle_fallback: true
size: 65536
sha1: "e17a3a6d265bf1fa150312061134293d2b58288c"
source_ref: "midi_mt32.cpp:55"
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v1.06"
required: false
hle_fallback: true
size: 65536
sha1: "a553481f4e2794c10cfe597fef154eef0d8257de"
source_ref: "midi_mt32.cpp:55"
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v1.07"
required: false
hle_fallback: true
size: 65536
sha1: "b083518fffb7f66b03c23b7eb4f868e62dc5a987"
source_ref: "midi_mt32.cpp:55, dosbox_core_libretro.info:firmware0"
notes: "version referenced in .info file (md5: 5626206284b22c2734f3e9efefcd2675)"
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control BlueRidge"
required: false
hle_fallback: true
size: 65536
sha1: "7b8c2a5ddb42fd0732e2f22b3340dcf5360edf92"
source_ref: "midi_mt32.cpp:55"
# -- MT-32 v2.x Control ROMs (128 KB) --
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v2.03 (new MT-32)"
required: false
hle_fallback: true
size: 131072
sha1: "5837064c9df4741a55f7c4d8787ac158dff2d3ce"
source_ref: "midi_mt32.cpp:55"
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v2.04"
required: false
hle_fallback: true
size: 131072
sha1: "2c16432b6c73dd2a3947cba950a0f4c19d6180eb"
source_ref: "midi_mt32.cpp:55"
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v2.06"
required: false
hle_fallback: true
size: 131072
sha1: "2869cf4c235d671668cfcb62415e2ce8323ad4ed"
source_ref: "midi_mt32.cpp:55"
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v2.07"
required: false
hle_fallback: true
size: 131072
sha1: "47b52adefedaec475c925e54340e37673c11707c"
source_ref: "midi_mt32.cpp:55"
# -- CM-32L / LAPC-I Control ROMs (64 KB) --
# Loaded when 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"
source_ref: "midi_mt32.cpp:53"
- name: "CM32L_CONTROL.ROM"
description: "CM-32L/LAPC-I Control v1.02"
required: false
hle_fallback: true
size: 65536
sha1: "a439fbb390da38cada95a7cbb1d6ca199cd66ef8"
source_ref: "midi_mt32.cpp:53, dosbox_core_libretro.info:firmware2"
notes: "version referenced in .info file (md5: bfff32b6144c1d706109accb6e6b1113)"
# -- PCM ROMs --
- name: "MT32_PCM.ROM"
description: "MT-32 PCM ROM"
required: false
hle_fallback: true
size: 524288
sha1: "f6b1eebc4b2d200ec6d3d21d51325d5b48c60252"
source_ref: "midi_mt32.cpp:66, dosbox_core_libretro.info:firmware1"
notes: "pairs with any MT-32 v1.x control ROM (md5: 89e42e386e82e0cacb4a2704a03706ca)"
- name: "CM32L_PCM.ROM"
description: "CM-32L/CM-64/LAPC-I PCM ROM"
required: false
hle_fallback: true
size: 1048576
sha1: "289cc298ad532b702461bfc738009d9ebe8025ea"
source_ref: "midi_mt32.cpp:64, dosbox_core_libretro.info:firmware3"
notes: "pairs with MT-32 v2.x or CM-32L control ROMs (md5: 08cdcfa0ed93e9cb16afa76e6ac5f0a4)"
# -- CM-32LN / CM-500 / LAPC-N Control ROM (standalone) --
# Supported by MUNT (ROMInfo.cpp:77) but dosbox-core libretro only loads
# MT32_CONTROL.ROM or CM32L_CONTROL.ROM by exact name. Standalone DOSBox
# Staging identifies this ROM by SHA1 hash scan.
- name: "CM32LN_CONTROL.ROM"
description: "CM-32LN/CM-500/LAPC-N Control v1.00"
required: false
hle_fallback: true
size: 65536
sha1: "dc1c5b1b90a4646d00f7daf3679733c7badc7077"
mode: standalone
source_ref: "ROMInfo.cpp:77, dosbox-staging src/midi/mt32.cpp:145,242"
# -- Split ROM pairs (standalone mode) --
# MUNT supports split Control ROMs (_a + _b, 32KB each, interleaved) and
# split PCM ROMs (_l + _h, half-size each, appended).
# Only useful in standalone mode with SHA1 scan. Libretro mode needs full ROMs.
# ref: ROMInfo.cpp:56-70 (control splits), 79-84 (PCM splits)
- name: "MT-32 Control v1.04 half A"
description: "MT-32 Control v1.04 split (Mux0)"
required: false
hle_fallback: true
size: 32768
sha1: "9cd4858014c4e8a9dff96053f784bfaac1092a2e"
mode: standalone
source_ref: "ROMInfo.cpp:56"
- name: "MT-32 Control v1.04 half B"
description: "MT-32 Control v1.04 split (Mux1)"
required: false
hle_fallback: true
size: 32768
sha1: "fe8db469b5bfeb37edb269fd47e3ce6d91014652"
mode: standalone
source_ref: "ROMInfo.cpp:57"
- name: "MT-32 Control v1.05 half A"
description: "MT-32 Control v1.05 split (Mux0)"
required: false
hle_fallback: true
size: 32768
sha1: "57a09d80d2f7ca5b9734edbe9645e6e700f83701"
mode: standalone
source_ref: "ROMInfo.cpp:59"
- name: "MT-32 Control v1.05 half B"
description: "MT-32 Control v1.05 split (Mux1)"
required: false
hle_fallback: true
size: 32768
sha1: "52e3c6666db9ef962591a8ee99be0cde17f3a6b6"
mode: standalone
source_ref: "ROMInfo.cpp:60"
- name: "MT-32 Control v1.06 half A"
description: "MT-32 Control v1.06 split (Mux0)"
required: false
hle_fallback: true
size: 32768
sha1: "cc83bf23cee533097fb4c7e2c116e43b50ebacc8"
mode: standalone
source_ref: "ROMInfo.cpp:62"
- name: "MT-32 Control v1.06 half B"
description: "MT-32 Control v1.06 split (Mux1)"
required: false
hle_fallback: true
size: 32768
sha1: "bf4f15666bc46679579498386704893b630c1171"
mode: standalone
source_ref: "ROMInfo.cpp:63"
- name: "MT-32 Control v1.07 half A"
description: "MT-32 Control v1.07 split (Mux0)"
required: false
hle_fallback: true
size: 32768
sha1: "13f06b38f0d9e0fc050b6503ab777bb938603260"
mode: standalone
source_ref: "ROMInfo.cpp:65"
- name: "MT-32 Control v1.07 half B"
description: "MT-32 Control v1.07 split (Mux1)"
required: false
hle_fallback: true
size: 32768
sha1: "c55e165487d71fa88bd8c5e9c083bc456c1a89aa"
mode: standalone
source_ref: "ROMInfo.cpp:66"
- name: "MT-32 Control BlueRidge half A"
description: "MT-32 Control BlueRidge split (Mux0)"
required: false
hle_fallback: true
size: 32768
sha1: "11a6ae5d8b6ee328b371af7f1e40b82125aa6b4d"
mode: standalone
source_ref: "ROMInfo.cpp:68"
- name: "MT-32 Control BlueRidge half B"
description: "MT-32 Control BlueRidge split (Mux1)"
required: false
hle_fallback: true
size: 32768
sha1: "e0934320d7cbb5edfaa29e0d01ae835ef620085b"
mode: standalone
source_ref: "ROMInfo.cpp:69"
- name: "MT-32 PCM ROM low half"
description: "MT-32 PCM ROM first half (262144 bytes)"
required: false
hle_fallback: true
size: 262144
sha1: "3a1e19b0cd4036623fd1d1d11f5f25995585962b"
mode: standalone
source_ref: "ROMInfo.cpp:79"
- name: "MT-32 PCM ROM high half"
description: "MT-32 PCM ROM second half (262144 bytes)"
required: false
hle_fallback: true
size: 262144
sha1: "2cadb99d21a6a4a6f5b61b6218d16e9b43f61d01"
mode: standalone
source_ref: "ROMInfo.cpp:80"
- name: "CM-32L PCM ROM high half"
description: "CM-32L/CM-64/LAPC-I PCM upper half (524288 bytes)"
required: false
hle_fallback: true
size: 524288
sha1: "3ad889fde5db5b6437cbc2eb6e305312fec3df93"
mode: standalone
note: "lower half is identical to full MT-32 PCM ROM"
source_ref: "ROMInfo.cpp:84"
# -- BASS shared libraries (BASSMIDI driver) --
# Downloaded from https://www.un4seen.com, placed in system directory.
# Loaded at runtime via dlopen. Not redistributable ROMs.
- name: "libbass.so"
description: "BASS audio library (Linux)"
required: false
hle_fallback: true
source_ref: "midi_bassmidi.cpp:238, dosbox_core_libretro.info:firmware4"
notes: "proprietary library from un4seen.com, not a ROM"
- name: "libbassmidi.so"
description: "BASSMIDI addon library (Linux)"
required: false
hle_fallback: true
source_ref: "midi_bassmidi.cpp:239, dosbox_core_libretro.info:firmware5"
notes: "proprietary library from un4seen.com, not a ROM"
- name: "bass.dll"
description: "BASS audio library (Windows)"
required: false
hle_fallback: true
source_ref: "midi_bassmidi.cpp:232, dosbox_core_libretro.info:firmware6"
notes: "proprietary library from un4seen.com, not a ROM"
- name: "bassmidi.dll"
description: "BASSMIDI addon library (Windows)"
required: false
hle_fallback: true
source_ref: "midi_bassmidi.cpp:233, dosbox_core_libretro.info:firmware7"
notes: "proprietary library from un4seen.com, not a ROM"
- name: "libbass.dylib"
description: "BASS audio library (macOS)"
required: false
hle_fallback: true
source_ref: "midi_bassmidi.cpp:235, dosbox_core_libretro.info:firmware8"
notes: "proprietary library from un4seen.com, not a ROM"
- name: "libbassmidi.dylib"
description: "BASSMIDI addon library (macOS)"
required: false
hle_fallback: true
source_ref: "midi_bassmidi.cpp:236, dosbox_core_libretro.info:firmware9"
notes: "proprietary library from un4seen.com, not a ROM"
# -- General MIDI SoundFont --
# Placed in system/soundfonts/ directory. Core scans for .sf2/.sf3/.sfz/.dls/.gig.
# FluidSynth reads .sf2/.sf3/.dls/.gig; BASSMIDI reads .sf2/.sfz.
# No specific filename required - all found files appear in the core option dropdown.