feat: reprofile dosbox, realign four profiles

This commit is contained in:
Abdessamad Derraz committed 2026-10-04 17:03:21 +02:00
1 parent b5127cd1ac
commit 8663277871
5 files changed
+333 -163

No files matched your search

+36 -35
View File
@@ -4,7 +4,7 @@ core_classification: official_port
source: "https://github.com/BlitterStudio/amiberry" source: "https://github.com/BlitterStudio/amiberry"
upstream: "https://github.com/tonioni/WinUAE" upstream: "https://github.com/tonioni/WinUAE"
profiled_date: "2026-03-26" profiled_date: "2026-03-26"
source_commit: "cf3654469f360d95da84cfbb7d6f92eb5ced9f40" source_commit: "648aeeab6ee1148b6d0176b8f49f6f6e12150cbe"
core_version: "v8.1.2" core_version: "v8.1.2"
display_name: "Commodore - Amiga (Amiberry)" display_name: "Commodore - Amiga (Amiberry)"
cores: [amiberry] cores: [amiberry]
@@ -15,13 +15,13 @@ systems:
notes: | notes: |
Amiberry is an Amiga emulator based on WinUAE, available as both standalone Amiberry is an Amiga emulator based on WinUAE, available as both standalone
and libretro core. No built-in kickstart — requires a real Kickstart ROM or and libretro core. No built-in kickstart: requires a real Kickstart ROM or
external AROS replacement files (aros-ext.bin + aros-rom.bin). external AROS replacement files (aros-ext.bin + aros-rom.bin).
Libretro core option "amiberry_kickstart" overrides ROM selection: auto, Libretro core option "amiberry_kickstart" overrides ROM selection: auto,
kick.rom, kick13.rom, kick20.rom, kick31.rom, kick205.rom, kick40068.A1200, kick.rom, kick13.rom, kick20.rom, kick31.rom, kick205.rom, kick40068.A1200,
kick40068.A4000, cd32.rom, cdtv.rom. "auto" selects per model. kick40068.A4000, cd32.rom, cdtv.rom. "auto" selects per model.
ref: libretro/libretro.cpp:679,745-764 ref: libretro/libretro.cpp:687,754-773
Libretro Kickstart directory detection (in order): save_dir/Kickstarts, Libretro Kickstart directory detection (in order): save_dir/Kickstarts,
save_dir/whdboot/save-data/Kickstarts, system_dir/Kickstarts, save_dir/whdboot/save-data/Kickstarts, system_dir/Kickstarts,
@@ -29,17 +29,17 @@ notes: |
system_dir/amiberry/whdboot/save-data/Kickstarts, system_dir/amiberry/whdboot/save-data/Kickstarts,
system_dir/save-data/Kickstarts, else system_dir. system_dir stays first system_dir/save-data/Kickstarts, else system_dir. system_dir stays first
in the ROM multipath, the detected directory follows it. in the ROM multipath, the detected directory follows it.
ref: libretro/libretro.cpp:4088-4126 ref: libretro/libretro.cpp:4390-4428
Standalone ROM path: configurable via amiberry.conf "rom_path" setting. Standalone ROM path: configurable via amiberry.conf "rom_path" setting.
Batocera sets this to /userdata/bios/amiga/. Fallback search order: Batocera sets this to /userdata/bios/amiga/. Fallback search order:
{home_dir}/roms/kick.rom, {home_dir}/kick.rom, ../shared/rom/kick.rom, {home_dir}/roms/kick.rom, {home_dir}/kick.rom, ../shared/rom/kick.rom,
../System/rom/kick.rom, then ROM database guess. ../System/rom/kick.rom, then ROM database guess.
ref: src/memory.cpp:2104-2146 ref: src/memory.cpp:2106-2148
ROM identification uses SHA1 against the WinUAE ROM database but does ROM identification uses SHA1 against the WinUAE ROM database but does
not reject unknown ROMs. Cloanto encrypted ROMs supported with rom.key. not reject unknown ROMs. Cloanto encrypted ROMs supported with rom.key.
ref: src/rommgr.cpp:121-1109,1745-1801 ref: src/rommgr.cpp:121-1109,1742-1815
Munt MT-32/CM-32L emulation compiled in (WITH_MIDIEMU). ROMs loaded from Munt MT-32/CM-32L emulation compiled in (WITH_MIDIEMU). ROMs loaded from
mt32-roms/ subdirectory of the ROM path. Split ROM pairs supported mt32-roms/ subdirectory of the ROM path. Split ROM pairs supported
@@ -49,33 +49,34 @@ notes: |
Keyboard MCU emulation (keyboard_mode setting) loads MCU ROMs via ROM Keyboard MCU emulation (keyboard_mode setting) loads MCU ROMs via ROM
database scanning. Three MCU types supported: 6570-036 (A500/A600/A1000), database scanning. Three MCU types supported: 6570-036 (A500/A600/A1000),
68HC05 (A1200), D8039HLC (A2000). 68HC05 (A1200), D8039HLC (A2000).
ref: src/kbmcu/keyboard_mcu_6500_1.cpp:385, keyboard_mcu_6805.cpp:544, ref: src/kbmcu/keyboard_mcu_6500_1.cpp:385, src/kbmcu/keyboard_mcu_6805.cpp:544,
keyboard_mcu_d8039hlc.cpp:235 src/kbmcu/keyboard_mcu_d8039hlc.cpp:235
WHDLoad autoboot requires whdboot/ directory with boot-data.zip, WHDLoad, WHDLoad autoboot reads the whdboot/ directory: boot-data.zip (or a
AmiQuit, JST, whdload_db.xml. These ship with the standalone build but must boot-data directory), WHDLoad or JST, AmiQuit, and game-data/whdload_db.json
be obtained separately for the libretro core. with game-data/whdload_db.xml as fallback. These ship with the standalone
ref: src/osdep/amiberry_whdbooter.cpp:1601-1873 build but must be obtained separately for the libretro core.
ref: src/osdep/amiberry_whdbooter.cpp:1563-1565,1714-1733,1776-1785
files: files:
# --- Kickstart ROMs --- # --- Kickstart ROMs ---
# Libretro: find_kickstart_in_system_dir() with per-model candidate lists # Libretro: find_kickstart_in_system_dir() with per-model candidate lists
# Standalone: get_kickstart_filehandle() with ROM database + config # Standalone: get_kickstart_filehandle() with ROM database + config
# ref: libretro/libretro.cpp:1762-1830, src/memory.cpp:2030-2072 # ref: libretro/libretro.cpp:1785-1848, src/memory.cpp:2106-2148
- name: kick13.rom - name: kick13.rom
system: commodore-amiga system: commodore-amiga
required: true required: true
size: 262144 size: 262144
note: "A500 Kickstart v1.3 rev 34.005, default for A500 model" note: "A500 Kickstart v1.3 rev 34.005, default for A500 model"
source_ref: "libretro/libretro.cpp:1776 (candidates_a500)" source_ref: "libretro/libretro.cpp:1799 (candidates_a500)"
- name: kick12.rom - name: kick12.rom
system: commodore-amiga system: commodore-amiga
required: false required: false
size: 262144 size: 262144
note: "A500 Kickstart v1.2 rev 33.180, for A500OG model" note: "A500 Kickstart v1.2 rev 33.180, for A500OG model"
source_ref: "libretro/libretro.cpp:1775 (candidates_a500og)" source_ref: "libretro/libretro.cpp:1798 (candidates_a500og)"
- name: kick20.rom - name: kick20.rom
system: commodore-amiga system: commodore-amiga
@@ -83,41 +84,41 @@ files:
size: 524288 size: 524288
aliases: [kick204.rom] aliases: [kick204.rom]
note: "A500+ Kickstart v2.04 rev 37.175" note: "A500+ Kickstart v2.04 rev 37.175"
source_ref: "libretro/libretro.cpp:1777 (candidates_a500p)" source_ref: "libretro/libretro.cpp:1800 (candidates_a500p)"
- name: kick205.rom - name: kick205.rom
system: commodore-amiga system: commodore-amiga
required: false required: false
size: 524288 size: 524288
note: "A600 Kickstart v2.05 rev 37.350, also used for WHDLoad" note: "A600 Kickstart v2.05 rev 37.350, also used for WHDLoad"
source_ref: "libretro/libretro.cpp:1778 (candidates_a600)" source_ref: "libretro/libretro.cpp:1801 (candidates_a600)"
- name: kick31.rom - name: kick31.rom
system: commodore-amiga system: commodore-amiga
required: false required: false
size: 524288 size: 524288
note: "Kickstart v3.1 (generic), first candidate for A1200 and A4000" note: "Kickstart v3.1 (generic), first candidate for A1200 and A4000"
source_ref: "libretro/libretro.cpp:1779-1780 (candidate arrays)" source_ref: "libretro/libretro.cpp:1802-1803 (candidate arrays)"
- name: kick40068.A1200 - name: kick40068.A1200
system: commodore-amiga system: commodore-amiga
required: false required: false
size: 524288 size: 524288
note: "A1200 Kickstart v3.1 rev 40.68, fallback after kick31.rom" note: "A1200 Kickstart v3.1 rev 40.68, fallback after kick31.rom"
source_ref: "libretro/libretro.cpp:758 (option label), libretro/libretro.cpp:1779 (candidates_a1200)" source_ref: "libretro/libretro.cpp:767 (option label), libretro/libretro.cpp:1802 (candidates_a1200)"
- name: kick40068.A4000 - name: kick40068.A4000
system: commodore-amiga system: commodore-amiga
required: false required: false
size: 524288 size: 524288
note: "A4000 Kickstart v3.1 rev 40.68, fallback after kick31.rom" note: "A4000 Kickstart v3.1 rev 40.68, fallback after kick31.rom"
source_ref: "libretro/libretro.cpp:759 (option label), libretro/libretro.cpp:1780 (candidates_a4000)" source_ref: "libretro/libretro.cpp:768 (option label), libretro/libretro.cpp:1803 (candidates_a4000)"
- name: kick.rom - name: kick.rom
system: commodore-amiga system: commodore-amiga
required: false required: false
note: "Generic name, any Kickstart ROM. Last resort fallback for all models." note: "Generic name, any Kickstart ROM. Last resort fallback for all models."
source_ref: "libretro/libretro.cpp:1769-1774 (candidates_generic)" source_ref: "libretro/libretro.cpp:1792-1797 (candidates_generic)"
# --- CD32 ROMs --- # --- CD32 ROMs ---
@@ -127,7 +128,7 @@ files:
size: 524288 size: 524288
aliases: [amiga-os-310-cd32.rom, kick40060.CD32] aliases: [amiga-os-310-cd32.rom, kick40060.CD32]
note: "CD32 Kickstart v3.1 rev 40.60" note: "CD32 Kickstart v3.1 rev 40.60"
source_ref: "libretro/libretro.cpp:1781 (candidates_cd32)" source_ref: "libretro/libretro.cpp:1804 (candidates_cd32)"
- name: cd32ext.rom - name: cd32ext.rom
system: commodore-cd32 system: commodore-cd32
@@ -135,7 +136,7 @@ files:
size: 524288 size: 524288
aliases: [amiga-ext-310-cd32.rom, "CD32 Extended.ROM"] aliases: [amiga-ext-310-cd32.rom, "CD32 Extended.ROM"]
note: "CD32 extended ROM rev 40.60. Not needed if using a combined 1MB ROM." note: "CD32 extended ROM rev 40.60. Not needed if using a combined 1MB ROM."
source_ref: "libretro/libretro.cpp:1839 (candidates_cd32 in find_ext_rom_in_system_dir)" source_ref: "libretro/libretro.cpp:1862 (candidates_cd32 in find_ext_rom_in_system_dir)"
# --- CDTV ROMs --- # --- CDTV ROMs ---
@@ -144,18 +145,18 @@ files:
required: false required: false
aliases: [kick34005.CDTV] aliases: [kick34005.CDTV]
note: "CDTV extended ROM v1.00, used as kickstart candidate" note: "CDTV extended ROM v1.00, used as kickstart candidate"
source_ref: "libretro/libretro.cpp:1782 (candidates_cdtv)" source_ref: "libretro/libretro.cpp:1805 (candidates_cdtv)"
- name: cdtvext.rom - name: cdtvext.rom
system: commodore-cdtv system: commodore-cdtv
required: false required: false
aliases: ["CDTV Extended.ROM"] aliases: ["CDTV Extended.ROM"]
note: "CDTV extended ROM file" note: "CDTV extended ROM file"
source_ref: "libretro/libretro.cpp:1841 (candidates_cdtv in find_ext_rom_in_system_dir)" source_ref: "libretro/libretro.cpp:1864 (candidates_cdtv in find_ext_rom_in_system_dir)"
# --- AROS replacement ROMs --- # --- AROS replacement ROMs ---
# ref: src/memory.cpp:1925-1943 find_kickstart_replacement_directory, # ref: src/memory.cpp:1925-1946 find_kickstart_replacement_directory,
# src/memory.cpp:1948-2005 load_kickstart_replacement # src/memory.cpp:1949-2030 load_kickstart_replacement
# Both files must sit together in one of the configured ROM directories: # Both files must sit together in one of the configured ROM directories:
# the search accepts a directory only when it holds both of them. # the search accepts a directory only when it holds both of them.
@@ -197,27 +198,27 @@ files:
required: false required: false
size: 2048 size: 2048
note: "6500-1/6570-036 keyboard MCU ROM for A500/A600/A1000 models" note: "6500-1/6570-036 keyboard MCU ROM for A500/A600/A1000 models"
source_ref: "src/kbmcu/keyboard_mcu_6500_1.cpp:385-408, src/rommgr.cpp:126" source_ref: "src/kbmcu/keyboard_mcu_6500_1.cpp:385-408, src/rommgr.cpp:136-137"
- name: "68HC05.rom" - name: "68HC05.rom"
system: commodore-amiga system: commodore-amiga
required: false required: false
size: 8192 size: 8192
note: "68HC05 keyboard MCU ROM for A1200" note: "68HC05 keyboard MCU ROM for A1200"
source_ref: "src/kbmcu/keyboard_mcu_6805.cpp:544-567, src/rommgr.cpp:128" source_ref: "src/kbmcu/keyboard_mcu_6805.cpp:544-567, src/rommgr.cpp:138-139"
- name: "D8039HLC.rom" - name: "D8039HLC.rom"
system: commodore-amiga system: commodore-amiga
required: false required: false
size: 2048 size: 2048
note: "D8039HLC keyboard MCU ROM for A2000" note: "D8039HLC keyboard MCU ROM for A2000"
source_ref: "src/kbmcu/keyboard_mcu_d8039hlc.cpp:235-258, src/rommgr.cpp:130" source_ref: "src/kbmcu/keyboard_mcu_d8039hlc.cpp:235-258, src/rommgr.cpp:140-141"
# --- Munt MT-32/CM-32L MIDI ROMs --- # --- Munt MT-32/CM-32L MIDI ROMs ---
# Located in mt32-roms/ subdirectory of the ROM path. # Located in mt32-roms/ subdirectory of the ROM path.
# Code appends .rom extension and tries uppercase .ROM as fallback. # Code appends .rom extension and tries uppercase .ROM as fallback.
# Split ROM pairs (e.g. pcm_mt32_l.rom + pcm_mt32_h.rom) also supported. # Split ROM pairs (e.g. pcm_mt32_l.rom + pcm_mt32_h.rom) also supported.
# ref: src/midiemu.cpp:82-157 midi_emu_add_roms # ref: src/midiemu.cpp:82-117 load_rom, src/midiemu.cpp:127-165 midi_emu_add_roms
- name: mt32-roms/mt32_control.rom - name: mt32-roms/mt32_control.rom
system: commodore-amiga system: commodore-amiga
@@ -234,14 +235,14 @@ files:
- mt32-roms/ctrl_mt32_2_06.rom - mt32-roms/ctrl_mt32_2_06.rom
- mt32-roms/ctrl_mt32_2_03.rom - mt32-roms/ctrl_mt32_2_03.rom
note: "Roland MT-32 control ROM for Munt MIDI emulation" note: "Roland MT-32 control ROM for Munt MIDI emulation"
source_ref: "src/midiemu.cpp:38-62, src/midiemu.cpp:151-156" source_ref: "src/midiemu.cpp:38-62, src/midiemu.cpp:159-164"
- name: mt32-roms/pcm_mt32.rom - name: mt32-roms/pcm_mt32.rom
system: commodore-amiga system: commodore-amiga
required: false required: false
aliases: [mt32-roms/mt32_pcm.rom] aliases: [mt32-roms/mt32_pcm.rom]
note: "Roland MT-32 PCM ROM for Munt MIDI emulation" note: "Roland MT-32 PCM ROM for Munt MIDI emulation"
source_ref: "src/midiemu.cpp:133-140" source_ref: "src/midiemu.cpp:140-148"
- name: mt32-roms/cm32l_control.rom - name: mt32-roms/cm32l_control.rom
system: commodore-amiga system: commodore-amiga
@@ -252,11 +253,11 @@ files:
- mt32-roms/ctrl_cm32l_1_02.rom - mt32-roms/ctrl_cm32l_1_02.rom
- mt32-roms/ctrl_cm32l_1_00.rom - mt32-roms/ctrl_cm32l_1_00.rom
note: "Roland CM-32L control ROM for Munt MIDI emulation" note: "Roland CM-32L control ROM for Munt MIDI emulation"
source_ref: "src/midiemu.cpp:25-37, src/midiemu.cpp:151-156" source_ref: "src/midiemu.cpp:25-37, src/midiemu.cpp:159-164"
- name: mt32-roms/pcm_cm32l.rom - name: mt32-roms/pcm_cm32l.rom
system: commodore-amiga system: commodore-amiga
required: false required: false
aliases: [mt32-roms/cm32l_pcm.rom] aliases: [mt32-roms/cm32l_pcm.rom]
note: "Roland CM-32L PCM ROM for Munt MIDI emulation" note: "Roland CM-32L PCM ROM for Munt MIDI emulation"
source_ref: "src/midiemu.cpp:142-149" source_ref: "src/midiemu.cpp:149-158"
+200 -38
View File
@@ -3,34 +3,57 @@ type: libretro
core_classification: community_fork core_classification: community_fork
source: "https://github.com/libretro/dosbox-libretro" source: "https://github.com/libretro/dosbox-libretro"
upstream: "https://sourceforge.net/projects/dosbox/" upstream: "https://sourceforge.net/projects/dosbox/"
profiled_date: "2026-03-23" profiled_date: "2026-10-04"
source_commit: "4024bf0048c261db58ef98cb5e16de291c429f4e" source_commit: "a563bb5e9753f207d74e9d8c417d793b784fa4be"
core_version: "0.74" core_version: "SVN"
display_name: "DOS (DOSBox)" display_name: "DOS (DOSBox)"
cores: [dosbox] cores: [dosbox]
systems: [dos] systems: [dos]
notes: | notes: |
Based on DOSBox 0.74 snapshot. MUNT MT-32 emulation added by libretro port. Rebuilt on the dosbox-core tree (DOSBox SVN r4494) with ZIP content and the
Upstream DOSBox 0.74 has no MUNT — only OS-level MIDI (ALSA, CoreMIDI, Win32). Nuked-SC55 driver. No BIOS. Every file below belongs to a MIDI driver picked
Hardware MIDI drivers removed, replaced with retro_midi_interface passthrough. by the core option; the default driver is "none".
MT-32 activated via mididevice=mt32 in dosbox config section [midi]. ref: libretro/src/libretro_core_options.cpp:1684-1702
Older MUNT version: no MT-32 v2.x ROMs, no CM-32LN support. A driver that fails to open is replaced by the first handler that opens.
Both ROMs loaded by fixed filename from system directory root. ref: src/gui/midi.cpp:241-243
ref: midi_mt32.h:82-106 mt32: mt32.romdir is the system directory. The type option (default cm32l)
Keyboard layouts and codepages embedded in binary. picks CM32L_CONTROL.ROM + CM32L_PCM.ROM or MT32_CONTROL.ROM + MT32_PCM.ROM.
ref: dos_keyboard_layout_data.h, dos_codepages.h ref: libretro/src/libretro.cpp:720, src/gui/midi_mt32.cpp:51-68
.info declares firmware_count=0 but code loads 2 files (MUNT ROMs). MUNT identifies each file by size and SHA1 against its full-ROM list, so
dosbox-libretro.conf optional config searched in system_directory/DOSbox/. any full control ROM is accepted under either control name and split
ref: libretro.cpp:751 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: files:
# -- MT-32 Control ROM -- # -- MT-32 control ROMs (mt32.type = mt32) --
# Loaded from system_directory/MT32_CONTROL.ROM.
# MUNT validates by SHA1+size against known ROM database.
# Unrecognized ROMs rejected: ROMInfo::getROMInfo returns NULL,
# loadControlROM/loadPCMROM abort, Synth::open fails.
# ref: munt/ROMInfo.cpp:175, munt/Synth.cpp:556-562,590-594
# CM-32L control ROMs also accepted under this filename.
- name: "MT32_CONTROL.ROM" - name: "MT32_CONTROL.ROM"
description: "MT-32 Control v1.04" description: "MT-32 Control v1.04"
@@ -40,7 +63,7 @@ files:
sha1: "5a5cb5a77d7d55ee69657c2f870416daed52dea7" sha1: "5a5cb5a77d7d55ee69657c2f870416daed52dea7"
validation: [sha1, size] validation: [sha1, size]
mode: libretro mode: libretro
source_ref: "src/midi/midi_mt32.h:92, src/midi/munt/ROMInfo.cpp:30" source_ref: "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:58"
- name: "MT32_CONTROL.ROM" - name: "MT32_CONTROL.ROM"
description: "MT-32 Control v1.05" description: "MT-32 Control v1.05"
@@ -50,7 +73,7 @@ files:
sha1: "e17a3a6d265bf1fa150312061134293d2b58288c" sha1: "e17a3a6d265bf1fa150312061134293d2b58288c"
validation: [sha1, size] validation: [sha1, size]
mode: libretro mode: libretro
source_ref: "src/midi/midi_mt32.h:92, src/midi/munt/ROMInfo.cpp:31" source_ref: "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:61"
- name: "MT32_CONTROL.ROM" - name: "MT32_CONTROL.ROM"
description: "MT-32 Control v1.06" description: "MT-32 Control v1.06"
@@ -60,7 +83,7 @@ files:
sha1: "a553481f4e2794c10cfe597fef154eef0d8257de" sha1: "a553481f4e2794c10cfe597fef154eef0d8257de"
validation: [sha1, size] validation: [sha1, size]
mode: libretro mode: libretro
source_ref: "src/midi/midi_mt32.h:92, src/midi/munt/ROMInfo.cpp:32" source_ref: "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:64"
- name: "MT32_CONTROL.ROM" - name: "MT32_CONTROL.ROM"
description: "MT-32 Control v1.07" description: "MT-32 Control v1.07"
@@ -70,7 +93,7 @@ files:
sha1: "b083518fffb7f66b03c23b7eb4f868e62dc5a987" sha1: "b083518fffb7f66b03c23b7eb4f868e62dc5a987"
validation: [sha1, size] validation: [sha1, size]
mode: libretro mode: libretro
source_ref: "src/midi/midi_mt32.h:92, src/midi/munt/ROMInfo.cpp:33" source_ref: "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:67"
- name: "MT32_CONTROL.ROM" - name: "MT32_CONTROL.ROM"
description: "MT-32 Control BlueRidge" description: "MT-32 Control BlueRidge"
@@ -80,12 +103,41 @@ files:
sha1: "7b8c2a5ddb42fd0732e2f22b3340dcf5360edf92" sha1: "7b8c2a5ddb42fd0732e2f22b3340dcf5360edf92"
validation: [sha1, size] validation: [sha1, size]
mode: libretro mode: libretro
source_ref: "src/midi/midi_mt32.h:92, src/midi/munt/ROMInfo.cpp:34" source_ref: "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:70"
# -- CM-32L / LAPC-I Control ROMs --
# Same fixed filename MT32_CONTROL.ROM — no CM32L_CONTROL.ROM in this core.
- name: "MT32_CONTROL.ROM" - 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" description: "CM-32L/LAPC-I Control v1.00"
required: false required: false
hle_fallback: true hle_fallback: true
@@ -93,9 +145,9 @@ files:
sha1: "73683d585cd6948cc19547942ca0e14a0319456d" sha1: "73683d585cd6948cc19547942ca0e14a0319456d"
validation: [sha1, size] validation: [sha1, size]
mode: libretro mode: libretro
source_ref: "src/midi/midi_mt32.h:92, src/midi/munt/ROMInfo.cpp:36" source_ref: "src/gui/midi_mt32.cpp:53, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:75"
- name: "MT32_CONTROL.ROM" - name: "CM32L_CONTROL.ROM"
description: "CM-32L/LAPC-I Control v1.02" description: "CM-32L/LAPC-I Control v1.02"
required: false required: false
hle_fallback: true hle_fallback: true
@@ -103,11 +155,19 @@ files:
sha1: "a439fbb390da38cada95a7cbb1d6ca199cd66ef8" sha1: "a439fbb390da38cada95a7cbb1d6ca199cd66ef8"
validation: [sha1, size] validation: [sha1, size]
mode: libretro mode: libretro
source_ref: "src/midi/midi_mt32.h:92, src/midi/munt/ROMInfo.cpp:37" 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 -- # -- PCM ROMs --
# Loaded from system_directory/MT32_PCM.ROM.
# CM-32L PCM ROM also accepted under this filename.
- name: "MT32_PCM.ROM" - name: "MT32_PCM.ROM"
description: "MT-32 PCM ROM" description: "MT-32 PCM ROM"
@@ -117,9 +177,9 @@ files:
sha1: "f6b1eebc4b2d200ec6d3d21d51325d5b48c60252" sha1: "f6b1eebc4b2d200ec6d3d21d51325d5b48c60252"
validation: [sha1, size] validation: [sha1, size]
mode: libretro mode: libretro
source_ref: "src/midi/midi_mt32.h:99, src/midi/munt/ROMInfo.cpp:39" source_ref: "src/gui/midi_mt32.cpp:66, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:81"
- name: "MT32_PCM.ROM" - name: "CM32L_PCM.ROM"
description: "CM-32L/CM-64/LAPC-I PCM ROM" description: "CM-32L/CM-64/LAPC-I PCM ROM"
required: false required: false
hle_fallback: true hle_fallback: true
@@ -127,4 +187,106 @@ files:
sha1: "289cc298ad532b702461bfc738009d9ebe8025ea" sha1: "289cc298ad532b702461bfc738009d9ebe8025ea"
validation: [sha1, size] validation: [sha1, size]
mode: libretro mode: libretro
source_ref: "src/midi/midi_mt32.h:99, src/midi/munt/ROMInfo.cpp:40" 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_options: [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_options: [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_options: [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"]
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:160"
# -- 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"
+26 -26
View File
@@ -216,7 +216,7 @@ notes: |
MACHINE_IMPERFECT_GRAPHICS. Software list "supracan". MACHINE_IMPERFECT_GRAPHICS. Software list "supracan".
Driver in umc/supracan.cpp, in mess.flt. Driver in umc/supracan.cpp, in mess.flt.
TI-99/4A family: 6 machines in ti99_4x.cpp — ti99_4 parent (TI-99/4 TI-99/4A family: 6 machines in ti99_4x.cpp: ti99_4 parent (TI-99/4
1979), ti99_4e clone (Europe 50Hz), ti99_4a parent (TI-99/4A 1981), 1979), ti99_4e clone (Europe 50Hz), ti99_4a parent (TI-99/4A 1981),
ti99_4ae clone (Europe), ti99_4qi clone (QI version 1983), ti99_4ev ti99_4ae clone (Europe), ti99_4qi clone (QI version 1983), ti99_4ev
clone (with EVPC 1994). Related separate drivers: ti99_4p (SGCPU, in clone (with EVPC 1994). Related separate drivers: ti99_4p (SGCPU, in
@@ -231,7 +231,7 @@ notes: |
SNUG BwG FDC, CorComp DCC/FDC, RS232/PIO, EVPC, Myarc HFDC, P-Code SNUG BwG FDC, CorComp DCC/FDC, RS232/PIO, EVPC, Myarc HFDC, P-Code
Card, Myarc DDCC-1, Myarc Memory Expansion, TIPI, WHT SCSI, GRAM Card, Myarc DDCC-1, Myarc Memory Expansion, TIPI, WHT SCSI, GRAM
Kracker (gromport), Arcturus (sidecar). No PEB devices loaded by Kracker (gromport), Arcturus (sidecar). No PEB devices loaded by
default — all require user configuration. Software list "ti99_cart". default: all require user configuration. Software list "ti99_cart".
MACHINE_SUPPORTS_SAVE on all machines. MACHINE_SUPPORTS_SAVE on all machines.
Drivers in ti/ti99_4x.cpp, in mess.flt. Drivers in ti/ti99_4x.cpp, in mess.flt.
@@ -247,7 +247,7 @@ files:
crc32: "2ff7ec96" crc32: "2ff7ec96"
sha1: "633365fd19a3d0f2ce56cb499b2577a5fb53e466" sha1: "633365fd19a3d0f2ce56cb499b2577a5fb53e466"
# XaviX TV games — e-kara family # XaviX TV games: e-kara family
- name: ekara.zip - name: ekara.zip
required: true required: true
category: bios_zip category: bios_zip
@@ -271,7 +271,7 @@ files:
- name: ekaraj.zip - name: ekaraj.zip
required: true required: true
category: bios_zip category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2880" source_ref: "src/mame/tvgames/xavix.cpp:2906"
contents: contents:
- name: ekarajapan.bin - name: ekarajapan.bin
size: 1048576 size: 1048576
@@ -311,7 +311,7 @@ files:
- name: ekaraphs.zip - name: ekaraphs.zip
required: true required: true
category: bios_zip category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2887" source_ref: "src/mame/tvgames/xavix.cpp:2913"
contents: contents:
- name: ekaraheadset.bin - name: ekaraheadset.bin
size: 2097152 size: 2097152
@@ -321,7 +321,7 @@ files:
- name: epitch.zip - name: epitch.zip
required: true required: true
category: bios_zip category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2890" source_ref: "src/mame/tvgames/xavix.cpp:2916"
contents: contents:
- name: ekarajapan.bin - name: ekarajapan.bin
size: 1048576 size: 1048576
@@ -338,7 +338,7 @@ files:
crc32: "ee71576e" crc32: "ee71576e"
sha1: "26f8c9edcbbed77e86a1cb5a0b91c92a16fef433" sha1: "26f8c9edcbbed77e86a1cb5a0b91c92a16fef433"
# XaviX TV games — DDR / Popira / misc # XaviX TV games: DDR / Popira / misc
- name: ddrfammt.zip - name: ddrfammt.zip
required: true required: true
category: bios_zip category: bios_zip
@@ -362,7 +362,7 @@ files:
- name: popirak.zip - name: popirak.zip
required: true required: true
category: bios_zip category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2901" source_ref: "src/mame/tvgames/xavix.cpp:2927"
contents: contents:
- name: kr_main.u2 - name: kr_main.u2
size: 1048576 size: 1048576
@@ -477,7 +477,7 @@ files:
size: 8192 size: 8192
crc32: "6eb53e79" crc32: "6eb53e79"
# Apple II family — machine ROM sets # Apple II family: machine ROM sets
- name: apple2.zip - name: apple2.zip
required: true required: true
category: bios_zip category: bios_zip
@@ -590,7 +590,7 @@ files:
size: 2048 size: 2048
crc32: "c506efb9" crc32: "c506efb9"
# Apple II — peripheral device ROM sets # Apple II: peripheral device ROM sets
- name: a2diskiing.zip - name: a2diskiing.zip
required: true required: true
category: bios_zip category: bios_zip
@@ -1074,7 +1074,7 @@ files:
size: 8192 size: 8192
crc32: "011e106a" crc32: "011e106a"
# EACA Colour Genie — parent machine ROM set # EACA Colour Genie: parent machine ROM set
- name: cgenie.zip - name: cgenie.zip
required: true required: true
category: bios_zip category: bios_zip
@@ -1106,7 +1106,7 @@ files:
size: 2048 size: 2048
crc32: "4fed774a" crc32: "4fed774a"
# EACA Colour Genie — clone: New Zealand # EACA Colour Genie: clone: New Zealand
- name: cgenienz.zip - name: cgenienz.zip
required: false required: false
category: bios_zip category: bios_zip
@@ -1126,7 +1126,7 @@ files:
size: 2048 size: 2048
crc32: "4fed774a" crc32: "4fed774a"
# EACA Colour Genie — expansion: FDC # EACA Colour Genie: expansion: FDC
- name: cgenie_fdc.zip - name: cgenie_fdc.zip
required: false required: false
category: bios_zip category: bios_zip
@@ -1151,7 +1151,7 @@ files:
size: 8192 size: 8192
crc32: "9dace9c1" crc32: "9dace9c1"
# Acorn Atom — parent machine ROM set # Acorn Atom: parent machine ROM set
- name: atom.zip - name: atom.zip
required: true required: true
category: bios_zip category: bios_zip
@@ -1167,7 +1167,7 @@ files:
size: 4096 size: 4096
crc32: "81d86af7" crc32: "81d86af7"
# Acorn Atom — clone: Atom with BBC Basic # Acorn Atom: clone: Atom with BBC Basic
- name: atombbc.zip - name: atombbc.zip
required: false required: false
category: bios_zip category: bios_zip
@@ -1183,7 +1183,7 @@ files:
size: 16384 size: 16384
crc32: "79434781" crc32: "79434781"
# Acorn Atom — clone: Busicomputers Prophet 2 # Acorn Atom: clone: Busicomputers Prophet 2
- name: prophet2.zip - name: prophet2.zip
required: false required: false
category: bios_zip category: bios_zip
@@ -1203,7 +1203,7 @@ files:
size: 4096 size: 4096
crc32: "ecd2d08b" crc32: "ecd2d08b"
# Acorn Atom — bus device: Disc Pack (default on pl6) # Acorn Atom: bus device: Disc Pack (default on pl6)
- name: atom_discpack.zip - name: atom_discpack.zip
required: false required: false
category: bios_zip category: bios_zip
@@ -1216,7 +1216,7 @@ files:
size: 4096 size: 4096
crc32: "c431a9b7" crc32: "c431a9b7"
# Acorn Atom — bus device: GDOS # Acorn Atom: bus device: GDOS
- name: atom_gdos.zip - name: atom_gdos.zip
required: false required: false
category: bios_zip category: bios_zip
@@ -1228,7 +1228,7 @@ files:
size: 4096 size: 4096
crc32: "935407cb" crc32: "935407cb"
# Acorn Atom — bus device: GDOS-2015 # Acorn Atom: bus device: GDOS-2015
- name: atom_gdos2015.zip - name: atom_gdos2015.zip
required: false required: false
category: bios_zip category: bios_zip
@@ -1240,7 +1240,7 @@ files:
size: 65536 size: 65536
crc32: "fc790657" crc32: "fc790657"
# Acorn Atom — bus device: Speech Module # Acorn Atom: bus device: Speech Module
- name: atom_speech.zip - name: atom_speech.zip
required: false required: false
category: bios_zip category: bios_zip
@@ -1252,7 +1252,7 @@ files:
size: 2048 size: 2048
crc32: "b504ac15" crc32: "b504ac15"
# Acorn Atom — bus device: 80 Column VDU # Acorn Atom: bus device: 80 Column VDU
- name: atom_vdu80.zip - name: atom_vdu80.zip
required: false required: false
category: bios_zip category: bios_zip
@@ -1559,7 +1559,7 @@ files:
required: false required: false
category: bios_zip category: bios_zip
system: pc60 system: pc60
source_ref: "src/mame/nec/pc6001.cpp:1883-1894" source_ref: "src/mame/nec/pc6001.cpp:1728-1740"
contents: contents:
- name: basicrom.60a - name: basicrom.60a
description: BASIC ROM (US) description: BASIC ROM (US)
@@ -1605,7 +1605,7 @@ files:
required: false required: false
category: bios_zip category: bios_zip
system: pc60 system: pc60
source_ref: "src/mame/nec/pc6001.cpp:1919-1936" source_ref: "src/mame/nec/pc6001.cpp:1768-1791"
contents: contents:
- name: basicrom.66 - name: basicrom.66
description: BASIC ROM description: BASIC ROM
@@ -1695,7 +1695,7 @@ files:
required: true required: true
category: bios_zip category: bios_zip
system: pegasus system: pegasus
source_ref: "src/mame/ausnz/pegasus.cpp:ROM_START" source_ref: "src/mame/ausnz/pegasus.cpp:544-565"
note: "6809-based home computer (1981, New Zealand). 8 monitor BIOS variants, 5 cartridge expansion slots." note: "6809-based home computer (1981, New Zealand). 8 monitor BIOS variants, 5 cartridge expansion slots."
contents: contents:
- name: mon11_2674.bin - name: mon11_2674.bin
@@ -2042,7 +2042,7 @@ files:
size: 2048 size: 2048
crc32: "1765931e" crc32: "1765931e"
# TI-99/4A family — machine ROM sets # TI-99/4A family: machine ROM sets
- name: ti99_4a.zip - name: ti99_4a.zip
required: true required: true
category: bios_zip category: bios_zip
@@ -2099,7 +2099,7 @@ files:
size: 4096 size: 4096
crc32: "491c21d1" crc32: "491c21d1"
# TI-99/4A — peripheral device ROM sets # TI-99/4A: peripheral device ROM sets
- name: ti99_speech.zip - name: ti99_speech.zip
required: false required: false
category: bios_zip category: bios_zip
+36 -29
View File
@@ -4,7 +4,7 @@ core_classification: community_fork
source: "https://github.com/libretro/same_cdi" source: "https://github.com/libretro/same_cdi"
upstream: "https://github.com/mamedev/mame" upstream: "https://github.com/mamedev/mame"
profiled_date: "2026-03-25" profiled_date: "2026-03-25"
source_commit: "8a3c2acdbeb57aea4e74aeadaa703fdc5c9c5de9" source_commit: "ff9bb99a50d518aef6d2add1c49b7c44447e3e78"
core_version: "Git" core_version: "Git"
display_name: "Philips - CDi (SAME CDi)" display_name: "Philips - CDi (SAME CDi)"
cores: [same_cdi] cores: [same_cdi]
@@ -14,28 +14,30 @@ systems:
notes: | notes: |
SAME CDi is a Single Arcade Machine Emulator fork of MAME libretro, stripped SAME CDi is a Single Arcade Machine Emulator fork of MAME libretro, stripped
down to just the Philips CD-i driver. The core hardcodes "cdimono1" as the down to just the Philips CD-i driver. The core hardcodes "cdimono1" as the
forced system (src/osd/libretro/libretro-internal/retro_init.cpp:86,454) and searches for MAME ROM ZIPs in: forced system (src/osd/libretro/libretro-internal/retro_init.cpp:86,463) and searches for MAME ROM ZIPs in:
<system_dir>/same_cdi/bios/ <system_dir>/same_cdi/bios/
The ROM path (-rp) is built at src/osd/libretro/libretro-internal/retro_init.cpp:534 as: The ROM path (-rp) is built at src/osd/libretro/libretro-internal/retro_init.cpp:543 as:
<game_path>;<system_dir>/same_cdi/bios/ <game_path>;<system_dir>/same_cdi/bios/
MAME expects each romset as a ZIP containing the individual ROM files. MAME expects each romset as a ZIP containing the individual ROM files.
The ZIP filenames match the MAME driver names. Only cdimono1.zip is required The ZIP filenames match the MAME driver names. Only cdimono1.zip is required
for consumer CD-i games; other ZIPs are for alternate hardware models or for consumer CD-i games; the other ZIPs are for alternate hardware models
Quizard arcade (unreachable without boot_from_cli core option). (unreachable without boot_from_cli core option).
The driver includes 5 system ROM sets (cdimono1, cdi910, cdimono2, cdi490a, ROM definitions: src/mame/drivers/cdi.cpp:639-704. The fork carries four
cdibios) plus Quizard arcade game ROM sets (clones of cdibios with i8751 sets, cdimono1, cdimono2, cdi910 and cdi490a, declared at
protection MCU dumps). Upstream MAME has additional ROM sets not present src/mame/drivers/cdi.cpp:713-716; the Quizard game ROMs upstream MAME
in this fork (gpi1200, Italian Quizard variants, cdimono2 alternate BIOS). keeps in this driver are not in it. The .info also lists cdibios.zip, a set
this driver does not declare.
ROM definitions: src/mame/drivers/cdi.cpp:428-489. The fork carries four The Mono-I machine is built with the Digital Video Cartridge, whose driver
sets, cdimono1, cdi910, cdimono2 and cdi490a, declared at ROM vmpega.rom is an optional member of cdimono1.zip: without it the
src/mame/drivers/cdi.cpp:491-494; the Quizard game ROMs upstream MAME region stays zero-filled and the player boots as a bare Mono-I
keeps in this driver are not in it. (src/mame/drivers/cdi.cpp:658-659).
System forced: src/osd/libretro/libretro-internal/retro_init.cpp:86,454,525.
BIOS path: src/osd/libretro/libretro-internal/retro_init.cpp:534. System forced: src/osd/libretro/libretro-internal/retro_init.cpp:86,463,534.
BIOS path: src/osd/libretro/libretro-internal/retro_init.cpp:543.
files: files:
- name: cdimono1.zip - name: cdimono1.zip
@@ -43,8 +45,8 @@ files:
category: bios_zip category: bios_zip
system: cdi system: cdi
required: true required: true
note: "Forced system. Main CPU BIOS (3 region variants via MAME BIOS switch) + servo/slave MCU dumps." note: "Forced system. Main CPU BIOS (3 region variants via MAME BIOS switch) + servo/slave MCU dumps. vmpega.rom is ROM_LOAD_OPTIONAL: full-motion video needs it, the machine starts without it."
source_ref: "src/mame/drivers/cdi.cpp:491" source_ref: "src/mame/drivers/cdi.cpp:713"
contents: contents:
- name: cdi200.rom - name: cdi200.rom
description: Magnavox CD-i 200 BIOS (default, US) description: Magnavox CD-i 200 BIOS (default, US)
@@ -71,6 +73,11 @@ files:
size: 8192 size: 8192
crc32: "688cda63" crc32: "688cda63"
sha1: "56d0acd7caad51c7de703247cd6d842b36173079" sha1: "56d0acd7caad51c7de703247cd6d842b36173079"
- name: vmpega.rom
description: Digital Video Cartridge driver ROM (optional)
size: 262144
crc32: "db264e8b"
sha1: "be407fbc102f1731a0862554855e963e5a47c17b"
- name: cdimono2.zip - name: cdimono2.zip
path: "same_cdi/bios/cdimono2.zip" path: "same_cdi/bios/cdimono2.zip"
@@ -78,7 +85,7 @@ files:
system: cdi system: cdi
required: false required: false
note: "CD-i Mono-II (NTSC). MACHINE_NOT_WORKING. Listed in .info as optional." note: "CD-i Mono-II (NTSC). MACHINE_NOT_WORKING. Listed in .info as optional."
source_ref: "src/mame/drivers/cdi.cpp:492" source_ref: "src/mame/drivers/cdi.cpp:714"
contents: contents:
- name: "philips__cdi-220_ph3_r1.2__mb834200b-15__02f_aa__9402_z04.tc574200-le._1.7211" - name: "philips__cdi-220_ph3_r1.2__mb834200b-15__02f_aa__9402_z04.tc574200-le._1.7211"
description: Mono-II main CPU BIOS, Philips CDI-220 PH3 R1.2 description: Mono-II main CPU BIOS, Philips CDI-220 PH3 R1.2
@@ -102,7 +109,7 @@ files:
system: cdi system: cdi
required: false required: false
note: "CD-i 910-17P Mini-MMC (PAL). MACHINE_NOT_WORKING. Not in .info firmware list." note: "CD-i 910-17P Mini-MMC (PAL). MACHINE_NOT_WORKING. Not in .info firmware list."
source_ref: "src/mame/drivers/cdi.cpp:493" source_ref: "src/mame/drivers/cdi.cpp:715"
contents: contents:
- name: "philips__cd-i_2.1__mb834200b-15__26b_aa__9224_z01.tc574200.7211" - name: "philips__cd-i_2.1__mb834200b-15__26b_aa__9224_z01.tc574200.7211"
description: CD-i 910-17P Mini-MMC BIOS (default) description: CD-i 910-17P Mini-MMC BIOS (default)
@@ -141,32 +148,32 @@ files:
system: cdi system: cdi
required: false required: false
note: "CD-i 490. MACHINE_NOT_WORKING. Not in .info firmware list." note: "CD-i 490. MACHINE_NOT_WORKING. Not in .info firmware list."
source_ref: "src/mame/drivers/cdi.cpp:494" source_ref: "src/mame/drivers/cdi.cpp:716"
contents: contents:
- name: cdi490a.rom - name: cdi490a.rom
description: CD-i 490 main CPU BIOS description: CD-i 490 main CPU BIOS
size: 524288 size: 524288
crc32: "e2f200f6" crc32: "e2f200f6"
sha1: "c9bf3c4c7e4fe5cbec3fe3fc993c77a4522ca547" sha1: "c9bf3c4c7e4fe5cbec3fe3fc993c77a4522ca547"
- name: impega.rom
description: MPEG audio decoder ROM
size: 262144
crc32: "84d6f6aa"
sha1: "02526482a0851ea2a7b582d8afaa8ef14a8bd914"
- name: vmpega.rom - name: vmpega.rom
description: MPEG video decoder ROM description: Digital video driver ROM
size: 262144 size: 262144
crc32: "db264e8b" crc32: "db264e8b"
sha1: "be407fbc102f1731a0862554855e963e5a47c17b" sha1: "be407fbc102f1731a0862554855e963e5a47c17b"
- name: impega.rom
description: IMPEG ROM, loaded into its own region and not read by the emulation
size: 262144
crc32: "84d6f6aa"
sha1: "02526482a0851ea2a7b582d8afaa8ef14a8bd914"
platform_details: platform_details:
cdi: cdi:
bios_path: "same_cdi/bios/" bios_path: "same_cdi/bios/"
forced_system: "cdimono1" forced_system: "cdimono1"
primary_zip: "cdimono1.zip" primary_zip: "cdimono1.zip"
optional_zips: ["cdimono2.zip", "cdibios.zip"] optional_zips: ["cdimono2.zip", "cdi910.zip", "cdi490a.zip"]
mame_romsets: ["cdimono1", "cdimono2", "cdibios", "cdi910", "cdi490a"] mame_romsets: ["cdimono1", "cdimono2", "cdi910", "cdi490a"]
rom_path_flag: "-rp" rom_path_flag: "-rp"
rom_search_path: "<game_path>;<system_dir>/same_cdi/bios/" rom_search_path: "<game_path>;<system_dir>/same_cdi/bios/"
supported_extensions: ["chd", "iso", "cue"] supported_extensions: ["chd", "iso", "cue"]
source_ref: "src/osd/libretro/libretro-internal/retro_init.cpp:86,454,525,534" source_ref: "src/osd/libretro/libretro-internal/retro_init.cpp:86, src/osd/libretro/libretro-internal/retro_init.cpp:463, src/osd/libretro/libretro-internal/retro_init.cpp:534, src/osd/libretro/libretro-internal/retro_init.cpp:543"
+35 -35
View File
@@ -4,7 +4,7 @@ core_classification: community_fork
source: "https://gitlab.com/jengun/sdltrs" source: "https://gitlab.com/jengun/sdltrs"
upstream: "http://sdltrs.sourceforge.net" upstream: "http://sdltrs.sourceforge.net"
profiled_date: "2026-08-08" profiled_date: "2026-08-08"
source_commit: "b008486afe41813fd2225ebb807a3e672d544f79" source_commit: "cb68ce3167ae9b8e2c87f69d3a8c34ffa176a993"
core_version: "1.2.35" core_version: "1.2.35"
display_name: "Tandy - TRS-80 (SDL2TRS)" display_name: "Tandy - TRS-80 (SDL2TRS)"
cores: cores:
@@ -24,37 +24,37 @@ notes: |
Three ROM slots exist, one per model family, and trs_rom_init picks one from Three ROM slots exist, one per model family, and trs_rom_init picks one from
trs_model. Model I takes romfile1, Model III and Model 4 share romfile3, and trs_model. Model I takes romfile1, Model III and Model 4 share romfile3, and
Model 4P takes romfile4p (trs_cmd_rom.c:868-894). The defaults are level2.rom, Model 4P takes romfile4p (src/trs_cmd_rom.c:868-894). The defaults are level2.rom,
model3.rom and model4p.rom, each prefixed by ROM_PATH (trs_options.c:896-898). model3.rom and model4p.rom, each prefixed by ROM_PATH (src/trs_options.c:897-899).
ROM_PATH is a build define left empty unless a packager sets it ROM_PATH is a build define left empty unless a packager sets it
(trs_options.c:53-54, CMakeLists.txt:42), so a stock build resolves the names (src/trs_options.c:53-54, CMakeLists.txt:42), so a stock build resolves the names
against the working directory. against the working directory.
-rom, -r and -romfile write to the slot of the model selected at the moment -rom, -r and -romfile write to the slot of the model selected at the moment
they are parsed (trs_options.c:609-619). Options are applied in command-line they are parsed (src/trs_options.c:609-619). Options are applied in command-line
order after the config file has been read (trs_options.c:1016-1036), so -m has order after the config file has been read (src/trs_options.c:1017-1037), so -m has
to come first to redirect them, and a model key in the config file otherwise to come first to redirect them, and a model key in the config file otherwise
decides. -rom1, -rom3 and -rom4p address a slot directly. The GUI ROM browser decides. -rom1, -rom3 and -rom4p address a slot directly. The GUI ROM browser
filters on .bin, .hex, .iii and .rom (trs_sdl_gui.h:63, trs_sdl_gui.c:2591-2597). filters on .bin, .hex, .iii and .rom (src/trs_sdl_gui.h:63, src/trs_sdl_gui.c:2591-2597).
trs_load_rom sniffs the first byte. A colon means Intel hex, and load_hex trs_load_rom sniffs the first byte. A colon means Intel hex, and load_hex
rejects the file on a line checksum mismatch. A 1 or a 5 on Model III or later rejects the file on a line checksum mismatch. A 1 or a 5 on Model III or later
means a MODELA/III CMD file, rejected above 14 KB. Anything else is read as means a MODELA/III CMD file, rejected above 14 KB. Anything else is read as
raw binary with no check (trs_cmd_rom.c:720-767, 779-843), which is the path a raw binary with no check (src/trs_cmd_rom.c:720-767, 779-843), which is the path a
dump takes. No hash is computed anywhere in the tree. rom_write drops any byte dump takes. No hash is computed anywhere in the tree. rom_write drops any byte
at or past MAX_ROM_SIZE, 18432 (trs_memory.c:63, 742-745), and trs_rom_size, at or past MAX_ROM_SIZE, 18432 (src/trs_memory.c:63, 728-732), and trs_rom_size,
the extent of the plain ROM mapping, is capped at 14336 (trs_cmd_rom.c:896-898). the extent of the plain ROM mapping, is capped at 14336 (src/trs_cmd_rom.c:896-898).
A failed load is not fatal. Model I and Model III/4 fall back to trs_fakerom, A failed load is not fatal. Model I and Model III/4 fall back to trs_fakerom,
which prints "You do not have a ROM image installed for Model" and spins. which prints "You do not have a ROM image installed for Model" and spins.
Model 4P falls back to trs_rom4p, Pete Cervasio's free boot ROM, which boots Model 4P falls back to trs_rom4p, Pete Cervasio's free boot ROM, which boots
Model 4 operating systems from floppy (trs_cmd_rom.c:871-893). -stringy Model 4 operating systems from floppy (src/trs_cmd_rom.c:871-893). -stringy
overlays the built-in Exatron Stringy Floppy ROM at 0x3000 over the Model I overlays the built-in Exatron Stringy Floppy ROM at 0x3000 over the Model I
image (trs_cmd_rom.c:875-876), and -hdboot rewrites the loaded Model I ROM in image (src/trs_cmd_rom.c:875-876), and -hdboot rewrites the loaded Model I ROM in
place to boot from a hard drive (trs_cmd_rom.c:447-610, 882-883). place to boot from a hard drive (src/trs_cmd_rom.c:447-610, 882-883).
The clones run off the same three slots and are recognised from the ROM data The clones run off the same three slots and are recognised from the ROM data
rather than from an option (trs_clones.c:8-20, html/Features.html), so their rather than from an option (src/trs_clones.c:8-20, html/Features.html), so their
larger images load as a Model I or a Model III ROM. None has a filename of its larger images load as a Model I or a Model III ROM. None has a filename of its
own anywhere in the tree. own anywhere in the tree.
@@ -63,9 +63,9 @@ files:
description: "TRS-80 Model I ROM" description: "TRS-80 Model I ROM"
required: true required: true
max_size: 18432 max_size: 18432
source_ref: "src/trs_options.c:81 (romfile1), src/trs_options.c:896 (default name), src/trs_cmd_rom.c:871-884 (trs_model 1)" source_ref: "src/trs_options.c:81 (romfile1), src/trs_options.c:897 (default name), src/trs_cmd_rom.c:871-884 (trs_model 1)"
note: > note: >
Model I is the model a stock configuration selects (trs_options.c:923), so Model I is the model a stock configuration selects (src/trs_options.c:924), so
this is the slot an unconfigured run reads. Without it the machine runs the this is the slot an unconfigured run reads. Without it the machine runs the
compiled-in diagnostic stub and nothing else. max_size is the shared ROM compiled-in diagnostic stub and nothing else. max_size is the shared ROM
buffer ceiling: a longer file is truncated, never rejected, and only the buffer ceiling: a longer file is truncated, never rejected, and only the
@@ -75,10 +75,10 @@ files:
description: "TRS-80 Model III and Model 4 ROM" description: "TRS-80 Model III and Model 4 ROM"
required: true required: true
max_size: 18432 max_size: 18432
source_ref: "src/trs_options.c:82 (romfile3), src/trs_options.c:897 (default name), src/trs_cmd_rom.c:885-889 (trs_model 3 and 4)" source_ref: "src/trs_options.c:82 (romfile3), src/trs_options.c:898 (default name), src/trs_cmd_rom.c:885-889 (trs_model 3 and 4)"
note: > note: >
Serves Model III and Model 4 alike; the stub text spells out that Model 4 Serves Model III and Model 4 alike; the stub text spells out that Model 4
mode needs a Model 3 image (trs_cmd_rom.c:110-115). This is the one slot mode needs a Model 3 image (src/trs_cmd_rom.c:110-115). This is the one slot
that also accepts a MODELA/III CMD file, which html/index.html presents as that also accepts a MODELA/III CMD file, which html/index.html presents as
the substitute for a real Model III ROM. Same truncating ceiling as the the substitute for a real Model III ROM. Same truncating ceiling as the
Model I slot. The image is the Model III memory map: ROM A 8041364.u104 Model I slot. The image is the Model III memory map: ROM A 8041364.u104
@@ -89,7 +89,7 @@ files:
description: "TRS-80 Model 4P boot ROM" description: "TRS-80 Model 4P boot ROM"
required: false required: false
max_size: 18432 max_size: 18432
source_ref: "src/trs_options.c:83 (romfile4p), src/trs_options.c:898 (default name), src/trs_cmd_rom.c:890-893 (trs_model 5)" source_ref: "src/trs_options.c:83 (romfile4p), src/trs_options.c:899 (default name), src/trs_cmd_rom.c:890-893 (trs_model 5)"
note: > note: >
Optional because the compiled-in replacement is a working boot ROM rather Optional because the compiled-in replacement is a working boot ROM rather
than a stub. html/index.html states the free ROM boots only Model 4 than a stub. html/index.html states the free ROM boots only Model 4
@@ -102,7 +102,7 @@ files:
analysis: analysis:
embedded_roms: embedded_roms:
mechanism: "Uint8 arrays in trs_cmd_rom.c, copied into the ROM buffer by trs_load_compiled_rom (trs_cmd_rom.c:769-777)" mechanism: "Uint8 arrays in trs_cmd_rom.c, copied into the ROM buffer by trs_load_compiled_rom (src/trs_cmd_rom.c:769-777)"
extraction: "hashes computed from the decoded byte literals" extraction: "hashes computed from the decoded byte literals"
entries: entries:
@@ -159,7 +159,7 @@ analysis:
- machine: "Prologica CP-300, CP-500 and CP-500 M80" - machine: "Prologica CP-300, CP-500 and CP-500 M80"
slot: model3.rom slot: model3.rom
image_size: 16384 image_size: 16384
source_ref: "src/trs_cp500.c:1-22, src/trs_cp500.c:153-160, src/trs_memory.c:1052-1054" source_ref: "src/trs_cp500.c:1-22, src/trs_cp500.c:153-160, src/trs_memory.c:1038-1041"
note: > note: >
14 KB of patched Model III ROM plus a 2 KB resident monitor read back 14 KB of patched Model III ROM plus a 2 KB resident monitor read back
from 0x3800-0x3FFF and banked into 0x3000-0x37FF. README.md:21 and from 0x3800-0x3FFF and banked into 0x3000-0x37FF. README.md:21 and
@@ -168,41 +168,41 @@ analysis:
- machine: "Holmes VID-80 (VX-3) on Model III" - machine: "Holmes VID-80 (VX-3) on Model III"
slot: model3.rom slot: model3.rom
image_size: 18432 image_size: 18432
source_ref: "src/trs_memory.c:577-586, src/trs_memory.c:1057-1080" source_ref: "src/trs_memory.c:570-580, src/trs_memory.c:1043-1065"
note: "4 KB VID-80 ROM with the Model III ROM appended behind it; this pairing is what sets MAX_ROM_SIZE." note: "4 KB VID-80 ROM with the Model III ROM appended behind it; this pairing is what sets MAX_ROM_SIZE."
- machine: "TCS SpeedMaster, also sold as Genie IIs" - machine: "TCS SpeedMaster, also sold as Genie IIs"
slot: level2.rom slot: level2.rom
image_size: 16384 image_size: 16384
source_ref: "src/trs_memory.c:1025-1048" source_ref: "src/trs_memory.c:1011-1033"
note: "BASIC at 0x0000-0x2FFF and a ROM card read from 0x1000-0x3FFF into 0x4000-0xBFFF. Needs -speedup tcs (html/Features.html)." note: "BASIC at 0x0000-0x2FFF and a ROM card read from 0x1000-0x3FFF into 0x4000-0xBFFF. Needs -speedup tcs (html/Features.html)."
- machine: "Aster CT-80" - machine: "Aster CT-80"
slot: level2.rom slot: level2.rom
image_size: 14336 image_size: 14336
source_ref: "src/trs_memory.c:962-994" source_ref: "src/trs_memory.c:948-979"
note: "BASIC at 0x0000-0x2FFF plus a 2 KB boot ROM at 0x3000-0x37FF, mirrored into 0xEC00 in CP/M mode." note: "BASIC at 0x0000-0x2FFF plus a 2 KB boot ROM at 0x3000-0x37FF, mirrored into 0xEC00 in CP/M mode."
- machine: "EACA EG 3200 Genie III" - machine: "EACA EG 3200 Genie III"
slot: level2.rom slot: level2.rom
image_size: 14336 image_size: 14336
source_ref: "src/trs_memory.c:909-931" source_ref: "src/trs_memory.c:895-916"
note: "Bank 1 is read through trs_rom_size, so the 14 KB cap on the plain mapping is the ceiling." note: "Bank 1 is read through trs_rom_size, so the 14 KB cap on the plain mapping is the ceiling."
- machine: "TCS Genie IIIs" - machine: "TCS Genie IIIs"
slot: level2.rom slot: level2.rom
image_size: 12288 image_size: 12288
source_ref: "src/trs_memory.c:932-961" source_ref: "src/trs_memory.c:918-946"
note: "Reads 0x0000-0x2FFF only; the rest of the address space is banked RAM, video and the HRG window." note: "Reads 0x0000-0x2FFF only; the rest of the address space is banked RAM, video and the HRG window."
- machine: "LNW Research LNW80/II" - machine: "LNW Research LNW80/II"
slot: level2.rom slot: level2.rom
image_size: 12288 image_size: 12288
source_ref: "src/trs_memory.c:995-1024" source_ref: "src/trs_memory.c:981-1009"
note: "Reads 0x0000-0x2FFF only. -speedup lnw sets the 4 MHz clock and the low 16 KB banking." note: "Reads 0x0000-0x2FFF only. -speedup lnw sets the 4 MHz clock and the low 16 KB banking."
character_generators: character_generators:
source_ref: "src/trs_chars.c:12 (trs_char_data), src/trs_options.c:404-436 (charset names), src/trs_sdl_interface.c:585" source_ref: "src/trs_chars.c:12 (trs_char_data), src/trs_options.c:404-436 (charset names), src/trs_sdl_interface.c:1903-1908"
note: > note: >
Every character set is a compiled-in bitmap table selected by -charset1, Every character set is a compiled-in bitmap table selected by -charset1,
-charset3 and -charset4. The tree holds no external font file and reads -charset3 and -charset4. The tree holds no external font file and reads
@@ -250,24 +250,24 @@ analysis:
note: "Named on the command line, in the config file or in a disk set, with no fixed filename" note: "Named on the command line, in the config file or in a disk set, with no fixed filename"
entries: entries:
- what: "floppy images in drives 0-7, JV1, JV3 and DMK" - what: "floppy images in drives 0-7, JV1, JV3 and DMK"
source_ref: "src/trs_options.c:589-594, src/trs_disk.c:789-921" source_ref: "src/trs_options.c:587-592, src/trs_disk.c:789-921"
- what: "hard drive images, units 0-3" - what: "hard drive images, units 0-3"
source_ref: "src/trs_options.c:595-600, src/trs_hard.c:212-220, src/trs_hard.c:528-609" source_ref: "src/trs_options.c:593-598, src/trs_hard.c:311-320, src/trs_hard.c:579-665"
- what: "cassette images, .cas, .cpt and .wav" - what: "cassette images, .cas, .cpt and .wav"
source_ref: "src/trs_options.c:583-588, src/trs_cassette.c:526-553" source_ref: "src/trs_options.c:581-586, src/trs_cassette.c:522-549"
- what: "stringy floppy wafers in drives 0-7, .esf" - what: "stringy floppy wafers in drives 0-7, .esf"
source_ref: "src/trs_options.c:601-606, src/trs_stringy.c:278-316, src/trs_stringy.c:342-346" source_ref: "src/trs_options.c:599-604, src/trs_stringy.c:278-316, src/trs_stringy.c:342-346"
- what: "disk set, a plain list of the paths above" - what: "disk set, a plain list of the paths above"
source_ref: "src/trs_options.c:607-610, src/trs_disk.c:3765-3802" source_ref: "src/trs_options.c:605-608, src/trs_disk.c:3759-3796"
- what: "CMD program loaded straight into memory, from a bare argument" - what: "CMD program loaded straight into memory, from a bare argument"
source_ref: "src/trs_options.c:1014-1015, src/trs_cmd_rom.c:845-866" source_ref: "src/trs_options.c:1011-1012, src/trs_cmd_rom.c:845-866"
- what: "serial port tty, defaulting to /dev/ttyS0 on Linux" - what: "serial port tty, defaulting to /dev/ttyS0 on Linux"
source_ref: "src/trs_uart.c:54-56, src/trs_uart.c:144-202" source_ref: "src/trs_uart.c:54-56, src/trs_uart.c:144-202"
generated_files: generated_files:
written_and_read_back: written_and_read_back:
- filename: ".sdltrs.t8c" - filename: ".sdltrs.t8c"
source_ref: "src/trs_options.c:939-955, src/trs_options.c:1049" source_ref: "src/trs_options.c:936-949, src/trs_options.c:1043-1046"
note: "Configuration, written to the home directory on first run when none is found." note: "Configuration, written to the home directory on first run when none is found."
- filename: "<name>.t8s" - filename: "<name>.t8s"
source_ref: "src/trs_state_save.c:38-66, src/trs_state_save.c:68-113" source_ref: "src/trs_state_save.c:38-66, src/trs_state_save.c:68-113"