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:
Abdessamad Derraz committed 2026-10-20 06:14:10 +02:00
1 parent 9f8a2a9fe2
commit bb19a6d5cf
2923 files changed
+525618 -109

No files matched your search

+111
View File
@@ -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"
+769
View File
@@ -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"
+784
View File
@@ -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"
+44
View File
@@ -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: []
+297
View File
@@ -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"
+238
View File
@@ -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"
+1
View File
@@ -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
+204
View File
@@ -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"
+126
View File
@@ -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"
+63
View File
@@ -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.
+206
View File
@@ -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.
+40
View File
@@ -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: []
+99
View File
@@ -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
+81
View File
@@ -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"
+39
View File
@@ -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: []
+1
View File
@@ -12,6 +12,7 @@ display_name: "DOS (DOSBox Pure Unleashed)"
cores:
- dosbox-pure-unleashed
- dosboxpure
- dosbox-pure
systems:
- dos
mode: standalone
+34
View File
@@ -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: []
+237
View File
@@ -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."
+101
View File
@@ -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"
+200
View File
@@ -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"
+64
View File
@@ -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
View File
@@ -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: |
+61
View File
@@ -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"
-1
View File
@@ -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:
+127
View File
@@ -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"
+128
View File
@@ -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"
+198
View File
@@ -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"
+82
View File
@@ -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"
+88
View File
@@ -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.
+148
View File
@@ -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"
+375
View File
@@ -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.
+29
View File
@@ -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: []
+35
View File
@@ -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: []
+416
View File
@@ -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"
+95
View File
@@ -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"
+1
View File
@@ -13,6 +13,7 @@ display_name: "Arcade (MAME)"
cores:
- mame
- imame4all
- mame64
systems:
- snk-neogeo-mvs
- snk-neogeo-aes
+489
View File
@@ -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"
+123
View File
@@ -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"
+217
View File
@@ -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)"
+192
View File
@@ -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"
+84
View File
@@ -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"
+385
View File
@@ -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"
+38
View File
@@ -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: []
+1
View File
@@ -11,6 +11,7 @@ display_name: "Sony - PlayStation 2 (PCSX2 Legacy)"
cores:
- pcsx2-legacy
- PCSX2-LEGACY
- pcsx2-16
systems:
- sony-playstation-2
mode: standalone
+55
View File
@@ -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"
+89
View File
@@ -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"
+71
View File
@@ -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.
+41
View File
@@ -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: []
+405
View File
@@ -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"
+191
View File
@@ -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"
+113
View File
@@ -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."
+277
View File
@@ -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"
+91
View File
@@ -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."
+1
View File
@@ -11,6 +11,7 @@ cores:
- rosalies-mupen-gui
- RMG
- com.github.Rosalie241.RMG
- mupen64
systems:
- nintendo-64
- nintendo-64dd
+43
View File
@@ -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."
+553
View File
@@ -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."
+44
View File
@@ -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: []
+256
View File
@@ -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"
+54
View File
@@ -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.
+481
View File
@@ -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."
+89
View File
@@ -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."
+146
View File
@@ -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."
+40
View File
@@ -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: []
+59
View File
@@ -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"
+141
View File
@@ -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"
+284
View File
@@ -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"
+82
View File
@@ -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."
+107
View File
@@ -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"
+415
View File
@@ -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"
+174
View File
@@ -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"
+530
View File
@@ -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."
+125
View File
@@ -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"
+6
View File
@@ -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: >
+153
View File
@@ -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"
+39
View File
@@ -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: []
+132
View File
@@ -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"
+247
View File
@@ -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."