mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-10 13:33:24 -05:00
feat: reprofile dosbox, realign four profiles
This commit is contained in:
1 parent
b5127cd1ac
commit
8663277871
5 files changed
+333
-163
No files matched your search
+36
-35
@@ -4,7 +4,7 @@ core_classification: official_port
|
||||
source: "https://github.com/BlitterStudio/amiberry"
|
||||
upstream: "https://github.com/tonioni/WinUAE"
|
||||
profiled_date: "2026-03-26"
|
||||
source_commit: "cf3654469f360d95da84cfbb7d6f92eb5ced9f40"
|
||||
source_commit: "648aeeab6ee1148b6d0176b8f49f6f6e12150cbe"
|
||||
core_version: "v8.1.2"
|
||||
display_name: "Commodore - Amiga (Amiberry)"
|
||||
cores: [amiberry]
|
||||
@@ -15,13 +15,13 @@ systems:
|
||||
|
||||
notes: |
|
||||
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).
|
||||
|
||||
Libretro core option "amiberry_kickstart" overrides ROM selection: auto,
|
||||
kick.rom, kick13.rom, kick20.rom, kick31.rom, kick205.rom, kick40068.A1200,
|
||||
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,
|
||||
save_dir/whdboot/save-data/Kickstarts, system_dir/Kickstarts,
|
||||
@@ -29,17 +29,17 @@ notes: |
|
||||
system_dir/amiberry/whdboot/save-data/Kickstarts,
|
||||
system_dir/save-data/Kickstarts, else system_dir. system_dir stays first
|
||||
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.
|
||||
Batocera sets this to /userdata/bios/amiga/. Fallback search order:
|
||||
{home_dir}/roms/kick.rom, {home_dir}/kick.rom, ../shared/rom/kick.rom,
|
||||
../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
|
||||
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
|
||||
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
|
||||
database scanning. Three MCU types supported: 6570-036 (A500/A600/A1000),
|
||||
68HC05 (A1200), D8039HLC (A2000).
|
||||
ref: src/kbmcu/keyboard_mcu_6500_1.cpp:385, keyboard_mcu_6805.cpp:544,
|
||||
keyboard_mcu_d8039hlc.cpp:235
|
||||
ref: src/kbmcu/keyboard_mcu_6500_1.cpp:385, src/kbmcu/keyboard_mcu_6805.cpp:544,
|
||||
src/kbmcu/keyboard_mcu_d8039hlc.cpp:235
|
||||
|
||||
WHDLoad autoboot requires whdboot/ directory with boot-data.zip, WHDLoad,
|
||||
AmiQuit, JST, whdload_db.xml. These ship with the standalone build but must
|
||||
be obtained separately for the libretro core.
|
||||
ref: src/osdep/amiberry_whdbooter.cpp:1601-1873
|
||||
WHDLoad autoboot reads the whdboot/ directory: boot-data.zip (or a
|
||||
boot-data directory), WHDLoad or JST, AmiQuit, and game-data/whdload_db.json
|
||||
with game-data/whdload_db.xml as fallback. These ship with the standalone
|
||||
build but must be obtained separately for the libretro core.
|
||||
ref: src/osdep/amiberry_whdbooter.cpp:1563-1565,1714-1733,1776-1785
|
||||
|
||||
files:
|
||||
# --- Kickstart ROMs ---
|
||||
# Libretro: find_kickstart_in_system_dir() with per-model candidate lists
|
||||
# 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
|
||||
system: commodore-amiga
|
||||
required: true
|
||||
size: 262144
|
||||
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
|
||||
system: commodore-amiga
|
||||
required: false
|
||||
size: 262144
|
||||
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
|
||||
system: commodore-amiga
|
||||
@@ -83,41 +84,41 @@ files:
|
||||
size: 524288
|
||||
aliases: [kick204.rom]
|
||||
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
|
||||
system: commodore-amiga
|
||||
required: false
|
||||
size: 524288
|
||||
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
|
||||
system: commodore-amiga
|
||||
required: false
|
||||
size: 524288
|
||||
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
|
||||
system: commodore-amiga
|
||||
required: false
|
||||
size: 524288
|
||||
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
|
||||
system: commodore-amiga
|
||||
required: false
|
||||
size: 524288
|
||||
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
|
||||
system: commodore-amiga
|
||||
required: false
|
||||
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 ---
|
||||
|
||||
@@ -127,7 +128,7 @@ files:
|
||||
size: 524288
|
||||
aliases: [amiga-os-310-cd32.rom, kick40060.CD32]
|
||||
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
|
||||
system: commodore-cd32
|
||||
@@ -135,7 +136,7 @@ files:
|
||||
size: 524288
|
||||
aliases: [amiga-ext-310-cd32.rom, "CD32 Extended.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 ---
|
||||
|
||||
@@ -144,18 +145,18 @@ files:
|
||||
required: false
|
||||
aliases: [kick34005.CDTV]
|
||||
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
|
||||
system: commodore-cdtv
|
||||
required: false
|
||||
aliases: ["CDTV Extended.ROM"]
|
||||
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 ---
|
||||
# ref: src/memory.cpp:1925-1943 find_kickstart_replacement_directory,
|
||||
# src/memory.cpp:1948-2005 load_kickstart_replacement
|
||||
# ref: src/memory.cpp:1925-1946 find_kickstart_replacement_directory,
|
||||
# src/memory.cpp:1949-2030 load_kickstart_replacement
|
||||
# Both files must sit together in one of the configured ROM directories:
|
||||
# the search accepts a directory only when it holds both of them.
|
||||
|
||||
@@ -197,27 +198,27 @@ files:
|
||||
required: false
|
||||
size: 2048
|
||||
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"
|
||||
system: commodore-amiga
|
||||
required: false
|
||||
size: 8192
|
||||
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"
|
||||
system: commodore-amiga
|
||||
required: false
|
||||
size: 2048
|
||||
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 ---
|
||||
# Located in mt32-roms/ subdirectory of the ROM path.
|
||||
# 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.
|
||||
# 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
|
||||
system: commodore-amiga
|
||||
@@ -234,14 +235,14 @@ files:
|
||||
- mt32-roms/ctrl_mt32_2_06.rom
|
||||
- mt32-roms/ctrl_mt32_2_03.rom
|
||||
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
|
||||
system: commodore-amiga
|
||||
required: false
|
||||
aliases: [mt32-roms/mt32_pcm.rom]
|
||||
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
|
||||
system: commodore-amiga
|
||||
@@ -252,11 +253,11 @@ files:
|
||||
- mt32-roms/ctrl_cm32l_1_02.rom
|
||||
- mt32-roms/ctrl_cm32l_1_00.rom
|
||||
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
|
||||
system: commodore-amiga
|
||||
required: false
|
||||
aliases: [mt32-roms/cm32l_pcm.rom]
|
||||
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
@@ -3,34 +3,57 @@ type: libretro
|
||||
core_classification: community_fork
|
||||
source: "https://github.com/libretro/dosbox-libretro"
|
||||
upstream: "https://sourceforge.net/projects/dosbox/"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "4024bf0048c261db58ef98cb5e16de291c429f4e"
|
||||
core_version: "0.74"
|
||||
profiled_date: "2026-10-04"
|
||||
source_commit: "a563bb5e9753f207d74e9d8c417d793b784fa4be"
|
||||
core_version: "SVN"
|
||||
display_name: "DOS (DOSBox)"
|
||||
cores: [dosbox]
|
||||
systems: [dos]
|
||||
notes: |
|
||||
Based on DOSBox 0.74 snapshot. MUNT MT-32 emulation added by libretro port.
|
||||
Upstream DOSBox 0.74 has no MUNT — only OS-level MIDI (ALSA, CoreMIDI, Win32).
|
||||
Hardware MIDI drivers removed, replaced with retro_midi_interface passthrough.
|
||||
MT-32 activated via mididevice=mt32 in dosbox config section [midi].
|
||||
Older MUNT version: no MT-32 v2.x ROMs, no CM-32LN support.
|
||||
Both ROMs loaded by fixed filename from system directory root.
|
||||
ref: midi_mt32.h:82-106
|
||||
Keyboard layouts and codepages embedded in binary.
|
||||
ref: dos_keyboard_layout_data.h, dos_codepages.h
|
||||
.info declares firmware_count=0 but code loads 2 files (MUNT ROMs).
|
||||
dosbox-libretro.conf optional config searched in system_directory/DOSbox/.
|
||||
ref: libretro.cpp:751
|
||||
Rebuilt on the dosbox-core tree (DOSBox SVN r4494) with ZIP content and the
|
||||
Nuked-SC55 driver. No BIOS. Every file below belongs to a MIDI driver picked
|
||||
by the core option; the default driver is "none".
|
||||
ref: libretro/src/libretro_core_options.cpp:1684-1702
|
||||
A driver that fails to open is replaced by the first handler that opens.
|
||||
ref: src/gui/midi.cpp:241-243
|
||||
mt32: mt32.romdir is the system directory. The type option (default cm32l)
|
||||
picks CM32L_CONTROL.ROM + CM32L_PCM.ROM or MT32_CONTROL.ROM + MT32_PCM.ROM.
|
||||
ref: libretro/src/libretro.cpp:720, src/gui/midi_mt32.cpp:51-68
|
||||
MUNT identifies each file by size and SHA1 against its full-ROM list, so
|
||||
any full control ROM is accepted under either control name and split
|
||||
half-ROMs are refused. The PCM ROM must be the size the control ROM expects.
|
||||
ref: libretro/deps/munt/mt32emu/src/ROMInfo.cpp:171-179
|
||||
ref: libretro/deps/munt/mt32emu/src/c_interface/c_interface.cpp:425
|
||||
ref: libretro/deps/munt/mt32emu/src/Synth.cpp:599
|
||||
sc55: the driver is given SC-55.zip from the system directory when that
|
||||
file exists, the system directory otherwise.
|
||||
ref: libretro/src/libretro.cpp:903-913
|
||||
In a directory it looks for SC-55/ROM1.BIN, SC-55/rom1.bin, ROM1.BIN then
|
||||
rom1.bin, and opens ROM2, ROM2_ST, ROM_SM and WAVEROM1-3 next to it with the
|
||||
same capitalization and extension. In a ZIP the members are assigned by
|
||||
size, wave ROMs by the last 1, 2 or 3 in their name. No hash is checked.
|
||||
ref: src/gui/midi_sc55.h:43-52, src/gui/midi_sc55.h:98-133
|
||||
Byte 67 of ROM1 selects the model and the sizes the other ROMs must have:
|
||||
SC-55mkII/SC-55st need ROM_SM, a 2 MiB WAVEROM1 and a 1 MiB WAVEROM2;
|
||||
SC-55/SC-155 and CM-300/SCC-1 need a 256 KiB ROM2 and three 1 MiB wave
|
||||
ROMs; JV-880 needs a 256 KiB ROM2 and two 2 MiB wave ROMs; SCB-55 needs a
|
||||
2 MiB WAVEROM1.
|
||||
ref: src/gui/midi_sc55.h:151-175
|
||||
fluidsynth and bassmidi: the soundfont option lists the files found in
|
||||
soundfonts/ under the system directory (.sf2 for both, .sfz for BASSMIDI,
|
||||
.sf3/.dls/.gig for FluidSynth). No file name is fixed.
|
||||
ref: libretro/src/libretro.cpp:1673-1689
|
||||
bassmidi also loads the BASS and BASSMIDI libraries from the system
|
||||
directory.
|
||||
ref: libretro/src/midi_bassmidi.cpp:230-258
|
||||
Keyboard layouts and codepages are compiled in.
|
||||
ref: src/dos/dos_keyboard_layout_data.h, src/dos/dos_codepages.h
|
||||
DOSBox.conf in the save directory is read as the configuration when the
|
||||
content is not a .conf file.
|
||||
ref: libretro/src/libretro.cpp:1777-1782
|
||||
|
||||
files:
|
||||
# -- MT-32 Control ROM --
|
||||
# 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.
|
||||
# -- MT-32 control ROMs (mt32.type = mt32) --
|
||||
|
||||
- name: "MT32_CONTROL.ROM"
|
||||
description: "MT-32 Control v1.04"
|
||||
@@ -40,7 +63,7 @@ files:
|
||||
sha1: "5a5cb5a77d7d55ee69657c2f870416daed52dea7"
|
||||
validation: [sha1, size]
|
||||
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"
|
||||
description: "MT-32 Control v1.05"
|
||||
@@ -50,7 +73,7 @@ files:
|
||||
sha1: "e17a3a6d265bf1fa150312061134293d2b58288c"
|
||||
validation: [sha1, size]
|
||||
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"
|
||||
description: "MT-32 Control v1.06"
|
||||
@@ -60,7 +83,7 @@ files:
|
||||
sha1: "a553481f4e2794c10cfe597fef154eef0d8257de"
|
||||
validation: [sha1, size]
|
||||
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"
|
||||
description: "MT-32 Control v1.07"
|
||||
@@ -70,7 +93,7 @@ files:
|
||||
sha1: "b083518fffb7f66b03c23b7eb4f868e62dc5a987"
|
||||
validation: [sha1, size]
|
||||
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"
|
||||
description: "MT-32 Control BlueRidge"
|
||||
@@ -80,12 +103,41 @@ files:
|
||||
sha1: "7b8c2a5ddb42fd0732e2f22b3340dcf5360edf92"
|
||||
validation: [sha1, size]
|
||||
mode: libretro
|
||||
source_ref: "src/midi/midi_mt32.h:92, src/midi/munt/ROMInfo.cpp:34"
|
||||
|
||||
# -- CM-32L / LAPC-I Control ROMs --
|
||||
# Same fixed filename MT32_CONTROL.ROM — no CM32L_CONTROL.ROM in this core.
|
||||
source_ref: "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:70"
|
||||
|
||||
- name: "MT32_CONTROL.ROM"
|
||||
description: "MT-32 Control v2.04"
|
||||
required: false
|
||||
hle_fallback: true
|
||||
size: 131072
|
||||
sha1: "2c16432b6c73dd2a3947cba950a0f4c19d6180eb"
|
||||
validation: [sha1, size]
|
||||
mode: libretro
|
||||
source_ref: "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:72"
|
||||
|
||||
- name: "MT32_CONTROL.ROM"
|
||||
description: "MT-32 Control v2.06"
|
||||
required: false
|
||||
hle_fallback: true
|
||||
size: 131072
|
||||
sha1: "2869cf4c235d671668cfcb62415e2ce8323ad4ed"
|
||||
validation: [sha1, size]
|
||||
mode: libretro
|
||||
source_ref: "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:73"
|
||||
|
||||
- name: "MT32_CONTROL.ROM"
|
||||
description: "MT-32 Control v2.07"
|
||||
required: false
|
||||
hle_fallback: true
|
||||
size: 131072
|
||||
sha1: "47b52adefedaec475c925e54340e37673c11707c"
|
||||
validation: [sha1, size]
|
||||
mode: libretro
|
||||
source_ref: "src/gui/midi_mt32.cpp:55, libretro/deps/munt/mt32emu/src/ROMInfo.cpp:74"
|
||||
|
||||
# -- CM-32L control ROMs (mt32.type = cm32l, the default) --
|
||||
|
||||
- name: "CM32L_CONTROL.ROM"
|
||||
description: "CM-32L/LAPC-I Control v1.00"
|
||||
required: false
|
||||
hle_fallback: true
|
||||
@@ -93,9 +145,9 @@ files:
|
||||
sha1: "73683d585cd6948cc19547942ca0e14a0319456d"
|
||||
validation: [sha1, size]
|
||||
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"
|
||||
required: false
|
||||
hle_fallback: true
|
||||
@@ -103,11 +155,19 @@ files:
|
||||
sha1: "a439fbb390da38cada95a7cbb1d6ca199cd66ef8"
|
||||
validation: [sha1, size]
|
||||
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 --
|
||||
# Loaded from system_directory/MT32_PCM.ROM.
|
||||
# CM-32L PCM ROM also accepted under this filename.
|
||||
|
||||
- name: "MT32_PCM.ROM"
|
||||
description: "MT-32 PCM ROM"
|
||||
@@ -117,9 +177,9 @@ files:
|
||||
sha1: "f6b1eebc4b2d200ec6d3d21d51325d5b48c60252"
|
||||
validation: [sha1, size]
|
||||
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"
|
||||
required: false
|
||||
hle_fallback: true
|
||||
@@ -127,4 +187,106 @@ files:
|
||||
sha1: "289cc298ad532b702461bfc738009d9ebe8025ea"
|
||||
validation: [sha1, size]
|
||||
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
@@ -216,7 +216,7 @@ notes: |
|
||||
MACHINE_IMPERFECT_GRAPHICS. Software list "supracan".
|
||||
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),
|
||||
ti99_4ae clone (Europe), ti99_4qi clone (QI version 1983), ti99_4ev
|
||||
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
|
||||
Card, Myarc DDCC-1, Myarc Memory Expansion, TIPI, WHT SCSI, GRAM
|
||||
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.
|
||||
Drivers in ti/ti99_4x.cpp, in mess.flt.
|
||||
|
||||
@@ -247,7 +247,7 @@ files:
|
||||
crc32: "2ff7ec96"
|
||||
sha1: "633365fd19a3d0f2ce56cb499b2577a5fb53e466"
|
||||
|
||||
# XaviX TV games — e-kara family
|
||||
# XaviX TV games: e-kara family
|
||||
- name: ekara.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
@@ -271,7 +271,7 @@ files:
|
||||
- name: ekaraj.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2880"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2906"
|
||||
contents:
|
||||
- name: ekarajapan.bin
|
||||
size: 1048576
|
||||
@@ -311,7 +311,7 @@ files:
|
||||
- name: ekaraphs.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2887"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2913"
|
||||
contents:
|
||||
- name: ekaraheadset.bin
|
||||
size: 2097152
|
||||
@@ -321,7 +321,7 @@ files:
|
||||
- name: epitch.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2890"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2916"
|
||||
contents:
|
||||
- name: ekarajapan.bin
|
||||
size: 1048576
|
||||
@@ -338,7 +338,7 @@ files:
|
||||
crc32: "ee71576e"
|
||||
sha1: "26f8c9edcbbed77e86a1cb5a0b91c92a16fef433"
|
||||
|
||||
# XaviX TV games — DDR / Popira / misc
|
||||
# XaviX TV games: DDR / Popira / misc
|
||||
- name: ddrfammt.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
@@ -362,7 +362,7 @@ files:
|
||||
- name: popirak.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2901"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2927"
|
||||
contents:
|
||||
- name: kr_main.u2
|
||||
size: 1048576
|
||||
@@ -477,7 +477,7 @@ files:
|
||||
size: 8192
|
||||
crc32: "6eb53e79"
|
||||
|
||||
# Apple II family — machine ROM sets
|
||||
# Apple II family: machine ROM sets
|
||||
- name: apple2.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
@@ -590,7 +590,7 @@ files:
|
||||
size: 2048
|
||||
crc32: "c506efb9"
|
||||
|
||||
# Apple II — peripheral device ROM sets
|
||||
# Apple II: peripheral device ROM sets
|
||||
- name: a2diskiing.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
@@ -1074,7 +1074,7 @@ files:
|
||||
size: 8192
|
||||
crc32: "011e106a"
|
||||
|
||||
# EACA Colour Genie — parent machine ROM set
|
||||
# EACA Colour Genie: parent machine ROM set
|
||||
- name: cgenie.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
@@ -1106,7 +1106,7 @@ files:
|
||||
size: 2048
|
||||
crc32: "4fed774a"
|
||||
|
||||
# EACA Colour Genie — clone: New Zealand
|
||||
# EACA Colour Genie: clone: New Zealand
|
||||
- name: cgenienz.zip
|
||||
required: false
|
||||
category: bios_zip
|
||||
@@ -1126,7 +1126,7 @@ files:
|
||||
size: 2048
|
||||
crc32: "4fed774a"
|
||||
|
||||
# EACA Colour Genie — expansion: FDC
|
||||
# EACA Colour Genie: expansion: FDC
|
||||
- name: cgenie_fdc.zip
|
||||
required: false
|
||||
category: bios_zip
|
||||
@@ -1151,7 +1151,7 @@ files:
|
||||
size: 8192
|
||||
crc32: "9dace9c1"
|
||||
|
||||
# Acorn Atom — parent machine ROM set
|
||||
# Acorn Atom: parent machine ROM set
|
||||
- name: atom.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
@@ -1167,7 +1167,7 @@ files:
|
||||
size: 4096
|
||||
crc32: "81d86af7"
|
||||
|
||||
# Acorn Atom — clone: Atom with BBC Basic
|
||||
# Acorn Atom: clone: Atom with BBC Basic
|
||||
- name: atombbc.zip
|
||||
required: false
|
||||
category: bios_zip
|
||||
@@ -1183,7 +1183,7 @@ files:
|
||||
size: 16384
|
||||
crc32: "79434781"
|
||||
|
||||
# Acorn Atom — clone: Busicomputers Prophet 2
|
||||
# Acorn Atom: clone: Busicomputers Prophet 2
|
||||
- name: prophet2.zip
|
||||
required: false
|
||||
category: bios_zip
|
||||
@@ -1203,7 +1203,7 @@ files:
|
||||
size: 4096
|
||||
crc32: "ecd2d08b"
|
||||
|
||||
# Acorn Atom — bus device: Disc Pack (default on pl6)
|
||||
# Acorn Atom: bus device: Disc Pack (default on pl6)
|
||||
- name: atom_discpack.zip
|
||||
required: false
|
||||
category: bios_zip
|
||||
@@ -1216,7 +1216,7 @@ files:
|
||||
size: 4096
|
||||
crc32: "c431a9b7"
|
||||
|
||||
# Acorn Atom — bus device: GDOS
|
||||
# Acorn Atom: bus device: GDOS
|
||||
- name: atom_gdos.zip
|
||||
required: false
|
||||
category: bios_zip
|
||||
@@ -1228,7 +1228,7 @@ files:
|
||||
size: 4096
|
||||
crc32: "935407cb"
|
||||
|
||||
# Acorn Atom — bus device: GDOS-2015
|
||||
# Acorn Atom: bus device: GDOS-2015
|
||||
- name: atom_gdos2015.zip
|
||||
required: false
|
||||
category: bios_zip
|
||||
@@ -1240,7 +1240,7 @@ files:
|
||||
size: 65536
|
||||
crc32: "fc790657"
|
||||
|
||||
# Acorn Atom — bus device: Speech Module
|
||||
# Acorn Atom: bus device: Speech Module
|
||||
- name: atom_speech.zip
|
||||
required: false
|
||||
category: bios_zip
|
||||
@@ -1252,7 +1252,7 @@ files:
|
||||
size: 2048
|
||||
crc32: "b504ac15"
|
||||
|
||||
# Acorn Atom — bus device: 80 Column VDU
|
||||
# Acorn Atom: bus device: 80 Column VDU
|
||||
- name: atom_vdu80.zip
|
||||
required: false
|
||||
category: bios_zip
|
||||
@@ -1559,7 +1559,7 @@ files:
|
||||
required: false
|
||||
category: bios_zip
|
||||
system: pc60
|
||||
source_ref: "src/mame/nec/pc6001.cpp:1883-1894"
|
||||
source_ref: "src/mame/nec/pc6001.cpp:1728-1740"
|
||||
contents:
|
||||
- name: basicrom.60a
|
||||
description: BASIC ROM (US)
|
||||
@@ -1605,7 +1605,7 @@ files:
|
||||
required: false
|
||||
category: bios_zip
|
||||
system: pc60
|
||||
source_ref: "src/mame/nec/pc6001.cpp:1919-1936"
|
||||
source_ref: "src/mame/nec/pc6001.cpp:1768-1791"
|
||||
contents:
|
||||
- name: basicrom.66
|
||||
description: BASIC ROM
|
||||
@@ -1695,7 +1695,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
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."
|
||||
contents:
|
||||
- name: mon11_2674.bin
|
||||
@@ -2042,7 +2042,7 @@ files:
|
||||
size: 2048
|
||||
crc32: "1765931e"
|
||||
|
||||
# TI-99/4A family — machine ROM sets
|
||||
# TI-99/4A family: machine ROM sets
|
||||
- name: ti99_4a.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
@@ -2099,7 +2099,7 @@ files:
|
||||
size: 4096
|
||||
crc32: "491c21d1"
|
||||
|
||||
# TI-99/4A — peripheral device ROM sets
|
||||
# TI-99/4A: peripheral device ROM sets
|
||||
- name: ti99_speech.zip
|
||||
required: false
|
||||
category: bios_zip
|
||||
|
||||
+36
-29
@@ -4,7 +4,7 @@ core_classification: community_fork
|
||||
source: "https://github.com/libretro/same_cdi"
|
||||
upstream: "https://github.com/mamedev/mame"
|
||||
profiled_date: "2026-03-25"
|
||||
source_commit: "8a3c2acdbeb57aea4e74aeadaa703fdc5c9c5de9"
|
||||
source_commit: "ff9bb99a50d518aef6d2add1c49b7c44447e3e78"
|
||||
core_version: "Git"
|
||||
display_name: "Philips - CDi (SAME CDi)"
|
||||
cores: [same_cdi]
|
||||
@@ -14,28 +14,30 @@ systems:
|
||||
notes: |
|
||||
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
|
||||
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/
|
||||
|
||||
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/
|
||||
|
||||
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
|
||||
for consumer CD-i games; other ZIPs are for alternate hardware models or
|
||||
Quizard arcade (unreachable without boot_from_cli core option).
|
||||
for consumer CD-i games; the other ZIPs are for alternate hardware models
|
||||
(unreachable without boot_from_cli core option).
|
||||
|
||||
The driver includes 5 system ROM sets (cdimono1, cdi910, cdimono2, cdi490a,
|
||||
cdibios) plus Quizard arcade game ROM sets (clones of cdibios with i8751
|
||||
protection MCU dumps). Upstream MAME has additional ROM sets not present
|
||||
in this fork (gpi1200, Italian Quizard variants, cdimono2 alternate BIOS).
|
||||
ROM definitions: src/mame/drivers/cdi.cpp:639-704. The fork carries four
|
||||
sets, cdimono1, cdimono2, cdi910 and cdi490a, declared at
|
||||
src/mame/drivers/cdi.cpp:713-716; the Quizard game ROMs upstream MAME
|
||||
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
|
||||
sets, cdimono1, cdi910, cdimono2 and cdi490a, declared at
|
||||
src/mame/drivers/cdi.cpp:491-494; the Quizard game ROMs upstream MAME
|
||||
keeps in this driver are not in it.
|
||||
System forced: src/osd/libretro/libretro-internal/retro_init.cpp:86,454,525.
|
||||
BIOS path: src/osd/libretro/libretro-internal/retro_init.cpp:534.
|
||||
The Mono-I machine is built with the Digital Video Cartridge, whose driver
|
||||
ROM vmpega.rom is an optional member of cdimono1.zip: without it the
|
||||
region stays zero-filled and the player boots as a bare Mono-I
|
||||
(src/mame/drivers/cdi.cpp:658-659).
|
||||
|
||||
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:
|
||||
- name: cdimono1.zip
|
||||
@@ -43,8 +45,8 @@ files:
|
||||
category: bios_zip
|
||||
system: cdi
|
||||
required: true
|
||||
note: "Forced system. Main CPU BIOS (3 region variants via MAME BIOS switch) + servo/slave MCU dumps."
|
||||
source_ref: "src/mame/drivers/cdi.cpp:491"
|
||||
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:713"
|
||||
contents:
|
||||
- name: cdi200.rom
|
||||
description: Magnavox CD-i 200 BIOS (default, US)
|
||||
@@ -71,6 +73,11 @@ files:
|
||||
size: 8192
|
||||
crc32: "688cda63"
|
||||
sha1: "56d0acd7caad51c7de703247cd6d842b36173079"
|
||||
- name: vmpega.rom
|
||||
description: Digital Video Cartridge driver ROM (optional)
|
||||
size: 262144
|
||||
crc32: "db264e8b"
|
||||
sha1: "be407fbc102f1731a0862554855e963e5a47c17b"
|
||||
|
||||
- name: cdimono2.zip
|
||||
path: "same_cdi/bios/cdimono2.zip"
|
||||
@@ -78,7 +85,7 @@ files:
|
||||
system: cdi
|
||||
required: false
|
||||
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:
|
||||
- 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
|
||||
@@ -102,7 +109,7 @@ files:
|
||||
system: cdi
|
||||
required: false
|
||||
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:
|
||||
- name: "philips__cd-i_2.1__mb834200b-15__26b_aa__9224_z01.tc574200.7211"
|
||||
description: CD-i 910-17P Mini-MMC BIOS (default)
|
||||
@@ -141,32 +148,32 @@ files:
|
||||
system: cdi
|
||||
required: false
|
||||
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:
|
||||
- name: cdi490a.rom
|
||||
description: CD-i 490 main CPU BIOS
|
||||
size: 524288
|
||||
crc32: "e2f200f6"
|
||||
sha1: "c9bf3c4c7e4fe5cbec3fe3fc993c77a4522ca547"
|
||||
- name: impega.rom
|
||||
description: MPEG audio decoder ROM
|
||||
size: 262144
|
||||
crc32: "84d6f6aa"
|
||||
sha1: "02526482a0851ea2a7b582d8afaa8ef14a8bd914"
|
||||
- name: vmpega.rom
|
||||
description: MPEG video decoder ROM
|
||||
description: Digital video driver ROM
|
||||
size: 262144
|
||||
crc32: "db264e8b"
|
||||
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:
|
||||
cdi:
|
||||
bios_path: "same_cdi/bios/"
|
||||
forced_system: "cdimono1"
|
||||
primary_zip: "cdimono1.zip"
|
||||
optional_zips: ["cdimono2.zip", "cdibios.zip"]
|
||||
mame_romsets: ["cdimono1", "cdimono2", "cdibios", "cdi910", "cdi490a"]
|
||||
optional_zips: ["cdimono2.zip", "cdi910.zip", "cdi490a.zip"]
|
||||
mame_romsets: ["cdimono1", "cdimono2", "cdi910", "cdi490a"]
|
||||
rom_path_flag: "-rp"
|
||||
rom_search_path: "<game_path>;<system_dir>/same_cdi/bios/"
|
||||
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
@@ -4,7 +4,7 @@ core_classification: community_fork
|
||||
source: "https://gitlab.com/jengun/sdltrs"
|
||||
upstream: "http://sdltrs.sourceforge.net"
|
||||
profiled_date: "2026-08-08"
|
||||
source_commit: "b008486afe41813fd2225ebb807a3e672d544f79"
|
||||
source_commit: "cb68ce3167ae9b8e2c87f69d3a8c34ffa176a993"
|
||||
core_version: "1.2.35"
|
||||
display_name: "Tandy - TRS-80 (SDL2TRS)"
|
||||
cores:
|
||||
@@ -24,37 +24,37 @@ notes: |
|
||||
|
||||
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
|
||||
Model 4P takes romfile4p (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).
|
||||
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 (src/trs_options.c:897-899).
|
||||
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.
|
||||
|
||||
-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
|
||||
order after the config file has been read (trs_options.c:1016-1036), so -m has
|
||||
they are parsed (src/trs_options.c:609-619). Options are applied in command-line
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
at or past MAX_ROM_SIZE, 18432 (trs_memory.c:63, 742-745), and trs_rom_size,
|
||||
the extent of the plain ROM mapping, is capped at 14336 (trs_cmd_rom.c:896-898).
|
||||
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 (src/trs_cmd_rom.c:896-898).
|
||||
|
||||
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.
|
||||
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
|
||||
image (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).
|
||||
image (src/trs_cmd_rom.c:875-876), and -hdboot rewrites the loaded Model I ROM in
|
||||
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
|
||||
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
|
||||
own anywhere in the tree.
|
||||
|
||||
@@ -63,9 +63,9 @@ files:
|
||||
description: "TRS-80 Model I ROM"
|
||||
required: true
|
||||
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: >
|
||||
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
|
||||
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
|
||||
@@ -75,10 +75,10 @@ files:
|
||||
description: "TRS-80 Model III and Model 4 ROM"
|
||||
required: true
|
||||
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: >
|
||||
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
|
||||
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
|
||||
@@ -89,7 +89,7 @@ files:
|
||||
description: "TRS-80 Model 4P boot ROM"
|
||||
required: false
|
||||
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: >
|
||||
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
|
||||
@@ -102,7 +102,7 @@ files:
|
||||
|
||||
analysis:
|
||||
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"
|
||||
|
||||
entries:
|
||||
@@ -159,7 +159,7 @@ analysis:
|
||||
- machine: "Prologica CP-300, CP-500 and CP-500 M80"
|
||||
slot: model3.rom
|
||||
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: >
|
||||
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
|
||||
@@ -168,41 +168,41 @@ analysis:
|
||||
- machine: "Holmes VID-80 (VX-3) on Model III"
|
||||
slot: model3.rom
|
||||
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."
|
||||
|
||||
- machine: "TCS SpeedMaster, also sold as Genie IIs"
|
||||
slot: level2.rom
|
||||
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)."
|
||||
|
||||
- machine: "Aster CT-80"
|
||||
slot: level2.rom
|
||||
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."
|
||||
|
||||
- machine: "EACA EG 3200 Genie III"
|
||||
slot: level2.rom
|
||||
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."
|
||||
|
||||
- machine: "TCS Genie IIIs"
|
||||
slot: level2.rom
|
||||
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."
|
||||
|
||||
- machine: "LNW Research LNW80/II"
|
||||
slot: level2.rom
|
||||
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."
|
||||
|
||||
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: >
|
||||
Every character set is a compiled-in bitmap table selected by -charset1,
|
||||
-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"
|
||||
entries:
|
||||
- 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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
source_ref: "src/trs_uart.c:54-56, src/trs_uart.c:144-202"
|
||||
|
||||
generated_files:
|
||||
written_and_read_back:
|
||||
- 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."
|
||||
- filename: "<name>.t8s"
|
||||
source_ref: "src/trs_state_save.c:38-66, src/trs_state_save.c:68-113"
|
||||
|
||||
Reference in new issue
Block a user