mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-10 21:43:23 -05:00
feat: profile arcade and indie game engines
This commit is contained in:
1 parent
24fb0ebd33
commit
a394e93dc5
12 files changed
+1558
No files matched your search
@@ -0,0 +1,62 @@
|
||||
emulator: Abuse
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/Xenoveritas/abuse"
|
||||
upstream: "https://github.com/Xenoveritas/abuse"
|
||||
profiled_date: "2026-10-04"
|
||||
source_commit: "c855a923cd7fb27b629b4e1af78b1fcc5f263d01"
|
||||
core_version: "v0.9.1"
|
||||
display_name: "Abuse"
|
||||
cores: [abuse]
|
||||
systems: []
|
||||
verification: existence
|
||||
|
||||
notes: |
|
||||
Side-scrolling 1995 action game by Crack dot Com, SDL2 fork from the Xenoveritas
|
||||
branch. The port ships its own game data in-tree under data/ (14 MB), including
|
||||
the Lisp scripts, levels, art and freedesktop metadata; the fRaBs expansion was
|
||||
removed from this fork over licensing uncertainty.
|
||||
|
||||
Entry point abuse.lsp is loaded relative to the data directory. The data root
|
||||
is set in src/sdlport/setup.cpp:
|
||||
1. -datadir <path> CLI argument (setup.cpp:327-332)
|
||||
2. datadir= in abuse.cfg (setup.cpp:182)
|
||||
3. ASSETDIR compile-time constant, filled by CMakeLists.txt:45-54 — "." on
|
||||
Windows, abuse.app/Contents/Resources/data on macOS, share/games/abuse on
|
||||
Linux (setup.cpp:441-474)
|
||||
Loader1 reads abuse.lsp via lisp (loader2.cpp:284), which chain-loads
|
||||
lisp/english.lsp -> lisp/common.lsp -> lisp/startup.lsp -> ...
|
||||
|
||||
Batocera's packaging (package/batocera/ports/abuse/abuse.mk) pins DASSETDIR to
|
||||
/userdata/roms/abuse and splits the data into the Pacman package abuse-data
|
||||
which pulls abuse.zoy.org's abuse-data-2.00.tar.gz, a 16 MB public-domain pack
|
||||
that includes music/ and sfx/ (which the Xenoveritas tree omits).
|
||||
|
||||
No separate BIOS or firmware. The whole game is open content.
|
||||
|
||||
files:
|
||||
- name: "abuse.lsp"
|
||||
category: game_data
|
||||
description: "Lisp entry point loaded first after setting the data directory"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/loader2.cpp:284 (lsf default), src/netcfg.cpp:204 (lsf override)"
|
||||
note: >
|
||||
Shipped in the source tree under data/. Loader2 reads it via load(); the
|
||||
file in turn chain-loads the rest of the Lisp data (english.lsp,
|
||||
common.lsp, startup.lsp, options.lsp, input.lsp, startup).
|
||||
|
||||
- name: "defaults.prp"
|
||||
category: game_data
|
||||
description: "Default properties for level objects"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "data/abuse.lsp"
|
||||
|
||||
- name: "english.lsp"
|
||||
path: "lisp/english.lsp"
|
||||
category: game_data
|
||||
description: "Localized strings loaded first by abuse.lsp"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "data/abuse.lsp:9"
|
||||
@@ -0,0 +1,217 @@
|
||||
emulator: BStone
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/bibendovsky/bstone"
|
||||
upstream: "https://github.com/bibendovsky/bstone"
|
||||
profiled_date: "2026-10-04"
|
||||
source_commit: "e65a6b40b960a409d7ea840580c2431f56fb6fd4"
|
||||
core_version: "v1.3.4"
|
||||
display_name: "Blake Stone (BStone)"
|
||||
cores: [bstone]
|
||||
systems: [blake-stone]
|
||||
verification: md5
|
||||
|
||||
notes: |
|
||||
Blake Stone source port by bibendovsky, covering Aliens of Gold (shareware
|
||||
v1.0/v2.0/v2.1/v3.0 and registered v1.0/v2.0/v2.1/v3.0) plus Planet Strike.
|
||||
|
||||
The engine identifies the installed game by SHA1-hashing every file in the
|
||||
content directory against a hardcoded resource table in id_ca.cpp.
|
||||
Assets::get_aog_sw_v1_0_resources, get_aog_sw_v2_0_resources,
|
||||
get_aog_sw_v2_1_resources, get_aog_sw_v3_0_resources,
|
||||
get_aog_full_v1_0_resources through get_aog_full_v3_0_resources, and
|
||||
get_ps_resources (id_ca.cpp:1493-1687) each list one shipping variant.
|
||||
has_content() in jm_free.cpp:195-220 opens every file in the chosen set and
|
||||
fails the match on the first SHA1 mismatch.
|
||||
|
||||
Search paths come from the command line (-aog_dir, -ps_dir), the Steam install
|
||||
(bstone_steam_content_path.cpp) and the GOG install (bstone_gog_content_path.cpp)
|
||||
before the current working directory. File names carry the game suffix:
|
||||
.BS1 Aliens of Gold shareware
|
||||
.BS6 Aliens of Gold registered
|
||||
.VSI Planet Strike
|
||||
|
||||
Every file in a set is required; the game refuses to start otherwise. Levels
|
||||
are checked separately: a modded-levels hash saves to the player data instead
|
||||
of being refused (jm_free.cpp:934-946).
|
||||
|
||||
No separate BIOS. BStone requires one of the three retail/shareware data sets.
|
||||
|
||||
files:
|
||||
# ─── Aliens of Gold registered v3.0 (the common retail dump) ───
|
||||
- name: "AUDIOHED.BS6"
|
||||
category: game_data
|
||||
system: blake-stone
|
||||
description: "Aliens of Gold v3.0 audio header"
|
||||
required: true
|
||||
sha1: "e2c101f9fd4bc7e22ddbfa3f019c9303877de4e2"
|
||||
source_ref: "src/bstone/src/id_ca.cpp:1657 (get_aog_full_v3_0_resources)"
|
||||
|
||||
- name: "AUDIOT.BS6"
|
||||
category: game_data
|
||||
system: blake-stone
|
||||
description: "Aliens of Gold v3.0 audio data"
|
||||
required: true
|
||||
sha1: "b79e7afcb4e4b29e59660ec261f72ff1ab4d3a25"
|
||||
source_ref: "src/bstone/src/id_ca.cpp:1658"
|
||||
|
||||
- name: "EANIM.BS6"
|
||||
category: game_data
|
||||
system: blake-stone
|
||||
description: "Aliens of Gold v3.0 ending animation"
|
||||
required: true
|
||||
sha1: "af5af59ad7ed17517d87b3ece3c0cac23ade535b"
|
||||
source_ref: "src/bstone/src/id_ca.cpp:1659"
|
||||
|
||||
- name: "GANIM.BS6"
|
||||
category: game_data
|
||||
system: blake-stone
|
||||
description: "Aliens of Gold v3.0 gameplay animation"
|
||||
required: true
|
||||
sha1: "9b2418a1a1f34abdcf6fcd9ed3344a49912c9b5e"
|
||||
source_ref: "src/bstone/src/id_ca.cpp:1660"
|
||||
|
||||
- name: "IANIM.BS6"
|
||||
category: game_data
|
||||
system: blake-stone
|
||||
description: "Aliens of Gold v3.0 intro animation"
|
||||
required: true
|
||||
sha1: "ba1fa5b0bc34f148deffb4977a3cd1e718e91bbd"
|
||||
source_ref: "src/bstone/src/id_ca.cpp:1661"
|
||||
|
||||
- name: "MAPHEAD.BS6"
|
||||
category: game_data
|
||||
system: blake-stone
|
||||
description: "Aliens of Gold v3.0 map header"
|
||||
required: true
|
||||
sha1: "028f624e150f84ffc8336336cb0ecea0932cc22d"
|
||||
source_ref: "src/bstone/src/id_ca.cpp:1662"
|
||||
|
||||
- name: "MAPTEMP.BS6"
|
||||
category: game_data
|
||||
system: blake-stone
|
||||
description: "Aliens of Gold v3.0 level data"
|
||||
required: true
|
||||
sha1: "8b48e7eb859382a4c84948c5a62899194288e853"
|
||||
source_ref: "src/bstone/src/id_ca.cpp:1663"
|
||||
|
||||
- name: "SANIM.BS6"
|
||||
category: game_data
|
||||
system: blake-stone
|
||||
description: "Aliens of Gold v3.0 story animation"
|
||||
required: true
|
||||
sha1: "22bf818465da0f32eef9611de936cba9966b14aa"
|
||||
source_ref: "src/bstone/src/id_ca.cpp:1664"
|
||||
|
||||
- name: "VGADICT.BS6"
|
||||
category: game_data
|
||||
system: blake-stone
|
||||
description: "Aliens of Gold v3.0 huffman dictionary"
|
||||
required: true
|
||||
sha1: "60da35e506d57753f83cca5f232a76dd1cf074ba"
|
||||
source_ref: "src/bstone/src/id_ca.cpp:1665"
|
||||
|
||||
- name: "VGAGRAPH.BS6"
|
||||
category: game_data
|
||||
system: blake-stone
|
||||
description: "Aliens of Gold v3.0 compressed graphics"
|
||||
required: true
|
||||
sha1: "001037fafdff124befb5437c563d0b9c613b3c00"
|
||||
source_ref: "src/bstone/src/id_ca.cpp:1666"
|
||||
|
||||
- name: "VGAHEAD.BS6"
|
||||
category: game_data
|
||||
system: blake-stone
|
||||
description: "Aliens of Gold v3.0 graphics offsets"
|
||||
required: true
|
||||
sha1: "ff165ca5924d738853587a7e4ab1cd239e10e359"
|
||||
source_ref: "src/bstone/src/id_ca.cpp:1667"
|
||||
|
||||
- name: "VSWAP.BS6"
|
||||
category: game_data
|
||||
system: blake-stone
|
||||
description: "Aliens of Gold v3.0 wall and sprite data"
|
||||
required: true
|
||||
sha1: "6fcc6e007b02b2e55892cfa7acfd42966ef9c9fb"
|
||||
source_ref: "src/bstone/src/id_ca.cpp:1668"
|
||||
|
||||
# ─── Planet Strike (only one shipping version) ───
|
||||
- name: "AUDIOHED.VSI"
|
||||
category: game_data
|
||||
system: blake-stone
|
||||
description: "Planet Strike audio header"
|
||||
required: false
|
||||
sha1: "2ed9a587926b2b455f8176788f595d03f6359171"
|
||||
source_ref: "src/bstone/src/id_ca.cpp:1696 (get_ps_resources)"
|
||||
|
||||
- name: "AUDIOT.VSI"
|
||||
category: game_data
|
||||
system: blake-stone
|
||||
description: "Planet Strike audio data"
|
||||
required: false
|
||||
sha1: "ecac8a800c5d021c8b68d170066c8859df9bd79a"
|
||||
source_ref: "src/bstone/src/id_ca.cpp:1697"
|
||||
|
||||
- name: "EANIM.VSI"
|
||||
category: game_data
|
||||
system: blake-stone
|
||||
description: "Planet Strike ending animation"
|
||||
required: false
|
||||
sha1: "b668330e56ceb069c1b972cefddd8a3d618a14af"
|
||||
source_ref: "src/bstone/src/id_ca.cpp:1698"
|
||||
|
||||
- name: "IANIM.VSI"
|
||||
category: game_data
|
||||
system: blake-stone
|
||||
description: "Planet Strike intro animation"
|
||||
required: false
|
||||
sha1: "ba1fa5b0bc34f148deffb4977a3cd1e718e91bbd"
|
||||
source_ref: "src/bstone/src/id_ca.cpp:1699"
|
||||
|
||||
- name: "MAPHEAD.VSI"
|
||||
category: game_data
|
||||
system: blake-stone
|
||||
description: "Planet Strike map header"
|
||||
required: false
|
||||
sha1: "c3fb0a9b81e0240d12c952fe5b57b78c1108aa48"
|
||||
source_ref: "src/bstone/src/id_ca.cpp:1700"
|
||||
|
||||
- name: "MAPTEMP.VSI"
|
||||
category: game_data
|
||||
system: blake-stone
|
||||
description: "Planet Strike level data"
|
||||
required: false
|
||||
sha1: "acd03031d526eeaee64072518adf6814f96e2a37"
|
||||
source_ref: "src/bstone/src/id_ca.cpp:1701"
|
||||
|
||||
- name: "VGADICT.VSI"
|
||||
category: game_data
|
||||
system: blake-stone
|
||||
description: "Planet Strike huffman dictionary"
|
||||
required: false
|
||||
sha1: "061692d166f68d7e0b81568725439078cc728f33"
|
||||
source_ref: "src/bstone/src/id_ca.cpp:1702"
|
||||
|
||||
- name: "VGAGRAPH.VSI"
|
||||
category: game_data
|
||||
system: blake-stone
|
||||
description: "Planet Strike compressed graphics"
|
||||
required: false
|
||||
sha1: "e619a3e6245f79888da5436df138d63204d2caba"
|
||||
source_ref: "src/bstone/src/id_ca.cpp:1703"
|
||||
|
||||
- name: "VGAHEAD.VSI"
|
||||
category: game_data
|
||||
system: blake-stone
|
||||
description: "Planet Strike graphics offsets"
|
||||
required: false
|
||||
sha1: "ad5fed9de5d1d82145df3ff2286e4bc62cb80e2a"
|
||||
source_ref: "src/bstone/src/id_ca.cpp:1704"
|
||||
|
||||
- name: "VSWAP.VSI"
|
||||
category: game_data
|
||||
system: blake-stone
|
||||
description: "Planet Strike wall and sprite data"
|
||||
required: false
|
||||
sha1: "4113ce83c42e69dc5cb20de79f41971a100f876e"
|
||||
source_ref: "src/bstone/src/id_ca.cpp:1705"
|
||||
@@ -0,0 +1,285 @@
|
||||
emulator: CatacombGL
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/ArnoAnsems/CatacombGL"
|
||||
upstream: "https://github.com/ArnoAnsems/CatacombGL"
|
||||
profiled_date: "2026-10-04"
|
||||
source_commit: "fc0e70bf69276939d8f2b02a9dd89817263095e5"
|
||||
core_version: "0.5.5"
|
||||
display_name: "Catacomb 3-D (CatacombGL)"
|
||||
cores: [catacombgl]
|
||||
systems: [catacomb-3d, catacomb-adventure]
|
||||
verification: existence
|
||||
|
||||
notes: |
|
||||
OpenGL source port by Arno Ansems of id Software's Catacomb Adventure series:
|
||||
- Catacomb 3-D: The Descent (.C3D)
|
||||
- Catacomb Abyss (.ABS) — three releases v1.12 / v1.13 / v1.24
|
||||
- Catacomb Armageddon (.ARM)
|
||||
- Catacomb Apocalypse (.APC)
|
||||
|
||||
The engine detects which game a search path points at by matching every
|
||||
filename and byte-size against a hardcoded map in src/<game>/GameDetection
|
||||
<game>.h. GameDetectionAbyss.h, GameDetectionArmageddon.h,
|
||||
GameDetectionApocalypse.h and GameDetectionCatacomb3D.h declare the
|
||||
<game>Files* std::map<std::string, uint32_t> tables used by
|
||||
src/Engine/GameDetection.cpp.
|
||||
|
||||
Files are matched by exact byte size at this layer; the loaders downstream
|
||||
then open each by name through src/Engine/EngineCore.cpp. Catacomb Abyss has
|
||||
three distinct file sets (v1.12, v1.13, v1.24), and Catacomb 3-D has v1.00
|
||||
and v1.22.
|
||||
|
||||
Each supported game sits in its own directory, picked by the user through
|
||||
the game selection menu (src/Engine/GameSelection.cpp). No separate BIOS is
|
||||
needed — the retail / shareware DOS data files are the only requirement.
|
||||
|
||||
The Catacomb Adventure Series releases (Abyss shareware, Armageddon,
|
||||
Apocalypse) were made freeware by Flat Rock Software and are distributed by
|
||||
3D Realms. Catacomb 3-D was released as shareware; the registered v1.22 data
|
||||
is commercial.
|
||||
|
||||
files:
|
||||
# ─── Catacomb 3-D v1.22 (registered) ───
|
||||
- name: "AUDIO.C3D"
|
||||
category: game_data
|
||||
system: catacomb-3d
|
||||
description: "Catacomb 3-D audio chunks"
|
||||
required: false
|
||||
size: 5062
|
||||
source_ref: "src/Catacomb3D/GameDetectionCatacomb3D.h:36 (catacomb3Dv122Files)"
|
||||
|
||||
- name: "EGAGRAPH.C3D"
|
||||
category: game_data
|
||||
system: catacomb-3d
|
||||
description: "Catacomb 3-D v1.22 EGA graphics"
|
||||
required: false
|
||||
size: 256899
|
||||
source_ref: "src/Catacomb3D/GameDetectionCatacomb3D.h:37"
|
||||
|
||||
- name: "GAMEMAPS.C3D"
|
||||
category: game_data
|
||||
system: catacomb-3d
|
||||
description: "Catacomb 3-D v1.22 level data"
|
||||
required: false
|
||||
size: 14288
|
||||
source_ref: "src/Catacomb3D/GameDetectionCatacomb3D.h:38"
|
||||
|
||||
# ─── Catacomb Abyss v1.24 (final shareware) ───
|
||||
- name: "AUDIO.ABS"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Abyss v1.24 audio"
|
||||
required: false
|
||||
size: 6904
|
||||
source_ref: "src/Abyss/GameDetectionAbyss.h (abyssFilesv124)"
|
||||
|
||||
- name: "EGAGRAPH.ABS"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Abyss v1.24 EGA graphics"
|
||||
required: false
|
||||
size: 335994
|
||||
source_ref: "src/Abyss/GameDetectionAbyss.h (abyssFilesv124)"
|
||||
|
||||
- name: "GAMEMAPS.ABS"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Abyss v1.24 level data"
|
||||
required: false
|
||||
size: 20433
|
||||
source_ref: "src/Abyss/GameDetectionAbyss.h (abyssFilesv124)"
|
||||
|
||||
- name: "SHP01.ABS"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Abyss shapes bank 1"
|
||||
required: false
|
||||
size: 1376
|
||||
source_ref: "src/Abyss/GameDetectionAbyss.h (abyssFilesv124)"
|
||||
|
||||
- name: "SHP02.ABS"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Abyss shapes bank 2"
|
||||
required: false
|
||||
size: 14912
|
||||
source_ref: "src/Abyss/GameDetectionAbyss.h (abyssFilesv124)"
|
||||
|
||||
- name: "SHP03.ABS"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Abyss shapes bank 3"
|
||||
required: false
|
||||
size: 13186
|
||||
source_ref: "src/Abyss/GameDetectionAbyss.h (abyssFilesv124)"
|
||||
|
||||
- name: "SHP04.ABS"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Abyss shapes bank 4"
|
||||
required: false
|
||||
size: 12648
|
||||
source_ref: "src/Abyss/GameDetectionAbyss.h (abyssFilesv124)"
|
||||
|
||||
- name: "SHP05.ABS"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Abyss shapes bank 5"
|
||||
required: false
|
||||
size: 724
|
||||
source_ref: "src/Abyss/GameDetectionAbyss.h (abyssFilesv124)"
|
||||
|
||||
- name: "SHP06.ABS"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Abyss shapes bank 6"
|
||||
required: false
|
||||
size: 9182
|
||||
source_ref: "src/Abyss/GameDetectionAbyss.h (abyssFilesv124)"
|
||||
|
||||
# ─── Catacomb Armageddon ───
|
||||
- name: "AUDIO.ARM"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Armageddon audio"
|
||||
required: false
|
||||
size: 7104
|
||||
source_ref: "src/Armageddon/GameDetectionArmageddon.h (armageddonFiles)"
|
||||
|
||||
- name: "EGAGRAPH.ARM"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Armageddon EGA graphics"
|
||||
required: false
|
||||
size: 355832
|
||||
source_ref: "src/Armageddon/GameDetectionArmageddon.h (armageddonFiles)"
|
||||
|
||||
- name: "GAMEMAPS.ARM"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Armageddon level data"
|
||||
required: false
|
||||
size: 17653
|
||||
source_ref: "src/Armageddon/GameDetectionArmageddon.h (armageddonFiles)"
|
||||
|
||||
- name: "SHP1.ARM"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Armageddon shapes bank 1"
|
||||
required: false
|
||||
size: 1376
|
||||
source_ref: "src/Armageddon/GameDetectionArmageddon.h (armageddonFiles)"
|
||||
|
||||
- name: "SHP2.ARM"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Armageddon shapes bank 2"
|
||||
required: false
|
||||
size: 3991
|
||||
source_ref: "src/Armageddon/GameDetectionArmageddon.h (armageddonFiles)"
|
||||
|
||||
- name: "SHP3.ARM"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Armageddon shapes bank 3"
|
||||
required: false
|
||||
size: 15036
|
||||
source_ref: "src/Armageddon/GameDetectionArmageddon.h (armageddonFiles)"
|
||||
|
||||
- name: "SHP4.ARM"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Armageddon shapes bank 4"
|
||||
required: false
|
||||
size: 15568
|
||||
source_ref: "src/Armageddon/GameDetectionArmageddon.h (armageddonFiles)"
|
||||
|
||||
- name: "SHP5.ARM"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Armageddon shapes bank 5"
|
||||
required: false
|
||||
size: 13234
|
||||
source_ref: "src/Armageddon/GameDetectionArmageddon.h (armageddonFiles)"
|
||||
|
||||
- name: "SHP6.ARM"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Armageddon shapes bank 6"
|
||||
required: false
|
||||
size: 10861
|
||||
source_ref: "src/Armageddon/GameDetectionArmageddon.h (armageddonFiles)"
|
||||
|
||||
# ─── Catacomb Apocalypse ───
|
||||
- name: "AUDIO.APC"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Apocalypse audio"
|
||||
required: false
|
||||
size: 7366
|
||||
source_ref: "src/Apocalypse/GameDetectionApocalypse.h (apocalypseFiles)"
|
||||
|
||||
- name: "EGAGRAPH.APC"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Apocalypse EGA graphics"
|
||||
required: false
|
||||
size: 382078
|
||||
source_ref: "src/Apocalypse/GameDetectionApocalypse.h (apocalypseFiles)"
|
||||
|
||||
- name: "GAMEMAPS.APC"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Apocalypse level data"
|
||||
required: false
|
||||
size: 18855
|
||||
source_ref: "src/Apocalypse/GameDetectionApocalypse.h (apocalypseFiles)"
|
||||
|
||||
- name: "SHP1.APC"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Apocalypse shapes bank 1"
|
||||
required: false
|
||||
size: 1376
|
||||
source_ref: "src/Apocalypse/GameDetectionApocalypse.h (apocalypseFiles)"
|
||||
|
||||
- name: "SHP2.APC"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Apocalypse shapes bank 2"
|
||||
required: false
|
||||
size: 6329
|
||||
source_ref: "src/Apocalypse/GameDetectionApocalypse.h (apocalypseFiles)"
|
||||
|
||||
- name: "SHP3.APC"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Apocalypse shapes bank 3"
|
||||
required: false
|
||||
size: 13187
|
||||
source_ref: "src/Apocalypse/GameDetectionApocalypse.h (apocalypseFiles)"
|
||||
|
||||
- name: "SHP4.APC"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Apocalypse shapes bank 4"
|
||||
required: false
|
||||
size: 13592
|
||||
source_ref: "src/Apocalypse/GameDetectionApocalypse.h (apocalypseFiles)"
|
||||
|
||||
- name: "SHP5.APC"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Apocalypse shapes bank 5"
|
||||
required: false
|
||||
size: 12698
|
||||
source_ref: "src/Apocalypse/GameDetectionApocalypse.h (apocalypseFiles)"
|
||||
|
||||
- name: "SHP6.APC"
|
||||
category: game_data
|
||||
system: catacomb-adventure
|
||||
description: "Catacomb Apocalypse shapes bank 6"
|
||||
required: false
|
||||
size: 11131
|
||||
source_ref: "src/Apocalypse/GameDetectionApocalypse.h (apocalypseFiles)"
|
||||
@@ -0,0 +1,135 @@
|
||||
emulator: C-Dogs SDL
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/cxong/cdogs-sdl"
|
||||
upstream: "https://github.com/cxong/cdogs-sdl"
|
||||
profiled_date: "2026-10-04"
|
||||
source_commit: "57782a74ae245d868487094d201d0e56e94a9390"
|
||||
core_version: "2.4.0"
|
||||
display_name: "C-Dogs"
|
||||
cores: [cdogs, cdogs-sdl]
|
||||
systems: []
|
||||
verification: existence
|
||||
|
||||
notes: |
|
||||
Top-down shooter engine, open-source remake of the DOS C-Dogs by Ronny Wester.
|
||||
Ships every asset it needs in-tree: data/, graphics/, missions/, music/,
|
||||
sounds/, dogfights/, doc/, wiki/ (about 100 MB).
|
||||
|
||||
The data root is baked into the binary via -DCDOGS_DATA_DIR (CMakeLists.txt
|
||||
option). Batocera sets it to /userdata/roms/cdogs/; the Linux source default
|
||||
is cdogs-data. GetDataFilePath() in src/cdogs/utils.c:392 either returns an
|
||||
absolute override as-is, or joins the current working directory with
|
||||
CDOGS_DATA_DIR plus the requested relative path.
|
||||
|
||||
Top-level sub-trees the game pulls files from (every path is relative to
|
||||
CDOGS_DATA_DIR, resolved through GetDataFilePath):
|
||||
data/ — ammo.json, bullets.json, guns.json, pickups.json,
|
||||
map_objects.json, character_classes.json, particles.json,
|
||||
gamecontrollerdb.txt, prefixes.txt (configuration data)
|
||||
graphics/ — sprites, font, icons; grafx.c:92 (cdogs_icon.bmp),
|
||||
grafx.c:156 (font.png + font.json)
|
||||
missions/ — single-player campaigns, mission packs (JSON)
|
||||
music/ — menu, briefing, game, end, lose, victory tracks
|
||||
(music.c:45-50 LoadMusic calls)
|
||||
sounds/ — sfx wavs
|
||||
dogfights/ — deathmatch arenas
|
||||
|
||||
All open-source content (GPL-2.0). No separate BIOS or retail data required.
|
||||
|
||||
files:
|
||||
- name: "ammo.json"
|
||||
path: "data/ammo.json"
|
||||
category: game_data
|
||||
description: "Ammo type definitions"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/cdogs/ammo.c (AmmoLoadJSON reads data/ammo.json)"
|
||||
|
||||
- name: "bullets.json"
|
||||
path: "data/bullets.json"
|
||||
category: game_data
|
||||
description: "Bullet behaviour definitions"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/cdogs/weapon_class.c (BulletsLoadJSON)"
|
||||
|
||||
- name: "guns.json"
|
||||
path: "data/guns.json"
|
||||
category: game_data
|
||||
description: "Weapon definitions"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/cdogs/weapon_class.c"
|
||||
|
||||
- name: "character_classes.json"
|
||||
path: "data/character_classes.json"
|
||||
category: game_data
|
||||
description: "Character class definitions"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/cdogs/character_class.c"
|
||||
|
||||
- name: "map_objects.json"
|
||||
path: "data/map_objects.json"
|
||||
category: game_data
|
||||
description: "Interactive map object definitions"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/cdogs/map_object.c"
|
||||
|
||||
- name: "particles.json"
|
||||
path: "data/particles.json"
|
||||
category: game_data
|
||||
description: "Particle effect definitions"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/cdogs/particle.c"
|
||||
|
||||
- name: "pickups.json"
|
||||
path: "data/pickups.json"
|
||||
category: game_data
|
||||
description: "Pickup item definitions"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/cdogs/pickup_class.c"
|
||||
|
||||
- name: "prefixes.txt"
|
||||
path: "data/prefixes.txt"
|
||||
category: game_data
|
||||
description: "Random name generation prefixes"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/cdogs/character.c"
|
||||
|
||||
- name: "gamecontrollerdb.txt"
|
||||
path: "data/gamecontrollerdb.txt"
|
||||
category: game_data
|
||||
description: "SDL gamecontroller mapping database"
|
||||
required: false
|
||||
bundled: true
|
||||
source_ref: "src/cdogs/joystick.c:43"
|
||||
|
||||
- name: "font.png"
|
||||
path: "graphics/font.png"
|
||||
category: game_data
|
||||
description: "Main bitmap font"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/cdogs/grafx.c:156 (FontLoadFromJSON)"
|
||||
|
||||
- name: "font.json"
|
||||
path: "graphics/font.json"
|
||||
category: game_data
|
||||
description: "Main bitmap font layout"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/cdogs/grafx.c:156"
|
||||
|
||||
- name: "cdogs_icon.bmp"
|
||||
path: "graphics/cdogs_icon.bmp"
|
||||
category: game_data
|
||||
description: "Window icon"
|
||||
required: false
|
||||
bundled: true
|
||||
source_ref: "src/cdogs/grafx.c:92"
|
||||
@@ -0,0 +1,198 @@
|
||||
emulator: Commander Genius
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://gitlab.com/Dringgstein/Commander-Genius"
|
||||
upstream: "https://gitlab.com/Dringgstein/Commander-Genius"
|
||||
profiled_date: "2026-10-04"
|
||||
source_commit: "bee4fcbd235b9d3d804a50cc6ecaccbbe89490f7"
|
||||
core_version: "v3.6.3"
|
||||
display_name: "Commander Genius"
|
||||
cores: [cgenius]
|
||||
systems: [commander-keen]
|
||||
verification: existence
|
||||
|
||||
notes: |
|
||||
Open-source reimplementation of the Commander Keen engines (Vorticon, Galaxy,
|
||||
Dreams) and the Cosmo engine, by Gerstrong. Needs the original Commander Keen
|
||||
data files from the user; the engine itself ships with a 876 KB vfsroot (UI
|
||||
art, fonts, sounds) that is not a BIOS and is bundled with the binary.
|
||||
|
||||
For each supported game, Commander Genius expects a flat directory under its
|
||||
"games/" tree containing the original DOS data files. KeenFiles::setupFilenames
|
||||
(src/fileio/KeenFiles.h:36-57) names them by episode number:
|
||||
|
||||
Vorticon trilogy (episodes 1-3, Keen 1/2/3)
|
||||
egagraph.ck{N}, egahead.ck{N}, egadict.ck{N},
|
||||
audio.ck{N}, audiohed.ck{N}, audiodct.ck{N},
|
||||
gamemaps.ck{N}, maphead.ck{N}
|
||||
Galaxy trilogy (episodes 4-6, Keen 4/5/6)
|
||||
same naming, {N} = 4..6
|
||||
Keen Dreams (episode 7, "KDREAMS")
|
||||
KDREAMSDICT.EGA, KDREAMS.AUD, AUDIODCT.KDR, AUDIOHHD.KDR, plus KDREAMS.EXE
|
||||
(CExeFile.cpp:190-195 reads kdreams.exe to extract the Dreams tiles)
|
||||
|
||||
Episode 1-6 shareware and demo files are freely redistributable under the
|
||||
Apogee/3D Realms terms; the registered Keen 4-6 and Keen Dreams data remain
|
||||
commercial. CPatcher.cpp:129-140 lets a patch file override the default names
|
||||
so GOG/Steam variants work in-place.
|
||||
|
||||
cosmos engine (added as a git submodule by the build) looks for Cosmo's
|
||||
Cosmic Adventures data (COSMOx.STN, VOLUMES.STN, etc.) using the same
|
||||
directory-per-game layout; those files are not profiled here because the
|
||||
cosmos sub-engine is a separate upstream (Dringgstein/cosmos, pinned to
|
||||
8497b5696c92b13ede4f5ad01dfb577b208404cb by cgenius.mk).
|
||||
|
||||
Game directories are searched under the user's roms root. The engine then
|
||||
loads from vfsroot/global/ at startup — fonts, trophy UI, generic sounds —
|
||||
which is bundled with the install, not with the Keen data.
|
||||
|
||||
files:
|
||||
# ─── Keen 1: Marooned on Mars (shareware, freely distributable) ───
|
||||
- name: "egahead.ck1"
|
||||
category: game_data
|
||||
system: commander-keen
|
||||
description: "Keen 1 EGA graphics header"
|
||||
required: false
|
||||
source_ref: "src/fileio/KeenFiles.h:42 (egaheadFilename = egahead.ckN)"
|
||||
|
||||
- name: "egagraph.ck1"
|
||||
category: game_data
|
||||
system: commander-keen
|
||||
description: "Keen 1 EGA graphics data"
|
||||
required: false
|
||||
source_ref: "src/fileio/KeenFiles.h:41"
|
||||
|
||||
- name: "egadict.ck1"
|
||||
category: game_data
|
||||
system: commander-keen
|
||||
description: "Keen 1 EGA huffman dictionary"
|
||||
required: false
|
||||
source_ref: "src/fileio/KeenFiles.h:43"
|
||||
|
||||
- name: "audio.ck1"
|
||||
category: game_data
|
||||
system: commander-keen
|
||||
description: "Keen 1 audio data"
|
||||
required: false
|
||||
source_ref: "src/fileio/KeenFiles.h:44"
|
||||
|
||||
- name: "audiohed.ck1"
|
||||
category: game_data
|
||||
system: commander-keen
|
||||
description: "Keen 1 audio header"
|
||||
required: false
|
||||
source_ref: "src/fileio/KeenFiles.h:45"
|
||||
|
||||
- name: "audiodct.ck1"
|
||||
category: game_data
|
||||
system: commander-keen
|
||||
description: "Keen 1 audio dictionary"
|
||||
required: false
|
||||
source_ref: "src/fileio/KeenFiles.h:46"
|
||||
|
||||
- name: "gamemaps.ck1"
|
||||
category: game_data
|
||||
system: commander-keen
|
||||
description: "Keen 1 level data"
|
||||
required: false
|
||||
source_ref: "src/fileio/KeenFiles.h:47"
|
||||
|
||||
- name: "maphead.ck1"
|
||||
category: game_data
|
||||
system: commander-keen
|
||||
description: "Keen 1 level header"
|
||||
required: false
|
||||
source_ref: "src/fileio/KeenFiles.h:48"
|
||||
|
||||
# ─── Keen 4: Secret of the Oracle (full version, Galaxy episode 1) ───
|
||||
- name: "egahead.ck4"
|
||||
category: game_data
|
||||
system: commander-keen
|
||||
description: "Keen 4 EGA graphics header"
|
||||
required: false
|
||||
source_ref: "src/fileio/KeenFiles.h:42"
|
||||
|
||||
- name: "egagraph.ck4"
|
||||
category: game_data
|
||||
system: commander-keen
|
||||
description: "Keen 4 EGA graphics data"
|
||||
required: false
|
||||
source_ref: "src/fileio/KeenFiles.h:41"
|
||||
|
||||
- name: "egadict.ck4"
|
||||
category: game_data
|
||||
system: commander-keen
|
||||
description: "Keen 4 EGA huffman dictionary"
|
||||
required: false
|
||||
source_ref: "src/fileio/KeenFiles.h:43"
|
||||
|
||||
- name: "audio.ck4"
|
||||
category: game_data
|
||||
system: commander-keen
|
||||
description: "Keen 4 audio data"
|
||||
required: false
|
||||
source_ref: "src/fileio/KeenFiles.h:44"
|
||||
|
||||
- name: "audiohed.ck4"
|
||||
category: game_data
|
||||
system: commander-keen
|
||||
description: "Keen 4 audio header"
|
||||
required: false
|
||||
source_ref: "src/fileio/KeenFiles.h:45"
|
||||
|
||||
- name: "audiodct.ck4"
|
||||
category: game_data
|
||||
system: commander-keen
|
||||
description: "Keen 4 audio dictionary"
|
||||
required: false
|
||||
source_ref: "src/fileio/KeenFiles.h:46"
|
||||
|
||||
- name: "gamemaps.ck4"
|
||||
category: game_data
|
||||
system: commander-keen
|
||||
description: "Keen 4 level data"
|
||||
required: false
|
||||
source_ref: "src/fileio/KeenFiles.h:47"
|
||||
|
||||
- name: "maphead.ck4"
|
||||
category: game_data
|
||||
system: commander-keen
|
||||
description: "Keen 4 level header"
|
||||
required: false
|
||||
source_ref: "src/fileio/KeenFiles.h:48"
|
||||
|
||||
# ─── Keen Dreams (episode 7) ───
|
||||
- name: "KDREAMS.EXE"
|
||||
category: game_data
|
||||
system: commander-keen
|
||||
description: "Keen Dreams executable (CExeFile reads embedded tiles)"
|
||||
required: false
|
||||
source_ref: "src/fileio/CExeFile.cpp:190-195"
|
||||
|
||||
- name: "KDREAMSDICT.EGA"
|
||||
category: game_data
|
||||
system: commander-keen
|
||||
description: "Keen Dreams EGA huffman dictionary"
|
||||
required: false
|
||||
source_ref: "src/fileio/KeenFiles.h:52"
|
||||
|
||||
- name: "KDREAMS.AUD"
|
||||
category: game_data
|
||||
system: commander-keen
|
||||
description: "Keen Dreams audio data"
|
||||
required: false
|
||||
source_ref: "src/fileio/KeenFiles.h:53"
|
||||
|
||||
- name: "AUDIODCT.KDR"
|
||||
category: game_data
|
||||
system: commander-keen
|
||||
description: "Keen Dreams audio dictionary"
|
||||
required: false
|
||||
source_ref: "src/fileio/KeenFiles.h:54"
|
||||
|
||||
- name: "AUDIOHHD.KDR"
|
||||
category: game_data
|
||||
system: commander-keen
|
||||
description: "Keen Dreams audio header"
|
||||
required: false
|
||||
source_ref: "src/fileio/KeenFiles.h:55"
|
||||
@@ -0,0 +1,137 @@
|
||||
emulator: piFBA (fba2x)
|
||||
type: standalone
|
||||
core_classification: frozen_snapshot
|
||||
source: "https://github.com/recalbox/pifba"
|
||||
upstream: "https://github.com/finalburn/fbalpha-fork"
|
||||
profiled_date: "2026-10-04"
|
||||
source_commit: "419faa7c3967560f6fa149f2f78b5aedca5b123a"
|
||||
core_version: "0.2.97.x"
|
||||
display_name: "Arcade (piFBA / fba2x)"
|
||||
cores: [fba2x, pifba]
|
||||
systems:
|
||||
- arcade
|
||||
- snk-neogeo-mvs
|
||||
- snk-neogeo-aes
|
||||
- capcom-cps1
|
||||
- capcom-cps2
|
||||
- capcom-cps3
|
||||
- igs-pgm
|
||||
verification: md5
|
||||
|
||||
archive_prefix: fbneo
|
||||
|
||||
notes: |
|
||||
Recalbox's standalone ARM port of Final Burn Alpha, lineage pifba (originally
|
||||
by Franxis / Oopsware for the GP2X, modernised to SDL2 by Recalbox). The
|
||||
binary is installed as fba2x and runs with a ZIP path on the command line
|
||||
(rpi/main.cpp:187 — "Usage: fba2x <path to rom><shortname>.zip").
|
||||
|
||||
BIOS and ROM archives are resolved relative to szAppRomPath, hardcoded to
|
||||
"roms/" in rpi/bzip.cpp:4 and overridden only through the rom path argument.
|
||||
BzipOpen (rpi/bzip.cpp:355-394) iterates BurnDrvGetZipName(z) for every
|
||||
BIOS/parent slot and opens "<roms/><name>" directly — no fallback
|
||||
directory walking.
|
||||
|
||||
Shared BIOS ROM sets flagged BDF_BOARDROM in the driver source:
|
||||
- neogeo (burn/neogeo/d_neogeo.cpp) — SNK Neo Geo system BIOS
|
||||
- pgm (burn/pgm/d_pgm.cpp) — IGS PGM board BIOS
|
||||
|
||||
CPS1 and CPS2 titles embed their program/encryption ROMs directly in each
|
||||
game archive — no CPS board BIOS zip. CPS3 (burn/cps3/d_cps3.cpp) carries
|
||||
the SH-2 BIOS as a BRF_BIOS member of each game's archive (red-earth,
|
||||
jojo, sfiii, etc.), so there is no shared cps3.zip here either.
|
||||
|
||||
pifba is a FROZEN snapshot of Final Burn Alpha 0.2.97.x with ARM-specific
|
||||
speedhacks (NEOGEO_HACKS, OOPSWARE_FIX, USE_SPEEDHACKS) and a reduced driver
|
||||
set compared with upstream FBA / FBNeo: 32 BIOS entries in d_neogeo.cpp vs
|
||||
~45 in modern FBNeo, no newer Neo Geo UniBios revisions (uni-bios.10 through
|
||||
uni-bios.13 are commented out), no Hyper Street Fighter 2 refresh, and no
|
||||
SNK Hyper NeoGeo 64. Keep this separate from fbalpha2012 (libretro port of
|
||||
the same base) because it does not share binaries or load behaviour.
|
||||
|
||||
files:
|
||||
# ─── Neo Geo system BIOS (archive: neogeo.zip) ───
|
||||
- name: "neogeo.zip"
|
||||
category: bios_zip
|
||||
system: snk-neogeo-mvs
|
||||
description: "SNK Neo Geo system BIOS ROM set"
|
||||
required: true
|
||||
archive: neogeo
|
||||
source_ref: "burn/neogeo/d_neogeo.cpp:923 (BurnDrvneogeo, BDF_BOARDROM)"
|
||||
contents:
|
||||
- name: "vs-bios.rom"
|
||||
size: 131072
|
||||
crc32: "f0e8f27d"
|
||||
- name: "usa_2slt.bin"
|
||||
size: 131072
|
||||
crc32: "e72943de"
|
||||
- name: "asia-s3.rom"
|
||||
size: 131072
|
||||
crc32: "91b64be3"
|
||||
- name: "sp1.jipan.1024"
|
||||
size: 131072
|
||||
crc32: "9fb0abe4"
|
||||
- name: "neo-po.bin"
|
||||
size: 131072
|
||||
crc32: "16d0c132"
|
||||
- name: "neo-epo.bin"
|
||||
size: 131072
|
||||
crc32: "d27a71f1"
|
||||
- name: "neodebug.bin"
|
||||
size: 131072
|
||||
crc32: "698ebb7d"
|
||||
- name: "sp-s2.sp1"
|
||||
size: 131072
|
||||
crc32: "9036d879"
|
||||
- name: "uni-bios.rom"
|
||||
size: 131072
|
||||
crc32: "2d50996a"
|
||||
- name: "sp-e.sp1"
|
||||
size: 131072
|
||||
crc32: "2723a5b5"
|
||||
- name: "sp-j2.rom"
|
||||
size: 131072
|
||||
crc32: "acede59c"
|
||||
- name: "sp-s.sp1"
|
||||
size: 131072
|
||||
crc32: "c7f2fa45"
|
||||
- name: "sm1.sm1"
|
||||
size: 131072
|
||||
crc32: "97cf998b"
|
||||
- name: "sfix.sfx"
|
||||
size: 131072
|
||||
crc32: "354029fc"
|
||||
- name: "000-lo.lo"
|
||||
size: 65536
|
||||
crc32: "e09e253c"
|
||||
- name: "236-bios.bin"
|
||||
size: 131072
|
||||
crc32: "853e6b96"
|
||||
- name: "268-bios.bin"
|
||||
size: 524288
|
||||
crc32: "b4590283"
|
||||
- name: "sp-4x.sp1"
|
||||
size: 524288
|
||||
crc32: "b4590283"
|
||||
- name: "271-bios.bin"
|
||||
size: 524288
|
||||
crc32: "148dd727"
|
||||
|
||||
# ─── PGM board BIOS (archive: pgm.zip) ───
|
||||
- name: "pgm.zip"
|
||||
category: bios_zip
|
||||
system: igs-pgm
|
||||
description: "IGS PGM (Polygame Master) System BIOS ROM set"
|
||||
required: true
|
||||
archive: pgm
|
||||
source_ref: "burn/pgm/d_pgm.cpp:255 (BurnDrvpgm, BDF_BOARDROM)"
|
||||
contents:
|
||||
- name: "pgm_p01s.rom"
|
||||
size: 131072
|
||||
crc32: "e42b166e"
|
||||
- name: "pgm_t01s.rom"
|
||||
size: 2097152
|
||||
crc32: "1a7123a0"
|
||||
- name: "pgm_m01s.rom"
|
||||
size: 2097152
|
||||
crc32: "45ae7159"
|
||||
@@ -0,0 +1,88 @@
|
||||
emulator: Hydra Castle Labyrinth
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/ptitSeb/hydracastlelabyrinth"
|
||||
upstream: "https://github.com/ptitSeb/hydracastlelabyrinth"
|
||||
profiled_date: "2026-10-04"
|
||||
source_commit: "e31648688434a789e3056e52cdf1b9a842eeed48"
|
||||
core_version: ~
|
||||
display_name: "Hydra Castle Labyrinth (hcl)"
|
||||
cores: [hcl]
|
||||
systems: []
|
||||
verification: existence
|
||||
|
||||
notes: |
|
||||
Open-source port of E. Hashimoto's 2008 Japanese freeware Metroidvania Hydra
|
||||
Castle Labyrinth. ptitSeb's SDL/SDL2/SDL3 fork is used by batocera (the
|
||||
package batocera/ports/hcl pins HCL_VERSION to this commit).
|
||||
|
||||
The engine opens every data file from a relative "data/" prefix hard-coded
|
||||
in the sources:
|
||||
- qda.c:19 — strcpy(fullPath, "data/") before appending qda chunk names
|
||||
- hero.c:202 — fopen("data/save.tmp", "rb")
|
||||
- sdl2/audio.c:30 — strcpy(buff, "data/") before midi/wav loads
|
||||
- sdl2/graphics.c, sdl3/graphics.c — fopen("data/bmp.qda", "rb")
|
||||
- game.h:184 — savename macro = "data/save.tmp"
|
||||
Save files are rewritten in that same relative data/ tree, so the game must
|
||||
be launched from a working directory that contains data/ (batocera copies
|
||||
the shipped data/ beside the binary).
|
||||
|
||||
The 31 MB data/ tree is shipped in the source repository and is open content.
|
||||
Nothing else is required.
|
||||
|
||||
files:
|
||||
- name: "bmp.qda"
|
||||
path: "data/bmp.qda"
|
||||
category: game_data
|
||||
description: "Packed graphics (QDA archive of all bitmaps)"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/sdl2/graphics.c:229 (fopen \"data/bmp.qda\" rb)"
|
||||
|
||||
- name: "en.dat"
|
||||
path: "data/en.dat"
|
||||
category: game_data
|
||||
description: "English localization"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/text.c (loaded via data/ prefix)"
|
||||
|
||||
- name: "jp.dat"
|
||||
path: "data/jp.dat"
|
||||
category: game_data
|
||||
description: "Japanese localization"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/text.c"
|
||||
|
||||
- name: "map"
|
||||
path: "data/map"
|
||||
category: game_data
|
||||
description: "Level maps directory (060 .map files)"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/stagedata.c (loads data/map/<nnn>.map)"
|
||||
|
||||
- name: "obj"
|
||||
path: "data/obj"
|
||||
category: game_data
|
||||
description: "Per-stage object definitions directory"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/stagedata.c (loads data/obj/<nnn>.dat)"
|
||||
|
||||
- name: "midi"
|
||||
path: "data/midi"
|
||||
category: game_data
|
||||
description: "Music files (.mid + .ogg companions)"
|
||||
required: false
|
||||
bundled: true
|
||||
source_ref: "src/sdl2/audio.c:30 (data/ prefix for midi loads)"
|
||||
|
||||
- name: "wav"
|
||||
path: "data/wav"
|
||||
category: game_data
|
||||
description: "Sound effect samples"
|
||||
required: false
|
||||
bundled: true
|
||||
source_ref: "src/sdl2/audio.c (data/wav/<name>.wav)"
|
||||
@@ -0,0 +1,86 @@
|
||||
emulator: Hurrican
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/HurricanGame/Hurrican"
|
||||
upstream: "https://github.com/HurricanGame/Hurrican"
|
||||
profiled_date: "2026-10-04"
|
||||
source_commit: "0d91d1f2d40f38d21e7f41afc01369ee55649fb6"
|
||||
core_version: ~
|
||||
display_name: "Hurrican"
|
||||
cores: [hurrican]
|
||||
systems: []
|
||||
verification: existence
|
||||
|
||||
notes: |
|
||||
Open-source Turrican-inspired platformer by Poke53280 / HurricanGame. The
|
||||
tree ships all shipping assets under Hurrican/data/ (93 MB): textures,
|
||||
levels, music, sfx, shaders, plus a bundled gamecontrollerdb.txt.
|
||||
|
||||
The engine resolves two paths at startup, both set in Hurrican/src/Main.cpp
|
||||
(main() at line 342):
|
||||
* g_storage_ext — the data root used for every asset load. Taken from the
|
||||
-data= CLI flag first (Main.cpp:349-353), then from the compile-time
|
||||
USE_STORAGE_PATH macro (355-363), falling back to "." (365).
|
||||
* g_save_ext / g_config_ext — the user-writable save and config directory,
|
||||
from -save= CLI flag then XDG_DATA_HOME/XDG_CONFIG_HOME under UNIX
|
||||
(369-389).
|
||||
|
||||
Everything the game loads is under <g_storage_ext>/data/:
|
||||
data/textures/* — DX8Font.cpp:160, DX8Graphics.cpp:393-407 (shaders),
|
||||
TextureAtlas class and loadImageSDL calls
|
||||
data/shaders/<glsl_ver>/ — DX8Graphics.cpp:393-407 (vert/frag per renderer)
|
||||
data/levels/<name>.lev — Tileengine.cpp:324-330
|
||||
data/music/ — SoundManager Mp3/OGG loads
|
||||
data/sfx/ — SoundManager LoadSound
|
||||
data/gamecontrollerdb.txt (joystick remapping)
|
||||
|
||||
All data is open content; no retail or BIOS files needed.
|
||||
|
||||
files:
|
||||
- name: "textures"
|
||||
path: "data/textures"
|
||||
category: game_data
|
||||
description: "Game textures (sprites, backgrounds, fonts)"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/DX8Font.cpp:160 (data/textures/ prefix on every font load)"
|
||||
|
||||
- name: "levels"
|
||||
path: "data/levels"
|
||||
category: game_data
|
||||
description: "Level files (.lev)"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/Tileengine.cpp:324-330 (data/levels/<name>.lev + custom lists)"
|
||||
|
||||
- name: "shaders"
|
||||
path: "data/shaders"
|
||||
category: game_data
|
||||
description: "GLSL shader sources per version subdirectory"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/DX8Graphics.cpp:393-407 (data/shaders/<glsl_version>/*)"
|
||||
|
||||
- name: "music"
|
||||
path: "data/music"
|
||||
category: game_data
|
||||
description: "Music tracks"
|
||||
required: false
|
||||
bundled: true
|
||||
source_ref: "src/SoundManager.cpp (data/music/ prefix for LoadMp3/LoadOgg)"
|
||||
|
||||
- name: "sfx"
|
||||
path: "data/sfx"
|
||||
category: game_data
|
||||
description: "Sound effect samples"
|
||||
required: false
|
||||
bundled: true
|
||||
source_ref: "src/SoundManager.cpp (data/sfx/ prefix for LoadSound)"
|
||||
|
||||
- name: "gamecontrollerdb.txt"
|
||||
path: "data/gamecontrollerdb.txt"
|
||||
category: game_data
|
||||
description: "SDL gamecontroller mapping database"
|
||||
required: false
|
||||
bundled: true
|
||||
source_ref: "src/DirectInput.cpp (data/gamecontrollerdb.txt)"
|
||||
@@ -0,0 +1,191 @@
|
||||
emulator: Ikemen GO
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/ikemen-engine/Ikemen-GO"
|
||||
upstream: "https://github.com/ikemen-engine/Ikemen-GO"
|
||||
profiled_date: "2026-10-04"
|
||||
source_commit: "02a078d6bf189ff56bbcbbbc8dbfd81753692c56"
|
||||
core_version: ~
|
||||
display_name: "Ikemen GO"
|
||||
cores: [ikemen]
|
||||
systems: []
|
||||
verification: existence
|
||||
|
||||
notes: |
|
||||
Open-source M.U.G.E.N.-compatible 2D fighting game engine, written in Go.
|
||||
Reads the Elecbyte .def / .air / .cmd / .cns / .sff / .snd files that
|
||||
commercial and community M.U.G.E.N. content ships with.
|
||||
|
||||
The binary comes with the engine's own motif-neutral core data (bundled with
|
||||
the install, not retail BIOS):
|
||||
data/ — common definitions, stage shell, screenpack parameters
|
||||
(action.zss, common.air, common.cmd, common.const,
|
||||
common1.cns.zss, dizzy.zss, functions.zss, guardbreak.zss,
|
||||
score.zss, system.base.def, tag.zss, training.zss)
|
||||
external/ — icons, mods template, lua scripts, GLSL shaders
|
||||
font/ — fallback TTF fonts (Open Sans) and 3x5 bitmap fonts
|
||||
(default-3x5-bold.def/sff, default-3x5.def/sff, debug.def)
|
||||
|
||||
Characters, stages, and motifs are user-supplied. system.go:2630 and
|
||||
script.go:1174 enforce the convention that any character path lacking the
|
||||
"chars/" prefix is rewritten to "chars/<name>", so content drops into
|
||||
chars/, stages/, data/<motif>/ under the install root.
|
||||
|
||||
Nothing in Ikemen itself is a BIOS. The engine refuses to run with no motif,
|
||||
but ships a stub select screen and the common.* lifebar config, so a user
|
||||
character and stage are enough to boot.
|
||||
|
||||
files:
|
||||
- name: "system.base.def"
|
||||
path: "data/system.base.def"
|
||||
category: game_data
|
||||
description: "Screenpack / motif parameter reference"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/system.go (default screenpack parsing)"
|
||||
|
||||
- name: "common.cmd"
|
||||
path: "data/common.cmd"
|
||||
category: game_data
|
||||
description: "Common character command set (fallback for chars missing CMD)"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/char.go (common.cmd lookup for every loaded character)"
|
||||
|
||||
- name: "common.air"
|
||||
path: "data/common.air"
|
||||
category: game_data
|
||||
description: "Common animations (fallback for chars missing AIR)"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/char.go"
|
||||
|
||||
- name: "common.const"
|
||||
path: "data/common.const"
|
||||
category: game_data
|
||||
description: "Common constants (gravity, speeds)"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/char.go"
|
||||
|
||||
- name: "common1.cns.zss"
|
||||
path: "data/common1.cns.zss"
|
||||
category: game_data
|
||||
description: "Common state controllers (ZSS)"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/char.go (ZSS state handler)"
|
||||
|
||||
- name: "action.zss"
|
||||
path: "data/action.zss"
|
||||
category: game_data
|
||||
description: "Default engine action script"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/system.go"
|
||||
|
||||
- name: "functions.zss"
|
||||
path: "data/functions.zss"
|
||||
category: game_data
|
||||
description: "Shared ZSS helper functions"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/system.go"
|
||||
|
||||
- name: "score.zss"
|
||||
path: "data/score.zss"
|
||||
category: game_data
|
||||
description: "Score system script"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/system.go"
|
||||
|
||||
- name: "tag.zss"
|
||||
path: "data/tag.zss"
|
||||
category: game_data
|
||||
description: "Tag-team mode script"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/system.go"
|
||||
|
||||
- name: "dizzy.zss"
|
||||
path: "data/dizzy.zss"
|
||||
category: game_data
|
||||
description: "Dizzy/stun state script"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/system.go"
|
||||
|
||||
- name: "guardbreak.zss"
|
||||
path: "data/guardbreak.zss"
|
||||
category: game_data
|
||||
description: "Guard-break state script"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/system.go"
|
||||
|
||||
- name: "training.zss"
|
||||
path: "data/training.zss"
|
||||
category: game_data
|
||||
description: "Training mode script"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/system.go"
|
||||
|
||||
- name: "default-3x5.sff"
|
||||
path: "font/default-3x5.sff"
|
||||
category: game_data
|
||||
description: "Default 3x5 bitmap font sprites"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/font.go, data/system.base.def [Files]"
|
||||
|
||||
- name: "default-3x5.def"
|
||||
path: "font/default-3x5.def"
|
||||
category: game_data
|
||||
description: "Default 3x5 bitmap font definition"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/font.go"
|
||||
|
||||
- name: "default-3x5-bold.sff"
|
||||
path: "font/default-3x5-bold.sff"
|
||||
category: game_data
|
||||
description: "Default 3x5 bold bitmap font sprites"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/font.go"
|
||||
|
||||
- name: "default-3x5-bold.def"
|
||||
path: "font/default-3x5-bold.def"
|
||||
category: game_data
|
||||
description: "Default 3x5 bold bitmap font definition"
|
||||
required: true
|
||||
bundled: true
|
||||
source_ref: "src/font.go"
|
||||
|
||||
- name: "debug.def"
|
||||
path: "font/debug.def"
|
||||
category: game_data
|
||||
description: "Debug overlay font"
|
||||
required: false
|
||||
bundled: true
|
||||
source_ref: "src/font.go"
|
||||
|
||||
- name: "chars"
|
||||
category: game_data
|
||||
description: "User-supplied character directory (name resolved via chars/<name>)"
|
||||
required: false
|
||||
source_ref: "src/system.go:2630, src/script.go:1174 (prefix enforcement)"
|
||||
note: >
|
||||
Not shipped: user drops MUGEN-compatible characters under chars/. Each
|
||||
character directory contains its own .def, .cmd, .cns, .air, .sff, .snd.
|
||||
|
||||
- name: "stages"
|
||||
category: game_data
|
||||
description: "User-supplied stage directory"
|
||||
required: false
|
||||
source_ref: "src/resources/defaultConfig.json:112 (StartStage default)"
|
||||
note: >
|
||||
Not shipped: user drops MUGEN-compatible stages under stages/. Default
|
||||
configuration asks for stages/stage1.def.
|
||||
@@ -0,0 +1,24 @@
|
||||
emulator: Pygame
|
||||
type: launcher
|
||||
core_classification: launcher
|
||||
source: "https://github.com/pygame/pygame"
|
||||
upstream: "https://github.com/pygame/pygame"
|
||||
profiled_date: "2026-10-04"
|
||||
source_commit: "b92c0da9d1b5eba6c813138790fc1ab6cea0252c"
|
||||
core_version: "2.6.1"
|
||||
display_name: "Pygame"
|
||||
cores: [pygame, python-pygame2]
|
||||
systems: []
|
||||
verification: existence
|
||||
|
||||
notes: |
|
||||
Pygame is not an emulator or game engine with its own BIOS. It is the SDL2
|
||||
bindings for Python, used by batocera as a launcher that runs user-supplied
|
||||
Python scripts (file.py) as the "ROM". Batocera's package
|
||||
batocera/emulators/python-pygame2 pins the standard pygame/pygame 2.6.1
|
||||
wheel; nothing about pygame itself ships game data.
|
||||
|
||||
The content executed by this launcher is the user's own Python file,
|
||||
which plays the role of the cartridge. No file in the pack belongs here.
|
||||
|
||||
files: []
|
||||
@@ -0,0 +1,36 @@
|
||||
emulator: Pyxel
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/kitao/pyxel"
|
||||
upstream: "https://github.com/kitao/pyxel"
|
||||
profiled_date: "2026-10-04"
|
||||
source_commit: "50f9bd77780c993aca62b5b221766bde5791081d"
|
||||
core_version: "v2.9.9"
|
||||
display_name: "Pyxel"
|
||||
cores: [pyxel]
|
||||
systems: []
|
||||
verification: existence
|
||||
|
||||
notes: |
|
||||
Retro game engine for Python by Takashi Kitao. The engine is a Python
|
||||
package with a Rust-based extension (crates/pyxel-core, built via maturin).
|
||||
Pyxel programs are either .py scripts that import pyxel or self-contained
|
||||
.pyxapp bundles (zip archives containing a startup script plus assets).
|
||||
|
||||
There is no external BIOS, firmware, or retail data to collect. Everything
|
||||
the engine needs ships inside the Python wheel:
|
||||
python/pyxel/ — Python API, fonts, shader, examples
|
||||
crates/pyxel-core/ — Rust engine (compiled as pyxel_extension)
|
||||
crates/pyxel-platform/ — SDL2 wrapper
|
||||
crates/pyxel-wrapper/ — Python ↔ Rust glue (PyO3)
|
||||
|
||||
Batocera's packaging (package/batocera/emulators/python-pyxel/python-pyxel.mk)
|
||||
installs the wheel into site-packages, drops the examples, and provides a
|
||||
pyxel.keys evmapy layout. The content run by Pyxel is the user's .pyxapp or
|
||||
.py file, which plays the role of a cartridge; those are user content, not
|
||||
pack contents.
|
||||
|
||||
The engine refuses nothing on startup; a bare `pyxel init` plus a user
|
||||
script is enough to run.
|
||||
|
||||
files: []
|
||||
@@ -0,0 +1,99 @@
|
||||
emulator: The Force Engine
|
||||
type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/luciusDXL/TheForceEngine"
|
||||
upstream: "https://github.com/luciusDXL/TheForceEngine"
|
||||
profiled_date: "2026-10-04"
|
||||
source_commit: "cc25205cc94c36a396f6f50295772f6ec83069a2"
|
||||
core_version: "v1.22.420"
|
||||
display_name: "The Force Engine"
|
||||
cores: [theforceengine, tfe]
|
||||
systems: [dark-forces, outlaws]
|
||||
verification: existence
|
||||
|
||||
notes: |
|
||||
Modern Jedi engine reimplementation by Lucius Dark, supporting LucasArts
|
||||
Dark Forces (shipping) and Outlaws (in-progress).
|
||||
|
||||
TFE itself bundles the engine data under TheForceEngine/ in the source tree,
|
||||
which batocera.ports/theforceengine.mk rsyncs to
|
||||
/usr/share/batocera/datainit/system/configs/theforceengine/ on install:
|
||||
Captions/ Documentation/ ExternalData/ Fonts/
|
||||
Mods/ Shaders/ SoundFonts/ UI_Text/ UI_Images/
|
||||
|
||||
The user is expected to supply the retail game data. Dark Forces is probed
|
||||
by checking for DARK.GOB in the configured source-data path
|
||||
(TheForceEngine/main.cpp:484-485, with PATH_SOURCE_DATA from TFE_Paths).
|
||||
|
||||
Dark Forces loader list (TFE_DarkForces/darkForcesMain.cpp:70-83):
|
||||
c_gobFileNames[] = DARK.GOB, SOUNDS.GOB, TEXTURES.GOB, SPRITES.GOB
|
||||
c_optionalGobFileNames[] = enhanced.gob
|
||||
The DOS retail Dark Forces floppy and CD both ship DARK.GOB, SOUNDS.GOB,
|
||||
TEXTURES.GOB, SPRITES.GOB; enhanced.gob is the TFE-only HD asset pack.
|
||||
|
||||
Dark Forces official patch v1.22 (df_patch4) is pulled by the build script as
|
||||
df_patch4.zip from df-21.net and dropped under Mods/, so the engine applies
|
||||
the retail v1.22 patches on top of any user retail install (THEFORCEENGINE_
|
||||
PATCH_SOURCE in the batocera mk). The patch itself is bundled with the
|
||||
emulator, not with the retail data.
|
||||
|
||||
Outlaws loader (TFE_Outlaws/outlawsMain.cpp) looks for the Outlaws retail
|
||||
data in a separate configured directory. The level/sound/texture GOBs it
|
||||
needs are OL.GOB (Outlaws main .gob) and the game's .LAB packages.
|
||||
|
||||
files:
|
||||
- name: "DARK.GOB"
|
||||
category: game_data
|
||||
system: dark-forces
|
||||
description: "Dark Forces main data archive (levels, briefings, scripts)"
|
||||
required: true
|
||||
source_ref: "TheForceEngine/TFE_DarkForces/darkForcesMain.cpp:74 (c_gobFileNames[0]), main.cpp:484-485 (install detection)"
|
||||
|
||||
- name: "SOUNDS.GOB"
|
||||
category: game_data
|
||||
system: dark-forces
|
||||
description: "Dark Forces audio archive"
|
||||
required: true
|
||||
source_ref: "TheForceEngine/TFE_DarkForces/darkForcesMain.cpp:75 (c_gobFileNames[1])"
|
||||
|
||||
- name: "TEXTURES.GOB"
|
||||
category: game_data
|
||||
system: dark-forces
|
||||
description: "Dark Forces texture archive"
|
||||
required: true
|
||||
source_ref: "TheForceEngine/TFE_DarkForces/darkForcesMain.cpp:76 (c_gobFileNames[2])"
|
||||
|
||||
- name: "SPRITES.GOB"
|
||||
category: game_data
|
||||
system: dark-forces
|
||||
description: "Dark Forces sprite archive"
|
||||
required: true
|
||||
source_ref: "TheForceEngine/TFE_DarkForces/darkForcesMain.cpp:77 (c_gobFileNames[3])"
|
||||
|
||||
- name: "enhanced.gob"
|
||||
category: game_data
|
||||
system: dark-forces
|
||||
description: "Optional enhanced HD asset pack"
|
||||
required: false
|
||||
source_ref: "TheForceEngine/TFE_DarkForces/darkForcesMain.cpp (c_optionalGobFileNames)"
|
||||
|
||||
- name: "OL.GOB"
|
||||
category: game_data
|
||||
system: outlaws
|
||||
description: "Outlaws main data archive"
|
||||
required: false
|
||||
source_ref: "TheForceEngine/TFE_Outlaws/outlawsMain.cpp"
|
||||
|
||||
- name: "OLSFX.GOB"
|
||||
category: game_data
|
||||
system: outlaws
|
||||
description: "Outlaws sound effects archive"
|
||||
required: false
|
||||
source_ref: "TheForceEngine/TFE_Outlaws/outlawsMain.cpp"
|
||||
|
||||
- name: "OLMUSIC.GOB"
|
||||
category: game_data
|
||||
system: outlaws
|
||||
description: "Outlaws music archive"
|
||||
required: false
|
||||
source_ref: "TheForceEngine/TFE_Outlaws/outlawsMain.cpp"
|
||||
Reference in new issue
Block a user