mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-20 10:23:16 -05:00
100 emulator names the two platforms run had no profile, so their packs carried nothing for them. Each was read from the platform's own launcher or scriptmodule: the same program as an existing profile takes the name in cores:, a different build gets its own profile read from that version, a launcher or self-contained game goes to remove_cores, and the rest are new profiles written from their source or shipped binary. The files they need that the collection lacked are collected from the upstream distributions. Bungie and splitwolf trees are read by path and stay out of dedup.
250 lines
9.4 KiB
YAML
250 lines
9.4 KiB
YAML
emulator: DOSBox Pure Unleashed
|
|
type: standalone
|
|
core_classification: official_port
|
|
source: "https://codeberg.org/schelling/dosbox-pure-unleashed"
|
|
upstream: "https://codeberg.org/schelling/dosbox-pure"
|
|
source_commit: "4a11412248ca4c862751a7d9e6818023795031e9"
|
|
upstream_commit: "7f6e8fb7385fa446d1444d671063268520bf9b54"
|
|
logo: "https://raw.githubusercontent.com/schellingb/dosbox-pure-unleashed/main/images/logo.png"
|
|
profiled_date: "2026-08-08"
|
|
core_version: "1.0-preview6"
|
|
display_name: "DOS (DOSBox Pure Unleashed)"
|
|
cores:
|
|
- dosbox-pure-unleashed
|
|
- dosboxpure
|
|
- dosbox-pure
|
|
systems:
|
|
- dos
|
|
mode: standalone
|
|
verification: sha1
|
|
|
|
notes: |
|
|
Desktop build of DOSBox Pure by the same author. The repository holds only
|
|
the platform layer (main.cpp, vfs_implementation.cpp) and compiles the
|
|
emulation core from a sibling checkout of schellingb/dosbox-pure with
|
|
-D__LIBRETRO__ -DDBP_STANDALONE, using ZillaLib for video, input and audio.
|
|
ref: Makefile:7,9-14,34
|
|
|
|
No BIOS. Windows 3.x and 9x run as guest operating systems installed into
|
|
the emulated DOS machine, not as separate emulated hardware.
|
|
|
|
System directory: the program keeps DOSBoxPure.cfg in a base directory and
|
|
creates saves and system folders next to it. Base directory is
|
|
%APPDATA%\DOSBoxPure on Windows when the user creates that folder, else the
|
|
directory of the executable; $HOME/.config/DOSBoxPure on Linux and
|
|
$HOME/Library/Application Support/DOSBoxPure on macOS, else the working
|
|
directory. The system folder can be redirected with the path_system key in
|
|
DOSBoxPure.cfg. It is returned to the core as RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY.
|
|
ref: main.cpp:1985-2045,973-974
|
|
|
|
System directory scan (recursive, DBP_ScanSystem):
|
|
*.SF2 and *.SF3 listed as General MIDI SoundFonts, any file whose last
|
|
four characters are ".SF" plus one.
|
|
*_CONTROL.ROM listed as Roland MT-32/CM-32L control ROMs.
|
|
ref: dosbox_pure_libretro.cpp:1380-1412
|
|
Both feed the Audio > MIDI SoundFont option, prefixed with the system
|
|
directory path at apply time.
|
|
ref: dosbox_pure_libretro.cpp:2495
|
|
With no MIDI file selected, mpu401 is set to none and games fall back to
|
|
their OPL or Sound Blaster music driver. A General MIDI over OPL
|
|
synthesizer is built in and opens on midiconfig=adlib.
|
|
ref: dosbox_pure_libretro.cpp:2497, midi_opl.h:46-49
|
|
|
|
MT-32 pairing: the PCM ROM is not scanned. Its name is derived from the
|
|
control ROM path by replacing CONTROL with PCM, preserving the case of both
|
|
letters, so MT32_CONTROL.ROM resolves MT32_PCM.ROM. Open fails unless both
|
|
are found.
|
|
ref: midi_mt32.h:182-201,194-195
|
|
ZIP archives are accepted and picked by size instead of name: 65536 or
|
|
131072 for control, 524288 or 1048576 for PCM.
|
|
ref: midi_mt32.h:163
|
|
Bundled MUNT (header-only mt32emu.h) validates size and SHA1 against a
|
|
14 entry table and rejects anything else, failing Synth::open.
|
|
ref: mt32emu.h:5185,2979-2989,3013-3020
|
|
Each control ROM fixes the PCM size it accepts through its pcmCount: 128
|
|
requires the 524288 byte MT-32 PCM ROM, 256 requires the 1048576 byte
|
|
CM-32L PCM ROM. The MT-32 v2.x control ROMs carry pcmCount 128 and so pair
|
|
with the MT-32 PCM ROM.
|
|
ref: mt32emu.h:2586-2598,3167,3024-3029
|
|
|
|
SoundFonts are parsed by TinySoundFont with no size or hash check. SF3 ogg
|
|
compressed samples decode through the bundled stb_vorbis.
|
|
ref: midi_tsf.h:22,65,96-105
|
|
|
|
Per game override: a DOSBOX.SF2, or an MT32_PCM.ROM together with an
|
|
MT32_CONTROL.ROM, found on the mounted C: drive replaces the option value
|
|
and is marked fixed. The control ROM is matched through its 8.3 forms
|
|
MT32TROL.ROM inside ZIPs and MT32_C~1.ROM on local file systems.
|
|
ref: dosbox_pure_libretro.cpp:2803-2813
|
|
MIDI ZIPs are looked up in the content directory before the system directory.
|
|
ref: dosbox_pure_libretro.cpp:906-914
|
|
|
|
Keyboard layouts and codepages are compiled in, external keyboard.sys,
|
|
keybrd2.sys, keybrd3.sys and EGA*.CPI loading is disabled.
|
|
ref: include/config.h:58, dos_keyboard_layout.cpp:729-819
|
|
|
|
Other system directory entries carry no fixed identity and are not listed
|
|
as files. Hard disk images (*.IMG, *.IMA, *.VHD of at least 7 MB and a
|
|
multiple of 512 bytes) are created by the Install New Operating System
|
|
feature and booted as C:. *.DOSZ archives are shells the user assembles,
|
|
underlaid below C: and started through WINDOWS.BAT, AUTOEXEC.BAT or
|
|
WINDOWS\WIN.COM. DOSBoxPureMidiCache.txt is written by the emulator when a
|
|
scan exceeds two seconds and read back to skip later scans.
|
|
ref: dosbox_pure_libretro.cpp:1413-1424,1425-1446,1452-1466,
|
|
dosbox_pure_run.h:187-210,289-297
|
|
|
|
files:
|
|
# -- MT-32 control ROMs (64 KB, pair with MT32_PCM.ROM) --
|
|
|
|
- name: "MT32_CONTROL.ROM"
|
|
description: "MT-32 Control v1.04"
|
|
required: false
|
|
hle_fallback: true
|
|
size: 65536
|
|
sha1: "5a5cb5a77d7d55ee69657c2f870416daed52dea7"
|
|
validation: [sha1, size]
|
|
source_ref: "src/gui/mt32emu.h:5112, src/gui/mt32emu.h:5129"
|
|
|
|
- name: "MT32_CONTROL.ROM"
|
|
description: "MT-32 Control v1.05"
|
|
required: false
|
|
hle_fallback: true
|
|
size: 65536
|
|
sha1: "e17a3a6d265bf1fa150312061134293d2b58288c"
|
|
validation: [sha1, size]
|
|
source_ref: "src/gui/mt32emu.h:5113, src/gui/mt32emu.h:5130"
|
|
|
|
- name: "MT32_CONTROL.ROM"
|
|
description: "MT-32 Control v1.06"
|
|
required: false
|
|
hle_fallback: true
|
|
size: 65536
|
|
sha1: "a553481f4e2794c10cfe597fef154eef0d8257de"
|
|
validation: [sha1, size]
|
|
source_ref: "src/gui/mt32emu.h:5114, src/gui/mt32emu.h:5131"
|
|
|
|
- name: "MT32_CONTROL.ROM"
|
|
description: "MT-32 Control v1.07"
|
|
required: false
|
|
hle_fallback: true
|
|
size: 65536
|
|
sha1: "b083518fffb7f66b03c23b7eb4f868e62dc5a987"
|
|
validation: [sha1, size]
|
|
source_ref: "src/gui/mt32emu.h:5115, src/gui/mt32emu.h:5132"
|
|
|
|
- name: "MT32_CONTROL.ROM"
|
|
description: "MT-32 Control BlueRidge"
|
|
required: false
|
|
hle_fallback: true
|
|
size: 65536
|
|
sha1: "7b8c2a5ddb42fd0732e2f22b3340dcf5360edf92"
|
|
validation: [sha1, size]
|
|
source_ref: "src/gui/mt32emu.h:5116, src/gui/mt32emu.h:5133"
|
|
|
|
# -- MT-32 v2.x control ROMs (128 KB, pair with MT32_PCM.ROM) --
|
|
|
|
- name: "MT32_CONTROL.ROM"
|
|
description: "MT-32 Control v2.03"
|
|
required: false
|
|
hle_fallback: true
|
|
size: 131072
|
|
sha1: "5837064c9df4741a55f7c4d8787ac158dff2d3ce"
|
|
validation: [sha1, size]
|
|
source_ref: "src/gui/mt32emu.h:5118, src/gui/mt32emu.h:5135"
|
|
|
|
- name: "MT32_CONTROL.ROM"
|
|
description: "MT-32 Control v2.04"
|
|
required: false
|
|
hle_fallback: true
|
|
size: 131072
|
|
sha1: "2c16432b6c73dd2a3947cba950a0f4c19d6180eb"
|
|
validation: [sha1, size]
|
|
source_ref: "src/gui/mt32emu.h:5119, src/gui/mt32emu.h:5136"
|
|
|
|
- name: "MT32_CONTROL.ROM"
|
|
description: "MT-32 Control v2.06"
|
|
required: false
|
|
hle_fallback: true
|
|
size: 131072
|
|
sha1: "2869cf4c235d671668cfcb62415e2ce8323ad4ed"
|
|
validation: [sha1, size]
|
|
source_ref: "src/gui/mt32emu.h:5120, src/gui/mt32emu.h:5137"
|
|
|
|
- name: "MT32_CONTROL.ROM"
|
|
description: "MT-32 Control v2.07"
|
|
required: false
|
|
hle_fallback: true
|
|
size: 131072
|
|
sha1: "47b52adefedaec475c925e54340e37673c11707c"
|
|
validation: [sha1, size]
|
|
source_ref: "src/gui/mt32emu.h:5121, src/gui/mt32emu.h:5138"
|
|
|
|
# -- CM-32L / LAPC-I control ROMs (64 KB, pair with CM32L_PCM.ROM) --
|
|
|
|
- name: "CM32L_CONTROL.ROM"
|
|
description: "CM-32L/LAPC-I Control v1.00"
|
|
required: false
|
|
hle_fallback: true
|
|
size: 65536
|
|
sha1: "73683d585cd6948cc19547942ca0e14a0319456d"
|
|
validation: [sha1, size]
|
|
source_ref: "src/gui/mt32emu.h:5122, src/gui/mt32emu.h:5139"
|
|
|
|
- name: "CM32L_CONTROL.ROM"
|
|
description: "CM-32L/LAPC-I Control v1.02"
|
|
required: false
|
|
hle_fallback: true
|
|
size: 65536
|
|
sha1: "a439fbb390da38cada95a7cbb1d6ca199cd66ef8"
|
|
validation: [sha1, size]
|
|
source_ref: "src/gui/mt32emu.h:5123, src/gui/mt32emu.h:5140"
|
|
|
|
# -- CM-32LN / CM-500 / LAPC-N control ROM (64 KB, pairs with CM32L_PCM.ROM) --
|
|
|
|
- name: "CM32LN_CONTROL.ROM"
|
|
description: "CM-32LN/CM-500/LAPC-N Control v1.00"
|
|
required: false
|
|
hle_fallback: true
|
|
size: 65536
|
|
sha1: "dc1c5b1b90a4646d00f7daf3679733c7badc7077"
|
|
validation: [sha1, size]
|
|
source_ref: "src/gui/mt32emu.h:5124, src/gui/mt32emu.h:5141"
|
|
|
|
# -- PCM ROMs --
|
|
|
|
- name: "MT32_PCM.ROM"
|
|
description: "MT-32 PCM ROM"
|
|
required: false
|
|
hle_fallback: true
|
|
size: 524288
|
|
sha1: "f6b1eebc4b2d200ec6d3d21d51325d5b48c60252"
|
|
validation: [sha1, size]
|
|
source_ref: "src/gui/mt32emu.h:5126, src/gui/mt32emu.h:5143"
|
|
note: "accepted by every MT-32 control ROM, v1.x and v2.x (pcmCount 128)"
|
|
|
|
- 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]
|
|
aliases: ["CM32LN_PCM.ROM"]
|
|
source_ref: "src/gui/mt32emu.h:5127, src/gui/mt32emu.h:5144"
|
|
note: >
|
|
accepted by the CM-32L and CM-32LN control ROMs (pcmCount 256). The
|
|
alias covers the name derived from CM32LN_CONTROL.ROM.
|
|
|
|
# -- General MIDI SoundFont --
|
|
|
|
- name: "DOSBOX.SF2"
|
|
description: "General MIDI SoundFont (any .sf2/.sf3 accepted)"
|
|
aliases: ["GeneralUser-GS.sf2"]
|
|
required: false
|
|
hle_fallback: true
|
|
source_ref: "dosbox_pure_libretro.cpp:1407,2805"
|
|
note: >
|
|
Any .SF2 or .SF3 in the system directory is listed in the MIDI option.
|
|
DOSBOX.SF2 is the fixed name looked up on the mounted C: drive as a per
|
|
game override.
|