mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-21 03:09:08 -05:00
feat: profile what RetroBat and RetroPie run
100 emulator names the two platforms run had no profile, so their packs carried nothing for them. Each was read from the platform's own launcher or scriptmodule: the same program as an existing profile takes the name in cores:, a different build gets its own profile read from that version, a launcher or self-contained game goes to remove_cores, and the rest are new profiles written from their source or shipped binary. The files they need that the collection lacked are collected from the upstream distributions. Bungie and splitwolf trees are read by path and stay out of dedup.
This commit is contained in:
1 parent
9f8a2a9fe2
commit
bb19a6d5cf
2923 files changed
+525618
-109
No files matched your search
@@ -0,0 +1,111 @@
|
||||
emulator: 2 Ship 2 Harkinian
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/HarbourMasters/2ship2harkinian"
|
||||
upstream: "https://github.com/HarbourMasters/2ship2harkinian"
|
||||
source_commit: "8a24047fbce8915993804e7819f4df4fa591551f"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "5.0.1"
|
||||
display_name: "The Legend of Zelda: Majora's Mask (2 Ship 2 Harkinian)"
|
||||
cores: [2ship]
|
||||
systems: [2ship]
|
||||
|
||||
notes: |
|
||||
PC port of The Legend of Zelda: Majora's Mask built on the decompilation,
|
||||
by HarbourMasters. The game runs from assets extracted out of the user's
|
||||
N64 or GameCube Collector's Edition ROM into mm.o2r, plus the port's own
|
||||
archive 2ship.o2r, on the libultraship runtime. ZAPDTR and OTRExporter
|
||||
perform the extraction inside the executable.
|
||||
|
||||
RetroBat installs the 5.0.1 release ("Battler Bravo"): its 2ship.7z carries
|
||||
the 2ship.exe, 2ship.o2r, gamecontrollerdb.txt and assets tree of
|
||||
2Ship-Battler-Bravo-Win64.zip byte for byte, so the profile is pinned to the
|
||||
5.0.1 tag. Its launcher passes the ROM on the command line when mm.o2r is
|
||||
absent (only a .z64, .n64 or .v64 file, else it copies the ROM beside the
|
||||
executable), and deletes mm.o2r first when the major version stored in it
|
||||
differs from the one in 2ship.o2r, so the archive is regenerated.
|
||||
ref: emulatorLauncher Generators/PortsLauncher.Configuration.cs:1528-1564
|
||||
|
||||
Startup:
|
||||
1. 2ship.o2r is located in the application directories and its stored
|
||||
port version must equal the build in major, minor and patch. A
|
||||
missing or outdated 2ship.o2r shows an error and exits
|
||||
(mm/2s2h/BenPort.cpp:149-153, 345-370).
|
||||
2. mm.o2r is regenerated when its stored major version differs from the
|
||||
build (mm/2s2h/BenPort.cpp:282, 958-960).
|
||||
3. Without mm.o2r a ROM given on the command line is extracted.
|
||||
Otherwise .z64, .n64 and .v64 files in the install and data folders
|
||||
are offered, then a file dialog. With no mm.o2r at the end the port
|
||||
shows an error and exits (mm/2s2h/BenPort.cpp:447-540).
|
||||
4. mm.o2r is added to the archive manager (mm/2s2h/BenPort.cpp:612-616).
|
||||
A mods folder is created beside it when absent
|
||||
(mm/2s2h/BenPort.cpp:256-262).
|
||||
|
||||
ROM check: the size must be 32, 54 or 64 MiB, the data is converted to
|
||||
big-endian order whatever the dump format, the word at 0x10 picks the
|
||||
version (0x5354631C US 1.0, 0xB443EB08 US GC), and a CRC-32C of the whole
|
||||
converted image must be 0x96F49400 or 0xBB434787. Compressed files are
|
||||
refused. The extraction reads assets/xml/<version>, assets/filelists and
|
||||
assets/Config_<version>.xml from the install folder, which ship with the
|
||||
release (1329 files).
|
||||
ref: mm/2s2h/Extractor/Extract.cpp:54-66, 298-299, 307-357, 580-616,
|
||||
mm/2s2h/Extractor/Extract.h:19-21
|
||||
|
||||
The two SHA-1 values below are those the repository publishes for the
|
||||
.z64 forms of the two accepted ROMs (docs/supportedHashes.json). The code
|
||||
itself only checks the CRC-32C, so .n64 and .v64 dumps of the same ROMs
|
||||
are accepted too.
|
||||
|
||||
libultraship is a submodule pinned at 5.0.1 to
|
||||
7cb10226e7875ec48ceec2f841d00afd84eef964. Its citations are at that
|
||||
revision.
|
||||
|
||||
files:
|
||||
- name: "mm.us.rev1.rom.z64"
|
||||
category: game_data
|
||||
system: 2ship
|
||||
required: true
|
||||
size: 33554432
|
||||
sha1: "d6133ace5afaa0882cf214cf88daba39e266c078"
|
||||
description: "The Legend of Zelda: Majora's Mask (USA) N64 ROM"
|
||||
source_ref: "mm/2s2h/Extractor/Extract.cpp:54, 63-66, 307-317, docs/supportedHashes.json:2-5"
|
||||
note: "No file name is fixed. Picked from the install folder, a file dialog or the command line. Read only to build mm.o2r, which is used from then on."
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "mm.us.gc.rom.z64"
|
||||
category: game_data
|
||||
system: 2ship
|
||||
required: false
|
||||
sha1: "9743aa026e9269b339eb0e3044cd5830a440c1fd"
|
||||
description: "The Legend of Zelda: Majora's Mask (USA) ROM from the GameCube Collector's Edition"
|
||||
source_ref: "mm/2s2h/Extractor/Extract.cpp:55, 63-66, 307-317, docs/supportedHashes.json:6-9"
|
||||
note: "Accepted in place of the N64 ROM and extracted to the same mm.o2r with the GC_US asset tables."
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "2ship.o2r"
|
||||
path: "2ship/2ship.o2r"
|
||||
category: game_data
|
||||
system: 2ship
|
||||
required: true
|
||||
bundled: true
|
||||
size: 1139531
|
||||
sha1: "f9baf625f5fbedf98470a0acee4958ceb0d55f41"
|
||||
md5: "1e05eb39b5d76e1b5476ab7c2456f979"
|
||||
description: "Port archive: shaders, textures and data added by the port"
|
||||
source_ref: "mm/2s2h/BenPort.cpp:149-153, 345-370"
|
||||
note: "Its stored version must equal the executable's, so only the copy from the same release works. Hash of the copy in 2Ship-Battler-Bravo-Win64.zip."
|
||||
unsourceable: "ships inside the 2 Ship 2 Harkinian release, and the collection does not hold it"
|
||||
|
||||
- name: "gamecontrollerdb.txt"
|
||||
path: "2ship/gamecontrollerdb.txt"
|
||||
category: game_data
|
||||
system: 2ship
|
||||
required: false
|
||||
bundled: true
|
||||
size: 603494
|
||||
sha1: "cb03bd16cd6cf008478681e5c9fc5a2689b1e5e4"
|
||||
md5: "3155b5fd0be37137f422c3c0f032c13f"
|
||||
description: "SDL game controller mapping database"
|
||||
source_ref: "libultraship src/ship/Context.cpp:277-283"
|
||||
note: "A load failure is logged and SDL keeps its built-in mappings. Hash of the copy in 2Ship-Battler-Bravo-Win64.zip."
|
||||
unsourceable: "ships inside the 2 Ship 2 Harkinian release, and other revisions under the same name must not stand in"
|
||||
@@ -0,0 +1,769 @@
|
||||
emulator: AdvanceMAME 0.94
|
||||
type: standalone
|
||||
core_classification: frozen_snapshot
|
||||
source: "https://files.retropie.org.uk/archives/advancemame-0.94.0.tar.gz"
|
||||
upstream: "https://www.mamedev.org"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "0.94.0"
|
||||
mame_version: "0.94"
|
||||
display_name: "Arcade (AdvanceMAME 0.94)"
|
||||
mode: standalone
|
||||
|
||||
cores:
|
||||
- advmame-0.94
|
||||
|
||||
systems:
|
||||
- snk-neogeo-mvs
|
||||
- igs-pgm
|
||||
- sega-stv
|
||||
- sega-megaplay
|
||||
- sega-megatech
|
||||
- deco-cassette
|
||||
- nintendo-playch10
|
||||
- nintendo-nss
|
||||
- super-kaneko-nova
|
||||
- konami-gx
|
||||
- konami-gv
|
||||
- century-cvs
|
||||
- capcom-zn1
|
||||
- capcom-zn2
|
||||
- tecmo-tps
|
||||
- taito-fx1
|
||||
- eighting-zn1
|
||||
- atlus-zn1
|
||||
- atari-zn1
|
||||
- acclaim-zn1
|
||||
- hyper-neogeo64
|
||||
- arcadia-systems
|
||||
- exidy-maxaflex
|
||||
- brezzasoft-crystal
|
||||
- imax-macs
|
||||
|
||||
notes: |
|
||||
AdvanceMAME 0.94.0, the MAME 0.94 core (src/version.c:1) under the Advance
|
||||
video, input and sound layer. The source is the release tarball that
|
||||
RetroPie builds (RetroPie scriptmodules/emulators/advmame-0.94.sh:16,
|
||||
sha1 3fc69e03c653981217018561b918f84ebf5f30b3). The amadvance/advancemame tag
|
||||
advancemame-0_94_0 (c4f96090a417c642ac168a14e83ed403c57949c4) carries the
|
||||
Advance layer alone, the MAME tree under src/ exists only in the tarball.
|
||||
The RetroPie patches rename the configuration file to advmame-0.94.rc,
|
||||
adjust the Pi framebuffer output and add extern qualifiers
|
||||
(RetroPie scriptmodules/emulators/advmame-0.94.sh:25-30,
|
||||
RetroPie scriptmodules/emulators/advmame-1.4.sh:25-44). None of them
|
||||
changes what is read.
|
||||
|
||||
In this release a BIOS root set is a GAME entry flagged NOT_A_DRIVER
|
||||
(src/driver.h:487). The root sets are not listed in src/driver.c: they are
|
||||
reached through the clone_of pointer of the games that name them as
|
||||
parent. Twenty-five such sets have registered children and are listed
|
||||
below. taitogn is flagged NOT_A_DRIVER and registered
|
||||
(src/drivers/zn.c:4422, src/driver.c:2560), but no game names it as
|
||||
parent, so no load reaches its ROMs.
|
||||
|
||||
ROM archives are searched under dir_rom, $home/rom:$data/rom by default
|
||||
(advance/osd/fileio.c:74, advance/linux/file.c:249-256), in the forms
|
||||
DIR/GAME/ROM, then DIR/GAME.zip/ROM (src/fileio.c:922-941,1025-1028). $home
|
||||
is $ADVANCE, or $HOME/.advance when that variable is unset
|
||||
(advance/linux/file.c:83-99). RetroPie sets dir_rom to
|
||||
$romdir/mame-advmame:$romdir/arcade
|
||||
(RetroPie scriptmodules/emulators/advmame.sh:100), so the BIOS archives
|
||||
sit beside the games, not in the BIOS directory. Each ROM is looked up
|
||||
along the parent chain (src/common.c:1193-1195), so a child game reads its
|
||||
BIOS from the root set's own archive. Inside an archive a member is
|
||||
matched by name, then by its printable CRC32 (src/fileio.c:1080-1091).
|
||||
|
||||
No BIOS ROM carries ROM_OPTIONAL or a no-good-dump marker, so a missing one
|
||||
counts as an error and the load stops with "required files are missing,
|
||||
the game cannot be run" (src/common.c:940-962,1081-1084). A wrong length
|
||||
or checksum is only a warning (src/common.c:1018-1060).
|
||||
|
||||
Where a system offers several BIOS revisions, SYSTEM_BIOS_ADD names them
|
||||
and misc_bios selects one by number or short name, "default" selecting
|
||||
entry 0 (advance/osd/glue.c:653-655,2881, src/common.c:859-895). Only ROMs
|
||||
of the selected revision are read (src/common.c:1459). Neo Geo lists MVS
|
||||
revisions alone, the Universe, debug and AES entries being commented out
|
||||
(src/drivers/neogeo.c:1540-1543,1559-1562).
|
||||
|
||||
The support files are read from $home, then $data
|
||||
(advance/osd/fileio.c:82,88-90, advance/linux/file.c:204-235,249-256). make
|
||||
install copies event.dat and history.dat into $data
|
||||
(advance/advance.mak:29-32). support/hiscore.dat ships in the tarball but
|
||||
is not installed. A language file is opened under the name misc_languagefile
|
||||
carries, english.lng by default (advance/osd/glue.c:657-658,2870). The
|
||||
release ships none, and without one the built-in English strings are used
|
||||
(src/ui_text.c:259). No controller file is read, options.controller being
|
||||
pinned to zero (advance/osd/glue.c:650). blitmax.h, startup.h and help.dat
|
||||
are compiled into the binary (advance/osd/video.c:1293,1301,
|
||||
advance/osd/ui.c:1392). Samples and artwork are per-game archives under
|
||||
dir_sample and dir_artwork, named after the driver
|
||||
(src/sound/samples.c:191-193, src/artwork.c:1986-1987,2092).
|
||||
|
||||
files:
|
||||
# Support files ($home or $data)
|
||||
- name: hiscore.dat
|
||||
required: false
|
||||
category: game_data
|
||||
sha1: "f247f8a80c7669df564cf1ac6f42c8100caa406c"
|
||||
md5: "303449713237a451424cf23c9e8c09fc"
|
||||
size: 153596
|
||||
source_ref: "src/hiscore.c:18,103,223-225"
|
||||
note: >-
|
||||
High score definitions, selected by misc_hiscorefile
|
||||
(advance/osd/glue.c:742,2873,2947). Absent, hs_open finds no entry and
|
||||
no high score is restored or saved. The hash is that of
|
||||
support/hiscore.dat in the release tarball.
|
||||
|
||||
- name: history.dat
|
||||
required: false
|
||||
category: game_data
|
||||
sha1: "5206c85cad323acb885e28e1109b8e842919b7dd"
|
||||
md5: "ef258890848afdac0c07f016c2ac9294"
|
||||
size: 4208286
|
||||
source_ref: "src/datafile.c:331,585-599"
|
||||
note: >-
|
||||
Game history text, selected by misc_historyfile
|
||||
(advance/osd/glue.c:741,2878,2948) and read when the history menu is
|
||||
opened (src/usrintrf.c:2938-2962). Absent, the menu shows the
|
||||
history missing message. support/history.dat, installed by
|
||||
advance/advance.mak:31.
|
||||
|
||||
- name: mameinfo.dat
|
||||
required: false
|
||||
category: game_data
|
||||
source_ref: "src/datafile.c:331,625-629"
|
||||
note: >-
|
||||
Driver information text, selected by misc_infofile
|
||||
(advance/osd/glue.c:743,2886,2949). load_driver_history appends its
|
||||
entry to the history text (src/datafile.c:585-656). The release ships
|
||||
none.
|
||||
|
||||
- name: cheat.dat
|
||||
required: false
|
||||
category: game_data
|
||||
source_ref: "src/cheat.c:8442,8619-8622"
|
||||
note: >-
|
||||
Cheat definitions, selected by misc_cheatfile
|
||||
(advance/osd/glue.c:740,2871,2935) and read only when misc_cheat is on,
|
||||
which it is not by default (advance/osd/glue.c:608,2869). Absent, the
|
||||
cheat menu reads "cheat database not found" (src/cheat.c:2482).
|
||||
|
||||
- name: event.dat
|
||||
required: false
|
||||
category: game_data
|
||||
sha1: "8c34c85f92bc6771d789e880953a1cc43341485e"
|
||||
md5: "ee99bb541116967f8785a5bc09932475"
|
||||
size: 22066
|
||||
source_ref: "advance/osd/safequit.c:165-181,260"
|
||||
note: >-
|
||||
Event and safequit definitions, selected by misc_eventfile and read
|
||||
straight from $home then $data rather than through the file type
|
||||
table. Absent, the exit menu always prompts instead of checking coin
|
||||
and play state. support/event.dat, installed by
|
||||
advance/advance.mak:30.
|
||||
|
||||
# SNK Neo Geo MVS
|
||||
- name: neogeo.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: snk-neogeo-mvs
|
||||
source_ref: "src/drivers/neogeo.c:1530-1544,1549-1558,6158-6172,6791"
|
||||
note: >-
|
||||
Eight MVS BIOS variants selected with misc_bios (euro, euro-s1, us,
|
||||
us-e, asia, japan, japan-s2, japan-s1), euro by default. sm1.sm1,
|
||||
000-lo.lo and sfix.sfx are loaded whichever variant is selected.
|
||||
contents:
|
||||
- name: sp-s2.sp1
|
||||
description: Europe MVS (Ver. 2)
|
||||
size: 131072
|
||||
crc32: "9036d879"
|
||||
sha1: "4f5ed7105b7128794654ce82b51723e16e389543"
|
||||
- name: sp-s.sp1
|
||||
description: Europe MVS (Ver. 1)
|
||||
size: 131072
|
||||
crc32: "c7f2fa45"
|
||||
sha1: "09576ff20b4d6b365e78e6a5698ea450262697cd"
|
||||
- name: usa_2slt.bin
|
||||
description: US MVS (Ver. 2?)
|
||||
size: 131072
|
||||
crc32: "e72943de"
|
||||
sha1: "5c6bba07d2ec8ac95776aa3511109f5e1e2e92eb"
|
||||
- name: sp-e.sp1
|
||||
description: US MVS (Ver. 1)
|
||||
size: 131072
|
||||
crc32: "2723a5b5"
|
||||
sha1: "5dbff7531cf04886cde3ef022fb5ca687573dcb8"
|
||||
- name: asia-s3.rom
|
||||
description: Asia MVS (Ver. 3)
|
||||
size: 131072
|
||||
crc32: "91b64be3"
|
||||
sha1: "720a3e20d26818632aedf2c2fd16c54f213543e1"
|
||||
- name: vs-bios.rom
|
||||
description: Japan MVS (Ver. 3)
|
||||
size: 131072
|
||||
crc32: "f0e8f27d"
|
||||
sha1: "ecf01eda815909f1facec62abf3594eaa8d11075"
|
||||
- name: sp-j2.rom
|
||||
description: Japan MVS (Ver. 2)
|
||||
size: 131072
|
||||
crc32: "acede59c"
|
||||
sha1: "b6f97acd282fd7e94d9426078a90f059b5e9dd91"
|
||||
- name: sp1.jipan.1024
|
||||
description: Japan MVS (Ver. 1)
|
||||
size: 131072
|
||||
crc32: "9fb0abe4"
|
||||
sha1: "18a987ce2229df79a8cf6a84f968f0e42ce4e59d"
|
||||
- name: sm1.sm1
|
||||
description: Z80 sound BIOS
|
||||
size: 131072
|
||||
crc32: "97cf998b"
|
||||
sha1: "977387a7c76ef9b21d0b01fa69830e949a9a9626"
|
||||
- name: 000-lo.lo
|
||||
description: Y zoom control
|
||||
size: 65536
|
||||
crc32: "e09e253c"
|
||||
sha1: "2b1c719531dac9bb503f22644e6e4236b91e7cfc"
|
||||
- name: sfix.sfx
|
||||
description: fix layer tiles
|
||||
size: 131072
|
||||
crc32: "354029fc"
|
||||
sha1: "4ae4bf23b4c2acff875775d4cbff5583893ce2a1"
|
||||
|
||||
# IGS PGM
|
||||
- name: pgm.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: igs-pgm
|
||||
source_ref: "src/drivers/pgm.c:1231-1242,2465"
|
||||
contents:
|
||||
- name: pgm_p01s.rom
|
||||
description: 68000 BIOS
|
||||
size: 131072
|
||||
crc32: "e42b166e"
|
||||
sha1: "2a9df9ec746b14b74fae48b1a438da14973702ea"
|
||||
- name: pgm_t01s.rom
|
||||
description: text layer tiles
|
||||
size: 2097152
|
||||
crc32: "1a7123a0"
|
||||
sha1: "cc567f577bfbf45427b54d6695b11b74f2578af3"
|
||||
- name: pgm_m01s.rom
|
||||
description: samples
|
||||
size: 2097152
|
||||
crc32: "45ae7159"
|
||||
sha1: "d3ed3ff3464557fd0df6b069b2e431528b0ebfa8"
|
||||
|
||||
# Sega ST-V
|
||||
- name: stvbios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-stv
|
||||
source_ref: "src/drivers/stv.c:4228-4243,4244-4246,4248-4261,5114"
|
||||
note: >-
|
||||
Seven BIOS variants selected with misc_bios (japan, japana, us,
|
||||
japanb, taiwan, europe, unknown), japan by default.
|
||||
contents:
|
||||
- name: epr19730.ic8
|
||||
description: Japan (bios epr19730)
|
||||
size: 524288
|
||||
crc32: "d0e0889d"
|
||||
sha1: "fae53107c894e0c41c49e191dbe706c9cd6e50bd"
|
||||
- name: mp17951a.s
|
||||
description: Japan (bios mp17951a)
|
||||
size: 524288
|
||||
crc32: "2672f9d8"
|
||||
sha1: "63cf4a6432f6c87952f9cf3ab0f977aed2367303"
|
||||
- name: mp17952a.s
|
||||
description: USA (bios mp17952a)
|
||||
size: 524288
|
||||
crc32: "d1be2adf"
|
||||
sha1: "eaf1c3e5d602e1139d2090a78d7e19f04f916794"
|
||||
- name: 20091.bin
|
||||
description: Japan (bios 20091)
|
||||
size: 524288
|
||||
crc32: "59ed40f4"
|
||||
sha1: "eff0f54c70bce05ff3a289bf30b1027e1c8cd117"
|
||||
- name: mp17953a.ic8
|
||||
description: Taiwan (bios mp17953a)
|
||||
size: 524288
|
||||
crc32: "a4c47570"
|
||||
sha1: "9efc73717ec8a13417e65c54344ded9fc25bf5ef"
|
||||
- name: mp17954a.s
|
||||
description: Europe (bios mp17954a)
|
||||
size: 524288
|
||||
crc32: "f7722da3"
|
||||
sha1: "af79cff317e5b57d49e463af16a9f616ed1eee08"
|
||||
- name: stv110.bin
|
||||
description: unknown (debug?)
|
||||
size: 524288
|
||||
crc32: "3dfeda92"
|
||||
sha1: "8eb33192a57df5f3a1dfb57263054867c6b2db6d"
|
||||
|
||||
# Sega Mega Play
|
||||
- name: megaplay.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-megaplay
|
||||
source_ref: "src/drivers/segac2.c:4280-4283,4288-4291,4292-4295,4838"
|
||||
note: >-
|
||||
Two BIOS variants selected with misc_bios (ver1, ver2), ver1 by
|
||||
default. The ver2 ROM is named megaplay.bin in this release.
|
||||
contents:
|
||||
- name: ep15294.ic2
|
||||
description: Megaplay Bios (Ver. 1)
|
||||
size: 131072
|
||||
crc32: "aa8dc2d8"
|
||||
sha1: "96771ad7b79dc9c83a1594243250d65052d23176"
|
||||
- name: megaplay.bin
|
||||
description: Megaplay Bios (Ver. 2)
|
||||
size: 131072
|
||||
crc32: "f97c68aa"
|
||||
sha1: "bcabc879950bca1ced11c550a484e697ec5706b2"
|
||||
|
||||
# Sega Mega-Tech
|
||||
- name: megatech.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-megatech
|
||||
source_ref: "src/drivers/segac2.c:3827-3830,4761"
|
||||
contents:
|
||||
- name: epr12664.20
|
||||
description: BIOS
|
||||
size: 32768
|
||||
crc32: "f71e9526"
|
||||
sha1: "1c7887541d02c41426992d17f8e3db9e03975953"
|
||||
|
||||
# DECO Cassette System
|
||||
- name: decocass.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: deco-cassette
|
||||
source_ref: "src/drivers/decocass.c:700-705,706-719,721-724,726-729,1153"
|
||||
note: >-
|
||||
Two main CPU BIOS variants selected with misc_bios (bios0, bios1),
|
||||
bios0 by default. The audio CPU, MCU and PROMs are loaded whichever
|
||||
variant is selected.
|
||||
contents:
|
||||
- name: rms8.cpu
|
||||
description: rms8.cpu
|
||||
size: 4096
|
||||
crc32: "23d929b7"
|
||||
sha1: "063f83020ba3d6f43ab8471f95ca919767b93aa4"
|
||||
- name: dsp3.p0b
|
||||
description: dsp3.p0b & dsp3.p1b
|
||||
size: 2048
|
||||
crc32: "b67a91d9"
|
||||
sha1: "681c040be0f0ed1ba0a50161b36d0ad8e1c8c5cb"
|
||||
- name: dsp3.p1b
|
||||
description: dsp3.p0b & dsp3.p1b
|
||||
size: 2048
|
||||
crc32: "3bfff5f3"
|
||||
sha1: "4e9437cb1b76d64da6b37f01bd6e879fb399e8ce"
|
||||
- name: rms8.snd
|
||||
description: audio CPU
|
||||
size: 2048
|
||||
crc32: "b66b2c2a"
|
||||
sha1: "0097f38beb4872e735e560148052e258a26b08fd"
|
||||
- name: cass8041.bin
|
||||
description: MCU
|
||||
size: 1024
|
||||
crc32: "a6df18fd"
|
||||
sha1: "1f9ea47e372d31767c936c15852b43df2b0ee8ff"
|
||||
- name: dsp8.3m
|
||||
description: PROM
|
||||
size: 32
|
||||
crc32: "238fdb40"
|
||||
sha1: "b88e8fabb82092105c3828154608ea067acbf2e5"
|
||||
- name: dsp8.10d
|
||||
description: PROM
|
||||
size: 32
|
||||
crc32: "3b5836b4"
|
||||
sha1: "b630bb277d9ec09d46ef26b944014dd6165b35d8"
|
||||
- name: rms8.j3
|
||||
description: DRAM banking and timing PROM
|
||||
size: 32
|
||||
crc32: "51eef657"
|
||||
sha1: "eaedce5caf55624ad6ae706aedf82c5717c60f1f"
|
||||
|
||||
# Nintendo PlayChoice-10
|
||||
- name: playch10.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: nintendo-playch10
|
||||
source_ref: "src/drivers/playch10.c:754-756,758-766,1610-1613,1621"
|
||||
note: >-
|
||||
A single BIOS, no variant table.
|
||||
contents:
|
||||
- name: pch1-c.8t
|
||||
size: 16384
|
||||
crc32: "d52fa07a"
|
||||
sha1: "55cabf52ae10c050c2229081a80b9fe5454ab8c5"
|
||||
- name: pch1-c.8p
|
||||
description: BIOS tiles
|
||||
size: 8192
|
||||
crc32: "30c15e23"
|
||||
sha1: "69166afdb2fe827c7f1919cdf4197caccbd961fa"
|
||||
- name: pch1-c.8m
|
||||
description: BIOS tiles
|
||||
size: 8192
|
||||
crc32: "c1232eee"
|
||||
sha1: "beaf9fa2d091a3c7f70c51e966d885b1f9f0935f"
|
||||
- name: pch1-c.8k
|
||||
description: BIOS tiles
|
||||
size: 8192
|
||||
crc32: "9acffb30"
|
||||
sha1: "b814f10ef23f2ca445fabafcbf7f25e2d454ba8c"
|
||||
- name: pch1-c.6f
|
||||
description: PROM
|
||||
size: 256
|
||||
crc32: "e5414ca3"
|
||||
sha1: "d2878411cda84ffe0afb2e538a67457f51bebffb"
|
||||
- name: pch1-c.6e
|
||||
description: PROM
|
||||
size: 256
|
||||
crc32: "a2625c6e"
|
||||
sha1: "a448b47c9289902e26a3d3c4c7d5a7968c385e81"
|
||||
- name: pch1-c.6d
|
||||
description: PROM
|
||||
size: 256
|
||||
crc32: "1213ebd4"
|
||||
sha1: "0ad386fc3eab5e53c0288ad1de33639a9e461b7c"
|
||||
|
||||
# Nintendo Super System
|
||||
- name: nss.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: nintendo-nss
|
||||
source_ref: "src/drivers/nss.c:264-274,275-277,410"
|
||||
contents:
|
||||
- name: spc700.rom
|
||||
description: SPC700 IPL ROM
|
||||
size: 64
|
||||
crc32: "38000b6b"
|
||||
sha1: "9f3af3d51c229e67daa68041492afa27287aad31"
|
||||
- name: nss-c.dat
|
||||
description: BIOS CPU
|
||||
size: 32768
|
||||
crc32: "a8e202b3"
|
||||
sha1: "b7afcfe4f5cf15df53452dc04be81929ced1efb2"
|
||||
- name: nss-ic14.02
|
||||
description: BIOS CPU
|
||||
size: 32768
|
||||
crc32: "e06cb58f"
|
||||
sha1: "62f507e91a2797919a78d627af53f029c7d81477"
|
||||
|
||||
# Super Kaneko Nova System
|
||||
- name: skns.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: super-kaneko-nova
|
||||
source_ref: "src/drivers/suprnova.c:1224-1230,1675"
|
||||
note: >-
|
||||
Four region BIOS ROMs, all loaded into the same region.
|
||||
contents:
|
||||
- name: sknsj1.u10
|
||||
description: Japan
|
||||
size: 524288
|
||||
crc32: "7e2b836c"
|
||||
sha1: "92c5a7a2472496028bff0e5980d41dd294f42144"
|
||||
- name: sknse1.u10
|
||||
description: Europe
|
||||
size: 524288
|
||||
crc32: "e2b9d7d1"
|
||||
sha1: "b530a3bb9dedc8cfafcba9f1f10277590be04a15"
|
||||
- name: sknsa1.u10
|
||||
description: Asia
|
||||
size: 524288
|
||||
crc32: "745e5212"
|
||||
sha1: "caba649ab2d83b2d7e007eecee0fc582c019df38"
|
||||
- name: sknsu1.u10
|
||||
description: USA
|
||||
size: 524288
|
||||
crc32: "384d21ec"
|
||||
sha1: "a27e8a18099d9cea64fa32db28d01101c2a78815"
|
||||
|
||||
# Konami System GX
|
||||
- name: konamigx.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: konami-gx
|
||||
source_ref: "src/drivers/konamigx.c:2174-2174,2176-2179,3473"
|
||||
contents:
|
||||
- name: 300a01.34k
|
||||
description: BIOS
|
||||
size: 131072
|
||||
crc32: "d5fa95f5"
|
||||
sha1: "c483aa98ff8ef40cdac359c19ad23fea5ecc1906"
|
||||
|
||||
# Konami Baby Phoenix/GV System
|
||||
- name: konamigv.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: konami-gv
|
||||
source_ref: "src/drivers/konamigv.c:773-775,777-781,853"
|
||||
contents:
|
||||
- name: 999a01.7e
|
||||
description: BIOS
|
||||
size: 524288
|
||||
crc32: "ad498d2d"
|
||||
sha1: "02a82a2fe1fba0404517c3602324bfa64e23e478"
|
||||
|
||||
# Century Electronics CVS
|
||||
- name: cvs.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: century-cvs
|
||||
source_ref: "src/drivers/cvs.c:423-430,1401"
|
||||
contents:
|
||||
- name: 5b.bin
|
||||
description: sound CPU
|
||||
size: 2048
|
||||
crc32: "f055a624"
|
||||
sha1: "5dfe89d7271092e665cdd5cd59d15a2b70f92f43"
|
||||
- name: 82s185.10h
|
||||
description: PROM
|
||||
size: 2048
|
||||
crc32: "c205bca6"
|
||||
sha1: "ec9bd220e75f7b067ede6139763ef8aca0fb7a29"
|
||||
- name: 82s123.10k
|
||||
description: PROM
|
||||
size: 32
|
||||
crc32: "b5221cec"
|
||||
sha1: "71d9830b33b1a8140b0fe1a2ba8024ba8e6e48e0"
|
||||
|
||||
# Capcom ZN1
|
||||
- name: cpzn1.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: capcom-zn1
|
||||
source_ref: "src/drivers/zn.c:3091-3093,3095-3097,4320"
|
||||
contents:
|
||||
- name: coh-1000c.353
|
||||
size: 524288
|
||||
crc32: "50033af6"
|
||||
sha1: "486d92ff6c7f1e54f8e0ef41cd9116eca0e10e1a"
|
||||
|
||||
# Capcom ZN2
|
||||
- name: cpzn2.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: capcom-zn2
|
||||
source_ref: "src/drivers/zn.c:3326-3328,3330-3332,4338"
|
||||
contents:
|
||||
- name: coh-3002c.353
|
||||
size: 524288
|
||||
crc32: "e860ea8b"
|
||||
sha1: "66e7e1d4e426466b8f48a2ba055a91b475569504"
|
||||
|
||||
# Tecmo TPS
|
||||
- name: tps.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: tecmo-tps
|
||||
source_ref: "src/drivers/zn.c:3679-3681,3683-3685,4381"
|
||||
contents:
|
||||
- name: coh-1002m.353
|
||||
size: 524288
|
||||
crc32: "69ffbcb4"
|
||||
sha1: "03eb2febfab3fcde716defff291babd9392de965"
|
||||
|
||||
# Taito FX1
|
||||
- name: taitofx1.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: taito-fx1
|
||||
source_ref: "src/drivers/zn.c:3861-3863,3865-3867,4403"
|
||||
contents:
|
||||
- name: coh-1000t.353
|
||||
size: 524288
|
||||
crc32: "e3f23b6e"
|
||||
sha1: "e18907cf8c6ba54d96edba0a9a00487a90219e0d"
|
||||
|
||||
# Eighting/Raizing PS Arcade 95
|
||||
- name: psarc95.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: eighting-zn1
|
||||
source_ref: "src/drivers/zn.c:4115-4117,4119-4121,4429"
|
||||
contents:
|
||||
- name: coh-1002e.353
|
||||
size: 524288
|
||||
crc32: "910f3a8b"
|
||||
sha1: "cd68532967a25f476a6d73473ec6b6f4df2e1689"
|
||||
|
||||
# Atlus PSX
|
||||
- name: atluspsx.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: atlus-zn1
|
||||
source_ref: "src/drivers/zn.c:4286-4288,4290-4292,4441"
|
||||
contents:
|
||||
- name: coh-1001l.353
|
||||
size: 524288
|
||||
crc32: "6721146b"
|
||||
sha1: "9511d24bfe25eb180fb2db0835b131cb4a12730e"
|
||||
|
||||
# Atari PSX
|
||||
- name: atpsx.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: atari-zn1
|
||||
source_ref: "src/drivers/zn.c:4201-4203,4205-4207,4361"
|
||||
contents:
|
||||
- name: coh-1000w.353
|
||||
size: 524288
|
||||
crc32: "45e8a4b4"
|
||||
sha1: "815488d8563c85f97fbc3384ff21f08e4c88b7b7"
|
||||
|
||||
# Acclaim PSX
|
||||
- name: acpsx.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: acclaim-zn1
|
||||
source_ref: "src/drivers/zn.c:4224-4226,4228-4230,4370"
|
||||
contents:
|
||||
- name: coh-1000a.353
|
||||
size: 524288
|
||||
crc32: "8d8d0764"
|
||||
sha1: "7ee83d317190bb1cef2f8f01c81eaaae47150ebb"
|
||||
|
||||
# SNK Hyper Neo Geo 64
|
||||
- name: hng64.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: hyper-neogeo64
|
||||
source_ref: "src/drivers/hng64.c:1450-1456,1755"
|
||||
contents:
|
||||
- name: brom1.bin
|
||||
description: R4300 BIOS
|
||||
size: 524288
|
||||
crc32: "a30dd3de"
|
||||
sha1: "3e2fd0a56214e6f5dcb93687e409af13d065ea30"
|
||||
- name: from1.bin
|
||||
description: unused BIOS ROM
|
||||
size: 524288
|
||||
crc32: "6b933005"
|
||||
sha1: "e992747f46c48b66e5509fe0adf19c91250b00c7"
|
||||
- name: rom1.bin
|
||||
description: unused BIOS ROM
|
||||
size: 130866
|
||||
crc32: "4a6832dc"
|
||||
sha1: "ae504f7733c2f40450157cd1d3b85bc83fac8569"
|
||||
|
||||
# Arcadia Systems
|
||||
- name: ar_bios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: arcadia-systems
|
||||
source_ref: "src/drivers/arcadia.c:221-236,240-242,244-248,965"
|
||||
note: >-
|
||||
Three BIOS variants selected with misc_bios (onep211, onep300,
|
||||
tenp211), onep211 by default. kick13.rom is loaded whichever variant
|
||||
is selected.
|
||||
contents:
|
||||
- name: kick13.rom
|
||||
description: Amiga Kickstart 1.3
|
||||
size: 262144
|
||||
crc32: "c4f0f55f"
|
||||
sha1: "891e9a547772fe0c6c19b610baf8bc4ea7fcb785"
|
||||
- name: scpa211l
|
||||
description: OnePlay 2.11
|
||||
size: 65536
|
||||
crc32: "95b84504"
|
||||
sha1: "99999fc40909001b37aa1b543918118becc81800"
|
||||
- name: scpa211h
|
||||
description: OnePlay 2.11
|
||||
size: 65536
|
||||
crc32: "be9dbdc5"
|
||||
sha1: "1554da09f051ec53937d65d4e451de51bc0c69e5"
|
||||
- name: scpav3_0.1l
|
||||
description: OnePlay 3.00
|
||||
size: 65536
|
||||
crc32: "e4f38fab"
|
||||
sha1: "01c2eb5965070893be6734eb1372576727716476"
|
||||
- name: scpav3_0.1h
|
||||
description: OnePlay 3.00
|
||||
size: 65536
|
||||
crc32: "2d8e1a06"
|
||||
sha1: "be187f34624aeda110017c4a09242f7c00ef56a4"
|
||||
- name: gcp-1-lo
|
||||
description: TenPlay 2.11
|
||||
size: 65536
|
||||
crc32: "65d9b9cf"
|
||||
sha1: "5c60a0dd4a0a7d9b938ce6b0446a6ad2ecaf07ec"
|
||||
- name: gcp-1-hi
|
||||
description: TenPlay 2.11
|
||||
size: 65536
|
||||
crc32: "67d44523"
|
||||
sha1: "f3e3699132cdf741518accb890c04d17374c4049"
|
||||
- name: gcp-2-lo
|
||||
description: TenPlay 2.11
|
||||
size: 65536
|
||||
crc32: "e776198d"
|
||||
sha1: "694ca4cc99ed84a95d18201c94a3332f8599654f"
|
||||
- name: gcp-2-hi
|
||||
description: TenPlay 2.11
|
||||
size: 65536
|
||||
crc32: "1d7594ae"
|
||||
sha1: "6173bbfecf18d7d9ee6bc2b6753ca9d42fabd781"
|
||||
- name: gcp-3-lo
|
||||
description: TenPlay 2.11
|
||||
size: 65536
|
||||
crc32: "87229e0d"
|
||||
sha1: "0b18544801e529f954b9e03226bd2e5475f36351"
|
||||
- name: gcp-3-hi
|
||||
description: TenPlay 2.11
|
||||
size: 65536
|
||||
crc32: "3e7364be"
|
||||
sha1: "26e10d0ddc031a891138db36ce4f1732722e6847"
|
||||
|
||||
# Exidy Max-A-Flex
|
||||
- name: maxaflex.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: exidy-maxaflex
|
||||
source_ref: "src/drivers/maxaflex.c:518-527,583"
|
||||
contents:
|
||||
- name: atarixl.rom
|
||||
description: main CPU ROM
|
||||
size: 16384
|
||||
crc32: "1f9cd270"
|
||||
sha1: "ae4f523ba08b6fd59f3cae515a2b2410bbd98f55"
|
||||
- name: maxaflex.uc
|
||||
description: microcontroller
|
||||
size: 2048
|
||||
crc32: "fe9cf53c"
|
||||
sha1: "4b02bc2f0c8a1eab799814fac82d5812c0160206"
|
||||
- name: maxprom.prm
|
||||
description: PROM
|
||||
size: 512
|
||||
crc32: "edf5c950"
|
||||
sha1: "9ad046ea41a61585dd8d2f2d4167a3cc39d2928f"
|
||||
|
||||
# Brezzasoft Crystal System
|
||||
- name: crysbios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: brezzasoft-crystal
|
||||
source_ref: "src/drivers/crystal.c:838-841,908"
|
||||
contents:
|
||||
- name: mx27l1000.u14
|
||||
size: 131072
|
||||
crc32: "beff39a9"
|
||||
sha1: "b6f6dda58d9c82273f9422c1bd623411e58982cb"
|
||||
|
||||
# I'Max Multi Amenity Cassette System
|
||||
- name: macsbios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: imax-macs
|
||||
source_ref: "src/drivers/macs.c:307-311,312-316,416"
|
||||
contents:
|
||||
- name: macsos_l.u43
|
||||
description: BIOS low byte
|
||||
size: 524288
|
||||
crc32: "0b5aed5e"
|
||||
sha1: "042e705017ee34656e2c6af45825bb2dd3447747"
|
||||
- name: macsos_h.u44
|
||||
description: BIOS high byte
|
||||
size: 524288
|
||||
crc32: "538b68e4"
|
||||
sha1: "a0534147791e94e726f49451d0e95671ae0a87d5"
|
||||
@@ -0,0 +1,784 @@
|
||||
emulator: AdvanceMAME 1.4
|
||||
type: standalone
|
||||
core_classification: frozen_snapshot
|
||||
source: "https://github.com/amadvance/advancemame"
|
||||
upstream: "https://www.mamedev.org"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "237ca5c898e51e1b7a70ce52bccf008aa722e924"
|
||||
pin_frozen: "RetroPie builds the advancemame-1.4 release tarball, whose src/ tree is this tag. Later commits are not part of that build."
|
||||
core_version: "1.4"
|
||||
mame_version: "0.106"
|
||||
display_name: "Arcade (AdvanceMAME 1.4)"
|
||||
mode: standalone
|
||||
|
||||
cores:
|
||||
- advmame-1.4
|
||||
|
||||
systems:
|
||||
- snk-neogeo-mvs
|
||||
- igs-pgm
|
||||
- sega-stv
|
||||
- sega-megaplay
|
||||
- sega-megatech
|
||||
- deco-cassette
|
||||
- nintendo-playch10
|
||||
- nintendo-nss
|
||||
- super-kaneko-nova
|
||||
- konami-gx
|
||||
- konami-gv
|
||||
- century-cvs
|
||||
- capcom-zn1
|
||||
- capcom-zn2
|
||||
- tecmo-tps
|
||||
- taito-fx1
|
||||
- eighting-zn1
|
||||
- atlus-zn1
|
||||
- atari-zn1
|
||||
- acclaim-zn1
|
||||
- hyper-neogeo64
|
||||
- arcadia-systems
|
||||
- exidy-maxaflex
|
||||
- brezzasoft-crystal
|
||||
- imax-macs
|
||||
|
||||
notes: |
|
||||
AdvanceMAME 1.4, the MAME 0.106 core (src/version.c:12) under the Advance
|
||||
video, input and sound layer. RetroPie builds the release tarball
|
||||
advancemame-1.4.tar.gz
|
||||
(RetroPie scriptmodules/emulators/advmame-1.4.sh:16), whose src/ tree is
|
||||
identical to the tag advancemame-1.4 pinned here. The RetroPie patches
|
||||
rename the configuration file to advmame-1.4.rc, adjust the Pi
|
||||
framebuffer output and add extern qualifiers
|
||||
(RetroPie scriptmodules/emulators/advmame-1.4.sh:25-51). None of them
|
||||
changes what is read.
|
||||
|
||||
Twenty-seven BIOS root sets, each a NOT_A_DRIVER entry
|
||||
(src/driver.h:180). Twenty-six are registered in src/mamedriv.c and listed
|
||||
below. src/drivers/macs.c:613 declares macs2bios, which src/mamedriv.c
|
||||
never registers and whose two ROMs are NO_DUMP, so no load reaches it.
|
||||
taitogn is a plain game in this release (src/drivers/zn.c:4623), not a
|
||||
root set.
|
||||
|
||||
ROM archives are searched under dir_rom, $home/rom:$data/rom by default
|
||||
(advance/osd/fileio.c:74, advance/linux/file.c:249-256), in the forms
|
||||
DIR/GAME/ROM, then DIR/GAME.zip/ROM (src/fileio.c:1045-1064,1157-1160).
|
||||
$home is $ADVANCE, or $HOME/.advance when that variable is unset
|
||||
(advance/linux/file.c:83-99). RetroPie sets dir_rom to
|
||||
$romdir/mame-advmame:$romdir/arcade
|
||||
(RetroPie scriptmodules/emulators/advmame.sh:100), so the BIOS archives
|
||||
sit beside the games, not in the BIOS directory. Each ROM is looked up
|
||||
along the parent chain (src/romload.c:478-482), so a child game reads its
|
||||
BIOS from the root set's own archive. Inside an archive a member is
|
||||
matched by name, then by its printable CRC32 (src/fileio.c:1213-1223).
|
||||
|
||||
No BIOS ROM carries ROM_OPTIONAL or a no-good-dump marker, so a missing one
|
||||
counts as an error and the load aborts with "required files are missing,
|
||||
the game cannot be run" (src/romload.c:248-271,384-388). A wrong length or
|
||||
checksum is only a warning (src/romload.c:327-370).
|
||||
|
||||
Where a system offers several BIOS revisions, SYSTEM_BIOS_ADD names them
|
||||
and misc_bios selects one by number or short name, "default" selecting
|
||||
entry 0 (advance/osd/glue.c:655-657,2874, src/romload.c:167-200). Only ROMs
|
||||
of the selected revision are read (src/romload.c:747). Neo Geo lists MVS
|
||||
revisions alone, the Universe, debug and AES entries being commented out
|
||||
(src/drivers/neogeo.c:1378-1381,1397-1400).
|
||||
|
||||
The support files are read from $home, then $data
|
||||
(advance/osd/fileio.c:81,88-90, advance/linux/file.c:204-235,249-256). A
|
||||
language file is opened under the name misc_languagefile carries,
|
||||
english.lng by default (advance/osd/glue.c:659-662,2869). The release
|
||||
ships none, and without one the built-in English strings are used
|
||||
(src/ui_text.c:263). misc_historyfile and misc_infofile are discarded when
|
||||
found in a configuration file (advance/osd/emu.c:516-517) and the core has
|
||||
no history reader, so history.dat, though installed by
|
||||
advance/advance.mak:31, is never opened. No controller file is read,
|
||||
options.controller being pinned to zero (advance/osd/glue.c:652).
|
||||
blitmax.h, startup.h and help.dat are compiled into the binary
|
||||
(advance/osd/video.c:1393,1401, advance/osd/ui.c:1395). Samples and
|
||||
artwork are per-game archives under dir_sample and dir_artwork, named
|
||||
after the driver (src/sound/samples.c:198-200,
|
||||
src/artwork.c:2055-2056,2161).
|
||||
|
||||
files:
|
||||
# Support files ($home or $data)
|
||||
- name: hiscore.dat
|
||||
required: false
|
||||
category: game_data
|
||||
sha1: "fd33f94a131986478bf10a1ed9ac02d63f52d4af"
|
||||
md5: "fb2013a6505d34a5a7a6d94389f3a956"
|
||||
size: 166246
|
||||
source_ref: "src/hiscore.c:28,133-147,313"
|
||||
note: >-
|
||||
High score definitions, selected by misc_hiscorefile
|
||||
(advance/osd/glue.c:743,2872,2934). Absent, no entry matches and no
|
||||
high score is restored or saved. support/hiscore.dat, installed by
|
||||
advance/advance.mak:32.
|
||||
|
||||
- name: cheat.dat
|
||||
required: false
|
||||
category: game_data
|
||||
source_ref: "src/cheat.c:8504,8681-8684"
|
||||
note: >-
|
||||
Cheat definitions, selected by misc_cheatfile
|
||||
(advance/osd/glue.c:742,2870,2922) and read only when misc_cheat is on,
|
||||
which it is not by default (advance/osd/glue.c:611,2868). Absent, the
|
||||
cheat menu reads "cheat database not found" (src/cheat.c:2536).
|
||||
|
||||
- name: event.dat
|
||||
required: false
|
||||
category: game_data
|
||||
sha1: "8c34c85f92bc6771d789e880953a1cc43341485e"
|
||||
md5: "ee99bb541116967f8785a5bc09932475"
|
||||
size: 22066
|
||||
source_ref: "advance/osd/safequit.c:165-181,260"
|
||||
note: >-
|
||||
Event and safequit definitions, selected by misc_eventfile and read
|
||||
straight from $home then $data rather than through the file type
|
||||
table. Absent, the exit menu always prompts instead of checking coin
|
||||
and play state. support/event.dat, installed by
|
||||
advance/advance.mak:30.
|
||||
|
||||
# SNK Neo Geo MVS
|
||||
- name: neogeo.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: snk-neogeo-mvs
|
||||
source_ref: "src/drivers/neogeo.c:1368-1382,1387-1396,7320-7334,7934"
|
||||
note: >-
|
||||
Eight MVS BIOS variants selected with misc_bios (euro, euro-s1, us,
|
||||
us-e, asia, japan, japan-s2, japan-s1), euro by default. sm1.sm1,
|
||||
000-lo.lo and sfix.sfx are loaded whichever variant is selected.
|
||||
contents:
|
||||
- name: sp-s2.sp1
|
||||
description: Europe MVS (Ver. 2)
|
||||
size: 131072
|
||||
crc32: "9036d879"
|
||||
sha1: "4f5ed7105b7128794654ce82b51723e16e389543"
|
||||
- name: sp-s.sp1
|
||||
description: Europe MVS (Ver. 1)
|
||||
size: 131072
|
||||
crc32: "c7f2fa45"
|
||||
sha1: "09576ff20b4d6b365e78e6a5698ea450262697cd"
|
||||
- name: usa_2slt.bin
|
||||
description: US MVS (Ver. 2?)
|
||||
size: 131072
|
||||
crc32: "e72943de"
|
||||
sha1: "5c6bba07d2ec8ac95776aa3511109f5e1e2e92eb"
|
||||
- name: sp-e.sp1
|
||||
description: US MVS (Ver. 1)
|
||||
size: 131072
|
||||
crc32: "2723a5b5"
|
||||
sha1: "5dbff7531cf04886cde3ef022fb5ca687573dcb8"
|
||||
- name: asia-s3.rom
|
||||
description: Asia MVS (Ver. 3)
|
||||
size: 131072
|
||||
crc32: "91b64be3"
|
||||
sha1: "720a3e20d26818632aedf2c2fd16c54f213543e1"
|
||||
- name: vs-bios.rom
|
||||
description: Japan MVS (Ver. 3)
|
||||
size: 131072
|
||||
crc32: "f0e8f27d"
|
||||
sha1: "ecf01eda815909f1facec62abf3594eaa8d11075"
|
||||
- name: sp-j2.rom
|
||||
description: Japan MVS (Ver. 2)
|
||||
size: 131072
|
||||
crc32: "acede59c"
|
||||
sha1: "b6f97acd282fd7e94d9426078a90f059b5e9dd91"
|
||||
- name: sp1.jipan.1024
|
||||
description: Japan MVS (Ver. 1)
|
||||
size: 131072
|
||||
crc32: "9fb0abe4"
|
||||
sha1: "18a987ce2229df79a8cf6a84f968f0e42ce4e59d"
|
||||
- name: sm1.sm1
|
||||
description: Z80 sound BIOS
|
||||
size: 131072
|
||||
crc32: "97cf998b"
|
||||
sha1: "977387a7c76ef9b21d0b01fa69830e949a9a9626"
|
||||
- name: 000-lo.lo
|
||||
description: Y zoom control
|
||||
size: 65536
|
||||
crc32: "e09e253c"
|
||||
sha1: "2b1c719531dac9bb503f22644e6e4236b91e7cfc"
|
||||
- name: sfix.sfx
|
||||
description: fix layer tiles
|
||||
size: 131072
|
||||
crc32: "354029fc"
|
||||
sha1: "4ae4bf23b4c2acff875775d4cbff5583893ce2a1"
|
||||
|
||||
# IGS PGM
|
||||
- name: pgm.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: igs-pgm
|
||||
source_ref: "src/drivers/pgm.c:2208-2219,3908"
|
||||
contents:
|
||||
- name: pgm_p01s.rom
|
||||
description: 68000 BIOS
|
||||
size: 131072
|
||||
crc32: "e42b166e"
|
||||
sha1: "2a9df9ec746b14b74fae48b1a438da14973702ea"
|
||||
- name: pgm_t01s.rom
|
||||
description: text layer tiles
|
||||
size: 2097152
|
||||
crc32: "1a7123a0"
|
||||
sha1: "cc567f577bfbf45427b54d6695b11b74f2578af3"
|
||||
- name: pgm_m01s.rom
|
||||
description: samples
|
||||
size: 2097152
|
||||
crc32: "45ae7159"
|
||||
sha1: "d3ed3ff3464557fd0df6b069b2e431528b0ebfa8"
|
||||
|
||||
# Sega ST-V
|
||||
- name: stvbios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-stv
|
||||
source_ref: "src/drivers/stv.c:3077-3091,3092-3094,3096-3111,4026"
|
||||
note: >-
|
||||
Nine BIOS variants selected with misc_bios (japan, japana, us, japanb,
|
||||
taiwan, europe, unknown, dev1061, japanc), japan by default.
|
||||
contents:
|
||||
- name: epr19730.ic8
|
||||
description: Japan (bios epr19730)
|
||||
size: 524288
|
||||
crc32: "d0e0889d"
|
||||
sha1: "fae53107c894e0c41c49e191dbe706c9cd6e50bd"
|
||||
- name: mp17951a.s
|
||||
description: Japan (bios mp17951a)
|
||||
size: 524288
|
||||
crc32: "2672f9d8"
|
||||
sha1: "63cf4a6432f6c87952f9cf3ab0f977aed2367303"
|
||||
- name: mp17952a.s
|
||||
description: USA (bios mp17952a)
|
||||
size: 524288
|
||||
crc32: "d1be2adf"
|
||||
sha1: "eaf1c3e5d602e1139d2090a78d7e19f04f916794"
|
||||
- name: 20091.bin
|
||||
description: Japan (bios 20091)
|
||||
size: 524288
|
||||
crc32: "59ed40f4"
|
||||
sha1: "eff0f54c70bce05ff3a289bf30b1027e1c8cd117"
|
||||
- name: mp17953a.ic8
|
||||
description: Taiwan (bios mp17953a)
|
||||
size: 524288
|
||||
crc32: "a4c47570"
|
||||
sha1: "9efc73717ec8a13417e65c54344ded9fc25bf5ef"
|
||||
- name: mp17954a.s
|
||||
description: Europe (bios mp17954a)
|
||||
size: 524288
|
||||
crc32: "f7722da3"
|
||||
sha1: "af79cff317e5b57d49e463af16a9f616ed1eee08"
|
||||
- name: stv110.bin
|
||||
description: Unknown (debug?)
|
||||
size: 524288
|
||||
crc32: "3dfeda92"
|
||||
sha1: "8eb33192a57df5f3a1dfb57263054867c6b2db6d"
|
||||
- name: stv1061.bin
|
||||
description: Development (bios 1.061)
|
||||
size: 524288
|
||||
crc32: "728dbca3"
|
||||
sha1: "0ed2030177f0aa8285645c395ae9ad9f568ab1d6"
|
||||
- name: epr-17740.bin
|
||||
description: Japan (bios epr17740)
|
||||
size: 524288
|
||||
crc32: "5c5aa63d"
|
||||
sha1: "06860d96923b81afbc21e0ad32ee19487d8ff6e7"
|
||||
|
||||
# Sega Mega Play
|
||||
- name: megaplay.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-megaplay
|
||||
source_ref: "src/drivers/megaplay.c:679-682,687-690,691-694,867"
|
||||
note: >-
|
||||
Two BIOS variants selected with misc_bios (ver1, ver2), ver1 by
|
||||
default.
|
||||
contents:
|
||||
- name: ep15294.ic2
|
||||
description: Megaplay Bios (Ver. 1)
|
||||
size: 131072
|
||||
crc32: "aa8dc2d8"
|
||||
sha1: "96771ad7b79dc9c83a1594243250d65052d23176"
|
||||
- name: epr-a15294.ic2
|
||||
description: Megaplay Bios (Ver. 2)
|
||||
size: 131072
|
||||
crc32: "f97c68aa"
|
||||
sha1: "bcabc879950bca1ced11c550a484e697ec5706b2"
|
||||
|
||||
# Sega Mega-Tech
|
||||
- name: megatech.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-megatech
|
||||
source_ref: "src/drivers/megatech.c:454-457,866"
|
||||
contents:
|
||||
- name: epr12664.20
|
||||
description: BIOS
|
||||
size: 32768
|
||||
crc32: "f71e9526"
|
||||
sha1: "1c7887541d02c41426992d17f8e3db9e03975953"
|
||||
|
||||
# DECO Cassette System
|
||||
- name: decocass.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: deco-cassette
|
||||
source_ref: "src/drivers/decocass.c:701-706,707-720,722-725,727-730,1191"
|
||||
note: >-
|
||||
Two main CPU BIOS variants selected with misc_bios (bios0, bios1),
|
||||
bios0 by default. The audio CPU, MCU and PROMs are loaded whichever
|
||||
variant is selected.
|
||||
contents:
|
||||
- name: rms8.cpu
|
||||
description: rms8.cpu
|
||||
size: 4096
|
||||
crc32: "23d929b7"
|
||||
sha1: "063f83020ba3d6f43ab8471f95ca919767b93aa4"
|
||||
- name: dsp3.p0b
|
||||
description: dsp3.p0b & dsp3.p1b
|
||||
size: 2048
|
||||
crc32: "b67a91d9"
|
||||
sha1: "681c040be0f0ed1ba0a50161b36d0ad8e1c8c5cb"
|
||||
- name: dsp3.p1b
|
||||
description: dsp3.p0b & dsp3.p1b
|
||||
size: 2048
|
||||
crc32: "3bfff5f3"
|
||||
sha1: "4e9437cb1b76d64da6b37f01bd6e879fb399e8ce"
|
||||
- name: rms8.snd
|
||||
description: audio CPU
|
||||
size: 2048
|
||||
crc32: "b66b2c2a"
|
||||
sha1: "0097f38beb4872e735e560148052e258a26b08fd"
|
||||
- name: cass8041.bin
|
||||
description: MCU
|
||||
size: 1024
|
||||
crc32: "a6df18fd"
|
||||
sha1: "1f9ea47e372d31767c936c15852b43df2b0ee8ff"
|
||||
- name: dsp8.3m
|
||||
description: PROM
|
||||
size: 32
|
||||
crc32: "238fdb40"
|
||||
sha1: "b88e8fabb82092105c3828154608ea067acbf2e5"
|
||||
- name: dsp8.10d
|
||||
description: PROM
|
||||
size: 32
|
||||
crc32: "3b5836b4"
|
||||
sha1: "b630bb277d9ec09d46ef26b944014dd6165b35d8"
|
||||
- name: rms8.j3
|
||||
description: DRAM banking and timing PROM
|
||||
size: 32
|
||||
crc32: "51eef657"
|
||||
sha1: "eaedce5caf55624ad6ae706aedf82c5717c60f1f"
|
||||
|
||||
# Nintendo PlayChoice-10
|
||||
- name: playch10.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: nintendo-playch10
|
||||
source_ref: "src/drivers/playch10.c:783-786,791-795,796-804,1648-1651,1659"
|
||||
note: >-
|
||||
Two BIOS variants selected with misc_bios (dual, single), dual by
|
||||
default. Tiles and PROMs are loaded whichever variant is selected.
|
||||
contents:
|
||||
- name: pch1-c.8t
|
||||
description: Dual Monitor Version
|
||||
size: 16384
|
||||
crc32: "d52fa07a"
|
||||
sha1: "55cabf52ae10c050c2229081a80b9fe5454ab8c5"
|
||||
- name: pck1-c.8t
|
||||
description: Single Monitor Version
|
||||
size: 16384
|
||||
crc32: "503ee8b1"
|
||||
sha1: "3bd20bc71cac742d1b8c1430a6426d0a19db7ad0"
|
||||
- name: pch1-c.8p
|
||||
description: BIOS tiles
|
||||
size: 8192
|
||||
crc32: "30c15e23"
|
||||
sha1: "69166afdb2fe827c7f1919cdf4197caccbd961fa"
|
||||
- name: pch1-c.8m
|
||||
description: BIOS tiles
|
||||
size: 8192
|
||||
crc32: "c1232eee"
|
||||
sha1: "beaf9fa2d091a3c7f70c51e966d885b1f9f0935f"
|
||||
- name: pch1-c.8k
|
||||
description: BIOS tiles
|
||||
size: 8192
|
||||
crc32: "9acffb30"
|
||||
sha1: "b814f10ef23f2ca445fabafcbf7f25e2d454ba8c"
|
||||
- name: pch1-c.6f
|
||||
description: PROM
|
||||
size: 256
|
||||
crc32: "e5414ca3"
|
||||
sha1: "d2878411cda84ffe0afb2e538a67457f51bebffb"
|
||||
- name: pch1-c.6e
|
||||
description: PROM
|
||||
size: 256
|
||||
crc32: "a2625c6e"
|
||||
sha1: "a448b47c9289902e26a3d3c4c7d5a7968c385e81"
|
||||
- name: pch1-c.6d
|
||||
description: PROM
|
||||
size: 256
|
||||
crc32: "1213ebd4"
|
||||
sha1: "0ad386fc3eab5e53c0288ad1de33639a9e461b7c"
|
||||
|
||||
# Nintendo Super System
|
||||
- name: nss.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: nintendo-nss
|
||||
source_ref: "src/drivers/nss.c:515-523,524-526,657"
|
||||
contents:
|
||||
- name: spc700.rom
|
||||
description: SPC700 IPL ROM
|
||||
size: 64
|
||||
crc32: "44bb3a40"
|
||||
sha1: "97e352553e94242ae823547cd853eecda55c20f0"
|
||||
- name: dsp1data.bin
|
||||
description: DSP1 data ROM
|
||||
size: 2048
|
||||
crc32: "4b02d66d"
|
||||
sha1: "1534f4403d2a0f68ba6e35186fe7595d33de34b1"
|
||||
- name: nss-c.dat
|
||||
description: BIOS CPU
|
||||
size: 32768
|
||||
crc32: "a8e202b3"
|
||||
sha1: "b7afcfe4f5cf15df53452dc04be81929ced1efb2"
|
||||
- name: nss-ic14.02
|
||||
description: BIOS CPU
|
||||
size: 32768
|
||||
crc32: "e06cb58f"
|
||||
sha1: "62f507e91a2797919a78d627af53f029c7d81477"
|
||||
|
||||
# Super Kaneko Nova System
|
||||
- name: skns.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: super-kaneko-nova
|
||||
source_ref: "src/drivers/suprnova.c:1269-1276,1744"
|
||||
note: >-
|
||||
Five region BIOS ROMs, all loaded into the same region.
|
||||
contents:
|
||||
- name: sknsj1.u10
|
||||
description: Japan
|
||||
size: 524288
|
||||
crc32: "7e2b836c"
|
||||
sha1: "92c5a7a2472496028bff0e5980d41dd294f42144"
|
||||
- name: sknse1.u10
|
||||
description: Europe
|
||||
size: 524288
|
||||
crc32: "e2b9d7d1"
|
||||
sha1: "b530a3bb9dedc8cfafcba9f1f10277590be04a15"
|
||||
- name: sknsa1.u10
|
||||
description: Asia
|
||||
size: 524288
|
||||
crc32: "745e5212"
|
||||
sha1: "caba649ab2d83b2d7e007eecee0fc582c019df38"
|
||||
- name: sknsu1.u10
|
||||
description: USA
|
||||
size: 524288
|
||||
crc32: "384d21ec"
|
||||
sha1: "a27e8a18099d9cea64fa32db28d01101c2a78815"
|
||||
- name: sknsk1.u10
|
||||
description: Korea
|
||||
size: 524288
|
||||
crc32: "ff1c9f79"
|
||||
sha1: "a51e598d43e76d37da69b1f094c111273bdfc94a"
|
||||
|
||||
# Konami System GX
|
||||
- name: konamigx.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: konami-gx
|
||||
source_ref: "src/drivers/konamigx.c:2136-2136,2138-2141,3485"
|
||||
contents:
|
||||
- name: 300a01.34k
|
||||
description: BIOS
|
||||
size: 131072
|
||||
crc32: "d5fa95f5"
|
||||
sha1: "c483aa98ff8ef40cdac359c19ad23fea5ecc1906"
|
||||
|
||||
# Konami Baby Phoenix/GV System
|
||||
- name: konamigv.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: konami-gv
|
||||
source_ref: "src/drivers/konamigv.c:968-970,972-976,1058"
|
||||
contents:
|
||||
- name: 999a01.7e
|
||||
description: BIOS
|
||||
size: 524288
|
||||
crc32: "ad498d2d"
|
||||
sha1: "02a82a2fe1fba0404517c3602324bfa64e23e478"
|
||||
|
||||
# Century Electronics CVS
|
||||
- name: cvs.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: century-cvs
|
||||
source_ref: "src/drivers/cvs.c:420-430,1401"
|
||||
contents:
|
||||
- name: 5b.bin
|
||||
description: sound CPU
|
||||
size: 2048
|
||||
crc32: "f055a624"
|
||||
sha1: "5dfe89d7271092e665cdd5cd59d15a2b70f92f43"
|
||||
- name: 82s185.10h
|
||||
description: PROM
|
||||
size: 2048
|
||||
crc32: "c205bca6"
|
||||
sha1: "ec9bd220e75f7b067ede6139763ef8aca0fb7a29"
|
||||
- name: 82s123.10k
|
||||
description: PROM
|
||||
size: 32
|
||||
crc32: "b5221cec"
|
||||
sha1: "71d9830b33b1a8140b0fe1a2ba8024ba8e6e48e0"
|
||||
|
||||
# Capcom ZN1
|
||||
- name: cpzn1.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: capcom-zn1
|
||||
source_ref: "src/drivers/zn.c:3123-3125,3127-3129,4513"
|
||||
contents:
|
||||
- name: coh-1000c.353
|
||||
size: 524288
|
||||
crc32: "50033af6"
|
||||
sha1: "486d92ff6c7f1e54f8e0ef41cd9116eca0e10e1a"
|
||||
|
||||
# Capcom ZN2
|
||||
- name: cpzn2.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: capcom-zn2
|
||||
source_ref: "src/drivers/zn.c:3358-3360,3362-3364,4531"
|
||||
contents:
|
||||
- name: coh-3002c.353
|
||||
size: 524288
|
||||
crc32: "e860ea8b"
|
||||
sha1: "66e7e1d4e426466b8f48a2ba055a91b475569504"
|
||||
|
||||
# Tecmo TPS
|
||||
- name: tps.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: tecmo-tps
|
||||
source_ref: "src/drivers/zn.c:3801-3803,3805-3807,4578"
|
||||
contents:
|
||||
- name: coh-1002m.353
|
||||
size: 524288
|
||||
crc32: "69ffbcb4"
|
||||
sha1: "03eb2febfab3fcde716defff291babd9392de965"
|
||||
|
||||
# Taito FX1
|
||||
- name: taitofx1.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: taito-fx1
|
||||
source_ref: "src/drivers/zn.c:4036-4038,4040-4042,4603"
|
||||
contents:
|
||||
- name: coh-1000t.353
|
||||
size: 524288
|
||||
crc32: "e3f23b6e"
|
||||
sha1: "e18907cf8c6ba54d96edba0a9a00487a90219e0d"
|
||||
|
||||
# Eighting/Raizing PS Arcade 95
|
||||
- name: psarc95.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: eighting-zn1
|
||||
source_ref: "src/drivers/zn.c:4308-4310,4312-4314,4630"
|
||||
contents:
|
||||
- name: coh-1002e.353
|
||||
size: 524288
|
||||
crc32: "910f3a8b"
|
||||
sha1: "cd68532967a25f476a6d73473ec6b6f4df2e1689"
|
||||
|
||||
# Atlus PSX
|
||||
- name: atluspsx.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: atlus-zn1
|
||||
source_ref: "src/drivers/zn.c:4479-4481,4483-4485,4642"
|
||||
contents:
|
||||
- name: coh-1001l.353
|
||||
size: 524288
|
||||
crc32: "6721146b"
|
||||
sha1: "9511d24bfe25eb180fb2db0835b131cb4a12730e"
|
||||
|
||||
# Atari PSX
|
||||
- name: atpsx.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: atari-zn1
|
||||
source_ref: "src/drivers/zn.c:4394-4396,4398-4400,4558"
|
||||
contents:
|
||||
- name: coh-1000w.353
|
||||
size: 524288
|
||||
crc32: "45e8a4b4"
|
||||
sha1: "815488d8563c85f97fbc3384ff21f08e4c88b7b7"
|
||||
|
||||
# Acclaim PSX
|
||||
- name: acpsx.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: acclaim-zn1
|
||||
source_ref: "src/drivers/zn.c:4417-4419,4421-4423,4567"
|
||||
contents:
|
||||
- name: coh-1000a.353
|
||||
size: 524288
|
||||
crc32: "8d8d0764"
|
||||
sha1: "7ee83d317190bb1cef2f8f01c81eaaae47150ebb"
|
||||
|
||||
# SNK Hyper Neo Geo 64
|
||||
- name: hng64.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: hyper-neogeo64
|
||||
source_ref: "src/drivers/hng64.c:1425-1431,1718"
|
||||
contents:
|
||||
- name: brom1.bin
|
||||
description: R4300 BIOS
|
||||
size: 524288
|
||||
crc32: "a30dd3de"
|
||||
sha1: "3e2fd0a56214e6f5dcb93687e409af13d065ea30"
|
||||
- name: from1.bin
|
||||
description: unused BIOS ROM
|
||||
size: 524288
|
||||
crc32: "6b933005"
|
||||
sha1: "e992747f46c48b66e5509fe0adf19c91250b00c7"
|
||||
- name: rom1.bin
|
||||
description: unused BIOS ROM
|
||||
size: 130866
|
||||
crc32: "4a6832dc"
|
||||
sha1: "ae504f7733c2f40450157cd1d3b85bc83fac8569"
|
||||
|
||||
# Arcadia Systems
|
||||
- name: ar_bios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: arcadia-systems
|
||||
source_ref: "src/drivers/arcadia.c:333-348,352-354,356-360,717"
|
||||
note: >-
|
||||
Three BIOS variants selected with misc_bios (onep300, onep211,
|
||||
tenp211), onep300 by default. kick12.rom is loaded whichever variant
|
||||
is selected.
|
||||
contents:
|
||||
- name: kick12.rom
|
||||
description: Amiga Kickstart 1.2
|
||||
size: 262144
|
||||
crc32: "a6ce1636"
|
||||
sha1: "11f9e62cf299f72184835b7b2a70a16333fc0d88"
|
||||
- name: scpav3_0.1h
|
||||
description: OnePlay 3.00
|
||||
size: 65536
|
||||
crc32: "2d8e1a06"
|
||||
sha1: "be187f34624aeda110017c4a09242f7c00ef56a4"
|
||||
- name: scpav3_0.1l
|
||||
description: OnePlay 3.00
|
||||
size: 65536
|
||||
crc32: "e4f38fab"
|
||||
sha1: "01c2eb5965070893be6734eb1372576727716476"
|
||||
- name: scpa211h
|
||||
description: OnePlay 2.11
|
||||
size: 65536
|
||||
crc32: "be9dbdc5"
|
||||
sha1: "1554da09f051ec53937d65d4e451de51bc0c69e5"
|
||||
- name: scpa211l
|
||||
description: OnePlay 2.11
|
||||
size: 65536
|
||||
crc32: "95b84504"
|
||||
sha1: "99999fc40909001b37aa1b543918118becc81800"
|
||||
- name: gcp-1-hi
|
||||
description: TenPlay 2.11
|
||||
size: 65536
|
||||
crc32: "67d44523"
|
||||
sha1: "f3e3699132cdf741518accb890c04d17374c4049"
|
||||
- name: gcp-1-lo
|
||||
description: TenPlay 2.11
|
||||
size: 65536
|
||||
crc32: "65d9b9cf"
|
||||
sha1: "5c60a0dd4a0a7d9b938ce6b0446a6ad2ecaf07ec"
|
||||
- name: gcp-2-hi
|
||||
description: TenPlay 2.11
|
||||
size: 65536
|
||||
crc32: "1d7594ae"
|
||||
sha1: "6173bbfecf18d7d9ee6bc2b6753ca9d42fabd781"
|
||||
- name: gcp-2-lo
|
||||
description: TenPlay 2.11
|
||||
size: 65536
|
||||
crc32: "e776198d"
|
||||
sha1: "694ca4cc99ed84a95d18201c94a3332f8599654f"
|
||||
- name: gcp-3-hi
|
||||
description: TenPlay 2.11
|
||||
size: 65536
|
||||
crc32: "3e7364be"
|
||||
sha1: "26e10d0ddc031a891138db36ce4f1732722e6847"
|
||||
- name: gcp-3-lo
|
||||
description: TenPlay 2.11
|
||||
size: 65536
|
||||
crc32: "87229e0d"
|
||||
sha1: "0b18544801e529f954b9e03226bd2e5475f36351"
|
||||
|
||||
# Exidy Max-A-Flex
|
||||
- name: maxaflex.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: exidy-maxaflex
|
||||
source_ref: "src/drivers/maxaflex.c:518-527,583"
|
||||
contents:
|
||||
- name: atarixl.rom
|
||||
description: main CPU ROM
|
||||
size: 16384
|
||||
crc32: "1f9cd270"
|
||||
sha1: "ae4f523ba08b6fd59f3cae515a2b2410bbd98f55"
|
||||
- name: maxaflex.uc
|
||||
description: microcontroller
|
||||
size: 2048
|
||||
crc32: "fe9cf53c"
|
||||
sha1: "4b02bc2f0c8a1eab799814fac82d5812c0160206"
|
||||
- name: maxprom.prm
|
||||
description: PROM
|
||||
size: 512
|
||||
crc32: "edf5c950"
|
||||
sha1: "9ad046ea41a61585dd8d2f2d4167a3cc39d2928f"
|
||||
|
||||
# Brezzasoft Crystal System
|
||||
- name: crysbios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: brezzasoft-crystal
|
||||
source_ref: "src/drivers/crystal.c:854-857,923"
|
||||
contents:
|
||||
- name: mx27l1000.u14
|
||||
size: 131072
|
||||
crc32: "beff39a9"
|
||||
sha1: "b6f6dda58d9c82273f9422c1bd623411e58982cb"
|
||||
|
||||
# I'Max Multi Amenity Cassette System
|
||||
- name: macsbios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: imax-macs
|
||||
source_ref: "src/drivers/macs.c:384-388,394-402,612"
|
||||
contents:
|
||||
- name: macsos_l.u43
|
||||
description: BIOS low byte
|
||||
size: 524288
|
||||
crc32: "0b5aed5e"
|
||||
sha1: "042e705017ee34656e2c6af45825bb2dd3447747"
|
||||
- name: macsos_h.u44
|
||||
description: BIOS high byte
|
||||
size: 524288
|
||||
crc32: "538b68e4"
|
||||
sha1: "a0534147791e94e726f49451d0e95671ae0a87d5"
|
||||
|
||||
# Barcrest MPU4 Video
|
||||
- name: bctvidbs.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/drivers/mpu4.c:2011-2012,2014-2017,2175"
|
||||
contents:
|
||||
- name: vid.p1
|
||||
size: 65536
|
||||
crc32: "e996bc18"
|
||||
sha1: "49798165640627eb31024319353da04380787b10"
|
||||
@@ -0,0 +1,44 @@
|
||||
emulator: Adventure Game Studio
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/adventuregamestudio/ags"
|
||||
source_branch: release-3.6.0
|
||||
source_commit: "6802bad8dc3189462003d4a169fc591f64cfb9b6"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "3.6.0.60"
|
||||
display_name: "Adventure Game Studio (AGS)"
|
||||
cores:
|
||||
- ags
|
||||
systems:
|
||||
- ags
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Runtime engine of Adventure Game Studio, ACI_VERSION_STR 3.6.0.60
|
||||
(Common/core/def_version.h:4). RetroPie builds Engine/ from the
|
||||
release-3.6.0 branch and passes either the game's .exe or the sibling
|
||||
directory of the same name.
|
||||
|
||||
Everything the engine opens belongs to the game. The data file is found by
|
||||
scanning the given directory for *.ags, ac2game.dat or *.exe
|
||||
(Common/game/main_game_file.cpp:130-140). Beside it the engine reads
|
||||
audio.vox, or music.vox for games older than 3.2
|
||||
(Common/ac/gamesetupstructbase.h:188-192), speech.vox or sp_<name>.vox
|
||||
(Engine/ac/speech.cpp:102), <name>.tra translations
|
||||
(Engine/ac/translation.cpp:57), sprindex.dat (Common/ac/spritefile.cpp:33)
|
||||
and agsfnt<n>.ttf or agsfnt<n>.wfn fonts (Common/font/ttffontrenderer.cpp:114,
|
||||
Common/font/wfnfontrenderer.cpp:147-152), all shipped inside or next to
|
||||
the game. acsetup.cfg (Engine/main/config.cpp:47) is the user's
|
||||
configuration.
|
||||
|
||||
MIDI goes through SDL_sound's Timidity decoder, fetched at commit
|
||||
253b00ca with SDLSOUND_DECODER_MIDI on (CMake/FetchSDL_Sound.cmake) since
|
||||
RetroPie sets AGS_USE_LOCAL_SDL2_SOUND=OFF. MIDI_init tries $TIMIDITY_CFG,
|
||||
then /etc/timidity.cfg, /etc/timidity/freepats.cfg and finally
|
||||
timidity.cfg in the working directory (SDL_sound src/SDL_sound_midi.c:23-51).
|
||||
That is the host's GUS patch set, and without it MIDI tracks stay silent
|
||||
while the game runs. RetroPie also writes the Allegro DIGMID set
|
||||
digmid.dat as bin/patches.dat, but the 3.6 engine no longer links the
|
||||
Allegro MIDI driver and nothing in Engine/ or Common/ opens patches.dat.
|
||||
|
||||
files: []
|
||||
@@ -0,0 +1,297 @@
|
||||
emulator: Aleph One
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/Aleph-One-Marathon/alephone"
|
||||
upstream: "https://github.com/Aleph-One-Marathon/alephone"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "07a9c36aff403d143a0608815f725631a01e382c"
|
||||
core_version: "1.11 (20250829)"
|
||||
display_name: "Marathon (Aleph One)"
|
||||
cores:
|
||||
- alephone
|
||||
systems: [marathon, marathon-2, marathon-infinity]
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Engine of Bungie's Marathon trilogy, developed from the Marathon 2 source
|
||||
release. Profiled at tag release-20250829 (A1_DATE_VERSION,
|
||||
Source_Files/Misc/alephversion.h:27-29), the release RetroPie builds on
|
||||
Debian 11 and later. Older systems get release-20250302
|
||||
(scriptmodules/ports/alephone.sh, _get_version_alephone). RetroPie
|
||||
downloads the three scenario archives of the same release into
|
||||
$romdir/ports/alephone and starts `alephone <scenario folder>`.
|
||||
|
||||
The folder given on the command line goes on the data search path
|
||||
(Source_Files/shell.cpp:405-411). Every MML file under its Scripts/ is
|
||||
parsed at start (Source_Files/shell.cpp:1600-1610), and string set 129
|
||||
there renames the data files the engine looks up. Without it the engine
|
||||
searches for files literally named Map, Shapes, Sounds and Images
|
||||
(Source_Files/Misc/DefaultStringSets.cpp:86-101). A scenario counts as
|
||||
present when Map, Shapes, and Images or the external resources file are
|
||||
found. Otherwise the engine asks for another folder
|
||||
(Source_Files/Files/preprocess_map_sdl.cpp:68-74,
|
||||
Source_Files/shell.cpp:463-480). A missing Sounds or Physics file is
|
||||
ignored (Source_Files/Files/preprocess_map_sdl.cpp:87-103).
|
||||
|
||||
Music/NN.ogg holds the level music of the Marathon 1 data, played when a
|
||||
level names a song index (Source_Files/Sound/Music.cpp:260-275). Plugins/
|
||||
carries HUD plugins listed in the plugin menu
|
||||
(Source_Files/XML/Plugins.cpp:509-512). Demos/*.filA are replays played
|
||||
from the title screen (Source_Files/Misc/vbl.cpp:1380-1395). Fonts,
|
||||
the base MML and the default theme are installed with the engine from its
|
||||
own data/ folder. No file is hashed.
|
||||
|
||||
The files below are the release-20250829 scenario archives
|
||||
(Marathon-20250829-Data.zip, Marathon2-20250829-Data.zip,
|
||||
MarathonInfinity-20250829-Data.zip), distributed freely by the Aleph One
|
||||
project.
|
||||
|
||||
files:
|
||||
# Marathon (Marathon/)
|
||||
- name: Marathon.mml
|
||||
category: game_data
|
||||
system: marathon
|
||||
path: "Marathon/Scripts/Marathon.mml"
|
||||
required: true
|
||||
sha1: f40d598d451df36f123a0e4d04bf5d5896d2eb6b
|
||||
source_ref: "Source_Files/shell.cpp:1600-1610"
|
||||
note: "Names Map.scen, Shapes.shps, Sounds.sndz, Physics.phys and Marathon.appl through string set 129."
|
||||
- name: Default Preferences.xml
|
||||
category: game_data
|
||||
system: marathon
|
||||
path: "Marathon/Scripts/Default Preferences.xml"
|
||||
required: false
|
||||
sha1: 7f91cdd48f7acc66221c5fac671ea353a7d80c85
|
||||
source_ref: "Source_Files/shell.cpp:1600-1610"
|
||||
- name: Map.scen
|
||||
category: game_data
|
||||
system: marathon
|
||||
path: "Marathon/Map.scen"
|
||||
required: true
|
||||
size: 3864064
|
||||
sha1: 37f97bb2482a9bec3016100f93756707af087dcb
|
||||
source_ref: "Source_Files/Files/preprocess_map_sdl.cpp:68-85"
|
||||
- name: Shapes.shps
|
||||
category: game_data
|
||||
system: marathon
|
||||
path: "Marathon/Shapes.shps"
|
||||
required: true
|
||||
size: 6481664
|
||||
sha1: 0a32105b48c117a2182440d7236f1ee91fb40e59
|
||||
source_ref: "Source_Files/Files/preprocess_map_sdl.cpp:68-74, 93-97"
|
||||
- name: Marathon.appl
|
||||
category: game_data
|
||||
system: marathon
|
||||
path: "Marathon/Marathon.appl"
|
||||
required: true
|
||||
size: 948096
|
||||
sha1: a7abadf86280a87c82a203af9f2ecc9aff87ccf3
|
||||
source_ref: "Source_Files/Files/preprocess_map_sdl.cpp:68-79, Source_Files/RenderOther/images.cpp:1040-1050"
|
||||
note: "External resources file standing in for Images, which the Marathon 1 data does not have."
|
||||
- name: Sounds.sndz
|
||||
category: game_data
|
||||
system: marathon
|
||||
path: "Marathon/Sounds.sndz"
|
||||
required: false
|
||||
size: 1021824
|
||||
sha1: 0f4c1f1c0d1103ca79c83d862d4f50226380ce99
|
||||
source_ref: "Source_Files/Files/preprocess_map_sdl.cpp:99-103"
|
||||
- name: Physics.phys
|
||||
category: game_data
|
||||
system: marathon
|
||||
path: "Marathon/Physics.phys"
|
||||
required: false
|
||||
size: 7848
|
||||
sha1: e5ed815c253a2e6bb70b46924d38ba13f73ef484
|
||||
source_ref: "Source_Files/Files/preprocess_map_sdl.cpp:87-91"
|
||||
note: "Marathon 1 physics. Without it the engine runs the level with its built-in Marathon 2 physics."
|
||||
- name: "Music/"
|
||||
type: directory
|
||||
category: game_data
|
||||
system: marathon
|
||||
path: "Marathon/Music/"
|
||||
required: false
|
||||
source_ref: "Source_Files/Sound/Music.cpp:260-275"
|
||||
note: "Level music, 00.ogg to 15.ogg."
|
||||
- name: "Plugins/"
|
||||
type: directory
|
||||
category: game_data
|
||||
system: marathon
|
||||
path: "Marathon/Plugins/"
|
||||
required: false
|
||||
source_ref: "Source_Files/XML/Plugins.cpp:509-512"
|
||||
note: "Basic M1 HUD and Enhanced HUD plugins."
|
||||
|
||||
# Marathon 2: Durandal (Marathon 2/)
|
||||
- name: Filenames.mml
|
||||
category: game_data
|
||||
system: marathon-2
|
||||
path: "Marathon 2/Scripts/Filenames.mml"
|
||||
required: true
|
||||
sha1: b2d1fa9a65b2be0d5a647f694eb32f54101b5b37
|
||||
source_ref: "Source_Files/shell.cpp:1600-1610"
|
||||
note: "Names Shapes.shpA, Sounds.sndA, Map.sceA, Physics Models/Standard.phyA, Music.ogg and Images.imgA through string set 129."
|
||||
- name: Marathon 2.mml
|
||||
category: game_data
|
||||
system: marathon-2
|
||||
path: "Marathon 2/Scripts/Marathon 2.mml"
|
||||
required: false
|
||||
sha1: ed7726736ebc7540a396612b929f026b1005a752
|
||||
source_ref: "Source_Files/shell.cpp:1600-1610"
|
||||
- name: Default Preferences.xml
|
||||
category: game_data
|
||||
system: marathon-2
|
||||
path: "Marathon 2/Scripts/Default Preferences.xml"
|
||||
required: false
|
||||
sha1: 9848f63dd8a8c66c593f4c95e04cb66078d5b0a7
|
||||
source_ref: "Source_Files/shell.cpp:1600-1610"
|
||||
- name: Map.sceA
|
||||
category: game_data
|
||||
system: marathon-2
|
||||
path: "Marathon 2/Map.sceA"
|
||||
required: true
|
||||
size: 20478336
|
||||
sha1: 8bd51b5734013ac659c699484471baaf916ab5d9
|
||||
source_ref: "Source_Files/Files/preprocess_map_sdl.cpp:68-85"
|
||||
- name: Shapes.shpA
|
||||
category: game_data
|
||||
system: marathon-2
|
||||
path: "Marathon 2/Shapes.shpA"
|
||||
required: true
|
||||
size: 10016800
|
||||
sha1: 1950a0b08cf18e6ee8d82e17d9300c8109ee7288
|
||||
source_ref: "Source_Files/Files/preprocess_map_sdl.cpp:68-74, 93-97"
|
||||
- name: Images.imgA
|
||||
category: game_data
|
||||
system: marathon-2
|
||||
path: "Marathon 2/Images.imgA"
|
||||
required: true
|
||||
size: 4060032
|
||||
sha1: 1deedb05e0db70c88e32f213df4c601fb393fa3e
|
||||
source_ref: "Source_Files/Files/preprocess_map_sdl.cpp:68-74, Source_Files/RenderOther/images.cpp:990-1000"
|
||||
- name: Sounds.sndA
|
||||
category: game_data
|
||||
system: marathon-2
|
||||
path: "Marathon 2/Sounds.sndA"
|
||||
required: false
|
||||
size: 14183536
|
||||
sha1: 965423878c7a73d893bc17793206edbfe820a3c3
|
||||
source_ref: "Source_Files/Files/preprocess_map_sdl.cpp:99-103"
|
||||
- name: Standard.phyA
|
||||
category: game_data
|
||||
system: marathon-2
|
||||
path: "Marathon 2/Physics Models/Standard.phyA"
|
||||
required: false
|
||||
size: 11102
|
||||
sha1: 64b794d5b1cef3f5eb6b8886ef720a244335bc11
|
||||
source_ref: "Source_Files/Files/preprocess_map_sdl.cpp:87-91"
|
||||
- name: Music.ogg
|
||||
category: game_data
|
||||
system: marathon-2
|
||||
path: "Marathon 2/Music.ogg"
|
||||
required: false
|
||||
size: 763501
|
||||
sha1: afcef78a0ff02fa96bf63f904610a5abc173fb5e
|
||||
source_ref: "Source_Files/Files/preprocess_map_sdl.cpp:105-108"
|
||||
note: "Title screen music."
|
||||
- name: "Demos/"
|
||||
type: directory
|
||||
category: game_data
|
||||
system: marathon-2
|
||||
path: "Marathon 2/Demos/"
|
||||
required: false
|
||||
source_ref: "Source_Files/Misc/vbl.cpp:1380-1395"
|
||||
- name: "Plugins/"
|
||||
type: directory
|
||||
category: game_data
|
||||
system: marathon-2
|
||||
path: "Marathon 2/Plugins/"
|
||||
required: false
|
||||
source_ref: "Source_Files/XML/Plugins.cpp:509-512"
|
||||
|
||||
# Marathon Infinity (Marathon Infinity/)
|
||||
- name: Filenames.mml
|
||||
category: game_data
|
||||
system: marathon-infinity
|
||||
path: "Marathon Infinity/Scripts/Filenames.mml"
|
||||
required: true
|
||||
sha1: 2595e19a67a467a06b357220a34694bf412db603
|
||||
source_ref: "Source_Files/shell.cpp:1600-1610"
|
||||
note: "Names Shapes.shpA, Sounds.sndA, Map.sceA, Physics Models/Standard.phyA, Music.ogg and Images.imgA through string set 129."
|
||||
- name: Marathon Infinity.mml
|
||||
category: game_data
|
||||
system: marathon-infinity
|
||||
path: "Marathon Infinity/Scripts/Marathon Infinity.mml"
|
||||
required: false
|
||||
sha1: 1f93c9e3f42c8e4b97d770ffb66e18e3ce444e5b
|
||||
source_ref: "Source_Files/shell.cpp:1600-1610"
|
||||
- name: Default Preferences.xml
|
||||
category: game_data
|
||||
system: marathon-infinity
|
||||
path: "Marathon Infinity/Scripts/Default Preferences.xml"
|
||||
required: false
|
||||
sha1: 4814e1b516a4a8fc4240a599c60884e4e136b293
|
||||
source_ref: "Source_Files/shell.cpp:1600-1610"
|
||||
- name: Map.sceA
|
||||
category: game_data
|
||||
system: marathon-infinity
|
||||
path: "Marathon Infinity/Map.sceA"
|
||||
required: true
|
||||
size: 20753920
|
||||
sha1: 9cc6bc8796102637ecdf151020a247d54dc6a3ce
|
||||
source_ref: "Source_Files/Files/preprocess_map_sdl.cpp:68-85"
|
||||
- name: Shapes.shpA
|
||||
category: game_data
|
||||
system: marathon-infinity
|
||||
path: "Marathon Infinity/Shapes.shpA"
|
||||
required: true
|
||||
size: 11383292
|
||||
sha1: 11398892f9d7df0c5e5bf88d71954911229b5c3e
|
||||
source_ref: "Source_Files/Files/preprocess_map_sdl.cpp:68-74, 93-97"
|
||||
- name: Images.imgA
|
||||
category: game_data
|
||||
system: marathon-infinity
|
||||
path: "Marathon Infinity/Images.imgA"
|
||||
required: true
|
||||
size: 4783360
|
||||
sha1: e76cc2063a1dacf28bee759bb3d1a9cb41b2def8
|
||||
source_ref: "Source_Files/Files/preprocess_map_sdl.cpp:68-74, Source_Files/RenderOther/images.cpp:990-1000"
|
||||
- name: Sounds.sndA
|
||||
category: game_data
|
||||
system: marathon-infinity
|
||||
path: "Marathon Infinity/Sounds.sndA"
|
||||
required: false
|
||||
size: 18507212
|
||||
sha1: fc1c72d7dcfe957755e9f919e9e0c224fca2d4bc
|
||||
source_ref: "Source_Files/Files/preprocess_map_sdl.cpp:99-103"
|
||||
- name: Standard.phyA
|
||||
category: game_data
|
||||
system: marathon-infinity
|
||||
path: "Marathon Infinity/Physics Models/Standard.phyA"
|
||||
required: false
|
||||
size: 11102
|
||||
sha1: 64b794d5b1cef3f5eb6b8886ef720a244335bc11
|
||||
source_ref: "Source_Files/Files/preprocess_map_sdl.cpp:87-91"
|
||||
- name: Music.ogg
|
||||
category: game_data
|
||||
system: marathon-infinity
|
||||
path: "Marathon Infinity/Music.ogg"
|
||||
required: false
|
||||
size: 834960
|
||||
sha1: aa8a88d760a4472081823a47dc83c19444a280ce
|
||||
source_ref: "Source_Files/Files/preprocess_map_sdl.cpp:105-108"
|
||||
note: "Title screen music."
|
||||
- name: "Demos/"
|
||||
type: directory
|
||||
category: game_data
|
||||
system: marathon-infinity
|
||||
path: "Marathon Infinity/Demos/"
|
||||
required: false
|
||||
source_ref: "Source_Files/Misc/vbl.cpp:1380-1395"
|
||||
- name: "Plugins/"
|
||||
type: directory
|
||||
category: game_data
|
||||
system: marathon-infinity
|
||||
path: "Marathon Infinity/Plugins/"
|
||||
required: false
|
||||
source_ref: "Source_Files/XML/Plugins.cpp:509-512"
|
||||
@@ -0,0 +1,238 @@
|
||||
emulator: ArcadeDuck
|
||||
type: standalone
|
||||
core_classification: community_fork
|
||||
source: "https://github.com/StillJC/ArcadeDuck"
|
||||
upstream: "https://github.com/stenzek/duckstation"
|
||||
source_commit: "26caf9cd27915a331fa32dc174489383b308ecad"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "latest (26caf9c)"
|
||||
display_name: "Arcade - Sony ZN-1, Namco System 11, Konami GV/GQ (ArcadeDuck)"
|
||||
cores:
|
||||
- arcadeduck
|
||||
systems:
|
||||
- konami-gv
|
||||
- konami-gq
|
||||
- namco-system11
|
||||
- capcom-zn1
|
||||
- videosystem-zn1
|
||||
- atlus-zn1
|
||||
- eighting-zn1
|
||||
- atari-zn1
|
||||
- acclaim-zn1
|
||||
- tecmo-tps
|
||||
- taito-fx1
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
DuckStation fork that runs the PlayStation based arcade boards. RetroBat
|
||||
installs the "latest" release of StillJC/ArcadeDuck unchanged: its
|
||||
ArcadeDuck.exe and resources/arcadedb.yaml are byte for byte the release
|
||||
archive arcadeduck-windows-x64-release.zip, built from 26caf9c.
|
||||
|
||||
A game is a MAME style non-merged set identified by its archive name alone
|
||||
through resources/arcadedb.yaml, read from the resources folder beside the
|
||||
executable. Without that file no archive is recognised and nothing boots.
|
||||
ref: src/core/arcade/arcade_database.cpp:28, 1137-1154, 1319,
|
||||
src/core/system.cpp:1599-1616
|
||||
|
||||
Arcade boots skip the PlayStation BIOS scan: each board handler loads and
|
||||
checks its own BIOS. The PS1 BIOS search inherited from DuckStation only runs
|
||||
for a standard boot, which the RetroBat launcher never requests since it
|
||||
refuses anything but a .zip set.
|
||||
ref: src/core/system.cpp:1772-1773, emulatorLauncher Generators/ArcadeDuck.Generator.cs:46-48
|
||||
|
||||
Board firmware is read from the BIOS directory (EmuFolders::Bios, the
|
||||
[BIOS] SearchDirectory setting). RetroBat points it at the folder of the game
|
||||
when the firmware archive sits there, else at the RetroBat bios folder.
|
||||
ref: src/core/settings.cpp:1791, src/core/arcade/arcade_machine_handler.cpp:140-141,
|
||||
emulatorLauncher Generators/ArcadeDuck.Generator.cs:104-128
|
||||
|
||||
Each member of a firmware archive is found by name, case insensitive, and
|
||||
must match the size and CRC32 listed in arcadedb.yaml, then the SHA-1 when
|
||||
one is listed. Any mismatch stops the boot.
|
||||
ref: src/core/arcade/systems/sony/zn/sony_zn.cpp:783-860,
|
||||
src/core/arcade/systems/namco/system11/namco_system11.cpp:198-240
|
||||
|
||||
Konami GV uses a fixed archive name and member, hardcoded in bios.cpp rather
|
||||
than read from the database. Konami GQ takes its BIOS member 420b03.27p from
|
||||
the game archive itself, so no separate file is read for it.
|
||||
ref: src/core/bios.cpp:169-184, 233-358, 360-410,
|
||||
src/core/arcade/arcade_machine_handler.cpp:36-38, 76
|
||||
|
||||
arcadedb.yaml also declares coh3002c.zip (Capcom ZN-2), sys573.zip (Konami
|
||||
System 573) and gq863.zip (Konami Twinkle), but no machine handler exists for
|
||||
those boards at this revision, so their sets never get to the point of opening
|
||||
a firmware archive.
|
||||
ref: src/core/arcade/arcade_machine_handler.cpp:952-978
|
||||
|
||||
Only the members a handler reads are listed under each archive: the 512 KiB
|
||||
main BIOS and the motherboard CAT702 security key for the ZN boards, c76.bin
|
||||
for Namco System 11. The uPD78081 MCU ROM of the ZN boards is undumped and
|
||||
emulated without it.
|
||||
ref: src/core/arcade/systems/sony/zn/sony_zn.cpp:442
|
||||
|
||||
files:
|
||||
- name: "arcadedb.yaml"
|
||||
path: "resources/arcadedb.yaml"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 1723653
|
||||
sha1: "002308e952d454a2efdfd6ebf5f5817f1d742637"
|
||||
md5: "b65d86f7bdb0041b8891e064ff7933e4"
|
||||
description: "Arcade set, board and firmware database"
|
||||
source_ref: "src/core/arcade/arcade_database.cpp:28, 1137-1154, src/arcadeduck-qt/qthost.cpp:1944-1951"
|
||||
note: "Hashes are those of the copy in the release archive, written with CRLF line endings. The repository copy at 26caf9c holds the same text with LF endings."
|
||||
|
||||
- name: "konamigv.zip"
|
||||
system: konami-gv
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "Konami GV BIOS"
|
||||
source_ref: "src/core/bios.cpp:169-176, 233-358, src/core/arcade/arcade_machine_handler.cpp:36-38"
|
||||
contents:
|
||||
- name: "999a01.7e"
|
||||
size: 524288
|
||||
crc32: "ad498d2d"
|
||||
sha1: "02a82a2fe1fba0404517c3602324bfa64e23e478"
|
||||
|
||||
- name: "namcoc76.zip"
|
||||
system: namco-system11
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "Namco System 11 C76 firmware"
|
||||
source_ref: "src/core/arcade/arcade_machine_handler.cpp:140-145, src/core/arcade/systems/namco/system11/namco_system11.cpp:198-240, 548-556, data/resources/arcadedb.yaml:69"
|
||||
note: "c76.bin is the internal ROM of the C76 sound and I/O MCU."
|
||||
contents:
|
||||
- name: "c76.bin"
|
||||
size: 16384
|
||||
crc32: "399faac7"
|
||||
sha1: "ceb184ef0486caf715dd997101999785f67a40b8"
|
||||
|
||||
- name: "coh1000c.zip"
|
||||
system: capcom-zn1
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "Capcom ZN-1 (COH-1000C) BIOS"
|
||||
source_ref: "src/core/arcade/arcade_machine_handler.cpp:227-233, src/core/arcade/systems/sony/zn/sony_zn.cpp:783-860, 2774-2783, 2836-2844, data/resources/arcadedb.yaml:110"
|
||||
note: "The handler always asks for BIOS variant j, the Japanese mask ROM m534002c-13.ic353. msm27c402zb.ic353, the e variant listed beside it, is never read."
|
||||
contents:
|
||||
- name: "m534002c-13.ic353"
|
||||
size: 524288
|
||||
crc32: "50033af6"
|
||||
sha1: "486d92ff6c7f1e54f8e0ef41cd9116eca0e10e1a"
|
||||
- name: "cp01.ic652"
|
||||
size: 8
|
||||
crc32: "bb7ba033"
|
||||
sha1: "966f3aee5d00e1312c455f855915d621e6cb0672"
|
||||
|
||||
- name: "coh1002v.zip"
|
||||
system: videosystem-zn1
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "Video System ZN-1 (COH-1002V) BIOS"
|
||||
source_ref: "src/core/arcade/arcade_machine_handler.cpp:300-303, src/core/arcade/systems/sony/zn/sony_zn.cpp:783-860, 2774-2783, 2961-2969, data/resources/arcadedb.yaml:294"
|
||||
contents:
|
||||
- name: "coh-1002v.ic353"
|
||||
size: 524288
|
||||
crc32: "5ff165f3"
|
||||
sha1: "8f59314c1093446b9bcb06d232244da6df78e206"
|
||||
- name: "kn01.ic652"
|
||||
size: 8
|
||||
crc32: "1ce271df"
|
||||
sha1: "b01479dc75a4a8a86bee7ac7cd10af2bda332544"
|
||||
|
||||
- name: "coh1001l.zip"
|
||||
system: atlus-zn1
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "Atlus ZN-1 (COH-1001L) BIOS"
|
||||
source_ref: "src/core/arcade/arcade_machine_handler.cpp:367-370, src/core/arcade/systems/sony/zn/sony_zn.cpp:783-860, 2774-2783, 3063, data/resources/arcadedb.yaml:264"
|
||||
contents:
|
||||
- name: "m534002c-17.ic353"
|
||||
size: 524288
|
||||
crc32: "6721146b"
|
||||
sha1: "9511d24bfe25eb180fb2db0835b131cb4a12730e"
|
||||
- name: "at01.ic652"
|
||||
size: 8
|
||||
crc32: "181668b3"
|
||||
sha1: "8d2fe1facb4473cc20b4b477aaf881f9280939cf"
|
||||
|
||||
- name: "coh1002e.zip"
|
||||
system: eighting-zn1
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "Eighting/Raizing ZN-1 (COH-1002E) BIOS"
|
||||
source_ref: "src/core/arcade/arcade_machine_handler.cpp:451-454, src/core/arcade/systems/sony/zn/sony_zn.cpp:783-860, 2774-2783, 3219, 3352, data/resources/arcadedb.yaml:324"
|
||||
contents:
|
||||
- name: "m27c402cz-54.ic353"
|
||||
size: 524288
|
||||
crc32: "910f3a8b"
|
||||
sha1: "cd68532967a25f476a6d73473ec6b6f4df2e1689"
|
||||
- name: "et01.ic652"
|
||||
size: 8
|
||||
crc32: "a7dd922e"
|
||||
sha1: "1069c1d9015028a51a1b314cfacb014ea90aa425"
|
||||
|
||||
- name: "coh1000w.zip"
|
||||
system: atari-zn1
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "Time Warner / Atari ZN-1 (COH-1000W) BIOS"
|
||||
source_ref: "src/core/arcade/arcade_machine_handler.cpp:539-542, src/core/arcade/systems/sony/zn/sony_zn.cpp:783-860, 2774-2783, 3435, data/resources/arcadedb.yaml:235"
|
||||
contents:
|
||||
- name: "msm27c402zb.ic353"
|
||||
size: 524288
|
||||
crc32: "45e8a4b4"
|
||||
sha1: "815488d8563c85f97fbc3384ff21f08e4c88b7b7"
|
||||
- name: "tw01.ic652"
|
||||
size: 8
|
||||
crc32: "1cac067e"
|
||||
sha1: "8e87941bfb374172628c8a37647e3a66b7166aa8"
|
||||
|
||||
- name: "coh1000a.zip"
|
||||
system: acclaim-zn1
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "Acclaim ZN-1 (COH-1000A) BIOS"
|
||||
source_ref: "src/core/arcade/arcade_machine_handler.cpp:614-617, src/core/arcade/systems/sony/zn/sony_zn.cpp:783-860, 2774-2783, 3574, data/resources/arcadedb.yaml:206"
|
||||
contents:
|
||||
- name: "m534002c-15.ic353"
|
||||
size: 524288
|
||||
crc32: "8d8d0764"
|
||||
sha1: "7ee83d317190bb1cef2f8f01c81eaaae47150ebb"
|
||||
- name: "ac01.ic652"
|
||||
size: 8
|
||||
crc32: "c425eaf5"
|
||||
sha1: "decf77ab50f7f58c641c3214a11647924f3a8998"
|
||||
|
||||
- name: "coh1002m.zip"
|
||||
system: tecmo-tps
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "Tecmo TPS (COH-1002M) BIOS"
|
||||
source_ref: "src/core/arcade/arcade_machine_handler.cpp:709-712, src/core/arcade/systems/sony/zn/sony_zn.cpp:783-860, 2774-2783, 3905, data/resources/arcadedb.yaml:355"
|
||||
contents:
|
||||
- name: "m534002c-61.ic353"
|
||||
size: 524288
|
||||
crc32: "69ffbcb4"
|
||||
sha1: "03eb2febfab3fcde716defff291babd9392de965"
|
||||
- name: "mg01.ic652"
|
||||
size: 8
|
||||
crc32: "50dc8322"
|
||||
sha1: "cef4011c6c06d6fce546e1db5d9fbae155eabf57"
|
||||
|
||||
- name: "coh1000t.zip"
|
||||
system: taito-fx1
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "Taito FX-1 (COH-1000T) BIOS"
|
||||
source_ref: "src/core/arcade/arcade_machine_handler.cpp:836-839, src/core/arcade/systems/sony/zn/sony_zn.cpp:783-860, 2774-2783, 3687, 3795, data/resources/arcadedb.yaml:175"
|
||||
contents:
|
||||
- name: "m534002c-14.ic353"
|
||||
size: 524288
|
||||
crc32: "e3f23b6e"
|
||||
sha1: "e18907cf8c6ba54d96edba0a9a00487a90219e0d"
|
||||
- name: "tt01.ic652"
|
||||
size: 8
|
||||
crc32: "daac13e7"
|
||||
sha1: "96d94f2b06fb7ecd91454969f4959a583ffb9d5a"
|
||||
@@ -8,6 +8,7 @@ core_version: "1.0"
|
||||
display_name: "Apple - Macintosh 68k (Basilisk II)"
|
||||
cores:
|
||||
- basiliskii
|
||||
- basilisk
|
||||
systems:
|
||||
- apple-macintosh
|
||||
- macintosh-ii
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,204 @@
|
||||
emulator: Bermuda Syndrome
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/cyxx/bermuda"
|
||||
upstream: "https://github.com/cyxx/bermuda"
|
||||
source_commit: "c3aaa0337daca116eab5804456673bd01396bbb4"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "0.1.7"
|
||||
display_name: "Bermuda Syndrome (bs)"
|
||||
cores: [bsyndrome]
|
||||
systems: [bsyndrome]
|
||||
|
||||
notes: |
|
||||
Rewrite of the engine of Bermuda Syndrome (Century Interactive, BMG, 1995)
|
||||
by Gregory Montoir, from the reversing of the original Windows executable.
|
||||
It runs the original data files, retail or demo. RetroBat installs bs.exe
|
||||
with the 0.1.7 README beside it, the release the 0.1.7 tag builds.
|
||||
|
||||
RetroBat starts bs.exe with --datapath=<rom folder>/DATA,
|
||||
--savepath=<saves>/bsyndrome and --musicpath=<bios>/bsyndrome/MUSIC, and
|
||||
stops when the DATA folder is missing.
|
||||
ref: emulatorLauncher Generators/PortsLauncher.Configuration.cs:131-166
|
||||
|
||||
Data path (default DATA): either a directory, listed once and searched by
|
||||
name without regard to case, or a single romfs image ("-rom1fs-"
|
||||
signature). Scene files are looked up under SCN/, every name the scripts
|
||||
give with a leading "..\" is taken from the data root, so the expected
|
||||
tree is the game folder itself: SCN/, WGP/, MENU/, MIDI/, DATA/ for the
|
||||
videos, and the bermuda.* files at its root.
|
||||
ref: main.cpp:13-28, fs.cpp:230-305
|
||||
|
||||
Version detection: SCN/-00.SCN marks the demo, otherwise SCN/-01.SCN
|
||||
(German) or SCN/_01.SCN (English and French) is the startup scene, and
|
||||
with none of them the engine stops with "Unable to find startup scene
|
||||
file". bermuda.wgp and bermuda.spr are loaded at startup, bermuda.ovr only
|
||||
for the full game.
|
||||
ref: game.cpp:33-51, resource.cpp:44-60
|
||||
|
||||
Music path (default MUSIC): when a scene asks for one of the game's MIDI
|
||||
tracks, trackNN.ogg is tried first, NN being the CD audio track that
|
||||
replaces it (title.mid 01 through complete.mid 12, musik.mid of the demo
|
||||
03). Without the .ogg the MIDI file of the data tree is played. The tracks
|
||||
are rips of the retail CD soundtrack, 22 kHz stereo Vorbis per the README.
|
||||
ref: game.cpp:1074-1119, mixer_sdl.cpp:64-76, README.TXT:21-23
|
||||
|
||||
gamecontrollerdb.txt is read from the working directory when present
|
||||
(systemstub_sdl.cpp:168). RetroBat ships none.
|
||||
|
||||
files:
|
||||
- name: "_01.SCN"
|
||||
path: "DATA/SCN/_01.SCN"
|
||||
category: game_data
|
||||
system: bsyndrome
|
||||
required: true
|
||||
description: "Startup scene of the English and French releases"
|
||||
source_ref: "game.cpp:33-51"
|
||||
note: "The German release has -01.SCN instead and the demo -00.SCN. The rest of the SCN, WGP, MENU and MIDI trees is opened by name as scenes call for it."
|
||||
unsourceable: "retail game data the collection does not hold, and a same-named file of another release must not stand in"
|
||||
|
||||
- name: "bermuda.wgp"
|
||||
path: "DATA/bermuda.wgp"
|
||||
category: game_data
|
||||
system: bsyndrome
|
||||
required: true
|
||||
description: "Bag background image"
|
||||
source_ref: "resource.cpp:51"
|
||||
unsourceable: "retail game data the collection does not hold, and a same-named file of another release must not stand in"
|
||||
|
||||
- name: "bermuda.spr"
|
||||
path: "DATA/bermuda.spr"
|
||||
category: game_data
|
||||
system: bsyndrome
|
||||
required: true
|
||||
description: "Common sprites"
|
||||
source_ref: "resource.cpp:60"
|
||||
unsourceable: "retail game data the collection does not hold, and a same-named file of another release must not stand in"
|
||||
|
||||
- name: "bermuda.ovr"
|
||||
path: "DATA/bermuda.ovr"
|
||||
category: game_data
|
||||
system: bsyndrome
|
||||
required: true
|
||||
description: "Overlay data of the full game"
|
||||
source_ref: "resource.cpp:45-49"
|
||||
note: "Not read by the demo."
|
||||
unsourceable: "retail game data the collection does not hold, and a same-named file of another release must not stand in"
|
||||
|
||||
- name: "LOGO.AVI"
|
||||
path: "DATA/DATA/LOGO.AVI"
|
||||
category: game_data
|
||||
system: bsyndrome
|
||||
required: false
|
||||
description: "Logo video"
|
||||
source_ref: "game.cpp:138, 1043-1058"
|
||||
note: "INTRO.AVI and FINAL.AVI sit beside it. A missing video is skipped."
|
||||
unsourceable: "retail game data the collection does not hold, and a same-named file of another release must not stand in"
|
||||
|
||||
- name: "track01.ogg"
|
||||
path: "MUSIC/track01.ogg"
|
||||
category: game_data
|
||||
system: bsyndrome
|
||||
required: false
|
||||
description: "CD audio track 01, played in place of title.mid"
|
||||
source_ref: "game.cpp:1078-1112"
|
||||
unsourceable: "rip of the retail CD soundtrack the collection does not hold, and a same-named track of another game must not stand in"
|
||||
|
||||
- name: "track02.ogg"
|
||||
path: "MUSIC/track02.ogg"
|
||||
category: game_data
|
||||
system: bsyndrome
|
||||
required: false
|
||||
description: "CD audio track 02, played in place of flyaway.mid"
|
||||
source_ref: "game.cpp:1078-1112"
|
||||
unsourceable: "rip of the retail CD soundtrack the collection does not hold, and a same-named track of another game must not stand in"
|
||||
|
||||
- name: "track03.ogg"
|
||||
path: "MUSIC/track03.ogg"
|
||||
category: game_data
|
||||
system: bsyndrome
|
||||
required: false
|
||||
description: "CD audio track 03, played in place of jungle1.mid and of the demo musik.mid"
|
||||
source_ref: "game.cpp:1078-1112"
|
||||
unsourceable: "rip of the retail CD soundtrack the collection does not hold, and a same-named track of another game must not stand in"
|
||||
|
||||
- name: "track04.ogg"
|
||||
path: "MUSIC/track04.ogg"
|
||||
category: game_data
|
||||
system: bsyndrome
|
||||
required: false
|
||||
description: "CD audio track 04, played in place of sadialog.mid"
|
||||
source_ref: "game.cpp:1078-1112"
|
||||
unsourceable: "rip of the retail CD soundtrack the collection does not hold, and a same-named track of another game must not stand in"
|
||||
|
||||
- name: "track05.ogg"
|
||||
path: "MUSIC/track05.ogg"
|
||||
category: game_data
|
||||
system: bsyndrome
|
||||
required: false
|
||||
description: "CD audio track 05, played in place of caves.mid"
|
||||
source_ref: "game.cpp:1078-1112"
|
||||
unsourceable: "rip of the retail CD soundtrack the collection does not hold, and a same-named track of another game must not stand in"
|
||||
|
||||
- name: "track06.ogg"
|
||||
path: "MUSIC/track06.ogg"
|
||||
category: game_data
|
||||
system: bsyndrome
|
||||
required: false
|
||||
description: "CD audio track 06, played in place of jungle2.mid"
|
||||
source_ref: "game.cpp:1078-1112"
|
||||
unsourceable: "rip of the retail CD soundtrack the collection does not hold, and a same-named track of another game must not stand in"
|
||||
|
||||
- name: "track07.ogg"
|
||||
path: "MUSIC/track07.ogg"
|
||||
category: game_data
|
||||
system: bsyndrome
|
||||
required: false
|
||||
description: "CD audio track 07, played in place of darkcave.mid"
|
||||
source_ref: "game.cpp:1078-1112"
|
||||
unsourceable: "rip of the retail CD soundtrack the collection does not hold, and a same-named track of another game must not stand in"
|
||||
|
||||
- name: "track08.ogg"
|
||||
path: "MUSIC/track08.ogg"
|
||||
category: game_data
|
||||
system: bsyndrome
|
||||
required: false
|
||||
description: "CD audio track 08, played in place of waterdiv.mid"
|
||||
source_ref: "game.cpp:1078-1112"
|
||||
unsourceable: "rip of the retail CD soundtrack the collection does not hold, and a same-named track of another game must not stand in"
|
||||
|
||||
- name: "track09.ogg"
|
||||
path: "MUSIC/track09.ogg"
|
||||
category: game_data
|
||||
system: bsyndrome
|
||||
required: false
|
||||
description: "CD audio track 09, played in place of merian1.mid"
|
||||
source_ref: "game.cpp:1078-1112"
|
||||
unsourceable: "rip of the retail CD soundtrack the collection does not hold, and a same-named track of another game must not stand in"
|
||||
|
||||
- name: "track10.ogg"
|
||||
path: "MUSIC/track10.ogg"
|
||||
category: game_data
|
||||
system: bsyndrome
|
||||
required: false
|
||||
description: "CD audio track 10, played in place of telquad.mid"
|
||||
source_ref: "game.cpp:1078-1112"
|
||||
unsourceable: "rip of the retail CD soundtrack the collection does not hold, and a same-named track of another game must not stand in"
|
||||
|
||||
- name: "track11.ogg"
|
||||
path: "MUSIC/track11.ogg"
|
||||
category: game_data
|
||||
system: bsyndrome
|
||||
required: false
|
||||
description: "CD audio track 11, played in place of gameover.mid"
|
||||
source_ref: "game.cpp:1078-1112"
|
||||
unsourceable: "rip of the retail CD soundtrack the collection does not hold, and a same-named track of another game must not stand in"
|
||||
|
||||
- name: "track12.ogg"
|
||||
path: "MUSIC/track12.ogg"
|
||||
category: game_data
|
||||
system: bsyndrome
|
||||
required: false
|
||||
description: "CD audio track 12, played in place of complete.mid"
|
||||
source_ref: "game.cpp:1078-1112"
|
||||
unsourceable: "rip of the retail CD soundtrack the collection does not hold, and a same-named track of another game must not stand in"
|
||||
@@ -0,0 +1,126 @@
|
||||
emulator: CaPriCe Forever
|
||||
type: standalone
|
||||
core_classification: other
|
||||
source: "https://www.retrobat.org/repo/win64/stable/emulators/capriceforever.7z"
|
||||
upstream: closed-source
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "26.4"
|
||||
display_name: "Amstrad - CPC / PLUS (CaPriCe Forever)"
|
||||
cores:
|
||||
- capriceforever
|
||||
systems:
|
||||
- amstrad-cpc
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Closed source Amstrad CPC and PLUS emulator for Windows. The build read here
|
||||
is the one RetroBat installs, capriceforever.7z sha256
|
||||
54c9f7f3df96011bdbd09e72413fed798a395c241e8c2d05eb6af075a15b79b4, release
|
||||
26.4 of 1 April 2026 (History.txt, version resource 26.4.0.0). Caprice.exe
|
||||
md5 a33e841c80e9fd9067a1c373492cd53b is a 32-bit Delphi program, cited by
|
||||
file offset.
|
||||
|
||||
The machine ROMs are compiled into the executable as named defaults. The
|
||||
464, 664 and 6128 OS and BASIC, AMSDOS and the Multiface Two ROM sit in the
|
||||
data section byte for byte equal to the usual dumps (os464.rom at 0x7f5348,
|
||||
basic464.rom at 0x7f9348, os6128.rom at 0x80d348, basic6128.rom at 0x811348,
|
||||
os664.rom at 0x815348, basic664.rom at 0x819348, amsdos.rom at 0x7e1348,
|
||||
the first 8 KiB of MF2.rom at 0x821348). A slot left blank in a device file
|
||||
takes the built-in image, and the names "Default OS", "Default BASIC",
|
||||
"Default AMSDOS", "Default Multiface Two", "Default Silicon Disc 1.3" and
|
||||
"Default DK'Tronics Speech" select them explicitly.
|
||||
ref: Caprice.exe 0x75d82c, 0x7314ad, 0x75d864, 0x75d884, 0x75d8a0
|
||||
|
||||
RetroBat writes Device.ini on every launch: CPC_6128_UK, or PLUS_6128_UK for
|
||||
the gx4000 system, LowerROM and UpperROM0 blank, UpperROM7 "Default
|
||||
AMSDOS", UpperROM1 a built-in Silicon Disc or DK'Tronics image or Empty, and
|
||||
CartridgeFilename the launched .cpr. No slot it writes names a file, so
|
||||
nothing outside the program is read for a RetroBat launch.
|
||||
ref: emulatorLauncher Generators/CapriceForever.Generator.cs:277-405
|
||||
|
||||
Files in Roms\ (16512 bytes, a 128 byte AMSDOS header then the 16 KiB
|
||||
image) are offered by name for the lower and upper ROM slots, and .cpr
|
||||
files in Cartridges\ for the cartridge port. The package ships four ROMs
|
||||
and three PLUS system cartridges there. Only the bundled device template
|
||||
"PLUS 6128 UK.ini" names one of them (the UK cartridge), and RetroBat
|
||||
replaces that choice with the launched game.
|
||||
ref: Caprice.exe 0x72fb01, 0x7332cb, 0x726d86
|
||||
|
||||
files:
|
||||
- name: "Burnin' Rubber + BASIC (UK).cpr"
|
||||
path: "Cartridges/Burnin' Rubber + BASIC (UK).cpr"
|
||||
system: amstrad-cpc
|
||||
required: false
|
||||
bundled: true
|
||||
size: 131156
|
||||
sha1: "405e341437fab8db477606238af0c20eca2e39ee"
|
||||
md5: "39b565e648172980aa552293e667070f"
|
||||
description: "Amstrad PLUS system cartridge, English"
|
||||
source_ref: "Caprice.exe 0x7332cb, 0x726d86"
|
||||
note: "Named by the bundled Settings/PLUS 6128 UK.ini template."
|
||||
|
||||
- name: "Burnin' Rubber + BASIC (FR).cpr"
|
||||
path: "Cartridges/Burnin' Rubber + BASIC (FR).cpr"
|
||||
system: amstrad-cpc
|
||||
required: false
|
||||
bundled: true
|
||||
size: 131148
|
||||
sha1: "958437ad6292ecd368e8c6c963cb3ae7d48b9406"
|
||||
md5: "2adf22a2046a18bd39de90ad01c15998"
|
||||
description: "Amstrad PLUS system cartridge, French"
|
||||
source_ref: "Caprice.exe 0x7332cb, 0x726d86"
|
||||
|
||||
- name: "Burnin' Rubber + BASIC (SP).cpr"
|
||||
path: "Cartridges/Burnin' Rubber + BASIC (SP).cpr"
|
||||
system: amstrad-cpc
|
||||
required: false
|
||||
bundled: true
|
||||
size: 131148
|
||||
sha1: "076939a2cd7593b5e56c775d7a4752f2d138ff6c"
|
||||
md5: "75632137fcbe51eaec1f47a22e55d6a3"
|
||||
description: "Amstrad PLUS system cartridge, Spanish"
|
||||
source_ref: "Caprice.exe 0x7332cb, 0x726d86"
|
||||
|
||||
- name: "albireo.rom"
|
||||
path: "Roms/albireo.rom"
|
||||
system: amstrad-cpc
|
||||
required: false
|
||||
bundled: true
|
||||
size: 16512
|
||||
sha1: "9dd652574638682876a55febe3dca7b5bb3ad222"
|
||||
md5: "9afe71e4c38040864576358a71474ab6"
|
||||
description: "Albireo ROM (AMSDOS header, title ALBIREO ROM)"
|
||||
source_ref: "Caprice.exe 0x72fb01, 0x720ff1"
|
||||
|
||||
- name: "unidos.rom"
|
||||
path: "Roms/unidos.rom"
|
||||
system: amstrad-cpc
|
||||
required: false
|
||||
bundled: true
|
||||
size: 16512
|
||||
sha1: "e78a94ab8de917270179b80b071d3e90d98ea5dc"
|
||||
md5: "a9d1b46e49701c85d9a3a66ff725c6e6"
|
||||
description: "UniDOS ROM"
|
||||
source_ref: "Caprice.exe 0x72fb01, 0x720ff1"
|
||||
|
||||
- name: "unitools.rom"
|
||||
path: "Roms/unitools.rom"
|
||||
system: amstrad-cpc
|
||||
required: false
|
||||
bundled: true
|
||||
size: 16512
|
||||
sha1: "982e523b2d5b5c9873526a7363fcac4cbc1b6dfd"
|
||||
md5: "83c6ecbf655b8f3c65e46a46c6bc7161"
|
||||
description: "UniTools ROM for UniDOS"
|
||||
source_ref: "Caprice.exe 0x72fb01, 0x720ff1"
|
||||
|
||||
- name: "fw-v3-u5.rom"
|
||||
path: "Roms/fw-v3-u5.rom"
|
||||
system: amstrad-cpc
|
||||
required: false
|
||||
bundled: true
|
||||
size: 16512
|
||||
sha1: "bb9b4c487fa6e338d6b8f78b6fc10a3912263e22"
|
||||
md5: "96c5c16e8db2f5c7d6c3c160d686725a"
|
||||
description: "Firmware V3-U5 ROM (AMSDOS header title V3-U5 ROM)"
|
||||
source_ref: "Caprice.exe 0x72fb01, 0x720fd8"
|
||||
@@ -0,0 +1,63 @@
|
||||
emulator: CapriceRPI
|
||||
type: standalone
|
||||
core_classification: community_fork
|
||||
source: "https://github.com/KaosOverride/CapriceRPI"
|
||||
upstream: "https://sourceforge.net/projects/caprice32/"
|
||||
source_commit: "7d86ebdc6a5e645220c6f30cf407ac57c3256054"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "1.3c"
|
||||
display_name: "Amstrad - CPC (CapriceRPI)"
|
||||
cores:
|
||||
- capricerpi
|
||||
systems:
|
||||
- amstrad-cpc
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Raspberry Pi port by KaosOverride of Ulrich Doewich's Caprice32 4.1.0,
|
||||
the SDL 1.2 code base, not the later ColinPitrat line the libretro core
|
||||
follows. RetroPie builds src/ with RELEASE=TRUE and launches
|
||||
capriceRPI %ROM% with no other option.
|
||||
|
||||
The CPC 464, 664 and 6128 firmware and AMSDOS are compiled in from
|
||||
src/roms/*.h (bin2c output). setup_builtin_roms copies the model's 32 KB
|
||||
image into the lower ROM (src/roms/builtin_roms.h:9-27), and the
|
||||
fopen of cpc464.rom, cpc664.rom and cpc6128.rom that Caprice32 had is
|
||||
commented out in emulator_patch_ROM (src/cap32.cpp:2805-2822) and in the
|
||||
model switch (src/cap32.cpp:1474-1479). AMSDOS is copied into slot 7 from
|
||||
amsdos_rom for the 664 and 6128, or for a 464 when a disk forces it
|
||||
(src/cap32.cpp:2973-2979). The embedded images hash to md5
|
||||
a993f85b88ac4350cf4d41554e87fe4f (464), 5a384a2310f472c7857888371c00ed66
|
||||
(664), b96280dc6c95a48857b4b8eb931533ae (6128) and
|
||||
25629dfe870d097469c217b95fdc1c95 (AMSDOS).
|
||||
|
||||
cap32.cfg is never read. getConfigValueInt and getConfigValueString have
|
||||
their file parsing commented out and return the default
|
||||
(src/cap32.cpp:4060-4122), so expansion slots 2 to 15, the Multiface II
|
||||
ROM and every path keep their built-in defaults. The ROM path is
|
||||
<cwd>/rom (src/cap32.cpp:4342-4344), chAppPath being getcwd() despite
|
||||
the comment (src/cap32.cpp:4799).
|
||||
|
||||
The only external ROM is ParaDOS. The --parados option, with an optional
|
||||
drive layout 1 to 4, names parados.rom in slot 7 (src/cap32.cpp:2982-2984,
|
||||
4751-4757). The loader reads 16 KB and keeps it when the first byte is
|
||||
0x01 or 0x02, retrying past a 128-byte header, and otherwise clears the
|
||||
slot and carries on (src/cap32.cpp:2986-3016). With a drive layout the
|
||||
last two bytes of the image are rewritten as ParaDOS's configuration
|
||||
byte and checksum (src/cap32.cpp:3021-3052).
|
||||
|
||||
Disks, tapes and snapshots are user content. printer.dat and screen.png
|
||||
are written beside the working directory (src/cap32.cpp:4329-4340).
|
||||
|
||||
files:
|
||||
- name: parados.rom
|
||||
system: amstrad-cpc
|
||||
path: "rom/parados.rom"
|
||||
required: false
|
||||
size: 16384
|
||||
description: "ParaDOS disc ROM, loaded into expansion slot 7 with --parados"
|
||||
source_ref: "src/cap32.cpp:2982-3016, 4342-4344, 4751-4757"
|
||||
note: >-
|
||||
Read from the rom directory under the working directory, only when
|
||||
--parados is given. RetroPie's launch line does not pass it. A missing
|
||||
or invalid file leaves AMSDOS in slot 7.
|
||||
@@ -0,0 +1,206 @@
|
||||
emulator: Chihiro-DS
|
||||
type: standalone
|
||||
core_classification: community_fork
|
||||
source: "https://www.retrobat.org/repo/win64/stable/emulators/chihiro-ds.7z"
|
||||
upstream: closed-source
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "1.0 (Mar 14 2025)"
|
||||
display_name: "Sega - Chihiro (Chihiro-DS)"
|
||||
cores:
|
||||
- chihiro-gun
|
||||
- chihiro-ds
|
||||
systems:
|
||||
- sega-chihiro
|
||||
- microsoft-xbox
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Cxbx-Reloaded derivative built for the Chihiro light gun games, used by
|
||||
RetroBat as its "chihiro-gun" emulator from emulators\chihiro-ds and paired
|
||||
with DemulShooter. No source is published. The build read here is the one
|
||||
RetroBat installs, chihiro-ds.7z sha256
|
||||
d20a9ffc6822c719f25d9b46c66249bf7efc9729cfddd10bda4f8629c96d48a5, whose
|
||||
binaries carry "Chihiro-DS 1.0 (Mar 14 2025)". cxbxr-ldr.exe md5
|
||||
d3675f7bb270072f33d9106497dd9bbc is the print DemulShooter lists for
|
||||
"Chihiro-DS 1.0". cxbxr-emu.dll (md5 62f492f14b2af4bef7329ef269355a78) is
|
||||
cited by virtual address.
|
||||
ref: emulatorLauncher Generators/Cxbx.Generator.cs:104-110, 202-214,
|
||||
emulatorLauncher Installer.cs:46
|
||||
|
||||
Every file name, path and error message in cxbxr-emu.dll that concerns a
|
||||
file matches Cxbx-Reloaded develop with CHIHIRO_WORK enabled, as it stood
|
||||
between CI-6f32d89 (6f32d89545cf0ad5a7d44ecedaf963005d7f84dc, December
|
||||
2024) and CI-ec9934a (April 2025), which agree on every file loading path. That source is cited below with the CI-6f32d89
|
||||
prefix as the reading of the logic the strings belong to. The only file the
|
||||
fork adds is wm2_loader.dll.
|
||||
|
||||
Every path below is relative to the data directory. RetroBat's settings.ini
|
||||
template sets DataStorageToggle to 1, the folder holding cxbx.exe. EmuDisk
|
||||
and EmuMu are created there at startup, and the Chihiro files live in
|
||||
EmuDisk\Chihiro (this build predates the EmuMediaBoard folder).
|
||||
ref: CI-6f32d89 src/common/Settings.cpp:880-915,
|
||||
CI-6f32d89 src/common/FilePaths.cpp:82-109,
|
||||
cxbxr-emu.dll 0x1061c648
|
||||
|
||||
A title is Chihiro when its XBE type says so or a boot.id sits beside it.
|
||||
Launched directly, such a title needs the media board ROM: a missing file,
|
||||
an unreadable one or one that is not 2 MB ends the run. When either SEGABOOT
|
||||
file is missing both are rewritten from the two 1 MB halves of the ROM, then
|
||||
SEGABOOT_MBROM1.XBE is launched and boots the title. boot.id is read again by
|
||||
the media board for the region flags, and its absence ends the run.
|
||||
ref: CI-6f32d89 src/core/kernel/init/CxbxKrnl.cpp:517-586,
|
||||
CI-6f32d89 src/devices/chihiro/MediaBoard.cpp:46-57,
|
||||
cxbxr-emu.dll 0x10623190, 0x1062b60c, 0x1062b618
|
||||
|
||||
The four JVS base board images are memory mapped read/write when the
|
||||
system is Chihiro. Byte 0x1F00 of the QC firmware holds the board region and
|
||||
is rewritten in place to one the title's boot.id accepts, which is why the
|
||||
copy RetroBat ships differs from the dump by that byte.
|
||||
ref: CI-6f32d89 src/core/hle/JVS/JVS.cpp:127-142,
|
||||
CI-6f32d89 src/core/hle/JVS/JVS.cpp:169-210,
|
||||
CI-6f32d89 src/core/hle/JVS/JVS.cpp:246-262
|
||||
|
||||
The package also carries chihiro_xbox_bios.bin, ver1305.bin, 315-6215.bin,
|
||||
sp5001.bin, sp5001-b.bin and sp5002-a.bin in EmuDisk\chihiro, plus a
|
||||
"chihiro (old)" copy of the folder. No string in the binaries names any of
|
||||
them and nothing opens them.
|
||||
|
||||
files:
|
||||
- name: fpr21042_m29w160et.bin
|
||||
path: "EmuDisk/Chihiro/fpr21042_m29w160et.bin"
|
||||
system: sega-chihiro
|
||||
required: true
|
||||
size: 2097152
|
||||
validation: [size]
|
||||
description: "Chihiro media board flash ROM"
|
||||
note: >-
|
||||
Checked for existence, opened and size checked before a Chihiro title is
|
||||
started, each failure ending the run. Read to write out the two SEGABOOT
|
||||
files when either is missing, and launched when a Chihiro title reboots
|
||||
with an empty launch path.
|
||||
source_ref: "cxbxr-emu.dll 0x10624bb4, 0x10623190"
|
||||
|
||||
- name: SEGABOOT_MBROM0.XBE
|
||||
path: "EmuDisk/Chihiro/SEGABOOT_MBROM0.XBE"
|
||||
system: sega-chihiro
|
||||
required: false
|
||||
size: 1048576
|
||||
sha1: "2f7ac75e738e2e4f83ffb0cbc06127195a7e8336"
|
||||
md5: "853d40e7a80d659613885d93abbec463"
|
||||
description: "SEGABOOT, old revision"
|
||||
note: >-
|
||||
Mounted as the mbrom0 device. Written from the first megabyte of the media
|
||||
board ROM when either SEGABOOT file is missing. The copy RetroBat ships is
|
||||
that first megabyte.
|
||||
source_ref: "cxbxr-emu.dll 0x10624b98"
|
||||
|
||||
- name: SEGABOOT_MBROM1.XBE
|
||||
path: "EmuDisk/Chihiro/SEGABOOT_MBROM1.XBE"
|
||||
system: sega-chihiro
|
||||
required: false
|
||||
bundled: true
|
||||
size: 1048576
|
||||
sha1: "463486813206ca44f1d90eb0ef372ef2661b4dfe"
|
||||
md5: "aff2008c8404b9661dc2f52d34c494e0"
|
||||
description: "SEGABOOT, current revision"
|
||||
note: >-
|
||||
Mounted as the mbrom1 device and launched as the XBE that boots a Chihiro
|
||||
title. Written from the second megabyte of the media board ROM when either
|
||||
SEGABOOT file is missing. The copy RetroBat ships is not that half: it
|
||||
differs in about 660000 bytes from the second megabyte of the ROM it ships
|
||||
beside it. Hashes are those of the shipped copy.
|
||||
source_ref: "cxbxr-emu.dll 0x10624b7c"
|
||||
|
||||
- name: ic10_g24lc64.bin
|
||||
path: "EmuDisk/Chihiro/ic10_g24lc64.bin"
|
||||
system: sega-chihiro
|
||||
required: true
|
||||
min_size: 7937
|
||||
description: "Base board QC microcontroller firmware"
|
||||
note: >-
|
||||
Memory mapped read/write at JVS setup, the run ends when it cannot be
|
||||
opened. Byte 0x1F00 is dereferenced right after and rewritten to USA,
|
||||
export or Japan when the title's boot.id rejects the stored region.
|
||||
source_ref: "cxbxr-emu.dll 0x1061c648, 0x1061c620"
|
||||
|
||||
- name: pc20_g24lc64.bin
|
||||
path: "EmuDisk/Chihiro/pc20_g24lc64.bin"
|
||||
system: sega-chihiro
|
||||
required: true
|
||||
description: "Base board SC microcontroller firmware"
|
||||
note: "Memory mapped read/write at JVS setup, the run ends when it cannot be opened."
|
||||
source_ref: "cxbxr-emu.dll 0x1061c648, 0x1061c634"
|
||||
|
||||
- name: ic11_24lc024.bin
|
||||
path: "EmuDisk/Chihiro/ic11_24lc024.bin"
|
||||
system: sega-chihiro
|
||||
required: true
|
||||
description: "Base board configuration EEPROM"
|
||||
note: >-
|
||||
Memory mapped read/write at JVS setup, the run ends when it cannot be
|
||||
opened. Writes from JvsEEPROM_Write are synced to disk at once.
|
||||
source_ref: "cxbxr-emu.dll 0x1061c648, 0x1061c688"
|
||||
|
||||
- name: backup_ram.bin
|
||||
path: "EmuDisk/Chihiro/backup_ram.bin"
|
||||
system: sega-chihiro
|
||||
required: false
|
||||
has_builtin: true
|
||||
size_note: "Created as 128 KB of zeros when absent, then memory mapped"
|
||||
description: "Base board backup memory"
|
||||
source_ref: "cxbxr-emu.dll 0x1061c648, 0x1061c69c"
|
||||
|
||||
- name: xboxdash.xbe
|
||||
path: "EmuDisk/Partition2/xboxdash.xbe"
|
||||
system: microsoft-xbox
|
||||
required: false
|
||||
description: "Xbox dashboard executable"
|
||||
note: >-
|
||||
Launched when an Xbox title reboots with an empty launch path and by the
|
||||
Open Dashboard menu entry. When it is missing the console's unrecoverable
|
||||
error screen is shown.
|
||||
source_ref: "cxbxr-emu.dll 0x105f8c60"
|
||||
|
||||
- name: EEPROM.bin
|
||||
path: "EEPROM.bin"
|
||||
system: microsoft-xbox
|
||||
required: false
|
||||
has_builtin: true
|
||||
size: 256
|
||||
validation: [size]
|
||||
description: "Xbox EEPROM image"
|
||||
note: >-
|
||||
Opened at startup and mapped read/write, created with defaults when
|
||||
absent, and a file that is not 256 bytes ends the run. RetroBat ships one
|
||||
in the package and writes the language into it only for the xbox system.
|
||||
source_ref: "cxbxr-emu.dll 0x105f6084, 0x105f5d84"
|
||||
|
||||
- name: keys.bin
|
||||
path: "keys.bin"
|
||||
system: microsoft-xbox
|
||||
required: false
|
||||
size: 32
|
||||
validation: [size]
|
||||
description: "Xbox EEPROM and certificate keys"
|
||||
note: "Two 16 byte keys, the EEPROM key then the certificate key. Any other length is refused with a warning."
|
||||
source_ref: "cxbxr-emu.dll 0x105f6094, 0x105f60a4"
|
||||
|
||||
- name: wm2_loader.dll
|
||||
path: "wm2_loader.dll"
|
||||
required: false
|
||||
bundled: true
|
||||
unsourceable: "Host library shipped inside the Chihiro-DS package, not emulation data"
|
||||
size: 121856
|
||||
description: "Chihiro-DS loader library"
|
||||
note: >-
|
||||
Loaded with LoadLibraryW("./wm2_loader.dll") just before the XBE entry
|
||||
point is called, on every launch. A failure logs a warning and the title
|
||||
starts anyway.
|
||||
source_ref: "cxbxr-emu.dll 0x103e0260, 0x10622b38"
|
||||
|
||||
exclusion_note: >
|
||||
ntdll.dll and the XInput libraries tried in turn (xinput1_4, xinput1_3,
|
||||
xinput9_1_0) are Windows components, and cxbxr-emu.dll is the emulator's own
|
||||
build output. boot.id and default.xbe belong to the title. The Partition0.bin
|
||||
to Partition7.bin images under EmuDisk are created and formatted by the
|
||||
emulator.
|
||||
@@ -0,0 +1,40 @@
|
||||
emulator: CoolCV
|
||||
type: standalone
|
||||
core_classification: other
|
||||
source: "https://files.retropie.org.uk/archives/coolcv.tar.gz"
|
||||
upstream: "http://nanochess.org/"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "0.6.2"
|
||||
display_name: "Coleco - ColecoVision / Adam (CoolCV)"
|
||||
cores:
|
||||
- coolcv
|
||||
systems:
|
||||
- coleco-colecovision
|
||||
- coleco-adam
|
||||
- sega-sg1000
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
ColecoVision emulator by Oscar Toledo G., closed source. RetroPie installs
|
||||
the Raspberry Pi build coolcv_pi from its own archive (coolcv.tar.gz, sha1
|
||||
ac7f040106411a406de8a3cc66115e11cc778de4), an unstripped ARM ELF (sha1
|
||||
4ddb4ff9c2b6375c6dbeb8a29ebbd19121a8f715) whose coolcv.txt names v0.6.2
|
||||
of Nov 27 2015. The binary is the only reference read here.
|
||||
|
||||
The three system ROMs are compiled into the binary as .data objects and
|
||||
no code path opens a ROM file for them. coleco_bios at 0x562e0 (8192
|
||||
bytes, md5 2c66f5911e5b42b8ebe113403548eee7) is the ColecoVision OS7 BIOS,
|
||||
eos_rom at 0x582e0 (8192 bytes, md5 01df3140909f09aa9aac4f88890f676c) is
|
||||
the Adam EOS and wp_rom at 0x5a2e0 (32768 bytes, md5
|
||||
4fe4f6800076ea3d897d4285653447bd) is the Adam SmartWriter. The changelog
|
||||
in coolcv.txt records the change in v0.3 ("Now coleco.rom is
|
||||
integrated"), and the string table carries no BIOS file name.
|
||||
|
||||
Every other file is user content or written by the emulator: cartridges
|
||||
(.rom, .col, .bin, or a .zip holding one, through the bundled minizip),
|
||||
Adam .dsk and .ddp images, coolcv_mapping.txt created on the first run,
|
||||
/var/tmp/coolcv_snapshot.bin for snapshots, the cartridge EEPROM save
|
||||
named by eeprom_filename, and video%03d.avi, audio%03d.wav and
|
||||
image%03d.png captures.
|
||||
|
||||
files: []
|
||||
@@ -0,0 +1,99 @@
|
||||
emulator: Cxbx-Reloaded (31ff15b)
|
||||
type: standalone
|
||||
core_classification: frozen_snapshot
|
||||
source: "https://github.com/Cxbx-Reloaded/Cxbx-Reloaded"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "31ff15ba1d91a9a00221546c665efb133889f53a"
|
||||
core_version: "CI-31ff15b"
|
||||
display_name: "Microsoft - Xbox / Sega Chihiro (Cxbx-Reloaded 31ff15b)"
|
||||
cores:
|
||||
- chihiro
|
||||
systems:
|
||||
- sega-chihiro
|
||||
- microsoft-xbox
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
The Cxbx-Reloaded build RetroBat installs as its "chihiro" emulator
|
||||
(chihiro.7z sha256
|
||||
bff3c1c75a1ccaa3019ee628172f8ebca21795d770d46d206090b36043e85c71). Its
|
||||
cxbx.exe, cxbxr-emu.dll and cxbxr-ldr.exe all carry the version string
|
||||
"31ff15b (Dec 21 2023)", the merge of pull request 2440 on the develop
|
||||
branch. RetroBat launches it from emulators\chihiro with /load and the XBE,
|
||||
or the default.xbe of a title directory.
|
||||
ref: emulatorLauncher Generators/Cxbx.Generator.cs:99-110, 122-243
|
||||
|
||||
At this revision the Chihiro support sits behind CHIHIRO_WORK, which no
|
||||
project file defines, so the release build has none of it: no JVS base
|
||||
board, no boot.id detection, no media board ROM extraction, and an XBE
|
||||
detected as Chihiro ends the run with "Emulating Chihiro mode does not work
|
||||
yet". The binary holds that message and none of the media board or base
|
||||
board file names the later builds read. Titles run here only as Xbox or
|
||||
debug XBEs.
|
||||
ref: src/core/kernel/init/CxbxKrnl.cpp:573-639, 668-699, 721-731
|
||||
|
||||
The kernel is reimplemented and XBE code executes natively, so no flash ROM
|
||||
or MCPX image is read. Every path below is relative to the data directory.
|
||||
RetroBat's settings.ini template sets DataStorageToggle to 1, the folder
|
||||
holding cxbx.exe. EmuDisk and EmuMu are created under it at startup, and
|
||||
the hard disk partitions inside EmuDisk are created and formatted by the
|
||||
emulator.
|
||||
ref: src/common/Settings.cpp:880-915, src/common/FilePaths.cpp:82-109
|
||||
|
||||
The media board names Chihiro\fpr21042_m29w160et.bin and
|
||||
Chihiro\SEGABOOT_MBROM0.XBE / SEGABOOT_MBROM1.XBE stay in the file layer,
|
||||
reached on a reboot to firmware when the system is Chihiro or when a title
|
||||
opens the mbrom0: or mbrom1: devices. Neither happens once Chihiro mode is
|
||||
refused, so they are not listed.
|
||||
ref: src/core/kernel/support/EmuFile.cpp:355-357, 555-566,
|
||||
src/core/kernel/exports/EmuKrnlHal.cpp:546-556
|
||||
|
||||
files:
|
||||
- name: EEPROM.bin
|
||||
path: "EEPROM.bin"
|
||||
system: microsoft-xbox
|
||||
required: false
|
||||
has_builtin: true
|
||||
size: 256
|
||||
validation: [size]
|
||||
description: "Xbox EEPROM image"
|
||||
note: >-
|
||||
Opened at startup and mapped read/write, created and filled with
|
||||
defaults when absent. A file that is not 256 bytes ends the run. Section
|
||||
CRCs are recomputed on every load, the hard disk key and game region are
|
||||
taken from it, and the stored checksum is compared with the HMAC of the
|
||||
confounder and hard disk key keyed with the EEPROM key of keys.bin. A
|
||||
mismatch only logs a warning and sets the LED sequence.
|
||||
source_ref: "src/common/EmuEEPROM.cpp:93-193, src/common/FilePaths.cpp:106, src/core/kernel/init/CxbxKrnl.cpp:1080"
|
||||
|
||||
- name: keys.bin
|
||||
path: "keys.bin"
|
||||
system: microsoft-xbox
|
||||
required: false
|
||||
size: 32
|
||||
validation: [size]
|
||||
description: "Xbox EEPROM and certificate keys"
|
||||
note: >-
|
||||
Two 16 byte keys, the EEPROM key then the certificate key, as written by
|
||||
dump-xbox. Any other length is refused with a warning, and an absent
|
||||
file only costs reading save data from a real console.
|
||||
source_ref: "src/common/FilePaths.cpp:111-144, src/core/kernel/init/CxbxKrnl.cpp:1078"
|
||||
|
||||
- name: xboxdash.xbe
|
||||
path: "EmuDisk/Partition2/xboxdash.xbe"
|
||||
system: microsoft-xbox
|
||||
required: false
|
||||
description: "Xbox dashboard executable"
|
||||
note: >-
|
||||
Launched when a title reboots with an empty launch path and by the Open
|
||||
Dashboard menu entry. When it is missing the console's unrecoverable
|
||||
error screen is shown. Titles run without it.
|
||||
source_ref: "src/core/kernel/exports/EmuKrnlHal.cpp:546-556, src/gui/WndMain.cpp:2107-2112, src/common/xbe/Xbe.cpp:62-96"
|
||||
|
||||
exclusion_note: >
|
||||
ntdll.dll and the XInput libraries tried in turn (xinput1_4, xinput1_3,
|
||||
xinput9_1_0) are Windows components, and cxbxr-emu.dll is the emulator's own
|
||||
build output. Partition0.bin to Partition7.bin under EmuDisk are created and
|
||||
formatted by the emulator. default.xbe belongs to the title.
|
||||
ref: src/common/input/XInputPad.cpp:100-120,
|
||||
src/core/kernel/support/EmuFile.cpp:228-246
|
||||
@@ -0,0 +1,81 @@
|
||||
emulator: DarkPlaces
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/xonotic/darkplaces"
|
||||
upstream: "https://github.com/xonotic/darkplaces"
|
||||
source_branch: div0-stable
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "ddabe55ae766087df0b82d214ca4b6d79a443345"
|
||||
core_version: "div0-stable"
|
||||
display_name: "Quake (DarkPlaces)"
|
||||
cores:
|
||||
- darkplaces-quake
|
||||
systems: [quake]
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Quake engine by LadyHavoc, maintained by the Xonotic project. RetroPie
|
||||
builds the div0-stable branch with two patches touching gl_textures.c
|
||||
and makefile.inc only (scriptmodules/ports/darkplaces-quake.sh). It runs
|
||||
`darkplaces-sdl -basedir $romdir/ports/quake -game <dir>`, where <dir> is
|
||||
the folder of the pak0.pak picked in the ports menu (runcommand.sh
|
||||
%QUAKEDIR%). The menu lists id1, hipnotic, rogue and dopa when their
|
||||
pak0.pak exists, and the install drops the shareware id1/pak0.pak of
|
||||
quake106.zip (scriptmodules/libretrocores/lr-tyrquake.sh,
|
||||
game_data_lr-tyrquake, _add_games_lr-tyrquake).
|
||||
|
||||
The default game mode reads id1 under the base directory
|
||||
(common.c:1450). -game hipnotic and -game rogue switch to the mission
|
||||
pack modes, which add their own folder after id1 (common.c:1451-1452,
|
||||
1515-1540, fs.c:1433-1446). Any other -game folder is added on top as a
|
||||
mod (fs.c:1448-1462, 2154-2168). FS_AddGameDirectory mounts every .pak
|
||||
in a folder in sorted order, then every .pk3, so names past pak9.pak are
|
||||
accepted (fs.c:1266-1308). gfx/pop.lmp, present only in the registered
|
||||
id1/pak1.pak, sets the registered cvar (fs.c:1484-1505). No pak is
|
||||
hashed or checked against a file count.
|
||||
|
||||
gfx.wad is read from the mounted paks (wad.c:125-131), and a missing
|
||||
gfx/palette.lmp falls back to the internal palette (palette.c:301-306).
|
||||
quake.rc, default.cfg and progs.dat also come from the paks, so a base
|
||||
folder without them leaves the engine at its console.
|
||||
|
||||
files:
|
||||
- name: "pak0.pak"
|
||||
category: game_data
|
||||
system: quake
|
||||
path: "id1/pak0.pak"
|
||||
required: true
|
||||
source_ref: "fs.c:1266-1308, 1433-1434; common.c:1450"
|
||||
note: "Shareware and registered Quake data, one file in both releases. RetroPie installs the shareware copy from quake106.zip."
|
||||
- name: "pak1.pak"
|
||||
category: game_data
|
||||
system: quake
|
||||
path: "id1/pak1.pak"
|
||||
required: false
|
||||
source_ref: "fs.c:1266-1308, 1484-1505"
|
||||
note: "Registered episodes 2 to 4."
|
||||
unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in"
|
||||
- name: "pak0.pak"
|
||||
category: game_data
|
||||
system: quake
|
||||
path: "hipnotic/pak0.pak"
|
||||
required: false
|
||||
source_ref: "common.c:1451, 1515-1540; fs.c:1440-1446"
|
||||
note: "Scourge of Armagon data. Loaded with -game hipnotic."
|
||||
unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in"
|
||||
- name: "pak0.pak"
|
||||
category: game_data
|
||||
system: quake
|
||||
path: "rogue/pak0.pak"
|
||||
required: false
|
||||
source_ref: "common.c:1452, 1515-1540; fs.c:1440-1446"
|
||||
note: "Dissolution of Eternity data. Loaded with -game rogue."
|
||||
unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in"
|
||||
- name: "pak0.pak"
|
||||
category: game_data
|
||||
system: quake
|
||||
path: "dopa/pak0.pak"
|
||||
required: false
|
||||
source_ref: "fs.c:1448-1462, 2154-2168"
|
||||
note: "Dimension of the Past data, added on top of id1 with -game dopa."
|
||||
unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in"
|
||||
@@ -0,0 +1,39 @@
|
||||
emulator: DGen/SDL
|
||||
type: standalone
|
||||
core_classification: other
|
||||
source: "https://sourceforge.net/p/dgen/dgen"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "1c196e63d3e35704a97a2cef60def9df3c9fd1ce"
|
||||
core_version: "1.33"
|
||||
display_name: "Sega - Mega Drive - Genesis (DGen/SDL)"
|
||||
mode: standalone
|
||||
cores:
|
||||
- dgen
|
||||
systems:
|
||||
- sega-megadrive
|
||||
- sega-genesis
|
||||
|
||||
notes: |
|
||||
Mega Drive emulator for SDL by Joe Groff and Phil K. Hornung, carried on by
|
||||
zamaz. Release 1.33 is the v1.33 tag of the project's git tree. It emulates
|
||||
the 68000, the Z80, the VDP, the YM2612 and the SN76489 and nothing more: the
|
||||
tree holds no SH-2, no Sega CD hardware and no TMSS boot ROM.
|
||||
|
||||
A cartridge is opened as given, then under the roms subdirectory of the DGen
|
||||
home ($HOME/.dgen), or under str_rom_path when the configuration sets one. It
|
||||
is unpacked through libarchive when compressed, de-interleaved when it is an
|
||||
SMD dump, and refused unless "SEGA" stands at offset 0x100.
|
||||
ref: romload.c:14-19,47-124, system.c:293-340, system.h:23-24, rc.cpp:554-560
|
||||
|
||||
The only other files read are dgenrc, save states, battery RAM and demos,
|
||||
all written by the emulator itself under the DGen home.
|
||||
ref: main.cpp:132-196,352-366, system.h:45-47
|
||||
|
||||
exclusion_note: >
|
||||
Nothing to obtain. No BIOS or firmware is opened. The RetroPie scriptmodule
|
||||
help asks for bios_CD_U.bin, bios_CD_E.bin and bios_CD_J.bin, but no code
|
||||
path of this release names them, and a Sega CD image is refused by the
|
||||
"SEGA" header test.
|
||||
ref: romload.c:83-115
|
||||
|
||||
files: []
|
||||
@@ -12,6 +12,7 @@ display_name: "DOS (DOSBox Pure Unleashed)"
|
||||
cores:
|
||||
- dosbox-pure-unleashed
|
||||
- dosboxpure
|
||||
- dosbox-pure
|
||||
systems:
|
||||
- dos
|
||||
mode: standalone
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
emulator: DOSBox (SDL2 fork)
|
||||
type: standalone
|
||||
core_classification: other
|
||||
source: "https://github.com/duganchen/dosbox"
|
||||
upstream: "https://sourceforge.net/projects/dosbox/"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "e6b88ad03202d1f74e329f54f213d3b070bd6202"
|
||||
core_version: "0.74-2"
|
||||
display_name: "DOS (DOSBox SDL2)"
|
||||
cores: [dosbox-sdl2]
|
||||
systems: [dos]
|
||||
|
||||
notes: |
|
||||
Dugan Chen's port of DOSBox SVN to SDL2, kept in sync with SVN revision
|
||||
4250 (README.md:3), with a FluidSynth MIDI driver added
|
||||
(src/gui/midi_fluidsynth.h). RetroPie builds the master branch, renames the
|
||||
configuration directory to ~/.dosbox-sdl2 and points fluid.soundfont at the
|
||||
FluidR3_GM.sf2 that the distribution's fluid-soundfont-gm package installs.
|
||||
|
||||
No BIOS or ROM is read. The machine BIOS is emulated in code. Keyboard
|
||||
layouts and EGA code pages are looked up as files first, through the
|
||||
mounted drive and then the host path (keyboard.sys, keybrd2.sys,
|
||||
keybrd3.sys, <layout>.kl, EGA*.CPI), and fall back to the copies compiled
|
||||
into the binary (src/dos/dos_keyboard_layout.cpp:40-58,271-304,759-783,
|
||||
src/dos/dos_codepages.h). The PCjr cartridge loader reads system.rom from
|
||||
the drive of the cartridge being booted, which is user content
|
||||
(src/dos/dos_programs.cpp:803-811).
|
||||
|
||||
The FluidSynth driver loads the soundfont named by fluid.soundfont, any
|
||||
path, and starts without one when it is empty or fails to load
|
||||
(src/gui/midi_fluidsynth.h:116-136). A MIDI device that fails to open is
|
||||
replaced by the first handler that opens (src/gui/midi.cpp:189-213).
|
||||
|
||||
files: []
|
||||
@@ -0,0 +1,237 @@
|
||||
emulator: dsda-doom
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/kraflab/dsda-doom"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "e443ff7a3e6090a1ff92ad7a426916c4fd35ecc5"
|
||||
core_version: "0.29.4"
|
||||
display_name: "Doom (dsda-doom)"
|
||||
cores: [dsda-doom]
|
||||
systems: [doom, heretic, hexen, chex]
|
||||
|
||||
notes: |
|
||||
Doom source port derived from PrBoom+, by Ryan Krafnick (kraflab). Plays
|
||||
Doom, Doom II, Final Doom, Heretic, Hexen, Chex Quest, Hacx, REKKR and the
|
||||
Freedoom IWADs from one binary. The profiled tag is v0.29.4. v0.29.3 reads
|
||||
the same files: between the two tags d_main.c, m_misc.c and
|
||||
MUSIC/flplayer.c are unchanged in what they open, and SDL/i_system.c only
|
||||
switches to a bounded snprintf in the path search.
|
||||
|
||||
dsda-doom.wad holds the engine's own lumps (the WAD_DATA name,
|
||||
prboom2/CMakeLists.txt:29). M_LoadDefaults requires it through
|
||||
I_RequireFile, which aborts with "Unable to find required file" when the
|
||||
search fails (prboom2/src/m_misc.c:817-818,
|
||||
prboom2/src/SDL/i_system.c:622-629). D_DoomMainSetup then adds it as an
|
||||
autoload source ahead of the IWAD (prboom2/src/d_main.c:2021), and its
|
||||
lumps are tagged LUMP_PRBOOM so a PWAD can override them
|
||||
(prboom2/src/w_wad.c:170-178). The tree ships the inputs, not the file:
|
||||
data/CMakeLists.txt builds it with the dsda_rdatawad tool from the raw
|
||||
palette, lumps, PPM graphics and WAV sounds under data/.
|
||||
|
||||
Every file is located by I_FindFileInternal, which tries in order the
|
||||
executable directory, the config directory, the working directory,
|
||||
$DOOMWADDIR, the build-time DOOMWADDIR, the build-time path of
|
||||
dsda-doom.wad, the SDL base path and ../share/games/doom under it,
|
||||
$HOME/doom, $HOME, $XDG_DATA_HOME/games/doom, every $XDG_DATA_DIRS entry
|
||||
under games/doom then doom, and last every entry of $DOOMWADPATH. Existence
|
||||
is the only test, and the requested extension is appended only when the
|
||||
name as written is missing (prboom2/src/SDL/i_system.c:471-620).
|
||||
|
||||
The IWAD is -iwad when given, else the first name of standard_iwads found
|
||||
on that path (prboom2/src/d_main.c:163-191, 1152-1189). A GAMEINFO lump in
|
||||
a loaded PWAD can name the IWAD instead, and a PWAD with Doom 1 maps
|
||||
switches the search to episode_iwads (prboom2/src/d_main.c:195-209,
|
||||
1850-1904). Nothing found stops startup with "IdentifyVersion: IWAD not
|
||||
found" (prboom2/src/d_main.c:1906-1910). CheckIWAD reads the lump
|
||||
directory and sets the game mode from the map lumps it counts, so a WAD
|
||||
under any name plays (prboom2/src/d_main.c:933-1043). AddIWAD takes the
|
||||
game from the file name: heretic.wad and heretic1.wad select Heretic,
|
||||
hexen.wad selects Hexen, and the Chex, REKKR, Hacx, TNT, Plutonia, French
|
||||
Doom II and Freedoom missions are keyed on their names too
|
||||
(prboom2/src/d_main.c:1048-1130). No hash of any IWAD is read.
|
||||
|
||||
Hexen needs the v1.1 IWAD: a hexen.wad without MAP05 is refused as the
|
||||
shareware release, one without CLUS1MSG as v1.0
|
||||
(prboom2/src/d_main.c:2046-2057). nerve.wad is a PWAD loaded with -file,
|
||||
and its name alone switches the mission to No Rest for the Living
|
||||
(prboom2/src/d_main.c:899-902).
|
||||
|
||||
MIDI music goes through the fluidsynth player by default
|
||||
(prboom2/src/dsda/configuration.c:742-745, prboom2/src/SDL/i_sound.c:1059-1070).
|
||||
It loads snd_soundfont when that setting names one, empty by default,
|
||||
and otherwise the SNDFONT lump, which dsda-doom.wad carries from
|
||||
data/lumps/soundfont/sndfont.lmp (prboom2/src/MUSIC/flplayer.c:275-303,
|
||||
prboom2/src/dsda/configuration.c:750-752, prboom2/data/CMakeLists.txt:59).
|
||||
No soundfont file is read in the default configuration. The OPL player
|
||||
takes its instruments from the GENMIDI lump of the IWAD.
|
||||
|
||||
RetroPie installs dsda-doom.wad beside the binary, the first directory
|
||||
searched, and launches "dsda-doom -iwad <file>" with DOOMWADDIR set to its
|
||||
ports/doom directory.
|
||||
|
||||
files:
|
||||
- name: "dsda-doom.wad"
|
||||
category: game_data
|
||||
description: "dsda-doom engine data WAD"
|
||||
required: true
|
||||
size: 3674257
|
||||
sha1: "d527dd01b1e572ce017537ca1f2f6d35f4af90ce"
|
||||
md5: "88c577edc68096f26a31a4f03777ada8"
|
||||
crc32: "53e51c09"
|
||||
source_ref: "prboom2/src/m_misc.c:817-818, prboom2/src/SDL/i_system.c:622-629, prboom2/src/d_main.c:2021, prboom2/CMakeLists.txt:29"
|
||||
note: >
|
||||
Existence is the only test. Hashes are those of the file dsda_rdatawad
|
||||
builds from data/ at this tag on Linux, which matches the copy in the
|
||||
v0.29.4 macOS release archive byte for byte. The copy in the Windows
|
||||
archive differs (3674386 bytes). Other versions carry different lumps.
|
||||
|
||||
# ================================================================
|
||||
# IWADs (user-supplied). One is needed to start a game.
|
||||
# ================================================================
|
||||
|
||||
# ---- Doom ----
|
||||
|
||||
- name: "doom.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "prboom2/src/d_main.c:170, 197, 974-985, 1034-1039"
|
||||
note: "Registered and Ultimate Doom share the name and are told apart by the E4 maps."
|
||||
|
||||
- name: "doom1.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "prboom2/src/d_main.c:171, 198"
|
||||
note: "Shareware Doom."
|
||||
|
||||
- name: "doomu.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "prboom2/src/d_main.c:172, 199"
|
||||
|
||||
- name: "doom2.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "prboom2/src/d_main.c:166, 1102-1103"
|
||||
|
||||
- name: "doom2f.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "prboom2/src/d_main.c:165, 1104-1105"
|
||||
note: "French Doom II. The name selects the French language."
|
||||
|
||||
- name: "plutonia.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "prboom2/src/d_main.c:167, 1108-1109"
|
||||
|
||||
- name: "tnt.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "prboom2/src/d_main.c:168, 1106-1107"
|
||||
|
||||
- name: "bfgdoom.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "prboom2/src/d_main.c:186, 1017-1020"
|
||||
note: "BFG Edition of Doom, recognised by its DMENUPIC lump."
|
||||
|
||||
- name: "bfgdoom2.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "prboom2/src/d_main.c:185, 1017-1020"
|
||||
note: "BFG Edition of Doom II, recognised by its DMENUPIC lump."
|
||||
|
||||
- name: "nerve.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "prboom2/src/d_main.c:899-902"
|
||||
note: "No Rest for the Living. A PWAD given with -file on top of Doom II."
|
||||
|
||||
# ---- Freedoom (free) ----
|
||||
|
||||
- name: "freedoom1.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "prboom2/src/d_main.c:175, 201, 1099-1100"
|
||||
|
||||
- name: "freedoom2.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "prboom2/src/d_main.c:174, 1114-1116"
|
||||
|
||||
- name: "freedm.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "prboom2/src/d_main.c:176, 1114-1116"
|
||||
|
||||
# ---- Heretic ----
|
||||
|
||||
- name: "heretic.wad"
|
||||
category: game_data
|
||||
system: heretic
|
||||
required: false
|
||||
source_ref: "prboom2/src/d_main.c:188, 206, 1064-1068"
|
||||
|
||||
- name: "heretic1.wad"
|
||||
category: game_data
|
||||
system: heretic
|
||||
required: false
|
||||
source_ref: "prboom2/src/d_main.c:191, 208, 1079-1085"
|
||||
note: "Shareware Heretic."
|
||||
|
||||
# ---- Hexen ----
|
||||
|
||||
- name: "hexen.wad"
|
||||
category: game_data
|
||||
system: hexen
|
||||
required: false
|
||||
source_ref: "prboom2/src/d_main.c:189, 1070-1077, 2046-2057"
|
||||
note: "v1.1 only. The shareware and v1.0 IWADs are refused."
|
||||
|
||||
# ---- Chex Quest ----
|
||||
|
||||
- name: "chex.wad"
|
||||
category: game_data
|
||||
system: chex
|
||||
required: false
|
||||
source_ref: "prboom2/src/d_main.c:178, 203, 1093-1094"
|
||||
|
||||
- name: "chex3v.wad"
|
||||
category: game_data
|
||||
system: chex
|
||||
required: false
|
||||
source_ref: "prboom2/src/d_main.c:179, 1095-1096"
|
||||
|
||||
- name: "chex3d2.wad"
|
||||
category: game_data
|
||||
system: chex
|
||||
required: false
|
||||
source_ref: "prboom2/src/d_main.c:180, 1110-1111"
|
||||
|
||||
# ---- Standalone IWADs ----
|
||||
|
||||
- name: "hacx.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "prboom2/src/d_main.c:182, 1112-1113"
|
||||
|
||||
- name: "rekkrsa.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "prboom2/src/d_main.c:183, 204, 1097-1098"
|
||||
note: "REKKR: Sunken Land."
|
||||
@@ -0,0 +1,101 @@
|
||||
emulator: Dusklight
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/TwilitRealm/dusklight"
|
||||
upstream: "https://github.com/TwilitRealm/dusklight"
|
||||
source_commit: "40457c6adb381928e4b5fef6ed459ed291edd5e2"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "v2.0.3"
|
||||
display_name: "The Legend of Zelda: Twilight Princess (Dusklight)"
|
||||
cores: [dusklight]
|
||||
systems: [dusklight]
|
||||
|
||||
notes: |
|
||||
PC port of The Legend of Zelda: Twilight Princess built on the zeldaret/tp
|
||||
decompilation, on the Aurora runtime. The game reads its data straight from
|
||||
the user's disc image at run time, there is no extraction step.
|
||||
|
||||
RetroBat installs v2.0.3: dusklight.exe in its dusklight.7z carries
|
||||
"Revision: 40457c6adb381928e4b5fef6ed459ed291edd5e2" and the version
|
||||
string v2.0.3, the commit the v2.0.3 tag points to. The launcher passes the
|
||||
image (or the first line of an .m3u) as the positional argument, writes it
|
||||
to backend.isoPath in data/config.json and forces portable mode through
|
||||
data_location.json.
|
||||
ref: emulatorLauncher Generators/PortsLauncher.Configuration.cs:580-640
|
||||
|
||||
Disc check. The positional argument is the dvd option. Its header is
|
||||
inspected (platform magic, game ID, disc number, revision) against the
|
||||
accepted catalog. A match opens the image and starts the game, anything
|
||||
else falls back to the prelaunch screen, where the user can pick another
|
||||
image. Booting without an image that passes the check is fatal.
|
||||
ref: src/m_Do/m_Do_main.cpp:561-571, 792-817, 885-899,
|
||||
src/dusk/iso_validate.cpp:30-63, 126-131
|
||||
|
||||
The full check is optional and runs from the prelaunch screen: an XXH3-128
|
||||
over the reconstructed logical image, whatever the container format, must
|
||||
equal the catalog value. A mismatch is reported, not fatal. Accepted
|
||||
values: GZ2E01 14e886f08e548a000afde98a3195e788, GZ2J01
|
||||
5967dc7a6a553652f4d2050aeef6f368, GZ2P01 9ef597588b0035ca9e91b333fa9a8a7e,
|
||||
RZDE01 rev 0 b3d91fbea59e5c66934d04c01566728e, RZDE01 rev 2
|
||||
c3ec420921a1b36d6ae43f576491d25c, RZDJ01 d3866821c7fc6999e6e8bbef8b6875aa,
|
||||
RZDP01 6095a924a57e5fb4294ac96fb85a09a1. RZDK01 (Wii, Korea) is recognised
|
||||
and refused as an unsupported version. Revision is 0 unless stated.
|
||||
ref: src/dusk/iso_validate.cpp:30-63, 119-124, src/dusk/ui/prelaunch.cpp:143-147,
|
||||
borealis src/disc.cpp:140-151, 163-220, 261-340
|
||||
|
||||
The res/ tree (fonts and RmlUi documents), the SDL3, Dawn and nod
|
||||
libraries and initial_pipeline_cache.db are program components of the
|
||||
release. Borealis is a submodule pinned at v2.0.3 to
|
||||
4ac5e7052a8c49a122f8d57f626b5c75c5ca6968, its citation is at that
|
||||
revision.
|
||||
|
||||
files:
|
||||
- name: "GZ2E01.iso"
|
||||
category: game_data
|
||||
system: dusklight
|
||||
required: true
|
||||
description: "The Legend of Zelda: Twilight Princess (USA) GameCube disc image"
|
||||
source_ref: "src/dusk/iso_validate.cpp:31-34, src/m_Do/m_Do_main.cpp:795-817"
|
||||
note: "No file name is fixed. Any image the nod library opens. The GameCube discs of Japan (GZ2J01) and Europe (GZ2P01) are accepted the same way."
|
||||
unsourceable: "retail disc image the collection does not hold, and a same-named image of another game must not stand in"
|
||||
|
||||
- name: "GZ2J01.iso"
|
||||
category: game_data
|
||||
system: dusklight
|
||||
required: false
|
||||
description: "The Legend of Zelda: Twilight Princess (Japan) GameCube disc image"
|
||||
source_ref: "src/dusk/iso_validate.cpp:35-38"
|
||||
unsourceable: "retail disc image the collection does not hold, and a same-named image of another game must not stand in"
|
||||
|
||||
- name: "GZ2P01.iso"
|
||||
category: game_data
|
||||
system: dusklight
|
||||
required: false
|
||||
description: "The Legend of Zelda: Twilight Princess (Europe) GameCube disc image"
|
||||
source_ref: "src/dusk/iso_validate.cpp:39-42"
|
||||
unsourceable: "retail disc image the collection does not hold, and a same-named image of another game must not stand in"
|
||||
|
||||
- name: "RZDE01.iso"
|
||||
category: game_data
|
||||
system: dusklight
|
||||
required: false
|
||||
description: "The Legend of Zelda: Twilight Princess (USA) Wii disc image, revision 0 or 2"
|
||||
source_ref: "src/dusk/iso_validate.cpp:43-52"
|
||||
note: "Played with the GameCube HUD and behaviour, the decompilation matching only the GameCube build."
|
||||
unsourceable: "retail disc image the collection does not hold, and a same-named image of another game must not stand in"
|
||||
|
||||
- name: "RZDJ01.iso"
|
||||
category: game_data
|
||||
system: dusklight
|
||||
required: false
|
||||
description: "The Legend of Zelda: Twilight Princess (Japan) Wii disc image"
|
||||
source_ref: "src/dusk/iso_validate.cpp:53-56"
|
||||
unsourceable: "retail disc image the collection does not hold, and a same-named image of another game must not stand in"
|
||||
|
||||
- name: "RZDP01.iso"
|
||||
category: game_data
|
||||
system: dusklight
|
||||
required: false
|
||||
description: "The Legend of Zelda: Twilight Princess (Europe) Wii disc image"
|
||||
source_ref: "src/dusk/iso_validate.cpp:57-60"
|
||||
unsourceable: "retail disc image the collection does not hold, and a same-named image of another game must not stand in"
|
||||
@@ -0,0 +1,200 @@
|
||||
emulator: FBZX
|
||||
type: standalone
|
||||
core_classification: other
|
||||
source: "https://github.com/rastersoft/fbzx"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "8d6b4cbe5fec121015e98cf545e9b3b811de2a71"
|
||||
core_version: "3.9.1"
|
||||
display_name: "Sinclair - ZX Spectrum (FBZX)"
|
||||
mode: standalone
|
||||
cores:
|
||||
- fbzx
|
||||
systems:
|
||||
- sinclair-zxspectrum
|
||||
|
||||
notes: |
|
||||
ZX Spectrum emulator for SDL by Sergio Costas. Emulates the 48K, the 128K,
|
||||
the Amstrad +2, the +2A/+3 and the Spanish 128K, with Interface 1 and
|
||||
microdrives. The GitHub tree stops at 3.9.1 plus two commits, the last one
|
||||
pointing at the project's move to GitLab. RetroPie builds this head on x86
|
||||
and the 2.11.1 tag (fc1da080a17c400d8f9fdc316cbe8c1362a371c9) elsewhere.
|
||||
2.11.1 is the C code base that 3.x rewrote in C++, and its ROM loader opens
|
||||
the same names in the same order with the same fallbacks.
|
||||
ref: src/emulator.cpp:49-160, and lines 63-195 of the tag's emulator.c
|
||||
|
||||
Every ROM is opened through myfopen, which tries the relative path from the
|
||||
working directory, then under /usr/share, then under /usr/local/share.
|
||||
make install copies the ROMs the project ships to share/spectrum-roms, and
|
||||
RetroPie starts the emulator from inside $md_inst/share so the relative path
|
||||
resolves there.
|
||||
ref: src/llscreen.cpp:113-133, Makefile:30-34
|
||||
|
||||
A reset loads the ROM set of the current model, read in 16 KiB pages, and a
|
||||
missing page ends the program with "Can't load file". The model is the 48K
|
||||
unless the configuration file or the machine menu picks another one, and a
|
||||
snapshot can switch it too. The Interface 1 ROM is loaded after every model
|
||||
and its absence also ends the program.
|
||||
ref: src/computer.cpp:53,186, src/emulator.cpp:68-158,308-326, src/cargador.cpp:593-599
|
||||
|
||||
The +2A/+3 model tries plus3-41-0.rom to plus3-41-3.rom (ROM 4.1) first,
|
||||
then plus3-40-0.rom to plus3-40-3.rom (ROM 4.0), then the legacy names
|
||||
plus3-0.rom to plus3-3.rom. The project ships only the legacy names, holding
|
||||
the 4.0 ROM.
|
||||
ref: src/emulator.cpp:103-134
|
||||
|
||||
fbzx/keymap.bmp, installed to share/fbzx, is the keyboard picture shown from
|
||||
the help menu, and its absence only shows "Keymap picture not found".
|
||||
ref: src/menus.cpp:1761, src/llscreen.cpp:486-498
|
||||
|
||||
files:
|
||||
- name: "48.rom"
|
||||
path: "spectrum-roms/48.rom"
|
||||
system: sinclair-zxspectrum
|
||||
required: true
|
||||
bundled: true
|
||||
size: 16384
|
||||
crc32: "ddee531f"
|
||||
md5: "4c42a2f075212361c3117015b107ff68"
|
||||
sha1: "5ea7c2b824672e914525d1d5c419d71b84a426a2"
|
||||
description: "ZX Spectrum 48K ROM"
|
||||
note: "Default model, loaded at the first reset."
|
||||
source_ref: "src/emulator.cpp:74-82, src/computer.cpp:53,186"
|
||||
|
||||
- name: "128-0.rom"
|
||||
path: "spectrum-roms/128-0.rom"
|
||||
system: sinclair-zxspectrum
|
||||
required: false
|
||||
bundled: true
|
||||
size: 16384
|
||||
crc32: "e76799d2"
|
||||
md5: "b4d2692115a9f2924df92a3cbfb358fb"
|
||||
sha1: "4f4b11ec22326280bdb96e3baf9db4b4cb1d02c5"
|
||||
description: "ZX Spectrum 128K ROM 0"
|
||||
source_ref: "src/emulator.cpp:83-92"
|
||||
|
||||
- name: "128-1.rom"
|
||||
path: "spectrum-roms/128-1.rom"
|
||||
system: sinclair-zxspectrum
|
||||
required: false
|
||||
bundled: true
|
||||
size: 16384
|
||||
crc32: "b96a36be"
|
||||
md5: "6e09e5d3c4aef166601669feaaadc01c"
|
||||
sha1: "80080644289ed93d71a1103992a154cc9802b2fa"
|
||||
description: "ZX Spectrum 128K ROM 1"
|
||||
source_ref: "src/emulator.cpp:83-92"
|
||||
|
||||
- name: "plus2-0.rom"
|
||||
path: "spectrum-roms/plus2-0.rom"
|
||||
system: sinclair-zxspectrum
|
||||
required: false
|
||||
bundled: true
|
||||
size: 16384
|
||||
crc32: "5d2e8c66"
|
||||
md5: "4ed7af4636308b8a48d7a35e6c5b546b"
|
||||
sha1: "72703f9a3e734f3c23ec34c0727aae4ccbef9a91"
|
||||
description: "Amstrad +2 ROM 0"
|
||||
source_ref: "src/emulator.cpp:93-102"
|
||||
|
||||
- name: "plus2-1.rom"
|
||||
path: "spectrum-roms/plus2-1.rom"
|
||||
system: sinclair-zxspectrum
|
||||
required: false
|
||||
bundled: true
|
||||
size: 16384
|
||||
crc32: "98b1320b"
|
||||
md5: "b3db95931cc844efaeb82db9c171b9f3"
|
||||
sha1: "de8b0d2d0379cfe7c39322a086ca6da68c7f23cb"
|
||||
description: "Amstrad +2 ROM 1"
|
||||
source_ref: "src/emulator.cpp:93-102"
|
||||
|
||||
- name: "plus3-0.rom"
|
||||
path: "spectrum-roms/plus3-0.rom"
|
||||
aliases: ["plus3-40-0.rom"]
|
||||
system: sinclair-zxspectrum
|
||||
required: false
|
||||
bundled: true
|
||||
size: 16384
|
||||
crc32: "17373da2"
|
||||
md5: "9833b8b73384dd5fa3678377ff00a2bb"
|
||||
sha1: "e319ed08b4d53a5e421a75ea00ea02039ba6555b"
|
||||
description: "Spectrum +3 ROM 4.0, page 0"
|
||||
note: "Read under plus3-40-0.rom before the legacy name."
|
||||
source_ref: "src/emulator.cpp:113-125"
|
||||
|
||||
- name: "plus3-1.rom"
|
||||
path: "spectrum-roms/plus3-1.rom"
|
||||
aliases: ["plus3-40-1.rom"]
|
||||
system: sinclair-zxspectrum
|
||||
required: false
|
||||
bundled: true
|
||||
size: 16384
|
||||
crc32: "f1d1d99e"
|
||||
md5: "0f711ceb5ab801b4701989982e0f334c"
|
||||
sha1: "c9969fc36095a59787554026a9adc3b87678c794"
|
||||
description: "Spectrum +3 ROM 4.0, page 1"
|
||||
source_ref: "src/emulator.cpp:113-125"
|
||||
|
||||
- name: "plus3-2.rom"
|
||||
path: "spectrum-roms/plus3-2.rom"
|
||||
aliases: ["plus3-40-2.rom"]
|
||||
system: sinclair-zxspectrum
|
||||
required: false
|
||||
bundled: true
|
||||
size: 16384
|
||||
crc32: "3dbf351d"
|
||||
md5: "3b6dd659d5e4ec97f0e2f7878152c987"
|
||||
sha1: "22e50c6ba4157a3f6a821bd9937cd26e292775c6"
|
||||
description: "Spectrum +3 ROM 4.0, page 2"
|
||||
source_ref: "src/emulator.cpp:113-125"
|
||||
|
||||
- name: "plus3-3.rom"
|
||||
path: "spectrum-roms/plus3-3.rom"
|
||||
aliases: ["plus3-40-3.rom"]
|
||||
system: sinclair-zxspectrum
|
||||
required: false
|
||||
bundled: true
|
||||
size: 16384
|
||||
crc32: "04448eaa"
|
||||
md5: "a148bcc575e51389e84fdf5d555c3196"
|
||||
sha1: "65f031caa8148a5493afe42c41f4929deab26b4e"
|
||||
description: "Spectrum +3 ROM 4.0, page 3"
|
||||
source_ref: "src/emulator.cpp:113-125"
|
||||
|
||||
- name: "128-spanish-0.rom"
|
||||
path: "spectrum-roms/128-spanish-0.rom"
|
||||
system: sinclair-zxspectrum
|
||||
required: false
|
||||
bundled: true
|
||||
size: 16384
|
||||
crc32: "453d86b2"
|
||||
md5: "c1231a70b8129311216acb7479b031d5"
|
||||
sha1: "968937b1c750f0ef6205f01c6db4148da4cca4e3"
|
||||
description: "Spanish 128K ROM 0"
|
||||
source_ref: "src/emulator.cpp:135-144"
|
||||
|
||||
- name: "128-spanish-1.rom"
|
||||
path: "spectrum-roms/128-spanish-1.rom"
|
||||
system: sinclair-zxspectrum
|
||||
required: false
|
||||
bundled: true
|
||||
size: 16384
|
||||
crc32: "6010e796"
|
||||
md5: "4f341936594cbcab75cfa62ce96e3682"
|
||||
sha1: "bea3f397cc705eafee995ea629f4a82550562f90"
|
||||
description: "Spanish 128K ROM 1"
|
||||
source_ref: "src/emulator.cpp:135-144"
|
||||
|
||||
- name: "if1-2.rom"
|
||||
path: "spectrum-roms/if1-2.rom"
|
||||
aliases: ["if1-v2.rom"]
|
||||
system: sinclair-zxspectrum
|
||||
required: true
|
||||
bundled: true
|
||||
size: 8192
|
||||
crc32: "bb66dd1e"
|
||||
md5: "31b704ae925305e74f50699271fddd9a"
|
||||
sha1: "5cfb6bca4177c45fefd571734576b55e3a127c08"
|
||||
description: "Interface 1 ROM, second edition"
|
||||
note: "Loaded after every model, if1-v2.rom being the legacy name tried next."
|
||||
source_ref: "src/emulator.cpp:147-158"
|
||||
@@ -0,0 +1,64 @@
|
||||
emulator: FS-UAE 3.1
|
||||
type: standalone
|
||||
core_classification: other
|
||||
source: "https://github.com/FrodeSolheim/fs-uae"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "596d803944f6498c305ac48d338f6252cbde7ecb"
|
||||
core_version: "3.1.64"
|
||||
display_name: "Commodore - Amiga (FS-UAE 3.1)"
|
||||
cores: [fs-uae]
|
||||
systems: [commodore-amiga]
|
||||
|
||||
notes: |
|
||||
FS-UAE 3.1.64 by Frode Solheim, the build published in the stable
|
||||
repository of the author's openSUSE Build Service project for Debian 11
|
||||
and 12 and Ubuntu 20.04 to 25.04 (BASEVERSION.FS:1). RetroPie installs
|
||||
that package rather than building the source. Its launcher refuses to
|
||||
start without kick13.rom in the BIOS directory and starts the emulator
|
||||
with --kickstart_file pointing at it, an A500 configuration and the
|
||||
floppies of the game.
|
||||
|
||||
A kickstart_file other than "internal" is expanded, resolved against the
|
||||
ROM search paths and handed to UAE as kickstart_rom_file, and
|
||||
kickstart_ext_file the same way as the extended ROM
|
||||
(src/fs-uae/config.c:80-101). Unless kickstart_file is "internal", the
|
||||
Kickstarts directory and AmigaForever/Amiga Files/Shared/rom under the base
|
||||
directory are scanned for .rom and .bin files, so that a model chosen
|
||||
without a kickstart_file finds its ROM there (src/fs-uae/config.c:121-140,
|
||||
src/fs-uae/main.c:431-470).
|
||||
|
||||
load_kickstart opens the named file and falls back to roms/kick.rom,
|
||||
kick.rom, ../shared/rom/kick.rom and ../System/rom/kick.rom under the data
|
||||
path, then to a guess from the ROM list (src/memory.cpp:1583-1612). A ROM
|
||||
that is not in the table still loads, a known one is only logged by name
|
||||
(src/memory.cpp:2374-2385). With no ROM at all the error is logged and the
|
||||
built-in AROS replacement is loaded instead (src/memory.cpp:2374-2379,
|
||||
1512-1581), whose ext and rom halves come from share/fs-uae in the
|
||||
installed package.
|
||||
|
||||
rom.key is looked for next to the kickstart file and in each scanned
|
||||
directory, to decrypt Cloanto ROMs (src/rommgr.cpp:803-819,
|
||||
src/fs-uae/main.c:443-461).
|
||||
|
||||
files:
|
||||
- name: "kick13.rom"
|
||||
system: commodore-amiga
|
||||
required: true
|
||||
hle_fallback: true
|
||||
size: 262144
|
||||
crc32: "c4f0f55f"
|
||||
sha1: "891e9a547772fe0c6c19b610baf8bc4ea7fcb785"
|
||||
source_ref: "src/rommgr.cpp:141-142, src/fs-uae/config.c:80-101"
|
||||
note: >-
|
||||
KS ROM v1.3 (A500, A1000, A2000), ROM id 6, the one the A500 quickstart
|
||||
selects. The RetroPie launcher exits with a dialog when the file is
|
||||
absent from the BIOS directory, so the game never starts. FS-UAE alone
|
||||
loads the AROS replacement in its place.
|
||||
|
||||
- name: "rom.key"
|
||||
system: commodore-amiga
|
||||
required: false
|
||||
source_ref: "src/rommgr.cpp:803-819, src/fs-uae/main.c:443-461"
|
||||
note: >-
|
||||
Cloanto Amiga Forever key, read from the directory of the kickstart
|
||||
file. Needed only when that kickstart is an encrypted Cloanto dump.
|
||||
+1
-1
@@ -10,7 +10,7 @@ profiled_date: "2026-10-04"
|
||||
source_commit: "ec5824db81817866f70da326d3811bb0f52b3517"
|
||||
core_version: "20260807-10669-ec5824db8"
|
||||
display_name: "Ion Fury"
|
||||
cores: [fury]
|
||||
cores: [fury, ionfury]
|
||||
systems: [fury]
|
||||
|
||||
notes: |
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
emulator: GemRB
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/gemrb/gemrb"
|
||||
upstream: "https://github.com/gemrb/gemrb"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "ef32a9a8b837ddf4f3a9508b23710146ada2d5fe"
|
||||
core_version: "0.9.2"
|
||||
display_name: "Infinity Engine (GemRB)"
|
||||
cores:
|
||||
- gemrb
|
||||
systems: []
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Reimplementation of BioWare's Infinity Engine, running Baldur's Gate,
|
||||
Baldur's Gate II, Icewind Dale, Icewind Dale II and Planescape: Torment
|
||||
from their original data. Profiled at tag v0.9.2, the build RetroBat ships
|
||||
(gemrb_core.dll reports GemRB v0.9.2). RetroBat writes GemRB.cfg with
|
||||
GamePath set to the game folder and GameType taken from its extension,
|
||||
then runs gemrb.exe -c GemRB.cfg
|
||||
(emulatorLauncher/Generators/GemRB.Generator.cs). RetroPie builds tag
|
||||
v0.8.6 and writes one GemRB.cfg per game, GamePath under
|
||||
$romdir/ports/<game>/ (scriptmodules/ports/gemrb.sh). v0.8.6 reads the
|
||||
same two files from GamePath, chitin.key at gemrb/core/Interface.cpp:1570
|
||||
and dialog.tlk at 1679 of that tag.
|
||||
|
||||
GamePath defaults to the current directory, and when it holds no
|
||||
chitin.key the engine tries .. and ../.. before falling back to the demo
|
||||
game it installs under its own data directory
|
||||
(gemrb/core/Interface.cpp:886-912). The game's resources are then
|
||||
indexed through chitin.key, which names the BIF archives under data/ and
|
||||
the CD folders (gemrb/core/Interface.cpp:1081-1090, 1106-1115). Every game
|
||||
ships its own chitin.key and dialog.tlk, so both entries below stand for
|
||||
the copy in the folder of the game being run.
|
||||
|
||||
GUIScripts, unhardcoded/ and override/ are the engine's own Python and
|
||||
table data, installed with the program and read from GemRBPath
|
||||
(gemrb/core/Interface.cpp:1048-1058, 1094-1102). No file is hashed.
|
||||
|
||||
files:
|
||||
- name: chitin.key
|
||||
category: game_data
|
||||
required: true
|
||||
source_ref: "gemrb/core/Interface.cpp:886-912, 1106-1115"
|
||||
note: "Resource index of the game in GamePath. GemRB stops when it cannot open it."
|
||||
unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in"
|
||||
|
||||
- name: dialog.tlk
|
||||
category: game_data
|
||||
required: true
|
||||
source_ref: "gemrb/core/Interface.cpp:1233-1246"
|
||||
note: "String table, read from GamePath, then from the language folder of Enhanced Edition installs. GemRB stops when neither opens."
|
||||
unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in"
|
||||
|
||||
- name: dialogf.tlk
|
||||
category: game_data
|
||||
required: false
|
||||
source_ref: "gemrb/core/Interface.cpp:1248-1266"
|
||||
note: "Female string table, read only when dialog.tlk declares one. Without it the engine falls back to dialog.tlk."
|
||||
unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in"
|
||||
@@ -10,7 +10,6 @@ display_name: "Sega - MS/GG/MD/CD (Genesis Plus GX)"
|
||||
cores:
|
||||
- genesis_plus_gx
|
||||
- genesisplusgx
|
||||
- genesisplusgx-expanded
|
||||
- genplus
|
||||
- "genesisplusgx_ex"
|
||||
systems:
|
||||
|
||||
@@ -0,0 +1,127 @@
|
||||
emulator: Genesis Plus GX Expanded
|
||||
type: libretro
|
||||
core_classification: enhanced_fork
|
||||
source: "https://github.com/BillyTimeGames/Genesis-Plus-GX-Expanded-Rom-Size"
|
||||
upstream: "https://github.com/ekeeke/Genesis-Plus-GX"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "dea3528cc0e3f54098e1fb91e3ae7e0e5d90a590"
|
||||
upstream_commit: "e366ca817f5b750ad06a8e2c5976d79b3758ea0a"
|
||||
core_version: "v1.7.4"
|
||||
display_name: "Sega - MS/GG/MD/CD (Genesis Plus GX Expanded)"
|
||||
cores:
|
||||
- genesis_plus_gx_expanded
|
||||
- genesisplusgx-expanded
|
||||
built_by:
|
||||
- batocera
|
||||
- retrobat
|
||||
systems:
|
||||
- sega-megadrive
|
||||
- sega-megacd
|
||||
- sega-mastersystem
|
||||
- sega-gamegear
|
||||
- sega-sg1000
|
||||
- sega-pico
|
||||
|
||||
notes: |
|
||||
Fork of Genesis Plus GX branched from ekeeke's tree at e366ca8 (May 2022).
|
||||
Makefile.libretro builds it with MAXROMSIZE 93554432 for Sega Channel
|
||||
dumps and large hacks, and it adds a Paprium mapper (core/cart_hw/paprium.h).
|
||||
RapidEdwin08/Genesis-Plus-GX-Expanded-Rom-Size, which Batocera builds as
|
||||
genesisplusgx-expanded at 181e8f93, carries the same core/, libretro/ and
|
||||
Makefile.libretro as this pin. RetroBat ships genesis_plus_gx_expanded_libretro.dll
|
||||
from its own core repository, and its strings carry the same file names and
|
||||
the Paprium track list.
|
||||
|
||||
The system files are those of the mainline core, under the same names and
|
||||
read the same way: fill_pathname_join builds all twelve paths from the
|
||||
system directory (libretro/libretro.c:3581-3592). The Mega CD boot ROM of the
|
||||
disc's region is required, the Master System, Game Gear and Mega Drive boot
|
||||
ROMs are read only with the genesis_plus_gx_bios option, and the lock-on
|
||||
ROMs only with the matching lock-on cartridge.
|
||||
|
||||
The Paprium mapper streams its music from a paprium folder next to the
|
||||
game, MP3 tracks named after the soundtrack (core/cart_hw/paprium.h:158-261).
|
||||
Those belong to the game release. The paprium.wav reader sits under if(0)
|
||||
(core/cart_hw/paprium.h:2748-2760) and never runs.
|
||||
|
||||
files:
|
||||
- name: bios_CD_U.bin
|
||||
system: sega-megacd
|
||||
region: [north-america, latin-america]
|
||||
required: true
|
||||
note: "Sega CD (NTSC-U) boot ROM. Loaded for REGION_USA, which get_region sets for every disc whose security byte at 0x20b is neither 0x64 nor 0xa1 (core/loadrom.c:1056-1070)."
|
||||
source_ref: "core/loadrom.c:408"
|
||||
|
||||
- name: bios_CD_E.bin
|
||||
system: sega-megacd
|
||||
region: [europe, oceania]
|
||||
required: true
|
||||
note: "Mega CD (PAL) boot ROM. Loaded for REGION_EUROPE, set by security byte 0x64 (core/loadrom.c:1059-1061)."
|
||||
source_ref: "core/loadrom.c:411"
|
||||
|
||||
- name: bios_CD_J.bin
|
||||
system: sega-megacd
|
||||
region: [japan]
|
||||
required: true
|
||||
note: "Mega CD (NTSC-J) boot ROM. Loaded for every other region code."
|
||||
source_ref: "core/loadrom.c:414"
|
||||
|
||||
- name: bios_U.sms
|
||||
system: sega-mastersystem
|
||||
region: [north-america, europe]
|
||||
required: false
|
||||
note: "Master System (NTSC-U) boot ROM, loaded for REGION_USA when the bios option is on."
|
||||
source_ref: "core/loadrom.c:510"
|
||||
|
||||
- name: bios_E.sms
|
||||
system: sega-mastersystem
|
||||
required: false
|
||||
note: "Master System (PAL) boot ROM, loaded for REGION_EUROPE when the bios option is on."
|
||||
source_ref: "core/loadrom.c:513"
|
||||
|
||||
- name: bios_J.sms
|
||||
system: sega-mastersystem
|
||||
region: [japan]
|
||||
required: false
|
||||
note: "Master System (NTSC-J) boot ROM, loaded for the Japanese region codes when the bios option is on."
|
||||
source_ref: "core/loadrom.c:516"
|
||||
|
||||
- name: bios.gg
|
||||
system: sega-gamegear
|
||||
required: false
|
||||
note: "Game Gear boot ROM, 1 KB Majesco image or a larger one, loaded when the bios option is on."
|
||||
source_ref: "core/loadrom.c:479"
|
||||
|
||||
- name: bios_MD.bin
|
||||
system: sega-megadrive
|
||||
required: false
|
||||
note: "Mega Drive TMSS boot ROM. 2 KB read, accepted when \"GENESIS OS\" sits at 0x120."
|
||||
source_ref: "libretro/libretro.c:3713-3721"
|
||||
|
||||
- name: ggenie.bin
|
||||
system: sega-megadrive
|
||||
required: false
|
||||
note: "Game Genie ROM, read when the Game Genie lock-on is selected."
|
||||
source_ref: "core/cart_hw/ggenie.c:64, libretro/libretro.c:3581"
|
||||
|
||||
- name: areplay.bin
|
||||
system: sega-megadrive
|
||||
required: false
|
||||
note: "Action Replay (Pro) ROM, read when the Action Replay lock-on is selected."
|
||||
source_ref: "core/cart_hw/areplay.c:64, libretro/libretro.c:3582"
|
||||
|
||||
- name: sk.bin
|
||||
system: sega-megadrive
|
||||
required: false
|
||||
size: 2097152
|
||||
validation: [size]
|
||||
note: "Sonic & Knuckles ROM for the lock-on cartridge, kept only when the read fills 2 MB."
|
||||
source_ref: "core/cart_hw/md_cart.c:762"
|
||||
|
||||
- name: sk2chip.bin
|
||||
system: sega-megadrive
|
||||
required: false
|
||||
size: 262144
|
||||
validation: [size]
|
||||
note: "Sonic & Knuckles UPMEM ROM, read after sk.bin and kept only when the read fills 256 KB."
|
||||
source_ref: "core/cart_hw/md_cart.c:768"
|
||||
@@ -0,0 +1,128 @@
|
||||
emulator: Ghostship
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/HarbourMasters/Ghostship"
|
||||
upstream: "https://github.com/HarbourMasters/Ghostship"
|
||||
source_commit: "deb091c29caff57dd986398087b058f16b11911e"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "3.0.0"
|
||||
display_name: "Super Mario 64 (Ghostship)"
|
||||
cores: [ghostship]
|
||||
systems: [ghostship]
|
||||
|
||||
notes: |
|
||||
PC port of Super Mario 64 built on the decompilation, by HarbourMasters.
|
||||
The game runs from assets extracted out of the user's N64 ROM into
|
||||
sm64.o2r, plus the port's own archive ghostship.o2r, on the libultraship
|
||||
runtime. Torch (submodule Torch) performs the extraction inside the
|
||||
executable.
|
||||
|
||||
RetroBat installs the 3.0.0 release: its ghostship.7z carries the
|
||||
Ghostship.exe, ghostship.o2r, config.yml, gamecontrollerdb.txt and
|
||||
assets/ymls tree of Nautilus-Alfa-Win64.zip byte for byte, so the profile
|
||||
is pinned to the 3.0.0 tag. Its launcher passes the ROM on the command line
|
||||
when sm64.o2r is absent (only a .z64 file), and deletes sm64.o2r first
|
||||
when the portVersion inside it names another major.minor than the
|
||||
executable, so the archive is regenerated from the ROM.
|
||||
|
||||
Startup:
|
||||
1. ghostship.o2r is located in the application directories and handed to
|
||||
the resource manager (src/port/Engine.cpp:229-230, 250-255).
|
||||
2. RunExtract checks sm64.o2r. It is regenerated when its portVersion
|
||||
differs from the build in major or minor, or when its version file
|
||||
holds neither ROM revision (src/port/Engine.cpp:673-682, 170-192).
|
||||
3. Without sm64.o2r a ROM given on the command line is extracted.
|
||||
Otherwise .z64 files next to the executable are offered, then a file
|
||||
dialog filtered on *.z64. A file whose SHA-1 is not in mGameList is
|
||||
refused, and with no sm64.o2r at the end the port shows an error and
|
||||
exits (src/port/GameExtractor.cpp:37-40, 114, src/port/Engine.cpp:1056-1088).
|
||||
4. LoadResourceFiles adds sm64.o2r, then every .otr, .o2r and .zip under
|
||||
mods/ and every directory there (src/port/Engine.cpp:488-518).
|
||||
|
||||
The ROM SHA-1 is computed by Torch over the whole file with no byte order
|
||||
conversion, so only big-endian .z64 dumps match
|
||||
(Torch src/n64/Cartridge.cpp:21, Torch src/Companion.cpp:2491-2493). Torch then
|
||||
reads config.yml from the application bundle path, which maps each
|
||||
accepted hash to an asset tree under assets/ymls/ and to sm64.o2r. Without
|
||||
config.yml Torch logs "No config file found" and writes nothing
|
||||
(src/port/GameExtractor.cpp:295-299, Torch src/Companion.cpp:1350-1354).
|
||||
config.yml and the 842 assets/ymls files ship with the release.
|
||||
|
||||
The renderer loads its shader from the archives and aborts when it is
|
||||
missing (libultraship src/fast/backends/gfx_direct3d11.cpp:1586-1598).
|
||||
The shaders are only in ghostship.o2r, packed from port/ by "torch pack port
|
||||
ghostship.o2r o2r" (CMakeLists.txt:990-996).
|
||||
|
||||
tcc.dll and the .tcc tree serve the script mod compiler, and
|
||||
shaderc_shared.dll the Vulkan shader compiler. Both are program components
|
||||
of the release.
|
||||
|
||||
Torch and libultraship are submodules of the repository, pinned at 3.0.0
|
||||
to 106621f0f0f9731b8739bec95227c2c5887492df and
|
||||
6b861a64d29d9fe95d100be228eb6d190231cc0d. Their citations above are at
|
||||
those revisions.
|
||||
|
||||
files:
|
||||
- name: "baserom.us.z64"
|
||||
category: game_data
|
||||
system: ghostship
|
||||
required: true
|
||||
sha1: "9bef1128717f958171a4afac3ed78ee2bb4e86ce"
|
||||
validation: [sha1]
|
||||
description: "Super Mario 64 (USA) ROM in big-endian .z64 order"
|
||||
source_ref: "src/port/GameExtractor.cpp:37-40, 114, 122-129, config.yml:42-48"
|
||||
note: "Picked through a file dialog filtered on *.z64 or passed on the command line on Windows, Linux and macOS. Android and iOS read baserom.us.z64 from the application directory. Either ROM produces sm64.o2r, and the ROM is not read again once sm64.o2r exists."
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "baserom.jp.z64"
|
||||
category: game_data
|
||||
system: ghostship
|
||||
required: false
|
||||
sha1: "8a20a5c83d6ceb0f0506cfc9fa20d8f438cafe51"
|
||||
validation: [sha1]
|
||||
description: "Super Mario 64 (Japan) ROM in big-endian .z64 order"
|
||||
source_ref: "src/port/GameExtractor.cpp:37-40, config.yml:4-10"
|
||||
note: "Accepted in place of the US ROM and extracted to the same sm64.o2r. The file name is whatever the user picks."
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "ghostship.o2r"
|
||||
path: "ghostship/ghostship.o2r"
|
||||
category: game_data
|
||||
system: ghostship
|
||||
required: true
|
||||
bundled: true
|
||||
size: 384109
|
||||
sha1: "95300becccd0660d606c71dab5b457d52098dbe7"
|
||||
md5: "ad8f2494ce4bb346485f03903b611464"
|
||||
description: "Port archive packed from port/: Direct3D, OpenGL, Vulkan and Metal shaders and the menu textures"
|
||||
source_ref: "src/port/Engine.cpp:229-230, 250-255, libultraship src/fast/backends/gfx_direct3d11.cpp:1586-1598"
|
||||
note: "Located across the application directories. No version check runs on it at this tag, but the renderer aborts without the shader it carries. Hash of the copy in Nautilus-Alfa-Win64.zip."
|
||||
unsourceable: "ships inside the Ghostship release, and the collection does not hold it"
|
||||
|
||||
- name: "config.yml"
|
||||
path: "ghostship/config.yml"
|
||||
category: game_data
|
||||
system: ghostship
|
||||
required: true
|
||||
bundled: true
|
||||
size: 1396
|
||||
sha1: "29a8661b29923bc329459ff2ec9ea43e6e0c6bdb"
|
||||
md5: "a196a1b5beb1ac9e0ef5fc9047a8f789"
|
||||
description: "Torch extraction table: accepted ROM hashes, their asset tree under assets/ymls/ and the output archive"
|
||||
source_ref: "src/port/GameExtractor.cpp:295-299, Torch src/Companion.cpp:1350-1354"
|
||||
note: "Read from the application bundle path during an extraction only, together with the assets/ymls tree. Without it no sm64.o2r is written and the port exits. Hash of the copy in Nautilus-Alfa-Win64.zip."
|
||||
unsourceable: "ships inside the Ghostship release, and a same-named file of another port must not stand in"
|
||||
|
||||
- name: "gamecontrollerdb.txt"
|
||||
path: "ghostship/gamecontrollerdb.txt"
|
||||
category: game_data
|
||||
system: ghostship
|
||||
required: false
|
||||
bundled: true
|
||||
size: 607874
|
||||
sha1: "48e5b33c476ad7a93d41e33b9d2ffcb82009dad2"
|
||||
md5: "2cccea5a3f80fbcbe7e8fb6d29e22a03"
|
||||
description: "SDL game controller mapping database"
|
||||
source_ref: "libultraship src/libultraship/libultra/os.cpp:21-27, CMakeLists.txt:998-999"
|
||||
note: "A load failure is logged and SDL keeps its built-in mappings. The build downloads it from gabomdq/SDL_GameControllerDB. Hash of the copy in Nautilus-Alfa-Win64.zip."
|
||||
unsourceable: "ships inside the Ghostship release, and other revisions under the same name must not stand in"
|
||||
@@ -0,0 +1,198 @@
|
||||
emulator: GnGeo-Pi
|
||||
type: standalone
|
||||
core_classification: community_fork
|
||||
source: "https://github.com/ymartel06/GnGeo-Pi"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "b94571c6097b67cfc9db5eaffb98cdc8bcb55c6e"
|
||||
core_version: "0.85"
|
||||
display_name: "SNK - Neo Geo (GnGeo-Pi)"
|
||||
mode: standalone
|
||||
cores:
|
||||
- gngeopi
|
||||
systems:
|
||||
- snk-neogeo-mvs
|
||||
- snk-neogeo-aes
|
||||
|
||||
notes: |
|
||||
Raspberry Pi build of Gngeo by Yannick Martel, imported as the Gngeo 0.8
|
||||
tree of Mathieu Peponas (gngeo/configure.in:3) and released as 0.85. The
|
||||
repository is not a git fork of any Gngeo history. RetroPie builds
|
||||
gngeo/, installs it to its own prefix and launches it with
|
||||
"-i $romdir/neogeo -B <prefix>/neogeobios".
|
||||
|
||||
-B sets biospath, an option the code defines and never reads. The BIOS
|
||||
archive is opened from rompath, the -i directory, as neogeo.zip. The same
|
||||
archive is opened as the parent of every game whose definition names
|
||||
neogeo as parent, and a missing parent ends the load.
|
||||
ref: gngeo/src/conf.c:416-425, gngeo/src/roms.c:1217-1235,1364-1375
|
||||
|
||||
Members of neogeo.zip are found by exact name only, dr_load_bios passing no
|
||||
CRC. 000-lo.lo is read for every game. The board fix layer is read as
|
||||
sfix.sfx then sfix.sfix, unless the game's definition loads it itself. The
|
||||
68K BIOS follows the system option (arcade by default) and the country
|
||||
option (europe by default): unibios reads uni-bios.rom from the archive or
|
||||
loose from rompath, home reads aes-bios.bin, and arcade reads vs-bios.rom,
|
||||
usa_2slt.bin, asia-s3.rom or sp-s2.sp1 for japan, usa, asia and any other
|
||||
country. A member that is not found ends the load.
|
||||
ref: gngeo/src/roms.c:1237-1308, gngeo/src/unzip.c:186-215,
|
||||
gngeo/src/conf.c:119-142, gngeo/src/emu.h:34-43
|
||||
|
||||
Game definitions come from gngeo_data.zip, the datafile installed to the
|
||||
package data directory, as rom/<game>.drv: 237 definitions, each giving the
|
||||
parent and every member with its region, size and CRC32. A game member is
|
||||
looked up by name or CRC32 in the game archive, then in the parent. A miss
|
||||
in the audio BIOS, fix BIOS or 68K BIOS regions is tolerated, any other miss
|
||||
ends the load. 58 definitions name a BIOS member: sfix.sfix (CRC32
|
||||
c2ea0cfd) in the fix BIOS region, sm1.sm1 (CRC32 94416d67) in the audio
|
||||
BIOS region for neogeo, irrmaze and the svc bootlegs, and board BIOS images
|
||||
that live in the game's own archive (236-bios.bin for irrmaze, 271-bios.bin
|
||||
for kf2k3pcb, sp-4x.sp1 for ms5pcb and svcpcb).
|
||||
ref: gngeo/src/resfile.c:70-117, gngeo/src/roms.c:1347-1362,1428-1460,
|
||||
gngeo/src/roms.h:8-17,25-40
|
||||
|
||||
The CMC42 and CMC50 key tables are read from the same datafile, the older
|
||||
direct reads from the author's home directory being commented out. The
|
||||
datafile also holds the menu skin.
|
||||
ref: gngeo/src/neocrypt.c:618-656, gngeo/src/menu.c:535-537
|
||||
|
||||
files:
|
||||
- name: "neogeo.zip"
|
||||
system: snk-neogeo-mvs
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "Neo Geo system ROMs"
|
||||
note: >-
|
||||
Opened from rompath, the ROM directory, for the BIOS and again as the
|
||||
parent archive of most games. Its absence ends the load with "Can't open
|
||||
BIOS". The container is never hashed.
|
||||
source_ref: "gngeo/src/roms.c:1224-1235,1364-1375"
|
||||
|
||||
- name: "000-lo.lo"
|
||||
archive: neogeo.zip
|
||||
system: snk-neogeo-mvs
|
||||
required: true
|
||||
description: "Zoom lookup table"
|
||||
note: "Read by name for every game, and a miss ends the load."
|
||||
source_ref: "gngeo/src/roms.c:1237-1241"
|
||||
|
||||
- name: "sfix.sfx"
|
||||
aliases: ["sfix.sfix"]
|
||||
archive: neogeo.zip
|
||||
system: snk-neogeo-mvs
|
||||
required: true
|
||||
size: 131072
|
||||
crc32: "c2ea0cfd"
|
||||
description: "Board fix layer tiles"
|
||||
note: >-
|
||||
Read as sfix.sfx then sfix.sfix, 0x20000 bytes converted. Skipped when the
|
||||
game definition lists sfix.sfix itself, which it then finds by name or by
|
||||
CRC32 c2ea0cfd. The CRC is the one the shipped definitions carry.
|
||||
source_ref: "gngeo/src/roms.c:1243-1258,1424-1428"
|
||||
|
||||
- name: "sp-s2.sp1"
|
||||
archive: neogeo.zip
|
||||
system: snk-neogeo-mvs
|
||||
required: true
|
||||
description: "MVS 68K BIOS, Europe"
|
||||
note: >-
|
||||
Default selection, arcade system with country europe or any value other
|
||||
than japan, usa and asia.
|
||||
source_ref: "gngeo/src/roms.c:1286-1307, gngeo/src/conf.c:416-417"
|
||||
|
||||
- name: "vs-bios.rom"
|
||||
archive: neogeo.zip
|
||||
system: snk-neogeo-mvs
|
||||
required: false
|
||||
description: "MVS 68K BIOS, Japan"
|
||||
note: "Read when the system is arcade and the country japan."
|
||||
source_ref: "gngeo/src/roms.c:1287-1290"
|
||||
|
||||
- name: "usa_2slt.bin"
|
||||
archive: neogeo.zip
|
||||
system: snk-neogeo-mvs
|
||||
required: false
|
||||
description: "MVS 68K BIOS, USA"
|
||||
note: "Read when the system is arcade and the country usa."
|
||||
source_ref: "gngeo/src/roms.c:1291-1293"
|
||||
|
||||
- name: "asia-s3.rom"
|
||||
archive: neogeo.zip
|
||||
system: snk-neogeo-mvs
|
||||
required: false
|
||||
description: "MVS 68K BIOS, Asia"
|
||||
note: "Read when the system is arcade and the country asia."
|
||||
source_ref: "gngeo/src/roms.c:1294-1296"
|
||||
|
||||
- name: "aes-bios.bin"
|
||||
archive: neogeo.zip
|
||||
system: snk-neogeo-aes
|
||||
required: false
|
||||
description: "AES 68K BIOS"
|
||||
note: "Read when the system option is home."
|
||||
source_ref: "gngeo/src/roms.c:1284-1285"
|
||||
|
||||
- name: "uni-bios.rom"
|
||||
archive: neogeo.zip
|
||||
system: snk-neogeo-mvs
|
||||
required: false
|
||||
size: 131072
|
||||
description: "Universe BIOS"
|
||||
note: >-
|
||||
Read when the system option is unibios, first from neogeo.zip, then as a
|
||||
loose file in rompath of which 0x20000 bytes are read. Any Universe BIOS
|
||||
release renamed to uni-bios.rom is accepted.
|
||||
source_ref: "gngeo/src/roms.c:1261-1281"
|
||||
|
||||
- name: "sm1.sm1"
|
||||
archive: neogeo.zip
|
||||
system: snk-neogeo-mvs
|
||||
required: false
|
||||
size: 131072
|
||||
crc32: "94416d67"
|
||||
description: "Audio board BIOS"
|
||||
note: >-
|
||||
Listed in the audio BIOS region by the neogeo, irrmaze, svcboot,
|
||||
svcplus, svcplusa and svcsplus definitions. A miss in that region is
|
||||
tolerated.
|
||||
source_ref: "gngeo/src/roms.c:1438-1456, gngeo/src/roms.h:8"
|
||||
|
||||
- name: "gngeo_data.zip"
|
||||
system: snk-neogeo-mvs
|
||||
required: true
|
||||
bundled: true
|
||||
category: game_data
|
||||
size: 220778
|
||||
sha1: "91575955d0ac81735064256d0f5ac1850387bd71"
|
||||
md5: "60f938bb73e1512c2904924c1971fc56"
|
||||
description: "Romset definitions, CMC key tables and menu skin"
|
||||
note: >-
|
||||
Installed to the package data directory by make install and named by the
|
||||
datafile option. Without a definition for the game the load ends with
|
||||
"Can't find rom driver".
|
||||
source_ref: "gngeo/src/conf.c:425, gngeo/src/resfile.c:70-117, gngeo/src/roms.c:1355-1360, gngeo/gngeo.dat/Makefile.am:1-2"
|
||||
|
||||
- name: "cmc42.xor"
|
||||
path: "rom/cmc42.xor"
|
||||
archive: gngeo_data.zip
|
||||
system: snk-neogeo-mvs
|
||||
required: true
|
||||
bundled: true
|
||||
category: game_data
|
||||
size: 2304
|
||||
crc32: "86af55af"
|
||||
sha1: "4b1b4ba452735c55b39d215d926a5d9a55fec754"
|
||||
description: "CMC42 graphics decryption key tables"
|
||||
source_ref: "gngeo/src/neocrypt.c:618-636"
|
||||
|
||||
- name: "cmc50.xor"
|
||||
path: "rom/cmc50.xor"
|
||||
archive: gngeo_data.zip
|
||||
system: snk-neogeo-mvs
|
||||
required: true
|
||||
bundled: true
|
||||
category: game_data
|
||||
size: 2816
|
||||
crc32: "eb67fc2d"
|
||||
sha1: "e947c634549a63a746725a1330df7ae778dde305"
|
||||
description: "CMC50 graphics and M1 decryption key tables"
|
||||
source_ref: "gngeo/src/neocrypt.c:637-656"
|
||||
@@ -0,0 +1,82 @@
|
||||
emulator: Jynx
|
||||
type: standalone
|
||||
core_classification: other
|
||||
source: "https://github.com/jonathan-markland/Jynx"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "c1247f2c957b78d3ca6f2b814ee346a298f3573c"
|
||||
core_version: "1.0.8"
|
||||
display_name: "Camputers - Lynx (Jynx)"
|
||||
cores:
|
||||
- jynx
|
||||
systems:
|
||||
- camplynx
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Camputers Lynx 48K and 96K emulator for Windows by Jonathan Markland.
|
||||
RetroBat installs Jynx-Windows-64bit.exe with file version 1.0.8.0 and a PE
|
||||
link time of 2014-09-16 20:11 UTC, twenty minutes after the commit that sets
|
||||
the version to 1.0.8 (c1247f2). The v1.0.8a tag two days later only changes
|
||||
6845 port handling.
|
||||
|
||||
At startup LoadROMS reads all six chip images, whichever model is selected
|
||||
(Portable/LynxEmulatorGuest.cpp:166-177). The Windows host opens each one by
|
||||
its fixed leaf name in the folder of the executable
|
||||
(ForWindows/MainForm.cpp:719-742). Load8KBChipFile accepts a file only when
|
||||
it is exactly 8192 bytes, and a missing or differently sized file throws "One
|
||||
or more of the ROM files are missing", which ends the program
|
||||
(Portable/LynxEmulatorGuest.cpp:181-209). No checksum is computed.
|
||||
|
||||
The 96K third ROM is a 4 KB chip on the board (lynx9644.ic44), so the 8192
|
||||
byte lynx96-3.rom is that dump followed by 4 KB of padding.
|
||||
JynxEmulatorSettings.config is written by the program and read back,
|
||||
snapshots and TAP files are user content.
|
||||
|
||||
files:
|
||||
- name: lynx48-1.rom
|
||||
system: camplynx
|
||||
required: true
|
||||
size: 8192
|
||||
validation: [size]
|
||||
description: "Lynx 48K ROM 1, at 0x0000"
|
||||
source_ref: "ForWindows/MainForm.cpp:719-742, Portable/LynxEmulatorGuest.cpp:171, 181-209"
|
||||
|
||||
- name: lynx48-2.rom
|
||||
system: camplynx
|
||||
required: true
|
||||
size: 8192
|
||||
validation: [size]
|
||||
description: "Lynx 48K ROM 2, at 0x2000"
|
||||
source_ref: "ForWindows/MainForm.cpp:719-742, Portable/LynxEmulatorGuest.cpp:172, 181-209"
|
||||
|
||||
- name: lynx96-1.rom
|
||||
system: camplynx
|
||||
required: true
|
||||
size: 8192
|
||||
validation: [size]
|
||||
description: "Lynx 96K ROM 1, at 0x0000"
|
||||
source_ref: "ForWindows/MainForm.cpp:719-742, Portable/LynxEmulatorGuest.cpp:173, 181-209"
|
||||
|
||||
- name: lynx96-2.rom
|
||||
system: camplynx
|
||||
required: true
|
||||
size: 8192
|
||||
validation: [size]
|
||||
description: "Lynx 96K ROM 2, at 0x2000"
|
||||
source_ref: "ForWindows/MainForm.cpp:719-742, Portable/LynxEmulatorGuest.cpp:174, 181-209"
|
||||
|
||||
- name: lynx96-3.rom
|
||||
system: camplynx
|
||||
required: true
|
||||
size: 8192
|
||||
validation: [size]
|
||||
description: "Lynx 96K ROM 3, at 0x4000"
|
||||
source_ref: "ForWindows/MainForm.cpp:719-742, Portable/LynxEmulatorGuest.cpp:175, 181-209"
|
||||
|
||||
- name: lynx96-3-scorpion.rom
|
||||
system: camplynx
|
||||
required: true
|
||||
size: 8192
|
||||
validation: [size]
|
||||
description: "Scorpion ROM v2.1 for the Lynx 96K, replaces ROM 3"
|
||||
source_ref: "ForWindows/MainForm.cpp:719-742, Portable/LynxEmulatorGuest.cpp:176, 181-209"
|
||||
@@ -0,0 +1,88 @@
|
||||
emulator: jzIntv
|
||||
type: standalone
|
||||
core_classification: other
|
||||
source: "http://spatula-city.org/~im14u2c/intv/"
|
||||
upstream: "http://spatula-city.org/~im14u2c/intv/"
|
||||
version_source:
|
||||
url: "http://spatula-city.org/~im14u2c/intv/"
|
||||
pattern: 'jzintv-(\d{8})-src\.zip'
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "20200712"
|
||||
display_name: "Mattel - Intellivision (jzIntv)"
|
||||
cores:
|
||||
- jzintv
|
||||
systems:
|
||||
- intellivision
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Intellivision emulator by Joe Zbiciak, published as dated archives on
|
||||
the author's site rather than a public repository. Profiled from
|
||||
jzintv-20200712-src.zip (release notes for SVN r2110). RetroPie builds
|
||||
that archive from its own mirror (scriptmodules/emulators/jzintv.sh).
|
||||
RetroBat ships jzintv.exe from the official jzintv-20200712-win32-sdl1.zip,
|
||||
byte for byte (sha1 e666df50), which reports SVN revision 2108.
|
||||
|
||||
The EXEC, GROM and ECS names default to exec.bin, grom.bin and ecs.bin
|
||||
(cfg/cfg.c:625-628) and are overridden by -e, -g and -E
|
||||
(cfg/cfg.c:687-689). Each is opened through path_fopen on the ROM search
|
||||
path, built from --rom-path, then JZINTV_ROM_PATH, then DEFAULT_ROM_PATH
|
||||
(cfg/cfg.c:870, 917-920), which is the current directory and ../rom on
|
||||
Windows and Linux (config.h:239, 288). RetroPie passes
|
||||
--rom-path=$biosdir. RetroBat passes the full path of exec.bin and
|
||||
grom.bin in its bios folder with -e and -g, refuses to start when either
|
||||
is missing, and adds -E with ecs.bin only when the jzintv_useECS option
|
||||
is set and the file exists (emulatorLauncher/Generators/Jzintv.Generator.cs).
|
||||
|
||||
No hash is checked on any of the three images. The read length is the
|
||||
only gate, and the size of exec.bin picks the machine: 8192 bytes is the
|
||||
original EXEC, 8704 bytes the Intellivision II EXEC2 with its extra 256
|
||||
words at $0400, 16384 bytes the INTV88 / TutorVision WBEXEC
|
||||
(cfg/cfg.c:1114-1150).
|
||||
|
||||
The Intellivoice SP0256-012 mask ROM is compiled in (ivoice/ivoice.c:511,
|
||||
1958). ivoice_init also tries sp0256_0.bin to sp0256_F.bin in the current
|
||||
directory for extra speech ROM pages (ivoice/ivoice.c:1498-1539,
|
||||
2005-2012). No released hardware needs one, and a missing page is
|
||||
skipped silently.
|
||||
|
||||
Palette files (--gfx-palette, cfg/cfg.c:965-985) and keyboard hack files
|
||||
(--kbdhackfile, cfg/cfg.c:135-140) are user configuration. RetroBat
|
||||
writes its own keyboard hack file from the controller mapping. Cartridge
|
||||
metadata is matched against a compiled-in table by CRC32 of the game
|
||||
(cfg/cfg.c:1280-1295).
|
||||
|
||||
files:
|
||||
- name: exec.bin
|
||||
system: intellivision
|
||||
required: true
|
||||
min_size: 8192
|
||||
validation: [size]
|
||||
description: "Executive ROM, 4K 16-bit words at $1000"
|
||||
source_ref: "cfg/cfg.c:625, 688, 1114-1150"
|
||||
note: >-
|
||||
A missing file or fewer than 8192 bytes stops the emulator. 8704 and
|
||||
16384 byte images select the Intellivision II and TutorVision
|
||||
variants.
|
||||
|
||||
- name: grom.bin
|
||||
system: intellivision
|
||||
required: true
|
||||
min_size: 2048
|
||||
validation: [size]
|
||||
description: "Graphics ROM, 2K bytes at $3000"
|
||||
source_ref: "cfg/cfg.c:626, 689, 1152-1161"
|
||||
note: "A missing file or fewer than 2048 bytes stops the emulator."
|
||||
|
||||
- name: ecs.bin
|
||||
system: intellivision
|
||||
required: false
|
||||
min_size: 24576
|
||||
validation: [size]
|
||||
description: "Entertainment Computer System ROM, 12K 16-bit words"
|
||||
source_ref: "cfg/cfg.c:628, 687, 1312-1318, 1356-1385"
|
||||
note: >-
|
||||
Read only when ECS support is on, from -s1 or from cartridge metadata
|
||||
that marks the game as using the ECS. For a game merely enhanced by
|
||||
the ECS a missing file turns ECS support off. For a game that requires
|
||||
it, or with -s1, the emulator stops.
|
||||
@@ -0,0 +1,148 @@
|
||||
emulator: Kega Fusion
|
||||
type: standalone
|
||||
core_classification: other
|
||||
source: "https://www.carpeludum.com/kega-fusion/"
|
||||
upstream: closed-source
|
||||
author: "Steve Snake"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "3.64"
|
||||
display_name: "Sega - Master System / Mega Drive / Mega CD / 32X (Kega Fusion)"
|
||||
cores:
|
||||
- kega-fusion
|
||||
systems:
|
||||
- sega-megadrive
|
||||
- sega-megacd
|
||||
- sega-32x
|
||||
- sega-mastersystem
|
||||
- sega-gamegear
|
||||
- sega-sg1000
|
||||
- sega-sf7000
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Sega 8 and 16-bit emulator by Steve Snake, distributed as a closed Windows
|
||||
binary. The build read is Fusion.exe 3.64 (NOMAPLE), dated 6 March 2010,
|
||||
sha1 4842ddbfbdfeb909b134f28ce25f02ab59b38453, the copy RetroBat installs as
|
||||
kega-fusion (version 0.10.03.06). The executable is not packed, offsets
|
||||
below are virtual addresses in it.
|
||||
|
||||
Every system ROM is a path stored in Fusion.ini, kept in a settings table
|
||||
of key name, buffer and type (0x5b16a8-0x5b1d10): SMSUSABIOS, SMSJAPBIOS,
|
||||
SMSEURBIOS, GGBIOS, SF7000IPL, GenesisBIOS, SCDUSABIOS, SCDJAPBIOS,
|
||||
SCDEURBIOS, 32XM68KBIOS, 32XMSH2BIOS and 32XSSH2BIOS. Before the ini is
|
||||
read the 8-bit, SF-7000 and Genesis paths are cleared (0x44b3ed-0x44b40b)
|
||||
and the Mega CD and 32X ones get defaults: C:\SegaCDBIOS\us_scd1_9210.bin,
|
||||
jp_mcd1_9111.bin and eu_mcd1_9210.bin, and c:\32XBios\32X_G_BIOS.bin,
|
||||
32X_M_BIOS.bin and 32X_S_BIOS.bin (0x44b662-0x44b74d). Those are the only
|
||||
file names the binary fixes. Each file is opened with fopen "rb" and read
|
||||
with a fixed count, no length, checksum or header is compared.
|
||||
|
||||
RetroBat's generator writes SCDEURBIOS, SCDUSABIOS and SCDJAPBIOS as
|
||||
bios_CD_E.bin, bios_CD_U.bin and bios_CD_J.bin, and the three 32X keys as
|
||||
32X_G_BIOS.BIN, 32X_M_BIOS.BIN and 32X_S_BIOS.BIN in its bios folder, each
|
||||
only when the file exists. GenesisBIOS receives the bios folder itself, so
|
||||
the fopen fails and no TMSS ROM is loaded. The 8-bit keys are not written.
|
||||
ref: emulatorlauncher Generators/KegaFusion.Generator.cs:99-128
|
||||
|
||||
CDTray.raw, Cursor_8.raw, STATIC_8.RAW and gg_nor.all are looked up by name
|
||||
in an archive embedded in the executable (0x47a530), not on disk. Plugins
|
||||
(*.rpi) and the KGV1 video codec ship with the program. Fusion.ini, battery
|
||||
saves (.srm, .brm, .crm) and states are written by the program.
|
||||
|
||||
files:
|
||||
- name: us_scd1_9210.bin
|
||||
aliases: [bios_CD_U.bin]
|
||||
system: sega-megacd
|
||||
region: [north-america]
|
||||
required: true
|
||||
description: "Sega CD (USA) boot ROM"
|
||||
note: "Opened from SCDUSABIOS when a disc starts in the USA region and read as 128 KB. A failed open shows \"Please configure USA BIOS in OPTIONS->SET CONFIG->SEGA CD\" under the title \"BIOS Not Found\" and writes 60 FE, a branch to itself, at the reset vector, so nothing boots."
|
||||
source_ref: "Fusion.exe 0x44b662-0x44b670 (default path), 0x478877-0x4788d6 (open, message, fread 0x20000)"
|
||||
|
||||
- name: jp_mcd1_9111.bin
|
||||
aliases: [bios_CD_J.bin]
|
||||
system: sega-megacd
|
||||
region: [japan]
|
||||
required: true
|
||||
description: "Mega CD (Japan) boot ROM"
|
||||
note: "Opened from SCDJAPBIOS for the Japanese region, same 128 KB read and same lock when it is missing, with the JAP message."
|
||||
source_ref: "Fusion.exe 0x44b676 (default path), 0x4788f9-0x478959 (open, message, fread 0x20000)"
|
||||
|
||||
- name: eu_mcd1_9210.bin
|
||||
aliases: [bios_CD_E.bin]
|
||||
system: sega-megacd
|
||||
region: [europe]
|
||||
required: true
|
||||
description: "Mega CD (Europe) boot ROM"
|
||||
note: "Opened from SCDEURBIOS for the European region, same 128 KB read and same lock when it is missing, with the EUR message."
|
||||
source_ref: "Fusion.exe 0x44b68a (default path), 0x478979-0x4789d6 (open, message, fread 0x20000)"
|
||||
|
||||
- name: 32X_G_BIOS.bin
|
||||
system: sega-32x
|
||||
required: false
|
||||
hle_fallback: true
|
||||
description: "32X 68000 BIOS"
|
||||
note: "First 256 bytes read from 32XM68KBIOS. When any of the three 32X files fails to open, the loaded images are discarded and replacement code held in the executable is copied over all three areas."
|
||||
source_ref: "Fusion.exe 0x44b718-0x44b724 (default path), 0x4c81ae-0x4c81ed (fread 0x100), 0x4c8287-0x4c833c (built-in replacement)"
|
||||
|
||||
- name: 32X_M_BIOS.bin
|
||||
system: sega-32x
|
||||
required: false
|
||||
hle_fallback: true
|
||||
description: "32X master SH-2 BIOS"
|
||||
note: "2 KB read from 32XMSH2BIOS. Same all-or-nothing replacement as the 68000 BIOS."
|
||||
source_ref: "Fusion.exe 0x44b730-0x44b73c (default path), 0x4c81f1-0x4c8238 (fread 0x800), 0x4c8287-0x4c833c"
|
||||
|
||||
- name: 32X_S_BIOS.bin
|
||||
system: sega-32x
|
||||
required: false
|
||||
hle_fallback: true
|
||||
description: "32X slave SH-2 BIOS"
|
||||
note: "1 KB read from 32XSSH2BIOS. Same all-or-nothing replacement as the 68000 BIOS."
|
||||
source_ref: "Fusion.exe 0x44b743-0x44b74d (default path), 0x4c823c-0x4c8283 (fread 0x400), 0x4c8287-0x4c833c"
|
||||
|
||||
- name: bios_MD.bin
|
||||
system: sega-megadrive
|
||||
required: false
|
||||
description: "Mega Drive TMSS boot ROM"
|
||||
note: "Read as 2 KB from GenesisBIOS when that path is set, and skipped when the open fails. The code fixes no file name, the user picks it in the Genesis settings."
|
||||
source_ref: "Fusion.exe 0x46eaf3-0x46eb4c"
|
||||
|
||||
- name: bios_U.sms
|
||||
system: sega-mastersystem
|
||||
region: [north-america]
|
||||
required: false
|
||||
description: "Master System (USA) boot ROM"
|
||||
note: "Read from SMSUSABIOS, up to 512 KB, for the USA region unless SMSBIOSDisable is set. A missing file leaves the cartridge to start directly. No file name is fixed by the code."
|
||||
source_ref: "Fusion.exe 0x47d541-0x47d5b9"
|
||||
|
||||
- name: bios_J.sms
|
||||
system: sega-mastersystem
|
||||
region: [japan]
|
||||
required: false
|
||||
description: "Master System (Japan) boot ROM"
|
||||
note: "Read from SMSJAPBIOS for the Japanese region, same rules as the USA image."
|
||||
source_ref: "Fusion.exe 0x47d5bb-0x47d60a"
|
||||
|
||||
- name: bios_E.sms
|
||||
system: sega-mastersystem
|
||||
region: [europe]
|
||||
required: false
|
||||
description: "Master System (Europe) boot ROM"
|
||||
note: "Read from SMSEURBIOS for the European region, same rules as the USA image."
|
||||
source_ref: "Fusion.exe 0x47d60c-0x47d659"
|
||||
|
||||
- name: bios.gg
|
||||
system: sega-gamegear
|
||||
required: false
|
||||
description: "Game Gear boot ROM"
|
||||
note: "Read from GGBIOS, up to 512 KB, in Game Gear mode unless SMSBIOSDisable is set, and skipped when the open fails. No file name is fixed by the code."
|
||||
source_ref: "Fusion.exe 0x47d65b-0x47d6a8"
|
||||
|
||||
- name: SF7000.ROM
|
||||
system: sega-sf7000
|
||||
required: false
|
||||
size: 8192
|
||||
description: "Sega SF-7000 IPL"
|
||||
note: "Read as 8 KB from SF7000IPL when the SF-7000 is emulated and mirrored to fill 16 KB. A missing file is skipped without a message. No file name is fixed by the code."
|
||||
source_ref: "Fusion.exe 0x47d4c8-0x47d52f"
|
||||
@@ -0,0 +1,375 @@
|
||||
emulator: Linux Loader
|
||||
type: standalone
|
||||
core_classification: embedded_hle
|
||||
source: "https://github.com/lindbergh-loader/linuxloader"
|
||||
upstream: "https://github.com/lindbergh-loader/linuxloader"
|
||||
source_commit: "9aa6e3e45ccfbbc60eb0f975aa9d3d158a13706c"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "3.0.12"
|
||||
display_name: "Sega - Lindbergh (Linux Loader)"
|
||||
cores:
|
||||
- linuxloader
|
||||
systems:
|
||||
- sega-lindbergh
|
||||
mode: standalone
|
||||
notes: |
|
||||
The successor of Lindbergh Loader from the same team, in a repository of its
|
||||
own, built for Linux and for 32-bit Windows. RetroBat installs the Windows
|
||||
release as linuxloader.exe with an ll-deps folder beside it
|
||||
(emulatorlauncher Installer.cs:85, emulatorlauncher Program.cs:114) and
|
||||
runs it from that folder with -g <game>/disk0[/<launcher>], plus -c, -o and -d for the
|
||||
configuration, controls and controller database files it writes there
|
||||
(emulatorlauncher Linuxloader.Generator.cs:144-181, 196-213).
|
||||
|
||||
On Linux the launcher puts linuxloader.so in LD_PRELOAD, found in /app/lib32,
|
||||
the AppImage lib32, the -L directory, ll-deps, the loader directory, then the
|
||||
system 32-bit library folders, and runs the game ELF
|
||||
(src/loader/mainShared.c:355-380, 1149-1168). On Windows there is no Linux
|
||||
runtime at all. src/loader/elfLoader maps the game ELF itself and resolves
|
||||
every DT_NEEDED library through SymbolResolver
|
||||
(src/loader/elfLoader/symbolResolver.cpp:249-371). Libraries listed in
|
||||
src/loader/elfLoader/elfLoader.cpp:360-401 are answered by a Windows DLL
|
||||
(libCg.so by Cg.dll, libCgGL.so by CgGL.dll, libopenal.so.0 and .1 by
|
||||
openal32.dll, libz.so.1 by zlib1.dll, libgcc_s.so.1 by libgcc_s_dw2-1.dll)
|
||||
or by the loader's own bridges (libc, libpthread, libGL, libasound, X11,
|
||||
libsegaapi, libkswapapi and the rest marked INTERNAL). Any other library is
|
||||
loaded as a native 32-bit Linux shared object from the search path: the
|
||||
executable folder, ll-deps, the -L directory, the game folder, its lib
|
||||
subfolder, ../dso/q2satl_lind/release and data/drv/cri/lindbergh/libs
|
||||
(symbolResolver.cpp:153-226). A missing libstdc++ ends the run, any other
|
||||
missing library is logged and its symbols stay unresolved
|
||||
(symbolResolver.cpp:364-371). The Windows release ships these as ll-deps,
|
||||
copied from libs/win32/ll-deps plus the MinGW libgcc_s_dw2-1.dll
|
||||
(scripts/windows/windows-build.sh:6-7).
|
||||
|
||||
The Lindbergh hardware is emulated in the loader with no firmware file.
|
||||
The fopen hooks answer /dev/zero or NUL for the baseboard, EEPROM, serial
|
||||
ports and PCI config space (src/loader/redirections/filesystemShared.c:200-280,
|
||||
319-420). eeprom.bin is opened from the working directory and created when
|
||||
absent (src/loader/hardware/lindbergh/eepromSettings.c:251-256), sram.bin
|
||||
defaults to the working directory and is created on first open
|
||||
(src/loader/config/config.c:133-134, hardware/lindbergh/baseBoard.c:64-78),
|
||||
and card reader files InidCrd%03d.crd or InidCard%02d.crd are written from
|
||||
scratch (hardware/lindbergh/cardReader.c:249-253, 386-397). linuxloader.ini
|
||||
and controls.ini are optional, each falling back to built-in defaults
|
||||
(src/loader/mainShared.c:945-1020).
|
||||
|
||||
Shaders come from the game dump. The Cg 2.0 runtime is loaded only for the
|
||||
titles whose patches recompile them: Harley-Davidson, Quiz Answer x Answer,
|
||||
Rambo, The House of the Dead EX and Too Spicy
|
||||
(src/loader/patching/patch.c:527, 2553, 2587, 2621, 2655, 3090, 3156).
|
||||
Primeval Hunt runs through Mesa's Zink driver by default
|
||||
(PRIMEVAL_HUNT_USE_ZINK, src/loader/config/config.c:166, 387).
|
||||
|
||||
The boot logos and console fonts are compiled in. resources/lindberghLogo.h
|
||||
and resources/font.h carry the same bytes as the Lindbergh Loader
|
||||
built-ins (sha1 c800e91a, 9a888a49, 6fcc3fff and e0814d3d). The originals
|
||||
are read from the game folder only with DISABLE_BUILTIN_LOGOS or
|
||||
DISABLE_BUILTIN_FONT (src/loader/config/config.c:167-168, 372-373).
|
||||
|
||||
files:
|
||||
# -- NVIDIA Cg runtime --
|
||||
- name: libCg2.so
|
||||
system: sega-lindbergh
|
||||
required: true
|
||||
bundled: true
|
||||
size: 3314624
|
||||
sha1: "23b85ca78122d862553c1b54200158cbccf30d65"
|
||||
validation: [signature]
|
||||
description: "NVIDIA Cg 2.0.0.12 runtime used to recompile the game shaders, Linux build"
|
||||
source_ref: "src/loader/graphics/shaderPatches.c:1157-1264, src/loader/graphics/shaderPatches.c:1266-1285"
|
||||
note: >-
|
||||
Searched at LIBCG_PATH, then $LINUX_LOADER_CURRENT_DIR/ll-deps/libCg2.so,
|
||||
$LINUX_LOADER_CURRENT_DIR/libCg2.so, $LINUX_LOADER_DEPS_PATH/libCg2.so,
|
||||
/app/lib32/libCg2.so and the AppImage lib32. The loader reads 8 bytes at
|
||||
0x226d84 and requires "2.0.0.12". A missing file or another version ends
|
||||
the run for the titles that recompile shaders. Upstream vendors it as
|
||||
libs/linux_x86/libCg.so and the build scripts copy it as libCg2.so
|
||||
(scripts/linux/make-linux.sh:8, scripts/appimage/make-appimage.sh:132).
|
||||
- name: cg2.dll
|
||||
system: sega-lindbergh
|
||||
required: true
|
||||
bundled: true
|
||||
size: 2445312
|
||||
sha1: "44459da64df180900a483fecc1128e775634de1e"
|
||||
unsourceable: "ships in ll-deps of the Windows release, vendored in libs/win32/ll-deps, and is not collected"
|
||||
description: "NVIDIA Cg 2.0 runtime used to recompile the game shaders, Windows build"
|
||||
source_ref: "src/loader/graphics/shaderPatches.c:1266-1285, libs/win32/ll-deps/cg2.dll"
|
||||
note: >-
|
||||
LoadLibraryA("cg2.dll") through the default DLL directories, which
|
||||
include ll-deps. Failure to load it or to find cgCreateContext and the
|
||||
other entry points ends the run. No version check on this build.
|
||||
- name: libCg.so
|
||||
system: sega-lindbergh
|
||||
required: true
|
||||
bundled: true
|
||||
size: 11841940
|
||||
sha1: "9637cd9d774db008018851ab0889701d3dd74df4"
|
||||
description: "NVIDIA Cg 3.1 runtime linked by the game binaries, Linux build"
|
||||
source_ref: "src/loader/mainShared.c:488-604, scripts/linux/make-linux.sh:7"
|
||||
note: >-
|
||||
Resolved by the dynamic linker for the game ELF. Upstream ships it in
|
||||
libs/linux_x86/Cg-3.1.zip, unpacked into ll-deps.
|
||||
- name: libCgGL.so
|
||||
system: sega-lindbergh
|
||||
required: true
|
||||
bundled: true
|
||||
size: 465532
|
||||
sha1: "b2ca278a7c4dd446ce1b16d90e24648b9d2b819e"
|
||||
description: "NVIDIA Cg 3.1 OpenGL runtime linked by the game binaries, Linux build"
|
||||
source_ref: "src/loader/mainShared.c:488-604, scripts/linux/make-linux.sh:7"
|
||||
note: "Same origin and mechanism as libCg.so."
|
||||
- name: cg.dll
|
||||
system: sega-lindbergh
|
||||
required: true
|
||||
bundled: true
|
||||
size: 8531264
|
||||
sha1: "e7da9515c4b2cd3894f018e3ff63d2ce7f4a094c"
|
||||
unsourceable: "ships in ll-deps of the Windows release, vendored in libs/win32/ll-deps, and is not collected"
|
||||
description: "NVIDIA Cg runtime answering libCg.so on Windows"
|
||||
source_ref: "src/loader/elfLoader/elfLoader.cpp:362, src/loader/elfLoader/symbolResolver.cpp:262-300"
|
||||
note: >-
|
||||
The game ELF's libCg.so is mapped to Cg.dll and looked up in the search
|
||||
path, ll-deps included, then by LoadLibraryA.
|
||||
- name: cgGL.dll
|
||||
system: sega-lindbergh
|
||||
required: true
|
||||
bundled: true
|
||||
size: 359232
|
||||
sha1: "5b98e1e973873ef47b337161e67b590286410dbb"
|
||||
unsourceable: "ships in ll-deps of the Windows release, vendored in libs/win32/ll-deps, and is not collected"
|
||||
description: "NVIDIA Cg OpenGL runtime answering libCgGL.so on Windows"
|
||||
source_ref: "src/loader/elfLoader/elfLoader.cpp:363, src/loader/elfLoader/symbolResolver.cpp:262-300"
|
||||
note: "The game ELF's libCgGL.so is mapped to CgGL.dll, found the same way as cg.dll."
|
||||
|
||||
# -- Linux libraries the game binaries link --
|
||||
- name: libstdc++.so.5
|
||||
system: sega-lindbergh
|
||||
required: true
|
||||
bundled: true
|
||||
size: 761316
|
||||
sha1: "c3480f87336de0407490f4776d78c2baf9d3d965"
|
||||
unsourceable: "ships in ll-deps of the Windows release, vendored in libs/win32/ll-deps, and is not collected"
|
||||
description: "GNU C++ runtime 5 linked by the older game binaries"
|
||||
source_ref: "src/loader/elfLoader/symbolResolver.cpp:302-371, libs/win32/ll-deps/libstdc++.so.5"
|
||||
note: >-
|
||||
On Windows loaded as a native Linux shared object from the search path.
|
||||
A game that needs it and does not find it stops with "Critical library
|
||||
not found". On Linux it comes from the system, and the Linux build
|
||||
script copies the host's copy into ll-deps (scripts/linux/make-linux.sh:14).
|
||||
- name: libstdc++.so.6
|
||||
system: sega-lindbergh
|
||||
required: true
|
||||
bundled: true
|
||||
size: 4045434
|
||||
sha1: "5ccc8d96d9de310a597a98cc57947b0bcdcbe238"
|
||||
unsourceable: "ships in ll-deps of the Windows release, vendored in libs/win32/ll-deps, and is not collected"
|
||||
description: "GNU C++ runtime 6 linked by the newer game binaries"
|
||||
source_ref: "src/loader/elfLoader/symbolResolver.cpp:302-371, libs/win32/ll-deps/libstdc++.so.6"
|
||||
note: "Same handling as libstdc++.so.5 on Windows. On Linux the system copy is used."
|
||||
- name: libncurses.so.5
|
||||
system: sega-lindbergh
|
||||
required: false
|
||||
bundled: true
|
||||
size: 161188
|
||||
sha1: "1dd354eb156031d848e947df070d0b436647bfef"
|
||||
unsourceable: "ships in ll-deps of the Windows release, vendored in libs/win32/ll-deps, and is not collected"
|
||||
description: "ncurses 5 linked by some game binaries"
|
||||
source_ref: "src/loader/elfLoader/symbolResolver.cpp:302-371, libs/win32/ll-deps/libncurses.so.5"
|
||||
note: >-
|
||||
Loaded as a native shared object on Windows. A missing copy is logged and
|
||||
the symbols it would provide stay unresolved.
|
||||
- name: libpcsclite.so.1
|
||||
system: sega-lindbergh
|
||||
required: false
|
||||
bundled: true
|
||||
size: 50588
|
||||
sha1: "152c306568e1761981ffaa31f030859fe6eb3ec5"
|
||||
unsourceable: "ships in ll-deps of the Windows release, vendored in libs/win32/ll-deps, and is not collected"
|
||||
description: "PC/SC smart card library linked by the card reader titles"
|
||||
source_ref: "src/loader/elfLoader/symbolResolver.cpp:302-371, libs/win32/ll-deps/libpcsclite.so.1"
|
||||
note: "Loaded as a native shared object on Windows, missing copy logged."
|
||||
- name: libcrypto.so.0.9.7
|
||||
system: sega-lindbergh
|
||||
required: false
|
||||
bundled: true
|
||||
size: 1043780
|
||||
sha1: "0ee8ed2a8fb49926b96f1e5237f573dcfb8ed67e"
|
||||
description: "OpenSSL 0.9.7 crypto library linked by the networked games"
|
||||
source_ref: "src/loader/elfLoader/symbolResolver.cpp:302-371, scripts/linux/make-linux.sh:10"
|
||||
note: >-
|
||||
Same bytes in libs/linux_x86 and libs/win32/ll-deps. Resolved by the
|
||||
dynamic linker on Linux and loaded as a native shared object on Windows.
|
||||
Shipped in ll-deps of both release archives and in the AppImage.
|
||||
- name: libssl.so.0.9.7
|
||||
system: sega-lindbergh
|
||||
required: false
|
||||
bundled: true
|
||||
size: 852432
|
||||
sha1: "60c2838da6cd97810ff11c5c7e7fdc203a4c2762"
|
||||
description: "OpenSSL 0.9.7 TLS library linked by the networked games"
|
||||
source_ref: "src/loader/elfLoader/symbolResolver.cpp:302-371, scripts/linux/make-linux.sh:11"
|
||||
note: "Paired with libcrypto.so.0.9.7, same bytes in both upstream folders, and shipped with it in both release archives and the AppImage."
|
||||
- name: libopenal.so.0
|
||||
system: sega-lindbergh
|
||||
required: false
|
||||
bundled: true
|
||||
size: 649860
|
||||
sha1: "91d69bba438f321d6e3ebb60b3e89b1edd63de17"
|
||||
description: "OpenAL runtime preloaded for Quiz Answer x Answer, Linux build"
|
||||
source_ref: "src/loader/mainShared.c:32, src/loader/mainShared.c:1160-1166"
|
||||
note: >-
|
||||
When the ELF is q2satl_lind the launcher looks it up with
|
||||
findPreloadLibrary and adds it to LD_PRELOAD. Absent, it prints that
|
||||
sound may be missing and the game runs. Shipped in ll-deps of the Linux archive
|
||||
and in the AppImage.
|
||||
- name: openal32.dll
|
||||
system: sega-lindbergh
|
||||
required: false
|
||||
bundled: true
|
||||
size: 845045
|
||||
sha1: "b33c59e506e44c8d79e812794bcde858772bc6d2"
|
||||
unsourceable: "ships in ll-deps of the Windows release, vendored in libs/win32/ll-deps, and is not collected"
|
||||
description: "OpenAL runtime answering libopenal.so.0 and .1 on Windows"
|
||||
source_ref: "src/loader/elfLoader/elfLoader.cpp:360-361, libs/win32/ll-deps/openal32.dll"
|
||||
- name: zlib1.dll
|
||||
system: sega-lindbergh
|
||||
required: false
|
||||
bundled: true
|
||||
size: 85504
|
||||
sha1: "4861e064669c9c9c8f910431a7812feb32b32c63"
|
||||
unsourceable: "ships in ll-deps of the Windows release, vendored in libs/win32/ll-deps, and is not collected"
|
||||
description: "zlib answering libz.so.1 on Windows"
|
||||
source_ref: "src/loader/elfLoader/elfLoader.cpp:365, libs/win32/ll-deps/zlib1.dll"
|
||||
- name: libgcc_s_dw2-1.dll
|
||||
system: sega-lindbergh
|
||||
required: false
|
||||
bundled: true
|
||||
unsourceable: "copied from the MinGW toolchain into ll-deps of the Windows release, and not collected"
|
||||
description: "MinGW GCC runtime answering libgcc_s.so.1 and libgcc.so on Windows"
|
||||
source_ref: "src/loader/elfLoader/elfLoader.cpp:373-374, scripts/windows/windows-build.sh:7"
|
||||
note: "Not in the repository. The build script copies it from the MinGW toolchain into ll-deps."
|
||||
- name: opengl32.dll
|
||||
path: zink/opengl32.dll
|
||||
system: sega-lindbergh
|
||||
required: false
|
||||
bundled: true
|
||||
size: 157184
|
||||
sha1: "6d59e04c9c691848ec52eb21c3e69ec376e9de87"
|
||||
unsourceable: "ships in ll-deps of the Windows release, vendored in libs/win32/ll-deps, and is not collected"
|
||||
description: "Mesa OpenGL front end used to run Primeval Hunt through Zink on Windows"
|
||||
source_ref: "src/loader/mainW.cpp:141-155, libs/win32/ll-deps/zink/opengl32.dll"
|
||||
note: >-
|
||||
Loaded from <ll-deps or -L>/zink/ for Primeval Hunt while
|
||||
PRIMEVAL_HUNT_USE_ZINK is on, its default. If it fails to load the
|
||||
loader prints "Failed to load OpenGL!" and exits. Every other game uses
|
||||
the system opengl32.dll.
|
||||
- name: libgallium_wgl.dll
|
||||
path: zink/libgallium_wgl.dll
|
||||
system: sega-lindbergh
|
||||
required: false
|
||||
bundled: true
|
||||
size: 27537920
|
||||
sha1: "5d843698d8fd0c834771fd3625cff4d33e6c3958"
|
||||
unsourceable: "ships in ll-deps of the Windows release, vendored in libs/win32/ll-deps, and is not collected"
|
||||
description: "Mesa Gallium driver loaded by the Zink opengl32.dll"
|
||||
source_ref: "src/loader/mainW.cpp:141-145, libs/win32/ll-deps/zink/libgallium_wgl.dll"
|
||||
note: "The zink folder is added to the DLL search path before opengl32.dll is loaded."
|
||||
|
||||
# -- Lindbergh boot program --
|
||||
- name: segaboot
|
||||
system: sega-lindbergh
|
||||
required: false
|
||||
description: "Sega Lindbergh boot and hardware check program"
|
||||
source_ref: "src/loader/mainShared.c:861-864, src/loader/mainShared.c:1170-1172"
|
||||
note: >-
|
||||
Run as "segaboot -t" under -s or --segaboot, from the game folder. A
|
||||
32-bit x86 Linux ELF, /usr/sbin/segaboot on the system CompactFlash card.
|
||||
The Windows build creates tmp\segaboot for it (src/loader/mainW.cpp:121-124).
|
||||
|
||||
# -- Lindbergh boot assets, replaced by built-in copies --
|
||||
- name: logo.tga
|
||||
system: sega-lindbergh
|
||||
required: false
|
||||
hle_fallback: true
|
||||
has_builtin: true
|
||||
description: "Lindbergh boot logo, read from /usr/lib/boot on the original system"
|
||||
source_ref: "src/loader/redirections/filesystemShared.c:324-336"
|
||||
note: >-
|
||||
Read from the game folder only when DISABLE_BUILTIN_LOGOS is set.
|
||||
Otherwise the lindberghLogo array of resources/lindberghLogo.h answers
|
||||
the read.
|
||||
- name: logo_red.tga
|
||||
system: sega-lindbergh
|
||||
required: false
|
||||
hle_fallback: true
|
||||
has_builtin: true
|
||||
description: "Lindbergh Red boot logo, read from /usr/lib/boot on the original system"
|
||||
source_ref: "src/loader/redirections/filesystemShared.c:338-350"
|
||||
note: >-
|
||||
Read from the game folder only when DISABLE_BUILTIN_LOGOS is set.
|
||||
Otherwise the lindberghLogoRed array answers the read.
|
||||
- name: LucidaConsole_12.tga
|
||||
system: sega-lindbergh
|
||||
required: false
|
||||
hle_fallback: true
|
||||
has_builtin: true
|
||||
description: "Lucida Console font texture"
|
||||
source_ref: "src/loader/redirections/filesystemShared.c:352-364"
|
||||
note: >-
|
||||
Read from the game folder only when DISABLE_BUILTIN_FONT is set.
|
||||
Otherwise the fontTGA array of resources/font.h answers the read, one
|
||||
atlas shared by all four font paths.
|
||||
- name: LucidaConsole_12.abc
|
||||
system: sega-lindbergh
|
||||
required: false
|
||||
hle_fallback: true
|
||||
has_builtin: true
|
||||
description: "Lucida Console font metrics"
|
||||
source_ref: "src/loader/redirections/filesystemShared.c:366-378"
|
||||
note: >-
|
||||
Read from the game folder only when DISABLE_BUILTIN_FONT is set.
|
||||
Otherwise the fontABC array of resources/font.h answers the read.
|
||||
- name: SEGA_KakuGothic-DB-Roman_12.tga
|
||||
system: sega-lindbergh
|
||||
required: false
|
||||
hle_fallback: true
|
||||
has_builtin: true
|
||||
description: "Sega Kaku Gothic console font texture"
|
||||
source_ref: "src/loader/redirections/filesystemShared.c:387-399"
|
||||
note: >-
|
||||
Read from the game folder only when DISABLE_BUILTIN_FONT is set.
|
||||
Otherwise the same fontTGA atlas answers the read.
|
||||
- name: SEGA_KakuGothic-DB-Roman_12.abc
|
||||
system: sega-lindbergh
|
||||
required: false
|
||||
hle_fallback: true
|
||||
has_builtin: true
|
||||
description: "Sega Kaku Gothic console font metrics"
|
||||
source_ref: "src/loader/redirections/filesystemShared.c:401-413"
|
||||
note: >-
|
||||
Read from the game folder only when DISABLE_BUILTIN_FONT is set.
|
||||
Otherwise the same fontABC table answers the read.
|
||||
|
||||
# -- Lindbergh runtime configuration --
|
||||
- name: lindbergrc
|
||||
system: sega-lindbergh
|
||||
required: false
|
||||
description: "Lindbergh development configuration read by Sega's lxmaster and segaboot"
|
||||
source_ref: "src/loader/redirections/filesystemShared.c:319-322"
|
||||
unsourceable: >-
|
||||
Pushed from a developer host onto development units. A retail system
|
||||
card ships none.
|
||||
note: >-
|
||||
The fopen hook rewrites /root/lindbergrc to lindbergrc in the game
|
||||
folder. The loader neither creates the file nor substitutes for it.
|
||||
- name: gamecontrollerdb.txt
|
||||
system: sega-lindbergh
|
||||
category: game_data
|
||||
required: false
|
||||
description: "SDL gamepad mappings added on top of SDL's own table"
|
||||
source_ref: "src/loader/mainShared.c:456-477, src/loader/input/sdlInput.c:216-223"
|
||||
note: >-
|
||||
Loaded from the path given by -d or --controllerdb, passed through
|
||||
LINUX_LOADER_CONTROLS_DB_PATH. A missing file is logged and only the
|
||||
mappings SDL carries remain.
|
||||
@@ -0,0 +1,29 @@
|
||||
emulator: LOVE 0.10.2
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/love2d/love"
|
||||
upstream: "https://github.com/love2d/love"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "9e139779956ddba89333eece8104bd7b1b4ff2e7"
|
||||
core_version: "0.10.2"
|
||||
display_name: "LOVE 2D game framework (0.10.2)"
|
||||
cores:
|
||||
- love-0.10.2
|
||||
systems: []
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Lua 2D game framework at tag 0.10.2, kept by RetroPie beside the 11.x
|
||||
package for games written against the 0.10 API
|
||||
(scriptmodules/ports/love-0.10.2.sh). RetroPie runs `love %ROM%` with a
|
||||
.love archive or a game directory.
|
||||
|
||||
boot.lua first tries the executable itself as a fused archive, then the
|
||||
path given on the command line (src/scripts/boot.lua:275-296), and stops
|
||||
with "No code to run" when neither holds main.lua
|
||||
(src/scripts/boot.lua:500-506). conf.lua and every asset come from the
|
||||
game. boot.lua and nogame.lua are compiled in as headers, and the default
|
||||
font is Vera.ttf compiled in (src/modules/font/Font.cpp:34-41). Nothing
|
||||
is read from a BIOS or system directory.
|
||||
|
||||
files: []
|
||||
@@ -0,0 +1,35 @@
|
||||
emulator: LOVE
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/love2d/love"
|
||||
upstream: "https://github.com/love2d/love"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "6eb8d546736d5915a8b5af30b2cf33456dfdcb1a"
|
||||
core_version: "11.5"
|
||||
display_name: "LOVE 2D game framework"
|
||||
cores:
|
||||
- love
|
||||
systems: []
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Lua 2D game framework. A game is a .love archive or a directory holding
|
||||
main.lua, passed on the command line. RetroPie builds tag 11.5
|
||||
(scriptmodules/ports/love.sh) and runs `love %ROM%`. RetroBat ships the
|
||||
11.4 Windows build (love.7z, changes.txt and love.dll name 11.4) and runs
|
||||
love.exe with the game path, or the game itself when it is a fused .exe
|
||||
(emulatorLauncher/Generators/Love.Generator.cs). Between 11.4 and 11.5
|
||||
boot.lua is unchanged and the filesystem module only gains PhysfsIo, a
|
||||
stream wrapper for archive I/O.
|
||||
|
||||
boot.lua first tries the executable itself as a fused archive, then the
|
||||
path given on the command line (src/modules/love/boot.lua:50-94), and
|
||||
stops with "No code to run" when neither holds main.lua
|
||||
(src/modules/love/boot.lua:322-328). conf.lua and every asset come from
|
||||
the game. The boot, callbacks and no-game scripts are compiled in as Lua
|
||||
headers, and the default font is Vera.ttf compiled in
|
||||
(src/modules/font/Font.cpp:34-42). Nothing is read from a BIOS or system
|
||||
directory. The save directory is created by the engine under the user's
|
||||
data folder.
|
||||
|
||||
files: []
|
||||
@@ -0,0 +1,416 @@
|
||||
emulator: LZDoom
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/drfrag666/gzdoom"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "4ce19a12164ebd6802b7fb2f94d700a6e736d0fb"
|
||||
core_version: "3.88b"
|
||||
display_name: "LZDoom"
|
||||
cores: [lzdoom]
|
||||
systems: [doom, heretic, hexen, strife, chex]
|
||||
|
||||
notes: |
|
||||
Legacy branch of GZDoom 3.x maintained by drfrag for older GPUs and
|
||||
OpenGL 2 hardware, built as lzdoom. The profiled revision is tag 3.88b,
|
||||
the one RetroPie builds. version.h names the engine resources: BASEWAD
|
||||
lzdoom.pk3 and OPTIONALWAD game_support.pk3 (src/version.h:90-91).
|
||||
|
||||
Engine resources (built from the wadsrc directories by add_pk3):
|
||||
lzdoom.pk3 searched first in the program directory, fatal
|
||||
"Cannot find lzdoom.pk3" when absent
|
||||
ref: src/d_main.cpp:2530-2534, wadsrc/CMakeLists.txt:3
|
||||
game_support.pk3 loaded after lzdoom.pk3 when found
|
||||
ref: src/d_main.cpp:2537, src/d_iwad.cpp:757-763
|
||||
lights.pk3 autoloadlights, false by default
|
||||
brightmaps.pk3 autoloadbrightmaps, false by default
|
||||
ref: src/d_main.cpp:228-229, 2164-2178
|
||||
A GAMEINFO lump can switch the last two on. Neither is read for a
|
||||
shareware IWAD. game_widescreen_gfx.pk3 and game_conpics_gfx.pk3 are
|
||||
looked up too, both on by default (src/d_main.cpp:230-231, 2179-2190),
|
||||
but no wadsrc directory of this tree builds them.
|
||||
|
||||
BaseFileSearch tries the program directory first for these files, then
|
||||
the name as given, then the FileSearch.Directories of the configuration
|
||||
(src/d_main.cpp:1793-1830). On Linux those default to $HOME/.config/lzdoom,
|
||||
SHARE_DIR, /usr/local/share/doom, /usr/local/share/games/doom,
|
||||
/usr/share/doom, /usr/share/games/doom and $DOOMWADDIR
|
||||
(src/gameconfigfile.cpp:153-172).
|
||||
|
||||
Game data is a user-supplied IWAD. iwadinfo.txt declares each known IWAD
|
||||
with the lumps it must contain, its file name and the support files it
|
||||
loads. Each IWADSearch directory (".", $DOOMWADDIR, $HOME/.config/lzdoom
|
||||
and the four share directories on Linux, src/gameconfigfile.cpp:126-149)
|
||||
is scanned for the names of the Names block and for any .iwad, .ipk3 or
|
||||
.ipk7 file, and each candidate is identified by its lumps, not by its name
|
||||
(src/d_iwad.cpp:319-367, 466-499, 509-527). The Names block also lists
|
||||
doomu.wad, bfgdoom2.wad, doom2bfg.wad, bfgdoom.wad, doombfg.wad,
|
||||
doomxbox.wad, doom2xbox.wad, tntunity.wad, plutoniaunity.wad,
|
||||
freedoomu.wad, freedoom.wad, hereticsr.wad, hexendemo.wad, hexdemo.wad,
|
||||
strife0.wad, strife.wad and blasphem.wad
|
||||
(wadsrc_extra/static/iwadinfo.txt:568-618). -iwad adds the named file,
|
||||
trying .wad, .pk3, .iwad, .ipk3 and .ipk7 when it has no extension, and
|
||||
the first usable one wins (src/d_iwad.cpp:566-602, 638-650). An IWAD that
|
||||
declares Required is dropped unless the IWAD it names was found, and Load
|
||||
files are read from the IWAD's own directory (src/d_iwad.cpp:610-635,
|
||||
772-788). Startup stops with "Cannot find a game IWAD" when nothing is
|
||||
identified (src/d_iwad.cpp:693-696). No hash is read.
|
||||
|
||||
MIDI music goes through FluidSynth with fluid_patchset "lzdoom"
|
||||
(src/sound/music/music_config.cpp:118). The soundfont manager reads every
|
||||
file of SoundfontSearch.Directories, keeping SF2, WOPL, WOPN and zipped
|
||||
GUS patch sets by their header, and falls back to
|
||||
$PROGDIR/soundfonts/lzdoom.sf2 when it found none
|
||||
(src/gameconfigfile.cpp:175-202, src/sound/music/i_soundfont.cpp:330-380,
|
||||
428-431). The OPL and OPN banks are read only with adl_use_custom_bank or
|
||||
opn_use_custom_bank, off by default (src/sound/music/music_config.cpp:92-99,
|
||||
253-260).
|
||||
|
||||
RetroPie installs lzdoom.pk3, game_support.pk3, lights.pk3, brightmaps.pk3
|
||||
and soundfonts/ beside the binary and launches "lzdoom -iwad <file>" with
|
||||
DOOMWADDIR set to its ports/doom directory.
|
||||
|
||||
files:
|
||||
# ================================================================
|
||||
# Engine resources
|
||||
# ================================================================
|
||||
|
||||
- name: "lzdoom.pk3"
|
||||
category: game_data
|
||||
required: true
|
||||
size: 1267891
|
||||
sha1: "195596bcfc97eee8ffaa049a912c8cb54a539416"
|
||||
md5: "fa846e2dc4663d262cc52daff5bdd69a"
|
||||
crc32: "1d2b3316"
|
||||
source_ref: "src/version.h:90, src/d_main.cpp:2530-2534, wadsrc/CMakeLists.txt:3"
|
||||
note: >
|
||||
Fonts, menus, ZScript, textures. Fatal if absent. Existence is the only
|
||||
test. The pk3s are zipped at build time and their bytes change from one
|
||||
build to the next: the hashes are those of the copy in the 3.88b Linux
|
||||
release package (lzdoom_3.88b_amd64.deb).
|
||||
|
||||
- name: "game_support.pk3"
|
||||
category: game_data
|
||||
required: false
|
||||
size: 223259
|
||||
sha1: "f645d7a3a00321c84490243690caa4415b3803f2"
|
||||
md5: "e11fb785ff8d616092a85154a6a19535"
|
||||
crc32: "4c14b502"
|
||||
source_ref: "src/version.h:91, src/d_main.cpp:2537, src/d_iwad.cpp:757-763, wadsrc_extra/CMakeLists.txt:3"
|
||||
note: "Holds iwadinfo.txt and the per-game filters. Copy from the 3.88b Linux release package."
|
||||
|
||||
- name: "lights.pk3"
|
||||
category: game_data
|
||||
required: false
|
||||
size: 22679
|
||||
sha1: "7f64f0d306c05e7c1740da1b9e565f041449a934"
|
||||
md5: "199fa1fac48ab6be2249fb33e1190a32"
|
||||
crc32: "4a8b1d81"
|
||||
source_ref: "src/d_main.cpp:229, 2167-2172, wadsrc_lights/CMakeLists.txt:3"
|
||||
note: "Dynamic light definitions, read when autoloadlights is set. Copy from the 3.88b Linux release package."
|
||||
|
||||
- name: "brightmaps.pk3"
|
||||
category: game_data
|
||||
required: false
|
||||
size: 245255
|
||||
sha1: "e33baca425c3087b973cc87cdedb051482e7a606"
|
||||
md5: "19c17b0ccbe5568aacb4ed517524c5de"
|
||||
crc32: "a0d2703c"
|
||||
source_ref: "src/d_main.cpp:228, 2173-2178, wadsrc_bm/CMakeLists.txt:3"
|
||||
note: "Brightmap textures, read when autoloadbrightmaps is set. Copy from the 3.88b Linux release package."
|
||||
|
||||
- name: "game_widescreen_gfx.pk3"
|
||||
category: game_data
|
||||
required: false
|
||||
size: 5041332
|
||||
sha1: "31e1ee26c1213207ebaddd15475315c8c9193dc9"
|
||||
md5: "094baa608b85fbe636933b4098e7e1f1"
|
||||
crc32: "b6a6ff19"
|
||||
source_ref: "src/d_main.cpp:230, 2179-2184"
|
||||
note: >
|
||||
Widescreen HUD and menu graphics, read by default when present. Not
|
||||
built from this tree. The 3.88b Windows release archive
|
||||
(LZDoom_3.88b_x64.zip) ships this copy.
|
||||
|
||||
- name: "game_conpics_gfx.pk3"
|
||||
category: game_data
|
||||
required: false
|
||||
source_ref: "src/d_main.cpp:231, 2185-2190"
|
||||
note: "Looked up by default when present. Neither this tree nor any 3.88b release package ships it."
|
||||
|
||||
- name: "lzdoom.sf2"
|
||||
category: game_data
|
||||
path: "soundfonts/lzdoom.sf2"
|
||||
required: false
|
||||
size: 3283278
|
||||
sha1: "9dba9212f2e34446ab034595665809f09f303d63"
|
||||
source_ref: "src/sound/music/i_soundfont.cpp:428-431, src/sound/music/music_config.cpp:118, src/CMakeLists.txt:1223"
|
||||
note: "Default soundfont, used when the soundfont directories hold none. Committed in the tree as soundfont/lzdoom.sf2 and copied next to the executable."
|
||||
|
||||
- name: "GENMIDI.GS.wopl"
|
||||
category: game_data
|
||||
path: "fm_banks/GENMIDI.GS.wopl"
|
||||
required: false
|
||||
size: 118767
|
||||
sha1: "538d220d87b86b997f539265eb12a6c319e17a1c"
|
||||
source_ref: "src/CMakeLists.txt:1225, src/gameconfigfile.cpp:175-202, src/sound/music/i_soundfont.cpp:352-356"
|
||||
note: "OPL3 bank copied next to the executable, read only with adl_use_custom_bank."
|
||||
|
||||
- name: "gs-by-papiezak-and-sneakernets.wopn"
|
||||
category: game_data
|
||||
path: "fm_banks/gs-by-papiezak-and-sneakernets.wopn"
|
||||
required: false
|
||||
size: 274864
|
||||
sha1: "12e77c61ae107b7dbcebb230fe45ec7791a07877"
|
||||
source_ref: "src/CMakeLists.txt:1227, src/gameconfigfile.cpp:175-202, src/sound/music/i_soundfont.cpp:357-361"
|
||||
note: "OPN2 bank copied next to the executable, read only with opn_use_custom_bank."
|
||||
|
||||
# ================================================================
|
||||
# IWADs (user-supplied). One is needed to start a game.
|
||||
# All source refs point to wadsrc_extra/static/iwadinfo.txt.
|
||||
# ================================================================
|
||||
|
||||
# ---- Doom ----
|
||||
|
||||
- name: "doom.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:315, 363, 378, 393, 576"
|
||||
note: "The Ultimate DOOM, DOOM Registered, the BFG and XBox editions all use this name and are told apart by their lumps."
|
||||
|
||||
- name: "doom1.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:402-412, 577"
|
||||
note: "DOOM Shareware."
|
||||
|
||||
- name: "doom2.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:489, 518, 545, 571"
|
||||
|
||||
- name: "doom2f.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:532, 572"
|
||||
|
||||
- name: "nerve.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:494, 523, 558, 562, 617"
|
||||
note: "No Rest for the Living, which requires DOOM 2. Also loaded from the IWAD directory by the BFG and XBox editions of DOOM 2."
|
||||
|
||||
- name: "doomunity.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:331, 584"
|
||||
|
||||
- name: "doom2unity.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:503, 585"
|
||||
|
||||
- name: "nerveunity.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:508"
|
||||
note: "Loaded from the IWAD directory by DOOM 2: Unity Edition."
|
||||
|
||||
- name: "extras.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:338, 508"
|
||||
note: "Loaded from the IWAD directory by the Unity editions."
|
||||
|
||||
- name: "soundtrack"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:338, 508"
|
||||
note: "Loaded from the IWAD directory by the Unity editions."
|
||||
|
||||
- name: "doom_complete.pk3"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:350, 570"
|
||||
note: "WadSmoosh merge of the Doom IWADs."
|
||||
|
||||
- name: "plutonia.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:447, 461, 573"
|
||||
|
||||
- name: "tnt.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:420, 434, 574"
|
||||
|
||||
- name: "sigil_v1_21.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:468-478, 616"
|
||||
note: "Sigil, which requires The Ultimate DOOM."
|
||||
|
||||
- name: "sigil_shreds.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:473"
|
||||
note: "Loaded from the IWAD directory by Sigil."
|
||||
|
||||
# ---- Freedoom (free) ----
|
||||
|
||||
- name: "freedoom1.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:292, 589"
|
||||
|
||||
- name: "freedoom2.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:280, 590"
|
||||
|
||||
- name: "freedm.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:268, 593"
|
||||
|
||||
# ---- Heretic ----
|
||||
|
||||
- name: "heretic.wad"
|
||||
category: game_data
|
||||
system: heretic
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:231, 243, 594"
|
||||
note: "Heretic and Shadow of the Serpent Riders share the name and are told apart by their lumps."
|
||||
|
||||
- name: "heretic1.wad"
|
||||
category: game_data
|
||||
system: heretic
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:250-260, 596"
|
||||
note: "Heretic Shareware."
|
||||
|
||||
- name: "blasphemer.wad"
|
||||
aliases: ["blasphem.wad"]
|
||||
category: game_data
|
||||
system: heretic
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:219, 605-606"
|
||||
|
||||
# ---- Hexen ----
|
||||
|
||||
- name: "hexen.wad"
|
||||
category: game_data
|
||||
system: hexen
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:181, 597"
|
||||
|
||||
- name: "hexdd.wad"
|
||||
category: game_data
|
||||
system: hexen
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:188-199, 598"
|
||||
note: "Deathkings expansion, which requires hexen.wad."
|
||||
|
||||
# ---- Strife ----
|
||||
|
||||
- name: "strife1.wad"
|
||||
category: game_data
|
||||
system: strife
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:144, 601"
|
||||
|
||||
- name: "sve.wad"
|
||||
category: game_data
|
||||
system: strife
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:130, 134, 602"
|
||||
note: "Veteran Edition, which requires Strife: Quest for the Sigil."
|
||||
|
||||
- name: "voices.wad"
|
||||
category: game_data
|
||||
system: strife
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:135, 148"
|
||||
note: "Loaded from the IWAD directory by Strife."
|
||||
|
||||
# ---- Chex Quest ----
|
||||
|
||||
- name: "chex.wad"
|
||||
category: game_data
|
||||
system: chex
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:118, 607"
|
||||
|
||||
- name: "chex3.wad"
|
||||
category: game_data
|
||||
system: chex
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:105, 608"
|
||||
|
||||
# ---- Standalone commercial and community IWADs ----
|
||||
|
||||
- name: "hacx.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:81, 611"
|
||||
|
||||
- name: "hacx2.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:69, 612"
|
||||
|
||||
- name: "action2.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:93, 609"
|
||||
|
||||
- name: "harm1.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:57, 610"
|
||||
|
||||
- name: "square.pk3"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:33"
|
||||
note: "Absent from the Names block: picked up only when named with -iwad."
|
||||
|
||||
- name: "square1.pk3"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:45, 613"
|
||||
|
||||
- name: "delaweare.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:22, 614"
|
||||
|
||||
- name: "rotwb.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:9, 615"
|
||||
@@ -0,0 +1,95 @@
|
||||
emulator: MagicEngine
|
||||
type: standalone
|
||||
core_classification: other
|
||||
source: "https://www.magicengine.com/"
|
||||
upstream: closed-source
|
||||
author: "David Michel, Cedric Michel"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "1.1.3"
|
||||
display_name: "NEC - PC Engine / CD-ROM / SuperGrafx (MagicEngine)"
|
||||
cores:
|
||||
- magicengine
|
||||
systems:
|
||||
- nec-pc-engine
|
||||
- nec-pc-engine-cd
|
||||
- nec-supergrafx
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
PC Engine emulator by David and Cedric Michel, distributed as a closed
|
||||
Windows binary. The build read is pce.exe 1.1.3, dated 17 June 2008, sha1
|
||||
b58461eca2614326bd776d12b01c4ab2e7d0f579, the copy RetroBat installs as
|
||||
magicengine (version 0.08.06.17).
|
||||
|
||||
RetroBat starts it as pce.exe "<rom>" with the emulator folder as working
|
||||
directory and runs it only for the pcengine and supergrafx HuCard systems.
|
||||
The generator writes pce.ini (paths for cheats, screenshots and
|
||||
saved_games, video, language) and the controller section, and sets no
|
||||
system ROM. A HuCard carries its whole program, so this route reads the
|
||||
game file, pce.ini and the games.idx index the program keeps in its own
|
||||
folder, nothing else.
|
||||
ref: emulatorlauncher Generators/MagicEngine.Generator.cs:20-83,
|
||||
retrobat system/templates/emulationstation/es_systems.cfg (pcengine,
|
||||
supergrafx)
|
||||
|
||||
pce.exe is a loader. 0x426ec0, called from 0x401712, decrypts about
|
||||
1.2 MB held in .data at 0x4484c0 (0x2491e eight-byte blocks of a SAFER
|
||||
style cipher whose exp and log tables sit at 0x448220 and 0x448320),
|
||||
inflates it with 0x426b00 into a 0x1f8d50-byte buffer, applies the
|
||||
relocation list that follows and jumps to offset 0x1000. That routine was
|
||||
run under an x86 emulator to obtain the program image, and the addresses
|
||||
below are addresses in that image relocated to base 0x10000000. The pce.cfg RetroBat ships is the binary keyboard and
|
||||
gamepad layout (ME10CONFIG) and names no file.
|
||||
|
||||
System cards are four paths of the [pce] section, system_card_1 to
|
||||
system_card_4, defaulting to syscard1.pce, syscard2.pce, syscard3.pce and
|
||||
ge.pce (0x100118a7-0x10011910, setter 0x100094e0, getter 0x10008b00).
|
||||
default_system_card picks the card a CD boots with: 0 automatic, 1 to 4
|
||||
one of the four files, 5 to 7 Magic System 1.0, 2.0 or 3.0, a system card
|
||||
BIOS built into the program. Automatic means the third path, syscard3.pce.
|
||||
The chosen file goes through the HuCard loader (0x10082630, 0x10082250)
|
||||
with no size or hash check, and when it cannot be opened the boot falls
|
||||
back to Magic System 3.0 (0x10007752-0x10007f79, 0x100826b0). A card
|
||||
named on the command line after -cd is loaded the same way without that
|
||||
fallback. The internal HuCard database names the dumps it recognises as
|
||||
system cards by CRC32: 3f9f95a4 (1.0), 52520bc6 (2.0), 283b74e0 (2.1),
|
||||
6d9a73ef and 2b5b75fe (3.0), 51a12d90 (Game Express), which drives the
|
||||
title shown and not the boot (0x10142e40-0x10143c20). arcade_card only
|
||||
turns the Arcade Card hardware on and loads no file. CD saves go to
|
||||
backup.dat and backup.idx, written by the program.
|
||||
RetroBat does not route pcenginecd to MagicEngine today, so these files
|
||||
only matter when it is run on a CD by hand.
|
||||
|
||||
files:
|
||||
- name: syscard3.pce
|
||||
system: nec-pc-engine-cd
|
||||
required: false
|
||||
hle_fallback: true
|
||||
description: "Super CD-ROM2 System Card 3.0"
|
||||
note: "system_card_3, the card an automatic CD boot loads. Opened by the relative name unless the ini sets a path, read through the HuCard loader without a size or hash check. When it cannot be opened the boot uses the built-in Magic System 3.0."
|
||||
source_ref: "pce.exe image 0x100118e7-0x100118f3 (default), 0x10007752-0x10007f65 (automatic choice and fallback), 0x10082630"
|
||||
|
||||
- name: syscard2.pce
|
||||
system: nec-pc-engine-cd
|
||||
required: false
|
||||
hle_fallback: true
|
||||
description: "CD-ROM2 System Card 2.x"
|
||||
note: "system_card_2, loaded when default_system_card is 2 or the card is picked in the boot menu. Falls back to Magic System 3.0 when it cannot be opened."
|
||||
source_ref: "pce.exe image 0x100118b8-0x100118de (default), 0x10007f2c-0x10007f65"
|
||||
|
||||
- name: syscard1.pce
|
||||
system: nec-pc-engine-cd
|
||||
required: false
|
||||
hle_fallback: true
|
||||
description: "CD-ROM2 System Card 1.0"
|
||||
note: "system_card_1, loaded when default_system_card is 1 or the card is picked in the boot menu. Falls back to Magic System 3.0 when it cannot be opened."
|
||||
source_ref: "pce.exe image 0x100118a7-0x100118c1 (default), 0x10007f2c-0x10007f65"
|
||||
|
||||
- name: ge.pce
|
||||
aliases: [gexpress.pce]
|
||||
system: nec-pc-engine-cd
|
||||
required: false
|
||||
hle_fallback: true
|
||||
description: "Games Express System Card"
|
||||
note: "system_card_4, loaded when default_system_card is 4 or the card is picked in the boot menu. Falls back to Magic System 3.0 when it cannot be opened."
|
||||
source_ref: "pce.exe image 0x100118f8-0x10011910 (default), 0x10007f2c-0x10007f65"
|
||||
@@ -13,6 +13,7 @@ display_name: "Arcade (MAME)"
|
||||
cores:
|
||||
- mame
|
||||
- imame4all
|
||||
- mame64
|
||||
systems:
|
||||
- snk-neogeo-mvs
|
||||
- snk-neogeo-aes
|
||||
|
||||
@@ -0,0 +1,489 @@
|
||||
emulator: MAME 2014
|
||||
type: libretro
|
||||
core_classification: frozen_snapshot
|
||||
source: "https://github.com/libretro/mame2015-libretro"
|
||||
upstream: "https://github.com/mamedev/mame/tree/mame0160"
|
||||
logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "c8fe6c7399f24466808b67933b2b96feea188e0b"
|
||||
core_version: "0.160"
|
||||
display_name: "Arcade (MAME 2014)"
|
||||
mame_version: "0.160"
|
||||
|
||||
cores:
|
||||
- mame2014
|
||||
built_by:
|
||||
- retrobat
|
||||
systems:
|
||||
- snk-neogeo-mvs
|
||||
- snk-neogeo-aes
|
||||
- igs-pgm
|
||||
- sega-naomi
|
||||
- sega-naomi2
|
||||
- sega-naomigd
|
||||
- sammy-atomiswave
|
||||
- sega-stv
|
||||
- sega-lindbergh
|
||||
- sega-hikaru
|
||||
- sega-chihiro
|
||||
- sega-triforce
|
||||
- deco-cassette
|
||||
- nintendo-playch10
|
||||
- sega-megaplay
|
||||
- sega-megatech
|
||||
- nintendo-sfcbox
|
||||
- nintendo-nss
|
||||
- philips-cdi
|
||||
- commodore-cubo
|
||||
- namco-system246
|
||||
- namco-system256
|
||||
- namco-system573
|
||||
- konami-viper
|
||||
- taito-gnet
|
||||
- super-kaneko-nova
|
||||
- capcom-zn1
|
||||
- capcom-zn2
|
||||
- konami-gv
|
||||
- panasonic-3do
|
||||
- hyper-neogeo64
|
||||
- konami-twinkle
|
||||
|
||||
notes: |
|
||||
The core of libretro/mame2015-libretro as it stood before the repository
|
||||
and the core were renamed MAME 2015 (commit 3e77b40c, 2019-01-19). RetroBat
|
||||
ships mame2014_libretro.dll from its own core repository, a build that
|
||||
reports library_version "0.160 c8fe6c7" and library_name "MAME 2014", so
|
||||
this profile reads the tree at c8fe6c7.
|
||||
|
||||
Same MAME 0.160 code as mame2015: between c8fe6c7 and the mame2015 pin no
|
||||
driver ROM definition, romload.c or hiscore.c changes. What differs is the
|
||||
directory name. libretro_shared.h sets core to "mame2014", and
|
||||
Set_Path_Option builds samples, artwork, cheat, ini and hash under
|
||||
system_dir/mame2014/ (cfg, nvram, hi, input, states, snaps, diff under
|
||||
save_dir/mame2014/). The rom path is the content folder only, so BIOS root
|
||||
sets sit beside the games. 69 BIOS root sets.
|
||||
|
||||
hiscore.dat is opened by emu_file("hiscore", ".dat") with no search path
|
||||
(the libretro path code is under #if 0), so it is read from the working
|
||||
directory of the frontend.
|
||||
|
||||
files:
|
||||
# Data files
|
||||
- name: hiscore.dat
|
||||
required: false
|
||||
category: game_data
|
||||
sha1: "68e94fb579f46f3255ef7c34c0322f3f0f3c8e20"
|
||||
md5: "7e31f0b84f6ea6f9ffec0cd968decf9f"
|
||||
size: 216250
|
||||
source_ref: "src/emu/hiscore.c:122-138, 330-338"
|
||||
note: >-
|
||||
high score definitions, external file, not embedded. metadata/hiscore.dat of the core repository. Opened by
|
||||
emu_file with no search path, so from the working directory of the frontend. is_mem_range reads only
|
||||
"cpu:addr:len:start:end" lines under a "gamename:" header.
|
||||
|
||||
# SNK Neo Geo MVS/AES
|
||||
- name: neogeo.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: snk-neogeo-mvs
|
||||
source_ref: "src/mame/drivers/neogeo.c:1529"
|
||||
|
||||
# IGS PGM
|
||||
- name: pgm.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: igs-pgm
|
||||
source_ref: "src/mame/drivers/pgm.c:4147"
|
||||
|
||||
# Sega Naomi / Naomi 2 / Naomi GD-ROM / Atomiswave
|
||||
- name: naomi.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-naomi
|
||||
source_ref: "src/mame/drivers/naomi.c:8960"
|
||||
|
||||
- name: naomi2.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-naomi2
|
||||
source_ref: "src/mame/drivers/naomi.c:8965"
|
||||
|
||||
- name: naomigd.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-naomigd
|
||||
source_ref: "src/mame/drivers/naomi.c:8966"
|
||||
|
||||
- name: awbios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sammy-atomiswave
|
||||
source_ref: "src/mame/drivers/naomi.c:9275"
|
||||
|
||||
- name: hod2bios.zip
|
||||
required: false
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/naomi.c:8961"
|
||||
note: "game-specific BIOS for House of the Dead 2"
|
||||
|
||||
- name: f355dlx.zip
|
||||
required: false
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/naomi.c:8962"
|
||||
note: "game-specific BIOS for Ferrari F355 Challenge deluxe"
|
||||
|
||||
- name: f355bios.zip
|
||||
required: false
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/naomi.c:8963"
|
||||
note: "game-specific BIOS for Ferrari F355 Challenge twin"
|
||||
|
||||
- name: airlbios.zip
|
||||
required: false
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/naomi.c:8964"
|
||||
note: "game-specific BIOS for Airline Pilots deluxe"
|
||||
|
||||
# Sega ST-V
|
||||
- name: stvbios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-stv
|
||||
source_ref: "src/mame/drivers/stv.c:3042"
|
||||
|
||||
# Sega Hikaru / Chihiro / Triforce / Lindbergh
|
||||
- name: hikaru.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-hikaru
|
||||
source_ref: "src/mame/drivers/hikaru.c:744"
|
||||
|
||||
- name: chihiro.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-chihiro
|
||||
source_ref: "src/mame/drivers/chihiro.c:2192"
|
||||
|
||||
- name: triforce.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-triforce
|
||||
source_ref: "src/mame/drivers/triforce.c:1021"
|
||||
|
||||
- name: lindbios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-lindbergh
|
||||
source_ref: "src/mame/drivers/lindbergh.c:569"
|
||||
|
||||
# DECO Cassette
|
||||
- name: decocass.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: deco-cassette
|
||||
source_ref: "src/mame/drivers/decocass.c:1647"
|
||||
|
||||
# Nintendo arcade
|
||||
- name: playch10.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: nintendo-playch10
|
||||
source_ref: "src/mame/drivers/playch10.c:1639"
|
||||
|
||||
- name: nss.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: nintendo-nss
|
||||
source_ref: "src/mame/drivers/nss.c:1058"
|
||||
|
||||
- name: sfcbox.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: nintendo-sfcbox
|
||||
source_ref: "src/mame/drivers/sfcbox.c:572"
|
||||
|
||||
# Sega Mega Drive arcade
|
||||
- name: megaplay.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-megaplay
|
||||
source_ref: "src/mame/drivers/megaplay.c:942"
|
||||
|
||||
- name: megatech.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-megatech
|
||||
source_ref: "src/mame/drivers/megatech.c:1393"
|
||||
|
||||
# Philips CD-i
|
||||
- name: cdibios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: philips-cdi
|
||||
source_ref: "src/mame/drivers/cdi.c:611"
|
||||
|
||||
# Commodore Cubo (CD32-based)
|
||||
- name: cubo.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: commodore-cubo
|
||||
source_ref: "src/mame/drivers/cubo.c:1362"
|
||||
|
||||
# Namco boards
|
||||
- name: sys246.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: namco-system246
|
||||
source_ref: "src/mame/drivers/namcops2.c:672"
|
||||
|
||||
- name: sys256.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: namco-system256
|
||||
source_ref: "src/mame/drivers/namcops2.c:705"
|
||||
|
||||
- name: sys573.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: namco-system573
|
||||
source_ref: "src/mame/drivers/ksys573.c:4678"
|
||||
|
||||
# Konami
|
||||
- name: kviper.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: konami-viper
|
||||
source_ref: "src/mame/drivers/viper.c:2609"
|
||||
|
||||
- name: konamigv.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: konami-gv
|
||||
source_ref: "src/mame/drivers/konamigv.c:822"
|
||||
|
||||
- name: konamigx.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/konamigx.c:3775"
|
||||
|
||||
- name: gq863.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: konami-twinkle
|
||||
source_ref: "src/mame/drivers/twinkle.c:1330"
|
||||
|
||||
# Taito
|
||||
- name: taitogn.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: taito-gnet
|
||||
source_ref: "src/mame/drivers/taitogn.c:1081"
|
||||
|
||||
- name: taitotz.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/taitotz.c:2951"
|
||||
|
||||
- name: taitofx1.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/zn.c:4906"
|
||||
|
||||
# PSX-based arcade boards (ZN)
|
||||
- name: cpzn1.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: capcom-zn1
|
||||
source_ref: "src/mame/drivers/zn.c:4800"
|
||||
|
||||
- name: cpzn2.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: capcom-zn2
|
||||
source_ref: "src/mame/drivers/zn.c:4823"
|
||||
|
||||
- name: atpsx.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/zn.c:4853"
|
||||
|
||||
- name: acpsx.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/zn.c:4862"
|
||||
|
||||
- name: tps.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/zn.c:4873"
|
||||
|
||||
- name: vspsx.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/zn.c:4896"
|
||||
|
||||
- name: psarc95.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/zn.c:4935"
|
||||
|
||||
- name: atluspsx.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/zn.c:4961"
|
||||
|
||||
# Super Kaneko Nova System
|
||||
- name: skns.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: super-kaneko-nova
|
||||
source_ref: "src/mame/drivers/suprnova.c:1734"
|
||||
|
||||
- name: mac2bios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/macs.c:747"
|
||||
|
||||
- name: macsbios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/macs.c:746"
|
||||
|
||||
# Panasonic 3DO
|
||||
- name: 3dobios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: panasonic-3do
|
||||
source_ref: "src/mame/drivers/3do.c:253"
|
||||
|
||||
# Hyper Neo-Geo 64
|
||||
- name: hng64.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: hyper-neogeo64
|
||||
source_ref: "src/mame/drivers/hng64.c:1991"
|
||||
|
||||
# Arcadia Systems
|
||||
- name: ar_bios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/arcadia.c:963"
|
||||
|
||||
# American Laser Games
|
||||
- name: alg_bios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/alg.c:772"
|
||||
|
||||
# Aleck64 (N64-based)
|
||||
- name: aleck64.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/aleck64.c:1161"
|
||||
|
||||
# Atari System 1
|
||||
- name: atarisy1.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/atarisy1.c:2368"
|
||||
|
||||
# Exidy Max-A-Flex
|
||||
- name: maxaflex.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/maxaflex.c:536"
|
||||
|
||||
# Crystal System
|
||||
- name: crysbios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/crystal.c:1134"
|
||||
|
||||
# Galaxy Games
|
||||
- name: galgbios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/tmaster.c:1850"
|
||||
|
||||
# Aristocrat MK5/MK6
|
||||
- name: aristmk5.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/aristmk5.c:739"
|
||||
|
||||
- name: aristmk6.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/aristmk6.c:224"
|
||||
|
||||
- name: mk6nsw11.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/aristmk6.c:225"
|
||||
|
||||
# Pinball
|
||||
- name: allied.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/allied.c:711"
|
||||
|
||||
- name: gp_110.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/gp_1.c:531"
|
||||
|
||||
- name: gts1.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/gts1.c:978"
|
||||
|
||||
- name: gts1s.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/gts1.c:981"
|
||||
|
||||
# Other BIOS root sets
|
||||
- name: bubsys.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/nemesis.c:2707"
|
||||
|
||||
- name: isgsm.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/segas16b.c:7501"
|
||||
|
||||
- name: iteagle.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/iteagle.c:315"
|
||||
|
||||
- name: pyson.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/pyson.c:251"
|
||||
|
||||
- name: sammymdl.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/sigmab98.c:2277"
|
||||
|
||||
- name: shtzone.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/shtzone.c:121"
|
||||
|
||||
- name: su2000.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/su2000.c:296"
|
||||
|
||||
- name: tourvis.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/tourvis.c:612"
|
||||
|
||||
- name: v4bios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/drivers/mpu4vid.c:3655"
|
||||
@@ -0,0 +1,123 @@
|
||||
emulator: MAME4ALL-Pi
|
||||
type: standalone
|
||||
core_classification: frozen_snapshot
|
||||
source: "https://github.com/RetroPie/mame4all-pi"
|
||||
upstream: "https://sourceforge.net/projects/mame4allpi/"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "c6bfd2aef331b5a5e157c15d8bf8a77393c85689"
|
||||
core_version: "0.37b5"
|
||||
display_name: "Arcade (MAME4ALL-Pi)"
|
||||
mode: standalone
|
||||
cores:
|
||||
- mame4all
|
||||
systems:
|
||||
- arcade
|
||||
- snk-neogeo-mvs
|
||||
|
||||
notes: |
|
||||
Raspberry Pi port by Squid of Franxis' MAME4ALL, itself MAME 0.37b5
|
||||
(readme.txt:5, src/version.cpp:1). RetroPie builds the tree with make,
|
||||
installs mame, mame.cfg.template, hiscore.dat, cheat.dat, clrmame.dat,
|
||||
folders/ and skins/ to its own directory, and launches mame with the
|
||||
game's base name. Its mame.cfg sets rompath to the mame-mame4all and
|
||||
arcade ROM directories and samplepath to their samples/ folders.
|
||||
|
||||
main() moves to the directory holding the binary before anything is
|
||||
opened, so every relative path below is read from there. mame.cfg comes
|
||||
from that directory.
|
||||
ref: src/rpi/rpi.cpp:123-126, src/rpi/config.cpp:93
|
||||
|
||||
ROMs and samples are looked up in each rompath or samplepath entry as a
|
||||
<game>/ folder, then <game>.zip. A clone also searches its parent's set,
|
||||
and every Neo Geo game names neogeo as parent so that the BIOS does not
|
||||
have to sit in each archive. rompath defaults to ".;roms", samplepath to
|
||||
".;samples".
|
||||
ref: src/rpi/fileio.cpp:349-446, src/common.cpp:140-162, src/rpi/config.cpp:273-274,
|
||||
src/drivers/neogeo.cpp:4580-4586
|
||||
|
||||
hiscore.dat is opened for every game, history.dat and mameinfo.dat when
|
||||
the game information screen is shown, cheat.dat only with cheat=yes. All
|
||||
four are opened by bare name from the binary's directory: the cheat
|
||||
branch builds a path from the cheat directory option and then opens the
|
||||
bare name instead.
|
||||
ref: src/rpi/fileio.cpp:950-971, src/cpuintrf.cpp:626-628,
|
||||
src/usrintrf.cpp:2546, src/mame.cpp:621-623
|
||||
|
||||
Paths below are written under mame4all/, which stands for the binary's
|
||||
directory. clrmame.dat is installed beside them and never opened. The
|
||||
skins/ bitmaps and folders/Favorites.ini belong to the game list front
|
||||
end.
|
||||
ref: src/rpi/gp2x_frontend.cpp:85,107,131
|
||||
|
||||
files:
|
||||
- name: neogeo.zip
|
||||
system: snk-neogeo-mvs
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "Neo Geo BIOS set, parent of every Neo Geo game"
|
||||
note: >-
|
||||
Opened from rompath as the parent set. neo-geo.rom, ng-sm1.rom and
|
||||
ng-sfix.rom are declared in every Neo Geo game through the
|
||||
NEO_BIOS_SOUND and NEO_SFIX macros, so a game cannot load without
|
||||
them. The Irritating Maze carries its own im_bios.rom in its set.
|
||||
source_ref: "src/drivers/neogeo.cpp:1137-1173, src/drivers/neogeo.cpp:4501-4510, src/drivers/neogeo.cpp:4586"
|
||||
contents:
|
||||
- name: neo-geo.rom
|
||||
description: 68K BIOS
|
||||
size: 131072
|
||||
crc32: "9036d879"
|
||||
- name: ng-sm1.rom
|
||||
description: Z80 sound BIOS
|
||||
size: 131072
|
||||
crc32: "97cf998b"
|
||||
- name: ng-sfix.rom
|
||||
description: fix layer tiles
|
||||
size: 131072
|
||||
crc32: "354029fc"
|
||||
|
||||
- name: hiscore.dat
|
||||
path: "mame4all/hiscore.dat"
|
||||
required: false
|
||||
category: game_data
|
||||
bundled: true
|
||||
size: 50821
|
||||
md5: "5567b18ff76cf4406c915d9d5deac2f4"
|
||||
sha1: "830660c510bb185c3278320b2ccbf5f536a1a649"
|
||||
crc32: "158abd35"
|
||||
description: "High score memory ranges, HISCORE.DAT version 7.0"
|
||||
note: >-
|
||||
Read with every game. Without it no score is saved. The values are
|
||||
those of the file the repository installs.
|
||||
source_ref: "src/hiscore.cpp:18, src/hiscore.cpp:253-255, src/cpuintrf.cpp:626-628, src/rpi/fileio.cpp:950-962"
|
||||
|
||||
- name: cheat.dat
|
||||
path: "mame4all/cheat.dat"
|
||||
required: false
|
||||
category: game_data
|
||||
bundled: true
|
||||
size: 1522317
|
||||
md5: "c5b456237958c7a7c120a8ad710786a0"
|
||||
sha1: "c0f20911b6f929ecd8302863d9ced3e5ba9c6b97"
|
||||
crc32: "ae2b9dbb"
|
||||
description: "Pugsy's cheat database of 18 May 2000"
|
||||
note: >-
|
||||
Read only when the cheat option is on (cheat=no in the installed
|
||||
mame.cfg). The cheatfile option renames it. The values are those of
|
||||
the file the repository installs.
|
||||
source_ref: "src/cheat.cpp:210, src/cheat.cpp:616-618, src/rpi/config.cpp:379-382, src/rpi/fileio.cpp:965-971"
|
||||
|
||||
- name: history.dat
|
||||
path: "mame4all/history.dat"
|
||||
required: false
|
||||
category: game_data
|
||||
description: "Game history database"
|
||||
note: "Read for the game information screen. Not installed."
|
||||
source_ref: "src/datafile.cpp:52, src/datafile.cpp:541, src/rpi/config.cpp:384"
|
||||
|
||||
- name: mameinfo.dat
|
||||
path: "mame4all/mameinfo.dat"
|
||||
required: false
|
||||
category: game_data
|
||||
description: "Driver information database"
|
||||
note: "Read with history.dat for the game information screen. Not installed."
|
||||
source_ref: "src/datafile.cpp:53, src/datafile.cpp:568, src/rpi/config.cpp:386"
|
||||
@@ -0,0 +1,217 @@
|
||||
emulator: no$gba
|
||||
type: standalone
|
||||
core_classification: embedded_hle
|
||||
source: "https://problemkaputt.de/gba.htm"
|
||||
upstream: "https://problemkaputt.de/gba.htm"
|
||||
version_source:
|
||||
url: "https://problemkaputt.de/gba.htm"
|
||||
pattern: 'no\$gba v(\d+(?:\.\d+)+)'
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "3.04"
|
||||
display_name: "Nintendo - GBA/DS/DSi (no$gba)"
|
||||
cores:
|
||||
- nosgba
|
||||
systems:
|
||||
- nintendo-gba
|
||||
- nintendo-ds
|
||||
- nintendo-dsi
|
||||
- sony-pocketstation
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Freeware gaming build of Martin Korth's Game Boy Advance, Nintendo DS and
|
||||
DSi emulator for Windows, closed source. RetroBat installs it as nosgba and
|
||||
starts NO$GBA.EXE with the ROM. Its NO$GBA.EXE (220079 bytes, sha1
|
||||
935b857bc1249479124247612755eeb2a247f23c) is the one in no$gba-w.zip of
|
||||
v3.04, 23 Mar 2021, byte for byte. The official zip also carries
|
||||
DSI-SD.ZIP, which RetroBat leaves out. Everything below is read from that
|
||||
executable after removing its UPX layer. Addresses are virtual addresses of
|
||||
the unpacked image (base 0x400000).
|
||||
|
||||
Every file is opened by bare name. Before each open the program builds its
|
||||
own folder from the module path and makes it the current directory
|
||||
(0x431741, 0x4316ea), so all of them sit next to NO$GBA.EXE.
|
||||
|
||||
The boot ROMs come from one table of six slots (0x471a81-0x471b80), loaded
|
||||
by one routine (0x4357c6-0x4358a1). For each slot it clears the buffer, then
|
||||
tries a list of (file, offset) pairs in order. The first file that opens and
|
||||
is longer than its offset gives the bytes, read at that offset for the slot
|
||||
size. No size is checked beyond that. The lists:
|
||||
GBA, 16 KiB: NO$GBA.ROM at 0, BIOSGBA.ROM at 0, GBA.ROM at 0.
|
||||
NDS ARM7, 16 KiB: NO$GBA.ROM at 0x4000, BIOSNDS.ROM at 0, BIOSNDS7.ROM at 0.
|
||||
NDS ARM9, 4 KiB: NO$GBA.ROM at 0x8000, BIOSNDS.ROM at 0x4000, BIOSNDS9.ROM at 0.
|
||||
DSi ARM7, 64 KiB: BIOSDSI.ROM at 0, BIOSDSI7.ROM at 0.
|
||||
DSi ARM9, 64 KiB: BIOSDSI.ROM at 0x10000, BIOSDSI9.ROM at 0.
|
||||
PocketStation, 16 KiB: POCKSTAT.ROM at 0.
|
||||
NO$GBA.ROM, BIOSNDS.ROM and BIOSDSI.ROM are therefore concatenations of the
|
||||
single images, GBA then ARM7 then ARM9.
|
||||
|
||||
After a slot loads, two 32-bit words are computed over it: the sum of its
|
||||
dwords, and a value seeded with 0x42494f53 that takes each dword plus the
|
||||
count of dwords left, XORs it in and rotates right by one. The GBA, NDS ARM7,
|
||||
NDS ARM9 and PocketStation slots carry the expected pair, the DSi slots carry
|
||||
none. A mismatch only raises "Incorrect GBA/NDS BIOS version!" and the image
|
||||
stays in use (0x43586a-0x43589a, 0x4358f0-0x43591e). The md5 and sha1 given
|
||||
below are those of the dumps that produce the expected pair.
|
||||
|
||||
Without a GBA image the slot receives a 236-byte stub held in the executable
|
||||
(0x43578c-0x4357c5) and the BIOS calls run as x86 code, the default of the
|
||||
"Emulate BIOS Functions" option. Only the BIOS sound functions then stop with
|
||||
"Sorry, no$gba needs a copy of the original GBA BIOS". The NDS slots stay
|
||||
zero and the calls are emulated the same way. The ARM7 image is what
|
||||
decrypts the secure area of an encrypted cartridge dump and CodeBreaker
|
||||
codes ("Encrypted Cartridge, requires files BiosNds7.rom and BiosNds9.rom").
|
||||
Without a PocketStation image a built-in clone named pockclon is expanded in
|
||||
its place (0x435750-0x435771). DSi mode needs the DSi images for their RSA
|
||||
keys and stops with "Missing DSi BIOS dump (need RSA keys)" without them.
|
||||
|
||||
The DSi eMMC and SD card are files named from the emulated unit number, 1 for
|
||||
the first machine: the name is written over a template as "DSi-", the digit,
|
||||
then "mmc" or "sd" (0x43acea-0x43ad2d). The eMMC image must carry the
|
||||
nocash footer with the CID and console ID ("Missing footer in .mmc file").
|
||||
The template string itself reads New3DS-#.mmc, from the 3DS mode.
|
||||
|
||||
Written rather than obtained: NO$GBA.INI (generated config), NO$GBA.INP (key
|
||||
setup), saves under BATTERY, snapshots under SLOT, QUIKSAVE.SNA, and
|
||||
FIRMnnnn.BIN and BIOS dumps the xboo cable tools write. NO$GBA.CHT is a
|
||||
cheat list the user writes, help.htm and help.txt are documentation, and
|
||||
no$gba.key is the registration file of the debug version.
|
||||
|
||||
files:
|
||||
- name: BIOSGBA.ROM
|
||||
aliases: ["GBA.ROM"]
|
||||
system: nintendo-gba
|
||||
required: false
|
||||
hle_fallback: true
|
||||
size: 16384
|
||||
md5: "a860e8c0b6d573d191e4ec7db1b1e4f6"
|
||||
sha1: "300c20df6731a33952ded8c436f7f186d25d3492"
|
||||
on_mismatch: warn
|
||||
description: "Game Boy Advance BIOS"
|
||||
note: >
|
||||
Tried after NO$GBA.ROM and before GBA.ROM. Expected checksum pair
|
||||
0xbaae187f, 0xc98cfa1d, which the retail GBA BIOS gives. Needed for the
|
||||
BIOS sound functions and the Nintendo logo boot.
|
||||
source_ref: "NO$GBA.EXE v3.04 0x471a81-0x471aac (slot), 0x4357c6-0x43589a (load and checksum), 0x43578c-0x4357c5 (stub when absent)"
|
||||
|
||||
- name: BIOSNDS7.ROM
|
||||
system: nintendo-ds
|
||||
required: false
|
||||
hle_fallback: true
|
||||
size: 16384
|
||||
md5: "df692a80a5b1bc90728bc3dfc76cd948"
|
||||
sha1: "24f67bdea115a2c847c8813a262502ee1607b7df"
|
||||
on_mismatch: warn
|
||||
description: "Nintendo DS ARM7 BIOS"
|
||||
note: >
|
||||
Tried after NO$GBA.ROM at 0x4000 and BIOSNDS.ROM at 0. Expected checksum
|
||||
pair 0xbc180972, 0x36b3e1b2. Carries the key that decrypts encrypted
|
||||
cartridge secure areas and CodeBreaker codes.
|
||||
source_ref: "NO$GBA.EXE v3.04 0x471ab1-0x471adc (slot), 0x4357c6-0x43589a (load and checksum)"
|
||||
|
||||
- name: BIOSNDS9.ROM
|
||||
system: nintendo-ds
|
||||
required: false
|
||||
hle_fallback: true
|
||||
size: 4096
|
||||
md5: "a392174eb3e572fed6447e956bde4b25"
|
||||
sha1: "bfaac75f101c135e32e2aaf541de6b1be4c8c62d"
|
||||
on_mismatch: warn
|
||||
description: "Nintendo DS ARM9 BIOS"
|
||||
note: >
|
||||
Tried after NO$GBA.ROM at 0x8000 and BIOSNDS.ROM at 0x4000. Expected
|
||||
checksum pair 0xbb212bf7, 0x1bec1d77.
|
||||
source_ref: "NO$GBA.EXE v3.04 0x471ae1-0x471b0c (slot), 0x4357c6-0x43589a (load and checksum)"
|
||||
|
||||
- name: FIRMWARE.BIN
|
||||
system: nintendo-ds
|
||||
required: false
|
||||
hle_fallback: true
|
||||
max_size: 524288
|
||||
description: "Nintendo DS firmware flash"
|
||||
note: >
|
||||
Read whole into a buffer of 256 KiB, or 512 KiB when the file is larger.
|
||||
A file over 512 KiB stops the program with "Unexpected Error". Absent, a
|
||||
256 KiB buffer stands in. No hash is checked.
|
||||
source_ref: "NO$GBA.EXE v3.04 0x4356a8-0x4356e8 (load), 0x4358a2-0x4358d3 (buffer size), 0x4348fa (error)"
|
||||
|
||||
- name: BIOSDSI7.ROM
|
||||
system: nintendo-dsi
|
||||
required: false
|
||||
size: 65536
|
||||
description: "Nintendo DSi ARM7 BIOS"
|
||||
note: >
|
||||
Tried after BIOSDSI.ROM at 0. No checksum. DSi mode stops without it
|
||||
since it holds the RSA keys.
|
||||
source_ref: "NO$GBA.EXE v3.04 0x471b11-0x471b38 (slot), 0x4357c6-0x435802 (load)"
|
||||
|
||||
- name: BIOSDSI9.ROM
|
||||
system: nintendo-dsi
|
||||
required: false
|
||||
size: 65536
|
||||
description: "Nintendo DSi ARM9 BIOS"
|
||||
note: "Tried after BIOSDSI.ROM at 0x10000. No checksum."
|
||||
source_ref: "NO$GBA.EXE v3.04 0x471b39-0x471b60 (slot), 0x4357c6-0x435802 (load)"
|
||||
|
||||
- name: WIFI-DSI.BIN
|
||||
system: nintendo-dsi
|
||||
required: false
|
||||
hle_fallback: true
|
||||
description: "DSi wifi firmware flash"
|
||||
note: >
|
||||
Read whole. Absent, a 128 KiB buffer stands in. No hash is checked.
|
||||
source_ref: "NO$GBA.EXE v3.04 0x435701-0x435741 (load), 0x4358d4-0x4358ef (buffer)"
|
||||
|
||||
- name: AR6002G.ROM
|
||||
system: nintendo-dsi
|
||||
required: false
|
||||
description: "Atheros AR6002 wifi chip ROM"
|
||||
note: >
|
||||
Read for a DSi when the byte at firmware offset 0x1fd is not 2. Absent,
|
||||
the ROM area is filled with 0x55.
|
||||
source_ref: "NO$GBA.EXE v3.04 0x46014c-0x4601bd"
|
||||
|
||||
- name: AR6013G.ROM
|
||||
system: nintendo-dsi
|
||||
required: false
|
||||
description: "Atheros AR6013 wifi chip ROM"
|
||||
note: "Read for a DSi when the byte at firmware offset 0x1fd is 2. Absent, the ROM area is filled with 0x55."
|
||||
source_ref: "NO$GBA.EXE v3.04 0x46014c-0x4601bd"
|
||||
|
||||
- name: DSi-1.mmc
|
||||
system: nintendo-dsi
|
||||
required: false
|
||||
description: "DSi eMMC image with nocash footer"
|
||||
note: >
|
||||
eMMC of the first emulated DSi. The footer has to carry the CID and the
|
||||
console ID. No hash or size is checked.
|
||||
source_ref: "NO$GBA.EXE v3.04 0x43acea-0x43ad65"
|
||||
|
||||
- name: DSi-1.sd
|
||||
system: nintendo-dsi
|
||||
required: false
|
||||
size: 125698048
|
||||
md5: "a5feb3d3fc0cdf0f663ef1a80ba39e72"
|
||||
sha1: "b473e101c7d22c15272f3cfce7c30b01f67839b4"
|
||||
description: "DSi SD card image"
|
||||
note: >
|
||||
SD card of the first emulated DSi. The official zip ships a blank
|
||||
FAT16 one as DSI-1.SD inside DSI-SD.ZIP. The hashes are those of that
|
||||
file, the code checks none.
|
||||
source_ref: "NO$GBA.EXE v3.04 0x43acea-0x43ad65"
|
||||
|
||||
- name: POCKSTAT.ROM
|
||||
system: sony-pocketstation
|
||||
required: false
|
||||
hle_fallback: true
|
||||
size: 16384
|
||||
md5: "3bcdcef3d9aa7af85cd45e29986d11c8"
|
||||
sha1: "6ae880493ddde880827d1e9f08e9cb2c38f9f2ec"
|
||||
on_mismatch: warn
|
||||
description: "PocketStation BIOS"
|
||||
note: >
|
||||
Expected checksum pair 0x27e94c07, 0x63beca34, given by the image ending
|
||||
in J061. An image ending in J110 is checked against 0xb16ce96c,
|
||||
0xbedf0d0f instead, and one with POCKBIOS at 0x40 is not checked.
|
||||
Absent, a built-in clone is used.
|
||||
source_ref: "NO$GBA.EXE v3.04 0x471b61-0x471b80 (slot), 0x43582b-0x435863 (variant tests), 0x435750-0x435771 (clone)"
|
||||
@@ -0,0 +1,192 @@
|
||||
emulator: np2pi
|
||||
type: standalone
|
||||
core_classification: community_fork
|
||||
source: "https://github.com/eagle0wl/np2pi"
|
||||
upstream: "https://np2.yui.ne.jp"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "2e995768b55e97acfaac32d45fbb8351645cba62"
|
||||
core_version: "0.83"
|
||||
display_name: "NEC - PC-98 (np2pi)"
|
||||
mode: standalone
|
||||
cores:
|
||||
- np2pi
|
||||
systems:
|
||||
- nec-pc-98
|
||||
|
||||
notes: |
|
||||
Raspberry Pi build by eagle0wl of Yui's Neko Project II 0.83
|
||||
(np2ver.h:1), the SDL front end compiled with sdl/makefile.rpi and
|
||||
sdl/raspberrypi/compiler.h. That header defines SUPPORT_SASI and
|
||||
SUPPORT_SCSI but not SUPPORT_PC9821, and bios/bios.c defines
|
||||
BIOS_SIMULATE, so bios9821.rom and itf.rom are never opened: the ITF
|
||||
image is the itfrom.res table compiled into the binary.
|
||||
ref: sdl/raspberrypi/compiler.h:136-139, bios/bios.c:16-21,
|
||||
bios/bios.c:257-268, bios/bios.c:302-318
|
||||
|
||||
Every file below is opened from the working directory. datadir is "./",
|
||||
file_setcd(datadir) makes it the base of file_getcd, and getbiospath
|
||||
falls back to file_getcd while the biospath key of np2.cfg is empty, as
|
||||
it is by default. np2.cfg itself is read and written there.
|
||||
ref: sdl/np2.c:48, sdl/np2.c:152, sdl/dosio.c:180-195, pccore.c:98-111,
|
||||
sdl/ini.c:318, sdl/ini.c:412-416
|
||||
|
||||
RetroPie launches np2 from its pc98 configuration directory, where it
|
||||
links 2608_bd.wav, 2608_hh.wav, 2608_rim.wav, 2608_sd.wav,
|
||||
2608_tom.wav, 2608_top.wav, bios.rom, FONT.ROM and sound.rom from the
|
||||
pc98 folder of its BIOS directory, and TakaoGothic as default.ttf. The
|
||||
paths below follow that folder. The other files are read only when
|
||||
placed in the working directory itself.
|
||||
|
||||
Fonts are filled in order and each source only supplies the glyphs still
|
||||
missing: the fontfile key of np2.cfg (empty by default), FONT.BMP,
|
||||
FONT.ROM, then the PC-8801 KANJI1.ROM, KANJI2.ROM and PC88.FNT. Glyphs
|
||||
still missing after that are drawn from default.ttf through SDL_ttf into
|
||||
font.tmp, which is reused on later runs. default.ttf is a desktop font,
|
||||
not a machine ROM.
|
||||
ref: pccore.c:251, font/font.c:113-188, font/fontdata.c:8-12,
|
||||
font/fontpc88.c:81-193, sdl/fontmng.c:12-16
|
||||
|
||||
files:
|
||||
- name: "bios.rom"
|
||||
path: "pc98/bios.rom"
|
||||
system: nec-pc-98
|
||||
description: "PC-9801 system BIOS, E8000h-FFFFFh"
|
||||
min_size: 98304
|
||||
validation: [size]
|
||||
required: false
|
||||
hle_fallback: true
|
||||
note: >-
|
||||
The first 0x18000 bytes are read to E8000h. A shorter file, or no
|
||||
file, leaves the built-in BIOS simulation in place.
|
||||
source_ref: "bios/bios.c:226-256, common/strres.c:53"
|
||||
|
||||
- name: "FONT.BMP"
|
||||
path: "pc98/FONT.BMP"
|
||||
system: nec-pc-98
|
||||
description: "PC-98 character generator as a 2048x2048 monochrome bitmap"
|
||||
required: false
|
||||
hle_fallback: true
|
||||
note: "First font source tried from the working directory."
|
||||
source_ref: "font/font.c:179, font/fontdata.c:11, font/fontpc98.c:11-16"
|
||||
|
||||
- name: "FONT.ROM"
|
||||
path: "pc98/FONT.ROM"
|
||||
system: nec-pc-98
|
||||
description: "PC-98 character generator in the Virtual98 layout"
|
||||
min_size: 288768
|
||||
validation: [size]
|
||||
required: false
|
||||
hle_fallback: true
|
||||
note: "Read when glyphs are still missing after FONT.BMP. 0x46800 bytes are read, a shorter file is ignored."
|
||||
source_ref: "font/font.c:180, font/fontdata.c:12, font/fontv98.c:8, font/fontv98.c:30-51"
|
||||
|
||||
- name: "KANJI1.ROM"
|
||||
path: "pc98/KANJI1.ROM"
|
||||
system: nec-pc-98
|
||||
description: "PC-8801 first level kanji ROM"
|
||||
min_size: 131072
|
||||
validation: [size]
|
||||
required: false
|
||||
hle_fallback: true
|
||||
note: "Read after FONT.ROM for the ANK and first level kanji glyphs still missing, 0x20000 bytes."
|
||||
source_ref: "font/font.c:181, font/fontdata.c:9, font/fontpc88.c:94-133"
|
||||
|
||||
- name: "KANJI2.ROM"
|
||||
path: "pc98/KANJI2.ROM"
|
||||
system: nec-pc-98
|
||||
description: "PC-8801 second level kanji ROM"
|
||||
min_size: 131072
|
||||
validation: [size]
|
||||
required: false
|
||||
hle_fallback: true
|
||||
note: "Read for the second level kanji glyphs still missing, 0x20000 bytes."
|
||||
source_ref: "font/font.c:181, font/fontdata.c:10, font/fontpc88.c:135-152"
|
||||
|
||||
- name: "PC88.FNT"
|
||||
path: "pc98/PC88.FNT"
|
||||
system: nec-pc-98
|
||||
description: "PC-8801 ANK font"
|
||||
min_size: 6144
|
||||
validation: [size]
|
||||
required: false
|
||||
hle_fallback: true
|
||||
note: "Read for the ANK glyphs still missing, 0x1800 bytes."
|
||||
source_ref: "font/font.c:181, font/fontdata.c:8, font/fontpc88.c:154-187"
|
||||
|
||||
- name: "sound.rom"
|
||||
path: "pc98/sound.rom"
|
||||
system: nec-pc-98
|
||||
description: "FM sound board BIOS"
|
||||
min_size: 16384
|
||||
validation: [size]
|
||||
required: false
|
||||
hle_fallback: true
|
||||
note: >-
|
||||
Each board first tries its own image, sound14.rom, sound26.rom,
|
||||
sound86.rom, sound118.rom or soundSPB.rom, then sound.rom, reading
|
||||
0x4000 bytes. Without one a 9-byte stub is written to the ROM window.
|
||||
source_ref: "sound/soundrom.c:11-16, sound/soundrom.c:19-81, cbus/board26k.c:87, cbus/board86.c:178"
|
||||
|
||||
- name: "2608_bd.wav"
|
||||
path: "pc98/2608_bd.wav"
|
||||
system: nec-pc-98
|
||||
description: "YM2608 rhythm sample, bass drum"
|
||||
required: false
|
||||
source_ref: "sound/rhythmc.c:8, sound/rhythmc.c:57-68"
|
||||
|
||||
- name: "2608_sd.wav"
|
||||
path: "pc98/2608_sd.wav"
|
||||
system: nec-pc-98
|
||||
description: "YM2608 rhythm sample, snare drum"
|
||||
required: false
|
||||
source_ref: "sound/rhythmc.c:9, sound/rhythmc.c:57-68"
|
||||
|
||||
- name: "2608_top.wav"
|
||||
path: "pc98/2608_top.wav"
|
||||
system: nec-pc-98
|
||||
description: "YM2608 rhythm sample, top cymbal"
|
||||
required: false
|
||||
source_ref: "sound/rhythmc.c:10, sound/rhythmc.c:57-68"
|
||||
|
||||
- name: "2608_hh.wav"
|
||||
path: "pc98/2608_hh.wav"
|
||||
system: nec-pc-98
|
||||
description: "YM2608 rhythm sample, hi-hat"
|
||||
required: false
|
||||
source_ref: "sound/rhythmc.c:11, sound/rhythmc.c:57-68"
|
||||
|
||||
- name: "2608_tom.wav"
|
||||
path: "pc98/2608_tom.wav"
|
||||
system: nec-pc-98
|
||||
description: "YM2608 rhythm sample, tom"
|
||||
required: false
|
||||
source_ref: "sound/rhythmc.c:12, sound/rhythmc.c:57-68"
|
||||
|
||||
- name: "2608_rim.wav"
|
||||
path: "pc98/2608_rim.wav"
|
||||
system: nec-pc-98
|
||||
description: "YM2608 rhythm sample, rim shot"
|
||||
required: false
|
||||
source_ref: "sound/rhythmc.c:13, sound/rhythmc.c:57-68"
|
||||
|
||||
- name: "sasi.rom"
|
||||
path: "pc98/sasi.rom"
|
||||
system: nec-pc-98
|
||||
description: "SASI controller BIOS"
|
||||
min_size: 4096
|
||||
validation: [size]
|
||||
required: false
|
||||
hle_fallback: true
|
||||
note: "Read when a SASI disk is attached, 0x1000 bytes. Otherwise the built-in stub is copied."
|
||||
source_ref: "cbus/sasiio.c:442-465"
|
||||
|
||||
- name: "scsi.rom"
|
||||
path: "pc98/scsi.rom"
|
||||
system: nec-pc-98
|
||||
description: "SCSI controller BIOS"
|
||||
min_size: 16384
|
||||
validation: [size]
|
||||
required: false
|
||||
hle_fallback: true
|
||||
note: "Read when a SCSI disk is attached, 0x4000 bytes. Otherwise the built-in stub is copied."
|
||||
source_ref: "cbus/scsiio.c:208-233"
|
||||
@@ -0,0 +1,84 @@
|
||||
emulator: OpenGOAL
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/open-goal/jak-project"
|
||||
upstream: "https://github.com/open-goal/jak-project"
|
||||
source_commit: "6445b4a50a7540df512e3c82c62216521421410c"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "v0.3.8"
|
||||
display_name: "Jak and Daxter (OpenGOAL)"
|
||||
cores: [opengoal]
|
||||
systems: [opengoal]
|
||||
|
||||
notes: |
|
||||
Native port of the Jak and Daxter games built from the decompiled GOAL
|
||||
code. gk runs the game, goalc compiles GOAL source, and extractor turns the
|
||||
user's PS2 ISO into the data gk loads.
|
||||
|
||||
RetroBat installs v0.3.8: the gk.exe, goalc.exe and extractor.exe of its
|
||||
opengoal.7z are byte identical to opengoal-windows-v0.3.8.zip, and its data
|
||||
tree has the same files, so the profile is pinned to that tag. The
|
||||
launcher reads the game name (jak1, jak2 or jak3) from the first line of
|
||||
the ROM file, then checks data/out/<game>/iso. When that folder is missing
|
||||
it runs "extractor.exe -g <game> -e -d -c <iso>" with the ISO path set in
|
||||
the system options, and refuses to start without one. It then starts
|
||||
gk.exe -g <game> with its own config folder.
|
||||
|
||||
extractor (decompiler/extractor/main.cpp):
|
||||
1. -e takes a file whose extension is .iso and which is larger than
|
||||
1000000000 bytes, unpacks it into iso_data/_temp and computes an XXH64
|
||||
over the hashes of all its files (decompiler/extractor/extractor_util.cpp:278-304,
|
||||
decompiler/extractor/main.cpp:295-317).
|
||||
2. validate needs a DGO folder in the extraction. It reads the serial
|
||||
from the boot ELF name (SCUS_971.24 gives SCUS-97124) and hashes that
|
||||
ELF with XXH64, then looks both up in extractor_iso_database
|
||||
(decompiler/extractor/main.cpp:35-110, decompiler/extractor/extractor_util.cpp:30-166, 229-251). A missing DGO
|
||||
folder stops extraction. Any other mismatch only fails the run under
|
||||
-v, which RetroBat does not pass, and leaves the data in
|
||||
iso_data/_temp instead of iso_data/<game> (decompiler/extractor/main.cpp:318-335).
|
||||
3. -d decompiles with the config of the detected release, -c compiles
|
||||
goal_src into data/out/<game>.
|
||||
|
||||
The database knows Jak 1 as SCUS-97124 (Black Label and Greatest Hits),
|
||||
SCES-50361, SCPS-15021 and SCPS-56003, Jak 2 as SCUS-97265, SCES-51608,
|
||||
SCPS-15057 and SCKA-20010, and Jak 3 as SCUS-97330, SCUS-97516,
|
||||
SCKA-20040 and SCES-52460. The contents hashes it stores are XXH64
|
||||
values over per file hashes, not hashes of the ISO file, so no entry
|
||||
below carries one.
|
||||
|
||||
At run time gk reads only what the extractor and compiler built:
|
||||
out/<game>/iso, listed by the fake ISO file system, and out/<game>/fr3
|
||||
for the renderer (game/overlord/common/fake_iso.cpp:57-71,
|
||||
game/graphics/pipelines/opengl.cpp:90). The data folder of the release
|
||||
(goal_src, decompiler/config, custom_assets, game/assets, launcher) is
|
||||
program source and configuration the compiler reads, shipped with every
|
||||
build. goal_src/jakx is present, but the extractor accepts only jak1, jak2
|
||||
and jak3 at this tag (decompiler/extractor/main.cpp:16-18, 289-292).
|
||||
|
||||
files:
|
||||
- name: "jak1.iso"
|
||||
category: game_data
|
||||
system: opengoal
|
||||
required: true
|
||||
description: "Jak and Daxter: The Precursor Legacy PS2 disc image"
|
||||
source_ref: "decompiler/extractor/main.cpp:295-335, decompiler/extractor/extractor_util.cpp:30-79, 278-294"
|
||||
note: "No file name is fixed. Accepted serials SCUS-97124, SCES-50361, SCPS-15021 and SCPS-56003, identified by the boot ELF name and its XXH64. Read once by the extractor, which builds out/jak1 for gk."
|
||||
unsourceable: "retail disc image the collection does not hold, and a same-named image of another game must not stand in"
|
||||
|
||||
- name: "jak2.iso"
|
||||
category: game_data
|
||||
system: opengoal
|
||||
required: true
|
||||
description: "Jak II PS2 disc image"
|
||||
source_ref: "decompiler/extractor/main.cpp:295-335, decompiler/extractor/extractor_util.cpp:80-123, 278-294"
|
||||
note: "No file name is fixed. Accepted serials SCUS-97265, SCES-51608, SCPS-15057 and SCKA-20010, identified by the boot ELF name and its XXH64. Read once by the extractor, which builds out/jak2 for gk."
|
||||
unsourceable: "retail disc image the collection does not hold, and a same-named image of another game must not stand in"
|
||||
|
||||
- name: "jak3.iso"
|
||||
category: game_data
|
||||
system: opengoal
|
||||
required: true
|
||||
description: "Jak 3 PS2 disc image"
|
||||
source_ref: "decompiler/extractor/main.cpp:295-335, decompiler/extractor/extractor_util.cpp:124-163, 278-294"
|
||||
note: "No file name is fixed. Accepted serials SCUS-97330, SCUS-97516, SCKA-20040 and SCES-52460, identified by the boot ELF name and its XXH64. Read once by the extractor, which builds out/jak3 for gk."
|
||||
unsourceable: "retail disc image the collection does not hold, and a same-named image of another game must not stand in"
|
||||
@@ -0,0 +1,385 @@
|
||||
emulator: OpenTTD
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/OpenTTD/OpenTTD"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "61342620bc4c0971b28b3578379b53d04d2f11f1"
|
||||
core_version: "14.1"
|
||||
display_name: "Transport Tycoon Deluxe (OpenTTD)"
|
||||
mode: standalone
|
||||
cores:
|
||||
- openttd
|
||||
systems:
|
||||
- transport-tycoon-deluxe
|
||||
|
||||
notes: |
|
||||
Open source reimplementation of Transport Tycoon Deluxe. RetroPie
|
||||
installs the distribution's openttd package (14.1 on Debian trixie,
|
||||
13.0 on bookworm), whose recommends pull in the OpenGFX, OpenSFX and
|
||||
OpenMSX base sets, and moves the user's openttd folders under
|
||||
~/.config, ~/.local/share and ~/.local into its ports configuration.
|
||||
This profile reads the 14.1 tag.
|
||||
|
||||
Graphics, sounds and music come from base sets. Each set is a .obg,
|
||||
.obs or .obm description found in the baseset folder of any search
|
||||
path, naming its files and their MD5. A file is looked up in the
|
||||
baseset folders under the path the description gives, with a lowercase
|
||||
retry. A set missing any file is neither listed nor picked
|
||||
automatically. A file whose MD5 differs keeps the set usable and is
|
||||
reported as corrupt at start. For a GRF the MD5 covers the data
|
||||
section, which is the whole file in the original container format.
|
||||
ref: src/base_media_func.h:84-158, src/base_media_func.h:345-372,
|
||||
src/gfxinit.cpp:475-495,
|
||||
src/fileio.cpp:215-230, src/gfxinit.cpp:125-136,
|
||||
src/newgrf_config.cpp:255-277
|
||||
|
||||
The descriptions of the original game's files ship with OpenTTD in
|
||||
media/baseset: orig_dos.obg, orig_dos_de.obg and orig_win.obg for the
|
||||
graphics, orig_dos.obs and orig_win.obs for SAMPLE.CAT, orig_dos.obm,
|
||||
orig_win.obm and orig_tto.obm for the music. ORIG_EXTRA.GRF, also named
|
||||
by the graphics sets, is built and installed with OpenTTD. The MD5
|
||||
values below are the ones those descriptions carry.
|
||||
|
||||
Without any usable graphics set OpenTTD offers to download OpenGFX from
|
||||
its content service, and fails with no network. A missing sound or music
|
||||
set falls back to no_sound.obs and no_music.obm, which ship with it.
|
||||
ref: src/openttd.cpp:717-745, src/openttd.cpp:781-812,
|
||||
src/bootstrap_gui.cpp:362-371
|
||||
|
||||
Paths below are written under openttd/, which stands for any OpenTTD
|
||||
search path, the personal data folder being the usual one.
|
||||
|
||||
files:
|
||||
- name: "TRG1.GRF"
|
||||
path: "openttd/baseset/TRG1.GRF"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe DOS graphics, base"
|
||||
required: false
|
||||
md5: "9311676280e5b14077a8ee41c1b42192"
|
||||
source_ref: "media/baseset/orig_dos.obg:20, media/baseset/orig_dos_de.obg:20"
|
||||
|
||||
- name: "TRGI.GRF"
|
||||
path: "openttd/baseset/TRGI.GRF"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe DOS graphics, logos"
|
||||
required: false
|
||||
md5: "da6a6c9dcc451eec88d79211437b76a8"
|
||||
source_ref: "media/baseset/orig_dos.obg:21, media/baseset/orig_dos_de.obg:21"
|
||||
|
||||
- name: "TRGC.GRF"
|
||||
path: "openttd/baseset/TRGC.GRF"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe DOS graphics, sub-arctic climate"
|
||||
required: false
|
||||
md5: "ed446637e034104c5559b32c18afe78d"
|
||||
source_ref: "media/baseset/orig_dos.obg:22, media/baseset/orig_dos_de.obg:22"
|
||||
|
||||
- name: "TRGH.GRF"
|
||||
path: "openttd/baseset/TRGH.GRF"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe DOS graphics, sub-tropical climate"
|
||||
required: false
|
||||
md5: "ee6616fb0e6ef6b24892c58c93d86fc9"
|
||||
source_ref: "media/baseset/orig_dos.obg:23, media/baseset/orig_dos_de.obg:23"
|
||||
|
||||
- name: "TRGT.GRF"
|
||||
path: "openttd/baseset/TRGT.GRF"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe DOS graphics, toyland"
|
||||
required: false
|
||||
md5: "e30e8a398ae86c03dc534a8ac7dfb3b6"
|
||||
source_ref: "media/baseset/orig_dos.obg:24"
|
||||
|
||||
- name: "TRGT.GRF"
|
||||
path: "openttd/baseset/TRGT.GRF"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe DOS graphics, toyland, German CD"
|
||||
required: false
|
||||
md5: "fcde1d7e8a74197d72a62695884b909e"
|
||||
note: "The German DOS CD differs from the other DOS releases only in this file."
|
||||
source_ref: "media/baseset/orig_dos_de.obg:24"
|
||||
|
||||
- name: "TRG1R.GRF"
|
||||
path: "openttd/baseset/TRG1R.GRF"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows graphics, base"
|
||||
required: false
|
||||
md5: "b04ce593d8c5016e07473a743d7d3358"
|
||||
source_ref: "media/baseset/orig_win.obg:20"
|
||||
|
||||
- name: "TRGIR.GRF"
|
||||
path: "openttd/baseset/TRGIR.GRF"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows graphics, logos"
|
||||
required: false
|
||||
md5: "0c2484ff6be49fc63a83be6ab5c38f32"
|
||||
source_ref: "media/baseset/orig_win.obg:21"
|
||||
|
||||
- name: "TRGCR.GRF"
|
||||
path: "openttd/baseset/TRGCR.GRF"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows graphics, sub-arctic climate"
|
||||
required: false
|
||||
md5: "3668f410c761a050b5e7095a2b14879b"
|
||||
source_ref: "media/baseset/orig_win.obg:22"
|
||||
|
||||
- name: "TRGHR.GRF"
|
||||
path: "openttd/baseset/TRGHR.GRF"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows graphics, sub-tropical climate"
|
||||
required: false
|
||||
md5: "06bf2b7a31766f048baac2ebe43457b1"
|
||||
source_ref: "media/baseset/orig_win.obg:23"
|
||||
|
||||
- name: "TRGTR.GRF"
|
||||
path: "openttd/baseset/TRGTR.GRF"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows graphics, toyland"
|
||||
required: false
|
||||
md5: "de53650517fe661ceaa3138c6edb0eb8"
|
||||
source_ref: "media/baseset/orig_win.obg:24"
|
||||
|
||||
- name: "SAMPLE.CAT"
|
||||
path: "openttd/baseset/SAMPLE.CAT"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe DOS sound samples"
|
||||
required: false
|
||||
md5: "422ea3dd074d2859bb51639a6e0e85da"
|
||||
source_ref: "media/baseset/orig_dos.obs:14"
|
||||
|
||||
- name: "SAMPLE.CAT"
|
||||
path: "openttd/baseset/SAMPLE.CAT"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows sound samples"
|
||||
required: false
|
||||
md5: "9212e81e72badd4bbe1eaeae66458e10"
|
||||
source_ref: "media/baseset/orig_win.obs:14"
|
||||
|
||||
- name: "GM.CAT"
|
||||
path: "openttd/baseset/GM.CAT"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe DOS music catalogue"
|
||||
required: false
|
||||
md5: "7a29d2d0c4f7d2e03091ffa9b2bdfffb"
|
||||
source_ref: "media/baseset/orig_dos.obm:44"
|
||||
|
||||
- name: "GM-TTO.CAT"
|
||||
path: "openttd/baseset/GM-TTO.CAT"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Original music catalogue"
|
||||
required: false
|
||||
md5: "26e85ff84b0063aa5da05dd4698fc76e"
|
||||
source_ref: "media/baseset/orig_tto.obm:63"
|
||||
|
||||
- name: "GM_TT00.GM"
|
||||
path: "openttd/baseset/GM_TT00.GM"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows music, Tycoon DELUXE Theme"
|
||||
required: false
|
||||
md5: "45cfec1b9d8c7a0ad45e755833cbf221"
|
||||
source_ref: "media/baseset/orig_win.obm:44, media/baseset/orig_win.obm:68"
|
||||
|
||||
- name: "GM_TT01.GM"
|
||||
path: "openttd/baseset/GM_TT01.GM"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows music, Snarl Up"
|
||||
required: false
|
||||
md5: "ab14ed3392d848abd2a2e90a9d75d121"
|
||||
source_ref: "media/baseset/orig_win.obm:45, media/baseset/orig_win.obm:69"
|
||||
|
||||
- name: "GM_TT02.GM"
|
||||
path: "openttd/baseset/GM_TT02.GM"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows music, Easy Driver"
|
||||
required: false
|
||||
md5: "dd4f696e4be5987ce738257b08b50171"
|
||||
source_ref: "media/baseset/orig_win.obm:46, media/baseset/orig_win.obm:70"
|
||||
|
||||
- name: "GM_TT03.GM"
|
||||
path: "openttd/baseset/GM_TT03.GM"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows music, Little Red Diesel"
|
||||
required: false
|
||||
md5: "a1bfde23343df9e4063419bf29c166b8"
|
||||
source_ref: "media/baseset/orig_win.obm:47, media/baseset/orig_win.obm:71"
|
||||
|
||||
- name: "GM_TT04.GM"
|
||||
path: "openttd/baseset/GM_TT04.GM"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows music, City Groove"
|
||||
required: false
|
||||
md5: "4e6943aa0c455203d76c79389054747d"
|
||||
source_ref: "media/baseset/orig_win.obm:48, media/baseset/orig_win.obm:72"
|
||||
|
||||
- name: "GM_TT05.GM"
|
||||
path: "openttd/baseset/GM_TT05.GM"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows music, Aliens Ate My Railway"
|
||||
required: false
|
||||
md5: "cee281cb85a2e2343552d97640545a47"
|
||||
source_ref: "media/baseset/orig_win.obm:49, media/baseset/orig_win.obm:73"
|
||||
|
||||
- name: "GM_TT06.GM"
|
||||
path: "openttd/baseset/GM_TT06.GM"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows music, Stoke It"
|
||||
required: false
|
||||
md5: "26d1de5efa8675f94065784e9d539e49"
|
||||
source_ref: "media/baseset/orig_win.obm:50, media/baseset/orig_win.obm:74"
|
||||
|
||||
- name: "GM_TT07.GM"
|
||||
path: "openttd/baseset/GM_TT07.GM"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows music, Don't Walk!"
|
||||
required: false
|
||||
md5: "6f2691e17558f552ec4c565e4ab7139c"
|
||||
source_ref: "media/baseset/orig_win.obm:51, media/baseset/orig_win.obm:75"
|
||||
|
||||
- name: "GM_TT08.GM"
|
||||
path: "openttd/baseset/GM_TT08.GM"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows music, Sawyer's Tune"
|
||||
required: false
|
||||
md5: "a42bf2cb3340a822f1a69646fc7a487d"
|
||||
source_ref: "media/baseset/orig_win.obm:52, media/baseset/orig_win.obm:76"
|
||||
|
||||
- name: "GM_TT09.GM"
|
||||
path: "openttd/baseset/GM_TT09.GM"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows music, Fell Apart On Me"
|
||||
required: false
|
||||
md5: "eb35761a58a8df3c59ed8929cce13916"
|
||||
source_ref: "media/baseset/orig_win.obm:53, media/baseset/orig_win.obm:77"
|
||||
|
||||
- name: "GM_TT10.GM"
|
||||
path: "openttd/baseset/GM_TT10.GM"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows music, Can't Get There From Here"
|
||||
required: false
|
||||
md5: "42fecd686720a785d20a78590c466a82"
|
||||
source_ref: "media/baseset/orig_win.obm:54, media/baseset/orig_win.obm:78"
|
||||
|
||||
- name: "GM_TT11.GM"
|
||||
path: "openttd/baseset/GM_TT11.GM"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows music, Hard Drivin'"
|
||||
required: false
|
||||
md5: "50ef1ef02e49d2112786dd45e69dc3ee"
|
||||
source_ref: "media/baseset/orig_win.obm:55, media/baseset/orig_win.obm:79"
|
||||
|
||||
- name: "GM_TT12.GM"
|
||||
path: "openttd/baseset/GM_TT12.GM"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows music, Road Hog"
|
||||
required: false
|
||||
md5: "4ce707a0e0e72419f0681dd9bd95271b"
|
||||
source_ref: "media/baseset/orig_win.obm:56, media/baseset/orig_win.obm:80"
|
||||
|
||||
- name: "GM_TT13.GM"
|
||||
path: "openttd/baseset/GM_TT13.GM"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows music, Hold That Train!"
|
||||
required: false
|
||||
md5: "e765753be29d889ec818f38009103619"
|
||||
source_ref: "media/baseset/orig_win.obm:57, media/baseset/orig_win.obm:81"
|
||||
|
||||
- name: "GM_TT14.GM"
|
||||
path: "openttd/baseset/GM_TT14.GM"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows music, Broomer's Oil Rag"
|
||||
required: false
|
||||
md5: "270e2d63bd32b95a4d007ce15a6ce45f"
|
||||
source_ref: "media/baseset/orig_win.obm:58, media/baseset/orig_win.obm:82"
|
||||
|
||||
- name: "GM_TT15.GM"
|
||||
path: "openttd/baseset/GM_TT15.GM"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows music, Goss Groove"
|
||||
required: false
|
||||
md5: "89e116a1c0c69f1845cc903a9bfbe460"
|
||||
source_ref: "media/baseset/orig_win.obm:59, media/baseset/orig_win.obm:83"
|
||||
|
||||
- name: "GM_TT16.GM"
|
||||
path: "openttd/baseset/GM_TT16.GM"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows music, Small Town"
|
||||
required: false
|
||||
md5: "f824e2371b3bedfe61aad4b9c62dd6be"
|
||||
source_ref: "media/baseset/orig_win.obm:60, media/baseset/orig_win.obm:84"
|
||||
|
||||
- name: "GM_TT17.GM"
|
||||
path: "openttd/baseset/GM_TT17.GM"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows music, Cruise Control"
|
||||
required: false
|
||||
md5: "1b23eebb0796c1ab99cd97fa7082cf7b"
|
||||
source_ref: "media/baseset/orig_win.obm:61, media/baseset/orig_win.obm:85"
|
||||
|
||||
- name: "GM_TT18.GM"
|
||||
path: "openttd/baseset/GM_TT18.GM"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows music, Stroll On"
|
||||
required: false
|
||||
md5: "15650de3bad645d0e88c4f5c7a2df92a"
|
||||
source_ref: "media/baseset/orig_win.obm:62, media/baseset/orig_win.obm:86"
|
||||
|
||||
- name: "GM_TT19.GM"
|
||||
path: "openttd/baseset/GM_TT19.GM"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows music, Funk Central"
|
||||
required: false
|
||||
md5: "7aec079e15bd09588660b85545ac4dfc"
|
||||
source_ref: "media/baseset/orig_win.obm:63, media/baseset/orig_win.obm:87"
|
||||
|
||||
- name: "GM_TT20.GM"
|
||||
path: "openttd/baseset/GM_TT20.GM"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows music, Jammit"
|
||||
required: false
|
||||
md5: "1509097889dee617aa1e9a1738a5a930"
|
||||
source_ref: "media/baseset/orig_win.obm:64, media/baseset/orig_win.obm:88"
|
||||
|
||||
- name: "GM_TT21.GM"
|
||||
path: "openttd/baseset/GM_TT21.GM"
|
||||
system: transport-tycoon-deluxe
|
||||
category: game_data
|
||||
description: "Transport Tycoon Deluxe Windows music, Movin' On"
|
||||
required: false
|
||||
md5: "a8d0aaad02e1a762d8d54cf81da56bab"
|
||||
source_ref: "media/baseset/orig_win.obm:65, media/baseset/orig_win.obm:89"
|
||||
@@ -0,0 +1,38 @@
|
||||
emulator: Osmose (RetroPie)
|
||||
type: standalone
|
||||
core_classification: community_fork
|
||||
source: "https://github.com/RetroPie/osmose-rpi"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "7775add582ad2595e876ca38d4675510f2df866e"
|
||||
core_version: "0.8.1+rpi20130302"
|
||||
display_name: "Sega - Master System / Game Gear (Osmose)"
|
||||
mode: standalone
|
||||
cores:
|
||||
- osmose
|
||||
systems:
|
||||
- sega-master-system
|
||||
- sega-game-gear
|
||||
|
||||
notes: |
|
||||
Bruno Vedder's OsmOse 0.8.1 as ported to the Raspberry Pi by palerider,
|
||||
with badman12345's joystick quit option (readme.rpi:1-13,
|
||||
Version.h:3). RetroPie builds the tree with make and launches
|
||||
osmose with the ROM and -tv -fs.
|
||||
|
||||
The cartridge is mapped directly at reset. No BIOS image is loaded:
|
||||
the memory control port handler only prints whether the program
|
||||
enables or disables the BIOS ROM.
|
||||
ref: IOMapper.cpp:124-131
|
||||
|
||||
The ROM is read as a plain file or as the first entry of a zip
|
||||
archive. Battery RAM comes from ./osmose_files/bbr/<rom>.bbr when
|
||||
present, and save states, screenshots, tile dumps and sound captures
|
||||
are written under ./osmose_files/. The configuration is
|
||||
~/.osmose/osmose.ini, written with defaults when absent. The on
|
||||
screen font is the bitmap compiled into TextWriter.cpp.
|
||||
ref: MemoryMapper.cpp:120-140, MemoryMapper.cpp:545-553,
|
||||
MemoryMapper.cpp:705-712, OsmoseConfiguration.cpp:26-58,
|
||||
OsmoseConfiguration.cpp:145, TextWriter.cpp:48
|
||||
|
||||
exclusion_note: "no BIOS or system file, the cartridge runs directly"
|
||||
files: []
|
||||
@@ -11,6 +11,7 @@ display_name: "Sony - PlayStation 2 (PCSX2 Legacy)"
|
||||
cores:
|
||||
- pcsx2-legacy
|
||||
- PCSX2-LEGACY
|
||||
- pcsx2-16
|
||||
systems:
|
||||
- sony-playstation-2
|
||||
mode: standalone
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
emulator: PCSX-ReARMed (standalone)
|
||||
type: standalone
|
||||
core_classification: embedded_hle
|
||||
source: "https://github.com/notaz/pcsx_rearmed"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "8b6c163575e6ce9a0537553e0d4ed4225315955e"
|
||||
core_version: "r26"
|
||||
display_name: "Sony - PlayStation (PCSX-ReARMed standalone)"
|
||||
mode: standalone
|
||||
cores:
|
||||
- pcsx-rearmed
|
||||
systems:
|
||||
- sony-playstation
|
||||
|
||||
notes: |
|
||||
notaz's own SDL front end of PCSX-ReARMed, the pcsx binary built by the
|
||||
repository's configure and make, not the libretro core. RetroPie
|
||||
builds it from master, creates a bios folder in its install directory,
|
||||
links SCPH1001.BIN from its BIOS directory into that folder and runs
|
||||
./pcsx -cdfile <image> from the install directory.
|
||||
|
||||
The BIOS folder is <home>/.pcsx/bios/. home is "." when a .pcsx folder
|
||||
exists in the working directory, which RetroPie provides, and the bios
|
||||
folder of the working directory then replaces it.
|
||||
ref: frontend/main.c:85-102, frontend/main.c:505-520, frontend/main.h:25-37
|
||||
|
||||
The front end names no BIOS file. At start it lists every regular file
|
||||
or link of exactly 512 KiB or 4 MiB in that folder, the menu offers them
|
||||
beside HLE, and the choice is saved in the configuration. Until a
|
||||
configuration has been saved the menu selects the first file the
|
||||
directory listing returns, and a launch with -cdfile that never opens
|
||||
the menu runs with HLE. psxMemReset reads the first 0x80000 bytes of
|
||||
the selected file and falls back to HLE when it cannot be read whole.
|
||||
ref: frontend/menu.c:2581-2632, frontend/menu.c:2535-2550,
|
||||
frontend/menu.c:1655-1661, frontend/main.c:452,
|
||||
libpcsxcore/psxmem.c:291-333
|
||||
|
||||
cheatpops.db, a cwcheat list read from the working directory when a disc
|
||||
is inserted, is optional and not installed by RetroPie.
|
||||
ref: frontend/main.c:312-321, frontend/main.c:398-401
|
||||
|
||||
files:
|
||||
- name: "SCPH1001.BIN"
|
||||
system: sony-playstation
|
||||
description: "PlayStation BIOS, any 512 KiB image, named as RetroPie links it"
|
||||
size: 524288
|
||||
validation: [size]
|
||||
required: false
|
||||
hle_fallback: true
|
||||
note: >-
|
||||
The code accepts any file name. SCPH1001.BIN is the one name RetroPie
|
||||
links into the bios folder, so it is the only image this install can
|
||||
list. A 4 MiB file is also listed, and only its first 512 KiB are
|
||||
loaded.
|
||||
source_ref: "frontend/menu.c:2619-2628, libpcsxcore/psxmem.c:314-327"
|
||||
@@ -0,0 +1,89 @@
|
||||
emulator: Perfect Dark (PC port)
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/fgsfdsfgs/perfect_dark"
|
||||
upstream: "https://github.com/fgsfdsfgs/perfect_dark"
|
||||
source_branch: port
|
||||
source_commit: "618a1f33865cc98c6fff95c9a5df8162443a643c"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "port 2025-06-14"
|
||||
display_name: "Perfect Dark (PC port)"
|
||||
cores: [pdark]
|
||||
systems: [pdark]
|
||||
|
||||
notes: |
|
||||
PC port of Perfect Dark built on the decompilation, by fgsfds. Each build
|
||||
plays one ROM revision, chosen at configure time (CMakeLists.txt:35,
|
||||
86-97): pd.x86_64.exe for ntsc-final, pd.pal.x86_64.exe for pal-final and
|
||||
pd.jpn.x86_64.exe for jpn-final. Game data is read out of that ROM at
|
||||
run time, nothing is extracted ahead.
|
||||
|
||||
RetroBat installs the three executables, built on 2025-06-14 at 10:06, a
|
||||
few minutes after the last commit of the port branch that day, which is
|
||||
the pin. Its launcher picks the executable from the pdark_region option or
|
||||
from the ROM file name, and copies the ROM to data/pd.<romid>.z64 in the
|
||||
install folder when that file is missing.
|
||||
ref: emulatorLauncher Generators/PortsLauncher.Generator.cs:107-130,
|
||||
emulatorLauncher Generators/PortsLauncher.Configuration.cs:1257-1290
|
||||
|
||||
Files are read from the base directory: --basedir, else data beside the
|
||||
executable in portable mode, else ./data when it exists, else data under
|
||||
the home path (port/src/fs.c:18, 96-121). At this revision the home path
|
||||
test reads a failed size lookup as success, so data beside the executable
|
||||
is not reached outside portable mode. RetroBat starts the port from its
|
||||
install folder, where ./data exists. The ROM is pd.<romid>.z64 there unless
|
||||
--rom-file names another path. A missing ROM, an archive, a size other
|
||||
than 33554432 bytes, or a header whose game code and title do not match
|
||||
the build ends the program with an error. No hash is checked.
|
||||
ref: port/src/romdata.c:26-50, 186-209, 382-401
|
||||
|
||||
pd.gbc, the Game Boy Color Perfect Dark, is checked at startup for its
|
||||
size, title, licensee and checksum bytes. When it passes, the game acts
|
||||
as if the cartridge sat in a Transfer Pak, which unlocks the cheats tied
|
||||
to it (port/src/romdata.c:53-54, 404-448, port/src/main.c:112,
|
||||
src/game/pak.c:5992-6007, src/game/cheats.c:406, 436).
|
||||
|
||||
files:
|
||||
- name: "pd.ntsc-final.z64"
|
||||
path: "data/pd.ntsc-final.z64"
|
||||
category: game_data
|
||||
system: pdark
|
||||
required: true
|
||||
size: 33554432
|
||||
description: "Perfect Dark (USA) (Rev 1) N64 ROM, game code NPDE"
|
||||
source_ref: "port/src/romdata.c:26-33, 191-209, 382-391"
|
||||
note: "Read by pd.x86_64.exe, the NTSC v1.1 build."
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "pd.pal-final.z64"
|
||||
path: "data/pd.pal-final.z64"
|
||||
category: game_data
|
||||
system: pdark
|
||||
required: false
|
||||
size: 33554432
|
||||
description: "Perfect Dark (Europe) N64 ROM, game code NPDP"
|
||||
source_ref: "port/src/romdata.c:26-27, 34-39, 191-209, 382-391"
|
||||
note: "Read only by pd.pal.x86_64.exe."
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "pd.jpn-final.z64"
|
||||
path: "data/pd.jpn-final.z64"
|
||||
category: game_data
|
||||
system: pdark
|
||||
required: false
|
||||
size: 33554432
|
||||
description: "Perfect Dark (Japan) N64 ROM, game code NPDJ"
|
||||
source_ref: "port/src/romdata.c:26-27, 40-45, 191-209, 382-391"
|
||||
note: "Read only by pd.jpn.x86_64.exe."
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "pd.gbc"
|
||||
path: "data/pd.gbc"
|
||||
category: game_data
|
||||
system: pdark
|
||||
required: false
|
||||
size: 4194304
|
||||
description: "Perfect Dark (Game Boy Color) ROM"
|
||||
source_ref: "port/src/romdata.c:53-54, 404-448"
|
||||
note: "Optional. Its presence unlocks the Transfer Pak cheats."
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
@@ -0,0 +1,71 @@
|
||||
emulator: Phoenix
|
||||
type: standalone
|
||||
core_classification: other
|
||||
source: "http://www.arts-union.ru"
|
||||
upstream: "http://www.arts-union.ru"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "2.8.JAG"
|
||||
display_name: "3DO, Atari Jaguar (Phoenix)"
|
||||
mode: standalone
|
||||
cores:
|
||||
- phoenix
|
||||
systems:
|
||||
- 3do
|
||||
- atari-jaguar
|
||||
|
||||
notes: |
|
||||
Closed-source 3DO and Atari Jaguar emulator by Altmer (Arts-Union), the
|
||||
author of FreeDO. This profile reads the build RetroBat installs,
|
||||
PhoenixEmuProject.exe 2.8.JAG (x86-64, dated 2023-01-05), with objdump and
|
||||
the strings it carries.
|
||||
|
||||
Phoenix names no BIOS file. Every dump is registered in phoenix.config.xml
|
||||
under a platform and a dump type: BIOS, CD-ROM, FMV-ROM, FONT-ROM and NVRAM
|
||||
for 3DO, BIOS and CARTRIDGE for Jaguar. emulatorlauncher rewrites that file
|
||||
before each launch, registering the game and, as the BIOS, panafz10.bin for
|
||||
3DO or "[BIOS] Atari Jaguar (World).j64" for Jaguar from the RetroBat bios
|
||||
folder (emulatorLauncher Generators/Phoenix.Generator.cs:23-95).
|
||||
|
||||
The 3DO machine is emulated at hardware level (MADAM, CLIO, the CEL engine
|
||||
and the ARM CPU) and starts from the BIOS dump. Its md5 is compared with
|
||||
two values, the PAL Anvil BIOS a48e6746 and the same image with RSA
|
||||
disabled cf11bbb5 (function at 0x4a10d0, strings at 0xb03a38 and
|
||||
0xb03a60), which the 2.8.J changelog lists as PAL BIOS support. FMV-ROM is
|
||||
the video module ROM, which the 1.2 changelog describes as viewable only,
|
||||
and FONT-ROM the kanji font of Japanese consoles. Two further md5 values
|
||||
(0xb03bd0, 0xb03bf8) are compared against the CD-ROM dump and set per game
|
||||
video parameters.
|
||||
|
||||
Jaguar cartridges run through the boot ROM, and the File menu offers to add
|
||||
a header, or a generic header, to a headerless cartridge
|
||||
dump so that the boot ROM accepts it.
|
||||
|
||||
files:
|
||||
- name: panafz10.bin
|
||||
system: 3do
|
||||
required: true
|
||||
description: "3DO BIOS"
|
||||
note: >-
|
||||
Any BIOS dump is accepted, registered as the 3DO BIOS. The name is the
|
||||
one RetroBat registers.
|
||||
|
||||
- name: panafz10e-anvil.bin
|
||||
system: 3do
|
||||
required: false
|
||||
md5: "a48e6746bd7edec0f40cff078f0bb19f"
|
||||
description: "PAL Anvil BIOS"
|
||||
note: "Recognized by md5 for PAL operation (0xb03a38, compared at 0x4a1144)."
|
||||
|
||||
- name: panafz10e-anvil-norsa.bin
|
||||
system: 3do
|
||||
required: false
|
||||
md5: "cf11bbb5a16d7af9875cca9de9a15e09"
|
||||
description: "PAL Anvil BIOS, RSA check disabled"
|
||||
note: "Recognized by md5 for PAL operation (0xb03a60, compared at 0x4a120d)."
|
||||
|
||||
- name: "[BIOS] Atari Jaguar (World).j64"
|
||||
system: atari-jaguar
|
||||
required: true
|
||||
description: "Jaguar boot ROM"
|
||||
note: >-
|
||||
Registered as the Jaguar BIOS. The name is the one RetroBat registers.
|
||||
@@ -0,0 +1,41 @@
|
||||
emulator: PiSNES
|
||||
type: standalone
|
||||
core_classification: frozen_snapshot
|
||||
source: "https://github.com/RetroPie/pisnes"
|
||||
upstream: "https://sourceforge.net/projects/pisnes/"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "a5b427f255f922cfa65e29c4285b3d565a4c9044"
|
||||
core_version: "1.39"
|
||||
display_name: "Nintendo - SNES (PiSNES)"
|
||||
mode: standalone
|
||||
cores:
|
||||
- pisnes
|
||||
systems:
|
||||
- nintendo-snes
|
||||
|
||||
notes: |
|
||||
Raspberry Pi port by Squid of Snes9x 1.39 (readme.txt:1-7,
|
||||
snes9x.h:44). RetroPie builds the tree with make, installs snes9x,
|
||||
snes9x.gui, snes9x.cfg.template and skins/, and launches snes9x with
|
||||
the ROM.
|
||||
|
||||
main() moves to the binary's directory and reads snes9x.cfg there.
|
||||
ref: unix/unix.cpp:232, unix/unix.cpp:260-272
|
||||
|
||||
The object list builds dsp1.o and leaves out the Super FX, C4, SA-1 and
|
||||
SPC7110 sources, which is why the readme names Star Fox and Yoshi's
|
||||
Island as not working. The SPC7110 graphics pack folders spc7110.cpp
|
||||
would read (SPL4-SP7, SMHT-SP7, FEOEZSP7, SJUMPSP7, MISC-SP7) are
|
||||
therefore never opened. S9xLoadSDD1Data, the S-DD1 graphics pack reader,
|
||||
is compiled and never called. No BS-X or Sufami Turbo BIOS is loaded by
|
||||
this version.
|
||||
ref: Makefile:33-39, readme.txt:9, spc7110.cpp:178-210, unix/unix.cpp:1239-1350
|
||||
|
||||
The ROM is read as a file or from a zip archive. The <rom>.srm battery
|
||||
save and a <rom>.pat Game Genie or Pro Action Replay list beside the
|
||||
ROM are user files. skins/rpimenu16.bmp is the game list front end
|
||||
background.
|
||||
ref: unix/unix.cpp:376, snes9x.cpp:515-545, unix/frontend.cpp:169
|
||||
|
||||
exclusion_note: "no BIOS or coprocessor ROM is read, the SPC7110 pack reader is not built and the S-DD1 one is never called"
|
||||
files: []
|
||||
@@ -0,0 +1,405 @@
|
||||
emulator: PPSSPP 1.5.4
|
||||
type: standalone
|
||||
core_classification: frozen_snapshot
|
||||
source: "https://github.com/hrydgard/ppsspp"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "a1e74d0d4f89ba3fa2d4fe64bac7a0fa16fc146f"
|
||||
core_version: "v1.5.4"
|
||||
display_name: "Sony - PlayStation Portable (PPSSPP 1.5.4)"
|
||||
mode: standalone
|
||||
cores:
|
||||
- ppsspp-1.5.4
|
||||
systems:
|
||||
- sony-psp
|
||||
|
||||
notes: |
|
||||
PPSSPP at the v1.5.4 tag, offered by RetroPie on VideoCore Raspberry Pi
|
||||
systems only. The package reuses the ppsspp build steps: cmake
|
||||
builds PPSSPPSDL and copies assets/ beside it, both are installed to
|
||||
the package directory, and PPSSPPSDL is launched from there with the
|
||||
ROM. ~/.config/ppsspp, the memory stick root, is moved into the psp
|
||||
configuration directory.
|
||||
|
||||
The PSP kernel is high level emulated, so no firmware image is read.
|
||||
|
||||
On Linux, assets are read through the VFS from <binary dir>/assets/,
|
||||
then the binary directory, /usr/share/ppsspp/assets/ and ./assets/.
|
||||
flash0: is <binary dir>/assets/flash0/. Paths below are written under
|
||||
ppsspp-1.5.4/, which stands for the binary's directory.
|
||||
ref: UI/NativeApp.cpp:329-335, UI/NativeApp.cpp:356-363
|
||||
|
||||
The 19 font slots of the sceFont registry are filled from the game's
|
||||
USRDIR, then ms0:/PSP/flash0/font/ on the memory stick, then flash0:.
|
||||
The repository ships open replacements for jpn0.pgf, kr0.pgf and
|
||||
ltn0.pgf to ltn15.pgf. zh_gb.pgf, the Chinese font, is marked
|
||||
ignoreIfMissing and is not shipped. A Sony font placed under the memory
|
||||
stick override path takes precedence over the replacement.
|
||||
ref: Core/HLE/sceFont.cpp:88-108, Core/HLE/sceFont.cpp:638-698
|
||||
|
||||
The PPGe atlas draws the emulated system dialogs. The UI atlas,
|
||||
langregion.ini and gamecontrollerdb.txt serve the host program, as do
|
||||
the translations under assets/lang and the post processing shaders
|
||||
under assets/shaders.
|
||||
ref: Core/Util/PPGeDraw.cpp:186-190, UI/NativeApp.cpp:630-633,
|
||||
Core/Config.cpp:270-280, SDL/SDLJoystick.cpp:23-36,
|
||||
ext/native/i18n/i18n.cpp:67, GPU/Common/PostShader.cpp:38
|
||||
|
||||
files:
|
||||
- name: "ppge_atlas.zim"
|
||||
path: "ppsspp-1.5.4/assets/ppge_atlas.zim"
|
||||
system: sony-psp
|
||||
description: "PPGe texture atlas for the emulated system dialogs"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 867257
|
||||
md5: "f46570c34bcf6a01cf20b93add725c3b"
|
||||
sha1: "f907477c2527028449310f21bb5fdb4c756f673f"
|
||||
crc32: "9317d985"
|
||||
note: >-
|
||||
Without it PanicAlert reports the file missing and PPGe draws
|
||||
nothing, while emulation goes on.
|
||||
source_ref: "Core/Util/PPGeDraw.cpp:186-190, ext/native/image/zim_load.cpp:124-135"
|
||||
|
||||
- name: "jpn0.pgf"
|
||||
path: "ppsspp-1.5.4/assets/flash0/font/jpn0.pgf"
|
||||
system: sony-psp
|
||||
description: "Open replacement PGF font, Japanese font, FTT-NewRodin Pro DB slot"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 4367080
|
||||
md5: "a9c9e37be81056c4ff16f97c5ea8a149"
|
||||
sha1: "8b0b4b978e647856cc2e441b60774746223b4949"
|
||||
crc32: "bd8cde31"
|
||||
note: >-
|
||||
Read from flash0: when neither the game nor the memory stick
|
||||
provides the font.
|
||||
source_ref: "Core/HLE/sceFont.cpp:91, Core/HLE/sceFont.cpp:667-698"
|
||||
|
||||
- name: "ltn0.pgf"
|
||||
path: "ppsspp-1.5.4/assets/flash0/font/ltn0.pgf"
|
||||
system: sony-psp
|
||||
description: "Open replacement PGF font, Latin font slot 0"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 67660
|
||||
md5: "d9dad4b1e7c365a2136d3469e46e8cd8"
|
||||
sha1: "834245b3aa53fa2aed62751890268371f0d92eb8"
|
||||
crc32: "192668bf"
|
||||
note: >-
|
||||
Read from flash0: when neither the game nor the memory stick
|
||||
provides the font.
|
||||
source_ref: "Core/HLE/sceFont.cpp:92, Core/HLE/sceFont.cpp:667-698"
|
||||
|
||||
- name: "ltn1.pgf"
|
||||
path: "ppsspp-1.5.4/assets/flash0/font/ltn1.pgf"
|
||||
system: sony-psp
|
||||
description: "Open replacement PGF font, Latin font slot 1"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 63504
|
||||
md5: "8b875d8686e59808fc343f5facabcd5d"
|
||||
sha1: "d02bcde33ab32d425aec47fdc9bc95c5c98c5e16"
|
||||
crc32: "a83f7c44"
|
||||
note: >-
|
||||
Read from flash0: when neither the game nor the memory stick
|
||||
provides the font.
|
||||
source_ref: "Core/HLE/sceFont.cpp:93, Core/HLE/sceFont.cpp:667-698"
|
||||
|
||||
- name: "ltn2.pgf"
|
||||
path: "ppsspp-1.5.4/assets/flash0/font/ltn2.pgf"
|
||||
system: sony-psp
|
||||
description: "Open replacement PGF font, Latin font slot 2"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 76692
|
||||
md5: "97c1849edee2142c5f93af694f6ecd8e"
|
||||
sha1: "0f562d1e5ea3b3d56be45b528541ef418020ba0f"
|
||||
crc32: "bbeab2b8"
|
||||
note: >-
|
||||
Read from flash0: when neither the game nor the memory stick
|
||||
provides the font.
|
||||
source_ref: "Core/HLE/sceFont.cpp:94, Core/HLE/sceFont.cpp:667-698"
|
||||
|
||||
- name: "ltn3.pgf"
|
||||
path: "ppsspp-1.5.4/assets/flash0/font/ltn3.pgf"
|
||||
system: sony-psp
|
||||
description: "Open replacement PGF font, Latin font slot 3"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 71900
|
||||
md5: "c0b6d1ce4b089142f1b9214d0a1f6d23"
|
||||
sha1: "dcc285d1a6fb8235af5108f37387fee756e309a8"
|
||||
crc32: "d1ec59b5"
|
||||
note: >-
|
||||
Read from flash0: when neither the game nor the memory stick
|
||||
provides the font.
|
||||
source_ref: "Core/HLE/sceFont.cpp:95, Core/HLE/sceFont.cpp:667-698"
|
||||
|
||||
- name: "ltn4.pgf"
|
||||
path: "ppsspp-1.5.4/assets/flash0/font/ltn4.pgf"
|
||||
system: sony-psp
|
||||
description: "Open replacement PGF font, Latin font slot 4"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 78920
|
||||
md5: "056e25c9f8a91408e60b27424488eec2"
|
||||
sha1: "c88737077233918442fdc8102a52590ca0a23d6f"
|
||||
crc32: "3bea67ea"
|
||||
note: >-
|
||||
Read from flash0: when neither the game nor the memory stick
|
||||
provides the font.
|
||||
source_ref: "Core/HLE/sceFont.cpp:96, Core/HLE/sceFont.cpp:667-698"
|
||||
|
||||
- name: "ltn5.pgf"
|
||||
path: "ppsspp-1.5.4/assets/flash0/font/ltn5.pgf"
|
||||
system: sony-psp
|
||||
description: "Open replacement PGF font, Latin font slot 5"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 76216
|
||||
md5: "7fe820db034066902ed20b0e2b23aa52"
|
||||
sha1: "8b92f492049f9a0792a8ddcece54cc780a17403a"
|
||||
crc32: "6ef95466"
|
||||
note: >-
|
||||
Read from flash0: when neither the game nor the memory stick
|
||||
provides the font.
|
||||
source_ref: "Core/HLE/sceFont.cpp:97, Core/HLE/sceFont.cpp:667-698"
|
||||
|
||||
- name: "ltn6.pgf"
|
||||
path: "ppsspp-1.5.4/assets/flash0/font/ltn6.pgf"
|
||||
system: sony-psp
|
||||
description: "Open replacement PGF font, Latin font slot 6"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 88716
|
||||
md5: "00de7bc98fd827834155aeaa52a6ff50"
|
||||
sha1: "6392abaf7bc864d10a36742e4a024e7713e7fa12"
|
||||
crc32: "b86d8513"
|
||||
note: >-
|
||||
Read from flash0: when neither the game nor the memory stick
|
||||
provides the font.
|
||||
source_ref: "Core/HLE/sceFont.cpp:98, Core/HLE/sceFont.cpp:667-698"
|
||||
|
||||
- name: "ltn7.pgf"
|
||||
path: "ppsspp-1.5.4/assets/flash0/font/ltn7.pgf"
|
||||
system: sony-psp
|
||||
description: "Open replacement PGF font, Latin font slot 7"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 84860
|
||||
md5: "60837a1f537774e2513777ed441579fb"
|
||||
sha1: "b32c3cae7c8d4139606038988b4b4b12f78185d8"
|
||||
crc32: "1ad81696"
|
||||
note: >-
|
||||
Read from flash0: when neither the game nor the memory stick
|
||||
provides the font.
|
||||
source_ref: "Core/HLE/sceFont.cpp:99, Core/HLE/sceFont.cpp:667-698"
|
||||
|
||||
- name: "ltn8.pgf"
|
||||
path: "ppsspp-1.5.4/assets/flash0/font/ltn8.pgf"
|
||||
system: sony-psp
|
||||
description: "Open replacement PGF font, Latin font slot 8"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 51432
|
||||
md5: "83c3ac2c5f3eb1f29c50509d5fac12db"
|
||||
sha1: "01626c31bec0587fbda5860f50b5e3a2aa55fc12"
|
||||
crc32: "293fc32a"
|
||||
note: >-
|
||||
Read from flash0: when neither the game nor the memory stick
|
||||
provides the font.
|
||||
source_ref: "Core/HLE/sceFont.cpp:100, Core/HLE/sceFont.cpp:667-698"
|
||||
|
||||
- name: "ltn9.pgf"
|
||||
path: "ppsspp-1.5.4/assets/flash0/font/ltn9.pgf"
|
||||
system: sony-psp
|
||||
description: "Open replacement PGF font, Latin font slot 9"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 50116
|
||||
md5: "88edad985862a859c1e3fb2ac8a5def3"
|
||||
sha1: "326be7cfe61cbddaaa9549563554971b6292f6aa"
|
||||
crc32: "cf796bad"
|
||||
note: >-
|
||||
Read from flash0: when neither the game nor the memory stick
|
||||
provides the font.
|
||||
source_ref: "Core/HLE/sceFont.cpp:101, Core/HLE/sceFont.cpp:667-698"
|
||||
|
||||
- name: "ltn10.pgf"
|
||||
path: "ppsspp-1.5.4/assets/flash0/font/ltn10.pgf"
|
||||
system: sony-psp
|
||||
description: "Open replacement PGF font, Latin font slot 10"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 55788
|
||||
md5: "1860058c8bf459230c070f2551b694fb"
|
||||
sha1: "a9f99612b599a4ce08ae2f83fe136a1e82fccc34"
|
||||
crc32: "4d2b37ef"
|
||||
note: >-
|
||||
Read from flash0: when neither the game nor the memory stick
|
||||
provides the font.
|
||||
source_ref: "Core/HLE/sceFont.cpp:102, Core/HLE/sceFont.cpp:667-698"
|
||||
|
||||
- name: "ltn11.pgf"
|
||||
path: "ppsspp-1.5.4/assets/flash0/font/ltn11.pgf"
|
||||
system: sony-psp
|
||||
description: "Open replacement PGF font, Latin font slot 11"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 54572
|
||||
md5: "6787304ff1b6e408bf087895f27a8fd8"
|
||||
sha1: "4ce3fd3d22106831d1f758929da384f2b51934a8"
|
||||
crc32: "3e1802bc"
|
||||
note: >-
|
||||
Read from flash0: when neither the game nor the memory stick
|
||||
provides the font.
|
||||
source_ref: "Core/HLE/sceFont.cpp:103, Core/HLE/sceFont.cpp:667-698"
|
||||
|
||||
- name: "ltn12.pgf"
|
||||
path: "ppsspp-1.5.4/assets/flash0/font/ltn12.pgf"
|
||||
system: sony-psp
|
||||
description: "Open replacement PGF font, Latin font slot 12"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 58352
|
||||
md5: "3137ec03ad4ccb0bee2ef063570a53e9"
|
||||
sha1: "8082f8cb91fcd5f17af7dc6312cdb90f0f3887f7"
|
||||
crc32: "ee171181"
|
||||
note: >-
|
||||
Read from flash0: when neither the game nor the memory stick
|
||||
provides the font.
|
||||
source_ref: "Core/HLE/sceFont.cpp:104, Core/HLE/sceFont.cpp:667-698"
|
||||
|
||||
- name: "ltn13.pgf"
|
||||
path: "ppsspp-1.5.4/assets/flash0/font/ltn13.pgf"
|
||||
system: sony-psp
|
||||
description: "Open replacement PGF font, Latin font slot 13"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 57660
|
||||
md5: "8aa1799e6dc507fd81ba8e4e0a1ac8ec"
|
||||
sha1: "ab3ee89579a6755a965e45919f4d771c80f62657"
|
||||
crc32: "a02763c5"
|
||||
note: >-
|
||||
Read from flash0: when neither the game nor the memory stick
|
||||
provides the font.
|
||||
source_ref: "Core/HLE/sceFont.cpp:105, Core/HLE/sceFont.cpp:667-698"
|
||||
|
||||
- name: "ltn14.pgf"
|
||||
path: "ppsspp-1.5.4/assets/flash0/font/ltn14.pgf"
|
||||
system: sony-psp
|
||||
description: "Open replacement PGF font, Latin font slot 14"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 63388
|
||||
md5: "41e32b026f85db942e2e10bdf3d2694e"
|
||||
sha1: "f7818e4560ad459fcb64b9bd17414816af5ed058"
|
||||
crc32: "f64e87aa"
|
||||
note: >-
|
||||
Read from flash0: when neither the game nor the memory stick
|
||||
provides the font.
|
||||
source_ref: "Core/HLE/sceFont.cpp:106, Core/HLE/sceFont.cpp:667-698"
|
||||
|
||||
- name: "ltn15.pgf"
|
||||
path: "ppsspp-1.5.4/assets/flash0/font/ltn15.pgf"
|
||||
system: sony-psp
|
||||
description: "Open replacement PGF font, Latin font slot 15"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 62364
|
||||
md5: "93ea5b6541d131cb582ca609e918f0a9"
|
||||
sha1: "95285a9b90ee0375d843a07dd718d287f8733547"
|
||||
crc32: "32fa42cc"
|
||||
note: >-
|
||||
Read from flash0: when neither the game nor the memory stick
|
||||
provides the font.
|
||||
source_ref: "Core/HLE/sceFont.cpp:107, Core/HLE/sceFont.cpp:667-698"
|
||||
|
||||
- name: "kr0.pgf"
|
||||
path: "ppsspp-1.5.4/assets/flash0/font/kr0.pgf"
|
||||
system: sony-psp
|
||||
description: "Open replacement PGF font, Korean font, AsiaNHH slot"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 883164
|
||||
md5: "7e2a70c5ff07e4d8859d64798ffbb499"
|
||||
sha1: "b7ab295d15bd8c103c42eab7fb7c7ec447915b40"
|
||||
crc32: "73473af5"
|
||||
note: >-
|
||||
Read from flash0: when neither the game nor the memory stick
|
||||
provides the font.
|
||||
source_ref: "Core/HLE/sceFont.cpp:108, Core/HLE/sceFont.cpp:667-698"
|
||||
|
||||
- name: "compat.ini"
|
||||
path: "ppsspp-1.5.4/assets/compat.ini"
|
||||
system: sony-psp
|
||||
category: game_data
|
||||
description: "Per game compatibility settings"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 8886
|
||||
md5: "501d056e79b455ba53fe72c3be70aeab"
|
||||
sha1: "47a8b96012b525c896d1d054585853ebf827a55d"
|
||||
crc32: "6c897d98"
|
||||
note: >-
|
||||
Read for every game, then the user copy in the memory stick SYSTEM
|
||||
folder overrides it.
|
||||
source_ref: "Core/Compatibility.cpp:24-40"
|
||||
|
||||
- name: "langregion.ini"
|
||||
path: "ppsspp-1.5.4/assets/langregion.ini"
|
||||
system: sony-psp
|
||||
description: "Language and region name mapping"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 1212
|
||||
md5: "2c7ed57910d8f31715feb8f215080d3b"
|
||||
sha1: "9ba05906cd40659f339bbcd5ae2e8badc21dd69d"
|
||||
crc32: "d0bf8c07"
|
||||
unsourceable: "host configuration installed with the binary"
|
||||
note: >-
|
||||
Read when the system locale has no translation file of its own.
|
||||
source_ref: "Core/Config.cpp:270-280"
|
||||
|
||||
- name: "ui_atlas.zim"
|
||||
path: "ppsspp-1.5.4/assets/ui_atlas.zim"
|
||||
system: sony-psp
|
||||
description: "Texture atlas of the PPSSPP user interface"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 1684804
|
||||
md5: "cf54479fffd1980c9fb01aed532f2220"
|
||||
sha1: "991424050a2e361b8b4ceb5aba0540bb00505e6a"
|
||||
crc32: "3f2d4e98"
|
||||
unsourceable: "host user interface installed with the binary"
|
||||
note: >-
|
||||
PanicAlert when missing. Only the Windows build exits, the others
|
||||
continue without the UI texture.
|
||||
source_ref: "UI/NativeApp.cpp:630-633"
|
||||
|
||||
- name: "gamecontrollerdb.txt"
|
||||
path: "ppsspp-1.5.4/assets/gamecontrollerdb.txt"
|
||||
system: sony-psp
|
||||
description: "SDL game controller mappings"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 50682
|
||||
md5: "65ccdaac2c2cffbc3b8f84d334daa17c"
|
||||
sha1: "b992498c1bf643060190ee74a0821b98aaee1f5c"
|
||||
crc32: "93896085"
|
||||
unsourceable: "host controller database installed with the binary"
|
||||
note: >-
|
||||
Read by the SDL front end at start. A missing file only drops the
|
||||
mappings.
|
||||
source_ref: "SDL/SDLJoystick.cpp:23-36"
|
||||
|
||||
- name: "zh_gb.pgf"
|
||||
path: "ppsspp-1.5.4/assets/flash0/font/zh_gb.pgf"
|
||||
system: sony-psp
|
||||
description: "Chinese PGF font, FTT-NewRodin Pro DB"
|
||||
required: false
|
||||
note: >-
|
||||
First registry slot, flagged ignoreIfMissing and not shipped. Read
|
||||
from the game's USRDIR, the memory stick override path or flash0:
|
||||
when present.
|
||||
source_ref: "Core/HLE/sceFont.cpp:88-90, Core/HLE/sceFont.cpp:667-698"
|
||||
@@ -0,0 +1,191 @@
|
||||
emulator: pSxMAME
|
||||
type: standalone
|
||||
core_classification: enhanced_fork
|
||||
source: "https://github.com/mamedev/mame"
|
||||
upstream: "https://github.com/mamedev/mame"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "0fdce58484202265b0794a77652bb5e3da9c56af"
|
||||
core_version: "0.133"
|
||||
display_name: "Arcade PSX boards (pSxMAME)"
|
||||
mode: standalone
|
||||
cores:
|
||||
- psxmame
|
||||
systems:
|
||||
- arcade
|
||||
|
||||
notes: |
|
||||
MAME build reduced to the PlayStation based arcade boards, with the ZiNc
|
||||
GPU and SPU plugins added. RetroBat installs it for its zinc system. The
|
||||
mame.exe in that package announces itself as "pSxMAME 20090903" and no
|
||||
source tree for that build is published, so this profile reads the
|
||||
binary and checks it against MAME 0.133, the release whose ROM
|
||||
definitions it carries: every BIOS root set below sits in the binary with
|
||||
the same names and the same "c:<crc32>#s:<sha1>#" hash strings, those of
|
||||
the mame0133 tag.
|
||||
|
||||
The binary keeps 12 of the 36 BIOS root sets of that release: the nine of
|
||||
zn.c, plus taitogn.c, ksys573.c and konamigv.c. emulatorlauncher runs
|
||||
`mame.exe -skip_gameinfo -rompath <bios>/psxmame/bios;<game folder>
|
||||
... <set>` (emulatorLauncher Generators/PSXMame.Generator.cs:20-110).
|
||||
|
||||
A ROM missing from its set is fatal unless it is optional or has no good
|
||||
dump (src/emu/romload.c:427-449, src/emu/romload.c:594). Of a set with
|
||||
BIOS options only the selected option is read, the first one by default
|
||||
(src/emu/romload.c:330-380, src/emu/romload.c:933). The archive is never
|
||||
hashed, its members are, so the hashes sit in contents.
|
||||
|
||||
files:
|
||||
- name: "cpzn1.zip"
|
||||
system: arcade
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "ZN1"
|
||||
source_ref: "src/mame/drivers/zn.c:4362, src/mame/drivers/zn.c:2773-2775"
|
||||
contents:
|
||||
- name: "coh-1000c.353"
|
||||
size: 524288
|
||||
crc32: "50033af6"
|
||||
sha1: "486d92ff6c7f1e54f8e0ef41cd9116eca0e10e1a"
|
||||
|
||||
- name: "cpzn2.zip"
|
||||
system: arcade
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "ZN2"
|
||||
source_ref: "src/mame/drivers/zn.c:4381, src/mame/drivers/zn.c:3032-3034"
|
||||
contents:
|
||||
- name: "coh-3002c.353"
|
||||
size: 524288
|
||||
crc32: "e860ea8b"
|
||||
sha1: "66e7e1d4e426466b8f48a2ba055a91b475569504"
|
||||
|
||||
- name: "atpsx.zip"
|
||||
system: arcade
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "Atari PSX"
|
||||
source_ref: "src/mame/drivers/zn.c:4408, src/mame/drivers/zn.c:4243-4245"
|
||||
contents:
|
||||
- name: "coh-1000w.353"
|
||||
size: 524288
|
||||
crc32: "45e8a4b4"
|
||||
sha1: "815488d8563c85f97fbc3384ff21f08e4c88b7b7"
|
||||
|
||||
- name: "acpsx.zip"
|
||||
system: arcade
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "Acclaim PSX"
|
||||
source_ref: "src/mame/drivers/zn.c:4417, src/mame/drivers/zn.c:4266-4268"
|
||||
contents:
|
||||
- name: "coh-1000a.353"
|
||||
size: 524288
|
||||
crc32: "8d8d0764"
|
||||
sha1: "7ee83d317190bb1cef2f8f01c81eaaae47150ebb"
|
||||
|
||||
- name: "tps.zip"
|
||||
system: arcade
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "TPS"
|
||||
source_ref: "src/mame/drivers/zn.c:4428, src/mame/drivers/zn.c:3476-3478"
|
||||
contents:
|
||||
- name: "coh-1002m.353"
|
||||
size: 524288
|
||||
crc32: "69ffbcb4"
|
||||
sha1: "03eb2febfab3fcde716defff291babd9392de965"
|
||||
|
||||
- name: "vspsx.zip"
|
||||
system: arcade
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "Video System PSX"
|
||||
source_ref: "src/mame/drivers/zn.c:4450, src/mame/drivers/zn.c:3713-3715"
|
||||
contents:
|
||||
- name: "coh-1002v.353"
|
||||
size: 524288
|
||||
crc32: "5ff165f3"
|
||||
sha1: "8f59314c1093446b9bcb06d232244da6df78e206"
|
||||
|
||||
- name: "taitofx1.zip"
|
||||
system: arcade
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "Taito FX1"
|
||||
source_ref: "src/mame/drivers/zn.c:4460, src/mame/drivers/zn.c:3762-3764"
|
||||
contents:
|
||||
- name: "coh-1000t.353"
|
||||
size: 524288
|
||||
crc32: "e3f23b6e"
|
||||
sha1: "e18907cf8c6ba54d96edba0a9a00487a90219e0d"
|
||||
|
||||
- name: "psarc95.zip"
|
||||
system: arcade
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "PS Arcade 95"
|
||||
source_ref: "src/mame/drivers/zn.c:4483, src/mame/drivers/zn.c:4039-4041"
|
||||
contents:
|
||||
- name: "coh-1002e.353"
|
||||
size: 524288
|
||||
crc32: "910f3a8b"
|
||||
sha1: "cd68532967a25f476a6d73473ec6b6f4df2e1689"
|
||||
|
||||
- name: "atluspsx.zip"
|
||||
system: arcade
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "Atlus PSX"
|
||||
source_ref: "src/mame/drivers/zn.c:4502, src/mame/drivers/zn.c:4328-4330"
|
||||
contents:
|
||||
- name: "coh-1001l.353"
|
||||
size: 524288
|
||||
crc32: "6721146b"
|
||||
sha1: "9511d24bfe25eb180fb2db0835b131cb4a12730e"
|
||||
|
||||
- name: "taitogn.zip"
|
||||
system: arcade
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "Taito GNET"
|
||||
source_ref: "src/mame/drivers/taitogn.c:1286, src/mame/drivers/taitogn.c:1070-1081"
|
||||
note: >-
|
||||
flash.u30 is G-NET BIOS v1, the default option, and flashv2.u30 is v2,
|
||||
read only when that option is chosen.
|
||||
contents:
|
||||
- name: "coh-3002t.353"
|
||||
size: 524288
|
||||
crc32: "03967fa7"
|
||||
sha1: "0e17fec2286e4e25deb23d40e41ce0986f373d49"
|
||||
- name: "flash.u30"
|
||||
size: 2097152
|
||||
crc32: "c48c8236"
|
||||
sha1: "c6dad60266ce2ff635696bc0d91903c543273559"
|
||||
- name: "flashv2.u30"
|
||||
size: 2097152
|
||||
crc32: "cae462d3"
|
||||
sha1: "f1b10846a8423d9fe021191c5876190857c3d2a4"
|
||||
|
||||
- name: "sys573.zip"
|
||||
system: arcade
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "System 573 BIOS"
|
||||
source_ref: "src/mame/drivers/ksys573.c:4697, src/mame/drivers/ksys573.c:3186"
|
||||
contents:
|
||||
- name: "700a01.22g"
|
||||
size: 524288
|
||||
crc32: "11812ef8"
|
||||
sha1: "e1284add4aaddd5337bd7f4e27614460d52b5b48"
|
||||
|
||||
- name: "konamigv.zip"
|
||||
system: arcade
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "Baby Phoenix/GV System"
|
||||
source_ref: "src/mame/drivers/konamigv.c:895, src/mame/drivers/konamigv.c:785-787"
|
||||
contents:
|
||||
- name: "999a01.7e"
|
||||
size: 524288
|
||||
crc32: "ad498d2d"
|
||||
sha1: "02a82a2fe1fba0404517c3602324bfa64e23e478"
|
||||
@@ -0,0 +1,113 @@
|
||||
emulator: Quake 3 (Raspberry Pi)
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/raspberrypi/quake3"
|
||||
upstream: "https://github.com/ioquake/ioq3"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "8d89a2a3c1707bf0f75b2ea26645b872e97c0b95"
|
||||
core_version: "1.35"
|
||||
display_name: "Quake III Arena (Raspberry Pi port)"
|
||||
cores: [quake3]
|
||||
systems: [quake3]
|
||||
verification: existence
|
||||
|
||||
notes: |
|
||||
The Raspberry Pi Foundation's ioquake3 1.35 snapshot with an OpenGL ES
|
||||
renderer for the VideoCore GPU (VERSION=1.35, Makefile:194). RetroPie
|
||||
builds it with build_rpi_raspbian.sh and installs ioquake3.arm and
|
||||
ioq3ded.arm, then links $md_inst/baseq3 to $romdir/ports/quake3.
|
||||
|
||||
BASEGAME = "baseq3" (code/qcommon/q_shared.h:37). fs_basepath defaults to
|
||||
the directory of the binary (code/sys/sys_main.c:474-479, 574), and
|
||||
FS_Startup mounts baseq3 under fs_basepath and fs_homepath (~/.q3a),
|
||||
then fs_game when set (code/qcommon/files.c:2762-2773, 2785-2787).
|
||||
|
||||
FS_CheckPak0 compares the pak checksum of baseq3/pak0.pk3 through
|
||||
pak8.pk3 to pak_checksums[] (code/qcommon/files.c:178-188, 2886-2910).
|
||||
This snapshot predates the Team Arena checksums: missionpack is only
|
||||
an ordinary mod directory here. A mismatch prints a warning and the pak
|
||||
stays mounted. A missing pak prints a message too, but the fatal error
|
||||
that follows is commented out (code/qcommon/files.c:2918-2943), so the
|
||||
point release paks are optional. What stops the engine is a missing
|
||||
default.cfg (code/qcommon/files.c:3328-3329), which only pak0.pk3
|
||||
carries.
|
||||
|
||||
demoq3/pak0.pk3 with DEMO_PAK0_CHECKSUM is recognised and printed as a
|
||||
demo pak (code/qcommon/files.c:177, 2870-2884). RetroPie instead
|
||||
extracts its Q3DemoPaks.zip, the demo pak0.pk3 with the 1.32 point
|
||||
release paks, flat into baseq3/. The demo pak then fails the pak0
|
||||
checksum with a warning and runs.
|
||||
|
||||
files:
|
||||
- name: "pak0.pk3"
|
||||
category: game_data
|
||||
system: quake3
|
||||
path: "baseq3/pak0.pk3"
|
||||
required: true
|
||||
source_ref: "code/qcommon/files.c:179 (pak_checksums[0]=1566731103u), 2890 (per-index checksum compare), 3328-3329 (fatal without default.cfg)"
|
||||
note: "Retail Quake III Arena base pak. Engine prints a warning on checksum mismatch, does not refuse the file."
|
||||
unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in"
|
||||
|
||||
- name: "pak1.pk3"
|
||||
category: game_data
|
||||
system: quake3
|
||||
path: "baseq3/pak1.pk3"
|
||||
required: false
|
||||
source_ref: "code/qcommon/files.c:180 (pak_checksums[1]=298122907u), 2918-2943 (absence reported, not fatal)"
|
||||
|
||||
- name: "pak2.pk3"
|
||||
category: game_data
|
||||
system: quake3
|
||||
path: "baseq3/pak2.pk3"
|
||||
required: false
|
||||
source_ref: "code/qcommon/files.c:181 (pak_checksums[2]=412165236u), 2918-2943 (absence reported, not fatal)"
|
||||
|
||||
- name: "pak3.pk3"
|
||||
category: game_data
|
||||
system: quake3
|
||||
path: "baseq3/pak3.pk3"
|
||||
required: false
|
||||
source_ref: "code/qcommon/files.c:182 (pak_checksums[3]=2991495316u), 2918-2943 (absence reported, not fatal)"
|
||||
|
||||
- name: "pak4.pk3"
|
||||
category: game_data
|
||||
system: quake3
|
||||
path: "baseq3/pak4.pk3"
|
||||
required: false
|
||||
source_ref: "code/qcommon/files.c:183 (pak_checksums[4]=1197932710u), 2918-2943 (absence reported, not fatal)"
|
||||
|
||||
- name: "pak5.pk3"
|
||||
category: game_data
|
||||
system: quake3
|
||||
path: "baseq3/pak5.pk3"
|
||||
required: false
|
||||
source_ref: "code/qcommon/files.c:184 (pak_checksums[5]=4087071573u), 2918-2943 (absence reported, not fatal)"
|
||||
|
||||
- name: "pak6.pk3"
|
||||
category: game_data
|
||||
system: quake3
|
||||
path: "baseq3/pak6.pk3"
|
||||
required: false
|
||||
source_ref: "code/qcommon/files.c:185 (pak_checksums[6]=3709064859u), 2918-2943 (absence reported, not fatal)"
|
||||
|
||||
- name: "pak7.pk3"
|
||||
category: game_data
|
||||
system: quake3
|
||||
path: "baseq3/pak7.pk3"
|
||||
required: false
|
||||
source_ref: "code/qcommon/files.c:186 (pak_checksums[7]=908855077u), 2918-2943 (absence reported, not fatal)"
|
||||
|
||||
- name: "pak8.pk3"
|
||||
category: game_data
|
||||
system: quake3
|
||||
path: "baseq3/pak8.pk3"
|
||||
required: false
|
||||
source_ref: "code/qcommon/files.c:187 (pak_checksums[8]=977125798u), 2918-2943 (absence reported, not fatal)"
|
||||
|
||||
- name: "pak0.pk3"
|
||||
category: game_data
|
||||
system: quake3
|
||||
path: "demoq3/pak0.pk3"
|
||||
required: false
|
||||
source_ref: "code/qcommon/files.c:177 (DEMO_PAK0_CHECKSUM=2985612116u), 2870-2884 (demoq3 pak0 checksum compare)"
|
||||
note: "Demo pak, recognised under demoq3/ by this checksum and counted as baseq3/pak0.pk3."
|
||||
@@ -0,0 +1,277 @@
|
||||
emulator: RAINE
|
||||
type: standalone
|
||||
core_classification: other
|
||||
source: "https://github.com/zelurker/raine"
|
||||
upstream: "https://github.com/zelurker/raine"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "8e25d5d8907ae459181610912b0030c955683015"
|
||||
core_version: "0.97.5"
|
||||
display_name: "Arcade (RAINE)"
|
||||
mode: standalone
|
||||
cores:
|
||||
- raine
|
||||
systems:
|
||||
- arcade
|
||||
- snk-neogeo-mvs
|
||||
- snk-neogeo-cd
|
||||
|
||||
notes: |
|
||||
Multi-system arcade emulator by Emmanuel Anne, built on SDL2. RetroBat
|
||||
installs a package whose raine.exe reports 0.97.5 and carries the joystick
|
||||
dead zone setting added on 2025-03-15, one day before the build date, so the
|
||||
pin is the last commit before that build. Its hiscore.dat, command.dat and
|
||||
history.dat are byte for byte the ones at that commit.
|
||||
|
||||
emulatorlauncher runs `raine.exe -n -fs 0|1 <set>` from the package folder
|
||||
and rewrites config/raine32_sdl.cfg first: rom_dir_0 is the folder of the
|
||||
game, rom_dir_1 the RetroBat bios folder, neocd_bios points at
|
||||
bios/neocdz.zip, emudx and artwork stay under the package, and the Neo-Geo
|
||||
BIOS selection defaults to 25
|
||||
(emulatorLauncher Generators/Raine.Generator.cs:76-142).
|
||||
|
||||
A set is loaded from each rom_dir in turn as <set>.zip, <set>.7z or a
|
||||
<set>/ folder (source/loadroms.c:258-275). Inside an archive a ROM is found
|
||||
by CRC32 first and by name second (source/files.c:370-403). A ROM missing
|
||||
from the set and its parents ends the load with a fatal error
|
||||
(source/loadroms.c:1301-1316). The Windows build has curl and, before
|
||||
giving up, offers to download a missing archive from archive.org, neogeo.zip
|
||||
included (source/loadroms.c:1200-1240).
|
||||
|
||||
Files read from the shared folder go through get_shared, which tries the
|
||||
current directory, then the share path, then share path config/
|
||||
(source/files.c:50-95). On Windows the share path is the folder of the
|
||||
executable (source/raine.c:378).
|
||||
|
||||
files:
|
||||
- name: "neogeo.zip"
|
||||
system: snk-neogeo-mvs
|
||||
required: true
|
||||
category: bios_zip
|
||||
description: "Neo-Geo BIOS set"
|
||||
note: >-
|
||||
Parent of every MVS set (ROMOF("neogeo") in the drivers). The board ROMs
|
||||
come from rom_neogeo and the 68K BIOS from the rom_bios list, picked by
|
||||
the [neogeo] bios index (source/neocd/neocd.c:159-161). Index 0 is
|
||||
sp-s2.sp1, RetroBat writes 25 by default, uni-bios_3_2.rom. The
|
||||
selected BIOS, sm1.sm1, 000-lo.lo and sfix.sfix are read for every MVS
|
||||
game, and a missing one ends the load. Members are matched by CRC32,
|
||||
so sp-s3.sp1 answers for asia-s3.rom.
|
||||
source_ref: "source/games/neogeo.c:22-61, source/games/neogeo.c:65-74, source/games/neogeo.c:224-229"
|
||||
contents:
|
||||
- name: "sp-s2.sp1"
|
||||
size: 131072
|
||||
crc32: "9036d879"
|
||||
- name: "sp-s.sp1"
|
||||
size: 131072
|
||||
crc32: "c7f2fa45"
|
||||
- name: "sp-u2.sp1"
|
||||
size: 131072
|
||||
crc32: "e72943de"
|
||||
- name: "sp-e.sp1"
|
||||
size: 131072
|
||||
crc32: "2723a5b5"
|
||||
- name: "asia-s3.rom"
|
||||
size: 131072
|
||||
crc32: "91b64be3"
|
||||
- name: "vs-bios.rom"
|
||||
size: 131072
|
||||
crc32: "f0e8f27d"
|
||||
- name: "sp-j2.sp1"
|
||||
size: 131072
|
||||
crc32: "acede59c"
|
||||
- name: "sp1.jipan.1024"
|
||||
size: 131072
|
||||
crc32: "9fb0abe4"
|
||||
- name: "sp-45.sp1"
|
||||
size: 524288
|
||||
crc32: "03cc9f6a"
|
||||
- name: "japan-j3.bin"
|
||||
size: 131072
|
||||
crc32: "dff6d41f"
|
||||
- name: "sp-1v1_3db8c.bin"
|
||||
size: 131072
|
||||
crc32: "162f0ebe"
|
||||
- name: "uni-bios_3_1.rom"
|
||||
size: 131072
|
||||
crc32: "0c58093f"
|
||||
- name: "uni-bios_3_0.rom"
|
||||
size: 131072
|
||||
crc32: "a97c89a9"
|
||||
- name: "uni-bios_2_3.rom"
|
||||
size: 131072
|
||||
crc32: "27664eb5"
|
||||
- name: "uni-bios_2_2.rom"
|
||||
size: 131072
|
||||
crc32: "2d50996a"
|
||||
- name: "uni-bios_2_1.rom"
|
||||
size: 131072
|
||||
crc32: "8dabf76b"
|
||||
- name: "uni-bios_2_0.rom"
|
||||
size: 131072
|
||||
crc32: "0c12c2ad"
|
||||
- name: "uni-bios_1_3.rom"
|
||||
size: 131072
|
||||
crc32: "b24b44a0"
|
||||
- name: "uni-bios_1_2.rom"
|
||||
size: 131072
|
||||
crc32: "4fa698e9"
|
||||
- name: "uni-bios_1_1.rom"
|
||||
size: 131072
|
||||
crc32: "5dda0d84"
|
||||
- name: "uni-bios_1_0.rom"
|
||||
size: 131072
|
||||
crc32: "0ce453a0"
|
||||
- name: "neodebug.rom"
|
||||
size: 131072
|
||||
crc32: "698ebb7d"
|
||||
- name: "neo-epo.sp1"
|
||||
size: 131072
|
||||
crc32: "d27a71f1"
|
||||
- name: "neo-po.sp1"
|
||||
size: 131072
|
||||
crc32: "16d0c132"
|
||||
- name: "236-bios.sp1"
|
||||
size: 131072
|
||||
crc32: "853e6b96"
|
||||
- name: "uni-bios_3_2.rom"
|
||||
size: 131072
|
||||
crc32: "a4e8b9b3"
|
||||
- name: "uni-bios_3_3.rom"
|
||||
size: 131072
|
||||
crc32: "24858466"
|
||||
- name: "uni-bios_4_0.rom"
|
||||
size: 131072
|
||||
crc32: "a7aab458"
|
||||
- name: "sm1.sm1"
|
||||
size: 131072
|
||||
crc32: "94416d67"
|
||||
- name: "000-lo.lo"
|
||||
size: 131072
|
||||
crc32: "5a86cff2"
|
||||
- name: "sfix.sfix"
|
||||
size: 131072
|
||||
crc32: "c2ea0cfd"
|
||||
|
||||
- name: "neocd.bin"
|
||||
system: snk-neogeo-cd
|
||||
required: true
|
||||
size: 524288
|
||||
description: "Neo-Geo CD BIOS"
|
||||
note: >-
|
||||
Path from [neocd] neocd_bios (source/raine.c:571). Left empty, neocd.bin
|
||||
then neocd.zip are looked up through get_shared. A path ending in zip is
|
||||
opened and its neocd.bin member read by name, anything else is read raw,
|
||||
0x80000 bytes. Nothing found opens a file dialog once, then the program
|
||||
exits. The image is byte swapped when the word at 0x582 reads f94e and
|
||||
rejected unless it then reads 4ef9. RetroBat sets neocd_bios to
|
||||
neocdz.zip in its bios folder, which must hold a neocd.bin member.
|
||||
source_ref: "source/neocd/neocd.c:335-385"
|
||||
|
||||
- name: "hiscore.dat"
|
||||
category: game_data
|
||||
required: false
|
||||
bundled: true
|
||||
size: 82413
|
||||
sha1: "4c1d58f7c1830694933e472ec1289060f7083fa9"
|
||||
md5: "c996961db77b48b54a2daa3cda12da0d"
|
||||
description: "High score save definitions"
|
||||
source_ref: "source/hiscore.c:23, source/hiscore.c:302"
|
||||
|
||||
- name: "history.dat"
|
||||
category: game_data
|
||||
required: false
|
||||
bundled: true
|
||||
size: 1991177
|
||||
sha1: "ce810602b74214726059bbd12e8010dc077aef3d"
|
||||
md5: "4941042df918f0f1370e2b70d0f7d0de"
|
||||
description: "Game history text"
|
||||
source_ref: "source/history.c:56, source/emumain.c:640-645"
|
||||
|
||||
- name: "command.dat"
|
||||
category: game_data
|
||||
required: false
|
||||
bundled: true
|
||||
size: 1479437
|
||||
sha1: "0b358f637e01b10f7a4d45b774ebf7950fcec466"
|
||||
md5: "0ed03c88b93b036f2f0035f32b200f27"
|
||||
description: "Move lists"
|
||||
source_ref: "source/history.c:56, source/emumain.c:640-645"
|
||||
|
||||
- name: "gamecontrollerdb.txt"
|
||||
category: game_data
|
||||
required: false
|
||||
bundled: true
|
||||
size: 504115
|
||||
sha1: "9963636d2f9decc72e36bb3c5a9f568ad6a74710"
|
||||
md5: "0727c8530c51fbd030c710d2af4389cb"
|
||||
description: "SDL gamepad mappings"
|
||||
note: >-
|
||||
Added to SDL when present, followed by config/userdb.txt. The RetroBat
|
||||
package carries a different revision of this file.
|
||||
source_ref: "source/sdl/control.c:2373-2382"
|
||||
|
||||
- name: "dkongm.dx2"
|
||||
path: "emudx/dkongm.dx2"
|
||||
system: arcade
|
||||
category: game_data
|
||||
required: false
|
||||
description: "EmuDX sound pack, Donkey Kong"
|
||||
note: "Without it dkong and dkongjp run with no sound and a warning."
|
||||
source_ref: "source/emudx.c:29-46, source/games/dkong.c:832-837"
|
||||
|
||||
- name: "dkongg.dx2"
|
||||
path: "emudx/dkongg.dx2"
|
||||
system: arcade
|
||||
category: game_data
|
||||
required: false
|
||||
description: "EmuDX graphics pack, Donkey Kong"
|
||||
source_ref: "source/games/dkong.c:839-860"
|
||||
|
||||
- name: "froggerm.dx2"
|
||||
path: "emudx/froggerm.dx2"
|
||||
system: arcade
|
||||
category: game_data
|
||||
required: false
|
||||
description: "EmuDX sound pack, Frogger"
|
||||
note: "Without it the EmuDX Frogger runs with no sound and a warning."
|
||||
source_ref: "source/games/frogger.c:1444-1449"
|
||||
|
||||
- name: "froggerg.dx2"
|
||||
path: "emudx/froggerg.dx2"
|
||||
system: arcade
|
||||
category: game_data
|
||||
required: false
|
||||
description: "EmuDX graphics pack, Frogger"
|
||||
source_ref: "source/games/frogger.c:1451-1458"
|
||||
|
||||
- name: "galdxm.dx2"
|
||||
path: "emudx/galdxm.dx2"
|
||||
system: arcade
|
||||
category: game_data
|
||||
required: false
|
||||
description: "EmuDX sound pack, Galaxian"
|
||||
source_ref: "source/games/frogger.c:1263, source/games/galaga.c:1082"
|
||||
|
||||
- name: "galdxg.dx2"
|
||||
path: "emudx/galdxg.dx2"
|
||||
system: arcade
|
||||
category: game_data
|
||||
required: false
|
||||
description: "EmuDX graphics pack, Galaxian"
|
||||
source_ref: "source/games/frogger.c:1466-1473"
|
||||
|
||||
- name: "pacmang.dx2"
|
||||
path: "emudx/pacmang.dx2"
|
||||
system: arcade
|
||||
category: game_data
|
||||
required: false
|
||||
description: "EmuDX graphics pack, Pac-Man"
|
||||
source_ref: "source/games/pengo.c:1853-1860"
|
||||
|
||||
- name: "mspacmang.dx2"
|
||||
path: "emudx/mspacmang.dx2"
|
||||
system: arcade
|
||||
category: game_data
|
||||
required: false
|
||||
description: "EmuDX graphics pack, Ms. Pac-Man bootleg"
|
||||
source_ref: "source/games/pengo.c:1853-1860"
|
||||
@@ -0,0 +1,91 @@
|
||||
emulator: RealRTCW
|
||||
type: standalone
|
||||
core_classification: enhanced_fork
|
||||
source: "https://github.com/wolfETPlayer/RealRTCW"
|
||||
upstream: "https://github.com/wolfETPlayer/RealRTCW"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "ad529d588e4dec717aff0779f9d1555eddc1e2be"
|
||||
core_version: "5.2"
|
||||
display_name: "RealRTCW"
|
||||
mode: standalone
|
||||
cores:
|
||||
- rtcw
|
||||
systems: [return-to-castle-wolfenstein]
|
||||
|
||||
notes: |
|
||||
Single-player overhaul of Return to Castle Wolfenstein built on the iortcw
|
||||
SP engine. RetroBat installs RealRTCW.x64.exe with its renderer and game
|
||||
module DLLs, which report RealRTCW 5.2, the tag dated the same day as the
|
||||
package build. emulatorlauncher runs it with fs_homepath set to roms/rtcw
|
||||
and fs_game set to the folder of the .rtcw file, and refuses to start
|
||||
unless roms/rtcw/Main holds z_zrealrtcw_ui.pk3, pak0.pk3 and
|
||||
sp_pak1.pk3 to sp_pak4.pk3
|
||||
(emulatorLauncher Generators/PortsLauncher.Configuration.cs:1362-1420).
|
||||
|
||||
BASEGAME is "main" and the Windows home path is RealRTCW\5.1. On Windows the
|
||||
Steam install of RTCW (app 9010) is added as a search path, found through
|
||||
its Main\pak0.pk3.
|
||||
ref: code/qcommon/q_shared.h:58-72, code/sys/sys_win32.c:157-163
|
||||
|
||||
The engine stops with a fatal error when main/pak0.pk3 is missing, or
|
||||
present with a checksum other than 1886207346. A demo pak0 under demomain/
|
||||
(checksum 2985661941) is accepted with a warning and skips the point-release
|
||||
check. Otherwise the four point-release paks are required: a missing one is
|
||||
fatal, a checksum outside the five language tables only prints a warning.
|
||||
ref: code/qcommon/files.c:180-225, code/qcommon/files.c:3782-3889,
|
||||
code/qcommon/files.c:3904-4034
|
||||
|
||||
The mod's own assets ship as further pk3 archives that the engine loads
|
||||
from main/ in name order like any other pak, without naming or checking
|
||||
them.
|
||||
|
||||
files:
|
||||
- name: "pak0.pk3"
|
||||
category: game_data
|
||||
system: return-to-castle-wolfenstein
|
||||
path: "main/pak0.pk3"
|
||||
required: true
|
||||
source_ref: "code/qcommon/files.c:183-185, 3927-3949, 4011-4029"
|
||||
note: "RTCW retail base. Checksum 1886207346, fatal when missing or when the checksum differs."
|
||||
unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in"
|
||||
|
||||
- name: "sp_pak1.pk3"
|
||||
category: game_data
|
||||
system: return-to-castle-wolfenstein
|
||||
path: "main/sp_pak1.pk3"
|
||||
required: true
|
||||
source_ref: "code/qcommon/files.c:188, 196, 204, 212, 220, 3782-3889"
|
||||
note: "Fatal when missing. One checksum per language (en/fr/gm/it/sp), and a mismatch prints a warning."
|
||||
|
||||
- name: "sp_pak2.pk3"
|
||||
category: game_data
|
||||
system: return-to-castle-wolfenstein
|
||||
path: "main/sp_pak2.pk3"
|
||||
required: true
|
||||
source_ref: "code/qcommon/files.c:189, 197, 205, 213, 221, 3782-3889"
|
||||
note: "Fatal when missing."
|
||||
|
||||
- name: "sp_pak3.pk3"
|
||||
category: game_data
|
||||
system: return-to-castle-wolfenstein
|
||||
path: "main/sp_pak3.pk3"
|
||||
required: true
|
||||
source_ref: "code/qcommon/files.c:190, 198, 206, 214, 222, 3782-3889"
|
||||
note: "Fatal when missing."
|
||||
|
||||
- name: "sp_pak4.pk3"
|
||||
category: game_data
|
||||
system: return-to-castle-wolfenstein
|
||||
path: "main/sp_pak4.pk3"
|
||||
required: true
|
||||
source_ref: "code/qcommon/files.c:191-192, 199-200, 207-208, 215-216, 223-224, 3782-3889"
|
||||
note: "Fatal when missing. GOTY edition pak, one checksum (4131017020) for every language."
|
||||
|
||||
- name: "pak0.pk3"
|
||||
description: "Single-player demo"
|
||||
category: game_data
|
||||
system: return-to-castle-wolfenstein
|
||||
path: "demomain/pak0.pk3"
|
||||
required: false
|
||||
source_ref: "code/qcommon/files.c:181, 3920-3925, 3993-4008, 4032-4033"
|
||||
note: "Checksum 2985661941. Stands in for main/pak0.pk3 with a warning, and the point-release check is skipped."
|
||||
@@ -11,6 +11,7 @@ cores:
|
||||
- rosalies-mupen-gui
|
||||
- RMG
|
||||
- com.github.Rosalie241.RMG
|
||||
- mupen64
|
||||
systems:
|
||||
- nintendo-64
|
||||
- nintendo-64dd
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
emulator: rpix86
|
||||
type: standalone
|
||||
core_classification: other
|
||||
source: "http://rpix86.patrickaalto.com/rdown.html"
|
||||
upstream: ~
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "0.19"
|
||||
display_name: "DOS (rpix86)"
|
||||
cores: [rpix86]
|
||||
systems: [dos]
|
||||
verification: existence
|
||||
|
||||
notes: |
|
||||
Patrick Aalto's x86 DOS emulator for the Raspberry Pi, freeware and closed
|
||||
source. Profiled from the binary RetroPie installs,
|
||||
files.retropie.org.uk/archives/rpix86.tar.gz (sha256 8591b715f7c5...ad328d),
|
||||
an ARM EABI5 executable whose banner reads "rpix86 (Raspberry Pi x86
|
||||
emulator) v 0.19" with "BIOS date: Jun 28 2015". The BIOS, VGA and sound
|
||||
emulation are inside the binary. Its strings name no ROM, font or patch
|
||||
file, only the shell below, /boot/config.txt (overscan defaults), the
|
||||
input and serial devices, and the log and screenshot files it writes.
|
||||
|
||||
C:\ is the directory given with -d, the working directory by default
|
||||
(usage text). The emulator looks for its shell as C:\4DOS.COM or
|
||||
C:\4DOS\4DOS.COM. When neither exists it stops with "Unable to find
|
||||
4DOS.COM command interpreter (shell)" and offers to fetch it with
|
||||
"wget http://rpix86.patrickaalto.com/4DOS.COM". RetroPie runs the binary
|
||||
from its install directory and unpacks
|
||||
files.retropie.org.uk/archives/4dos.zip (sha256 801441f3f65e...5b636a,
|
||||
4DOS 7.50 from JP Software) there (scriptmodules/emulators/rpix86.sh).
|
||||
|
||||
files:
|
||||
- name: "4DOS.COM"
|
||||
path: "4DOS.COM"
|
||||
system: dos
|
||||
description: "4DOS 7.50 command interpreter, the emulated DOS shell"
|
||||
required: true
|
||||
size: 257520
|
||||
sha1: "a44f65d6318582501d22e27831eb2b1f0df58f79"
|
||||
md5: "fc3a0078a13d98e611a62c1d6724f8c5"
|
||||
crc32: "8300d4cb"
|
||||
source_ref: "rpix86 0.19 binary, strings C:\\4DOS.COM and C:\\4DOS\\4DOS.COM"
|
||||
note: "Same bytes at rpix86.patrickaalto.com/4DOS.COM, the URL the binary downloads from, and in RetroPie's 4dos.zip. Read from the emulated C: root, not a BIOS directory."
|
||||
@@ -0,0 +1,553 @@
|
||||
emulator: ScummVM (SDL1)
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/scummvm/scummvm"
|
||||
upstream: "https://github.com/scummvm/scummvm"
|
||||
logo: "https://raw.githubusercontent.com/scummvm/scummvm/master/icons/scummvm.svg"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "fed42f2068dcafc6aafa1c28c77e4c88def74b66"
|
||||
core_version: "2026.3.0"
|
||||
display_name: "ScummVM (SDL1)"
|
||||
cores: [scummvm-sdl1]
|
||||
systems: [scummvm]
|
||||
verification: existence
|
||||
|
||||
notes: |
|
||||
Standalone ScummVM at tag v2026.3.0, as RetroPie's scummvm-sdl1 package
|
||||
builds it: ./configure --enable-release --enable-vkeybd with SDL1
|
||||
(SDL_CONFIG=sdl-config), and --opengl-mode=none on the Raspberry Pi. The
|
||||
package then runs make install with --prefix set to its install
|
||||
directory. RetroPie's scummvm package builds the same tag the same way
|
||||
against SDL2 and reads the same files.
|
||||
|
||||
Paths below are relative to that install prefix. configure sets datadir
|
||||
to ${datarootdir}/scummvm and passes it to the code as DATA_PATH
|
||||
(configure:391, configure:7462). OSystem_SDL::addSysArchivesToSearchSet
|
||||
adds DATA_PATH to the search set, four levels deep, then the current
|
||||
directory (backends/platform/sdl/sdl.cpp:639-652). base/main.cpp:281-291
|
||||
also adds the extrapath. RetroPie's launch script passes
|
||||
--extrapath=<prefix>/extra unless scummvm.ini already sets one, and
|
||||
copies the virtual keyboard packs there. Every file is opened by name
|
||||
through this search set, so any of these directories, or the game
|
||||
directory, serves it.
|
||||
|
||||
make install copies DIST_FILES_THEMES, DIST_FILES_VKEYBD,
|
||||
DIST_FILES_ENGINEDATA, DIST_FILES_ENGINEDATA_BIG and
|
||||
DIST_FILES_SOUNDFONTS to datadir (ports.mk:8-26, Makefile.common:400-471).
|
||||
The engine data list depends on the engines configure enables. A release
|
||||
build enables the engines marked yes in their configure.engine. Hashes
|
||||
below are those of the files in the tagged tree.
|
||||
|
||||
Files the build does not read at this configuration: cryo.dat,
|
||||
macventure.dat and monkey4-patch.m4b belong to engines that default to
|
||||
off. fonts-imgui.dat needs ImGui, which RetroPie disables. wwwroot.zip
|
||||
needs SDL_net, which RetroPie's dependencies do not install. The engine
|
||||
GLSL shaders are installed only with USE_OPENGL_SHADERS.
|
||||
|
||||
The MT-32 emulator reads the CM-32L pair first, then the MT-32 pair
|
||||
(audio/softsynth/mt32.cpp:286-301). ScummVM does not ship them.
|
||||
Without them MT-32 music is not available. Path extra/ is where
|
||||
RetroPie points the extrapath.
|
||||
|
||||
An engine data file marked required is one whose engine refuses to start
|
||||
a game without it. Other engines and the launcher run without it.
|
||||
|
||||
files:
|
||||
# MT-32 and CM-32L ROMs, not shipped with ScummVM.
|
||||
- name: "CM32L_CONTROL.ROM"
|
||||
path: "extra/CM32L_CONTROL.ROM"
|
||||
required: false
|
||||
source_ref: "audio/softsynth/mt32.cpp:293"
|
||||
note: "Roland CM-32L control ROM, tried before the MT-32 pair. Must be paired with CM32L_PCM.ROM."
|
||||
|
||||
- name: "CM32L_PCM.ROM"
|
||||
path: "extra/CM32L_PCM.ROM"
|
||||
required: false
|
||||
source_ref: "audio/softsynth/mt32.cpp:293"
|
||||
note: "Roland CM-32L PCM sample ROM."
|
||||
|
||||
- name: "MT32_CONTROL.ROM"
|
||||
path: "extra/MT32_CONTROL.ROM"
|
||||
required: false
|
||||
source_ref: "audio/softsynth/mt32.cpp:298-301, audio/softsynth/mt32.cpp:581-584"
|
||||
note: "Roland MT-32 control ROM. Must be paired with MT32_PCM.ROM."
|
||||
|
||||
- name: "MT32_PCM.ROM"
|
||||
path: "extra/MT32_PCM.ROM"
|
||||
required: false
|
||||
source_ref: "audio/softsynth/mt32.cpp:298-301, audio/softsynth/mt32.cpp:581-584"
|
||||
note: "Roland MT-32 PCM sample ROM."
|
||||
|
||||
# GUI themes and launcher data.
|
||||
- name: "scummremastered.zip"
|
||||
path: "share/scummvm/scummremastered.zip"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 96612
|
||||
sha1: "6bb54dde77f7c2968f1fcfb9f1de0eeebfda0dec"
|
||||
md5: "e5232366f07efcd7a9f5358812addbd1"
|
||||
source_ref: "gui/gui-manager.cpp:87-100, gui/ThemeEngine.cpp:2003-2017"
|
||||
note: "Default GUI theme (gui_theme defaults to scummremastered). Without it the launcher falls back to the built-in theme."
|
||||
|
||||
- name: "scummmodern.zip"
|
||||
path: "share/scummvm/scummmodern.zip"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 68063
|
||||
sha1: "e09657fec585c1b7fb1c4ce0fcdbf7e4dd13d121"
|
||||
md5: "20549cceb5c91e0c7900965777052b77"
|
||||
source_ref: "gui/ThemeEngine.cpp:2003-2017"
|
||||
note: "Modern GUI theme, listed by listUsableThemes from the search path."
|
||||
|
||||
- name: "scummclassic.zip"
|
||||
path: "share/scummvm/scummclassic.zip"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 16342
|
||||
sha1: "f987edf629a10e020c228714067dad9b7ca2fe1f"
|
||||
md5: "247382a8001da6a71e1e34d23bbe7de1"
|
||||
source_ref: "gui/ThemeEngine.cpp:2003-2017"
|
||||
note: "Classic GUI theme."
|
||||
|
||||
- name: "residualvm.zip"
|
||||
path: "share/scummvm/residualvm.zip"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 97266
|
||||
sha1: "fda75a8f762fe93b5da33bc61a236d69530365cb"
|
||||
md5: "53ce2b27f1ec22efb72328f96f70e30a"
|
||||
source_ref: "gui/ThemeEngine.cpp:2003-2017"
|
||||
note: "ResidualVM GUI theme."
|
||||
|
||||
- name: "gui-icons.dat"
|
||||
path: "share/scummvm/gui-icons.dat"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 3315855
|
||||
sha1: "38e74e6994924781487a0d39cc53dc4708a90c1c"
|
||||
md5: "9c59e0e9875434456ec1b7eb8e51666f"
|
||||
source_ref: "gui/gui-manager.cpp:118"
|
||||
note: "Game icons shown in the launcher grid view."
|
||||
|
||||
- name: "shaders.dat"
|
||||
path: "share/scummvm/shaders.dat"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 657234
|
||||
sha1: "c67ec35c3f6e2ba7f09b8f61a78df7f713ff040c"
|
||||
md5: "f073f17187d0bfa3e7ebb7f328847969"
|
||||
source_ref: "gui/shaderbrowser-dialog.cpp:88, backends/graphics/opengl/opengl-graphics.cpp:423"
|
||||
note: "Scaler shader pack, read by the OpenGL graphics manager only."
|
||||
|
||||
- name: "translations.dat"
|
||||
path: "share/scummvm/translations.dat"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 3693914
|
||||
sha1: "e5b6f6d6473e2d6aa0a250fd9983b573ebf6fbe4"
|
||||
md5: "a206e54bac1af13559ac8b2d9e550577"
|
||||
source_ref: "common/translation.cpp:282-300"
|
||||
note: "GUI translations. Installed because the build keeps USE_TRANSLATION. Without it the GUI stays in English."
|
||||
|
||||
- name: "pred.dic"
|
||||
path: "share/scummvm/pred.dic"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 126481
|
||||
sha1: "20f9a6a9838e3189774ea7ac6b8e62d6720dc683"
|
||||
md5: "5e4442498b8c6a0f815b4030b2a52acb"
|
||||
source_ref: "gui/predictivedialog.cpp:119-127"
|
||||
note: "Dictionary of the predictive text input dialog. The dialog runs without it, with no word prediction."
|
||||
|
||||
- name: "vkeybd_default.zip"
|
||||
path: "share/scummvm/vkeybd_default.zip"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 184946
|
||||
sha1: "4d787bd5a071c729c4f374e6e7c7d7b06d7f9f63"
|
||||
md5: "bf51a61f07625ea20e891058afaa892c"
|
||||
source_ref: "backends/events/default/default-events.cpp:74-77, backends/vkeybd/virtual-keyboard.cpp:118-128"
|
||||
note: "Default virtual keyboard pack, built in because RetroPie passes --enable-vkeybd. RetroPie also copies it to extra/."
|
||||
|
||||
- name: "vkeybd_small.zip"
|
||||
path: "share/scummvm/vkeybd_small.zip"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 86470
|
||||
sha1: "e813795cbc79e87facf7d1560c1f5946eab72167"
|
||||
md5: "95a179198a8fa032c751e476042c8849"
|
||||
source_ref: "backends/events/default/default-events.cpp:74-77"
|
||||
note: "Smaller virtual keyboard pack, loaded when vkeybd_pack_name selects it. RetroPie also copies it to extra/."
|
||||
|
||||
- name: "Roland_SC-55.sf2"
|
||||
path: "share/scummvm/Roland_SC-55.sf2"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 3283278
|
||||
sha1: "9dba9212f2e34446ab034595665809f09f303d63"
|
||||
md5: "dbb97c34404b753724a66fe0108a32e1"
|
||||
source_ref: "base/commandLine.cpp:349-351, audio/softsynth/fluidsynth.cpp:284-310"
|
||||
note: "Default FluidSynth soundfont. Installed because RetroPie pulls libfluidsynth-dev in. FluidSynth music is off when no soundfont is found."
|
||||
|
||||
# Engine data shared by every engine.
|
||||
- name: "achievements.dat"
|
||||
path: "share/scummvm/achievements.dat"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 249239
|
||||
sha1: "379f9def6d0de4b4bad18b0177df81783a51f17b"
|
||||
md5: "73cf5bd61896442a990e363f284a0bc2"
|
||||
source_ref: "engines/achievements.cpp:100-115"
|
||||
note: "Achievement messages. Missing file disables achievement messages with a warning."
|
||||
|
||||
- name: "classicmacfonts.dat"
|
||||
path: "share/scummvm/classicmacfonts.dat"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 626103
|
||||
sha1: "768b6231c6068e3d9b4f2cc6b1b1e5485578fde1"
|
||||
md5: "d4264d4573f22d290e033e1d834d7221"
|
||||
source_ref: "graphics/macgui/macfontmanager.cpp:218-228"
|
||||
note: "Classic Macintosh bitmap fonts. Missing file falls back to built-in fonts."
|
||||
|
||||
- name: "encoding.dat"
|
||||
path: "share/scummvm/encoding.dat"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 179670
|
||||
sha1: "11d3873337827195bc16c3d3175ad00f1777ed95"
|
||||
md5: "f2e88b2faec499a4914c3a0bcffc7db1"
|
||||
source_ref: "common/str-enc.cpp:142-145"
|
||||
note: "CJK code page tables. Missing file disables CJK text conversion with a warning."
|
||||
|
||||
- name: "helpdialog.zip"
|
||||
path: "share/scummvm/helpdialog.zip"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 207764
|
||||
sha1: "386d8a89e180f8abab53e5d5926b6a81ee4b31dd"
|
||||
md5: "a9584a928c0f52ef28b33d8702983c35"
|
||||
source_ref: "gui/helpdialog.cpp:69"
|
||||
note: "Images for the in-app help dialog."
|
||||
|
||||
- name: "macgui.dat"
|
||||
path: "share/scummvm/macgui.dat"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 65656
|
||||
sha1: "1eed577281b8819367d1ee99b1a76ff3e1920735"
|
||||
md5: "d97f2965013b343dd3d4fdbbc7192f15"
|
||||
source_ref: "graphics/macgui/datafiles.cpp:81-84"
|
||||
note: "Macintosh window borders for the MacGUI engines. Missing file logs a warning."
|
||||
|
||||
# Per-engine data. Each engine refuses to start a game without its file.
|
||||
- name: "access.dat"
|
||||
path: "share/scummvm/access.dat"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 520352
|
||||
sha1: "775b12b7e787bbaaeb73aa45b1ad3bb383e041ef"
|
||||
md5: "4f9dd40b455876d5c54b5ebd93aec88c"
|
||||
source_ref: "engines/access/resources.cpp:42-48"
|
||||
note: "Access engine (Amazon: Guardians of Eden, Martian Memorandum)."
|
||||
|
||||
- name: "bagel.dat"
|
||||
path: "share/scummvm/bagel.dat"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 20584
|
||||
sha1: "f83084c72b1ff8e16f9c013e5ef7cfbb5f3cc835"
|
||||
md5: "f6d90885f6962f89de02e34031111599"
|
||||
source_ref: "engines/bagel/spacebar/baglib/bagel.cpp:111-118"
|
||||
note: "BAGEL engine (The Space Bar)."
|
||||
|
||||
- name: "cryomni3d.dat"
|
||||
path: "share/scummvm/cryomni3d.dat"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 70416
|
||||
sha1: "3971847e26be0abad8196caf03e5852a81ddbdea"
|
||||
md5: "7224c7a94074addeb69015b1346695d2"
|
||||
source_ref: "engines/cryomni3d/cryomni3d.cpp:79-86"
|
||||
note: "Cryo Omni3D engine (Versailles 1685)."
|
||||
|
||||
- name: "darkseed.dat"
|
||||
path: "share/scummvm/darkseed.dat"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 37183
|
||||
sha1: "343172f1bfff8cb8c4abefa95e211379f39583b7"
|
||||
md5: "9a9cfe40dcca517f130d4430bd1af643"
|
||||
source_ref: "engines/darkseed/darkseed.cpp:62-71"
|
||||
note: "Darkseed engine. Read only for the Chinese release, which does not start without it."
|
||||
|
||||
- name: "drascula.dat"
|
||||
path: "share/scummvm/drascula.dat"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 259625
|
||||
sha1: "05c97e92439b67aea8f6eb7fc96db023edf62124"
|
||||
md5: "b304979ed642a6dcaf26f43f8a37a1de"
|
||||
source_ref: "engines/drascula/drascula.cpp:985-1000"
|
||||
note: "Drascula: The Vampire Strikes Back."
|
||||
|
||||
- name: "got.gfx"
|
||||
path: "share/scummvm/got.gfx"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 288199
|
||||
sha1: "0c9603da78b980bcf391bbf5f9103a5a642c4ee8"
|
||||
md5: "a29f591769bd731df0d9ddd3a191fe8c"
|
||||
source_ref: "engines/got/gfx/gfx_chunks.cpp:120-130"
|
||||
note: "God of Thunder graphics. Without it the engine extracts them from got.exe."
|
||||
|
||||
- name: "got.aud"
|
||||
path: "share/scummvm/got.aud"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 11313
|
||||
sha1: "209ab6d86a7c44f241689c5511b2027f7ad2c7c4"
|
||||
md5: "d13cc3c481e84e787ec8aa86dffc565f"
|
||||
source_ref: "engines/got/sound.cpp:38, engines/got/sound.cpp:194-198"
|
||||
note: "God of Thunder menu music (GOT.AUD). Missing file logs a warning."
|
||||
|
||||
- name: "hadesch_translations.dat"
|
||||
path: "share/scummvm/hadesch_translations.dat"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 431
|
||||
sha1: "17aae444b3010e72e092635d25d3b93c104b0ad2"
|
||||
md5: "7857da7e56a11e0749fb45100c323b3c"
|
||||
source_ref: "engines/hadesch/hadesch.cpp:475-477"
|
||||
note: "Hades Challenge string translations."
|
||||
|
||||
- name: "hugo.dat"
|
||||
path: "share/scummvm/hugo.dat"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 186866
|
||||
sha1: "74a5fa172f5327fedc145cb9eccc8fd050b9cfb9"
|
||||
md5: "a865e70f1b0998a500f522dab441c8fc"
|
||||
source_ref: "engines/hugo/hugo.cpp:455-466"
|
||||
note: "Hugo trilogy."
|
||||
|
||||
- name: "kyra.dat"
|
||||
path: "share/scummvm/kyra.dat"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 2026288
|
||||
sha1: "1a754b9e73fd06b0ad40b5ccb246f3ad7d5b68d3"
|
||||
md5: "325ee8f363f38d7f6449bbf64a7f6f10"
|
||||
source_ref: "engines/kyra/resource/staticres.cpp:147-198, engines/kyra/resource/resource.h:1252"
|
||||
note: "Kyrandia, Lands of Lore and Eye of the Beholder engines. Opened as KYRA.DAT."
|
||||
|
||||
- name: "lure.dat"
|
||||
path: "share/scummvm/lure.dat"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 768832
|
||||
sha1: "516347ec0ec2a397265d1b2fb053aa3758382e09"
|
||||
md5: "6f90cf73f36453d332d5c9cee311f81c"
|
||||
source_ref: "engines/lure/lure.cpp:56-58"
|
||||
note: "Lure of the Temptress."
|
||||
|
||||
- name: "mort.dat"
|
||||
path: "share/scummvm/mort.dat"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 76302
|
||||
sha1: "0b9d0fa2a18eadf61aeddc19128ef90898ab7206"
|
||||
md5: "3cfb16d7bab4d77606b3b1274b8ae870"
|
||||
source_ref: "engines/mortevielle/mortevielle.cpp:299-301"
|
||||
note: "Mortevielle."
|
||||
|
||||
- name: "nancy.dat"
|
||||
path: "share/scummvm/nancy.dat"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 254950
|
||||
sha1: "198e3dbf47cf8c0ffc65d92094f7d78ec5e6a4ed"
|
||||
md5: "575504ef7071c7fbfa2e3e1609f6bfc5"
|
||||
source_ref: "engines/nancy/nancy.cpp:661-668"
|
||||
note: "Nancy Drew engine."
|
||||
|
||||
- name: "neverhood.dat"
|
||||
path: "share/scummvm/neverhood.dat"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 23804
|
||||
sha1: "490012c996ba0c56dd8d077e1418ee53b1e96397"
|
||||
md5: "dfaab12ffb265646f31f51b6904246d1"
|
||||
source_ref: "engines/neverhood/neverhood.cpp:91, engines/neverhood/staticdata.cpp:44-49"
|
||||
note: "The Neverhood."
|
||||
|
||||
- name: "prince_translation.dat"
|
||||
path: "share/scummvm/prince_translation.dat"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 168060
|
||||
sha1: "57403a286c4d251384442a507d285b2dc5ce330e"
|
||||
md5: "993adab2fd44277d5fd7aa5971e7099c"
|
||||
source_ref: "engines/prince/prince.cpp:336-342"
|
||||
note: "The Prince and the Coward. Read only for the fan translated releases, which do not start without it."
|
||||
|
||||
- name: "queen.tbl"
|
||||
path: "share/scummvm/queen.tbl"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 1100505
|
||||
sha1: "7bafa28dfd9b3be17430d467d8787d8204437ba0"
|
||||
md5: "93c6d6379eb0290ce93854a6888ec3f4"
|
||||
source_ref: "engines/queen/resource.cpp:147-166"
|
||||
note: "Flight of the Amazon Queen resource table. Only the English floppy release (PEM10) has a built-in table."
|
||||
|
||||
- name: "sky.cpt"
|
||||
path: "share/scummvm/sky.cpt"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 419427
|
||||
sha1: "fa03ede717223eaf011491d2066e37eb112e735b"
|
||||
md5: "9d00157b1cebd6368cbf88135c098f40"
|
||||
source_ref: "engines/sky/compact.cpp:125-140"
|
||||
note: "Beneath a Steel Sky. The engine also checks the file size against SKY_CPT_SIZE."
|
||||
|
||||
- name: "supernova.dat"
|
||||
path: "share/scummvm/supernova.dat"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 523211
|
||||
sha1: "8a571cfc431b5fe794f0262f0e55f72927ab27b4"
|
||||
md5: "89664136c503a30894d5c713be5bfe90"
|
||||
source_ref: "engines/supernova/supernova.cpp:464-482"
|
||||
note: "Mission Supernova."
|
||||
|
||||
- name: "teenagent.dat"
|
||||
path: "share/scummvm/teenagent.dat"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 403315
|
||||
sha1: "0d488164930332bae3aa1ad38cef44abbe3d00a6"
|
||||
md5: "4594620989a0bfd8b120da2de7ac30de"
|
||||
source_ref: "engines/teenagent/resources.cpp:306-316"
|
||||
note: "Teen Agent."
|
||||
|
||||
- name: "titanic.dat"
|
||||
path: "share/scummvm/titanic.dat"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 3197968
|
||||
sha1: "15f51828f08fdbe01b56123e96312b5859a968c0"
|
||||
md5: "4b2fb71201dc3795cff45df6200a1918"
|
||||
source_ref: "engines/titanic/support/files_manager.cpp:39-43"
|
||||
note: "Starship Titanic."
|
||||
|
||||
- name: "tony.dat"
|
||||
path: "share/scummvm/tony.dat"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 24584
|
||||
sha1: "a5e19f364bda6a0d2330495114c9ad665bb79ad0"
|
||||
md5: "891022a4e2917bb54b5cdc9a46f5b3df"
|
||||
source_ref: "engines/tony/tony.cpp:180-190"
|
||||
note: "Tony Tough and the Night of Roasted Moths."
|
||||
|
||||
- name: "toon.dat"
|
||||
path: "share/scummvm/toon.dat"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 20996
|
||||
sha1: "85bb688125d66f2797a41f153ce1fa177027a83f"
|
||||
md5: "2b71a5d9aa19219d46711e8a77451f0f"
|
||||
source_ref: "engines/toon/toon.cpp:5417-5428"
|
||||
note: "Toonstruck."
|
||||
|
||||
- name: "ultima.dat"
|
||||
path: "share/scummvm/ultima.dat"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 15981464
|
||||
sha1: "e049932518390257f4d49b1691cad229e6060079"
|
||||
md5: "e359fb7f14c4cb072b6e9300a23a6d62"
|
||||
source_ref: "engines/ultima/shared/engine/data_archive.cpp:84-90, engines/ultima/ultima4/ultima4.cpp:128, engines/ultima/nuvie/nuvie.cpp:99"
|
||||
note: "Ultima engines (Ultima I, IV, VI and the Nuvie games)."
|
||||
|
||||
- name: "ultima8.dat"
|
||||
path: "share/scummvm/ultima8.dat"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 238149
|
||||
sha1: "6319d3a245297697c1e4def78dc231a3f30708bb"
|
||||
md5: "e5b95811b05b9f0f593b49c860391200"
|
||||
source_ref: "engines/ultima/ultima8/ultima8.cpp:177-182"
|
||||
note: "Ultima VIII and Crusader."
|
||||
|
||||
- name: "wintermute.zip"
|
||||
path: "share/scummvm/wintermute.zip"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 4520
|
||||
sha1: "5302f543384b21fb55466118a6966e5ef46b85f6"
|
||||
md5: "9783248899f9cb531f0a3e0a711ab8b3"
|
||||
source_ref: "engines/wintermute/base/base_file_manager.cpp:396-400"
|
||||
note: "Wintermute engine system font and placeholder images."
|
||||
|
||||
- name: "mm.dat"
|
||||
path: "share/scummvm/mm.dat"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 268022
|
||||
sha1: "ccbbd746d0413b4183aaf72e2b45c453978aa7b0"
|
||||
md5: "e4ff5ad05afe5d1591678df2001e639c"
|
||||
source_ref: "engines/mm/mm1/globals.cpp:60-64, engines/mm/xeen/files.cpp:70-75"
|
||||
note: "Might and Magic 1 and the Xeen games."
|
||||
|
||||
- name: "freescape.dat"
|
||||
path: "share/scummvm/freescape.dat"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 30124
|
||||
sha1: "c6b3d3152e4e2ff4c9bf55e103bb39ed7faca2bd"
|
||||
md5: "71697f90fb0c7747616dbb0799ce966b"
|
||||
source_ref: "engines/freescape/assets.cpp:115-121"
|
||||
note: "Freescape engine (Driller, Dark Side, Total Eclipse, Castle Master)."
|
||||
|
||||
- name: "myst3.dat"
|
||||
path: "share/scummvm/myst3.dat"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 358287
|
||||
sha1: "5fbf7b1a596219f0daab60a8ceb2f1e59e042243"
|
||||
md5: "54e9056211f2fff255b6f66a3fe39a8d"
|
||||
source_ref: "engines/myst3/database.cpp:460-463"
|
||||
note: "Myst III: Exile."
|
||||
|
||||
- name: "grim-patch.lab"
|
||||
path: "share/scummvm/grim-patch.lab"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 9341
|
||||
sha1: "3c43b7a0125f88a9f83ae4307dca57867ffd637c"
|
||||
md5: "32b777b824f02b1e1259903740964058"
|
||||
source_ref: "engines/grim/resource.cpp:126-129"
|
||||
note: "Grim Fandango. The full game does not start without it, the demo does not read it."
|
||||
|
||||
- name: "fonts.dat"
|
||||
path: "share/scummvm/fonts.dat"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 6449829
|
||||
sha1: "1eaef39122559500fbbc705c9425500311d23e03"
|
||||
md5: "6df29d218962e155d0a2114006af45c0"
|
||||
source_ref: "engines/glk/screen.cpp:72-73, engines/scumm/he/font_he.cpp:267-274, engines/zvision/zvision.cpp:296"
|
||||
note: "TrueType fonts. The Glk engine does not start without it, SCUMM HE and ZVision fall back to other fonts."
|
||||
|
||||
- name: "fonts-cjk.dat"
|
||||
path: "share/scummvm/fonts-cjk.dat"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 38277312
|
||||
sha1: "b46f5a744387d1991d66a06292811f217ae063e2"
|
||||
md5: "18b8811c1bbc297be45f38c3bd6a0728"
|
||||
source_ref: "graphics/fonts/ttf.cpp:965-976"
|
||||
note: "CJK TrueType fonts, a fallback when a game asks for a font the other bundles lack."
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
emulator: Singe 2
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://singeengine.com"
|
||||
upstream: "https://singeengine.com"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "2.10"
|
||||
display_name: "Laserdisc (Singe 2)"
|
||||
mode: standalone
|
||||
cores:
|
||||
- singe2
|
||||
systems:
|
||||
- arcade-laserdisc
|
||||
|
||||
notes: |
|
||||
Somewhat Interactive Nostalgic Game Engine by Scott Duensing, the Lua
|
||||
laserdisc game engine, released as v2.10 on 2024-03-26 (CHANGELOG). The
|
||||
program is GPLv3 but no public source tree was reachable, so this profile
|
||||
reads the Windows binary RetroBat installs, Singe-v2.10-Windows-x86_64.exe
|
||||
(sha1 5a4883ff55da7d4690a8763e6f3ff443ec1d5293).
|
||||
|
||||
emulatorlauncher links the game folder next to the executable and runs
|
||||
`Singe-v2.10-Windows-x86_64.exe -k -w|-x -y [-z] [-n] -v <video> <script>`,
|
||||
taking the video and the .singe script from the game's .dat, .game or
|
||||
folder layout. Its ActionMax mode looks for an ActionMax folder in the
|
||||
package (emulatorLauncher Generators/Singe2.Generator.cs:24-150).
|
||||
|
||||
The video and the script arrive on the command line and the program stops
|
||||
with "Unable to locate video." or "Unable to locate script." when either is
|
||||
absent. Everything else it opens it carries itself. Framework.singe,
|
||||
Menu.singe, FreeSansBold.ttf, menuBackground.mkv and controls.cfg.example
|
||||
are byte arrays in the executable (Framework_singe, Menu_singe and so on in
|
||||
its symbol table), written out to Singe/ with ">>> Created File:" when
|
||||
missing. The framework is run with dofile("Singe/Framework.singe") and
|
||||
sets SINGE_FRAMEWORK_VERSION 2.10.
|
||||
|
||||
controls.cfg is looked up in the script's folder and in the folder above
|
||||
it, and when neither holds one the built-in mappings apply ("Loading default control
|
||||
mappings"). Files the engine writes go to the data directory given by -d.
|
||||
The KarisFramework, KimmyScript and Blank folders RetroBat ships are Lua
|
||||
libraries and a sample game that game scripts load by path, not files the
|
||||
engine opens.
|
||||
|
||||
files: []
|
||||
@@ -0,0 +1,256 @@
|
||||
emulator: Ship of Harkinian
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/HarbourMasters/Shipwright"
|
||||
upstream: "https://github.com/HarbourMasters/Shipwright"
|
||||
source_commit: "cb71e22a79bc5d1f688fa881795bbd93094895fc"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "9.2.3"
|
||||
display_name: "The Legend of Zelda: Ocarina of Time (Ship of Harkinian)"
|
||||
cores: [soh]
|
||||
systems: [soh]
|
||||
|
||||
notes: |
|
||||
PC port of The Legend of Zelda: Ocarina of Time built on the decompilation,
|
||||
by HarbourMasters. The game runs from assets extracted out of the user's
|
||||
ROM into oot.o2r (oot-mq.o2r for Master Quest), plus the port's own archive
|
||||
soh.o2r, on the libultraship runtime. ZAPDTR and OTRExporter perform the
|
||||
extraction inside the executable.
|
||||
|
||||
RetroBat installs the 9.2.3 release ("Ackbar Delta"): its soh.7z carries
|
||||
the soh.exe, soh.o2r and gamecontrollerdb.txt of SoH-Ackbar-Delta-Win64.zip
|
||||
byte for byte, so the profile is pinned to the 9.2.3 tag. Its launcher
|
||||
passes the ROM on the command line when neither archive exists (only a
|
||||
.z64, .n64 or .v64 file, else it copies the ROM beside the executable), and
|
||||
deletes both archives first when the major version stored in them differs
|
||||
from the one in soh.o2r.
|
||||
ref: emulatorLauncher Generators/PortsLauncher.Configuration.cs:1685-1724
|
||||
|
||||
Startup:
|
||||
1. soh.o2r is located in the application directories and its stored
|
||||
port version must match the build. A missing or outdated soh.o2r
|
||||
shows an error and exits (soh/soh/OTRGlobals.cpp:273-274, 465-483).
|
||||
2. oot.o2r and oot-mq.o2r are checked for the version they were built
|
||||
with. Without an assets/ folder beside the executable nothing can be
|
||||
regenerated and the port exits (soh/soh/OTRGlobals.cpp:397-398,
|
||||
433-443).
|
||||
3. Without either archive a ROM given on the command line is extracted.
|
||||
Otherwise .z64, .n64 and .v64 files in the search folder are offered,
|
||||
then a file dialog (soh/soh/Extractor/Extract.cpp:229-280, 488-559).
|
||||
|
||||
ROM check: the size must be 32, 54 or 64 MiB, the data is converted to
|
||||
big-endian order whatever the dump format, the word at 0x10 picks the
|
||||
version from a table of known values, and a CRC-32C of the whole
|
||||
converted image must be one of 21 values, which include the debug ROM
|
||||
overdumps. Compressed files are refused. One supported ROM is needed to
|
||||
build the first archive.
|
||||
ref: soh/soh/Extractor/Extract.cpp:54-103, 335-354, 376-401
|
||||
|
||||
The SHA-1 values below are those the repository publishes for the .z64
|
||||
forms of the accepted ROMs (docs/supportedHashes.json). The code itself
|
||||
only checks the CRC-32C, so .n64 and .v64 dumps of the same ROMs are
|
||||
accepted too.
|
||||
|
||||
libultraship is a submodule pinned at 9.2.3 to
|
||||
fdcaf6336776d24a6408d016b0a52243f108f250. Its citations are at that
|
||||
revision.
|
||||
|
||||
files:
|
||||
- name: "oot.pal.10.z64"
|
||||
category: game_data
|
||||
system: soh
|
||||
required: false
|
||||
sha1: "328a1f1beba30ce5e178f031662019eb32c5f3b5"
|
||||
description: "The Legend of Zelda: Ocarina of Time, PAL N64 1.0 ROM"
|
||||
source_ref: "soh/soh/Extractor/Extract.cpp:81-103, docs/supportedHashes.json:2-5"
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "oot.pal.11.z64"
|
||||
category: game_data
|
||||
system: soh
|
||||
required: false
|
||||
sha1: "cfbb98d392e4a9d39da8285d10cbef3974c2f012"
|
||||
description: "The Legend of Zelda: Ocarina of Time, PAL N64 1.1 ROM"
|
||||
source_ref: "soh/soh/Extractor/Extract.cpp:81-103, docs/supportedHashes.json:6-9"
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "oot.pal.gc.z64"
|
||||
category: game_data
|
||||
system: soh
|
||||
required: false
|
||||
sha1: "0227d7c0074f2d0ac935631990da8ec5914597b4"
|
||||
description: "The Legend of Zelda: Ocarina of Time, PAL GameCube ROM"
|
||||
source_ref: "soh/soh/Extractor/Extract.cpp:81-103, docs/supportedHashes.json:10-13"
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "oot.pal.mq.z64"
|
||||
category: game_data
|
||||
system: soh
|
||||
required: false
|
||||
sha1: "f46239439f59a2a594ef83cf68ef65043b1bffe2"
|
||||
description: "The Legend of Zelda: Ocarina of Time, PAL Master Quest ROM"
|
||||
source_ref: "soh/soh/Extractor/Extract.cpp:81-103, docs/supportedHashes.json:14-17"
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "oot.pal.gc.dbg.z64"
|
||||
category: game_data
|
||||
system: soh
|
||||
required: false
|
||||
sha1: "cee6bc3c2a634b41728f2af8da54d9bf8cc14099"
|
||||
description: "The Legend of Zelda: Ocarina of Time, PAL GameCube debug ROM"
|
||||
source_ref: "soh/soh/Extractor/Extract.cpp:81-103, docs/supportedHashes.json:18-21"
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "oot.pal.mq.dbg1.z64"
|
||||
category: game_data
|
||||
system: soh
|
||||
required: false
|
||||
sha1: "079b855b943d6ad8bd1eb026c0ed169ecbdac7da"
|
||||
description: "The Legend of Zelda: Ocarina of Time, PAL Master Quest debug, dump 1 ROM"
|
||||
source_ref: "soh/soh/Extractor/Extract.cpp:81-103, docs/supportedHashes.json:22-25"
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "oot.pal.mq.dbg2.z64"
|
||||
category: game_data
|
||||
system: soh
|
||||
required: false
|
||||
sha1: "50bebedad9e0f10746a52b07239e47fa6c284d03"
|
||||
description: "The Legend of Zelda: Ocarina of Time, PAL Master Quest debug, dump 2 ROM"
|
||||
source_ref: "soh/soh/Extractor/Extract.cpp:81-103, docs/supportedHashes.json:26-29"
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "oot.pal.mq.dbg3.z64"
|
||||
category: game_data
|
||||
system: soh
|
||||
required: false
|
||||
sha1: "cfecfdc58d650e71a200c81f033de4e6d617a9f6"
|
||||
description: "The Legend of Zelda: Ocarina of Time, PAL Master Quest debug, dump 3 ROM"
|
||||
source_ref: "soh/soh/Extractor/Extract.cpp:81-103, docs/supportedHashes.json:30-33"
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "oot.us.10.z64"
|
||||
category: game_data
|
||||
system: soh
|
||||
required: false
|
||||
sha1: "ad69c91157f6705e8ab06c79fe08aad47bb57ba7"
|
||||
description: "The Legend of Zelda: Ocarina of Time, USA N64 1.0 ROM"
|
||||
source_ref: "soh/soh/Extractor/Extract.cpp:81-103, docs/supportedHashes.json:34-37"
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "oot.us.11.z64"
|
||||
category: game_data
|
||||
system: soh
|
||||
required: false
|
||||
sha1: "d3ecb253776cd847a5aa63d859d8c89a2f37b364"
|
||||
description: "The Legend of Zelda: Ocarina of Time, USA N64 1.1 ROM"
|
||||
source_ref: "soh/soh/Extractor/Extract.cpp:81-103, docs/supportedHashes.json:38-41"
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "oot.us.12.z64"
|
||||
category: game_data
|
||||
system: soh
|
||||
required: false
|
||||
sha1: "41b3bdc48d98c48529219919015a1af22f5057c2"
|
||||
description: "The Legend of Zelda: Ocarina of Time, USA N64 1.2 ROM"
|
||||
source_ref: "soh/soh/Extractor/Extract.cpp:81-103, docs/supportedHashes.json:42-45"
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "oot.jp.10.z64"
|
||||
category: game_data
|
||||
system: soh
|
||||
required: false
|
||||
sha1: "c892bbda3993e66bd0d56a10ecd30b1ee612210f"
|
||||
description: "The Legend of Zelda: Ocarina of Time, Japan N64 1.0 ROM"
|
||||
source_ref: "soh/soh/Extractor/Extract.cpp:81-103, docs/supportedHashes.json:46-49"
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "oot.jp.11.z64"
|
||||
category: game_data
|
||||
system: soh
|
||||
required: false
|
||||
sha1: "dbfc81f655187dc6fefd93fa6798face770d579d"
|
||||
description: "The Legend of Zelda: Ocarina of Time, Japan N64 1.1 ROM"
|
||||
source_ref: "soh/soh/Extractor/Extract.cpp:81-103, docs/supportedHashes.json:50-53"
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "oot.jp.12.z64"
|
||||
category: game_data
|
||||
system: soh
|
||||
required: false
|
||||
sha1: "fa5f5942b27480d60243c2d52c0e93e26b9e6b86"
|
||||
description: "The Legend of Zelda: Ocarina of Time, Japan N64 1.2 ROM"
|
||||
source_ref: "soh/soh/Extractor/Extract.cpp:81-103, docs/supportedHashes.json:54-57"
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "oot.us.gc.z64"
|
||||
category: game_data
|
||||
system: soh
|
||||
required: false
|
||||
sha1: "b82710ba2bd3b4c6ee8aa1a7e9acf787dfc72e9b"
|
||||
description: "The Legend of Zelda: Ocarina of Time, USA GameCube ROM"
|
||||
source_ref: "soh/soh/Extractor/Extract.cpp:81-103, docs/supportedHashes.json:58-61"
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "oot.us.mq.z64"
|
||||
category: game_data
|
||||
system: soh
|
||||
required: false
|
||||
sha1: "8b5d13aac69bfbf989861cfdc50b1d840945fc1d"
|
||||
description: "The Legend of Zelda: Ocarina of Time, USA Master Quest ROM"
|
||||
source_ref: "soh/soh/Extractor/Extract.cpp:81-103, docs/supportedHashes.json:62-65"
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "oot.jp.gc.z64"
|
||||
category: game_data
|
||||
system: soh
|
||||
required: false
|
||||
sha1: "0769c84615422d60f16925cd859593cdfa597f84"
|
||||
description: "The Legend of Zelda: Ocarina of Time, Japan GameCube ROM"
|
||||
source_ref: "soh/soh/Extractor/Extract.cpp:81-103, docs/supportedHashes.json:66-69"
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "oot.jp.gc.ce.z64"
|
||||
category: game_data
|
||||
system: soh
|
||||
required: false
|
||||
sha1: "2ce2d1a9f0534c9cd9fa04ea5317b80da21e5e73"
|
||||
description: "The Legend of Zelda: Ocarina of Time, Japan GameCube Collector's Edition ROM"
|
||||
source_ref: "soh/soh/Extractor/Extract.cpp:81-103, docs/supportedHashes.json:70-73"
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "oot.jp.mq.z64"
|
||||
category: game_data
|
||||
system: soh
|
||||
required: false
|
||||
sha1: "dd14e143c4275861fe93ea79d0c02e36ae8c6c2f"
|
||||
description: "The Legend of Zelda: Ocarina of Time, Japan Master Quest ROM"
|
||||
source_ref: "soh/soh/Extractor/Extract.cpp:81-103, docs/supportedHashes.json:74-77"
|
||||
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
|
||||
|
||||
- name: "soh.o2r"
|
||||
path: "soh/soh.o2r"
|
||||
category: game_data
|
||||
system: soh
|
||||
required: true
|
||||
bundled: true
|
||||
size: 4551359
|
||||
sha1: "313c3251edc2b345f04a34f80e09e7b27f0660ee"
|
||||
md5: "d3701e7ce3e1f27572f697430212224e"
|
||||
description: "Port archive: shaders, textures and data added by the port"
|
||||
source_ref: "soh/soh/OTRGlobals.cpp:273-274, 465-483"
|
||||
note: "Its stored version must match the executable's, so only the copy from the same release works. Hash of the copy in SoH-Ackbar-Delta-Win64.zip."
|
||||
unsourceable: "ships inside the Ship of Harkinian release, and the collection does not hold it"
|
||||
|
||||
- name: "gamecontrollerdb.txt"
|
||||
path: "soh/gamecontrollerdb.txt"
|
||||
category: game_data
|
||||
system: soh
|
||||
required: false
|
||||
bundled: true
|
||||
size: 592371
|
||||
sha1: "155097429a2c74f9d8ac0ee30e6ee225f5917be5"
|
||||
md5: "7d7b338604d8da35cbd28638f0a134c3"
|
||||
description: "SDL game controller mapping database"
|
||||
source_ref: "libultraship src/libultraship/libultra/os.cpp:18-24, libultraship src/ship/Context.cpp:510-525"
|
||||
note: "A load failure is logged and SDL keeps its built-in mappings. Hash of the copy in SoH-Ackbar-Delta-Win64.zip."
|
||||
unsourceable: "ships inside the Ship of Harkinian release, and other revisions under the same name must not stand in"
|
||||
@@ -0,0 +1,54 @@
|
||||
emulator: Solarus 2.0.0
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://gitlab.com/solarus-games/solarus"
|
||||
upstream: "https://gitlab.com/solarus-games/solarus"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "1c69f3d7ec133eaff28c22d756170eba69a520b0"
|
||||
core_version: "2.0.0"
|
||||
display_name: "Solarus Game Engine (2.0.0)"
|
||||
cores:
|
||||
- solarus2
|
||||
systems:
|
||||
- solarus
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Solarus engine at tag v2.0.0, which RetroBat installs as solarus2 beside its
|
||||
older solarus package. libsolarus.dll in that package reports 2.0.0 and its
|
||||
gamecontrollerdb.txt is the one the v2.0.0 tree carries. emulatorlauncher
|
||||
runs `solarus-run.exe -fullscreen=yes|no <rom>` from the package folder on a
|
||||
.solarus or .zip quest (emulatorLauncher Generators/Solarus.Generator.cs:20-48).
|
||||
|
||||
The quest arrives as the last non-option argument, and otherwise falls back
|
||||
to SOLARUS_DEFAULT_QUEST, "." by default (src/core/MainLoop.cpp:108-121,
|
||||
cmake/AddOptions.cmake:8). open_quest mounts that path through PhysFS
|
||||
directly, then tries <path>/data, <path>/data.solarus and
|
||||
<path>/data.solarus.zip, each both relative and under PHYSFS_getBaseDir
|
||||
(src/core/QuestFiles.cpp:151-165). The quest counts as found once quest.dat
|
||||
resolves (src/core/QuestFiles.cpp:230-234). Everything else the game uses
|
||||
comes out of that mount.
|
||||
|
||||
Startup reads one file from outside the quest. System::initialize probes
|
||||
SDL_GetBasePath() then SOLARUS_DATADIR_PATH for gamecontrollerdb.txt and
|
||||
hands whichever it finds to SDL through SDL_HINT_GAMECONTROLLERCONFIG_FILE
|
||||
(src/core/System.cpp:70-98). At this tag the file is installed into the data
|
||||
directory without a build option to turn it off
|
||||
(cmake/AddInstallTargets.cmake:22-26).
|
||||
|
||||
files:
|
||||
- name: gamecontrollerdb.txt
|
||||
system: solarus
|
||||
category: game_data
|
||||
required: false
|
||||
bundled: true
|
||||
size: 564391
|
||||
sha1: "24cb6032438d26d9fa7d4ba3775b0f1088b58e4c"
|
||||
md5: "bdd985f10866d9eeb5cf4f1dc01a5d2c"
|
||||
description: "SDL gamepad mappings applied on top of the built-in table"
|
||||
source_ref: "src/core/System.cpp:70-98, cmake/AddDefines.cmake:44, cmake/AddInstallTargets.cmake:22-26"
|
||||
note: >-
|
||||
Looked up next to the executable first, then under SOLARUS_DATADIR_PATH,
|
||||
share/solarus by default (cmake/AddInstallDirs.cmake:14). Both probes are
|
||||
guarded by an existence test, and neither hitting leaves SDL on its
|
||||
built-in mappings.
|
||||
@@ -0,0 +1,481 @@
|
||||
emulator: SplitWolf
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://bitbucket.org/linuxwolf6/splitwolf"
|
||||
source_branch: scrubbed
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "f6c00044cdef00a31c66307d8b7cb1fb4ddf8c67"
|
||||
core_version: "V1.01"
|
||||
display_name: "Wolfenstein 3D (SplitWolf)"
|
||||
cores: [splitwolf]
|
||||
systems: [wolfenstein3d]
|
||||
verification: existence
|
||||
|
||||
notes: |
|
||||
Two to four player split screen fork of the C++ Wolf4SDL by Team
|
||||
RayCast (version.h:95), based on Wolf4SDL v1.7 SVN revision 256
|
||||
(wl_main.cpp:2211). The Makefile builds one binary per release:
|
||||
VERSION_WOLF3D_SHAREWARE, VERSION_WOLF3D_APOGEE, VERSION_WOLF3D,
|
||||
VERSION_SPEAR, VERSION_SPEAR_MP and VERSION_SPEAR_DEMO, each turning on
|
||||
the Wolf4SDL defines in version.h:13-34. RetroPie builds all six.
|
||||
|
||||
Data files are opened under DATADIR, a path compiled in by the Makefile
|
||||
(Makefile:57, 151), /usr/local/share/games/wolf3d/ by default.
|
||||
RetroPie sets it to its ports/wolf3d ROM folder. A file that cannot be
|
||||
opened ends in CA_CannotOpen and the program quits.
|
||||
|
||||
CheckForEpisodes (wl_menu.cpp:5194) probes for vswap.<ext>: wl1 for
|
||||
the shareware build, wl6 then wl3 then wl1 for the full ones, sdm for
|
||||
the Spear demo, sod or sd1 after --mission 0 or 1 for Spear of Destiny,
|
||||
sd2 or sd3 after --mission 2 or 3 for the mission pack build
|
||||
(wl_main.cpp:2015-2040). Unlike Wolf4SDL, every Spear build reads its
|
||||
graphics and audio files under the sod extension (wl_menu.cpp:5341-5342)
|
||||
and only vswap, maphead and gamemaps under the mission extension, so the
|
||||
mission packs need the original game beside them.
|
||||
|
||||
vgahead must hold one three byte offset per chunk, less the missing
|
||||
episodes, or the engine quits (id_ca.cpp:482-496).
|
||||
|
||||
The split screen sprites, pictures and sounds are read from the lwmp
|
||||
directory (id_lwmp.cpp:21), or from the directory given with
|
||||
--splitdatadir (wl_main.cpp:2127-2137). Each lookup tries a lowercase
|
||||
.bmp then .BMP, and .wav, .ogg, .WAV, .OGG for sounds
|
||||
(id_lwmp.cpp:1831-1868, 2086-2105, id_sd.cpp:556-572). When a file is
|
||||
missing the engine falls back to the sprite or picture of the game data
|
||||
(id_lwmp.cpp:3301-3313, 3412-3445), so the directory is optional. The
|
||||
project publishes it as lwmp.zip in its downloads, which RetroPie
|
||||
extracts beside the binaries.
|
||||
|
||||
The shareware Wolfenstein 3D v1.4 and Spear of Destiny demo files carry
|
||||
hashes of the archives RetroPie downloads. The retail files carry none:
|
||||
the engine checks no hash, and the md5 table in RetroPie's launcher
|
||||
script only picks which binary to start.
|
||||
|
||||
Written by the engine, not read as data: config.<ext> and savegames in
|
||||
~/.splitwolf.
|
||||
|
||||
files:
|
||||
- name: "lwmp/"
|
||||
type: directory
|
||||
path: "lwmp/"
|
||||
category: game_data
|
||||
description: "Split screen sprites, pictures and sounds"
|
||||
required: false
|
||||
bundled: true
|
||||
source_ref: "id_lwmp.cpp:21, 1831-1868, 2064-2149, id_sd.cpp:556-572, wl_main.cpp:2127-2137"
|
||||
note: >
|
||||
lwmp.zip (sha1 1145464c5adf84ffd692b46a97cafaddc2153734) from
|
||||
bitbucket.org/linuxwolf6/splitwolf/downloads holds sprites/ with one
|
||||
dir1 to dir8 folder per rotation, pics/ and sounds/.
|
||||
RetroPie downloads and extracts it into the install directory during
|
||||
installation, with no user action.
|
||||
|
||||
- name: "gamecontrollerdb.txt"
|
||||
category: game_data
|
||||
description: "SDL game controller mappings"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 117360
|
||||
sha1: "cf96adc4eb2262db4cc19612ca7730e5929d1799"
|
||||
md5: "3ccf989cc6c79e0a9441dece1773d4fe"
|
||||
source_ref: "id_in.cpp:453, Makefile:223, 388"
|
||||
note: >
|
||||
Read from the working directory by SDL_GameControllerAddMappingsFromFile.
|
||||
Copied from the SDL_GameControllerDB submodule (commit
|
||||
01275a5bbefbab17f274e60393cd75405f74feb3) into bin/ at build time.
|
||||
|
||||
# Wolfenstein 3D shareware (.wl1)
|
||||
- name: "vswap.wl1"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D shareware page file: wall textures, sprites and digitized sounds"
|
||||
required: false
|
||||
size: 742912
|
||||
sha1: "63134a2e3165b5291ece7b8a4145d2bd67d4f787"
|
||||
md5: "6efa079414b817c97db779cecfb081c9"
|
||||
source_ref: "id_pm.cpp:20-25, wl_menu.cpp:5260-5267, 5354-5355"
|
||||
note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "vgadict.wl1"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D shareware Huffman dictionary of the graphics file"
|
||||
required: false
|
||||
size: 1024
|
||||
sha1: "10ae325f5ce124d2536a63805023c56a4e438ea1"
|
||||
md5: "76a6128f3c0dd9b77939ce8313992746"
|
||||
source_ref: "id_ca.cpp:464-468, wl_menu.cpp:5260-5267, 5354-5355"
|
||||
note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "vgahead.wl1"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D shareware graphics chunk offsets"
|
||||
required: false
|
||||
size: 471
|
||||
sha1: "a9ba5551f54f88d810b9aa82a15caae623509a4c"
|
||||
md5: "61bf1616e78367853c91f2c04e2c1cb7"
|
||||
source_ref: "id_ca.cpp:475-497, wl_menu.cpp:5260-5267, 5354-5355"
|
||||
note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "vgagraph.wl1"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D shareware graphics chunks: pictures, fonts and text articles"
|
||||
required: false
|
||||
size: 326568
|
||||
sha1: "3ad077aca0e775bd6a241515c8b2874d4fa4099a"
|
||||
md5: "74decb641b1a4faed173e10ab744bff0"
|
||||
source_ref: "id_ca.cpp:514-518, wl_menu.cpp:5260-5267, 5354-5355"
|
||||
note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "maphead.wl1"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D shareware map offsets and tile info"
|
||||
required: false
|
||||
size: 402
|
||||
sha1: "b3942ddb4f6bb671b026a3f85611bf314acefce7"
|
||||
md5: "7b6dd4e55c33c33a41d1600be5df3228"
|
||||
source_ref: "id_ca.cpp:556-560, wl_menu.cpp:5260-5267, 5354-5355"
|
||||
note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "gamemaps.wl1"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D shareware level maps"
|
||||
required: false
|
||||
size: 27425
|
||||
sha1: "d49fc8a7887d7e73be7c813177307b68206f8147"
|
||||
md5: "30fecd7cce6bc70402651ec922d2da3d"
|
||||
source_ref: "id_ca.cpp:575-580, wl_menu.cpp:5260-5267, 5354-5355"
|
||||
note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "audiohed.wl1"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D shareware audio chunk offsets"
|
||||
required: false
|
||||
size: 1156
|
||||
sha1: "732460795d77cab19c8018d879f5c27a3cbd5f84"
|
||||
md5: "58aa1b9892d5adfa725fab343d9446f8"
|
||||
source_ref: "id_ca.cpp:636-641, wl_menu.cpp:5260-5267, 5354-5355"
|
||||
note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "audiot.wl1"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D shareware AdLib sound effects and music"
|
||||
required: false
|
||||
size: 132613
|
||||
sha1: "0254cc09b7a8ab0b884766b5dcd0e8555c424937"
|
||||
md5: "4b6109e957b584e4ad7f376961f3887e"
|
||||
source_ref: "id_ca.cpp:647-651, wl_menu.cpp:5260-5267, 5354-5355"
|
||||
note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
# Wolfenstein 3D, three episode release (.wl3)
|
||||
- name: "vswap.wl3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D, three episode release page file: wall textures, sprites and digitized sounds"
|
||||
required: false
|
||||
source_ref: "id_pm.cpp:20-25, wl_menu.cpp:5283-5288, 5354-5355"
|
||||
|
||||
- name: "vgadict.wl3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D, three episode release Huffman dictionary of the graphics file"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:464-468, wl_menu.cpp:5283-5288, 5354-5355"
|
||||
|
||||
- name: "vgahead.wl3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D, three episode release graphics chunk offsets"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:475-497, wl_menu.cpp:5283-5288, 5354-5355"
|
||||
|
||||
- name: "vgagraph.wl3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D, three episode release graphics chunks: pictures, fonts and text articles"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:514-518, wl_menu.cpp:5283-5288, 5354-5355"
|
||||
|
||||
- name: "maphead.wl3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D, three episode release map offsets and tile info"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:556-560, wl_menu.cpp:5283-5288, 5354-5355"
|
||||
|
||||
- name: "gamemaps.wl3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D, three episode release level maps"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:575-580, wl_menu.cpp:5283-5288, 5354-5355"
|
||||
|
||||
- name: "audiohed.wl3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D, three episode release audio chunk offsets"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:636-641, wl_menu.cpp:5283-5288, 5354-5355"
|
||||
|
||||
- name: "audiot.wl3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D, three episode release AdLib sound effects and music"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:647-651, wl_menu.cpp:5283-5288, 5354-5355"
|
||||
|
||||
# Wolfenstein 3D (.wl6)
|
||||
- name: "vswap.wl6"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D page file: wall textures, sprites and digitized sounds"
|
||||
required: false
|
||||
source_ref: "id_pm.cpp:20-25, wl_menu.cpp:5270-5281, 5354-5355"
|
||||
|
||||
- name: "vgadict.wl6"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D Huffman dictionary of the graphics file"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:464-468, wl_menu.cpp:5270-5281, 5354-5355"
|
||||
|
||||
- name: "vgahead.wl6"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D graphics chunk offsets"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:475-497, wl_menu.cpp:5270-5281, 5354-5355"
|
||||
|
||||
- name: "vgagraph.wl6"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D graphics chunks: pictures, fonts and text articles"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:514-518, wl_menu.cpp:5270-5281, 5354-5355"
|
||||
|
||||
- name: "maphead.wl6"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D map offsets and tile info"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:556-560, wl_menu.cpp:5270-5281, 5354-5355"
|
||||
|
||||
- name: "gamemaps.wl6"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D level maps"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:575-580, wl_menu.cpp:5270-5281, 5354-5355"
|
||||
|
||||
- name: "audiohed.wl6"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D audio chunk offsets"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:636-641, wl_menu.cpp:5270-5281, 5354-5355"
|
||||
|
||||
- name: "audiot.wl6"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D AdLib sound effects and music"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:647-651, wl_menu.cpp:5270-5281, 5354-5355"
|
||||
|
||||
# Spear of Destiny (.sod)
|
||||
- name: "vswap.sod"
|
||||
aliases: ["vswap.sd1"]
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny page file: wall textures, sprites and digitized sounds"
|
||||
required: false
|
||||
source_ref: "id_pm.cpp:20-25, wl_menu.cpp:5324-5342"
|
||||
|
||||
- name: "vgadict.sod"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny Huffman dictionary of the graphics file"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:464-468, wl_menu.cpp:5324-5342"
|
||||
|
||||
- name: "vgahead.sod"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny graphics chunk offsets"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:475-497, wl_menu.cpp:5324-5342"
|
||||
|
||||
- name: "vgagraph.sod"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny graphics chunks: pictures, fonts and text articles"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:514-518, wl_menu.cpp:5324-5342"
|
||||
|
||||
- name: "maphead.sod"
|
||||
aliases: ["maphead.sd1"]
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny map offsets and tile info"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:556-560, wl_menu.cpp:5324-5342"
|
||||
|
||||
- name: "gamemaps.sod"
|
||||
aliases: ["gamemaps.sd1"]
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny level maps"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:575-580, wl_menu.cpp:5324-5342"
|
||||
|
||||
- name: "audiohed.sod"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny audio chunk offsets"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:636-641, wl_menu.cpp:5324-5342"
|
||||
|
||||
- name: "audiot.sod"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny AdLib sound effects and music"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:647-651, wl_menu.cpp:5324-5342"
|
||||
|
||||
# Spear of Destiny mission pack 2 (.sd2)
|
||||
- name: "vswap.sd2"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny mission pack 2 page file: wall textures, sprites and digitized sounds"
|
||||
required: false
|
||||
source_ref: "id_pm.cpp:20-25, wl_menu.cpp:5307-5313"
|
||||
|
||||
- name: "maphead.sd2"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny mission pack 2 map offsets and tile info"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:556-560, wl_menu.cpp:5307-5313"
|
||||
|
||||
- name: "gamemaps.sd2"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny mission pack 2 level maps"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:575-580, wl_menu.cpp:5307-5313"
|
||||
|
||||
# Spear of Destiny mission pack 3 (.sd3)
|
||||
- name: "vswap.sd3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny mission pack 3 page file: wall textures, sprites and digitized sounds"
|
||||
required: false
|
||||
source_ref: "id_pm.cpp:20-25, wl_menu.cpp:5314-5320"
|
||||
|
||||
- name: "maphead.sd3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny mission pack 3 map offsets and tile info"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:556-560, wl_menu.cpp:5314-5320"
|
||||
|
||||
- name: "gamemaps.sd3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny mission pack 3 level maps"
|
||||
required: false
|
||||
source_ref: "id_ca.cpp:575-580, wl_menu.cpp:5314-5320"
|
||||
|
||||
# Spear of Destiny demo (.sdm)
|
||||
- name: "vswap.sdm"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny demo page file: wall textures, sprites and digitized sounds"
|
||||
required: false
|
||||
size: 730624
|
||||
sha1: "90158daca3d629b388b96f688e6084c11762f680"
|
||||
md5: "35afda760bea840b547d686a930322dc"
|
||||
source_ref: "id_pm.cpp:20-25, wl_menu.cpp:5344-5351"
|
||||
note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "vgadict.sdm"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny demo Huffman dictionary of the graphics file"
|
||||
required: false
|
||||
size: 1024
|
||||
sha1: "c28f04668180386f42009eb3a3910437c893c8c0"
|
||||
md5: "2f85b6763a582df19e6a35dd9634c736"
|
||||
source_ref: "id_ca.cpp:464-468, wl_menu.cpp:5344-5351"
|
||||
note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "vgahead.sdm"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny demo graphics chunk offsets"
|
||||
required: false
|
||||
size: 402
|
||||
sha1: "5765612af995804854d34696d152a7ee6f20dd18"
|
||||
md5: "18c03cb401ed274bc0b659e951140e64"
|
||||
source_ref: "id_ca.cpp:475-497, wl_menu.cpp:5344-5351"
|
||||
note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "vgagraph.sdm"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny demo graphics chunks: pictures, fonts and text articles"
|
||||
required: false
|
||||
size: 305891
|
||||
sha1: "9da7d00d1d68c0b24bf120f9927df53ff663a64f"
|
||||
md5: "1cc5ceb8e43c0c0030cf552fc8ae9d0d"
|
||||
source_ref: "id_ca.cpp:514-518, wl_menu.cpp:5344-5351"
|
||||
note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "maphead.sdm"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny demo map offsets and tile info"
|
||||
required: false
|
||||
size: 402
|
||||
sha1: "f6271baf01c3fb88b4979fd0e124a8b2c66d4e34"
|
||||
md5: "40fa03caf7a1a4dbd22da4321c6e10d4"
|
||||
source_ref: "id_ca.cpp:556-560, wl_menu.cpp:5344-5351"
|
||||
note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "gamemaps.sdm"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny demo level maps"
|
||||
required: false
|
||||
size: 5534
|
||||
sha1: "66a3e2c12dfc374c414543885a213073c72772bb"
|
||||
md5: "4eb2f538aab6e4061dadbc3b73837762"
|
||||
source_ref: "id_ca.cpp:575-580, wl_menu.cpp:5344-5351"
|
||||
note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "audiohed.sdm"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny demo audio chunk offsets"
|
||||
required: false
|
||||
size: 1072
|
||||
sha1: "a6519b58bcaac5e8a866cebaf268e74afe2f1778"
|
||||
md5: "f0022742f86c214872bd72f03aaf1529"
|
||||
source_ref: "id_ca.cpp:636-641, wl_menu.cpp:5344-5351"
|
||||
note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "audiot.sdm"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny demo AdLib sound effects and music"
|
||||
required: false
|
||||
size: 93412
|
||||
sha1: "0ce47169695698cd41580b4e3f9dfec393b4886b"
|
||||
md5: "fcde1333c941229f4dd6ca099fcfe616"
|
||||
source_ref: "id_ca.cpp:647-651, wl_menu.cpp:5344-5351"
|
||||
note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
@@ -0,0 +1,89 @@
|
||||
emulator: Sonic Robo Blast 2
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/STJr/SRB2"
|
||||
upstream: "https://git.do.srb2.org/STJr/SRB2"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "8701ef41f617c06e23a7b8ccd2199c160c5d1dd1"
|
||||
core_version: "2.2.15"
|
||||
display_name: "Sonic Robo Blast 2"
|
||||
cores: [srb2]
|
||||
systems: []
|
||||
verification: existence
|
||||
|
||||
notes: |
|
||||
Sonic fan game by Sonic Team Junior, built on a modified Doom Legacy
|
||||
engine. The pin is tag SRB2_release_2.2.15, the revision RetroPie builds
|
||||
(ports/srb2.sh, _version_srb2). The GitHub repository mirrors the
|
||||
project's GitLab and carries the same tag commit.
|
||||
|
||||
The game assets are not in the source tree. They ship in the release
|
||||
archive SRB2-v2215-Full.zip, which RetroPie unpacks and installs next to
|
||||
the binary. The hashes below are those of the files in that archive.
|
||||
|
||||
IdentifyVersion() (src/d_main.c:1126-1205) finds the asset directory
|
||||
through I_LocateWad(), which tries SRB2WADDIR, the working directory,
|
||||
the default install paths, $HOME/.srb2 and the search paths in that
|
||||
order (src/sdl/i_system.c:3019-3072), and chdirs there. The first
|
||||
directory holding srb2.pk3 wins. RetroPie launches the binary from its
|
||||
install directory. srb2/ below stands for that directory.
|
||||
|
||||
srb2.pk3, zones.pk3 and characters.pk3 are main files: W_InitFile with
|
||||
startup set ends in I_Error when one is missing (src/w_wad.c:805-817).
|
||||
A build without DEVELOP then checks their MD5 against ASSET_HASH_*
|
||||
(src/config.h.in:46-48, src/d_main.c:1447-1449) and W_VerifyFileMD5
|
||||
stops on a mismatch (src/w_wad.c:2550-2590). The CMake option
|
||||
SRB2_CONFIG_DEV_BUILD, off by default, is what defines DEVELOP
|
||||
(src/CMakeLists.txt:149, 383-384). patch.pk3 is loaded only when
|
||||
USE_PATCH_DTA is defined, which it is not in this release
|
||||
(src/doomdef.h:171).
|
||||
|
||||
music.pk3 is not hashed. MUSICTEST adds it only when it holds music and
|
||||
sound lumps alone, rejects it with an error when it holds anything else,
|
||||
and skips it when it cannot be opened (src/d_main.c:1189-1203,
|
||||
src/w_wad.c:2810, 2840).
|
||||
|
||||
files:
|
||||
- name: "srb2.pk3"
|
||||
path: "srb2/srb2.pk3"
|
||||
category: game_data
|
||||
description: "Main game assets"
|
||||
required: true
|
||||
size: 50115266
|
||||
md5: "3182ce524acc2072ddaa81acf4b6a9aa"
|
||||
sha1: "f53394ceabded0a307330d81a4ae4db59e269ecb"
|
||||
validation: [md5]
|
||||
source_ref: "src/d_main.c:1161-1171, src/d_main.c:1447, src/config.h.in:46"
|
||||
|
||||
- name: "zones.pk3"
|
||||
path: "srb2/zones.pk3"
|
||||
category: game_data
|
||||
description: "Level data"
|
||||
required: true
|
||||
size: 18503511
|
||||
md5: "88ff4c300851ccdb0406698eadd89907"
|
||||
sha1: "de0e5d630c1f93472be22f981f68033107f059a2"
|
||||
validation: [md5]
|
||||
source_ref: "src/d_main.c:1180, src/d_main.c:1448, src/config.h.in:47"
|
||||
|
||||
- name: "characters.pk3"
|
||||
path: "srb2/characters.pk3"
|
||||
category: game_data
|
||||
description: "Playable character data"
|
||||
required: true
|
||||
size: 2044315
|
||||
md5: "5c5936b8a690e007c0939bd0785a41fb"
|
||||
sha1: "c070cd568f6579a94372e70f6c789fc479247d5c"
|
||||
validation: [md5]
|
||||
source_ref: "src/d_main.c:1183, src/d_main.c:1449, src/config.h.in:48"
|
||||
|
||||
- name: "music.pk3"
|
||||
path: "srb2/music.pk3"
|
||||
category: game_data
|
||||
description: "Music and sound effects"
|
||||
required: false
|
||||
size: 99639560
|
||||
md5: "b8763719b66716dbd5c0f9982269be69"
|
||||
sha1: "84095f245c724899f52d4912f2c01e0fc9d42dc0"
|
||||
source_ref: "src/d_main.c:1189-1203, src/d_main.c:1453"
|
||||
note: "Hashes are those of the 2.2.15 release archive. The engine does not check them."
|
||||
@@ -0,0 +1,146 @@
|
||||
emulator: Starship
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/HarbourMasters/Starship"
|
||||
upstream: "https://github.com/HarbourMasters/Starship"
|
||||
source_commit: "cb19785b51698185a688e17ba1a34c7889195bdb"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "2.0.0"
|
||||
display_name: "Star Fox 64 (Starship)"
|
||||
cores: [starship]
|
||||
systems: [starship]
|
||||
|
||||
notes: |
|
||||
PC port of Star Fox 64 built on the decompilation, by HarbourMasters. The
|
||||
game runs from assets extracted out of the user's N64 ROM into sf64.o2r,
|
||||
plus the port's own archive starship.o2r, on the libultraship runtime.
|
||||
Torch (tools/Torch) performs the extraction inside the executable.
|
||||
|
||||
RetroBat installs the v2.0.0 release: its starship.7z carries the
|
||||
Starship.exe, starship.o2r, config.yml and gamecontrollerdb.txt of
|
||||
Starship-Barnard-Alfa-Windows.zip byte for byte. The profile is pinned to
|
||||
the v2.0.0 tag for that reason. RetroBat's launcher copies the ROM from
|
||||
roms/starship into the Starship folder when no other .o2r than
|
||||
starship.o2r is there, then starts Starship.exe.
|
||||
|
||||
Startup (GameEngine::GameEngine, src/port/Engine.cpp:65-127):
|
||||
1. sf64.o2r next to the executable is loaded when present (:72, :88-89).
|
||||
2. Otherwise the user is asked for a ROM. A refusal, a cancelled file
|
||||
dialog or a ROM whose SHA-1 is not in mGameList exits (:90-106,
|
||||
:272-292). An accepted ROM is extracted by Torch, then the user may
|
||||
extract a second ROM for the JP, EU or CN voice archive.
|
||||
3. starship.o2r is added when it exists (:109-111).
|
||||
4. Every .otr, .o2r and .zip under mods/ is added (:113-126).
|
||||
|
||||
The ROM SHA-1 is computed by Torch over the whole file
|
||||
(Torch src/n64/Cartridge.cpp:17, Torch src/Companion.cpp:1535-1537).
|
||||
Torch then reads config.yml from the working directory, which maps each
|
||||
accepted hash to an asset tree under assets/yaml/ and to an output
|
||||
archive: sf64.o2r for the two US revisions, mods/sf64jp.o2r,
|
||||
mods/sf64eu.o2r and mods/sf64cn.o2r for the others. A compressed dump is
|
||||
first decompressed to the uncompressed image and processed again. Without
|
||||
config.yml Torch logs "No config file found" and writes nothing
|
||||
(Torch src/Companion.cpp:956-960). config.yml and the 103 assets/yaml
|
||||
files ship with the release.
|
||||
|
||||
The renderer loads its default shader from the archives and aborts when
|
||||
it is missing
|
||||
(libultraship src/graphic/Fast3D/backends/gfx_direct3d11.cpp:1325-1331).
|
||||
The shaders are only in starship.o2r, packed from port/ by "torch pack
|
||||
port starship.o2r o2r" (CMakeLists.txt:631-635). starship.o2r also
|
||||
carries the HUD boost gauge textures.
|
||||
|
||||
Torch and libultraship are submodules of the repository, pinned at v2.0.0
|
||||
to f75facb20883570ed091e8ae733ec0539f606e57 and
|
||||
45c4f8d6c19c6176f5e0918917c655ea09ecc212. Their citations above are at
|
||||
those revisions.
|
||||
|
||||
files:
|
||||
- name: "baserom.us.rev1.z64"
|
||||
category: game_data
|
||||
system: starship
|
||||
required: true
|
||||
sha1:
|
||||
- "09f0d105f476b00efa5303a3ebc42e60a7753b7a"
|
||||
- "f7475fb11e7e6830f82883412638e8390791ab87"
|
||||
- "d8b1088520f7c5f81433292a9258c1184afa1457"
|
||||
- "63b69f0ef36306257481afc250f9bc304c7162b2"
|
||||
validation: [sha1]
|
||||
description: "Star Fox 64 (USA) ROM, revision 1.1 or 1.0, as dumped or uncompressed"
|
||||
source_ref: "src/port/extractor/GameExtractor.cpp:12-23, 25-54, src/port/Engine.cpp:88-106, 272-292, config.yml:3-62"
|
||||
note: "Picked through a file dialog filtered on *.z64 on Windows, Linux and macOS. Switch, Android and iOS read baserom.us.rev1.z64 next to the executable. Only a US ROM produces sf64.o2r, the archive the game runs from, and it is not read again once sf64.o2r exists."
|
||||
|
||||
- name: "baserom.jp.z64"
|
||||
category: game_data
|
||||
system: starship
|
||||
required: false
|
||||
sha1:
|
||||
- "9bd71afbecf4d0a43146e4e7a893395e19bf3220"
|
||||
- "d064229a32cc05ab85e2381ce07744eb3ffaf530"
|
||||
validation: [sha1]
|
||||
description: "Star Fox 64 (Japan) ROM, extracted to mods/sf64jp.o2r for Japanese voices"
|
||||
source_ref: "src/port/extractor/GameExtractor.cpp:17-18, config.yml:63-92"
|
||||
note: "Offered after the US extraction. The file name is whatever the user picks in the dialog."
|
||||
|
||||
- name: "baserom.eu.z64"
|
||||
category: game_data
|
||||
system: starship
|
||||
required: false
|
||||
sha1:
|
||||
- "05b307b8804f992af1a1e2fbafbd588501fdf799"
|
||||
- "09f5d5c14219fc77a36c5a6ad5e63f7abd8b3385"
|
||||
validation: [sha1]
|
||||
description: "Lylat Wars (Europe) ROM, extracted to mods/sf64eu.o2r for European voices"
|
||||
source_ref: "src/port/extractor/GameExtractor.cpp:19-20, config.yml:93-122"
|
||||
note: "Offered after the US extraction. The file name is whatever the user picks in the dialog."
|
||||
|
||||
- name: "baserom.cn.z64"
|
||||
category: game_data
|
||||
system: starship
|
||||
required: false
|
||||
sha1:
|
||||
- "c8a10699dea52f4bb2e2311935c1376dfb352e7a"
|
||||
- "3a05aba5549fa71e8b16a0c6e2c8481b070818a9"
|
||||
validation: [sha1]
|
||||
description: "Star Fox 64 (China, iQue) ROM, extracted to mods/sf64cn.o2r"
|
||||
source_ref: "src/port/extractor/GameExtractor.cpp:21-22, config.yml:123-149"
|
||||
note: "Offered after the US extraction. The file name is whatever the user picks in the dialog."
|
||||
|
||||
- name: "starship.o2r"
|
||||
path: "starship/starship.o2r"
|
||||
category: game_data
|
||||
system: starship
|
||||
required: true
|
||||
bundled: true
|
||||
size: 10733
|
||||
sha1: "95a8b0460576158da39a51b53091eae2c6880aad"
|
||||
md5: "1885560b5d69899530bf3ab7af210f8b"
|
||||
description: "Port archive packed from port/: Direct3D, OpenGL and Metal default shaders and the HUD boost gauge textures"
|
||||
source_ref: "src/port/Engine.cpp:73-77, 109-111, libultraship src/graphic/Fast3D/backends/gfx_direct3d11.cpp:1325-1331"
|
||||
note: "Linux reads it from the application bundle, other systems from the executable directory. Loaded only when present, but the renderer aborts without the default shader it carries. Hash of the copy in Starship-Barnard-Alfa-Windows.zip, whose shaders have CRLF line endings."
|
||||
|
||||
- name: "config.yml"
|
||||
path: "starship/config.yml"
|
||||
category: game_data
|
||||
system: starship
|
||||
required: false
|
||||
bundled: true
|
||||
size: 3910
|
||||
sha1: "fedb99b9622ed8df8ab46b85e51998f911345cb6"
|
||||
md5: "0dab932eb5e59572294c1ea623d8f8e2"
|
||||
description: "Torch extraction table: accepted ROM hashes, their asset tree under assets/yaml/ and their output archive"
|
||||
source_ref: "Torch src/Companion.cpp:956-981"
|
||||
note: "Read from the working directory during an extraction only, together with the assets/yaml tree. Without it no archive is written. Hash of the copy in Starship-Barnard-Alfa-Windows.zip."
|
||||
|
||||
- name: "gamecontrollerdb.txt"
|
||||
path: "starship/gamecontrollerdb.txt"
|
||||
category: game_data
|
||||
system: starship
|
||||
required: false
|
||||
bundled: true
|
||||
size: 566042
|
||||
sha1: "b3d2b29fe4fdfdc0a74f5b8e200c506d33637d9c"
|
||||
md5: "06d6a7b5856d6a44e835b7e3dc41e6f6"
|
||||
description: "SDL game controller mapping database"
|
||||
source_ref: "libultraship src/public/libultra/os.cpp:18-24"
|
||||
note: "A load failure is logged and SDL keeps its built-in mappings. The build downloads it from gabomdq/SDL_GameControllerDB. Hash of the copy in Starship-Barnard-Alfa-Windows.zip."
|
||||
@@ -0,0 +1,40 @@
|
||||
emulator: Stratagus
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/Wargus/stratagus"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "6b309817027618a12e26e4cf314ad09654495e28"
|
||||
core_version: "2.4.3"
|
||||
display_name: "Stratagus"
|
||||
cores: [stratagus]
|
||||
systems: []
|
||||
verification: existence
|
||||
|
||||
notes: |
|
||||
Real time strategy engine. A game is a data set written for it: Wargus
|
||||
(Warcraft II), War1gus (Warcraft), Stargus (StarCraft) and free games
|
||||
such as Aleona's Tales. Each ships its Lua scripts and an extractor that
|
||||
converts the graphics, sounds and music of the original discs into the
|
||||
engine's formats. The pin is tag v2.4.3, the revision RetroPie builds
|
||||
(emulators/stratagus.sh).
|
||||
|
||||
RetroPie launches `stratagus -F -d %ROM%`, the ROM being the game's data
|
||||
directory. -d sets StratagusLibPath, "." by default
|
||||
(src/stratagus/stratagus.cpp:542-545, 725). The engine then runs the
|
||||
start script, scripts/stratagus.lua unless -c names another
|
||||
(src/stratagus/parameters.cpp:44, src/stratagus/stratagus.cpp:535-539,
|
||||
765), and scripts/guichan.lua for the menus
|
||||
(src/stratagus/stratagus.cpp:301). LibraryFileName resolves every
|
||||
relative name against the map directory, the user directory of the
|
||||
game, the data path and its graphics/, sounds/ and scripts/
|
||||
subdirectories (src/stratagus/iolib.cpp:543-630).
|
||||
|
||||
Every file the engine opens is named by the game's scripts or sits in
|
||||
the game's directory. The SF2 soundfont FluidSynth loads is
|
||||
Preference.SF2Soundfont, which only the game's Lua sets
|
||||
(src/sound/fluidsynth.cpp:222-230, src/include/unit.h:459). The engine
|
||||
names no file of its own. The game data is either the free game's own
|
||||
release or the output of the game's extractor run on the original disc,
|
||||
so nothing is listed here.
|
||||
|
||||
files: []
|
||||
@@ -0,0 +1,59 @@
|
||||
emulator: Sudachi
|
||||
type: standalone
|
||||
core_classification: community_fork
|
||||
source: "https://github.com/emuplace/sudachi.emuplace.app"
|
||||
upstream_gone: "The emuplace GitHub account answers 404 and sudachi.emuplace.app no longer serves. The 1.0.15 source archive (latest.zip, sha256 e2b98c4c2670407342db9f37feb6d2d5af39ff58acf42bbb348010fd8dc23f89) is kept by the Wayback Machine at its release URL, and its zip comment names the commit below. Observed 2026-10-20."
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "c7431bd420d66c54df277ba0a0b71de42cf0a5bf"
|
||||
core_version: "1.0.15"
|
||||
display_name: "Sudachi (Nintendo Switch)"
|
||||
cores:
|
||||
- sudachi
|
||||
systems: [nintendo-switch]
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Sudachi is a standalone Nintendo Switch emulator forked from yuzu early
|
||||
access 4176 (README.md:1-4). Keys are read from the keys directory of the user data
|
||||
directory (src/common/fs/fs_paths.h:8-9, 18). On Windows the portable
|
||||
build uses a user folder next to sudachi.exe when it exists, otherwise
|
||||
%APPDATA%/sudachi (src/common/fs/path_util.cpp:90-96, CMakeLists.txt:68).
|
||||
RetroBat creates that user folder before launching sudachi.exe -g <rom>
|
||||
and never copies keys itself.
|
||||
Key loading stops when neither prod.keys nor title.keys exists
|
||||
(src/core/crypto/key_manager.cpp:649-652).
|
||||
Firmware (system NCAs) is installed through the UI (Tools, Install
|
||||
Firmware, src/sudachi/main.cpp:4130), not read as loose files.
|
||||
Commercial games need the keys. Homebrew (.nro, .nso) runs without keys or firmware.
|
||||
|
||||
files:
|
||||
- name: "prod.keys"
|
||||
required: true
|
||||
path: "switch/prod.keys"
|
||||
note: "Production keys for NCA decryption (master, key area, header, titlekek)"
|
||||
source_ref: "src/core/crypto/key_manager.cpp:660-661"
|
||||
|
||||
- name: "dev.keys"
|
||||
required: false
|
||||
path: "switch/dev.keys"
|
||||
note: "Development-unit keys, read instead of prod.keys when use_dev_keys is set"
|
||||
source_ref: "src/core/crypto/key_manager.cpp:654-657"
|
||||
|
||||
- name: "title.keys"
|
||||
required: false
|
||||
path: "switch/title.keys"
|
||||
note: "Per-title encryption keys (rights_id to titlekey mappings)"
|
||||
source_ref: "src/core/crypto/key_manager.cpp:664-665"
|
||||
|
||||
- name: "console.keys"
|
||||
required: false
|
||||
path: "switch/console.keys"
|
||||
note: "Console-specific keys (BIS, SD seed)"
|
||||
source_ref: "src/core/crypto/key_manager.cpp:666-667"
|
||||
|
||||
- name: "key_retail.bin"
|
||||
required: false
|
||||
path: "switch/key_retail.bin"
|
||||
size: 160
|
||||
note: "Amiibo decryption keys (two InternalKey structs, 0x50 bytes each)"
|
||||
source_ref: "src/core/hle/service/nfc/common/amiibo_crypto.cpp:273-295"
|
||||
@@ -0,0 +1,141 @@
|
||||
emulator: Supermodel (Sinden fork)
|
||||
type: standalone
|
||||
core_classification: enhanced_fork
|
||||
source: "https://github.com/DirtBagXon/model3emu-code-sinden"
|
||||
upstream: "https://github.com/trzy/Supermodel"
|
||||
author: "DirtBagXon"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "377d259c59c90c0042278aca58603eb4bd7b03f3"
|
||||
upstream_commit: "ddbc3066e077e4c99581d2ab7d3452fd1a603723"
|
||||
core_version: "0.3a-ddbc306-mm DirtBagXon (Sinden)"
|
||||
display_name: "Sega - Model 3 (Supermodel, Sinden fork)"
|
||||
verification: existence
|
||||
cores:
|
||||
- "supermodel3"
|
||||
systems:
|
||||
- "sega-model3"
|
||||
- "real3d-pro1000"
|
||||
|
||||
notes: |
|
||||
DirtBagXon's Supermodel fork with Sinden light gun support, rebased on
|
||||
trzy's tree at ddbc306, the revision its version string names. RetroPie builds the main branch on x86 and the arm branch
|
||||
everywhere else, the arm branch at commit 454ed3f when the system SDL2 is
|
||||
2.0.22 or older. The arm branch is a separate, older line (revision
|
||||
6ae0cf2f237586c4a3cc791514ec1b0f3cd4c56c, "0.3a-8c6af68-arm-mm") and is
|
||||
described in its own paragraph below. Entries carry the main branch.
|
||||
ref: Src/Version.h:32
|
||||
|
||||
RetroPie copies Config/Games.xml, and on x86 the Assets directory, into
|
||||
$md_conf_root/arcade/supermodel3 and starts the emulator from there. On
|
||||
Linux the main branch resolves Config/, Assets/, NVRAM/ and Saves/
|
||||
relative to the working directory when Config/ exists there, otherwise
|
||||
under ~/.supermodel/ when present, otherwise under the XDG config and data
|
||||
homes.
|
||||
ref: Src/OSD/Unix/FileSystemPath.cpp:99-157, Src/OSD/SDL/Main.cpp:120-122
|
||||
|
||||
ROM sets are MAME format archives described by Games.xml. The game is
|
||||
chosen by the archive's own file name, which must match a game name, and
|
||||
the parent archive <parent>.zip is opened from the same directory. ROMs
|
||||
inside are matched by CRC32. Model 3 boards carry their own program,
|
||||
video, sound and drive board ROMs, so a Model 3 game reads nothing outside
|
||||
its archives.
|
||||
ref: Src/GameLoader.cpp:1044-1101
|
||||
|
||||
The main branch also emulates the Real3D Pro-1000 image generator, the
|
||||
hardware the Model 3 graphics derive from. Games.xml declares it as the
|
||||
set pro1000, whose two regions are the flash images of the Pro-1000 SDK
|
||||
update: p1_p4.bin (boot stub and loop code) and p2.bin (INIT ROM). The
|
||||
machine refuses to start without either region. A scsi_rom region is
|
||||
optional, a synthetic image is built when it is absent.
|
||||
ref: Config/Games.xml:1404-1428, Src/Pro1000/Pro1000.cpp:2114-2146,
|
||||
Src/Pro1000/Pro1000.cpp:165-181
|
||||
|
||||
Supermodel.ini is optional. It is written from compiled-in defaults when
|
||||
absent. NVRAM/<game>.nv is loaded when present and written on exit.
|
||||
External GLSL shaders are read only when VertexShader or FragmentShader
|
||||
names a file, both default to empty.
|
||||
ref: Src/OSD/SDL/Main.cpp:1407-1427, Src/OSD/SDL/Main.cpp:2356,
|
||||
Src/OSD/SDL/Main.cpp:791-822, Src/OSD/SDL/Main.cpp:1545-1546
|
||||
|
||||
The arm branch has no Pro-1000 emulation and no path resolution: the
|
||||
paths Config/Supermodel.ini, Config/Games.xml, NVRAM/<game>.nv and
|
||||
Saves/<game>.st<slot> are fixed and relative to the working directory.
|
||||
Crosshairs are drawn as primitives, no Assets bitmap and no Music.xml are
|
||||
read, which is why RetroPie installs Assets on x86 only. Its Games.xml
|
||||
(63 sets, size 158300, sha1 ccbc64e2f5b9aefd89ff9acd7227eff230aed8ed)
|
||||
differs from the main branch copy.
|
||||
|
||||
files:
|
||||
- name: "Games.xml"
|
||||
path: "Config/Games.xml"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 152608
|
||||
sha1: "79fa74742f4b18e250c11c1dea5837fdf57cd54c"
|
||||
md5: "f2f5f09ca0a275696319176b4f41b8d6"
|
||||
description: "ROM set definitions"
|
||||
note: "Parsed by the GameLoader constructor. Without it no game is defined, the archive name matches nothing and main returns 1. The path is the GameXMLFile key, so -game-xml-file moves it. The hash is that of Config/Games.xml at the pinned revision, 64 sets, which RetroPie copies on every install. Shipped in the 377d259 Linux, macOS and Windows release archives."
|
||||
source_ref: "Src/OSD/SDL/Main.cpp:121, Src/OSD/SDL/Main.cpp:1534, Src/OSD/SDL/Main.cpp:2444-2449, Src/GameLoader.cpp:601-610, Src/GameLoader.cpp:1066-1071, Src/GameLoader.cpp:1111-1113"
|
||||
|
||||
- name: "p1crosshair.bmp"
|
||||
path: "Assets/p1crosshair.bmp"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 295992
|
||||
sha1: "581cea232c296c7bd76f3101c3ae1bffdf5abf08"
|
||||
md5: "9012018f50f707c1707009346eb5d18b"
|
||||
description: "Player 1 light gun crosshair texture"
|
||||
note: "Both bitmaps are loaded whatever CrosshairStyle holds, and a failed load aborts startup before the machine is created."
|
||||
source_ref: "Src/OSD/SDL/Crosshair.cpp:34-51, Src/OSD/SDL/Main.cpp:2499-2506"
|
||||
|
||||
- name: "p2crosshair.bmp"
|
||||
path: "Assets/p2crosshair.bmp"
|
||||
required: true
|
||||
bundled: true
|
||||
size: 295992
|
||||
sha1: "13c5e692c7acf2ec8243ac421d58fdf69c6c2370"
|
||||
md5: "866dbf59a0e2d849de2365e1c953cc97"
|
||||
description: "Player 2 light gun crosshair texture"
|
||||
note: "Read in the same call as the player 1 bitmap and equally fatal when it fails to load. Both bitmaps are shipped in the 377d259 release archives."
|
||||
source_ref: "Src/OSD/SDL/Crosshair.cpp:35, Src/OSD/SDL/Crosshair.cpp:48-51"
|
||||
|
||||
- name: "Music.xml"
|
||||
path: "Config/Music.xml"
|
||||
required: false
|
||||
bundled: true
|
||||
size: 9224
|
||||
sha1: "b44ed959fe2948a03d81b98e67ca32f2b4c37e78"
|
||||
md5: "ddb4e23db15dda67539eee24de23de4b"
|
||||
description: "Custom MPEG music track map"
|
||||
note: "Consulted only for a game with a DSB1 or DSB2 board, and skipped when absent. RetroPie does not copy it. Shipped in the 377d259 release archives, the Windows zip with CRLF line endings (sha1 4c556c3a848ef61205a53a9a73ba5e46970d445f)."
|
||||
source_ref: "Src/OSD/SDL/Main.cpp:122, Src/OSD/SDL/Main.cpp:947, Src/Sound/MPEG/MpegAudio.cpp:88-102"
|
||||
|
||||
- name: "pro1000.zip"
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: real3d-pro1000
|
||||
description: "Real3D Pro-1000 firmware set (SDK flash update, loop code 5.4, INIT ROM 54)"
|
||||
note: "Loaded as the content of the pro1000 machine, named after the set. Required to run the Pro-1000 only, Model 3 games never read it."
|
||||
source_ref: "Config/Games.xml:1404-1428, Src/Pro1000/Pro1000.cpp:2114-2125, Src/GameLoader.cpp:1066-1071"
|
||||
contents:
|
||||
- name: "p1_p4.bin"
|
||||
description: "Flash parts 1 and 4, boot stub and loop code, loaded at 0xFFF00000"
|
||||
crc32: "6026a0db"
|
||||
- name: "p2.bin"
|
||||
description: "Flash part 2, INIT ROM, loaded at 0xFFF80000"
|
||||
crc32: "945bbcf5"
|
||||
|
||||
- name: "3dlogo.cmem"
|
||||
path: "Assets/3dlogo.cmem"
|
||||
required: false
|
||||
system: real3d-pro1000
|
||||
description: "Pro-1000 SDK logo model, culling data"
|
||||
note: "Read with 3dlogo.pmem into the synthetic SCSI ROM when the set has no scsi_rom region. Both files or neither, one alone is rejected with an error. The machine boots without them."
|
||||
source_ref: "Src/Pro1000/SyntheticSCSIROM.cpp:102-125, Src/Pro1000/SyntheticSCSIROM.cpp:232"
|
||||
|
||||
- name: "3dlogo.pmem"
|
||||
path: "Assets/3dlogo.pmem"
|
||||
required: false
|
||||
system: real3d-pro1000
|
||||
description: "Pro-1000 SDK logo model, polygon data"
|
||||
source_ref: "Src/Pro1000/SyntheticSCSIROM.cpp:104-106, Src/Pro1000/SyntheticSCSIROM.cpp:119-125"
|
||||
@@ -0,0 +1,284 @@
|
||||
emulator: TeknoParrot
|
||||
type: standalone
|
||||
core_classification: other
|
||||
source: "https://github.com/teknogods/TeknoParrotUI"
|
||||
upstream: closed-source
|
||||
author: "TeknoGods"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "7ffcdf1c003ff322f2d8db659ab6fd7c4f982ade"
|
||||
core_version: "TeknoParrotUI 7ffcdf1"
|
||||
display_name: "Arcade - PC-based and Sega/Namco boards (TeknoParrot)"
|
||||
cores:
|
||||
- teknoparrot
|
||||
systems:
|
||||
- sega-naomi
|
||||
- sega-naomi2
|
||||
- sega-naomigd
|
||||
- sammy-atomiswave
|
||||
- sega-hikaru
|
||||
- sega-chihiro
|
||||
- sega-triforce
|
||||
- sega-lindbergh
|
||||
- namco-system246
|
||||
- namco-system256
|
||||
- namco-system357
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Launcher and emulator suite for arcade boards. TeknoParrotUI is open source
|
||||
and read here at its pinned commit. It runs a game through one of the
|
||||
components its updater installs from the releases of teknogods/TeknoParrot,
|
||||
every one of them closed source: the TeknoParrot and ElfLdr2 loaders for
|
||||
PC-based and Lindbergh boards, forks of Dolphin (Triforce), Play! and PCSX2x6
|
||||
(Namco System 246/256), RPCS3 (Namco System 357/369) and Cxbx-Reloaded
|
||||
(Chihiro), and a family of board emulators named Tekno* (TeknoNaomi,
|
||||
TeknoMVS, TeknoCPS, TeknoModel2 and others).
|
||||
ref: TeknoParrotUi/MainWindow.xaml.cs:509-669,
|
||||
TeknoParrotUi.Common/EmulatorType.cs:9-67
|
||||
|
||||
RetroBat starts TeknoParrotUi.exe and picks the component by the core name:
|
||||
triforce, pcsx2x6, play, namco2x6, namco3xx, chihiro, or none for the
|
||||
loaders. For Triforce, System 2x6 and Chihiro the game image itself is
|
||||
written as the profile's game path.
|
||||
ref: emulatorlauncher emulatorLauncher/Generators/TeknoParrot.generator.cs:177-201,
|
||||
emulatorlauncher emulatorLauncher/Generators/TeknoParrot.generator.cs:266-270
|
||||
|
||||
The components read here are the release assets of 2026-10: TeknoNaomi
|
||||
0.1.0.5, pcsx2x6 1.0.0.11, RPCS3 1.0.0.7, cxbxr 1.0.0.20, CrediarDolphin
|
||||
1.0.0.10, Play 1.0.0.34 and TeknoParrotElfLdr2Core 1.0.0.1472. TeknoNaomi,
|
||||
TeknoMVS, TeknoModel2 and TeknoS11 are protected with VMProtect
|
||||
(release-manifest.json "protected": true) and expose no ROM name, size or
|
||||
hash to a static read. The TeknoParrot and ElfLdr2 loaders name no
|
||||
firmware either.
|
||||
|
||||
TeknoNaomi takes --set, --rom-root (the folder of the selected game ZIP) and
|
||||
--chd-root. Its catalog, exported into TeknoParrotUI, gives each of the 349
|
||||
sets the ordered list of romsets it opens under the ROM root: the set, its
|
||||
parent, then a BIOS set. Nine BIOS sets close those lists. Their members and
|
||||
hashes live only inside the protected binary.
|
||||
ref: TeknoParrotUi.Common/TeknoNaomiCatalog.cs:17-372,
|
||||
TeknoParrotUi.Common/TeknoNaomiLaunch.cs:56-77,
|
||||
TeknoParrotUi.Common/TeknoNaomiLaunch.cs:90-98
|
||||
|
||||
The pcsx2x6 component is ReaverTeknoGods/pcsx2x6 at
|
||||
c6e731ac0b9859011d358c021b7e2c9c95296a93 (the build reports
|
||||
v0.0.22-24-gc6e731ac0), a fork of PS2Homebrew-arcade/pcsx2x6 whose merge
|
||||
base with it is 956d4c66b0ac2eaefe7591a763f7b3cc80d1eae1. The release ships
|
||||
portable.txt, and an empty portable.txt puts the data root in a TeknoParrot
|
||||
folder beside the executable, so the BIOS folder is pcsx2x6/TeknoParrot/bios.
|
||||
ref: pcsx2x6 pcsx2/Pcsx2Config.cpp:2196-2202, pcsx2x6 pcsx2/Pcsx2Config.cpp:2311
|
||||
|
||||
Play! runs System 246/256 games from its arcadedefs (dongle, CD or HDD image)
|
||||
with HLE and loads no BIOS. CrediarDolphin ships Sys/Triforce/segaboot.gcm,
|
||||
which it opens for the test menus, and the free DSP ROMs in Sys/GC. The
|
||||
RPCS3 fork refuses to boot without installed PS3 firmware ("PS3 firmware is
|
||||
not installed or the installed firmware is invalid."). The cxbxr fork keeps
|
||||
the Chihiro media board files of Cxbx-Reloaded under EmuMediaBoard.
|
||||
|
||||
Not documented: the BIOS sets of TeknoMVS, TeknoCPS, TeknoSS32 and the other
|
||||
Tekno* board emulators. TeknoParrotUI names only the game ZIP for them
|
||||
(ExecutableName in GameProfiles) and the binaries are protected.
|
||||
|
||||
files:
|
||||
# TeknoNaomi BIOS sets, read from the ROM root beside the game ZIP
|
||||
- name: naomi.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-naomi
|
||||
description: "NAOMI BIOS"
|
||||
note: "Last media directory of 160 catalog sets."
|
||||
source_ref: "TeknoParrotUi.Common/TeknoNaomiCatalog.cs:22, TeknoParrotUi.Common/TeknoNaomiLaunch.cs:56-77"
|
||||
|
||||
- name: naomi2.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-naomi2
|
||||
description: "NAOMI 2 BIOS"
|
||||
note: "Last media directory of 45 catalog sets."
|
||||
source_ref: "TeknoParrotUi.Common/TeknoNaomiCatalog.cs:42"
|
||||
|
||||
- name: naomigd.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-naomigd
|
||||
description: "NAOMI GD-ROM BIOS"
|
||||
note: "Last media directory of 92 catalog sets, the GD-ROM games whose disk images are read from --chd-root."
|
||||
source_ref: "TeknoParrotUi.Common/TeknoNaomiCatalog.cs:38"
|
||||
|
||||
- name: awbios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sammy-atomiswave
|
||||
description: "Atomiswave BIOS"
|
||||
note: "Last media directory of 34 catalog sets."
|
||||
source_ref: "TeknoParrotUi.Common/TeknoNaomiCatalog.cs:31"
|
||||
|
||||
- name: hikaru.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-hikaru
|
||||
description: "Hikaru BIOS"
|
||||
note: "Last media directory of 8 catalog sets."
|
||||
source_ref: "TeknoParrotUi.Common/TeknoNaomiCatalog.cs:363"
|
||||
|
||||
- name: hod2bios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-naomi
|
||||
description: "The House of the Dead 2 BIOS"
|
||||
note: "Last media directory of hotd2, hotd2e, hotd2o and hotd2p."
|
||||
source_ref: "TeknoParrotUi.Common/TeknoNaomiCatalog.cs:123-126"
|
||||
|
||||
- name: f355bios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-naomi
|
||||
description: "Ferrari F355 Challenge twin BIOS"
|
||||
note: "Last media directory of f355twin, f355twinp and f355twn2."
|
||||
source_ref: "TeknoParrotUi.Common/TeknoNaomiCatalog.cs:100-102"
|
||||
|
||||
- name: f355dlx.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-naomi
|
||||
description: "Ferrari F355 Challenge deluxe BIOS"
|
||||
note: "Last media directory of f355 and f355p."
|
||||
source_ref: "TeknoParrotUi.Common/TeknoNaomiCatalog.cs:98-99"
|
||||
|
||||
- name: airlbios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-naomi
|
||||
description: "Airline Pilots deluxe BIOS"
|
||||
note: "Last media directory of alpilot."
|
||||
source_ref: "TeknoParrotUi.Common/TeknoNaomiCatalog.cs:29"
|
||||
|
||||
# pcsx2x6 component, System 246/256 (RetroBat core pcsx2x6)
|
||||
- name: COH-H31100.rom0
|
||||
path: "pcsx2x6/TeknoParrot/bios/COH-H31100.rom0"
|
||||
system: namco-system246
|
||||
required: true
|
||||
min_size: 4194304
|
||||
max_size: 8388608
|
||||
validation: [size]
|
||||
description: "COH-H arcade board BIOS"
|
||||
aliases:
|
||||
- COH-H31000.BIN
|
||||
- 246C.bin
|
||||
- 256.BIN
|
||||
note: >-
|
||||
Found by content: the BIOS folder is listed with a * mask, files outside 4
|
||||
to 8 MB are skipped, and the first whose romdir holds RESET and a readable
|
||||
ROMVER is used. The boot stops when none loads. The name is the one the
|
||||
board dumper writes. The aliases are the three board dumps held here.
|
||||
source_ref: "pcsx2x6 pcsx2/ps2/BiosTools.cpp:16-17, pcsx2x6 pcsx2/ps2/BiosTools.cpp:80-206, pcsx2x6 pcsx2/ps2/BiosTools.cpp:267-291, pcsx2x6 pcsx2/VMManager.cpp:1663-1676"
|
||||
|
||||
- name: COH-H31100.rom1
|
||||
path: "pcsx2x6/TeknoParrot/bios/COH-H31100.rom1"
|
||||
system: namco-system246
|
||||
required: false
|
||||
max_size: 4194304
|
||||
description: "ROM1 board region"
|
||||
note: "Tried as {bios}.rom1 then {biosbase}.rom1, read into the 4 MB ROM1 region. Skipped when absent."
|
||||
source_ref: "pcsx2x6 pcsx2/ps2/BiosTools.cpp:223-250, pcsx2x6 pcsx2/ps2/BiosTools.cpp:375"
|
||||
|
||||
- name: COH-H31100.rom2
|
||||
path: "pcsx2x6/TeknoParrot/bios/COH-H31100.rom2"
|
||||
system: namco-system246
|
||||
required: false
|
||||
max_size: 4194304
|
||||
description: "ROM2 board region"
|
||||
note: "Tried as {bios}.rom2 then {biosbase}.rom2, read into the 4 MB ROM2 region. Skipped when absent."
|
||||
source_ref: "pcsx2x6 pcsx2/ps2/BiosTools.cpp:223-250, pcsx2x6 pcsx2/ps2/BiosTools.cpp:376"
|
||||
|
||||
- name: COH-H31100.nvm
|
||||
path: "pcsx2x6/TeknoParrot/bios/COH-H31100.nvm"
|
||||
aliases:
|
||||
- COH-H31000.NVM
|
||||
- 246C.nvm
|
||||
- 256.NVM
|
||||
system: namco-system246
|
||||
required: false
|
||||
hle_fallback: true
|
||||
size: 1024
|
||||
description: "Board NVRAM"
|
||||
note: "The BIOS path with its extension replaced by nvm. A default image is built when it cannot be read, and a hardcoded iLinkId stands in when the file carries none."
|
||||
source_ref: "pcsx2x6 pcsx2/CDVD/CDVD.cpp:164-167, pcsx2x6 pcsx2/CDVD/CDVD.cpp:169-196"
|
||||
|
||||
- name: COH-H31100.mec
|
||||
path: "pcsx2x6/TeknoParrot/bios/COH-H31100.mec"
|
||||
aliases:
|
||||
- COH-H31000.MEC
|
||||
- 246C.mec
|
||||
- 256.MEC
|
||||
system: namco-system246
|
||||
required: false
|
||||
hle_fallback: true
|
||||
size: 4
|
||||
description: "Mechacon version"
|
||||
note: "The BIOS path with its extension replaced by mec. Written with the default mechacon version when absent."
|
||||
source_ref: "pcsx2x6 pcsx2/CDVD/CDVD.cpp:196-211"
|
||||
|
||||
# RPCS3 component, System 357/369 (RetroBat core namco3xx)
|
||||
- name: PS3UPDAT.PUP
|
||||
system: namco-system357
|
||||
required: true
|
||||
storage: large_file
|
||||
description: "PlayStation 3 system software update"
|
||||
note: "Installed into dev_flash through Install firmware from PS3UPDAT.PUP. Without installed firmware the fork stops with \"PS3 firmware is not installed or the installed firmware is invalid.\""
|
||||
source_ref: "RPCS3 rpcs3.exe, release RPCS3_1.0.0.7"
|
||||
|
||||
# cxbxr component, Chihiro (RetroBat core chihiro)
|
||||
- name: fpr21042_m29w160et.bin
|
||||
path: "EmuMediaBoard/fpr21042_m29w160et.bin"
|
||||
system: sega-chihiro
|
||||
required: true
|
||||
size: 2097152
|
||||
description: "Chihiro media board flash ROM"
|
||||
note: "Read to write out the two SEGABOOT halves when they are absent."
|
||||
source_ref: "cxbxr cxbxr-emu.dll, release cxbxr_1.0.0.20"
|
||||
|
||||
- name: ic10_g24lc64.bin
|
||||
path: "EmuMediaBoard/Chihiro/ic10_g24lc64.bin"
|
||||
system: sega-chihiro
|
||||
required: true
|
||||
description: "Base board QC microcontroller firmware"
|
||||
note: "\"Failed to load base board qc firmware\" when it cannot be opened."
|
||||
source_ref: "cxbxr cxbxr-emu.dll, release cxbxr_1.0.0.20"
|
||||
|
||||
- name: pc20_g24lc64.bin
|
||||
path: "EmuMediaBoard/Chihiro/pc20_g24lc64.bin"
|
||||
system: sega-chihiro
|
||||
required: true
|
||||
description: "Base board SC microcontroller firmware"
|
||||
note: "\"Failed to load base board firmware\" when it cannot be opened."
|
||||
source_ref: "cxbxr cxbxr-emu.dll, release cxbxr_1.0.0.20"
|
||||
|
||||
- name: ic11_24lc024.bin
|
||||
path: "EmuMediaBoard/Chihiro/ic11_24lc024.bin"
|
||||
system: sega-chihiro
|
||||
required: true
|
||||
description: "Base board configuration EEPROM"
|
||||
note: "\"Failed to load base board EEPROM\" when it cannot be opened."
|
||||
source_ref: "cxbxr cxbxr-emu.dll, release cxbxr_1.0.0.20"
|
||||
|
||||
- name: backup_ram.bin
|
||||
path: "EmuMediaBoard/Chihiro/backup_ram.bin"
|
||||
system: sega-chihiro
|
||||
required: false
|
||||
has_builtin: true
|
||||
description: "Base board backup memory"
|
||||
note: "Created by the emulator when absent (\"Could not create Backup File\" on failure)."
|
||||
source_ref: "cxbxr cxbxr-emu.dll, release cxbxr_1.0.0.20"
|
||||
|
||||
# CrediarDolphin component, Triforce (RetroBat core triforce)
|
||||
- name: segaboot.gcm
|
||||
path: "CrediarDolphin/Sys/Triforce/segaboot.gcm"
|
||||
system: sega-triforce
|
||||
required: false
|
||||
bundled: true
|
||||
size: 2097152
|
||||
sha1: "87918619c632ac9de270d4fdf396a57eb57fc620"
|
||||
description: "Triforce boot program"
|
||||
note: "Shipped in the CrediarDolphin 1.0.0.10 release. Opened for the test menus, \"Failed to open segaboot.gcm, which is required for test menus\" otherwise."
|
||||
source_ref: "CrediarDolphin Dolphin.exe, release CrediarDolphin_1.0.0.10"
|
||||
@@ -0,0 +1,82 @@
|
||||
emulator: ti99sim-sdl1
|
||||
display_name: "TI-99/Sim 0.15.0 (SDL1)"
|
||||
type: standalone
|
||||
core_classification: frozen_snapshot
|
||||
source: "https://files.retropie.org.uk/archives/ti99sim-0.15.0.src.tar.gz"
|
||||
upstream: "https://www.mrousseau.org/programs/ti99sim/"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "0.15.0"
|
||||
cores:
|
||||
- ti99sim-sdl1
|
||||
systems:
|
||||
- ti99
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Marc Rousseau's TI-99/4A simulator at release 0.15.0, the last one with an
|
||||
SDL 1.2 front end. RetroPie's ti99sim-sdl1 package builds it from the source
|
||||
tarball it mirrors (sha256
|
||||
c156674dcb3e40448e84dcfecfe4a16c2bae9df020a79da519d0603cd8ee3b92), adds one
|
||||
missing include and runs bin/ti99sim-sdl from its install directory, where
|
||||
it links TI-994A.ctg from the BIOS directory.
|
||||
|
||||
LocateFile (src/core/support.cpp:392-435) tries the bare name in the working
|
||||
directory first, then <directory>/<name> under ~/.ti99sim and under the
|
||||
install root. The install root is the parent of the bin/ directory holding
|
||||
the executable, read from /proc/self/exe, with /opt/ti99sim as the fallback
|
||||
(src/core/support.cpp:64-136). LocateFiles (src/core/support.cpp:437-507)
|
||||
lists *.ctg in <install root>/console, ~/.ti99sim/console and the working
|
||||
directory itself.
|
||||
|
||||
The console cartridge is looked up by name first and only then by content
|
||||
among every *.ctg in console/ (src/core/support.cpp:509-544). The two
|
||||
accepted content signatures, 0264512c7d9e7fa091a48e5c8734782ea031a52d and
|
||||
16e275faae427465ba4dd4c2bf8569f6546d32dd for console version 2.2
|
||||
(src/sdl/main.cpp:533-537), are SHA-1 digests of the ROM and GROM banks
|
||||
that cCartridge::sha1 assembles in memory (src/core/cartridge.cpp:248-273),
|
||||
not of the .ctg file. A file found by name is used without that check.
|
||||
|
||||
Device cartridges are picked up by name from that listing: cf7+.ctg and
|
||||
ti-disk.ctg are loaded automatically, ti-pcard.ctg only with --ucsd, and
|
||||
--no-cf7 skips cf7+.ctg (src/sdl/main.cpp:328-371, 601-604). The .ctg format
|
||||
read here is the one 0.16.0 writes: the loaders in src/core/cartridge.cpp are
|
||||
unchanged between the two releases.
|
||||
|
||||
files:
|
||||
- name: TI-994A.ctg
|
||||
required: true
|
||||
description: "Console ROM cartridge: CPU ROM, system GROMs and RAM layout"
|
||||
source_ref: "src/sdl/main.cpp:533-543, src/core/support.cpp:509-544"
|
||||
note: "Without it main prints \"Unable to locate console ROMs!\" and returns -1."
|
||||
|
||||
- name: spchrom.bin
|
||||
required: false
|
||||
min_size: 32768
|
||||
description: "TMS6100 speech synthesizer vocabulary ROM"
|
||||
source_ref: "src/core/tms5220.cpp:190-214"
|
||||
validation: [size]
|
||||
hle_fallback: true
|
||||
note: "Read as one 0x8000 byte block from console/, so a shorter file is refused and bytes past it are ignored. The first byte must be 0xAA, otherwise an empty speech ROM is used."
|
||||
|
||||
- name: ti-disk.ctg
|
||||
required: false
|
||||
description: "TI Disk Controller DSR ROM"
|
||||
source_ref: "src/sdl/main.cpp:328-371"
|
||||
note: "Disk emulation is unavailable without it."
|
||||
|
||||
- name: cf7+.ctg
|
||||
required: false
|
||||
description: "CF7+ CompactFlash interface DSR ROM"
|
||||
source_ref: "src/sdl/main.cpp:328-371, 601"
|
||||
|
||||
- name: ti-pcard.ctg
|
||||
required: false
|
||||
description: "TI P-Code Card (UCSD p-System) DSR ROM"
|
||||
source_ref: "src/sdl/main.cpp:328-371, 602"
|
||||
note: "Loaded only when --ucsd is passed."
|
||||
|
||||
- name: "Gram Kracker.ctg"
|
||||
required: false
|
||||
description: "Miller Graphics Gram Kracker ROMs"
|
||||
source_ref: "src/core/ti994a-gk.cpp:56-70, src/sdl/ti994a-sdl.cpp:49"
|
||||
note: "Found by name in console/ or by content signature a3bd5257c63e190800921b52dbe3ffa91ad91113. The SDL front end derives its computer from cTI994AGK, so the lookup runs on every start."
|
||||
@@ -0,0 +1,107 @@
|
||||
emulator: UAE4All2
|
||||
type: standalone
|
||||
core_classification: community_fork
|
||||
source: "https://github.com/RetroPie/uae4all2"
|
||||
source_branch: retropie
|
||||
upstream: "https://github.com/lubomyr/uae4all2"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "5c514dd6d8bb374bd22e2ee423bad99539207cbd"
|
||||
upstream_commit: "0f919a32b6d41a04cbc766c0e6076cda9fa7a63b"
|
||||
core_version: "2.3.6.2"
|
||||
display_name: "Commodore - Amiga (UAE4All2)"
|
||||
cores: [uae4all]
|
||||
systems: [commodore-amiga]
|
||||
verification: existence
|
||||
|
||||
notes: |
|
||||
UAE4All2 is Lubomyr's Android and Pandora Amiga emulator. RetroPie builds
|
||||
its own branch (retropie) with Makefile.pi, which defines GP2X, PANDORA,
|
||||
RASPBERRY and USE_GUICHAN but not ANDROIDSDL (Makefile.pi:31-34, 109). The
|
||||
Amiga Forever lookup under com.cloanto.amigaforever.essentials is therefore
|
||||
compiled out. AndroidAppSettings.cfg:178 names the version 2.3.6.2.
|
||||
|
||||
The emulator runs from its install directory and takes it as launchDir
|
||||
(src/main.cpp:219). Kickstarts are read from launchDir/kickstarts/, which
|
||||
RetroPie links to the BIOS directory's amiga/ folder
|
||||
(scriptmodules/emulators/uae4all.sh, configure_uae4all).
|
||||
|
||||
The kickstart choice indexes kickstarts_rom_names and extended_rom_names
|
||||
(src/memory.cpp:34-35): 0 kick12.rom, 1 kick13.rom, 2 kick20.rom,
|
||||
3 kick31.rom, 4 the AROS pair. The default is 1 (src/main.cpp:1). A missing
|
||||
file falls back to kick.rom in the working directory (src/main.cpp:95-103).
|
||||
The menu refuses to start or reset the machine until the selected file
|
||||
exists (src/menu_guichan/menu_guichan.cpp:74-101, 210-214, 489-493), so one
|
||||
of the five ROMs has to be present. The AROS pair ships in the source tree
|
||||
(AndroidData/aros20140110.zip) and RetroPie unpacks it into the BIOS
|
||||
folder, which lets the emulator start without a Commodore ROM.
|
||||
|
||||
read_kickstart (src/memory.cpp:795-830) accepts 8 KB (A1000 bootstrap),
|
||||
half the ROM space (mirrored) or the full size. A Kickstart checksum
|
||||
mismatch only writes a log line (src/memory.cpp:778-793). No hash is
|
||||
checked. A ROM starting with AMIROMTYPE1 is decoded with rom.key
|
||||
(src/memory.cpp:732-776).
|
||||
|
||||
The data/ folder (GUI fonts, keyboard and menu images, click.wav) is
|
||||
unpacked by RetroPie from AndroidData/data.zip and
|
||||
AndroidData/guichan26032014.zip in the source tree. It belongs to the
|
||||
program and is not listed.
|
||||
|
||||
files:
|
||||
- name: "kick13.rom"
|
||||
path: "amiga/kick13.rom"
|
||||
system: commodore-amiga
|
||||
description: "Kickstart 1.3, the default selection"
|
||||
required: false
|
||||
source_ref: "src/memory.cpp:34, src/main.cpp:1, src/main.cpp:95-103"
|
||||
|
||||
- name: "kick12.rom"
|
||||
path: "amiga/kick12.rom"
|
||||
system: commodore-amiga
|
||||
description: "Kickstart 1.2"
|
||||
required: false
|
||||
source_ref: "src/memory.cpp:34"
|
||||
|
||||
- name: "kick20.rom"
|
||||
path: "amiga/kick20.rom"
|
||||
system: commodore-amiga
|
||||
description: "Kickstart 2.0"
|
||||
required: false
|
||||
source_ref: "src/memory.cpp:34"
|
||||
|
||||
- name: "kick31.rom"
|
||||
path: "amiga/kick31.rom"
|
||||
system: commodore-amiga
|
||||
description: "Kickstart 3.1"
|
||||
required: false
|
||||
source_ref: "src/memory.cpp:34"
|
||||
|
||||
- name: "aros-amiga-m68k-rom.bin"
|
||||
path: "amiga/aros-amiga-m68k-rom.bin"
|
||||
system: commodore-amiga
|
||||
description: "AROS Kickstart replacement, main ROM (build of 2014-01-10)"
|
||||
required: false
|
||||
size: 524288
|
||||
sha1: "f930eb22ab62fb3c6990e95c6ae2bf4d700c849f"
|
||||
md5: "8c9e0e3b3686c362ccf2dfd8a86669b2"
|
||||
crc32: "69bf6f2b"
|
||||
source_ref: "src/memory.cpp:34"
|
||||
note: "Hashes are of the file in AndroidData/aros20140110.zip in the source tree."
|
||||
|
||||
- name: "aros-amiga-m68k-ext.bin"
|
||||
path: "amiga/aros-amiga-m68k-ext.bin"
|
||||
system: commodore-amiga
|
||||
description: "AROS Kickstart replacement, extended ROM (build of 2014-01-10)"
|
||||
required: false
|
||||
size: 524288
|
||||
sha1: "cc5404e22099ca4064622bb836db439589e378b4"
|
||||
md5: "272c1306032674b4fa120d56a0b1b99a"
|
||||
crc32: "6aa2b4d2"
|
||||
source_ref: "src/memory.cpp:35, src/memory.cpp:832-878"
|
||||
note: "Loaded with the AROS main ROM only. Hashes are of the file in AndroidData/aros20140110.zip in the source tree."
|
||||
|
||||
- name: "rom.key"
|
||||
path: "amiga/rom.key"
|
||||
system: commodore-amiga
|
||||
description: "Cloanto key for AMIROMTYPE1 encrypted Kickstarts"
|
||||
required: false
|
||||
source_ref: "src/main.cpp:106-111, src/memory.cpp:732-776"
|
||||
@@ -0,0 +1,415 @@
|
||||
emulator: UZDoom
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/UZDoom/UZDoom"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "7910df7102033fd7754a317f3254f24101135926"
|
||||
core_version: "5.0.3"
|
||||
display_name: "UZDoom"
|
||||
cores:
|
||||
- uzdoom
|
||||
systems: [doom, heretic, hexen, strife, chex]
|
||||
|
||||
notes: |
|
||||
Doom-engine source port continued from GZDoom under a new name. The
|
||||
engine resource archive is uzdoom.pk3, the default soundfont
|
||||
uzdoom.sf2 and the configuration uzdoom.ini. The IWAD definitions in
|
||||
iwadinfo.txt are the ones GZDoom carries, line for line.
|
||||
|
||||
Engine resources (built from wadsrc*/static/ via add_pk3):
|
||||
uzdoom.pk3 BASEWAD, searched by BaseFileSearch
|
||||
ref: src/version.h:85, src/d_main.cpp:4148-4151
|
||||
game_support.pk3 OPTIONALWAD, filter/game assets per IWAD
|
||||
ref: src/version.h:87, src/d_main.cpp:4205
|
||||
lights.pk3 dynamic light definitions
|
||||
brightmaps.pk3 brightmap textures
|
||||
game_widescreen_gfx.pk3 widescreen HUD/menu replacements
|
||||
The last three are skipped for shareware IWADs and with -noextras.
|
||||
ref: src/d_main.cpp:2392-2412
|
||||
|
||||
Game data is a user-supplied IWAD. The search directories are scanned
|
||||
for the file names of the iwadinfo.txt Names block and for any .iwad,
|
||||
.ipk3 or .ipk7 file. Each candidate is then identified by its lumps,
|
||||
not by its name. The Names block also lists doomu.wad, doom1.wad,
|
||||
bfgdoom.wad, bfgdoom2.wad, freedoomu.wad, freedoom.wad, hereticsr.wad,
|
||||
heretic1.wad, hexendemo.wad, hexdemo.wad, strife0.wad and strife.wad.
|
||||
ref: wadsrc_extra/static/iwadinfo.txt:650-703, src/d_iwad.cpp:518-546
|
||||
|
||||
Startup refuses to run if BASEWAD (uzdoom.pk3) is absent, and stops
|
||||
with "Cannot find a game IWAD" when no candidate is identified.
|
||||
ref: src/d_main.cpp:4148-4151, src/d_iwad.cpp:816
|
||||
|
||||
RetroBat starts uzdoom.exe with -iwad on the IWAD it finds in the ROM
|
||||
folder and writes that folder into the IWADSearch.Directories section
|
||||
of uzdoom_portable.ini.
|
||||
|
||||
Hashes of the engine resources are those of the files in the 5.0.3
|
||||
Windows release archive (Windows-UZDoom-Release-x86_64.zip, sha256
|
||||
3a41131845415bc4bb5474f8de301a77736bd858e2ab489926325a2675e8263f,
|
||||
built from this commit). They are rebuilt with every release.
|
||||
|
||||
files:
|
||||
# ================================================================
|
||||
# Engine resources (shipped with the port, add_pk3 in CMakeLists)
|
||||
# ================================================================
|
||||
|
||||
- name: "uzdoom.pk3"
|
||||
category: game_data
|
||||
required: true
|
||||
size: 7159816
|
||||
md5: "fee855c33d28648ea5e54f224decb7d2"
|
||||
sha1: "6eb2c1775651752944a6782d08d129b1d37d2fdf"
|
||||
source_ref: "src/version.h:85, src/d_main.cpp:4148-4151, wadsrc/CMakeLists.txt:1"
|
||||
note: "Fonts, menus, zscript, textures. Fatal if absent."
|
||||
|
||||
- name: "game_support.pk3"
|
||||
category: game_data
|
||||
required: false
|
||||
size: 2918075
|
||||
md5: "5bc45497dee76cc183a9245abecec9a8"
|
||||
sha1: "a74ed16c272962af4646b049f26c383ba384e1e1"
|
||||
source_ref: "src/version.h:87, src/d_main.cpp:4205, wadsrc_extra/CMakeLists.txt:1"
|
||||
note: "Per-game filters under static/filter/ (doom.id, strife, hexen, heretic, chex...)."
|
||||
|
||||
- name: "lights.pk3"
|
||||
category: game_data
|
||||
required: false
|
||||
size: 23637
|
||||
md5: "faeb9de6a307417aa809d6055c280e85"
|
||||
sha1: "aad904eec722503845348fdf9fa47586d58df5df"
|
||||
source_ref: "src/d_main.cpp:2394-2399, wadsrc_lights/CMakeLists.txt:1"
|
||||
|
||||
- name: "brightmaps.pk3"
|
||||
category: game_data
|
||||
required: false
|
||||
size: 246507
|
||||
md5: "3de91b4ea157b852422150156360f81a"
|
||||
sha1: "b47d9397c4dc00a4ea079053167d317118c26b0a"
|
||||
source_ref: "src/d_main.cpp:2400-2405, wadsrc_bm/CMakeLists.txt:1-2"
|
||||
|
||||
- name: "game_widescreen_gfx.pk3"
|
||||
category: game_data
|
||||
required: false
|
||||
size: 5565904
|
||||
md5: "e7dee49bb28efd9db1eb2bdb2fe7b894"
|
||||
sha1: "457494b0d6961773686bf1a3555c0bc595ef8ec4"
|
||||
source_ref: "src/d_main.cpp:2406-2411, wadsrc_widepix/CMakeLists.txt:1-2"
|
||||
|
||||
- name: "uzdoom.sf2"
|
||||
category: game_data
|
||||
path: "soundfonts/uzdoom.sf2"
|
||||
required: false
|
||||
size: 3299098
|
||||
md5: "f306ebc541a428d296cd3b7ee996d872"
|
||||
sha1: "4394193fb95c1e59916efe9ac3a47952ab5002f5"
|
||||
source_ref: "src/common/audio/music/i_soundfont.cpp:323-347, 435-439, src/common/audio/music/music_config.cpp:137, src/CMakeLists.txt:1445-1451"
|
||||
note: "Default soundfont, used when the soundfont directories hold none. Every file of those directories is taken by its content. fluid_patchset defaults to uzdoom, and when no soundfont carries that name the first SF2 found is used."
|
||||
|
||||
- name: "GENMIDI.GS.wopl"
|
||||
category: game_data
|
||||
path: "fm_banks/GENMIDI.GS.wopl"
|
||||
required: false
|
||||
size: 118767
|
||||
md5: "29570afc6ccea3d9ef7d2734f02e6cab"
|
||||
sha1: "538d220d87b86b997f539265eb12a6c319e17a1c"
|
||||
source_ref: "src/CMakeLists.txt:1453-1455, src/gameconfigfile.cpp:223-230, src/common/audio/music/i_soundfont.cpp:349-354"
|
||||
note: "OPL3 bank copied next to the executable. fm_banks is one of the scanned soundfont directories."
|
||||
|
||||
- name: "gs-by-papiezak-and-sneakernets.wopn"
|
||||
category: game_data
|
||||
path: "fm_banks/gs-by-papiezak-and-sneakernets.wopn"
|
||||
required: false
|
||||
size: 274864
|
||||
md5: "4978fd39a6d78de1cf1021e24424f822"
|
||||
sha1: "eaca5d7a9fe1db6094990be0d8916b7f97920db1"
|
||||
source_ref: "src/CMakeLists.txt:1457-1459, src/gameconfigfile.cpp:223-230, src/common/audio/music/i_soundfont.cpp:355-360"
|
||||
note: "OPN2 bank copied next to the executable."
|
||||
|
||||
# ================================================================
|
||||
# IWADs (user-supplied). At least one is needed to launch a game.
|
||||
# All source refs point to wadsrc_extra/static/iwadinfo.txt entries.
|
||||
# ================================================================
|
||||
|
||||
# ---- Doom ----
|
||||
|
||||
- name: "doom.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:420, 437, 659"
|
||||
note: "The Ultimate DOOM and DOOM Registered both use this name and are told apart by their lumps."
|
||||
|
||||
- name: "doom2.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:640, 653"
|
||||
|
||||
- name: "doom2f.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:625, 657"
|
||||
|
||||
- name: "doombfg.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:332, 666"
|
||||
|
||||
- name: "doom2bfg.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:560, 667"
|
||||
|
||||
- name: "doomunity.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:369, 661"
|
||||
|
||||
- name: "doom2unity.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:592, 655"
|
||||
|
||||
- name: "doomkex.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:350, 662"
|
||||
|
||||
- name: "doom2kex.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:576, 656"
|
||||
|
||||
- name: "doomxbox.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:403, 660"
|
||||
|
||||
- name: "doom2xbox.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:608, 654"
|
||||
|
||||
- name: "doom_complete.pk3"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:389, 652"
|
||||
|
||||
- name: "plutonia.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:545, 670"
|
||||
|
||||
- name: "plutoniaunity.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:514, 671"
|
||||
|
||||
- name: "plutoniakex.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:529, 672"
|
||||
|
||||
- name: "tnt.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:499, 673"
|
||||
|
||||
- name: "tntunity.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:468, 674"
|
||||
|
||||
- name: "tntkex.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:483, 675"
|
||||
|
||||
- name: "nerve.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:565, 614, src/d_iwad.cpp:924-950"
|
||||
note: "No Rest for the Living. Autoloaded by Doom 2 BFG and Xbox editions."
|
||||
|
||||
- name: "nerveunity.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:598, src/d_iwad.cpp:924-950"
|
||||
note: "Loaded from the IWAD directory by DOOM 2: Unity Edition."
|
||||
|
||||
- name: "extras.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:357, 376, 488, 534, 582, 598"
|
||||
note: "Loaded from the IWAD directory by the KEX and Unity editions."
|
||||
|
||||
- name: "soundtrack"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:376, 598, src/d_iwad.cpp:924-950"
|
||||
note: "Loaded from the IWAD directory by the DOOM and DOOM 2 Unity editions."
|
||||
|
||||
- name: "id24res.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:341, 360, 379, src/d_iwad.cpp:896-912"
|
||||
note: "id24 resource WAD. SupportWAD of every id IWAD block, loaded when found and i_loadsupportwad is set."
|
||||
|
||||
# ---- Freedoom (free) ----
|
||||
|
||||
- name: "freedoom1.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:307, 676"
|
||||
|
||||
- name: "freedoom2.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:294, 677"
|
||||
|
||||
- name: "freedm.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:281, 680"
|
||||
|
||||
# ---- Heretic ----
|
||||
|
||||
- name: "heretic.wad"
|
||||
category: game_data
|
||||
system: heretic
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:241, 244, 254, 257, 681"
|
||||
note: "Both Heretic and Shadow of the Serpent Riders use this name and are told apart by the EXTENDED lump."
|
||||
|
||||
- name: "blasphem.wad"
|
||||
aliases: ["blasphemer.wad"]
|
||||
category: game_data
|
||||
system: heretic
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:228, 692-693"
|
||||
|
||||
# ---- Hexen ----
|
||||
|
||||
- name: "hexen.wad"
|
||||
category: game_data
|
||||
system: hexen
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:188, 684"
|
||||
|
||||
- name: "hexdd.wad"
|
||||
category: game_data
|
||||
system: hexen
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:196-207, 685"
|
||||
note: "Deathkings expansion. Requires hexen.wad (Required = Hexen: Beyond Heretic)."
|
||||
|
||||
# ---- Strife ----
|
||||
|
||||
- name: "strife1.wad"
|
||||
category: game_data
|
||||
system: strife
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:151, 688"
|
||||
|
||||
- name: "sve.wad"
|
||||
category: game_data
|
||||
system: strife
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:136, 140, 689"
|
||||
note: "Veteran Edition. Required = Strife: Quest for the Sigil (loads voices.wad)."
|
||||
|
||||
- name: "voices.wad"
|
||||
category: game_data
|
||||
system: strife
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:142, 155"
|
||||
|
||||
# ---- Chex Quest ----
|
||||
|
||||
- name: "chex.wad"
|
||||
category: game_data
|
||||
system: chex
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:123, 694"
|
||||
|
||||
- name: "chex3.wad"
|
||||
category: game_data
|
||||
system: chex
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:109, 695"
|
||||
|
||||
# ---- Standalone commercial / community IWADs ----
|
||||
|
||||
- name: "hacx.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:83, 698"
|
||||
|
||||
- name: "hacx2.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:65-75, 699, src/d_iwad.cpp:362-407, src/common/filesystem/source/resourcefile.cpp:150-165"
|
||||
note: "Identified by the MAP01 map and the HACX-E lump, whatever the container: every candidate is opened by its magic, so a zip under this name is read as a pk3. The Hacx 2.0 repository builds that zip from src/, where hacx-e.txt is the HACX-E lump and maps/MAP01.wad the first map."
|
||||
|
||||
- name: "action2.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:97, 696"
|
||||
|
||||
- name: "harm1.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:57, 697"
|
||||
|
||||
- name: "square.pk3"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:33"
|
||||
note: "Absent from the Names block: picked up only when named with -iwad."
|
||||
|
||||
- name: "square1.pk3"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:45, 700"
|
||||
|
||||
- name: "delaweare.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:22, 701"
|
||||
|
||||
- name: "rotwb.wad"
|
||||
category: game_data
|
||||
system: doom
|
||||
required: false
|
||||
source_ref: "wadsrc_extra/static/iwadinfo.txt:9, 702"
|
||||
@@ -0,0 +1,174 @@
|
||||
emulator: WinUAE
|
||||
type: standalone
|
||||
core_classification: other
|
||||
source: "https://github.com/tonioni/WinUAE"
|
||||
source_commit: "7ee16ec5e94f9d065121ce9f40fecc605ac0fb08"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "6.1.0 beta 19"
|
||||
display_name: "Commodore - Amiga (WinUAE)"
|
||||
cores:
|
||||
- winuae
|
||||
systems:
|
||||
- commodore-amiga
|
||||
- commodore-cd32
|
||||
- commodore-cdtv
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Amiga emulator for Windows by Toni Wilen. The Kickstart is the file named by
|
||||
kickstart_rom_file in the configuration. When it is absent the loader tries
|
||||
roms/kick.rom, kick.rom, ../shared/rom/kick.rom and ../System/rom/kick.rom
|
||||
under the data path, then guesses from the scanned ROM list
|
||||
(memory.cpp:2038-2071). When nothing loads it reports the missing ROM and
|
||||
boots the built-in AROS replacement (memory.cpp:3058-3063). Loaded ROMs are
|
||||
matched against the ROM table only to name them and check the CPU they need.
|
||||
An unknown ROM is still used (memory.cpp:3064-3101).
|
||||
|
||||
RetroBat writes a .uae file per launch with kickstart_rom_file and, for CD32
|
||||
and CDTV, kickstart_ext_rom_file. It looks the files up by name in bios/,
|
||||
bios/amiga/ and bios/Amiga/, first match wins, and aborts the launch when
|
||||
none of the names is found
|
||||
(retrobat emulatorLauncher/Generators/Uae.Generator.cs:192-216,1043-1111).
|
||||
The Amiga 500 system takes the 2.04 Kickstart instead of 1.3 when its
|
||||
a500_machine option is set to amiga500+. It also points KickstartPath at
|
||||
bios/ in winuae.ini
|
||||
(retrobat emulatorLauncher/Generators/Uae.Generator.cs:155-156). A .uae or
|
||||
.ags game file skips this and runs as written.
|
||||
|
||||
For .lha games RetroBat unpacks its own WHDBoot.zip next to the emulator and
|
||||
copies the A500, A600, A1200 and A4000 Kickstarts it finds into
|
||||
WHDBoot/Devs/Kickstarts for WHDLoad, skipping any that are missing
|
||||
(retrobat emulatorLauncher/Generators/Uae.Generator.cs:979-1032).
|
||||
|
||||
CDTV and A600/A1200 internal devices are enabled with :ENABLED, which needs
|
||||
no ROM file. Cloanto encrypted ROMs are decoded with rom.key, searched in the
|
||||
configured key path, the ROM path, roms/, the data path, ../shared/rom/ and
|
||||
next to the Kickstart file (rommgr.cpp:1459-1535). Without it an encrypted
|
||||
ROM fails to load (rommgr.cpp:1724-1732).
|
||||
|
||||
files:
|
||||
- name: "kick34005.A500"
|
||||
system: commodore-amiga
|
||||
required: true
|
||||
hle_fallback: true
|
||||
size: 262144
|
||||
crc32: "c4f0f55f"
|
||||
sha1: "891e9a547772fe0c6c19b610baf8bc4ea7fcb785"
|
||||
aliases:
|
||||
- "kick34005.A500.rom"
|
||||
- "amiga-os-130.rom"
|
||||
- "Kickstart v1.3 r34.005 (1987-12)(Commodore)(A500-A1000-A2000-CDTV)[!].rom"
|
||||
- "Kickstart v1.3 r34.005 (1987-12)(Commodore)(A500-A1000-A2000-CDTV)[o].rom"
|
||||
- "Kickstart v1.3 rev 34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV)[!].rom"
|
||||
note: "Kickstart 1.3 r34.5. Amiga 500 and CDTV Kickstart. Also copied to WHDBoot as kick34005.A500."
|
||||
source_ref: "rommgr.cpp:150-151"
|
||||
|
||||
- name: "kick37175.A500"
|
||||
system: commodore-amiga
|
||||
required: false
|
||||
hle_fallback: true
|
||||
size: 524288
|
||||
crc32: "c3bdb240"
|
||||
sha1: "c5839f5cb98a7a8947065c3ed2f14f5f42e334a1"
|
||||
aliases:
|
||||
- "kick37175.A500.rom"
|
||||
- "amiga-os-204.rom"
|
||||
- "Kickstart v2.04 r37.175 (1991-05)(Commodore)(A500+)[!].rom"
|
||||
- "Kickstart v2.04 rev 37.175 (1991)(Commodore)(A500+).rom"
|
||||
note: "Kickstart 2.04 r37.175. Amiga 500 system with the A500+ machine option."
|
||||
source_ref: "rommgr.cpp:158-159"
|
||||
|
||||
- name: "kick40063.A600"
|
||||
system: commodore-amiga
|
||||
required: false
|
||||
hle_fallback: true
|
||||
size: 524288
|
||||
crc32: "fc24ae0d"
|
||||
sha1: "3b7f1493b27e212830f989f26ca76c02049f09ca"
|
||||
aliases:
|
||||
- "kick40063.A600.rom"
|
||||
- "amiga-os-310-a600.rom"
|
||||
- "Kickstart v3.1 r40.063 (1993-10)(Commodore)(A600HD)[!].rom"
|
||||
note: "Kickstart 3.1 r40.63. Only copied to WHDBoot/Devs/Kickstarts for WHDLoad."
|
||||
source_ref: "rommgr.cpp:183-184"
|
||||
|
||||
- name: "kick40068.A1200"
|
||||
system: commodore-amiga
|
||||
required: true
|
||||
hle_fallback: true
|
||||
size: 524288
|
||||
crc32: "1483a091"
|
||||
sha1: "e21545723fe8374e91342617604f1b3d703094f1"
|
||||
aliases:
|
||||
- "kick40068.A1200.rom"
|
||||
- "amiga-os-310-a1200.rom"
|
||||
- "Kickstart v3.1 r40.068 (1993-12)(Commodore)(A1200)[!].rom"
|
||||
- "Kickstart - 391774-01 (USA, Europe) (v3.1 Rev 40.068) (A1200).rom"
|
||||
note: "Kickstart 3.1 r40.68. Amiga 1200 Kickstart. Also copied to WHDBoot."
|
||||
source_ref: "rommgr.cpp:185-186"
|
||||
|
||||
- name: "kick40068.A4000"
|
||||
system: commodore-amiga
|
||||
required: true
|
||||
hle_fallback: true
|
||||
size: 524288
|
||||
crc32: "d6bae334"
|
||||
sha1: "5fe04842d04a489720f0f4bb0e46948199406f49"
|
||||
aliases:
|
||||
- "kick40068.A4000.rom"
|
||||
- "amiga-os-310-a4000.rom"
|
||||
- "Kickstart v3.1 r40.068 (1993-12)(Commodore)(A4000)[!].rom"
|
||||
note: "Kickstart 3.1 r40.68. Amiga 4000 Kickstart. Also copied to WHDBoot."
|
||||
source_ref: "rommgr.cpp:195-196"
|
||||
|
||||
- name: "kick40060.CD32"
|
||||
system: commodore-cd32
|
||||
required: true
|
||||
hle_fallback: true
|
||||
size: 524288
|
||||
crc32: "1e62d4a5"
|
||||
sha1: "3525be8887f79b5929e017b42380a79edfee542d"
|
||||
aliases:
|
||||
- "kick40060.CD32.rom"
|
||||
- "amiga-os-310-cd32.rom"
|
||||
- "Kickstart v3.1 r40.060 (1993-05)(Commodore)(CD32)[!].rom"
|
||||
- "Kickstart v3.1 r40.60 (1993)(Commodore)(CD32).rom"
|
||||
note: "CD32 Kickstart 3.1 r40.60."
|
||||
source_ref: "rommgr.cpp:323-324"
|
||||
|
||||
- name: "kick40060.CD32.ext"
|
||||
system: commodore-cd32
|
||||
required: true
|
||||
size: 524288
|
||||
crc32: "87746be2"
|
||||
sha1: "5bef3d628ce59cc02a66e6e4ae0da48f60e78f7f"
|
||||
aliases:
|
||||
- "kick40060.CD32.ext.rom"
|
||||
- "amiga-os-310-cd32-ext.rom"
|
||||
- "CD32 Extended-ROM r40.60 (1993)(Commodore)(CD32).rom"
|
||||
note: "CD32 extended ROM, passed as kickstart_ext_rom_file."
|
||||
source_ref: "rommgr.cpp:325-326"
|
||||
|
||||
- name: "kick34005.CDTV"
|
||||
system: commodore-cdtv
|
||||
required: true
|
||||
hle_fallback: true
|
||||
size: 262144
|
||||
crc32: "42baa124"
|
||||
sha1: "7ba40ffa17e500ed9fed041f3424bd81d9c907be"
|
||||
aliases:
|
||||
- "kick34005.CDTV.rom"
|
||||
- "amiga-os-130-cdtv-ext.rom"
|
||||
- "CDTV Extended-ROM v1.0 (1991)(Commodore)(CDTV)[!].rom"
|
||||
- "CDTV Extended-ROM v1.0 (1992)(Commodore)(CDTV).rom"
|
||||
note: "CDTV extended ROM v1.0, passed as kickstart_ext_rom_file with the 1.3 Kickstart."
|
||||
source_ref: "rommgr.cpp:339-340"
|
||||
|
||||
- name: "rom.key"
|
||||
system: commodore-amiga
|
||||
required: false
|
||||
size: 2069
|
||||
crc32: "869ae1b1"
|
||||
sha1: "801bbab32e3d37386dd1636d4f1d6fa7e21d5874"
|
||||
note: "Cloanto Amiga Forever ROM key. Read next to the Kickstart file, needed only for encrypted ROMs."
|
||||
source_ref: "rommgr.cpp:119-120, rommgr.cpp:1513-1527"
|
||||
@@ -0,0 +1,530 @@
|
||||
emulator: Wolf4SDL
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/AryanWolf3D/Wolf4SDL"
|
||||
upstream: "https://github.com/AryanWolf3D/Wolf4SDL"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "dc8b250af35fb0ace68db5eb879490b50068c20e"
|
||||
core_version: "2.0"
|
||||
display_name: "Wolfenstein 3D (Wolf4SDL)"
|
||||
cores: [wolf4sdl]
|
||||
systems: [wolfenstein3d]
|
||||
verification: existence
|
||||
|
||||
notes: |
|
||||
SDL port of the Wolfenstein 3D and Spear of Destiny engine, from the
|
||||
id Software source release. The game a binary plays is chosen at build
|
||||
time: version.h:4 skips its own defaults when VERSIONALREADYCHOSEN is
|
||||
set, and the build then takes UPLOAD, GOODTIMES, SPEAR and SPEARDEMO
|
||||
from the compiler flags. RetroPie builds five binaries this way:
|
||||
shareware v1.4 (CARMACIZED UPLOAD), Apogee v1.4 (CARMACIZED), GT v1.4
|
||||
(CARMACIZED GOODTIMES), Spear of Destiny (CARMACIZED GOODTIMES SPEAR)
|
||||
and the Spear demo (CARMACIZED SPEAR SPEARDEMO).
|
||||
|
||||
CheckForEpisodes (wl_menu.c:3740) picks the data extension by probing
|
||||
for vswap.<ext> in the working directory: wl1 for a shareware build,
|
||||
wl6 then wl3 then wl1 for a full Wolfenstein build, sdm for the Spear
|
||||
demo, and for Spear of Destiny sod, sd1, sd2 or sd3 after --mission 0
|
||||
to 3 (wl_main.c:1721-1730). Every data file is then opened as
|
||||
<name>.<ext> with a lowercase name and no directory, so it is read from
|
||||
the working directory. A file that cannot be opened ends in
|
||||
CA_CannotOpen and the program quits.
|
||||
|
||||
Each binary reads eight files: vswap (id_pm.c:36), vgadict, vgahead and
|
||||
vgagraph (CAL_SetupGrFile, id_ca.c:440), maphead and gamemaps
|
||||
(CAL_SetupMapFile, id_ca.c:531, gamemaps because every build is
|
||||
CARMACIZED), audiohed and audiot (CAL_SetupAudioFile, id_ca.c:599).
|
||||
The help and end texts and the demos come from vgagraph, since
|
||||
version.h defines ARTSEXTERN and DEMOSEXTERN (wl_text.c:762-766,
|
||||
wl_game.c:1139-1146).
|
||||
|
||||
The only content check is the length of vgahead: it must hold
|
||||
NUMCHUNKS + 1 three byte offsets or the engine quits with "Wolf4SDL was
|
||||
not compiled for these data files" (id_ca.c:473-480). NUMCHUNKS is 156
|
||||
for the shareware build, 161 for Apogee, 149 for GT (gfxv_wl6.h:187),
|
||||
169 for Spear and 133 for the Spear demo, so each binary accepts only
|
||||
the release it was built for.
|
||||
|
||||
Spear of Destiny mission 1 reads the original game under the sd1
|
||||
extension, hence the sd1 aliases on the sod set.
|
||||
|
||||
The shareware Wolfenstein 3D v1.4 and Spear of Destiny demo files carry
|
||||
hashes of the archives RetroPie downloads. The retail files carry
|
||||
none: the engine checks no hash, and the md5 table in RetroPie's
|
||||
launcher script only picks which of its binaries to start.
|
||||
|
||||
Written by the engine, not read as data: config.<ext> and savegames
|
||||
in ~/.wolf4sdl (wl_menu.c:3745-3760), and screenshots.
|
||||
|
||||
files:
|
||||
|
||||
# Wolfenstein 3D shareware (.wl1)
|
||||
- name: "vswap.wl1"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D shareware page file: wall textures, sprites and digitized sounds"
|
||||
required: false
|
||||
size: 742912
|
||||
sha1: "63134a2e3165b5291ece7b8a4145d2bd67d4f787"
|
||||
md5: "6efa079414b817c97db779cecfb081c9"
|
||||
source_ref: "id_pm.c:36-41, wl_menu.c:3805-3809"
|
||||
note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "vgadict.wl1"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D shareware Huffman dictionary of the graphics file"
|
||||
required: false
|
||||
size: 1024
|
||||
sha1: "10ae325f5ce124d2536a63805023c56a4e438ea1"
|
||||
md5: "76a6128f3c0dd9b77939ce8313992746"
|
||||
source_ref: "id_ca.c:449-454, wl_menu.c:3805-3809"
|
||||
note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "vgahead.wl1"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D shareware graphics chunk offsets"
|
||||
required: false
|
||||
size: 471
|
||||
sha1: "a9ba5551f54f88d810b9aa82a15caae623509a4c"
|
||||
md5: "61bf1616e78367853c91f2c04e2c1cb7"
|
||||
source_ref: "id_ca.c:462-480, wl_menu.c:3805-3809"
|
||||
note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "vgagraph.wl1"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D shareware graphics chunks: pictures, fonts and text articles"
|
||||
required: false
|
||||
size: 326568
|
||||
sha1: "3ad077aca0e775bd6a241515c8b2874d4fa4099a"
|
||||
md5: "74decb641b1a4faed173e10ab744bff0"
|
||||
source_ref: "id_ca.c:498-503, wl_menu.c:3805-3809"
|
||||
note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "maphead.wl1"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D shareware map offsets and tile info"
|
||||
required: false
|
||||
size: 402
|
||||
sha1: "b3942ddb4f6bb671b026a3f85611bf314acefce7"
|
||||
md5: "7b6dd4e55c33c33a41d1600be5df3228"
|
||||
source_ref: "id_ca.c:541-546, wl_menu.c:3805-3809"
|
||||
note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "gamemaps.wl1"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D shareware level maps"
|
||||
required: false
|
||||
size: 27425
|
||||
sha1: "d49fc8a7887d7e73be7c813177307b68206f8147"
|
||||
md5: "30fecd7cce6bc70402651ec922d2da3d"
|
||||
source_ref: "id_ca.c:81-82, 556-561, wl_menu.c:3805-3809"
|
||||
note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "audiohed.wl1"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D shareware audio chunk offsets"
|
||||
required: false
|
||||
size: 1156
|
||||
sha1: "732460795d77cab19c8018d879f5c27a3cbd5f84"
|
||||
md5: "58aa1b9892d5adfa725fab343d9446f8"
|
||||
source_ref: "id_ca.c:606-608, wl_menu.c:3805-3809"
|
||||
note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "audiot.wl1"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D shareware AdLib sound effects and music"
|
||||
required: false
|
||||
size: 132613
|
||||
sha1: "0254cc09b7a8ab0b884766b5dcd0e8555c424937"
|
||||
md5: "4b6109e957b584e4ad7f376961f3887e"
|
||||
source_ref: "id_ca.c:613-618, wl_menu.c:3805-3809"
|
||||
note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
# Wolfenstein 3D, three episode release (.wl3)
|
||||
- name: "vswap.wl3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D, three episode release page file: wall textures, sprites and digitized sounds"
|
||||
required: false
|
||||
source_ref: "id_pm.c:36-41, wl_menu.c:3828-3835"
|
||||
|
||||
- name: "vgadict.wl3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D, three episode release Huffman dictionary of the graphics file"
|
||||
required: false
|
||||
source_ref: "id_ca.c:449-454, wl_menu.c:3828-3835"
|
||||
|
||||
- name: "vgahead.wl3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D, three episode release graphics chunk offsets"
|
||||
required: false
|
||||
source_ref: "id_ca.c:462-480, wl_menu.c:3828-3835"
|
||||
|
||||
- name: "vgagraph.wl3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D, three episode release graphics chunks: pictures, fonts and text articles"
|
||||
required: false
|
||||
source_ref: "id_ca.c:498-503, wl_menu.c:3828-3835"
|
||||
|
||||
- name: "maphead.wl3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D, three episode release map offsets and tile info"
|
||||
required: false
|
||||
source_ref: "id_ca.c:541-546, wl_menu.c:3828-3835"
|
||||
|
||||
- name: "gamemaps.wl3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D, three episode release level maps"
|
||||
required: false
|
||||
source_ref: "id_ca.c:81-82, 556-561, wl_menu.c:3828-3835"
|
||||
|
||||
- name: "audiohed.wl3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D, three episode release audio chunk offsets"
|
||||
required: false
|
||||
source_ref: "id_ca.c:606-608, wl_menu.c:3828-3835"
|
||||
|
||||
- name: "audiot.wl3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D, three episode release AdLib sound effects and music"
|
||||
required: false
|
||||
source_ref: "id_ca.c:613-618, wl_menu.c:3828-3835"
|
||||
|
||||
# Wolfenstein 3D (.wl6)
|
||||
- name: "vswap.wl6"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D page file: wall textures, sprites and digitized sounds"
|
||||
required: false
|
||||
source_ref: "id_pm.c:36-41, wl_menu.c:3811-3825"
|
||||
|
||||
- name: "vgadict.wl6"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D Huffman dictionary of the graphics file"
|
||||
required: false
|
||||
source_ref: "id_ca.c:449-454, wl_menu.c:3811-3825"
|
||||
|
||||
- name: "vgahead.wl6"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D graphics chunk offsets"
|
||||
required: false
|
||||
source_ref: "id_ca.c:462-480, wl_menu.c:3811-3825"
|
||||
|
||||
- name: "vgagraph.wl6"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D graphics chunks: pictures, fonts and text articles"
|
||||
required: false
|
||||
source_ref: "id_ca.c:498-503, wl_menu.c:3811-3825"
|
||||
|
||||
- name: "maphead.wl6"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D map offsets and tile info"
|
||||
required: false
|
||||
source_ref: "id_ca.c:541-546, wl_menu.c:3811-3825"
|
||||
|
||||
- name: "gamemaps.wl6"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D level maps"
|
||||
required: false
|
||||
source_ref: "id_ca.c:81-82, 556-561, wl_menu.c:3811-3825"
|
||||
|
||||
- name: "audiohed.wl6"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D audio chunk offsets"
|
||||
required: false
|
||||
source_ref: "id_ca.c:606-608, wl_menu.c:3811-3825"
|
||||
|
||||
- name: "audiot.wl6"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Wolfenstein 3D AdLib sound effects and music"
|
||||
required: false
|
||||
source_ref: "id_ca.c:613-618, wl_menu.c:3811-3825"
|
||||
|
||||
# Spear of Destiny (.sod)
|
||||
- name: "vswap.sod"
|
||||
aliases: ["vswap.sd1"]
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny page file: wall textures, sprites and digitized sounds"
|
||||
required: false
|
||||
source_ref: "id_pm.c:36-41, wl_menu.c:3850-3863"
|
||||
|
||||
- name: "vgadict.sod"
|
||||
aliases: ["vgadict.sd1"]
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny Huffman dictionary of the graphics file"
|
||||
required: false
|
||||
source_ref: "id_ca.c:449-454, wl_menu.c:3850-3863"
|
||||
|
||||
- name: "vgahead.sod"
|
||||
aliases: ["vgahead.sd1"]
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny graphics chunk offsets"
|
||||
required: false
|
||||
source_ref: "id_ca.c:462-480, wl_menu.c:3850-3863"
|
||||
|
||||
- name: "vgagraph.sod"
|
||||
aliases: ["vgagraph.sd1"]
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny graphics chunks: pictures, fonts and text articles"
|
||||
required: false
|
||||
source_ref: "id_ca.c:498-503, wl_menu.c:3850-3863"
|
||||
|
||||
- name: "maphead.sod"
|
||||
aliases: ["maphead.sd1"]
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny map offsets and tile info"
|
||||
required: false
|
||||
source_ref: "id_ca.c:541-546, wl_menu.c:3850-3863"
|
||||
|
||||
- name: "gamemaps.sod"
|
||||
aliases: ["gamemaps.sd1"]
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny level maps"
|
||||
required: false
|
||||
source_ref: "id_ca.c:81-82, 556-561, wl_menu.c:3850-3863"
|
||||
|
||||
- name: "audiohed.sod"
|
||||
aliases: ["audiohed.sd1"]
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny audio chunk offsets"
|
||||
required: false
|
||||
source_ref: "id_ca.c:606-608, wl_menu.c:3850-3863"
|
||||
|
||||
- name: "audiot.sod"
|
||||
aliases: ["audiot.sd1"]
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny AdLib sound effects and music"
|
||||
required: false
|
||||
source_ref: "id_ca.c:613-618, wl_menu.c:3850-3863"
|
||||
|
||||
# Spear of Destiny mission pack 2 (.sd2)
|
||||
- name: "vswap.sd2"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny mission pack 2 page file: wall textures, sprites and digitized sounds"
|
||||
required: false
|
||||
source_ref: "id_pm.c:36-41, wl_menu.c:3864-3870"
|
||||
|
||||
- name: "vgadict.sd2"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny mission pack 2 Huffman dictionary of the graphics file"
|
||||
required: false
|
||||
source_ref: "id_ca.c:449-454, wl_menu.c:3864-3870"
|
||||
|
||||
- name: "vgahead.sd2"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny mission pack 2 graphics chunk offsets"
|
||||
required: false
|
||||
source_ref: "id_ca.c:462-480, wl_menu.c:3864-3870"
|
||||
|
||||
- name: "vgagraph.sd2"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny mission pack 2 graphics chunks: pictures, fonts and text articles"
|
||||
required: false
|
||||
source_ref: "id_ca.c:498-503, wl_menu.c:3864-3870"
|
||||
|
||||
- name: "maphead.sd2"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny mission pack 2 map offsets and tile info"
|
||||
required: false
|
||||
source_ref: "id_ca.c:541-546, wl_menu.c:3864-3870"
|
||||
|
||||
- name: "gamemaps.sd2"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny mission pack 2 level maps"
|
||||
required: false
|
||||
source_ref: "id_ca.c:81-82, 556-561, wl_menu.c:3864-3870"
|
||||
|
||||
- name: "audiohed.sd2"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny mission pack 2 audio chunk offsets"
|
||||
required: false
|
||||
source_ref: "id_ca.c:606-608, wl_menu.c:3864-3870"
|
||||
|
||||
- name: "audiot.sd2"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny mission pack 2 AdLib sound effects and music"
|
||||
required: false
|
||||
source_ref: "id_ca.c:613-618, wl_menu.c:3864-3870"
|
||||
|
||||
# Spear of Destiny mission pack 3 (.sd3)
|
||||
- name: "vswap.sd3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny mission pack 3 page file: wall textures, sprites and digitized sounds"
|
||||
required: false
|
||||
source_ref: "id_pm.c:36-41, wl_menu.c:3871-3876"
|
||||
|
||||
- name: "vgadict.sd3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny mission pack 3 Huffman dictionary of the graphics file"
|
||||
required: false
|
||||
source_ref: "id_ca.c:449-454, wl_menu.c:3871-3876"
|
||||
|
||||
- name: "vgahead.sd3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny mission pack 3 graphics chunk offsets"
|
||||
required: false
|
||||
source_ref: "id_ca.c:462-480, wl_menu.c:3871-3876"
|
||||
|
||||
- name: "vgagraph.sd3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny mission pack 3 graphics chunks: pictures, fonts and text articles"
|
||||
required: false
|
||||
source_ref: "id_ca.c:498-503, wl_menu.c:3871-3876"
|
||||
|
||||
- name: "maphead.sd3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny mission pack 3 map offsets and tile info"
|
||||
required: false
|
||||
source_ref: "id_ca.c:541-546, wl_menu.c:3871-3876"
|
||||
|
||||
- name: "gamemaps.sd3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny mission pack 3 level maps"
|
||||
required: false
|
||||
source_ref: "id_ca.c:81-82, 556-561, wl_menu.c:3871-3876"
|
||||
|
||||
- name: "audiohed.sd3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny mission pack 3 audio chunk offsets"
|
||||
required: false
|
||||
source_ref: "id_ca.c:606-608, wl_menu.c:3871-3876"
|
||||
|
||||
- name: "audiot.sd3"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny mission pack 3 AdLib sound effects and music"
|
||||
required: false
|
||||
source_ref: "id_ca.c:613-618, wl_menu.c:3871-3876"
|
||||
|
||||
# Spear of Destiny demo (.sdm)
|
||||
- name: "vswap.sdm"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny demo page file: wall textures, sprites and digitized sounds"
|
||||
required: false
|
||||
size: 730624
|
||||
sha1: "90158daca3d629b388b96f688e6084c11762f680"
|
||||
md5: "35afda760bea840b547d686a930322dc"
|
||||
source_ref: "id_pm.c:36-41, wl_menu.c:3880-3885"
|
||||
note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "vgadict.sdm"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny demo Huffman dictionary of the graphics file"
|
||||
required: false
|
||||
size: 1024
|
||||
sha1: "c28f04668180386f42009eb3a3910437c893c8c0"
|
||||
md5: "2f85b6763a582df19e6a35dd9634c736"
|
||||
source_ref: "id_ca.c:449-454, wl_menu.c:3880-3885"
|
||||
note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "vgahead.sdm"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny demo graphics chunk offsets"
|
||||
required: false
|
||||
size: 402
|
||||
sha1: "5765612af995804854d34696d152a7ee6f20dd18"
|
||||
md5: "18c03cb401ed274bc0b659e951140e64"
|
||||
source_ref: "id_ca.c:462-480, wl_menu.c:3880-3885"
|
||||
note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "vgagraph.sdm"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny demo graphics chunks: pictures, fonts and text articles"
|
||||
required: false
|
||||
size: 305891
|
||||
sha1: "9da7d00d1d68c0b24bf120f9927df53ff663a64f"
|
||||
md5: "1cc5ceb8e43c0c0030cf552fc8ae9d0d"
|
||||
source_ref: "id_ca.c:498-503, wl_menu.c:3880-3885"
|
||||
note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "maphead.sdm"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny demo map offsets and tile info"
|
||||
required: false
|
||||
size: 402
|
||||
sha1: "f6271baf01c3fb88b4979fd0e124a8b2c66d4e34"
|
||||
md5: "40fa03caf7a1a4dbd22da4321c6e10d4"
|
||||
source_ref: "id_ca.c:541-546, wl_menu.c:3880-3885"
|
||||
note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "gamemaps.sdm"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny demo level maps"
|
||||
required: false
|
||||
size: 5534
|
||||
sha1: "66a3e2c12dfc374c414543885a213073c72772bb"
|
||||
md5: "4eb2f538aab6e4061dadbc3b73837762"
|
||||
source_ref: "id_ca.c:81-82, 556-561, wl_menu.c:3880-3885"
|
||||
note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "audiohed.sdm"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny demo audio chunk offsets"
|
||||
required: false
|
||||
size: 1072
|
||||
sha1: "a6519b58bcaac5e8a866cebaf268e74afe2f1778"
|
||||
md5: "f0022742f86c214872bd72f03aaf1529"
|
||||
source_ref: "id_ca.c:606-608, wl_menu.c:3880-3885"
|
||||
note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
|
||||
- name: "audiot.sdm"
|
||||
category: game_data
|
||||
system: wolfenstein3d
|
||||
description: "Spear of Destiny demo AdLib sound effects and music"
|
||||
required: false
|
||||
size: 93412
|
||||
sha1: "0ce47169695698cd41580b4e3f9dfec393b4886b"
|
||||
md5: "fcde1333c941229f4dd6ca099fcfe616"
|
||||
source_ref: "id_ca.c:613-618, wl_menu.c:3880-3885"
|
||||
note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash."
|
||||
@@ -0,0 +1,125 @@
|
||||
emulator: xemu Chihiro
|
||||
type: standalone
|
||||
core_classification: community_fork
|
||||
source: "https://github.com/Tovarichtch/xemu"
|
||||
source_branch: perf-experimental
|
||||
upstream: "https://github.com/xemu-project/xemu"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "0d44d803b2ad22c26c907844fe81d40fbd6ffdfa"
|
||||
core_version: "0.8.134-406-g0d44d803b2"
|
||||
display_name: "Sega - Chihiro (xemu Chihiro)"
|
||||
cores:
|
||||
- xemu-chihiro
|
||||
systems:
|
||||
- sega-chihiro
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Tovarichtch's fork of xemu that adds the Sega Chihiro machine: the media
|
||||
board, the AN2131 and its 8051 firmware, JVS, the drive boards, the card
|
||||
readers and the network board. RetroBat ships the build whose version string
|
||||
is 0.8.134-406-g0d44d803b2, the "Source code release and playtest v2" commit
|
||||
this profile is pinned to, on the perf-experimental branch
|
||||
(the one with the fork's NV2A and CPU work). Batocera builds the same fork at a later commit.
|
||||
|
||||
RetroBat runs this emulator only as a Chihiro: the launcher sets the Chihiro
|
||||
path whenever the emulator is xemu-chihiro. It writes chihiro.roms.bios_path
|
||||
as bios/chihiro/chihiro_xbox_bios.bin, else bios/chihiro_xbox_bios.bin, and
|
||||
clears the media board and EEPROM paths so the emulator takes them from the
|
||||
folder of the BIOS.
|
||||
ref: emulatorLauncher Generators/Xemu.Generator.cs:48, 413-444
|
||||
|
||||
A Chihiro boots its own BIOS only, never the Xbox flash or MCPX boot ROM set
|
||||
for the Xbox machine: the Chihiro BIOS is an MCPX X2 image with its boot ROM
|
||||
built in. The BIOS must be 512 KiB with the SHA-1 MAME lists, else the
|
||||
machine stays paused with an error.
|
||||
ref: system/vl.c:3110-3135, 3169-3190, hw/xbox/chihiro/chihiro.c:2280-2292
|
||||
|
||||
The media board flash and the three serial EEPROMs come from the settings
|
||||
when set, else from the folder of the BIOS. The flash is tried as
|
||||
fpr21042_m29w160et.bin, fpr-23887_29lv160te.ic4, then fpr-23887.bin, each in
|
||||
that folder and then in its parent, and any size up to 4 MiB is read. The
|
||||
EEPROMs must have their exact size or they count as absent. Any of the five
|
||||
files missing keeps the machine paused with a message naming it.
|
||||
ref: hw/xbox/chihiro/chihiro.c:2259-2401, system/vl.c:3195-3241
|
||||
|
||||
The Xbox EEPROM is not a file to supply for a Chihiro: chihiro_eeprom.bin is
|
||||
generated with the debug key in the data directory and written back. The VM
|
||||
snapshots, the per game saves, the DIMM system area and the card images are
|
||||
written by the emulator too. Booting an Xbox disc with this build reads the
|
||||
same files as upstream xemu (emulators/xemu.yml), which RetroBat never asks
|
||||
it to do.
|
||||
ref: system/vl.c:2978-3001
|
||||
|
||||
The network firmware of the DIMM board is read only from the setting
|
||||
chihiro.roms.net_firmware_path, which RetroBat does not write. Without it the
|
||||
board reports version 3.17. Linked cabinets need it to run the network board,
|
||||
and network titles check the version it reports (OutRun 2 SP, Gundam).
|
||||
ref: hw/xbox/chihiro/chihiro.c:363-400, 491-513, config_spec.yml:908-915
|
||||
|
||||
files:
|
||||
- name: chihiro_xbox_bios.bin
|
||||
path: "chihiro/chihiro_xbox_bios.bin"
|
||||
system: sega-chihiro
|
||||
required: true
|
||||
size: 524288
|
||||
sha1: "b700b0041af8f84835e45d1d1250247bf7077188"
|
||||
validation: [size, sha1]
|
||||
description: "Chihiro BIOS"
|
||||
note: "RetroBat also looks for it at the root of the bios folder. The other Chihiro files are then read from the same folder."
|
||||
source_ref: "hw/xbox/chihiro/chihiro.c:2280-2292, system/vl.c:3169-3190"
|
||||
|
||||
- name: fpr21042_m29w160et.bin
|
||||
path: "chihiro/fpr21042_m29w160et.bin"
|
||||
system: sega-chihiro
|
||||
required: true
|
||||
max_size: 4194304
|
||||
validation: [size]
|
||||
description: "Media board flash ROM (SEGABOOT)"
|
||||
note: "First of the three names tried. The SEGABOOT version is read from the second megabyte and the board serial from the MBDT header at 0xFFE00."
|
||||
source_ref: "hw/xbox/chihiro/chihiro.c:2259-2333, 485-489, system/vl.c:3201-3214"
|
||||
|
||||
- name: fpr-23887_29lv160te.ic4
|
||||
path: "chihiro/fpr-23887_29lv160te.ic4"
|
||||
system: sega-chihiro
|
||||
required: false
|
||||
max_size: 4194304
|
||||
validation: [size]
|
||||
aliases: [fpr-23887.bin]
|
||||
description: "Media board flash ROM, later revision"
|
||||
note: "Read in place of fpr21042_m29w160et.bin when that one is absent, under either name."
|
||||
source_ref: "hw/xbox/chihiro/chihiro.c:2320-2332"
|
||||
|
||||
- name: ic10_g24lc64.bin
|
||||
path: "chihiro/ic10_g24lc64.bin"
|
||||
system: sega-chihiro
|
||||
required: true
|
||||
size: 8192
|
||||
validation: [size]
|
||||
description: "Base board QC EEPROM"
|
||||
source_ref: "hw/xbox/chihiro/chihiro.c:2336-2401, system/vl.c:3215-3217"
|
||||
|
||||
- name: pc20_g24lc64.bin
|
||||
path: "chihiro/pc20_g24lc64.bin"
|
||||
system: sega-chihiro
|
||||
required: true
|
||||
size: 8192
|
||||
validation: [size]
|
||||
description: "Base board SC EEPROM"
|
||||
source_ref: "hw/xbox/chihiro/chihiro.c:2336-2401, system/vl.c:3218-3220"
|
||||
|
||||
- name: ic11_24lc024.bin
|
||||
path: "chihiro/ic11_24lc024.bin"
|
||||
system: sega-chihiro
|
||||
required: true
|
||||
size: 128
|
||||
validation: [size]
|
||||
description: "Base board configuration EEPROM"
|
||||
source_ref: "hw/xbox/chihiro/chihiro.c:2336-2401, system/vl.c:3221-3223"
|
||||
|
||||
- name: ver1305.bin
|
||||
system: sega-chihiro
|
||||
required: false
|
||||
description: "DIMM board network firmware 13.05"
|
||||
note: "Opened only from the path set in the settings. Its version is the word after the FIRM_VERSION is here! mark."
|
||||
source_ref: "hw/xbox/chihiro/chihiro.c:363-400, 491-513, hw/xbox/chihiro/chihiro-netboard.c:1257-1270"
|
||||
@@ -10,6 +10,7 @@ display_name: "Xenia Canary (Xbox 360)"
|
||||
cores:
|
||||
- xenia
|
||||
- xenia-canary
|
||||
- xenia-manager
|
||||
- xenianative
|
||||
systems:
|
||||
- microsoft-xbox-360
|
||||
@@ -28,6 +29,11 @@ notes: |
|
||||
EmuDeck installs xenia_canary.exe into the xbox360 ROMs folder. Config via
|
||||
xenia-canary.config.toml. Game patches downloaded separately into patches/.
|
||||
|
||||
RetroBat's xenia-manager emulator does not start Xenia Manager itself. Its
|
||||
generator runs xenia_canary.exe from the Emulators/Xenia Canary folder that
|
||||
Xenia Manager installs, or the Mousehook and Netplay Canary builds from their
|
||||
own folders (emulatorlauncher Xenia.Generator.cs:48-73).
|
||||
|
||||
files: []
|
||||
|
||||
exclusion_note: >
|
||||
|
||||
@@ -0,0 +1,153 @@
|
||||
emulator: XM7
|
||||
display_name: "Fujitsu - FM-7 (XM7/SDL)"
|
||||
type: standalone
|
||||
core_classification: other
|
||||
source: "https://github.com/nakatamaho/XM7-for-SDL"
|
||||
upstream: "http://retropc.net/ryu/xm7/"
|
||||
profiled_date: "2026-10-20"
|
||||
source_commit: "2a48dceaf8a3a0de92cf369b039ac5fab2bb351a"
|
||||
core_version: "V3.4 L61a SDL/Agar 0.3.2pre2"
|
||||
cores:
|
||||
- xm7
|
||||
systems:
|
||||
- fm7
|
||||
- fm77av
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
K.Ohta's SDL and Agar port of PI.'s XM7, an FM-7, FM-77 and FM77AV series
|
||||
emulator. The CMake build sets XM7_VERSION 3 (linux-sdl/CMakeLists.txt:23,
|
||||
linux-sdl/cmake/config_xm7.cmake:20), the FM77AV40EX/SX level, so every ROM
|
||||
path below is the XM7_VER >= 3 branch. RetroPie builds this repository with
|
||||
OpenGL and OpenCL off.
|
||||
|
||||
ROMs are read by file_load (linux-sdl/sdl/sdl_file.c:21-59), which prepends
|
||||
ModuleDir and reads a fixed byte count. A file shorter than that count is
|
||||
refused and anything past it is ignored. main sets ModuleDir to $HOME/.xm7/,
|
||||
or ./.xm7/ when HOME is unset (linux-sdl/sdl/windows_main.cpp:79-94). No hash
|
||||
or checksum of any ROM is computed.
|
||||
|
||||
system_init stops at the first device whose init returns FALSE
|
||||
(linux-sdl/vm/system.c:124-127, 171, 203). MainLoop then sets error code 1
|
||||
and shows "Error init VM. Please check ROMS and system-memory."
|
||||
(linux-sdl/ui-agar/agar_main.cpp:166-168, 546-548), and no machine runs. A
|
||||
ROM whose absence makes its init return FALSE is required below.
|
||||
|
||||
The three drive sound effects are read with SDL_LoadWAV from RSSDIR, which
|
||||
defaults to SHAREDIR, /usr/local/share/xm7/ (linux-sdl/sdl/build_config.h:76-86,
|
||||
linux-sdl/sdl/api_snd2.cpp:660). The name is appended to that directory
|
||||
without a separator, and each name is tried in lower case, upper case,
|
||||
capitalized and as written (linux-sdl/sdl/api_snd2.cpp:213-267). A missing
|
||||
WAV leaves its slot silent. HEADUP.WAV and HEADDOWN.WAV are compiled out
|
||||
(linux-sdl/sdl/api_snd2.cpp:160-163).
|
||||
|
||||
USERDIC.DAT is the FM77-211 learning RAM. It is filled with 0xFF when absent
|
||||
and written back by the emulator (linux-sdl/vm/jcard.c:77-82), so it is not
|
||||
listed. JSUBMON.ROM, SUBSYS_8.ROM, SUBSYSL4.ROM, ANKCG16.ROM, the FM-8 and
|
||||
FM-7 boot ROMs and FBASIC10.ROM are only read when XM7_VER is 1.
|
||||
|
||||
files:
|
||||
- name: FBASIC30.ROM
|
||||
description: "F-BASIC V3.0 ROM"
|
||||
required: true
|
||||
min_size: 31744
|
||||
validation: [size]
|
||||
source_ref: "linux-sdl/vm/xm7.h:240, linux-sdl/vm/mainmem.c:211-217"
|
||||
|
||||
- name: INITIATE.ROM
|
||||
description: "FM77AV initiator ROM"
|
||||
required: true
|
||||
min_size: 8192
|
||||
validation: [size]
|
||||
source_ref: "linux-sdl/vm/xm7.h:241, linux-sdl/vm/mainmem.c:225-227"
|
||||
note: "Patched in memory after loading to skip the boot delay of the old and new boot sequences (linux-sdl/vm/mainmem.c:229-262)."
|
||||
|
||||
- name: BOOT_MMR.ROM
|
||||
description: "FM-77 MMR boot ROM"
|
||||
required: false
|
||||
min_size: 512
|
||||
validation: [size]
|
||||
source_ref: "linux-sdl/vm/xm7.h:246, linux-sdl/vm/mainmem.c:287-290, linux-sdl/vm/jcard.c:100-108"
|
||||
note: "Without it the hidden boot area of the extended ROM is filled from INITIATE.ROM offset 0x1a00."
|
||||
|
||||
- name: SUBSYS_C.ROM
|
||||
description: "FM-7 sub system ROM"
|
||||
required: true
|
||||
min_size: 10240
|
||||
validation: [size]
|
||||
source_ref: "linux-sdl/vm/xm7.h:252, linux-sdl/vm/submem.c:212-218"
|
||||
|
||||
- name: SUBSYS_A.ROM
|
||||
description: "FM77AV type A sub system ROM"
|
||||
required: true
|
||||
min_size: 8192
|
||||
validation: [size]
|
||||
source_ref: "linux-sdl/vm/xm7.h:255, linux-sdl/vm/submem.c:220-222"
|
||||
|
||||
- name: SUBSYS_B.ROM
|
||||
description: "FM77AV type B sub system ROM"
|
||||
required: true
|
||||
min_size: 8192
|
||||
validation: [size]
|
||||
source_ref: "linux-sdl/vm/xm7.h:256, linux-sdl/vm/submem.c:223-225"
|
||||
|
||||
- name: SUBSYSCG.ROM
|
||||
description: "FM77AV character generator and sub system ROM"
|
||||
required: true
|
||||
min_size: 8192
|
||||
validation: [size]
|
||||
source_ref: "linux-sdl/vm/xm7.h:257, linux-sdl/vm/submem.c:226-228"
|
||||
|
||||
- name: KANJI1.ROM
|
||||
description: "JIS83 first standard kanji ROM"
|
||||
required: true
|
||||
min_size: 131072
|
||||
validation: [size]
|
||||
source_ref: "linux-sdl/vm/xm7.h:259, linux-sdl/vm/kanji.c:85-87"
|
||||
unsourceable: "XM7 checks no hash and its upstream distributes no dump. The KANJI1.ROM the collection holds is the PC-88 kanji ROM, another machine's font."
|
||||
|
||||
- name: KANJI2.ROM
|
||||
description: "JIS83 second standard kanji ROM"
|
||||
required: true
|
||||
min_size: 131072
|
||||
validation: [size]
|
||||
source_ref: "linux-sdl/vm/xm7.h:263, linux-sdl/vm/kanji.c:98-102"
|
||||
unsourceable: "XM7 checks no hash and its upstream distributes no dump. The KANJI2.ROM the collection holds is the PC-88 second level kanji ROM, another machine's font."
|
||||
|
||||
- name: KANJI.ROM
|
||||
description: "JIS78 first standard kanji ROM"
|
||||
required: false
|
||||
min_size: 131072
|
||||
validation: [size]
|
||||
source_ref: "linux-sdl/vm/xm7.h:260, linux-sdl/vm/kanji.c:71-81, 128-133"
|
||||
unsourceable: "XM7 checks no hash and its upstream distributes no dump. The KANJI.ROM files the collection holds are MSX and FPseNG fonts, not the Fujitsu ROM."
|
||||
note: "Without it a JIS78 table is generated from KANJI1.ROM."
|
||||
|
||||
- name: DICROM.ROM
|
||||
description: "FM77-101/FM77-211 dictionary ROM"
|
||||
required: true
|
||||
min_size: 262144
|
||||
validation: [size]
|
||||
source_ref: "linux-sdl/vm/xm7.h:264, linux-sdl/vm/jcard.c:66-68"
|
||||
|
||||
- name: EXTSUB.ROM
|
||||
description: "FM77AV40EX/SX extended sub system ROM"
|
||||
required: true
|
||||
min_size: 49152
|
||||
validation: [size]
|
||||
source_ref: "linux-sdl/vm/xm7.h:266, linux-sdl/vm/jcard.c:92-94"
|
||||
|
||||
- name: relay_on.wav
|
||||
description: "Cassette relay on sound"
|
||||
required: false
|
||||
source_ref: "linux-sdl/sdl/api_snd2.cpp:155-157, 213-267, 660"
|
||||
|
||||
- name: relayoff.wav
|
||||
description: "Cassette relay off sound"
|
||||
required: false
|
||||
source_ref: "linux-sdl/sdl/api_snd2.cpp:155-158, 213-267, 660"
|
||||
|
||||
- name: fddseek.wav
|
||||
description: "Floppy drive seek sound"
|
||||
required: false
|
||||
source_ref: "linux-sdl/sdl/api_snd2.cpp:155-159, 213-267, 660"
|
||||
@@ -0,0 +1,39 @@
|
||||
emulator: Zelda Classic 2.55 Prototype
|
||||
type: libretro
|
||||
core_classification: game_engine
|
||||
source: "https://www.retrobat.ovh/repo/win64/stable/emulators/cores/zc255_libretro.dll.zip"
|
||||
upstream: closed-source
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "2.55.16"
|
||||
display_name: "Zelda Classic 2.55 (ZC255)"
|
||||
cores: [zc255]
|
||||
systems: [zeldaclassic]
|
||||
|
||||
notes: |
|
||||
Libretro core that hosts the ZQuest Classic 2.55 player engine, offered by
|
||||
RetroBat for its zeldaclassic system next to the ZQuest Classic standalone
|
||||
(es_systems.cfg, emulatorLauncher LibRetro.CoreOptions.cs:303 names it
|
||||
"Zelda Classic 2.55 Prototype"). It loads .qst quest files only
|
||||
(emulatorLauncher Common/Generator.cs:350, 390-392). No source is
|
||||
published: the profile reads zc255_libretro.dll as RetroBat serves it
|
||||
(coreversions.xml version 2.55.16.0, DLL 45709824 bytes, sha1
|
||||
d8b049ca8d196069609fd1cf67abd6346304f7a0). The binary identifies itself
|
||||
as "2.55.16-core-prototype" and "0.14 embedded gameplay core".
|
||||
|
||||
Every engine file the standalone reads from disk is compiled into the DLL
|
||||
as an RCDATA resource: allegro5.cfg, base_config/zc.cfg and zscript.cfg,
|
||||
modules/classic.zmod, the packed classic_fonts.dat and the encoded engine
|
||||
datafile it names, the default quest, zelda.nsf, the seven title, dungeon,
|
||||
overworld, level 9, triforce, game over and ending MIDIs, the default.sf2
|
||||
SoundFont (32319396 bytes) and an SDL gamecontrollerdb.txt. At start the
|
||||
core writes them into a zc255-assets cache and verifies the copy, failing
|
||||
with "Cannot locate embedded core resources" or "Embedded asset cache
|
||||
verification failed" otherwise. RetroBat's ConfigureZc255
|
||||
(emulatorLauncher LibRetro.CoreOptions.cs:6372-6377) states the same:
|
||||
"Engine data, soundfont and sound effects are embedded in the DLL: nothing
|
||||
is needed in the bios folder".
|
||||
|
||||
Nothing is read from the system directory. Quests and their saves are the
|
||||
only files on disk.
|
||||
|
||||
files: []
|
||||
@@ -0,0 +1,132 @@
|
||||
emulator: ZiNc
|
||||
type: standalone
|
||||
core_classification: other
|
||||
source: "https://www.retrobat.ovh/repo/win64/stable/emulators/zinc.7z"
|
||||
upstream: closed-source
|
||||
author: "Drunken Muppets"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "1.1"
|
||||
display_name: "Arcade - Sony ZN-1/ZN-2, Namco System 11, Konami GV (ZiNc)"
|
||||
cores:
|
||||
- zinc
|
||||
systems:
|
||||
- capcom-zn1
|
||||
- capcom-zn2
|
||||
- tecmo-tps
|
||||
- taito-fx1
|
||||
- eighting-zn1
|
||||
- atlus-zn1
|
||||
- videosystem-zn1
|
||||
- konami-gv
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Arcade emulator for the PlayStation based boards: Sony ZN-1 and ZN-2 (Capcom,
|
||||
Tecmo, Taito FX-1, Raizing/Eighting, Atlus, Video System), Namco System 11 and
|
||||
Konami GV. Closed source, last release 1.1 of 2005 ("ZiNc 1.1 (C)1997-2005
|
||||
Drunken Muppets"). The build read here is the one RetroBat installs, zinc.7z
|
||||
sha256 7bd2e86b38db36c5876b2c7a67840bf930d248f30aacc68db309b89058f21562, whose
|
||||
ZiNc.exe (md5 5f3bf0fac64f76c08b12b6cd05e6b159, 2005-01-25, not packed) is
|
||||
cited by virtual address. The renderer, controller and sound plugins
|
||||
(*.znc, s11player.dll) ship beside it.
|
||||
ref: ZiNc.exe 0x493f60
|
||||
|
||||
Games are picked by number on the command line, not by set name. Each of the
|
||||
79 driver records holds the description, parent, set name, a pointer to its
|
||||
ROM list and the name of the BIOS set, then the list gives name, region,
|
||||
load offset and CRC32 of every ROM, the BIOS ROM first. RetroBat maps the
|
||||
set name to that number in zincGameNumber.
|
||||
ref: ZiNc.exe 0x496404 (glpracr record),
|
||||
emulatorlauncher emulatorLauncher/Generators/Zinc.Generator.cs:136-209
|
||||
|
||||
ROMs are read from the directory given by -roms-directory (default roms),
|
||||
which RetroBat writes into zinc.cfg as the folder of the launched game. A ROM
|
||||
is looked up in <set>.zip, then in the parent's zip, then in the BIOS set's
|
||||
zip, each also as a plain directory. A missing ROM stops the load with
|
||||
"ERROR: missing rom file", and every ROM is checked against the CRC32 of its
|
||||
record ("ERROR: BAD CRC ... expected").
|
||||
ref: ZiNc.exe 0x494134, 0x49fdfc, 0x4a018c, 0x49fe24, 0x49fe48,
|
||||
emulatorlauncher emulatorLauncher/Generators/Zinc.Generator.cs:109-114
|
||||
|
||||
The Namco System 11 records name no BIOS set: the first ROM of each list is
|
||||
the game's own program ROM. sncwgltd (Video System) names none either and
|
||||
lists coh-1002v.353 inside its own set. The seven BIOS sets below are the
|
||||
only files read outside a game's own set.
|
||||
|
||||
files:
|
||||
- name: cpzn1.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: capcom-zn1
|
||||
description: "Capcom ZN-1 BIOS"
|
||||
note: "BIOS set of starglad, sfex, sfexa, sfexj, sfexp, sfexpu1, sfexpj, ts2, ts2j and glpracr."
|
||||
source_ref: "ZiNc.exe 0x49926c, ZiNc.exe 0x496404"
|
||||
contents:
|
||||
- name: "coh-1000c.353"
|
||||
crc32: "50033af6"
|
||||
|
||||
- name: cpzn2.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: capcom-zn2
|
||||
description: "Capcom ZN-2 BIOS"
|
||||
note: "BIOS set of tgmj, stargld2, plsmaswd, sfex2, sfex2j, sfex2p, sfex2pa, sfex2pj, shiryu2, strider2, kikaioh, techromn, rvschool, rvschola and jgakuen."
|
||||
source_ref: "ZiNc.exe 0x499054"
|
||||
contents:
|
||||
- name: "coh-3002c.353"
|
||||
crc32: "e860ea8b"
|
||||
|
||||
- name: tps.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: tecmo-tps
|
||||
description: "Tecmo TPS BIOS"
|
||||
note: "BIOS set of glpracr2, glpracr3, shngmtkb, mfjump, cbaj, tondemo, doapp and brvblade."
|
||||
source_ref: "ZiNc.exe 0x496dec"
|
||||
contents:
|
||||
- name: "coh-1002m.353"
|
||||
crc32: "69ffbcb4"
|
||||
|
||||
- name: taitofx1.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: taito-fx1
|
||||
description: "Taito FX-1 BIOS"
|
||||
note: "BIOS set of psyforce, psyforcj, psyfrcex, mgcldate, mgcldtex, sfchamp, gdarius, gdarius2, raystorm, raystorj and ftimpcta."
|
||||
source_ref: "ZiNc.exe 0x49cb98"
|
||||
contents:
|
||||
- name: "coh-1000t.353"
|
||||
crc32: "e3f23b6e"
|
||||
|
||||
- name: psarc95.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: eighting-zn1
|
||||
description: "Raizing/Eighting PS Arcade 95 BIOS"
|
||||
note: "BIOS set of beastrzr, beastrzb and bldyror2."
|
||||
source_ref: "ZiNc.exe 0x49c3ac"
|
||||
contents:
|
||||
- name: "coh-1002e.353"
|
||||
crc32: "910f3a8b"
|
||||
|
||||
- name: atluspsx.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: atlus-zn1
|
||||
description: "Atlus PSX BIOS"
|
||||
note: "BIOS set of hvnsgate."
|
||||
source_ref: "ZiNc.exe 0x49ed34"
|
||||
contents:
|
||||
- name: "coh-1001l.353"
|
||||
crc32: "6721146b"
|
||||
|
||||
- name: konamigv.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: konami-gv
|
||||
description: "Konami GV BIOS"
|
||||
note: "BIOS set of weddingr, hyperath, btchamp, pbball96 and susume."
|
||||
source_ref: "ZiNc.exe 0x49f0e4"
|
||||
contents:
|
||||
- name: "999a01.7e"
|
||||
crc32: "ad498d2d"
|
||||
@@ -0,0 +1,247 @@
|
||||
emulator: ZQuest Classic
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/ZQuestClassic/ZQuestClassic"
|
||||
upstream: "https://github.com/ZQuestClassic/ZQuestClassic"
|
||||
source_commit: "4ef771c64666812a1359b8f34fe4d7803868ba13"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "2.55.17"
|
||||
display_name: "Zelda Classic (ZQuest Classic)"
|
||||
cores: [zquestclassic]
|
||||
systems: [zeldaclassic]
|
||||
|
||||
notes: |
|
||||
ZQuest Classic, the continuation of Zelda Classic: a quest player
|
||||
(zplayer), an editor (zeditor) and a ZScript compiler. Quests are .qst
|
||||
files. RetroBat installs the upstream 2.55.17-windows-x64.zip unchanged
|
||||
(its zquestclassic.7z holds the same zplayer.exe and data files byte for
|
||||
byte) and launches zplayer.exe with -standalone and the quest, the
|
||||
working directory set to the install folder. The profile is pinned to the
|
||||
2.55.17 tag.
|
||||
|
||||
Every engine file is opened by a path relative to the working directory.
|
||||
At startup the player reads the module file named in zc.cfg, the GUI
|
||||
palette, the fonts datafile, sfx.dat, the cursor and the seven built-in
|
||||
MIDI tunes, and stops with a fatal error when any of them is missing. The
|
||||
title graphics come from modules/classic/title_gfx.dat. The module file
|
||||
also names classic_zelda.dat, classic_zquest.dat and a base NSF. The
|
||||
player opens none of them: classic_zquest.dat is the editor's datafile
|
||||
(src/zq/zquest.cpp:25820), and the release ships no classic_zelda.dat.
|
||||
|
||||
Settings are read from base_config/zc.cfg, then overridden by zc.cfg
|
||||
(src/zconfig.cpp:12-74). Both are user configuration.
|
||||
modules/classic/default.qst and classic_zquest.dat serve the editor
|
||||
(src/qst.cpp:1104-1117, src/zq/zquest.cpp:3255-3323). The quests under
|
||||
quests/ and tilesets/ are content.
|
||||
|
||||
Hashes are those of the files in 2.55.17-windows-x64.zip. The text files
|
||||
there have CRLF line endings.
|
||||
|
||||
files:
|
||||
- name: "sfx.dat"
|
||||
path: "zquestclassic/sfx.dat"
|
||||
category: game_data
|
||||
system: zeldaclassic
|
||||
required: true
|
||||
bundled: true
|
||||
size: 1249133
|
||||
sha1: "9dc80df9fc244efa5f68d8aafa2b2c44abb8d2dd"
|
||||
md5: "3d99a4f1bcde6b2dbff07fedf019dad8"
|
||||
description: "Sound effect datafile, signature \"SFX.Dat\" of version 0x0211"
|
||||
source_ref: "src/zc/zelda.cpp:4604-4614"
|
||||
note: "Loaded from the working directory. The engine stops when it cannot be read, when its first entry does not carry the expected signature, or when the Z35 entry is not a sample. The module file names no other sound datafile: sfx.dat is hardcoded (src/zc/zc_module.cpp:136-137)."
|
||||
|
||||
- name: "classic_fonts.dat"
|
||||
path: "zquestclassic/modules/classic/classic_fonts.dat"
|
||||
category: game_data
|
||||
system: zeldaclassic
|
||||
required: true
|
||||
bundled: true
|
||||
size: 102765
|
||||
sha1: "c6ef009c8c4fdac0da650dd6e92814eac4e7f957"
|
||||
md5: "4748dc89481f22bba22fb441aad563f7"
|
||||
description: "Packed font datafile, signature \"Fonts.Dat\" of version 0x0253"
|
||||
source_ref: "src/zc/zelda.cpp:4583-4597"
|
||||
note: "Read with the datafile password. The engine stops when the file is missing, when it does not hold FONTSDAT_CNT entries or when the signature differs."
|
||||
|
||||
- name: "classic.zmod"
|
||||
path: "zquestclassic/modules/classic.zmod"
|
||||
category: game_data
|
||||
system: zeldaclassic
|
||||
required: true
|
||||
bundled: true
|
||||
size: 14616
|
||||
sha1: "6ea0e5c06445e2b61e745e6a29cd7083bc8f5dfc"
|
||||
md5: "adf6be948ae46b60072356701f3b7b80"
|
||||
description: "Classic module definition: datafile names, NSF tracks, name entry tiles, enemy and item tables"
|
||||
source_ref: "src/zc/zelda.cpp:4429-4432, src/zc/zc_module.cpp:86-91"
|
||||
note: "Path taken from current_module under [ZCMODULE] in zc.cfg, modules/classic.zmod by default. A missing module stops the engine."
|
||||
|
||||
- name: "title_gfx.dat"
|
||||
path: "zquestclassic/modules/classic/title_gfx.dat"
|
||||
category: game_data
|
||||
system: zeldaclassic
|
||||
required: true
|
||||
bundled: true
|
||||
size: 139056
|
||||
sha1: "e6f5f4dcab2dd9a22a1d74545cfa401ffda93e42"
|
||||
md5: "6cef0bd515190528fe19d9fe5eef5a56"
|
||||
description: "Quest-format file holding the title screen tiles and color sets"
|
||||
source_ref: "src/zc/zc_sys.cpp:559-570, src/zc/title.cpp:116"
|
||||
note: "Loaded as a quest with every section but tiles and csets skipped, before the title screen and after the ending. The load result is not checked."
|
||||
|
||||
- name: "cursor.bmp"
|
||||
path: "zquestclassic/assets/cursor.bmp"
|
||||
category: game_data
|
||||
system: zeldaclassic
|
||||
required: true
|
||||
bundled: true
|
||||
size: 1334
|
||||
sha1: "c7c325a4367c4d1fd620208c06f74d5aa3b77c0d"
|
||||
md5: "ff2c577a0c82e0fdfad2a60147e2bd2e"
|
||||
description: "Mouse cursor bitmap"
|
||||
source_ref: "src/zc/zc_sys.cpp:484-489"
|
||||
note: "A missing file stops the engine with \"Missing required file\"."
|
||||
|
||||
- name: "gui_pal.bmp"
|
||||
path: "zquestclassic/assets/gui_pal.bmp"
|
||||
category: game_data
|
||||
system: zeldaclassic
|
||||
required: true
|
||||
bundled: true
|
||||
size: 1334
|
||||
sha1: "15eed11eb58424bf30e0611ef8d569e353cf1d2d"
|
||||
md5: "6b1e7abab5e64cd308cddd872c9fc92d"
|
||||
description: "Bitmap whose palette becomes the GUI palette"
|
||||
source_ref: "src/zc/zelda.cpp:2073-2077"
|
||||
note: "A missing file stops the engine with \"Missing required file\"."
|
||||
|
||||
- name: "dungeon.mid"
|
||||
path: "zquestclassic/assets/dungeon.mid"
|
||||
category: game_data
|
||||
system: zeldaclassic
|
||||
required: true
|
||||
bundled: true
|
||||
size: 2506
|
||||
sha1: "3491fbaeea804845a892c5767316eb62ff655780"
|
||||
md5: "a42eb4b1baf0264669af2eacaf4fdfa5"
|
||||
description: "Built-in dungeon MIDI tune"
|
||||
source_ref: "src/zc/zc_sys.cpp:7231-7243"
|
||||
note: "The seven built-in tunes are loaded at sound init and a missing one stops the engine."
|
||||
|
||||
- name: "ending.mid"
|
||||
path: "zquestclassic/assets/ending.mid"
|
||||
category: game_data
|
||||
system: zeldaclassic
|
||||
required: true
|
||||
bundled: true
|
||||
size: 12073
|
||||
sha1: "58c35d0171d7eb887dfc29795e019087bf8d62ff"
|
||||
md5: "c006fef045caa68eac7199e7e142dd50"
|
||||
description: "Built-in ending MIDI tune"
|
||||
source_ref: "src/zc/zc_sys.cpp:7231-7243"
|
||||
note: "The seven built-in tunes are loaded at sound init and a missing one stops the engine."
|
||||
|
||||
- name: "gameover.mid"
|
||||
path: "zquestclassic/assets/gameover.mid"
|
||||
category: game_data
|
||||
system: zeldaclassic
|
||||
required: true
|
||||
bundled: true
|
||||
size: 685
|
||||
sha1: "a07d5d2b3d9eeeacd743aa3670b933d12a212943"
|
||||
md5: "065f0448f3cc7cbd0fd596a6a021809a"
|
||||
description: "Built-in gameover MIDI tune"
|
||||
source_ref: "src/zc/zc_sys.cpp:7231-7243"
|
||||
note: "The seven built-in tunes are loaded at sound init and a missing one stops the engine."
|
||||
|
||||
- name: "level9.mid"
|
||||
path: "zquestclassic/assets/level9.mid"
|
||||
category: game_data
|
||||
system: zeldaclassic
|
||||
required: true
|
||||
bundled: true
|
||||
size: 3357
|
||||
sha1: "0896077d1f5684b56728c03d893b56497e27cbb9"
|
||||
md5: "91d08c55cbdcfaf9e5d495ff731fb643"
|
||||
description: "Built-in level9 MIDI tune"
|
||||
source_ref: "src/zc/zc_sys.cpp:7231-7243"
|
||||
note: "The seven built-in tunes are loaded at sound init and a missing one stops the engine."
|
||||
|
||||
- name: "overworld.mid"
|
||||
path: "zquestclassic/assets/overworld.mid"
|
||||
category: game_data
|
||||
system: zeldaclassic
|
||||
required: true
|
||||
bundled: true
|
||||
size: 8404
|
||||
sha1: "3b33a9daf54d343fabcece898525f81675d372df"
|
||||
md5: "c1fc74de30e66e25851814570b2a454f"
|
||||
description: "Built-in overworld MIDI tune"
|
||||
source_ref: "src/zc/zc_sys.cpp:7231-7243"
|
||||
note: "The seven built-in tunes are loaded at sound init and a missing one stops the engine."
|
||||
|
||||
- name: "title.mid"
|
||||
path: "zquestclassic/assets/title.mid"
|
||||
category: game_data
|
||||
system: zeldaclassic
|
||||
required: true
|
||||
bundled: true
|
||||
size: 8601
|
||||
sha1: "2f1112a93064b5ff594f20632be5d8f6d98697d7"
|
||||
md5: "bdf775e13441cb9313e3dd92d8affdda"
|
||||
description: "Built-in title MIDI tune"
|
||||
source_ref: "src/zc/zc_sys.cpp:7231-7243"
|
||||
note: "The seven built-in tunes are loaded at sound init and a missing one stops the engine."
|
||||
|
||||
- name: "triforce.mid"
|
||||
path: "zquestclassic/assets/triforce.mid"
|
||||
category: game_data
|
||||
system: zeldaclassic
|
||||
required: true
|
||||
bundled: true
|
||||
size: 658
|
||||
sha1: "d2ec59d8621b500cbd4d1cdaee2e2fd70c7c9a82"
|
||||
md5: "13d52761144e1aa1db12e1127ef24746"
|
||||
description: "Built-in triforce MIDI tune"
|
||||
source_ref: "src/zc/zc_sys.cpp:7231-7243"
|
||||
note: "The seven built-in tunes are loaded at sound init and a missing one stops the engine."
|
||||
|
||||
- name: "190_tiles.qst"
|
||||
path: "zquestclassic/assets/190_tiles.qst"
|
||||
category: game_data
|
||||
system: zeldaclassic
|
||||
required: false
|
||||
bundled: true
|
||||
size: 162657
|
||||
sha1: "fede7b0c747de2fbafd4942ed298b21a1d87ae7e"
|
||||
md5: "e6a7e7cb51ffe8f5013972afd546f981"
|
||||
description: "Tile sheet given to old quests whose header declares no tile section"
|
||||
source_ref: "src/qst.cpp:1099-1102, 18926-18930"
|
||||
note: "Read only for such quests. A failure is logged and the quest keeps empty tiles."
|
||||
|
||||
- name: "zelda.nsf"
|
||||
path: "zquestclassic/music/zelda.nsf"
|
||||
category: game_data
|
||||
system: zeldaclassic
|
||||
required: false
|
||||
bundled: true
|
||||
size: 4932
|
||||
sha1: "004accfbd5332216d5e11dc3c69fb69db4b3a06e"
|
||||
md5: "27e1c58870428c812602295a0109c180"
|
||||
description: "NSF used for the ending and triforce music"
|
||||
source_ref: "src/zc/ending.cpp:356, src/zc/hero.cpp:31533, src/sound/zcmusic.cpp:105-128"
|
||||
note: "Searched next to the executable, next to the quest, then in their music folders. When it is not found the built-in MIDI plays."
|
||||
|
||||
- name: "gamecontrollerdb.txt"
|
||||
path: "zquestclassic/gamecontrollerdb.txt"
|
||||
category: game_data
|
||||
system: zeldaclassic
|
||||
required: false
|
||||
bundled: true
|
||||
size: 610778
|
||||
sha1: "90008fe0f95ef5bf891ceb81a743738f2fbaf526"
|
||||
md5: "0436bf6e822b020a4925e0f66cfd28e3"
|
||||
description: "SDL game controller mapping database"
|
||||
source_ref: "src/zc/zelda.cpp:4458-4462"
|
||||
note: "Read from the working directory before the joystick is installed, only when present."
|
||||
Reference in new issue
Block a user