mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-10 13:33:24 -05:00
feat: profile five standalone emulators
This commit is contained in:
1 parent
0296668ec6
commit
8aceb64e1a
5 files changed
+1340
No files matched your search
@@ -0,0 +1,592 @@
|
||||
emulator: DREAMM
|
||||
type: standalone
|
||||
core_classification: other
|
||||
source: "https://dreamm.aarongiles.com/"
|
||||
upstream: "https://dreamm.aarongiles.com/"
|
||||
profiled_date: "2026-08-08"
|
||||
core_version: "4.0"
|
||||
display_name: "LucasArts (DREAMM)"
|
||||
cores:
|
||||
- dreamm
|
||||
systems:
|
||||
- dos
|
||||
- ibm-pc
|
||||
- tandy-1000
|
||||
- fmtowns
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Closed-source emulator by Aaron Giles for LucasArts, Lucasfilm Games and
|
||||
Lucas Learning titles, shipped as a single executable for Windows, macOS and
|
||||
Linux on x64 and ARM64. The game database is compiled in: 67 definitions
|
||||
covering 1013 variants, keyed on machine = pc, fmtowns or tandy and
|
||||
osenv = dos, windows or fmtowns. Windows titles run on a reimplemented Win16
|
||||
and Win32 layer carried inside the executable. The game directory is passed
|
||||
on the command line and the title is detected from its contents.
|
||||
ref: DREAMM 4.0 linux-x64, appended zip game/*.dreamm
|
||||
|
||||
Support files live in the SDL preference path for organisation
|
||||
"Aaron Giles" and application "DREAMM":
|
||||
%APPDATA%\Aaron Giles\DREAMM on Windows,
|
||||
~/Library/Application Support/Aaron Giles/DREAMM on macOS,
|
||||
$XDG_DATA_HOME/Aaron Giles/DREAMM on Linux. Paths below are relative to that
|
||||
directory. Startup writes config.json and creates install, gamedelta,
|
||||
screenshots, logs and sounddata.
|
||||
ref: SDL_GetPrefPath; strace of DREAMM 4.0 linux-x64 with a clean HOME
|
||||
|
||||
Audio hardware is set per game and per variant: speaker, cms, adlib, sb16,
|
||||
tandy, mt32 and gmidi. MT-32 and General MIDI output can go to an external
|
||||
MIDI device, to the OPL MIDI generator or to a SoundFont, so no ROM file is
|
||||
needed to play any title. ROMs add the two hardware synthesiser options.
|
||||
ref: game/*.dreamm audiohw; "Expected one of 'speaker', 'cms', 'adlib',
|
||||
'sb16', 'mt32', or 'gmidi' in audiohw"
|
||||
|
||||
MT-32 and CM-32L are emulated by a bundled munt build, unpacked at runtime
|
||||
to sounddata/mt32emu-dreamm.so and driven through mt32emu_get_service_i.
|
||||
Twelve ROM sets are declared in a table of twelve 64-byte records holding
|
||||
display name, id, control ROM full image, control chips A and B, PCM full
|
||||
image and PCM low and high halves: MT-32 v1.04, v1.05, v1.06, v1.07, Blue
|
||||
Ridge Enhanced, v2.03, v2.04, v2.06, v2.07, CM-32L v1.00, CM-32L v1.02 and
|
||||
CM-32LN v1.00. A set is offered once a control ROM is present as the full
|
||||
image or as both chips, and a PCM ROM is present as the full image or as
|
||||
both halves. The CM-32L sets name cm32l_pcm.rom as the full image,
|
||||
mt32_pcm_l.rom as the low half and cm32l_pcm_h.rom as the high half. munt
|
||||
identifies each file by size then SHA1 before opening the synth.
|
||||
ref: set table 0x23db4a8, id lookup 0x164d050, availability 0x164d2a8;
|
||||
munt ROMInfo.cpp:206-214 ROMInfo::getROMInfo
|
||||
|
||||
The SC-55 is emulated by the Nuked SC-55 CLAP plug-in, unpacked to
|
||||
sounddata/Nuked-SC55.clap, which reads one model directory under
|
||||
Nuked-SC55-Resources/ROMs. Five models are probed at startup: SC-55 v1.00,
|
||||
v1.20, v1.21, v2.00 and SC-55mk2 v1.01. The plug-in identifies a set by
|
||||
hashing the directory contents, so its own loader does not depend on the
|
||||
file names.
|
||||
ref: strace of DREAMM 4.0 linux-x64; Nuked-SC55-CLAP nuked_sc55.cpp:145-212
|
||||
GetRomBasePaths and Init, rom_loader.cpp:31-80 DetectRomsetsByHash
|
||||
|
||||
Both families install by dropping files on the Manage Sound Fonts & ROMs
|
||||
screen, or by copying them into sounddata by hand. A dropped file is matched
|
||||
against a 51-entry manifest of {crc32, size, name} sorted by name: one path
|
||||
resolves a file by name and checks its size then its CRC32, the other maps a
|
||||
size and CRC32 back to the destination paths listed below. The manifest
|
||||
sizes agree with the bundled munt ROM table. mt32_ctrl_2_03.rom is named by
|
||||
the v2.03 set but has no manifest entry, so it loads from sounddata and
|
||||
cannot be installed by drag and drop.
|
||||
ref: manifest 0x23daf78, name match 0x16456a0, reverse lookup 0x1645880;
|
||||
"To install Sound Fonts (.sf2 files) or ROMs for Roland MIDI emulation,
|
||||
drop them onto this screen."
|
||||
|
||||
SoundFonts are read from sounddata as well: the directory is scanned at
|
||||
startup and every .sf2 found becomes a MIDI output option for both MT-32 and
|
||||
GMIDI. No name and no hash is compiled in and the file keeps the name it
|
||||
arrived with, so none is listed below.
|
||||
ref: sounddata scan; "Error loading soundfont '{}': {}", "Font file '{}'
|
||||
seems to be an MT-32 set, not compatible with GMIDI"
|
||||
|
||||
Everything else the emulator reads is appended to the executable and
|
||||
unpacked at runtime: the game definitions and their icons, the copy
|
||||
protection artwork, gamecontrollerdb.txt, the shaders, the UI fonts and
|
||||
images, the two synthesiser plug-ins, and the Win16 and Win32 system files,
|
||||
fonts and sounds.
|
||||
ref: appended zip, 488 entries
|
||||
|
||||
files:
|
||||
# -- Roland MT-32 and CM-32L, sounddata/mt32emu --
|
||||
# A set needs one control ROM and one PCM ROM, each supplied as the full
|
||||
# image or as the two chip dumps.
|
||||
- name: mt32_ctrl_1_04.rom
|
||||
path: "sounddata/mt32emu/mt32_ctrl_1_04.rom"
|
||||
description: "Roland MT-32 v1.04 control ROM"
|
||||
required: false
|
||||
size: 65536
|
||||
crc32: "4c91fa96"
|
||||
sha1: "5a5cb5a77d7d55ee69657c2f870416daed52dea7"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23dafc8, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: mt32_ctrl_1_04_a.rom
|
||||
path: "sounddata/mt32emu/mt32_ctrl_1_04_a.rom"
|
||||
description: "Roland MT-32 v1.04 control ROM, chip A"
|
||||
required: false
|
||||
size: 32768
|
||||
crc32: "a93b65f2"
|
||||
sha1: "9cd4858014c4e8a9dff96053f784bfaac1092a2e"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23dafd8, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: mt32_ctrl_1_04_b.rom
|
||||
path: "sounddata/mt32emu/mt32_ctrl_1_04_b.rom"
|
||||
description: "Roland MT-32 v1.04 control ROM, chip B"
|
||||
required: false
|
||||
size: 32768
|
||||
crc32: "b5ee2192"
|
||||
sha1: "fe8db469b5bfeb37edb269fd47e3ce6d91014652"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23dafe8, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: mt32_ctrl_1_05.rom
|
||||
path: "sounddata/mt32emu/mt32_ctrl_1_05.rom"
|
||||
description: "Roland MT-32 v1.05 control ROM"
|
||||
required: false
|
||||
size: 65536
|
||||
crc32: "e6bb2b77"
|
||||
sha1: "e17a3a6d265bf1fa150312061134293d2b58288c"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23daff8, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: mt32_ctrl_1_05_a.rom
|
||||
path: "sounddata/mt32emu/mt32_ctrl_1_05_a.rom"
|
||||
description: "Roland MT-32 v1.05 control ROM, chip A"
|
||||
required: false
|
||||
size: 32768
|
||||
crc32: "3281216c"
|
||||
sha1: "57a09d80d2f7ca5b9734edbe9645e6e700f83701"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db008, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: mt32_ctrl_1_05_b.rom
|
||||
path: "sounddata/mt32emu/mt32_ctrl_1_05_b.rom"
|
||||
description: "Roland MT-32 v1.05 control ROM, chip B"
|
||||
required: false
|
||||
size: 32768
|
||||
crc32: "e06d8020"
|
||||
sha1: "52e3c6666db9ef962591a8ee99be0cde17f3a6b6"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db018, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: mt32_ctrl_1_06.rom
|
||||
path: "sounddata/mt32emu/mt32_ctrl_1_06.rom"
|
||||
description: "Roland MT-32 v1.06 control ROM"
|
||||
required: false
|
||||
size: 65536
|
||||
crc32: "d63319e8"
|
||||
sha1: "a553481f4e2794c10cfe597fef154eef0d8257de"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db028, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: mt32_ctrl_1_06_a.rom
|
||||
path: "sounddata/mt32emu/mt32_ctrl_1_06_a.rom"
|
||||
description: "Roland MT-32 v1.06 control ROM, chip A"
|
||||
required: false
|
||||
size: 32768
|
||||
crc32: "29369ae1"
|
||||
sha1: "cc83bf23cee533097fb4c7e2c116e43b50ebacc8"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db038, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: mt32_ctrl_1_06_b.rom
|
||||
path: "sounddata/mt32emu/mt32_ctrl_1_06_b.rom"
|
||||
description: "Roland MT-32 v1.06 control ROM, chip B"
|
||||
required: false
|
||||
size: 32768
|
||||
crc32: "4d495d98"
|
||||
sha1: "bf4f15666bc46679579498386704893b630c1171"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db048, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: mt32_ctrl_1_07.rom
|
||||
path: "sounddata/mt32emu/mt32_ctrl_1_07.rom"
|
||||
description: "Roland MT-32 v1.07 control ROM"
|
||||
required: false
|
||||
size: 65536
|
||||
crc32: "a7c1531b"
|
||||
sha1: "b083518fffb7f66b03c23b7eb4f868e62dc5a987"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db058, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: mt32_ctrl_1_07_a.rom
|
||||
path: "sounddata/mt32emu/mt32_ctrl_1_07_a.rom"
|
||||
description: "Roland MT-32 v1.07 control ROM, chip A"
|
||||
required: false
|
||||
size: 32768
|
||||
crc32: "67fd8968"
|
||||
sha1: "13f06b38f0d9e0fc050b6503ab777bb938603260"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db068, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: mt32_ctrl_1_07_b.rom
|
||||
path: "sounddata/mt32emu/mt32_ctrl_1_07_b.rom"
|
||||
description: "Roland MT-32 v1.07 control ROM, chip B"
|
||||
required: false
|
||||
size: 32768
|
||||
crc32: "60f45882"
|
||||
sha1: "c55e165487d71fa88bd8c5e9c083bc456c1a89aa"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db078, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: mt32_ctrl_bluer.rom
|
||||
path: "sounddata/mt32emu/mt32_ctrl_bluer.rom"
|
||||
description: "Roland MT-32 Blue Ridge Enhanced control ROM"
|
||||
required: false
|
||||
size: 65536
|
||||
crc32: "627b9a51"
|
||||
sha1: "7b8c2a5ddb42fd0732e2f22b3340dcf5360edf92"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db0b8, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: mt32_ctrl_bluer_a.rom
|
||||
path: "sounddata/mt32emu/mt32_ctrl_bluer_a.rom"
|
||||
description: "Roland MT-32 Blue Ridge Enhanced control ROM, chip A"
|
||||
required: false
|
||||
size: 32768
|
||||
crc32: "d75fc3d9"
|
||||
sha1: "11a6ae5d8b6ee328b371af7f1e40b82125aa6b4d"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db0c8, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: mt32_ctrl_bluer_b.rom
|
||||
path: "sounddata/mt32emu/mt32_ctrl_bluer_b.rom"
|
||||
description: "Roland MT-32 Blue Ridge Enhanced control ROM, chip B"
|
||||
required: false
|
||||
size: 32768
|
||||
crc32: "5816476f"
|
||||
sha1: "e0934320d7cbb5edfaa29e0d01ae835ef620085b"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db0d8, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: mt32_ctrl_2_03.rom
|
||||
path: "sounddata/mt32emu/mt32_ctrl_2_03.rom"
|
||||
description: "Roland MT-32 v2.03 control ROM"
|
||||
required: false
|
||||
size: 131072
|
||||
sha1: "5837064c9df4741a55f7c4d8787ac158dff2d3ce"
|
||||
validation: [size, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: set table 0x23db5a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: mt32_ctrl_2_04.rom
|
||||
path: "sounddata/mt32emu/mt32_ctrl_2_04.rom"
|
||||
description: "Roland MT-32 v2.04 control ROM"
|
||||
required: false
|
||||
size: 131072
|
||||
crc32: "59a49d5c"
|
||||
sha1: "2c16432b6c73dd2a3947cba950a0f4c19d6180eb"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db088, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: mt32_ctrl_2_06.rom
|
||||
path: "sounddata/mt32emu/mt32_ctrl_2_06.rom"
|
||||
description: "Roland MT-32 v2.06 control ROM"
|
||||
required: false
|
||||
size: 131072
|
||||
crc32: "94815415"
|
||||
sha1: "2869cf4c235d671668cfcb62415e2ce8323ad4ed"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db098, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: mt32_ctrl_2_07.rom
|
||||
path: "sounddata/mt32emu/mt32_ctrl_2_07.rom"
|
||||
description: "Roland MT-32 v2.07 control ROM"
|
||||
required: false
|
||||
size: 131072
|
||||
crc32: "a016b607"
|
||||
sha1: "47b52adefedaec475c925e54340e37673c11707c"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db0a8, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: cm32l_ctrl_1_00.rom
|
||||
path: "sounddata/mt32emu/cm32l_ctrl_1_00.rom"
|
||||
description: "Roland CM-32L v1.00 control ROM"
|
||||
required: false
|
||||
size: 65536
|
||||
crc32: "ee62022f"
|
||||
sha1: "73683d585cd6948cc19547942ca0e14a0319456d"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23daf88, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: cm32l_ctrl_1_02.rom
|
||||
path: "sounddata/mt32emu/cm32l_ctrl_1_02.rom"
|
||||
description: "Roland CM-32L v1.02 control ROM"
|
||||
required: false
|
||||
size: 65536
|
||||
crc32: "b998047e"
|
||||
sha1: "a439fbb390da38cada95a7cbb1d6ca199cd66ef8"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23daf98, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: cm32ln_ctrl_1_00.rom
|
||||
path: "sounddata/mt32emu/cm32ln_ctrl_1_00.rom"
|
||||
description: "Roland CM-32LN v1.00 control ROM"
|
||||
required: false
|
||||
size: 65536
|
||||
crc32: "4a3bb4ef"
|
||||
sha1: "dc1c5b1b90a4646d00f7daf3679733c7badc7077"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23daf78, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
# -- MT-32 and CM-32L PCM ROMs --
|
||||
- name: mt32_pcm.rom
|
||||
path: "sounddata/mt32emu/mt32_pcm.rom"
|
||||
description: "Roland MT-32 PCM ROM"
|
||||
required: false
|
||||
size: 524288
|
||||
crc32: "573e31cc"
|
||||
sha1: "f6b1eebc4b2d200ec6d3d21d51325d5b48c60252"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db0e8, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: mt32_pcm_l.rom
|
||||
path: "sounddata/mt32emu/mt32_pcm_l.rom"
|
||||
description: "Roland MT-32 PCM ROM, low half"
|
||||
required: false
|
||||
size: 262144
|
||||
crc32: "dd9deac3"
|
||||
sha1: "3a1e19b0cd4036623fd1d1d11f5f25995585962b"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db108, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: mt32_pcm_h.rom
|
||||
path: "sounddata/mt32emu/mt32_pcm_h.rom"
|
||||
description: "Roland MT-32 PCM ROM, high half"
|
||||
required: false
|
||||
size: 262144
|
||||
crc32: "4ee6506c"
|
||||
sha1: "2cadb99d21a6a4a6f5b61b6218d16e9b43f61d01"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db0f8, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: cm32l_pcm.rom
|
||||
path: "sounddata/mt32emu/cm32l_pcm.rom"
|
||||
description: "Roland CM-32L PCM ROM"
|
||||
required: false
|
||||
size: 1048576
|
||||
crc32: "4b961eba"
|
||||
sha1: "289cc298ad532b702461bfc738009d9ebe8025ea"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23dafa8, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
- name: cm32l_pcm_h.rom
|
||||
path: "sounddata/mt32emu/cm32l_pcm_h.rom"
|
||||
description: "Roland CM-32L PCM ROM, high half"
|
||||
required: false
|
||||
size: 524288
|
||||
crc32: "8e9ea06e"
|
||||
sha1: "3ad889fde5db5b6437cbc2eb6e305312fec3df93"
|
||||
validation: [size, crc32, sha1]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23dafb8, set table 0x23db4a8; sounddata/mt32emu-dreamm.so ROM table"
|
||||
|
||||
# -- Roland SC-55, sounddata/Nuked-SC55-Resources/ROMs --
|
||||
# One complete set per model directory; the plugin loads a single directory.
|
||||
- name: sc55_rom1.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55-v1.00/sc55_rom1.bin"
|
||||
description: "Roland SC-55 v1.00 program ROM (ROM1)"
|
||||
required: false
|
||||
size: 32768
|
||||
crc32: "d072c251"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db118"
|
||||
|
||||
- name: sc55_rom2.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55-v1.00/sc55_rom2.bin"
|
||||
description: "Roland SC-55 v1.00 program ROM (ROM2)"
|
||||
required: false
|
||||
size: 262144
|
||||
crc32: "dbaaae8f"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db128"
|
||||
|
||||
- name: sc55_waverom1.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55-v1.00/sc55_waverom1.bin"
|
||||
description: "Roland SC-55 v1.00 wave ROM (WAVEROM1)"
|
||||
required: false
|
||||
size: 1048576
|
||||
crc32: "1ac774d3"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db138"
|
||||
|
||||
- name: sc55_waverom2.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55-v1.00/sc55_waverom2.bin"
|
||||
description: "Roland SC-55 v1.00 wave ROM (WAVEROM2)"
|
||||
required: false
|
||||
size: 1048576
|
||||
crc32: "8dcc592a"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db148"
|
||||
|
||||
- name: sc55_waverom3.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55-v1.00/sc55_waverom3.bin"
|
||||
description: "Roland SC-55 v1.00 wave ROM (WAVEROM3)"
|
||||
required: false
|
||||
size: 1048576
|
||||
crc32: "e21ebc04"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db158"
|
||||
|
||||
- name: sc55_rom1.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55-v1.20/sc55_rom1.bin"
|
||||
description: "Roland SC-55 v1.20 program ROM (ROM1)"
|
||||
required: false
|
||||
size: 32768
|
||||
crc32: "4ed0d171"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db168"
|
||||
|
||||
- name: sc55_rom2.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55-v1.20/sc55_rom2.bin"
|
||||
description: "Roland SC-55 v1.20 program ROM (ROM2)"
|
||||
required: false
|
||||
size: 262144
|
||||
crc32: "ebd488fd"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db178"
|
||||
|
||||
- name: sc55_waverom1.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55-v1.20/sc55_waverom1.bin"
|
||||
description: "Roland SC-55 v1.20 wave ROM (WAVEROM1)"
|
||||
required: false
|
||||
size: 1048576
|
||||
crc32: "1ac774d3"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db188"
|
||||
|
||||
- name: sc55_waverom2.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55-v1.20/sc55_waverom2.bin"
|
||||
description: "Roland SC-55 v1.20 wave ROM (WAVEROM2)"
|
||||
required: false
|
||||
size: 1048576
|
||||
crc32: "8dcc592a"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db198"
|
||||
|
||||
- name: sc55_waverom3.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55-v1.20/sc55_waverom3.bin"
|
||||
description: "Roland SC-55 v1.20 wave ROM (WAVEROM3)"
|
||||
required: false
|
||||
size: 1048576
|
||||
crc32: "e21ebc04"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db1a8"
|
||||
|
||||
- name: sc55_rom1.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55-v1.21/sc55_rom1.bin"
|
||||
description: "Roland SC-55 v1.21 program ROM (ROM1)"
|
||||
required: false
|
||||
size: 32768
|
||||
crc32: "4ed0d171"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db1b8"
|
||||
|
||||
- name: sc55_rom2.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55-v1.21/sc55_rom2.bin"
|
||||
description: "Roland SC-55 v1.21 program ROM (ROM2)"
|
||||
required: false
|
||||
size: 262144
|
||||
crc32: "2dc58549"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db1c8"
|
||||
|
||||
- name: sc55_waverom1.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55-v1.21/sc55_waverom1.bin"
|
||||
description: "Roland SC-55 v1.21 wave ROM (WAVEROM1)"
|
||||
required: false
|
||||
size: 1048576
|
||||
crc32: "1ac774d3"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db1d8"
|
||||
|
||||
- name: sc55_waverom2.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55-v1.21/sc55_waverom2.bin"
|
||||
description: "Roland SC-55 v1.21 wave ROM (WAVEROM2)"
|
||||
required: false
|
||||
size: 1048576
|
||||
crc32: "8dcc592a"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db1e8"
|
||||
|
||||
- name: sc55_waverom3.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55-v1.21/sc55_waverom3.bin"
|
||||
description: "Roland SC-55 v1.21 wave ROM (WAVEROM3)"
|
||||
required: false
|
||||
size: 1048576
|
||||
crc32: "e21ebc04"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db1f8"
|
||||
|
||||
- name: sc55_rom1.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55-v2.00/sc55_rom1.bin"
|
||||
description: "Roland SC-55 v2.00 program ROM (ROM1)"
|
||||
required: false
|
||||
size: 32768
|
||||
crc32: "a160da90"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db208"
|
||||
|
||||
- name: sc55_rom2.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55-v2.00/sc55_rom2.bin"
|
||||
description: "Roland SC-55 v2.00 program ROM (ROM2)"
|
||||
required: false
|
||||
size: 262144
|
||||
crc32: "1768cc18"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db218"
|
||||
|
||||
- name: sc55_waverom1.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55-v2.00/sc55_waverom1.bin"
|
||||
description: "Roland SC-55 v2.00 wave ROM (WAVEROM1)"
|
||||
required: false
|
||||
size: 1048576
|
||||
crc32: "1ac774d3"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db228"
|
||||
|
||||
- name: sc55_waverom2.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55-v2.00/sc55_waverom2.bin"
|
||||
description: "Roland SC-55 v2.00 wave ROM (WAVEROM2)"
|
||||
required: false
|
||||
size: 1048576
|
||||
crc32: "8dcc592a"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db238"
|
||||
|
||||
- name: sc55_waverom3.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55-v2.00/sc55_waverom3.bin"
|
||||
description: "Roland SC-55 v2.00 wave ROM (WAVEROM3)"
|
||||
required: false
|
||||
size: 1048576
|
||||
crc32: "e21ebc04"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db248"
|
||||
|
||||
- name: rom1.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55mk2-v1.01/rom1.bin"
|
||||
description: "Roland SC-55mk2 v1.01 program ROM (ROM1)"
|
||||
required: false
|
||||
size: 32768
|
||||
crc32: "9b66631f"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db258"
|
||||
|
||||
- name: rom2.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55mk2-v1.01/rom2.bin"
|
||||
description: "Roland SC-55mk2 v1.01 program ROM (ROM2)"
|
||||
required: false
|
||||
size: 524288
|
||||
crc32: "fcee1e8e"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db268"
|
||||
|
||||
- name: rom_sm.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55mk2-v1.01/rom_sm.bin"
|
||||
description: "Roland SC-55mk2 v1.01 sub-MCU ROM (SMROM)"
|
||||
required: false
|
||||
size: 4096
|
||||
crc32: "702c0a82"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db278"
|
||||
|
||||
- name: waverom1.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55mk2-v1.01/waverom1.bin"
|
||||
description: "Roland SC-55mk2 v1.01 wave ROM (WAVEROM1)"
|
||||
required: false
|
||||
size: 2097152
|
||||
crc32: "1519d3b3"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db288"
|
||||
|
||||
- name: waverom2.bin
|
||||
path: "sounddata/Nuked-SC55-Resources/ROMs/SC-55mk2-v1.01/waverom2.bin"
|
||||
description: "Roland SC-55mk2 v1.01 wave ROM (WAVEROM2)"
|
||||
required: false
|
||||
size: 1048576
|
||||
crc32: "0f826c7f"
|
||||
validation: [size, crc32]
|
||||
source_ref: "DREAMM 4.0 linux-x64: ROM manifest 0x23db298"
|
||||
@@ -0,0 +1,282 @@
|
||||
emulator: Flycast Dojo
|
||||
type: standalone
|
||||
core_classification: enhanced_fork
|
||||
source: "https://github.com/blueminder/flycast-dojo"
|
||||
upstream: "https://github.com/flyinghead/flycast"
|
||||
source_commit: "d0e47e572b1e7b355e88bda8308c89d0c5156cbf"
|
||||
upstream_commit: "a172e0001351dfbc49b86860a13d5390b1c493fe"
|
||||
logo: "https://raw.githubusercontent.com/blueminder/flycast-dojo/master/shell/linux/flycast-dojo.png"
|
||||
profiled_date: "2026-08-08"
|
||||
core_version: "dojo-7-preview4"
|
||||
display_name: "Sega - Dreamcast/Naomi (Flycast Dojo)"
|
||||
cores:
|
||||
- flycast-dojo
|
||||
systems:
|
||||
- sega-dreamcast
|
||||
- sega-naomi
|
||||
- sega-naomi2
|
||||
- sega-atomiswave
|
||||
mode: standalone
|
||||
verification: existence
|
||||
|
||||
notes: |
|
||||
Fork of Flycast adding rollback and delay netplay, a lobby, spectating,
|
||||
replay recording and a training mode.
|
||||
|
||||
Every file below is read from the data directory, flat, with no subfolder.
|
||||
The directory is <exe>/data on Windows, $XDG_DATA_HOME/flycast-dojo or
|
||||
$HOME/.local/share/flycast-dojo on Linux, /flycast-dojo/data on Switch.
|
||||
$FLYCAST_ROOT overrides the root, $FLYCAST_BIOS_PATH adds search paths,
|
||||
and ContentPath entries are searched after the data directory.
|
||||
ref: core/linux-dist/main.cpp:157-365, core/windows/winmain.cpp:245-266,
|
||||
core/stdclass.cpp:78-97
|
||||
|
||||
The boot ROM prefix follows the platform (core/hw/holly/sb_mem.cpp:27-42):
|
||||
Dreamcast -> dc_
|
||||
NAOMI -> naomi_
|
||||
NAOMI 2 -> naomi2_
|
||||
Atomiswave -> aw_
|
||||
Boot ROM search pattern (sb_mem.cpp:254,269):
|
||||
{prefix}boot.bin, {prefix}boot.bin.bin, {prefix}bios.bin, {prefix}bios.bin.bin
|
||||
Flash search takes a single name, {prefix}nvmem.bin (sb_mem.cpp:214), or
|
||||
{prefix}nvmem.bin.net once Dojo mode is on (sb_mem.cpp:195).
|
||||
The aw_ prefix never reaches a filename: sb_mem.cpp:267 skips the boot ROM
|
||||
search on Atomiswave, whose BIOS comes from awbios.zip, and its flash
|
||||
follows the per-game arcade path (sb_mem.cpp:216).
|
||||
|
||||
Arcade BIOS archives are opened as <name>.zip, then <name>.7z
|
||||
(core/hw/naomi/naomi_cart.cpp:69-71). Each ROM inside is looked up by CRC
|
||||
then by filename; the crc field of every BIOS blob is left at zero, so the
|
||||
filename decides. No hash is checked on an archive.
|
||||
|
||||
NAOMI 2 is a platform of its own here: naomi_cart_GetPlatform returns
|
||||
DC_PLATFORM_NAOMI2 for any game whose bios field is naomi2
|
||||
(naomi_cart.cpp:646-657), which selects the naomi2_ prefix and naomi2.zip.
|
||||
|
||||
Under netplay, match playback or match recording the Dreamcast boot ROM is
|
||||
skipped and reios is forced, so both sides start from the same state.
|
||||
Product numbers T0019M and T-31101N are the two exceptions that keep the
|
||||
real BIOS (sb_mem.cpp:237-259).
|
||||
|
||||
BIOS[] also declares airlbios and naomigd. No entry of Games[] carries
|
||||
either name in its bios field and loadBios is only ever called with that
|
||||
field or the literal naomi, so neither archive is opened. The Airline
|
||||
Pilots sets use the naomi BIOS (naomi_roms.cpp:821-828,854-862).
|
||||
|
||||
flycast_roms.json ships beside the binary and lists an md5 for naomi.zip,
|
||||
naomi2.zip and awbios.zip. The only function reading them, CompareBIOS,
|
||||
has no live caller (DojoFile.cpp:228-242, DojoGui.cpp:1314,1369).
|
||||
|
||||
Distributed with the emulator and fetched at build time: data/default.zip
|
||||
and the per-game .nvmem/.eeprom/.nvmem2 netplay files from
|
||||
flycast-netplay-nvmem, data/game_values/*.json from
|
||||
flycast-dojo-game-values, training/*.lua from flycast-dojo-training, and
|
||||
flycast_roms.json.
|
||||
ref: CMakeLists.txt:1787-1834, .github/workflows/c-cpp.yml:171-192,
|
||||
shell/linux/make-appimage.sh:136-149
|
||||
|
||||
Also read but never user supplied: buttons.png overrides an on-screen
|
||||
button sheet compiled into the binary (core/rend/osd.cpp:152-171),
|
||||
mappings/*.cfg are written by the input configuration screen
|
||||
(core/input/mapping.cpp:382-445), and flycast.lua is a user script
|
||||
(core/lua/lua.cpp:746-761).
|
||||
|
||||
files:
|
||||
# -------------------------------------------------------
|
||||
# Sega Dreamcast
|
||||
# -------------------------------------------------------
|
||||
- name: dc_boot.bin
|
||||
aliases: ["dc_boot.bin.bin", "dc_bios.bin", "dc_bios.bin.bin"]
|
||||
system: sega-dreamcast
|
||||
required: false
|
||||
hle_fallback: true
|
||||
min_size: 2097152
|
||||
validation: [size]
|
||||
note: "Boot ROM. reios takes over when it is absent, and is forced under netplay, match playback and match recording. Read fails below 2 MB."
|
||||
source_ref: "core/hw/holly/sb_mem.cpp:269, core/emulator.cpp:566-569, core/hw/flashrom/flashrom.cpp:23-33"
|
||||
|
||||
- name: dc_nvmem.bin
|
||||
system: sega-dreamcast
|
||||
required: false
|
||||
min_size: 131072
|
||||
validation: [size]
|
||||
note: "Flash memory. Created and filled with factory settings when absent."
|
||||
source_ref: "core/hw/holly/sb_mem.cpp:214, core/hw/holly/sb_mem.cpp:111-187"
|
||||
|
||||
- name: dc_nvmem.bin.net
|
||||
system: sega-dreamcast
|
||||
required: false
|
||||
min_size: 131072
|
||||
validation: [size]
|
||||
note: "Flash memory used once Dojo mode is enabled, keeping netplay settings apart from local ones."
|
||||
source_ref: "core/hw/holly/sb_mem.cpp:192-195"
|
||||
|
||||
- name: font.bin
|
||||
system: sega-dreamcast
|
||||
required: false
|
||||
note: "System font served by the reios font syscall. A built-in font is used when absent."
|
||||
source_ref: "core/reios/reios.cpp:741-764, core/oslib/oslib.cpp:195-198"
|
||||
|
||||
# -------------------------------------------------------
|
||||
# Sega NAOMI
|
||||
# -------------------------------------------------------
|
||||
- name: naomi_boot.bin
|
||||
aliases: ["naomi_boot.bin.bin", "naomi_bios.bin", "naomi_bios.bin.bin"]
|
||||
system: sega-naomi
|
||||
required: false
|
||||
min_size: 2097152
|
||||
validation: [size]
|
||||
note: "Flat boot ROM. Games whose bios field is null run from it when naomi.zip is missing."
|
||||
source_ref: "core/hw/holly/sb_mem.cpp:269, core/hw/naomi/naomi_cart.cpp:202-207"
|
||||
|
||||
- name: naomi.zip
|
||||
system: sega-naomi
|
||||
required: true
|
||||
category: bios_zip
|
||||
note: "System BIOS archive. 89 game entries name it and abort without it."
|
||||
source_ref: "core/hw/naomi/naomi_roms.cpp:84-140, core/hw/naomi/naomi_cart.cpp:194-208"
|
||||
contents:
|
||||
- name: epr-21576h.ic27
|
||||
description: Japan
|
||||
size: 2097152
|
||||
- name: epr-21577h.ic27
|
||||
description: USA
|
||||
size: 2097152
|
||||
- name: epr-21578h.ic27
|
||||
description: Export
|
||||
size: 2097152
|
||||
- name: epr-21579d.ic27
|
||||
description: Korea
|
||||
size: 2097152
|
||||
|
||||
- name: f355bios.zip
|
||||
system: sega-naomi
|
||||
required: false
|
||||
category: bios_zip
|
||||
note: "Ferrari F355 Challenge twin. Required by f355twin, f355twinp and f355twn2."
|
||||
source_ref: "core/hw/naomi/naomi_roms.cpp:47-54, core/hw/naomi/naomi_roms.cpp:1689,1725,1761"
|
||||
contents:
|
||||
- name: epr-22849.ic27
|
||||
description: Japan
|
||||
size: 2097152
|
||||
- name: epr-22850.ic27
|
||||
description: USA
|
||||
size: 2097152
|
||||
- name: epr-22851.ic27
|
||||
description: Export
|
||||
size: 2097152
|
||||
|
||||
- name: f355dlx.zip
|
||||
system: sega-naomi
|
||||
required: false
|
||||
category: bios_zip
|
||||
note: "Ferrari F355 Challenge deluxe. Required by f355."
|
||||
source_ref: "core/hw/naomi/naomi_roms.cpp:56-70, core/hw/naomi/naomi_roms.cpp:1645"
|
||||
contents:
|
||||
- name: epr-21862.ic27
|
||||
description: Japan
|
||||
size: 2097152
|
||||
- name: epr-21863.ic27
|
||||
description: USA
|
||||
size: 2097152
|
||||
- name: epr-21864.ic27
|
||||
description: Export
|
||||
size: 2097152
|
||||
|
||||
- name: hod2bios.zip
|
||||
system: sega-naomi
|
||||
required: false
|
||||
category: bios_zip
|
||||
note: "House of the Dead 2. Required by hotd2, hotd2o, hotd2e and hotd2p."
|
||||
source_ref: "core/hw/naomi/naomi_roms.cpp:72-82, core/hw/naomi/naomi_roms.cpp:2003,2042,2081,2120"
|
||||
contents:
|
||||
- name: epr-21329.ic27
|
||||
description: Japan
|
||||
size: 2097152
|
||||
- name: epr-21330.ic27
|
||||
description: USA
|
||||
size: 2097152
|
||||
- name: epr-21331.ic27
|
||||
description: Export
|
||||
size: 2097152
|
||||
|
||||
# -------------------------------------------------------
|
||||
# Sega NAOMI 2
|
||||
# -------------------------------------------------------
|
||||
- name: naomi2_boot.bin
|
||||
aliases: ["naomi2_boot.bin.bin", "naomi2_bios.bin", "naomi2_bios.bin.bin"]
|
||||
system: sega-naomi2
|
||||
required: false
|
||||
min_size: 2097152
|
||||
validation: [size]
|
||||
note: "Flat boot ROM for the NAOMI 2 platform."
|
||||
source_ref: "core/hw/holly/sb_mem.cpp:35-36,269"
|
||||
|
||||
- name: naomi2.zip
|
||||
system: sega-naomi2
|
||||
required: true
|
||||
category: bios_zip
|
||||
note: "System BIOS archive. All 43 NAOMI 2 game entries name it and abort without it."
|
||||
source_ref: "core/hw/naomi/naomi_roms.cpp:166-172, core/hw/naomi/naomi_cart.cpp:646-657"
|
||||
contents:
|
||||
- name: epr-23605c.ic27
|
||||
description: Japan
|
||||
size: 2097152
|
||||
- name: epr-23607c.ic27
|
||||
description: USA
|
||||
size: 2097152
|
||||
- name: epr-23608c.ic27
|
||||
description: Export
|
||||
size: 2097152
|
||||
|
||||
# -------------------------------------------------------
|
||||
# Sammy Atomiswave
|
||||
# -------------------------------------------------------
|
||||
- name: awbios.zip
|
||||
system: sega-atomiswave
|
||||
required: true
|
||||
category: bios_zip
|
||||
note: "System BIOS archive. All 34 Atomiswave game entries name it and abort without it."
|
||||
source_ref: "core/hw/naomi/naomi_roms.cpp:38-45, core/hw/naomi/naomi_cart.cpp:194-208"
|
||||
contents:
|
||||
- name: bios0.ic23
|
||||
size: 131072
|
||||
|
||||
# -------------------------------------------------------
|
||||
# Input
|
||||
# -------------------------------------------------------
|
||||
- name: gamecontrollerdb.txt
|
||||
required: false
|
||||
category: game_data
|
||||
note: "SDL controller mapping database, read from the data directory then the config directory. Not part of the release archive. SDL built-in mappings are used when absent."
|
||||
source_ref: "core/sdl/sdl.cpp:183-191"
|
||||
|
||||
platform_details:
|
||||
dreamcast:
|
||||
bios_size: 2097152
|
||||
flash_size: 131072
|
||||
ram_size: 16777216
|
||||
hle_available: true
|
||||
source_ref: "core/emulator.cpp:436-442"
|
||||
|
||||
naomi:
|
||||
bios_size: 2097152
|
||||
sram_size: 32768
|
||||
ram_size: 33554432
|
||||
hle_available: false
|
||||
source_ref: "core/emulator.cpp:443-449"
|
||||
|
||||
naomi2:
|
||||
bios_size: 2097152
|
||||
sram_size: 32768
|
||||
ram_size: 33554432
|
||||
eram_size: 33554432
|
||||
hle_available: false
|
||||
source_ref: "core/emulator.cpp:450-458"
|
||||
|
||||
atomiswave:
|
||||
bios_size: 131072
|
||||
sram_size: 131072
|
||||
ram_size: 16777216
|
||||
hle_available: false
|
||||
source_ref: "core/emulator.cpp:459-465"
|
||||
@@ -0,0 +1,229 @@
|
||||
emulator: Gargoyle
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/garglk/garglk"
|
||||
upstream: "https://github.com/garglk/garglk"
|
||||
profiled_date: "2026-08-08"
|
||||
source_commit: "5717fbf3f9d6f2341773d0cc03f19d96c463af72"
|
||||
core_version: "2026.1"
|
||||
display_name: "Interactive Fiction (Gargoyle)"
|
||||
cores:
|
||||
- gargoyle
|
||||
systems:
|
||||
- adrift
|
||||
- advsys
|
||||
- agt
|
||||
- alan
|
||||
- glulx
|
||||
- hugo
|
||||
- jacl
|
||||
- level9
|
||||
- magnetic-scrolls
|
||||
- scott-adams
|
||||
- scott-adams-plus
|
||||
- tads
|
||||
- taylormade
|
||||
- zmachine
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Interactive fiction player built on the Glk library implementation garglk,
|
||||
shipping one interpreter binary per story format. The gargoyle binary reads
|
||||
the first 32 bytes of the file, matches it against a magic-number table,
|
||||
falls back to the extension, and executes the matching interpreter.
|
||||
ref: launcher.cpp:100-177 (probe, extensions, interpreters), 379-419 (rungame)
|
||||
|
||||
Formats and the interpreter each one runs: Adrift 4 (scare), Adrift 5
|
||||
(FrankenDrift), AdvSys (advsys), AGT (agility), Alan 2 (alan2), Alan 3
|
||||
(alan3), Glulx (git), Hugo (hugo), JACL (jacl), Level 9 (level9), Magnetic
|
||||
Scrolls (magnetic), Scott Adams Graphic Adventures Plus (plus), Scott Adams
|
||||
(scott), TADS 2 and 3 (tadsr), TaylorMade (taylor), Z-machine (bocfel).
|
||||
Blorb files are unwrapped first and dispatched on the Exec chunk type.
|
||||
ref: launcher.cpp:45-60 (interpreter names), 276-328 (runblorb)
|
||||
|
||||
Adrift 5 needs the FrankenDrift runner, a .NET build option that is off by
|
||||
default, including in the official AppImage. Without it the launcher reports
|
||||
that Adrift 5 is unsupported and stops.
|
||||
ref: CMakeLists.txt:63 (WITH_FRANKENDRIFT), gargoyle-appimage.sh:14,
|
||||
launcher.cpp:160-162,202-206
|
||||
|
||||
Every glyph is drawn through FreeType rather than by the operating system,
|
||||
so a font file has to be reachable. The default config asks for the families
|
||||
"Gargoyle Mono" and "Gargoyle Serif"; if fontconfig cannot resolve them, the
|
||||
interpreter loads the shipped TTF files by name from the data directory,
|
||||
then the executable directory, then the working directory, and calls
|
||||
winabort() when all three miss.
|
||||
ref: garglk.h:661-662 (defaults), garglk.ini:195,198, fontfc.cpp:83-154
|
||||
(fontconfig lookup), draw.cpp:260-287 (path fallbacks), 300-350
|
||||
(make_font, abort), 490-498 (file names)
|
||||
|
||||
Gargoyle Serif is Charis SIL and Gargoyle Mono is Go Mono, both renamed so
|
||||
they can be installed system-wide without clashing. Font embedding was
|
||||
dropped because the OFL and the GPL do not mix, which is why the files are
|
||||
loaded from disk.
|
||||
ref: fonts/README
|
||||
|
||||
Data directory by platform: /usr/share/gargoyle on Unix,
|
||||
<binary>/../share/gargoyle for the AppImage, the install directory on
|
||||
Windows, and the bundle Resources directory on macOS. Fonts sit at its root
|
||||
and themes in its themes subdirectory. macOS keeps the eight Gargoyle faces
|
||||
in Resources/Fonts and Unifont in Resources; the Windows installer also
|
||||
registers the eight faces as system fonts.
|
||||
ref: sysqt.cpp:898-942, sysmac.mm:986-1003, garglk/CMakeLists.txt:136,144,
|
||||
510-534, gargoyle_osx.sh:120-121,207-209, installer.nsi:89-90,200-207
|
||||
|
||||
Themes are read from every *.json in the theme directories, which are the
|
||||
Qt application data locations plus the executable directory on Windows and
|
||||
the data directory for the AppImage. A parse failure is reported and the
|
||||
file skipped. The light and dark themes are also compiled into the binary,
|
||||
so the on-disk copies of those two replace identical entries.
|
||||
ref: theme.cpp:266-319, sysqt.cpp:920-942, garglk/CMakeLists.txt:80-92
|
||||
|
||||
garglk.ini is not distributed: the default config is compiled in as a string
|
||||
and written to the highest-priority user location on demand. Installing a
|
||||
system copy is an off-by-default build option.
|
||||
ref: config.cpp:399-449, garglk/CMakeLists.txt:14 (INSTALL_GARGLKINI),
|
||||
garglk/CMakeLists.txt:60-78 (vtk_encode_string)
|
||||
|
||||
MIDI in Blorb resources goes through FluidSynth, which needs a SoundFont.
|
||||
Gargoyle names none: the soundfont list is empty unless the user sets it in
|
||||
garglk.ini or the build hardcodes one, and the fallback is whatever
|
||||
FluidSynth reports as its own default.
|
||||
ref: config.cpp:245-249,787-795, snddecode.cpp:373-395,
|
||||
garglk/CMakeLists.txt:57 (DEFAULT_SOUNDFONT), INSTALL.md:137-141
|
||||
|
||||
Story files are content. Formats that carry companion data read it from the
|
||||
story file's own name or directory, so it travels with the game: Level 9
|
||||
graphics as PICTURE.DAT, Magnetic Scrolls graphics and hints as .gfx and
|
||||
.hnt, Alan 3 resources as .a3r, TADS resources as .t3r, and the extra disk
|
||||
sides the Scott Adams, Plus and TaylorMade interpreters read from C64,
|
||||
Atari 8-bit and Apple II images.
|
||||
ref: level9/Glk/glk.c:6415-6450, magnetic/Glk/glk.c:5758-5855,
|
||||
terps/CMakeLists.txt:69,73,359,404,500 (c64diskimage, unp64)
|
||||
|
||||
exclusion_note: >
|
||||
TADS character mapping files are not loaded by this build. The Glk port
|
||||
reports utf-8 and asc7dflt as the local character sets, both built-in
|
||||
tables, and its os_gen_charmap_filename() returns an empty name, so the
|
||||
automatic .tcp lookup never runs; cmap_load() only fires for a path given
|
||||
with -ctab. The agil.cfg read by AGiliTy lives in os_dos.c and os_dos16.c,
|
||||
while the build compiles os_glk.c.
|
||||
ref: tads/glk/osmisc.c:69-72,316-334, tads/tads2/cmap.c:290-315,
|
||||
tads/tads2/trd.c:513-517, terps/CMakeLists.txt:111-119
|
||||
|
||||
files:
|
||||
# -- Text fonts, data directory root --
|
||||
# Loaded by name when fontconfig cannot resolve the configured families.
|
||||
# Gargoyle aborts when a face is available from neither source.
|
||||
- name: "Gargoyle-Mono.ttf"
|
||||
description: "Gargoyle Mono regular (Go Mono)"
|
||||
required: true
|
||||
source_ref: "draw.cpp:491 (make_entry monor), 300-350 (make_font, winabort)"
|
||||
|
||||
- name: "Gargoyle-Mono-Bold.ttf"
|
||||
description: "Gargoyle Mono bold (Go Mono)"
|
||||
required: true
|
||||
source_ref: "draw.cpp:492 (make_entry monob), 300-350 (make_font, winabort)"
|
||||
|
||||
- name: "Gargoyle-Mono-Italic.ttf"
|
||||
description: "Gargoyle Mono italic (Go Mono)"
|
||||
required: true
|
||||
source_ref: "draw.cpp:493 (make_entry monoi), 300-350 (make_font, winabort)"
|
||||
|
||||
- name: "Gargoyle-Mono-Bold-Italic.ttf"
|
||||
description: "Gargoyle Mono bold italic (Go Mono)"
|
||||
required: true
|
||||
source_ref: "draw.cpp:494 (make_entry monoz), 300-350 (make_font, winabort)"
|
||||
|
||||
- name: "Gargoyle-Serif.ttf"
|
||||
description: "Gargoyle Serif regular (Charis SIL)"
|
||||
required: true
|
||||
source_ref: "draw.cpp:495 (make_entry propr), 300-350 (make_font, winabort)"
|
||||
|
||||
- name: "Gargoyle-Serif-Bold.ttf"
|
||||
description: "Gargoyle Serif bold (Charis SIL)"
|
||||
required: true
|
||||
source_ref: "draw.cpp:496 (make_entry propb), 300-350 (make_font, winabort)"
|
||||
|
||||
- name: "Gargoyle-Serif-Italic.ttf"
|
||||
description: "Gargoyle Serif italic (Charis SIL)"
|
||||
required: true
|
||||
source_ref: "draw.cpp:497 (make_entry propi), 300-350 (make_font, winabort)"
|
||||
|
||||
- name: "Gargoyle-Serif-Bold-Italic.ttf"
|
||||
description: "Gargoyle Serif bold italic (Charis SIL)"
|
||||
required: true
|
||||
source_ref: "draw.cpp:498 (make_entry propz), 300-350 (make_font, winabort)"
|
||||
|
||||
# -- Glyph substitution fonts, data directory root --
|
||||
# Tried for every face after the main fonts; a load failure is skipped.
|
||||
- name: "unifont.otf"
|
||||
description: "GNU Unifont, Basic Multilingual Plane glyph fallback"
|
||||
required: false
|
||||
source_ref: "draw.cpp:352-375 (make_substitution_fonts), 476-478"
|
||||
note: >
|
||||
Covers glyphs missing from the text fonts. Loaded directly rather than
|
||||
through the system font mechanism, so it is not installed system-wide.
|
||||
|
||||
- name: "unifont_upper.otf"
|
||||
description: "GNU Unifont, planes above the BMP"
|
||||
required: false
|
||||
source_ref: "draw.cpp:352-375 (make_substitution_fonts), 476-478"
|
||||
|
||||
# -- Color themes, themes subdirectory --
|
||||
# Every *.json in the theme directories is parsed, keyed on its name field.
|
||||
- name: "Blue.json"
|
||||
path: "themes/Blue.json"
|
||||
description: "Blue color theme"
|
||||
required: false
|
||||
source_ref: "theme.cpp:304-316, garglk/CMakeLists.txt:524"
|
||||
|
||||
- name: "Breeze Darker.json"
|
||||
path: "themes/Breeze Darker.json"
|
||||
description: "Breeze Darker color theme"
|
||||
required: false
|
||||
source_ref: "theme.cpp:304-316, garglk/CMakeLists.txt:525"
|
||||
|
||||
- name: "Lectrote Dark.json"
|
||||
path: "themes/Lectrote Dark.json"
|
||||
description: "Lectrote Dark color theme"
|
||||
required: false
|
||||
source_ref: "theme.cpp:304-316, garglk/CMakeLists.txt:526"
|
||||
|
||||
- name: "Lectrote Sepia.json"
|
||||
path: "themes/Lectrote Sepia.json"
|
||||
description: "Lectrote Sepia color theme"
|
||||
required: false
|
||||
source_ref: "theme.cpp:304-316, garglk/CMakeLists.txt:527"
|
||||
|
||||
- name: "Lectrote Slate.json"
|
||||
path: "themes/Lectrote Slate.json"
|
||||
description: "Lectrote Slate color theme"
|
||||
required: false
|
||||
source_ref: "theme.cpp:304-316, garglk/CMakeLists.txt:528"
|
||||
|
||||
- name: "Pencil.json"
|
||||
path: "themes/Pencil.json"
|
||||
description: "Pencil color theme"
|
||||
required: false
|
||||
source_ref: "theme.cpp:304-316, garglk/CMakeLists.txt:529"
|
||||
|
||||
- name: "Zoom.json"
|
||||
path: "themes/Zoom.json"
|
||||
description: "Zoom color theme"
|
||||
required: false
|
||||
source_ref: "theme.cpp:304-316, garglk/CMakeLists.txt:530"
|
||||
|
||||
- name: "dark.json"
|
||||
path: "themes/dark.json"
|
||||
description: "Dark color theme"
|
||||
required: false
|
||||
source_ref: "theme.cpp:268-282,304-316, garglk/CMakeLists.txt:80-85,531"
|
||||
note: "Also compiled in as the built-in dark theme."
|
||||
|
||||
- name: "light.json"
|
||||
path: "themes/light.json"
|
||||
description: "Light color theme"
|
||||
required: false
|
||||
source_ref: "theme.cpp:268-282,304-316, garglk/CMakeLists.txt:87-92,532"
|
||||
note: "Also compiled in as the built-in light theme."
|
||||
@@ -0,0 +1,169 @@
|
||||
emulator: Gopher2600
|
||||
type: standalone
|
||||
core_classification: other
|
||||
source: "https://github.com/JetSetIlly/Gopher2600"
|
||||
upstream: "https://github.com/JetSetIlly/Gopher2600"
|
||||
profiled_date: "2026-08-08"
|
||||
source_commit: "7f9b2f73630979c0f38dbde4c6f3c7162d99bac1"
|
||||
core_version: "v0.57.0"
|
||||
display_name: "Atari - 2600 (Gopher2600)"
|
||||
cores:
|
||||
- gopher2600
|
||||
systems:
|
||||
- atari-2600
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Atari 2600 emulator written in Go. The 6507, TIA and RIOT are emulated in
|
||||
software and the console needs no ROM of its own, so a plain cartridge boots
|
||||
with nothing supplied.
|
||||
|
||||
Supercharger emulation is the only path that reads a BIOS. NewSupercharger
|
||||
branches three ways (supercharger.go:93-119). A tape held as WAV or MP3 sets
|
||||
Loader.IsSoundData and calls loadBIOS, and the error is returned, so the
|
||||
cartridge fails to attach without the file. A demo unit image calls loadBIOS
|
||||
and substitutes fastloadOnlyBIOS() on failure. Everything else, including the
|
||||
usual Supercharger BIN, takes fastloadOnlyBIOS() without ever looking for the
|
||||
file: a 2048 byte stub holding a touch of the tape load register and the CPU
|
||||
jump table (bios.go:151-166).
|
||||
|
||||
loadBIOS reads the current working directory, then the directory holding the
|
||||
tape or BIN, then the configuration directory (bios.go:53-116). Each candidate
|
||||
name is tried in turn and the content is gated on MD5 before the caller checks
|
||||
the 2048 byte length, so a file under the right name with the wrong content is
|
||||
refused. ReqSpec selects the PAL table and the PAL hash (bios.go:56-59);
|
||||
ReqSpec comes from the television specification, the stella.pro entry or the
|
||||
filename (cartridgeloader/loader.go:194-201).
|
||||
|
||||
The demo unit is recognised by MD5 of the 256 bytes at 0x300 of the loaded
|
||||
image (demounit.go:58,78). When that image carries more than 2048 bytes it
|
||||
holds the Schweber chip and the carousel together; otherwise the eight ROMs
|
||||
are read from the directory of the loaded file (demounit_controller.go:
|
||||
178-200). A read error or a length other than 8192 logs and returns nil, and
|
||||
the peripheral is left unplugged.
|
||||
|
||||
stella.pro is Stella's cartridge properties database, read from the
|
||||
configuration directory (properties.go:28,48-58). It is loaded by
|
||||
NewDebugger (debugger.go:356), which drives play as well as debug
|
||||
(gopher2600.go:261,307,326), so it applies to the plain `gopher2600 <rom>`
|
||||
invocation. A missing file is logged and start-up continues; the ROM selector
|
||||
then falls back to the filename and no television specification is inferred
|
||||
from the cartridge name.
|
||||
|
||||
The ROM selector also reads a Named_Boxarts directory from the configuration
|
||||
directory, listing it at start-up and fuzzy matching the cartridge name
|
||||
against the entries before reading one image (win_rom_select.go:92,127-138,
|
||||
678-689). It holds the box art of the libretro-thumbnails Atari 2600 set,
|
||||
pinned upstream at commit 4ea759821724d6c7bcf2f46020d79fc4270ed2f6
|
||||
(win_rom_select.go:91). Its content is whatever the user copies in and no
|
||||
name is fixed by the code, so it carries no file entry here.
|
||||
|
||||
Fonts, shaders, bevels, the CPU instruction table and the Movie Cart core are
|
||||
compiled in with go:embed. The remaining paths under the configuration
|
||||
directory are written by the emulator or authored by hand: preferences,
|
||||
debugger_imgui.ini, managerState, managerHotkeys, savekey, fa2_nvram,
|
||||
elf_nvram, regression, patches and setupDB. ARM map files and DWARF sources
|
||||
are read from a project build tree beside the ROM. AtariVox speech calls the
|
||||
festival binary as a process, with the path taken from preferences
|
||||
(atarivox_preferences.go:51).
|
||||
|
||||
files:
|
||||
- name: "Supercharger BIOS.bin"
|
||||
system: atari-2600
|
||||
aliases:
|
||||
- "Supercharger.BIOS.bin"
|
||||
- "Supercharger_BIOS.bin"
|
||||
- "supercharger_bios.bin"
|
||||
- "SUPERCHARGER_BIOS.bin"
|
||||
region: "NTSC"
|
||||
required: false
|
||||
hle_fallback: true
|
||||
size: 2048
|
||||
md5: "4565c1a7abce773e53c75b35414adefd"
|
||||
validation: [size, md5]
|
||||
description: "Starpath Supercharger BIOS, required to load a tape held as WAV or MP3"
|
||||
source_ref: "hardware/memory/cartridge/supercharger/bios.go:30-36,45,53-116,141"
|
||||
|
||||
- name: "Supercharger BIOS PAL.bin"
|
||||
system: atari-2600
|
||||
aliases:
|
||||
- "Supercharger_BIOS_PAL.bin"
|
||||
- "SUPERCHARGER_BIOS_PAL.bin"
|
||||
region: "PAL"
|
||||
required: false
|
||||
hle_fallback: true
|
||||
size: 2048
|
||||
md5: "4a8c743396b8ad69d97e6fd3dd3e3132"
|
||||
validation: [size, md5]
|
||||
description: "PAL Supercharger BIOS, selected when the loader resolves a PAL specification"
|
||||
source_ref: "hardware/memory/cartridge/supercharger/bios.go:38-42,46,56-59,141"
|
||||
|
||||
- name: "Starpath Demonstration Unit 1P.bin"
|
||||
system: atari-2600
|
||||
required: false
|
||||
size: 8192
|
||||
validation: [size]
|
||||
description: "Demo unit carousel ROM 1, read from the directory of the loaded image"
|
||||
source_ref: "hardware/memory/cartridge/supercharger/demounit_controller.go:37-46,178-200"
|
||||
|
||||
- name: "Starpath Demonstration Unit 2P.bin"
|
||||
system: atari-2600
|
||||
required: false
|
||||
size: 8192
|
||||
validation: [size]
|
||||
description: "Demo unit carousel ROM 2, read from the directory of the loaded image"
|
||||
source_ref: "hardware/memory/cartridge/supercharger/demounit_controller.go:37-46,178-200"
|
||||
|
||||
- name: "Starpath Demonstration Unit 3P.bin"
|
||||
system: atari-2600
|
||||
required: false
|
||||
size: 8192
|
||||
validation: [size]
|
||||
description: "Demo unit carousel ROM 3, read from the directory of the loaded image"
|
||||
source_ref: "hardware/memory/cartridge/supercharger/demounit_controller.go:37-46,178-200"
|
||||
|
||||
- name: "Starpath Demonstration Unit 4P.bin"
|
||||
system: atari-2600
|
||||
required: false
|
||||
size: 8192
|
||||
validation: [size]
|
||||
description: "Demo unit carousel ROM 4, read from the directory of the loaded image"
|
||||
source_ref: "hardware/memory/cartridge/supercharger/demounit_controller.go:37-46,178-200"
|
||||
|
||||
- name: "Starpath Demonstration Unit 5P.bin"
|
||||
system: atari-2600
|
||||
required: false
|
||||
size: 8192
|
||||
validation: [size]
|
||||
description: "Demo unit carousel ROM 5, read from the directory of the loaded image"
|
||||
source_ref: "hardware/memory/cartridge/supercharger/demounit_controller.go:37-46,178-200"
|
||||
|
||||
- name: "Starpath Demonstration Unit 6P.bin"
|
||||
system: atari-2600
|
||||
required: false
|
||||
size: 8192
|
||||
validation: [size]
|
||||
description: "Demo unit carousel ROM 6, read from the directory of the loaded image"
|
||||
source_ref: "hardware/memory/cartridge/supercharger/demounit_controller.go:37-46,178-200"
|
||||
|
||||
- name: "Starpath Demonstration Unit 7P.bin"
|
||||
system: atari-2600
|
||||
required: false
|
||||
size: 8192
|
||||
validation: [size]
|
||||
description: "Demo unit carousel ROM 7, read from the directory of the loaded image"
|
||||
source_ref: "hardware/memory/cartridge/supercharger/demounit_controller.go:37-46,178-200"
|
||||
|
||||
- name: "Starpath Demonstration Unit 8P.bin"
|
||||
system: atari-2600
|
||||
required: false
|
||||
size: 8192
|
||||
validation: [size]
|
||||
description: "Demo unit carousel ROM 8, read from the directory of the loaded image"
|
||||
source_ref: "hardware/memory/cartridge/supercharger/demounit_controller.go:37-46,178-200"
|
||||
|
||||
- name: "stella.pro"
|
||||
system: atari-2600
|
||||
required: false
|
||||
description: "Stella cartridge properties database, keyed by cartridge MD5"
|
||||
source_ref: "properties/properties.go:28,48-58; debugger/debugger.go:356"
|
||||
@@ -0,0 +1,68 @@
|
||||
emulator: gopher64
|
||||
type: standalone
|
||||
core_classification: other
|
||||
source: "https://github.com/gopher64/gopher64"
|
||||
upstream: "https://github.com/gopher64/gopher64"
|
||||
profiled_date: "2026-08-08"
|
||||
source_commit: "efe78e544a96ac6724a2c2651d8f0a62044e7467"
|
||||
core_version: "v1.1.34"
|
||||
display_name: "Nintendo - Nintendo 64 (gopher64)"
|
||||
cores:
|
||||
- gopher64
|
||||
systems:
|
||||
- nintendo-64
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Nintendo 64 emulator written in Rust by Logan McNaughton, with parallel-rdp
|
||||
driving the RDP and rcheevos providing RetroAchievements. Portions of the
|
||||
emulation are adapted from mupen64plus and ares. ES-DE and RetroBat both run
|
||||
the release binary, RetroBat in portable mode.
|
||||
|
||||
The boot chain reads no file. Both PIF ROMs are compiled in as 1984 byte
|
||||
arrays, the size of the PIF ROM window (src/device/pif/rom.rs:1,90;
|
||||
src/device/pif.rs:7). reset_pif installs the PAL image when the cartridge
|
||||
country code is one of DFIPSUXY and the NTSC image otherwise
|
||||
(src/device/pif.rs:252-257, src/device/cart/rom.rs:137-143), and the VR4300
|
||||
runs IPL1 and IPL2 out of that array: reads below the PIF RAM offset are
|
||||
served from it and writes there panic (src/device/pif.rs:31-58). The CIC needs
|
||||
no file either. set_cic hashes the cartridge IPL3 region with SHA-256 and maps
|
||||
the six known digests to a seed byte, with the 6102 seed as the fallback
|
||||
(src/device/cart/rom.rs:147-175).
|
||||
|
||||
64DD is not emulated, so no IPL image is involved.
|
||||
|
||||
A Transfer Pak port reads two files whose paths come from the configuration,
|
||||
gb_rom_path and gb_ram_path, and attaches them when both are set
|
||||
(src/lib.rs:194-200). The pair is a Game Boy cartridge and its save, supplied
|
||||
by the player: the loader takes the ROM as is and only inspects the tail of
|
||||
the RAM for MBC3 clock state (src/device/controller/gbcart.rs:37-75), then
|
||||
writes the RAM back on shutdown (src/lib.rs:276-288). The code fixes no name,
|
||||
size or hash for either, so neither carries a file entry here.
|
||||
|
||||
The SC64 SD card image is created rather than obtained: an empty save is
|
||||
resized to 64 MB and FAT formatted on first access
|
||||
(src/device/cart/sc64.rs:4,34-38). Cartridges come from argv, plain or as the
|
||||
first matching entry of a zip or 7z archive (src/device.rs:188-256).
|
||||
|
||||
Everything else under the configuration, data and cache directories is written
|
||||
by the emulator: config.json and cheats.json (src/ui/config.rs:99-111,134-146),
|
||||
retroachievements.json (src/lib.rs:209; src/retroachievements.rs:37,61),
|
||||
ice_config.json from the netplay server response (src/ui/netplay.rs:713-716,
|
||||
src/netplay.rs:419), the eeprom, sram, flash, mempak, sdcard and romsave saves
|
||||
and the savestates (src/ui/storage.rs:212-232; src/savestates.rs:179,236). For
|
||||
a netplay launch the GUI serialises the cheats to the cache directory, passes
|
||||
them to a re-exec of itself through the hidden --cheats flag and deletes the
|
||||
file afterwards (src/ui/gui.rs:583-593,600-615,630; src/lib.rs:141-147).
|
||||
portable.txt is tested for existence only, to move those three directories
|
||||
beside the executable (src/ui.rs:164-178).
|
||||
|
||||
Compiled-in data: the cheat database (src/cheats.rs:31), the No-Intro
|
||||
Nintendo 64 export that names entries in the ROM browser
|
||||
(src/ui/gui.rs:688-690), the RobotoMono face handed to SDL_ttf from memory
|
||||
(src/ui/video.rs:109, src/ui/input_profile.rs:99), the parallel-rdp SPIR-V
|
||||
modules (parallel-rdp/spirv.hpp and parallel-rdp/spirv_crt.hpp, used at
|
||||
parallel-rdp/interface.cpp:4-5,615) and the Slint translations bundled at
|
||||
build time (build.rs:11).
|
||||
|
||||
files: []
|
||||
Reference in new issue
Block a user