fix: re-profile dosbox_pure for its sc-55 driver

This commit is contained in:
Abdessamad Derraz committed 2026-10-10 12:56:01 +02:00
1 parent 6a39264fa6
commit 40b46d1d78
4 files changed
+195 -22

No files matched your search

+4 -4
View File
@@ -68,7 +68,7 @@ These are the files an emulator loads from disk instead of carrying inside itsel
Each file is checked the way your platform checks it. Most compare a checksum, the fingerprint of a file's contents, which catches a corrupt or unexpected copy. RetroArch, Lakka and RetroPie only look for the filename, because that is all their code does: the Coverage table says which applies to you. Independently of that, the collection records five fingerprints per file, and wherever an emulator's code states an expected size or hash, that value is read from its source and rechecked here.
- **392 files** the platforms' emulators load are still to be found, and 51 more cannot be sourced at all (per-user keys, user-filled slots, dumps nobody has made); both are named in the [gap analysis](https://abdess.github.io/retrobios/gaps/)
- **393 files** the platforms' emulators load are still to be found, and 51 more cannot be sourced at all (per-user keys, user-filled slots, dumps nobody has made); both are named in the [gap analysis](https://abdess.github.io/retrobios/gaps/)
- **12 platforms** supported with platform-specific verification
- **506 emulators** profiled from source (RetroArch cores + standalone)
- **544 systems** handled by those emulators (NES, SNES, PlayStation, Saturn, Dreamcast, ...)
@@ -94,10 +94,10 @@ Full list with per-file details: **[https://abdess.github.io/retrobios/](https:/
| ROCKNIX | 38/38 | 5,697/5,727 | MD5 hash |
| Recalbox | 351/351 | 2,731/2,739 | MD5 hash |
| RetroArch | 526/526 | 5,260/5,290 | file presence |
| RetroBat | 348/348 | 11,880/12,310 | MD5 hash |
| RetroBat | 348/348 | 11,885/12,316 | MD5 hash |
| RetroDECK | 2,008/2,008 | 5,400/5,450 | MD5 hash |
| RetroPie * | 526/526 | 9,181/9,323 | file presence |
| RomM | 381/381 | 748/754 | MD5 hash |
| RomM | 381/381 | 753/760 | MD5 hash |
Each fraction is what the pack has over what is needed, counting required and optional files alike since both ship. The first column is the BIOS list the platform publishes. The second counts files its emulators load that this list never mentions, found by reading their source code, and it is routinely several times larger. A short fraction means files are still missing, and they are named in the [gap analysis](https://abdess.github.io/retrobios/gaps/).
That second number is a floor, not a ceiling: an emulator that accepts any file handed to it names none in its code, so nothing there can be counted.
@@ -180,4 +180,4 @@ The scripts and tooling are released under the [MIT License](LICENSE).
The BIOS and firmware files are not covered by that license: they are third-party system software, preserved and provided for personal backup, archival, and interoperability with emulation software. [NOTICE](NOTICE) sets out their status and how to ask for a file to be removed.
The reasoning, and where it is weakest, is in the [FAQ](https://abdess.github.io/retrobios/wiki/faq/#is-this-legal).
*Auto-generated on 2026-10-10T09:28:18Z*
*Auto-generated on 2026-10-10T10:40:24Z*
+86 -13
View File
@@ -5,38 +5,51 @@ source: "https://github.com/libretro/dosbox-pure"
upstream: "https://codeberg.org/schelling/dosbox-pure"
logo: "https://raw.githubusercontent.com/schellingb/dosbox-pure/main/images/logo.png"
profiled_date: "2026-03-23"
source_commit: "a4a0bab7f8931433588f2fcad9045c85b277373d"
core_version: "1.0-preview5"
source_commit: "cdaea10ce8cac231bc341ca05d4c5e4e5fe0fbd5"
core_version: "1.0-preview7"
display_name: "DOS (DOSBox-Pure)"
cores: [dosbox_pure]
systems: [dos]
verification: sha1
notes: |
No BIOS required. MT-32 and SoundFont support is optional for MIDI music.
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: midi_mt32.h:189-199
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: midi_mt32.h:160-166
Files can also be on mounted C: drive (DOSBOX.SF2, MT32_CONTROL.ROM).
ref: dosbox_pure_libretro.cpp:2803-2805
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:1425-1445
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: mt32emu.h:2982-2988,3016-3019,5183-5187
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,1590,2302
ref: dosbox_pure_libretro.cpp:81,1588,2302
files:
# -- MT-32 Control ROMs (64 KB) --
@@ -168,7 +181,7 @@ files:
note: >
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: mt32emu.h:2586-2598,3167,3025
524288 byte image. ref: src/gui/mt32emu.h:2586-2598,3167,3025
- name: "CM32L_PCM.ROM"
description: "CM-32L/CM-64/LAPC-I PCM ROM"
@@ -183,7 +196,7 @@ files:
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: mt32emu.h:2586-2598,3167,3025, midi_mt32.h:194-195
ref: src/gui/mt32emu.h:2586-2598,3167,3025, src/gui/midi_mt32.h:194-195
# -- General MIDI SoundFont --
@@ -191,8 +204,68 @@ files:
description: "General MIDI SoundFont (any .sf2/.sf3 accepted)"
required: false
hle_fallback: true
source_ref: "dosbox_pure_libretro.cpp:1410 (scan classifies .SF* as a SoundFont), dosbox_pure_libretro.cpp:2492-2495 (path taken from the system directory), dosbox_pure_libretro.cpp:2803-2805 (auto-detected on the mounted C: drive)"
source_ref: "dosbox_pure_libretro.cpp:1405 (scan classifies .SF* as a SoundFont), dosbox_pure_libretro.cpp:2495-2499 (path taken from the system directory), dosbox_pure_libretro.cpp:2806-2813 (auto-detected on the mounted C: drive)"
note: >
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.
# -- 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]
source_ref: "dosbox_pure_libretro.cpp:1405, src/gui/midi_sc55.h:71-75, src/gui/midi_sc55.h:97-101"
note: >-
Any name ending in ROM1.BIN anywhere under the system directory is
listed; 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]
source_ref: "src/gui/midi_sc55.h:41, src/gui/midi_sc55.h:78-93, src/gui/midi_sc55.h:95"
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]
source_ref: "src/gui/midi_sc55.h:42, src/gui/midi_sc55.h:78-93, src/gui/midi_sc55.h:113-116"
- 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]
source_ref: "src/gui/midi_sc55.h:43-45, src/gui/midi_sc55.h:78-93, src/gui/midi_sc55.h:111-134"
- 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]
source_ref: "src/gui/midi_sc55.h:43-45, src/gui/midi_sc55.h:78-93, src/gui/midi_sc55.h:111-134"
- name: "WAVEROM3.BIN"
path: "SC-55/WAVEROM3.BIN"
aliases: ["waverom3.bin"]
description: "SC-55/SC-155/CM-300 wave ROM 3"
required: false
size: 1048576
validation: [size]
source_ref: "src/gui/midi_sc55.h:43-45, src/gui/midi_sc55.h:78-93, src/gui/midi_sc55.h:117-125"
+54 -4
View File
@@ -241,10 +241,10 @@
}
}
],
"total_files": 12402,
"total_size": 8504569229,
"pack_files": 12404,
"pack_size": 8504569229,
"total_files": 12407,
"total_size": 8508276109,
"pack_files": 12409,
"pack_size": 8508276109,
"total_omitted": 30,
"omitted_files": [
{
@@ -48999,6 +48999,56 @@
"dosbox_pure"
]
},
{
"dest": "SC-55/ROM1.BIN",
"sha1": "b91bb1d9dccffe831b7cfde7800a3fe32b2fbda6",
"sha256": "8a1eb33c7599b746c0c50283e4349a1bb1773b5c0ec0e9661219bf6c067d2042",
"size": 32768,
"repo_path": "bios/Roland/soundcanvas-roms/SC-55mk2-v1.01/rom1.bin",
"cores": [
"dosbox_pure"
]
},
{
"dest": "SC-55/ROM2.BIN",
"sha1": "078cb5feea05e80bb9a1bb857a2163ee434fd053",
"sha256": "a4c9fd821059054c7e7681d61f49ce6f42ed2fe407a7ec1ba0dfdc9722582ce0",
"size": 524288,
"repo_path": "bios/Roland/sounddata/Nuked-SC55-Resources/ROMs/SC-55mk2-v1.01/rom2.bin",
"cores": [
"dosbox_pure"
]
},
{
"dest": "SC-55/ROM_SM.BIN",
"sha1": "4d48578d811a762a8e7bfaf18989bcac70ae1ba4",
"sha256": "b0b5f865a403f7308b4be8d0ed3ba2ed1c22db881b8a8326769dea222f6431d8",
"size": 4096,
"repo_path": "bios/Roland/sounddata/Nuked-SC55-Resources/ROMs/SC-55mk2-v1.01/rom_sm.bin",
"cores": [
"dosbox_pure"
]
},
{
"dest": "SC-55/WAVEROM1.BIN",
"sha1": "96708cb21381c2fd03de4babbf7aea301c7594a6",
"sha256": "c6429e21b9b3a02fbd68ef0b2053668433bee0bccd537a71841bc70b8874243b",
"size": 2097152,
"repo_path": "bios/Roland/sounddata/Nuked-SC55-Resources/ROMs/SC-55mk2-v1.01/waverom1.bin",
"cores": [
"dosbox_pure"
]
},
{
"dest": "SC-55/WAVEROM2.BIN",
"sha1": "4d91cdeaed048d653dbf846a221003c3a3f08279",
"sha256": "5b753f6cef4cfc7fcafe1430fecbb94a739b874e55356246a46abe24097ee491",
"size": 1048576,
"repo_path": "bios/Roland/sounddata/Nuked-SC55-Resources/ROMs/SC-55mk2-v1.01/waverom2.bin",
"cores": [
"dosbox_pure"
]
},
{
"dest": "descent.hog",
"sha1": "6d45c6c49e085158af990dcb2985ebe079122f0c",
+51 -1
View File
@@ -19,7 +19,7 @@
"total_size": 1586335782,
"pack_files": 1090,
"pack_size": 1586335782,
"total_omitted": 53,
"total_omitted": 58,
"omitted_files": [
{
"dest": "CM32LN_CONTROL.ROM",
@@ -141,6 +141,56 @@
"DOSBox Pure"
]
},
{
"dest": "SC-55/ROM1.BIN",
"name": "ROM1.BIN",
"system": "",
"required": false,
"reason": "no_platform_slug",
"cores": [
"DOSBox Pure"
]
},
{
"dest": "SC-55/ROM2.BIN",
"name": "ROM2.BIN",
"system": "",
"required": false,
"reason": "no_platform_slug",
"cores": [
"DOSBox Pure"
]
},
{
"dest": "SC-55/ROM_SM.BIN",
"name": "ROM_SM.BIN",
"system": "",
"required": false,
"reason": "no_platform_slug",
"cores": [
"DOSBox Pure"
]
},
{
"dest": "SC-55/WAVEROM1.BIN",
"name": "WAVEROM1.BIN",
"system": "",
"required": false,
"reason": "no_platform_slug",
"cores": [
"DOSBox Pure"
]
},
{
"dest": "SC-55/WAVEROM2.BIN",
"name": "WAVEROM2.BIN",
"system": "",
"required": false,
"reason": "no_platform_slug",
"cores": [
"DOSBox Pure"
]
},
{
"dest": "[BIOS] Atari Jaguar CD (World).j64",
"name": "[BIOS] Atari Jaguar CD (World).j64",