chore: merge the remaining platform core profiles

This commit is contained in:
Abdessamad Derraz committed 2026-10-22 11:15:32 +02:00
commit 57cbff781a
22 files changed
+3326 -5

No files matched your search

+147
View File
@@ -0,0 +1,147 @@
emulator: "advanced_drastic"
type: standalone
core_classification: enhanced_fork
source: "https://github.com/trngaje/advanced_drastic"
upstream: closed-source
author: "trngaje (hooks), Exophase (DraStic)"
profiled_date: "2026-10-22"
source_commit: "eaf41ab9bc8adcc15c010bf9517bc94c38e7bffd"
core_version: "r2.5.2.0"
display_name: "Nintendo - DS (advanced_drastic)"
cores:
- "advanced_drastic"
systems:
- nintendo-ds
mode: standalone
notes: |
trngaje's package around the closed-source 64-bit Linux DraStic, whose
screen output, input and settings menu it replaces through a hooked SDL2
build (trngaje/SDL_drastic) and the drastic_layout library. The repository
carries the DraStic binary itself, md5 59a7711eff41c640b8861b4d869c747d,
which announces "Version r2.5.2.0", together with its system, config,
resources and microphone directories, game_database.xml and usrcheat.dat.
launch.sh changes to its own directory and runs ./drastic on the content.
ref: README.md:1-12, launch.sh:1-9, drastic r2.5.2.0 0x135990
KNULLI builds this revision, installs the whole tree under
/usr/share/advanced_drastic, copies it to
/userdata/system/configs/advanced_drastic on first launch or after a board
change, then starts launch.sh from there. The copy includes the Nintendo
BIOS and firmware images the repository ships, so the platform installs
them with the emulator.
ref: KNULLI package/emulators/advanced_drastic/advanced_drastic.mk:7-14,
KNULLI package/system/knulli-configgen/configgen/configgen/generators/advanced_drastic/advanced_drasticGenerator.py:30-50,156-158
The binary names the same system files as DraStic r2.5.2.2: each BIOS slot
takes the Nintendo image, then the free DraStic one ("Can't find Nintendo
ARM9 BIOS. Trying free DraStic ARM9 BIOS."), the firmware is
nds_firmware.bin alone, a file of the wrong length is refused with "System
file %s is the wrong size", and an empty slot ends in "FATAL: Could not load
system files." It carries neither the firmware editor's
nds_firmware_modified.bin nor game_database_user.xml. The root also serves
game_database.xml, usrcheat.dat, microphone/<game>.wav then
microphone/microphone.wav, drastic_dldi.img for homebrew and the
drastic_logo_<n>.raw splash.
ref: drastic r2.5.2.0 0x131018-0x1310f8, drastic r2.5.2.0 0x12fa18,
drastic r2.5.2.0 0x12fce0, drastic r2.5.2.0 0x132128-0x132260,
drastic r2.5.2.0 0x132a90-0x132aa8, drastic r2.5.2.0 0x1359b8
files:
- name: nds_bios_arm9.bin
path: system/nds_bios_arm9.bin
system: nintendo-ds
required: false
bundled: true
size: 4096
sha1: "bfaac75f101c135e32e2aaf541de6b1be4c8c62d"
md5: "a392174eb3e572fed6447e956bde4b25"
validation: [size]
description: "Nintendo DS ARM9 BIOS"
note: "First candidate for the ARM9 slot, before the free replacement. The hashes are those of the copy the repository ships."
source_ref: "drastic r2.5.2.0 0x131018, drastic r2.5.2.0 0x12fa18, drastic r2.5.2.0 0x135a5a"
- name: drastic_bios_arm9.bin
sha1: 4dc29a1560e1cbd7afef1998f7a6c25c5db1cc3a
md5: 5f34f9f6108f8d57fc26789b7a7ecf82
path: system/drastic_bios_arm9.bin
system: nintendo-ds
required: false
bundled: true
size: 4096
validation: [size]
description: "DraStic free ARM9 BIOS replacement"
source_ref: "drastic r2.5.2.0 0x131070"
- name: nds_bios_arm7.bin
path: system/nds_bios_arm7.bin
system: nintendo-ds
required: false
bundled: true
size: 16384
sha1: "24f67bdea115a2c847c8813a262502ee1607b7df"
md5: "df692a80a5b1bc90728bc3dfc76cd948"
validation: [size]
description: "Nintendo DS ARM7 BIOS"
note: "First candidate for the ARM7 slot. The hashes are those of the copy the repository ships."
source_ref: "drastic r2.5.2.0 0x131088, drastic r2.5.2.0 0x135a7b"
- name: drastic_bios_arm7.bin
sha1: 31ae916c85d012582c7cdf47de6943ac6778253b
md5: c259d5dd2d1a8e1f58eaa26c08efae45
path: system/drastic_bios_arm7.bin
system: nintendo-ds
required: false
bundled: true
size: 16384
validation: [size]
description: "DraStic free ARM7 BIOS replacement"
source_ref: "drastic r2.5.2.0 0x1310e0"
- name: nds_firmware.bin
path: system/nds_firmware.bin
system: nintendo-ds
required: false
hle_fallback: true
bundled: true
size: 262144
sha1: "87dae2500e889737af51f4a5b5845770a62482f5"
md5: "3c704824663ce26b6a1ed4d85238ae5b"
validation: [size]
description: "Nintendo DS firmware"
note: "The hashes are those of the copy the repository ships."
source_ref: "drastic r2.5.2.0 0x1310f8"
- name: game_database.xml
path: game_database.xml
system: nintendo-ds
required: false
bundled: true
category: game_data
size: 1610336
sha1: 7b84fef16d1d461a49c197709d174eb1ccd8f88d
description: "save type database, one entry per title"
source_ref: "drastic r2.5.2.0 0x132a90, drastic r2.5.2.0 0x133468"
- name: usrcheat.dat
path: usrcheat.dat
system: nintendo-ds
required: false
bundled: true
category: game_data
size: 13739796
sha1: 6dd1a5399403f39620061556d61f5c6f6c704219
description: "Action Replay cheat library"
source_ref: "drastic r2.5.2.0 0x132aa8"
- name: microphone.wav
path: microphone/microphone.wav
system: nintendo-ds
required: false
bundled: true
category: game_data
size: 1323090
sha1: ea9281c65ea39c9d1061a05b8b15d9a44f92918e
description: "default fake microphone input"
note: "Played when the game asks for the microphone and no microphone/<game>.wav exists."
source_ref: "drastic r2.5.2.0 0x132128-0x132190"
+31
View File
@@ -0,0 +1,31 @@
emulator: "BennuGD monolithic (bgdi)"
type: standalone
core_classification: game_engine
source: "https://github.com/christianhaitian/bennugd-monolithic"
profiled_date: "2026-10-22"
source_commit: "60ee3389efcf9b402d66035e87f33d17d70cbd83"
core_version: "git"
display_name: "Bennu Game Development (bennugd-monolithic)"
cores:
- "bgdi"
systems:
- bennugd
notes: |
The BennuGD interpreter built with every module linked in, from the Google
Code bennugd-monolithic project moved to SDL 2. EmuELEC builds this revision
for Streets of Rage Remake and runs bgdi on SorR.dat from ports/sorr, after
checking the file is there.
ref: README.md:1-3, README.md:24-25,
EmuELEC packages/sx05re/emuelec-ports/bennugd-monolithic/package.mk:4-5,32-36,
EmuELEC packages/sx05re/emuelec-ports/sources/ports.yaml:501-515
The only file bgdi needs is the game's code block: a bytecode file appended
to the executable, else the file named on the command line, tried as given
then with .dcb, .dat and .bin appended. Graphics, sounds and fonts are
opened by the game's own code by the names it carries. No system file is
read.
ref: core/bgdi/src/main.c:59, core/bgdi/src/main.c:140-158,
core/bgdi/src/main.c:263-289
files: []
+82
View File
@@ -0,0 +1,82 @@
emulator: "Bermuda Syndrome (bs)"
type: standalone
core_classification: game_engine
source: "https://github.com/cyxx/bermuda"
profiled_date: "2026-10-22"
source_commit: "cf6bdb68d53a1618967da565a44c931b15daf791"
core_version: "0.1.7"
display_name: "Bermuda Syndrome (bs)"
cores:
- "bs"
systems: [bermuda-syndrome]
notes: |
Gregory Montoir's rewrite of the Bermuda Syndrome engine (Century
Interactive, 1995), reversed from the Windows executable. It plays the
retail and demo data. EmuELEC builds this revision as bs and starts it with
--datapath=/storage/roms/ports/bermuda/ from that same directory.
ref: README.TXT:9-14, main.cpp:17-19,
EmuELEC packages/sx05re/emuelec-ports/bermuda/package.mk:4-5,
EmuELEC packages/sx05re/emuelec-ports/sources/ports.yaml:25-36
The data directory is walked recursively at start and every name is matched
case-insensitively against that list. A path from the scripts starting with
..\ is taken from the data root, any other from SCN/. A single file starting
with -rom1fs- is read as a romfs image of the same tree.
ref: fs.cpp:40-52, fs.cpp:96-121, fs.cpp:237-321
The release is told from its first scene: -00.SCN marks the demo, -01.SCN
the German release and _01.SCN the French and English ones. None found stops
the engine. The demo skips bermuda.ovr.
ref: game.cpp:67-84, resource.cpp:44-49
Music: each MIDI cue is replaced by track<NN>.ogg in the music directory
(MUSIC by default, EmuELEC passes none) when that file exists, the CD
soundtrack ripped to 22 kHz Vorbis, else the .mid from the data. Videos
under DATA/ are skipped when absent. Korean text is drawn with BT16.TBM,
the Hangul bitmap font of Windows 3.x, read from the working directory and
checked for its signature.
ref: game.cpp:1108-1156, game.cpp:1078-1095, resource.cpp:461-478,
game.cpp:27-31
files:
- name: "_01.SCN"
aliases: ["-01.SCN", "-00.SCN"]
path: "SCN/_01.SCN"
category: game_data
system: bermuda-syndrome
required: true
description: "First scene of the retail release (French, English), -01.SCN for the German one, -00.SCN for the demo"
source_ref: "game.cpp:67-84, fs.cpp:237-260"
- name: "bermuda.wgp"
category: game_data
system: bermuda-syndrome
required: true
description: "Bag and status bar bitmaps"
note: "Opened at the root of the data directory, and a missing file stops the engine."
source_ref: "resource.cpp:51, resource.cpp:130-138"
- name: "bermuda.spr"
category: game_data
system: bermuda-syndrome
required: true
description: "Common sprites"
source_ref: "resource.cpp:60-65"
- name: "bermuda.ovr"
category: game_data
system: bermuda-syndrome
required: false
description: "Overlay data of the retail release"
note: "Read unless the data is the demo, which has no such file."
source_ref: "resource.cpp:44-49"
- name: "BT16.TBM"
category: game_data
system: bermuda-syndrome
required: false
size: 330328
description: "Windows 3.x Hangul bitmap font"
note: "Loaded only when the dialogue text is CP949, the Korean release. Must start with \"TTBITMAP VARIABLE-PITCH HANGEUL\" and carry 16x16 glyphs."
source_ref: "game.cpp:27-31, resource.cpp:461-478"
+56
View File
@@ -0,0 +1,56 @@
emulator: "ccleste"
type: standalone
core_classification: game_engine
source: "https://github.com/lemon32767/ccleste"
profiled_date: "2026-10-22"
source_commit: "261d96f15af430b8111abc7a5250229246654f52"
core_version: "git"
display_name: "Celeste Classic (ccleste)"
cores:
- "ccleste"
systems: [celeste-classic]
notes: |
A C translation of the PICO-8 Celeste Classic by lemon32767: the game logic
is compiled in, and an SDL front end draws and plays it. No game file is
loaded. EmuELEC builds this revision, installs the repository's data
directory under /emuelec/configs/ccleste and runs ccleste from there.
ref: README.md:5-11,
EmuELEC packages/sx05re/emuelec-ports/ccleste/package.mk:4-5,24-28,
EmuELEC packages/sx05re/emuelec-ports/sources/ports.yaml:113-125
At start the front end reads, from data/ under the working directory,
gfx.bmp and font.bmp, 23 sound effects snd<N>.wav and 5 music tracks
mus<N>.ogg. All of them ship with the source and are installed with the
binary. A missing bitmap leaves its surface empty and nothing is drawn from
it, a missing sound or track is logged and stays silent.
ref: sdl12main.c:83-96, sdl12main.c:121-150, sdl12main.c:155-192, sdl12main.c:352
Optional: ccleste-input-cfg.txt (or $CCLESTE_INPUT_CFG_PATH) for the
gamepad mapping, written with defaults when absent, gamecontrollerdb.txt,
and ccleste-start-fullscreen.txt, whose presence alone starts in full
screen.
ref: sdl12main.c:278, sdl12main.c:372, sdl12main.c:1006-1042
files:
- name: "gfx.bmp"
path: "data/gfx.bmp"
system: celeste-classic
category: game_data
required: true
bundled: true
size: 4282
sha1: "86cfc2bd0c5ac315bdca501118960f264a001791"
description: "Sprite sheet"
source_ref: "sdl12main.c:121-131, sdl12main.c:155-157"
- name: "font.bmp"
path: "data/font.bmp"
system: celeste-classic
category: game_data
required: true
bundled: true
size: 1490
sha1: "7b45c79394c930c6a7f9d1fa59f14b81ce2f2d19"
description: "Text font"
source_ref: "sdl12main.c:121-131, sdl12main.c:160-161"
+184
View File
@@ -0,0 +1,184 @@
emulator: "Chocolate Doom"
type: standalone
core_classification: game_engine
source: "https://github.com/chocolate-doom/chocolate-doom"
profiled_date: "2026-10-22"
source_commit: "72d9e9318c4ccc61dab29bb9cc30bc8a9a93266d"
core_version: "3.0.0"
display_name: "Doom (Chocolate Doom)"
cores:
- "Chocolate-Doom"
- "chocolate-doom"
systems: [doom, heretic, hexen, strife, chex]
notes: |
Simon Howard's Doom source port that reproduces the DOS executables. One
tree builds four programs, chocolate-doom, chocolate-heretic,
chocolate-hexen and chocolate-strife, each accepting only the IWADs of its
own game: the Doom program takes Doom, Doom II, Final Doom, Chex Quest and
Hacx, and every program refuses an IWAD carrying a sprite unique to another
game. EmuELEC builds this revision, launches chocolate-doom -iwad <file> for
a .wad, and for a .doom file picks the program from its GAMETYPE key.
ref: src/d_iwad.h:24-32, src/w_main.c:233-262,
EmuELEC packages/sx05re/emuelec-ports/chocolate-doom/package.mk:5,
EmuELEC packages/sx05re/emuelec-ports/chocolate-doom/scripts/chocodoom.sh:29-66
-iwad is looked for as given, then by name on the search path, and a name
outside the table leaves the mission undetermined. Without -iwad, each
directory of the search path is scanned for the names of the table in
order: the working directory, the executable's directory, $DOOMWADDIR, the
entries of $DOOMWADPATH, then the XDG data directories and Steam install
paths. Nothing found stops startup with "Game mode indeterminate". No hash
of any IWAD is read.
ref: src/d_iwad.c:34-52, src/d_iwad.c:567-594, src/d_iwad.c:732-783,
src/d_iwad.c:870-913, src/doom/d_main.c:1488-1496
The Freedoom IWADs and Hacx carry their own DEHACKED lump. Chex Quest and the
French Doom II need a separate dehacked patch, looked for beside the IWAD,
then on the search path. Without it the Doom program stops. Strife loads
voices.wad from beside the IWAD or the search path when present, and
disables voices otherwise.
ref: src/doom/d_main.c:1178-1184, src/doom/d_main.c:1188-1206,
src/doom/d_main.c:1210-1241, src/doom/d_main.c:1244-1278,
src/strife/d_main.c:844-885
Music plays through the OPL emulation by default, which takes its
instruments from the GENMIDI lump of the IWAD. EmuELEC's configuration
selects the SDL MIDI device instead and points timidity_cfg_path at
/storage/.config/timidity/timidity.cfg. gus_patch_path and the music pack
directory hold user supplied sets with no canonical artifact.
ref: src/i_sound.c:55, src/i_sound.c:504-506, src/i_sdlmusic.c:56-80,
EmuELEC packages/sx05re/emuelec-ports/chocolate-doom/config/chocolate-doom.cfg:27-29
files:
- name: "doom.wad"
category: game_data
system: doom
required: false
description: "The Ultimate Doom / Registered Doom IWAD"
source_ref: "src/d_iwad.c:39"
- name: "doom1.wad"
category: game_data
system: doom
required: false
description: "Shareware Doom IWAD"
source_ref: "src/d_iwad.c:40"
- name: "doom2.wad"
category: game_data
system: doom
required: false
description: "Doom II IWAD"
source_ref: "src/d_iwad.c:36"
- name: "doom2f.wad"
category: game_data
system: doom
required: false
description: "Doom II: L'Enfer sur Terre IWAD"
source_ref: "src/d_iwad.c:41"
- name: "plutonia.wad"
category: game_data
system: doom
required: false
description: "Final Doom: The Plutonia Experiment IWAD"
source_ref: "src/d_iwad.c:37"
- name: "tnt.wad"
category: game_data
system: doom
required: false
description: "Final Doom: TNT: Evilution IWAD"
source_ref: "src/d_iwad.c:38"
- name: "freedoom1.wad"
category: game_data
system: doom
required: false
description: "Freedoom: Phase 1 IWAD"
source_ref: "src/d_iwad.c:45, src/doom/d_main.c:1190-1196"
- name: "freedoom2.wad"
category: game_data
system: doom
required: false
description: "Freedoom: Phase 2 IWAD"
source_ref: "src/d_iwad.c:44, src/doom/d_main.c:1190-1196"
- name: "freedm.wad"
category: game_data
system: doom
required: false
description: "FreeDM IWAD"
source_ref: "src/d_iwad.c:46, src/doom/d_main.c:1190-1196"
- name: "hacx.wad"
category: game_data
system: doom
required: false
description: "Hacx IWAD"
note: "Must be v1.2: its DEHACKED lump is required and a missing one stops startup."
source_ref: "src/d_iwad.c:43, src/doom/d_main.c:1198-1206"
- name: "chex.wad"
category: game_data
system: chex
required: false
description: "Chex Quest IWAD"
source_ref: "src/d_iwad.c:42"
- name: "chex.deh"
category: game_data
system: chex
required: true
size: 20367
description: "Dehacked patch emulating chex.exe (Simon Howard, 2008)"
note: "Needed for chex.wad, the Doom program stops without it. Read beside the IWAD, then on the WAD search path. Distributed as themes/chex/chexdeh.zip on idgames."
source_ref: "src/doom/d_main.c:1210-1241"
- name: "french.deh"
category: game_data
system: doom
required: true
size: 20764
description: "Dehacked patch emulating the French doom2.exe (Simon Howard, 2010)"
note: "Needed when the IWAD is the French Doom II, recognised by its lumps, and the Doom program stops without it. Read beside the IWAD, then on the WAD search path. Distributed as utils/exe_edit/patches/french.zip on idgames."
source_ref: "src/doom/d_main.c:1178-1184, src/doom/d_main.c:1244-1278"
- name: "heretic.wad"
category: game_data
system: heretic
required: false
description: "Heretic IWAD"
source_ref: "src/d_iwad.c:47, src/heretic/d_main.c:888-897"
- name: "heretic1.wad"
category: game_data
system: heretic
required: false
description: "Shareware Heretic IWAD"
source_ref: "src/d_iwad.c:48, src/heretic/d_main.c:888-897"
- name: "hexen.wad"
category: game_data
system: hexen
required: false
description: "Hexen IWAD"
source_ref: "src/d_iwad.c:49, src/hexen/h2_main.c:425-434"
- name: "strife1.wad"
category: game_data
system: strife
required: false
description: "Strife IWAD"
source_ref: "src/d_iwad.c:51, src/strife/d_main.c:1728"
- name: "voices.wad"
category: game_data
system: strife
required: false
description: "Strife voice acting WAD"
note: "Absent, voices are disabled."
source_ref: "src/strife/d_main.c:844-885"
+253
View File
@@ -0,0 +1,253 @@
emulator: "DuckStation (legacy)"
type: standalone
core_classification: frozen_snapshot
source: "https://github.com/stenzek/duckstation"
profiled_date: "2026-10-22"
source_commit: "56ac3d6c324ec4520dac433b071ecab6227fb459"
pin_frozen: "Batocera builds this revision of 4 August 2023 as duckstation-legacy, its package marked not to be bumped, and KNULLI ships the same package."
core_version: "0.1"
display_name: "Sony - PlayStation (DuckStation legacy)"
cores:
- "duckstation-legacy"
found_by: content
systems: [sony-playstation]
mode: standalone
notes: |
DuckStation as of August 2023, from before its licence change, kept as a
separate package. Batocera builds it with its own path patches: the BIOS
directory becomes /userdata/bios, the shared BIOS root, and the resources
directory /usr/share/duckstation/resources.
ref: Batocera package/batocera/emulators/duckstation-legacy/duckstation-legacy.mk:6-7,
Batocera package/batocera/emulators/duckstation-legacy/004-adjust-paths.patch
A BIOS file is any file of 512 KB, 4 MB (PS2) or 0x3E66F0 bytes (PS3) in the
BIOS directory. Only its first 512 KB are read, and their MD5 is looked up
in a table of 29 images. A file carrying "OpenBIOS" at offset 0x78 is
recognised by that signature instead. With no file configured for the
console region, the directory is scanned and the first image whose region
matches, or whose table region is Auto, is used. Otherwise the first known
image found, else the first unknown one, stands in with a warning, and an
empty directory stops the boot with "No BIOS image found". The table has no
priority field: the scan order decides between matching images.
ref: src/core/bios.h:15-17, src/core/bios.cpp:45-91, src/core/bios.cpp:95-97,
src/core/bios.cpp:108-137, src/core/bios.cpp:145-167,
src/core/bios.cpp:276-377
KNULLI's launcher sets BIOS SearchDirectory to /userdata/bios and fills
PathNTSCU, PathPAL and PathNTSCJ with the first name it finds from three
lists, refusing to start when none exists. A configured path is loaded by
name and only warned about when its image does not match the region.
ref: KNULLI package/system/knulli-configgen/configgen/configgen/generators/duckstation_legacy/duckstationLegacyGenerator.py:116-153,
src/core/bios.cpp:296-315
Fast boot and TTY patching are refused for the two PS3 images, the table's
only entries marked not patch compatible.
ref: src/core/system.cpp:1280, src/core/system.cpp:1306
files:
- name: "scph1000.bin"
description: "SCPH-1000, DTL-H1000 (v1.0)"
region: [japan]
required: false
md5: "239665b1a3dade1b5a52c06338011044"
source_ref: "src/core/bios.cpp:46"
- name: "scph1001.bin"
description: "SCPH-1001, 5003, DTL-H1201, H3001 (v2.2 12-04-95 A)"
region: [north-america, latin-america]
required: false
md5: "924e392ed05558ffdb115408c263dccf"
source_ref: "src/core/bios.cpp:47-48"
- name: "scph1002a.bin"
description: "SCPH-1002, DTL-H1002 (v2.0 05-10-95 E)"
region: [europe, oceania]
required: false
md5: "54847e693405ffeb0359c6287434cbef"
source_ref: "src/core/bios.cpp:49-50"
- name: "scph1002b.bin"
description: "SCPH-1002, DTL-H1102 (v2.1 07-17-95 E)"
region: [europe, oceania]
required: false
md5: "417b34706319da7cf001e76e40136c23"
source_ref: "src/core/bios.cpp:51-52"
- name: "scph1002c.bin"
description: "SCPH-1002, DTL-H1202, H3002 (v2.2 12-04-95 E)"
region: [europe, oceania]
required: false
md5: "e2110b8a2b97a8e0b857a45d32f7e187"
source_ref: "src/core/bios.cpp:53-54"
- name: "dtlh1100.bin"
description: "DTL-H1100 (v2.2 03-06-96 D)"
region: [japan]
required: false
md5: "ca5cfc321f916756e3f0effbfaeba13b"
source_ref: "src/core/bios.cpp:55"
- name: "scph3000.bin"
description: "SCPH-3000, DTL-H1000H (v1.1 01-22-95)"
region: [japan]
required: false
md5: "849515939161e62f6b866f6853006780"
source_ref: "src/core/bios.cpp:56-57"
- name: "scph1001_v20.bin"
description: "SCPH-1001, DTL-H1001 (v2.0 05-07-95 A)"
region: [north-america, latin-america]
required: false
md5: "dc2b9bf8da62ec93e868cfd29f0d067d"
source_ref: "src/core/bios.cpp:58-59"
- name: "scph3500.bin"
description: "SCPH-3500 (v2.1 07-17-95 J)"
region: [japan]
required: false
md5: "cba733ceeff5aef5c32254f1d617fa62"
source_ref: "src/core/bios.cpp:60"
- name: "scph1001_v21.bin"
description: "SCPH-1001, DTL-H1101 (v2.1 07-17-95 A)"
region: [north-america, latin-america]
required: false
md5: "da27e8b6dab242d8f91a9b25d80c63b8"
source_ref: "src/core/bios.cpp:61-62"
- name: "scph5000.bin"
description: "SCPH-5000, DTL-H1200, H3000 (v2.2 12-04-95 J)"
region: [japan]
required: false
md5: "57a06303dfa9cf9351222dfcbb4a29d9"
source_ref: "src/core/bios.cpp:63-64"
- name: "scph5500.bin"
description: "SCPH-5500 (v3.0 09-09-96 J)"
region: [japan]
required: false
md5: "8dd7d5296a650fac7319bce665a6a53c"
source_ref: "src/core/bios.cpp:65"
- name: "scph5501.bin"
description: "SCPH-5501, 5503, 7003 (v3.0 11-18-96 A)"
region: [north-america, latin-america]
required: false
md5: "490f666e1afb15b7362b406ed1cea246"
source_ref: "src/core/bios.cpp:66-67"
- name: "scph5502.bin"
description: "SCPH-5502, 5552 (v3.0 01-06-97 E)"
region: [europe, oceania]
required: false
md5: "32736f17079d0b2b7024407c39bd3050"
source_ref: "src/core/bios.cpp:68-69"
- name: "scph7000.bin"
description: "SCPH-7000, 7500, 9000 (v4.0 08-18-97 J)"
region: [japan]
required: false
md5: "8e4c14f567745eff2f0408c8129f72a6"
source_ref: "src/core/bios.cpp:70-71"
- name: "scph7000w.bin"
description: "SCPH-7000W (v4.1 11-14-97 A)"
region: [japan]
required: false
md5: "b84be139db3ee6cbd075630aa20a6553"
source_ref: "src/core/bios.cpp:72"
- name: "scph7001.bin"
description: "SCPH-7001, 7501, 7503, 9001, 9003, 9903 (v4.1 12-16-97 A)"
region: [north-america, latin-america]
required: false
md5: "1e68c231d0896b7eadcad1d7d8e76129"
source_ref: "src/core/bios.cpp:73-74"
- name: "scph7002.bin"
description: "SCPH-7002, 7502, 9002 (v4.1 12-16-97 E)"
region: [europe, oceania]
required: false
md5: "b9d9a0286c33dc6b7237bb13cd46fdee"
source_ref: "src/core/bios.cpp:75-76"
- name: "scph100.bin"
description: "SCPH-100 (v4.3 03-11-00 J)"
region: [japan]
required: false
md5: "8abc1b549a4a80954addc48ef02c4521"
source_ref: "src/core/bios.cpp:77"
- name: "scph101_v44.bin"
description: "SCPH-101 (v4.4 03-24-00 A)"
region: [north-america, latin-america]
required: false
md5: "9a09ab7e49b422c007e6d54d7c49b965"
source_ref: "src/core/bios.cpp:78"
- name: "scph101_v45.bin"
description: "SCPH-101 (v4.5 05-25-00 A)"
region: [north-america, latin-america]
required: false
md5: "6e3735ff4c7dc899ee98981385f6f3d0"
source_ref: "src/core/bios.cpp:79"
- name: "scph102_v44.bin"
description: "SCPH-102 (v4.4 03-24-00 E)"
region: [europe, oceania]
required: false
md5: "b10f5e0e3d9eb60e5159690680b1e774"
source_ref: "src/core/bios.cpp:80"
- name: "scph102_v45.bin"
description: "SCPH-102 (v4.5 05-25-00 E)"
region: [europe, oceania]
required: false
md5: "de93caec13d1a141a40a79f5c86168d6"
source_ref: "src/core/bios.cpp:81"
- name: "ps2_scph18000.bin"
description: "PS2, SCPH-18000 (v5.0 10-27-00 J)"
region: [japan]
required: false
md5: "d8f485717a5237285e4d7c5f881b7f32"
note: "The table hashes the first 512 KB that are read, whatever the file size."
source_ref: "src/core/bios.cpp:82-83"
- name: "ps2_scph30003.bin"
description: "PS2, SCPH-30003 (v5.0 09-02-00 E)"
region: [europe, oceania]
required: false
md5: "71f50ef4f4e17c163c78908e16244f7d"
note: "The table hashes the first 512 KB that are read, whatever the file size."
source_ref: "src/core/bios.cpp:84-85"
- name: "psxonpsp660.bin"
description: "PSP, SCPH-1000R (v4.5 05-25-00 J)"
required: false
md5: "c53ca5908936d412331790f4426c6c33"
source_ref: "src/core/bios.cpp:86-87"
- name: "scph1000r.bin"
description: "SCPH-1000R (v4.5 05-25-00 J)"
region: [japan]
required: false
md5: "476d68a94ccec3b9c8303bbd1daf2810"
source_ref: "src/core/bios.cpp:88"
- name: "ps1_rom.bin"
description: "PS3 (v5.0 06-23-03 A)"
required: false
md5: "fbb5f59ec332451debccf1e377017237"
size: 4089584
validation: [size]
note: "The whole 0x3E66F0 PS3 image. Only its first 512 KB are read and hashed, md5 c02a6fbb1b27359f84e92fae8bc21316. Marked not patch compatible: fast boot is refused with this image."
source_ref: "src/core/bios.cpp:89"
- name: "ps1_rom.bin"
description: "PS3 (v5.0 06-23-03 A)"
required: false
md5: "81bbe60ba7a3d1cea1d48c14cbcc647b"
note: "Marked not patch compatible: fast boot is refused with this image."
source_ref: "src/core/bios.cpp:90"
+7 -1
View File
@@ -7,7 +7,7 @@ profiled_date: "2026-10-04"
source_commit: "0609bcfd0ec40ff0571d0f57fab2821eb461dc8b"
core_version: "1.1"
display_name: "Fallout (Community Edition)"
cores: [fallout1-ce]
cores: [fallout1-ce, "fallout-ce"]
systems: [fallout]
verification: existence
@@ -33,6 +33,12 @@ notes: |
optional. Font and resolution tweaks live in f1_res.ini and are a user
preference, not game data.
The executable is named fallout-ce (CMakeLists.txt:5). EmuELEC builds
glebm/fallout1-ce bc5a9273, one commit on top of this repository's
ad8a2754 that changes a return type in src/movie_lib.cc, and starts it
from ports/falloutce1. Between ad8a2754 and the profiled pin only
db_findfirst gains a path resolution, so both read the same files.
exclusion_note: "data/, sound/ and movies/ load from the retail install folder, not from a shared BIOS tree"
files:
- name: master.dat
+69
View File
@@ -0,0 +1,69 @@
emulator: "fheroes2"
type: standalone
core_classification: game_engine
source: "https://github.com/ihhub/fheroes2"
profiled_date: "2026-10-22"
source_commit: "35ca4c915be00098547d5050412a325dd55cfd7f"
core_version: "1.0.11"
display_name: "Heroes of Might and Magic II (fheroes2)"
cores:
- "fheroes2"
systems: [heroes-of-might-and-magic-2]
notes: |
Free reimplementation of the Heroes of Might and Magic II engine (New World
Computing, 1996). It plays the original or demo data. EmuELEC builds this
revision, installs the engine's resurrection.h2d under
/usr/share/fheroes2/files/data and runs fheroes2 from
/storage/roms/ports/fheroes2. When data/HEROES2.AGG is absent there, its
fheroes2.sh offers to download the demo (h2demo.zip from archive.org) and
unpacks its DATA and MAPS directories in place.
ref: version.txt:1,
EmuELEC packages/sx05re/emuelec-ports/fheroes2/package.mk:4-7,15-23,
EmuELEC packages/sx05re/emuelec-ports/fheroes2/scripts/fheroes2.sh:9-40
Every resource is looked up under each root directory in turn: the
FHEROES2_DATA build path and environment variable, the program's directory,
then the OS data directories. The data subdirectory is scanned for .agg
files, the one whose lowercased name ends in heroes2.agg is the game
resource file, and a heroes2x.agg beside it turns on The Price of Loyalty
content. No AGG, no resurrection.h2d, or an AGG without the font stops the
start with a missing resource window.
ref: src/fheroes2/system/settings.cpp:526-551, src/fheroes2/agg/agg.cpp:53-118,
src/fheroes2/h2d/h2d.cpp:35-62, src/fheroes2/game/fheroes2.cpp:220-240
Maps are the .mp2, .mx2 (with the expansion) and .fh2m files of the maps
directories, campaign videos come from anim, anim2, heroes2/anim or data,
and CD music from music. All are optional.
ref: src/fheroes2/maps/maps_fileinfo.cpp:600-615, src/fheroes2/game/game_video.cpp:47,
src/fheroes2/audio/audio_manager.cpp:94-101
files:
- name: "heroes2.agg"
path: "data/heroes2.agg"
category: game_data
system: heroes-of-might-and-magic-2
required: true
installed_on: [emuelec]
description: "Game resource archive (retail or demo HEROES2.AGG)"
note: "Found by a case-insensitive name ending among the .agg files of the data directory. EmuELEC's launcher fetches the demo on first start."
source_ref: "src/fheroes2/agg/agg.cpp:62-97"
- name: "heroes2x.agg"
path: "data/heroes2x.agg"
category: game_data
system: heroes-of-might-and-magic-2
required: false
description: "The Price of Loyalty resource archive"
source_ref: "src/fheroes2/agg/agg.cpp:99-115"
- name: "resurrection.h2d"
path: "files/data/resurrection.h2d"
category: game_data
system: heroes-of-might-and-magic-2
required: true
bundled: true
size: 30343
sha1: "beb7cb43518447a8cd6faae7a697a79de3c31b39"
description: "fheroes2's own resource container, installed with the engine"
source_ref: "src/fheroes2/h2d/h2d.cpp:35-62"
+180
View File
@@ -0,0 +1,180 @@
emulator: "Flycast 2022 Low-End"
type: libretro
core_classification: enhanced_fork
source: "https://github.com/navy1978/flycast2022-lowend"
upstream: "https://github.com/libretro/parallel-dc"
profiled_date: "2026-10-22"
source_commit: "bf93aece5db7050667075a1107ab380856b44a23"
upstream_commit: "4c293f306bc16a265c2d768af5d0cea138426054"
core_version: "0.1"
display_name: "Sega - Dreamcast/Naomi (Flycast 2021 LE)"
cores:
- "flycast2021le"
built_by: [amberelec]
systems:
- sega-dreamcast
- sega-naomi
- sega-atomiswave
notes: |
The libretro/flycast tree of 6 April 2022 (4c293f30, the repository now
answers as libretro/parallel-dc) with 21 commits by navy1978 on top that add
optional CPU, renderer and audio paths for RK3326/RK3566 handhelds. None of
them touches the code that opens system files.
AmberELEC builds this revision, renames the core option prefix from reicast
to flycast2021le and installs the library as flycast2021le_libretro.so.
ref: AmberELEC packages/games/libretro/flycast2021le/package.mk:5,19,50
Every system file lives in <system>/dc/.
ref: core/libretro/libretro.cpp:2189-2193
Dreamcast: the boot ROM is looked for as dc_boot.bin, dc_boot.bin.bin,
dc_bios.bin, dc_bios.bin.bin, the first that yields a full 2 MB read wins.
The HLE BIOS core option defaults to disabled. When no boot ROM loads, reios
boots the disc instead. Booting to the BIOS menu, or starting without a disc,
needs the real boot ROM and fails with -3 without it.
ref: core/hw/holly/sb_mem.cpp:51-65, core/hw/holly/sb_mem.cpp:215-233,
core/hw/flashrom/flashrom.h:54-67, core/hw/flashrom/flashrom.h:84-118,
core/nullDC.cpp:420-431, core/nullDC.cpp:455-463,
core/libretro/libretro_core_options.h:226-239, core/libretro/libretro.cpp:885-890
NAOMI and Atomiswave: a BIOS archive is opened as <system>/dc/<name> with .7z
then .zip appended. Each member is looked for in the game archive, its parent,
then the BIOS archive, by CRC32 and then by name. The BIOS table carries no
CRC32, so only the name matches. The member for the configured region is
tried first, then the first member listed. A game whose table entry names a
BIOS refuses to start without it, and the others default to naomi. Five archive
names are reachable from the game table: naomi, awbios, f355bios, f355dlx,
hod2bios. airlbios and naomigd have table entries but no game names them.
ref: core/hw/naomi/naomi_cart.cpp:77-180, core/hw/naomi/naomi_cart.cpp:227-247,
core/archive/archive.cpp:26-42, core/hw/naomi/naomi_roms.h:76-213
LoadRomFiles also reads naomi_boot.bin, naomi_boot.bin.bin, naomi_bios.bin,
naomi_bios.bin.bin and epr-21576d.bin for NAOMI, but naomi_cart_LoadRom calls
naomi_cart_Close, which clears bios_loaded, before the cartridge loads, so
that file never stands in for naomi.zip.
ref: core/hw/holly/sb_mem.cpp:59, core/nullDC.cpp:432-435, core/nullDC.cpp:77-81,
core/hw/naomi/naomi_cart.cpp:427-450, core/hw/naomi/naomi_cart.cpp:473-485
files:
- name: "dc_boot.bin"
path: "dc/dc_boot.bin"
aliases: ["dc_boot.bin.bin", "dc_bios.bin", "dc_bios.bin.bin"]
system: sega-dreamcast
required: false
hle_fallback: true
min_size: 2097152
validation: [size]
description: "Dreamcast boot ROM"
note: "Read as 2 MB into the system ROM, and a shorter file is rejected. Needed only to boot to the BIOS menu or to start without a disc."
source_ref: "source core/hw/holly/sb_mem.cpp:51-65, source core/hw/holly/sb_mem.cpp:215-229, source core/hw/flashrom/flashrom.h:54-67, source core/nullDC.cpp:420-431"
- name: "dc_nvmem.bin"
path: "dc/dc_nvmem.bin"
aliases: ["dc_flash_wb.bin", "dc_flash.bin", "dc_flash.bin.bin"]
system: sega-dreamcast
required: false
min_size: 131072
validation: [size]
description: "Dreamcast flash ROM"
note: "Loaded with the boot ROM and by the HLE path. A missing file leaves the flash blank and the core runs. Written back as dc_nvmem.bin."
source_ref: "source core/hw/holly/sb_mem.cpp:196-213, source core/hw/holly/sb_mem.cpp:231, source core/hw/holly/sb_mem.cpp:236-243, source core/hw/holly/sb_mem.cpp:271-278"
- name: "font.bin"
path: "dc/font.bin"
system: sega-dreamcast
required: false
description: "Dreamcast system font for the HLE BIOS"
note: "Read whole into the font table of the reios ROM image. Absent, a built-in font is copied there."
source_ref: "source core/reios/reios.cpp:736-755"
- name: "naomi.zip"
path: "dc/naomi.zip"
category: bios_zip
system: sega-naomi
required: true
description: "NAOMI BIOS archive"
note: "Default BIOS of every NAOMI game whose table entry names none, cartridge, .lst, .bin and .dat images alike. One member is loaded: the one for the configured region, else epr-21576h.ic27."
source_ref: "source core/hw/naomi/naomi_roms.h:132-189, source core/hw/naomi/naomi_cart.cpp:227-247, source core/hw/naomi/naomi_cart.cpp:473-485"
contents:
- name: "epr-21576h.ic27"
size: 2097152
description: "Japan"
- name: "epr-21578h.ic27"
size: 2097152
description: "Export"
- name: "epr-21577h.ic27"
size: 2097152
description: "USA"
- name: "epr-21579d.ic27"
size: 2097152
description: "Korea"
- name: "awbios.zip"
path: "dc/awbios.zip"
category: bios_zip
system: sega-atomiswave
required: true
description: "Atomiswave BIOS archive"
note: "Named by all 34 Atomiswave games. Loaded into the flash chip, whose writable part is then reloaded from the save directory."
source_ref: "source core/hw/naomi/naomi_roms.h:86-94, source core/hw/naomi/naomi_cart.cpp:89-93, source core/hw/naomi/naomi_cart.cpp:171-173"
contents:
- name: "bios0.ic23"
size: 131072
- name: "f355bios.zip"
path: "dc/f355bios.zip"
category: bios_zip
system: sega-naomi
required: true
description: "Ferrari F355 Challenge BIOS archive"
note: "Named by three Ferrari F355 Challenge entries, which refuse to start without it."
source_ref: "source core/hw/naomi/naomi_roms.h:95-103, source core/hw/naomi/naomi_cart.cpp:238-243"
contents:
- name: "epr-22851.ic27"
size: 2097152
description: "Export"
- name: "epr-22850.ic27"
size: 2097152
description: "USA"
- name: "epr-22849.ic27"
size: 2097152
description: "Japan"
- name: "f355dlx.zip"
path: "dc/f355dlx.zip"
category: bios_zip
system: sega-naomi
required: true
description: "Ferrari F355 Challenge Deluxe BIOS archive"
note: "Named by the f355 entry, which refuses to start without it."
source_ref: "source core/hw/naomi/naomi_roms.h:104-119, source core/hw/naomi/naomi_roms.h:1701, source core/hw/naomi/naomi_cart.cpp:238-243"
contents:
- name: "epr-21864.ic27"
size: 2097152
description: "Export"
- name: "epr-21863.ic27"
size: 2097152
description: "USA"
- name: "epr-21862.ic27"
size: 2097152
description: "Japan"
- name: "hod2bios.zip"
path: "dc/hod2bios.zip"
category: bios_zip
system: sega-naomi
required: true
description: "The House of the Dead 2 BIOS archive"
note: "Named by four House of the Dead 2 entries, which refuse to start without it."
source_ref: "source core/hw/naomi/naomi_roms.h:120-131, source core/hw/naomi/naomi_cart.cpp:238-243"
contents:
- name: "epr-21331.ic27"
size: 2097152
description: "Export"
- name: "epr-21330.ic27"
size: 2097152
description: "USA"
- name: "epr-21329.ic27"
size: 2097152
description: "Japan"
+130
View File
@@ -0,0 +1,130 @@
emulator: "hode"
type: standalone
core_classification: game_engine
source: "https://github.com/usineur/hode"
profiled_date: "2026-10-22"
source_commit: "59f3c466923c6b8d49e29176ff697a91165e7efc"
core_version: "0.2.9f"
display_name: "Heart of Darkness (hode)"
cores:
- "hode"
systems: [heart-of-darkness]
notes: |
Gregory Montoir's reimplementation of the Heart of Darkness engine (Amazing
Studio, 1998), in usineur's fork with the SDL2, PSP and Wii front ends. It
plays the Windows demo and CD data and the PlayStation data. EmuELEC builds
this revision and starts it with --datapath and --savepath both set to
/storage/roms/ports/hode/.
ref: README.txt:9-23,
EmuELEC packages/sx05re/emuelec-ports/hodesdl/package.mk:2-5,
EmuELEC packages/sx05re/emuelec-ports/sources/ports.yaml:272-283
The data directory is walked at start for files ending in hod.dem,
setup.dat, setup.dax, .paf, _hod.lvl, _hod.sss or _hod.mst, and a name is
then matched case-insensitively against that list. A missing rock_hod.lvl
stops the version probe, and a missing fort_hod.lvl marks the data as the
demo, which plays the first level only.
ref: fs_posix.cpp:9-29, fs_posix.cpp:43-54, resource.cpp:28-39,
resource.cpp:100-136
Each level opens <name>_HOD.LVL, and a missing one stops the engine with
"Unable to open". Its .MST (monster logic) and .SSS (sounds) are optional:
a missing one is logged and left empty, and the PlayStation data carries
the sounds inside the .LVL. The cutscenes come from the first of hod.paf,
hod_demo.paf, hod_demo2.paf and hod_oem.paf found, and are skipped
without one. hode.ini, read from the working directory, holds display and
engine settings, setup.cfg the menu settings and progress.
ref: resource.cpp:308-343, paf.cpp:11-30, main.cpp:31, main.cpp:129-135,
resource.cpp:21
files:
- name: "setup.dat"
aliases: ["SETUP.DAX"]
category: game_data
system: heart-of-darkness
required: true
description: "Menus, icons, fonts and level checkpoints (SETUP.DAX on the PlayStation disc)"
note: "SETUP.DAX is tried when setup.dat is absent and selects the PlayStation data. A header version other than 10 or 11 is refused."
source_ref: "resource.cpp:23-24, resource.cpp:178-187"
- name: "hod.paf"
aliases: ["hod_demo.paf", "hod_demo2.paf", "hod_oem.paf"]
category: game_data
system: heart-of-darkness
required: false
description: "Cutscene videos"
note: "The first of the four names found is used, and cutscenes are skipped without any."
source_ref: "paf.cpp:11-30"
- name: "rock_hod.lvl"
category: game_data
system: heart-of-darkness
required: true
description: "Level 1 data (canyon of death)"
note: "Read at the first level, and the version probe reads its header."
source_ref: "resource.cpp:28-39, resource.cpp:308-319"
- name: "fort_hod.lvl"
category: game_data
system: heart-of-darkness
required: false
description: "Level 2 data (swamp lands)"
note: "Its presence tells the full game from the demo. The engine stops with \"Unable to open\" on reaching this level without it."
source_ref: "resource.cpp:28-39, resource.cpp:308-319"
- name: "pwr1_hod.lvl"
category: game_data
system: heart-of-darkness
required: false
description: "Level 3 data (magic lake)"
note: "The engine stops with \"Unable to open\" on reaching this level without it."
source_ref: "resource.cpp:28-39, resource.cpp:308-319"
- name: "isld_hod.lvl"
category: game_data
system: heart-of-darkness
required: false
description: "Level 4 data (space island)"
note: "The engine stops with \"Unable to open\" on reaching this level without it."
source_ref: "resource.cpp:28-39, resource.cpp:308-319"
- name: "lava_hod.lvl"
category: game_data
system: heart-of-darkness
required: false
description: "Level 5 data (river of fire)"
note: "The engine stops with \"Unable to open\" on reaching this level without it."
source_ref: "resource.cpp:28-39, resource.cpp:308-319"
- name: "pwr2_hod.lvl"
category: game_data
system: heart-of-darkness
required: false
description: "Level 6 data (caverns of doom)"
note: "The engine stops with \"Unable to open\" on reaching this level without it."
source_ref: "resource.cpp:28-39, resource.cpp:308-319"
- name: "lar1_hod.lvl"
category: game_data
system: heart-of-darkness
required: false
description: "Level 7 data (into the lair)"
note: "The engine stops with \"Unable to open\" on reaching this level without it."
source_ref: "resource.cpp:28-39, resource.cpp:308-319"
- name: "lar2_hod.lvl"
category: game_data
system: heart-of-darkness
required: false
description: "Level 8 data (heart of darkness)"
note: "The engine stops with \"Unable to open\" on reaching this level without it."
source_ref: "resource.cpp:28-39, resource.cpp:308-319"
- name: "dark_hod.lvl"
category: game_data
system: heart-of-darkness
required: false
description: "Level 9 data"
note: "The engine stops with \"Unable to open\" on reaching this level without it."
source_ref: "resource.cpp:28-39, resource.cpp:308-319"
+48
View File
@@ -0,0 +1,48 @@
emulator: "Mupen64Plus (libretro, 2019)"
type: libretro
core_classification: frozen_snapshot
source: "https://github.com/libretro/mupen64plus-libretro"
upstream: "https://github.com/libretro/mupen64plus-libretro"
profiled_date: "2026-10-22"
source_commit: "ab8134ac90a567581df6de4fc427dd67bfad1b17"
core_version: "2.5"
display_name: "Nintendo - Nintendo 64 (Mupen64Plus 2019)"
cores:
- "mupen64plus_32b"
built_by: [emuelec]
systems:
- nintendo-64
notes: |
The libretro Mupen64Plus core before Mupen64Plus-Next replaced it, with
GLideN64, the cxd4 and hle RSP plugins and a vendored mupen64plus-core in one
library. The repository is archived and its master stops at this commit.
EmuELEC builds it for its 32-bit ARM devices and installs the library as
mupen64plus_32b_libretro.so.
ref: EmuELEC packages/sx05re/libretro/mupen64plus/package.mk:21-27,72-75
The core opens no BIOS or firmware. Cartridge boot is simulated: the soft
reset fills the registers and the RSP memory the CIC x105 check expects and
jumps straight to IPL3. .ndd is among the accepted extensions, but the
vendored core carries no 64DD device and asks for no IPL.
ref: libretro/libretro.c:348, mupen64plus-core/src/r4300/r4300.c:106-159
Every shared data lookup lands in <system>/Mupen64plus/. On init the core
creates that directory and writes the ROM database it carries compiled in
over mupen64plus.ini there, then reads it back, so the file is never
obtained. GLideN64 applies its compiled-in per ROM overrides, then those of a
GLideN64.custom.ini in the same directory if one exists. Hi-res texture
packs are read from the hires_texture directory under it when the
txHiresEnable option is on. Neither has a canonical artifact.
ref: custom/mupen64plus-core/api/config.c:1288-1300, libretro/libretro.c:369-395,
mupen64plus-core/src/main/rom.c:399-408,
custom/GLideN64/mupenplus/Config_mupenplus.cpp:33-47,
custom/GLideN64/mupenplus/Config_mupenplus.cpp:158-159,
custom/GLideN64/mupenplus/CommonAPIImpl_mupenplus.cpp:52-66,
GLideN64/src/Config.cpp:92-94
cxd4's rsp_conf.bin is read only by the zilmar variant of update_conf, behind
#if !defined(M64P_PLUGIN_API), and the Makefile defines that macro.
ref: custom/mupen64plus-rsp-cxd4/module.c:358-380, Makefile:378
files: []
+159
View File
@@ -0,0 +1,159 @@
emulator: "Mupen64Plus"
type: standalone
core_classification: official_port
source: "https://github.com/mupen64plus/mupen64plus-ui-console"
upstream: "https://github.com/mupen64plus/mupen64plus-core"
profiled_date: "2026-10-22"
source_commit: "c8ac4862a019d7885b24927d9b4db5dd3e42a528"
upstream_commit: "6dca4c15370ac3e2171ce7b31426695f8f39b460"
core_version: "2.6.0"
display_name: "Nintendo - Nintendo 64 (Mupen64Plus)"
cores:
- "mupen64plus"
- "mupen64plussa"
systems:
- nintendo-64
- nintendo-64dd
mode: standalone
notes: |
The mupen64plus program is the console front end, which loads the
mupen64plus-core library and four plugins. AmberELEC builds the front end at
c8ac4862 and the core at 6dca4c15 with the rice and glide64mk2 video, hle RSP,
sdl input and sdl audio plugins, and EmuELEC builds the same set at older
revisions (front end 32e27344, core 57828d93), whose media loader, IPL format
check and ROM database lookup read the same files. Both build the core with
USE_GLES=1, which turns the OpenGL on-screen display off.
ref: AmberELEC packages/games/emulators/mupen64plussa/mupen64plussa-core/package.mk:5,13,
EmuELEC packages/sx05re/emulators/mupen64plussa/mupen64plussa-core/package.mk:5,
upstream projects/unix/Makefile:374-388
Cartridge boot needs no boot ROM. The PIF boot sequence is simulated and the
CIC-NUS-6105 challenge is answered by an algorithm rather than a stored table.
ref: upstream src/device/pif/bootrom_hle.c:48,
upstream src/device/r4300/interrupt.c:445,496,
upstream src/device/pif/n64_cic_nus_6105.c:93
64DD: the front end holds one IPL path and one disk path, the 64DD section's
IPL-ROM and Disk keys, both empty by default and set by --dd-ipl-rom and
--dd-disk. It reads them back from mupen64plus.cfg when the core asks and
leaves the core's region callback empty, so whichever image the key names is
loaded whatever region the disk carries. The core asks for the IPL only after
a disk loads, reads it whole and byteswaps it after identifying its first
word as 0x80270740 (z64), 0x40072780 (n64) or 0x27804007 (v64). Any other
value, or a missing file, disables 64DD and the cartridge runs alone.
ref: src/main.c:321-322, src/main.c:729-737, src/main.c:803-892,
upstream src/main/main.c:1183-1248, upstream src/main/main.c:1719-1735
AmberELEC's mupen64plus.cfg sets IPL-ROM to "" and its m64p.sh passes no
64DD option, and its n64 system lists no disk extension, so 64DD is never
reached there. EmuELEC's m64p.sh passes --dd-ipl-rom when <game>.ndd sits
beside the cartridge, pointing at bios/Mupen64plus/N64DD IPLROM (J).n64, else
bios/Mupen64plus/IPL.n64.
ref: AmberELEC packages/games/emulators/mupen64plussa/mupen64plussa-core/config/mupen64plus-RG351V.cfg:4-9,
AmberELEC packages/games/emulators/mupen64plussa/mupen64plussa-core/m64p.sh:102-112,
EmuELEC packages/sx05re/emulators/mupen64plussa/mupen64plussa-core/m64p.sh:16,65-77,94-99
Transfer Pak carts come from the Transferpak keys GB-rom-1 to GB-rom-4 and
their GB-ram counterparts, read the same way. The core fixes no name, size or
hash for them, so neither the cart nor its save carries an entry here.
ref: src/main.c:856-872, upstream src/main/main.c:1452-1478
Shared data files are searched in --datadir, then the core's SharedDataPath,
then /usr/local/share/mupen64plus, /usr/share/mupen64plus and the working
directory. The packages install the core's data directory and each plugin's
.ini there.
ref: upstream src/api/config.c:1610-1624, upstream src/osal/files_unix.c:43-48,
upstream src/osal/files_unix.c:150-170
Optional content with no canonical artifact: hi-res texture packs read by
rice and glide64mk2 from the user data directory. Written rather than
obtained: mupen64plus.cfg, the mempak, eeprom, flashram and sram saves given
default content when absent, the 64DD disk save, savestates and screenshots.
ref: upstream src/main/main.c:1709-1712
files:
- name: "64DD_IPL_JP.n64"
aliases: ["64DD_IPL_v12_JPN.bin"]
system: nintendo-64dd
required: true
unread_on: [amberelec]
description: "64DD IPL ROM (Japanese retail)"
note: "The image every commercially released disk needs. No name is fixed by the code: the path comes from the IPL-ROM key or --dd-ipl-rom. Read whole, then byteswapped after identifying the first word as z64, n64 or v64. Size is not checked and no hash is computed."
source_ref: "src/main.c:321, src/main.c:729-732, src/main.c:874-877, upstream src/main/main.c:1183-1248"
- name: "64DD_IPL_US.n64"
aliases: ["64DD_IPL_USA.bin", "IPL_USA.n64"]
system: nintendo-64dd
required: true
unread_on: [amberelec]
description: "64DD IPL ROM (American retail)"
note: "Needed for a disk whose system data carries the US region word. The front end holds one IPL path and leaves the region callback empty, so this image is loaded by putting it in the same key. Same load path and format check as the Japanese image."
source_ref: "src/main.c:874-892, upstream src/main/main.c:1183-1248"
- name: "64DD_IPL_DEV.n64"
aliases: ["64DD_IPL_DEV.bin", "IPL_DEV.n64"]
system: nintendo-64dd
required: true
unread_on: [amberelec]
description: "64DD IPL ROM (development)"
note: "Needed for a disk whose system data carries the development region word. Shares the single IPL key with the other two images. Same load path and format check."
source_ref: "src/main.c:874-892, upstream src/main/main.c:1183-1248"
- name: "mupen64plus.ini"
system: nintendo-64
required: false
bundled: true
size: 449082
sha1: "37b26dbe0df63c2887f958978e1638e2ddead1bc"
description: "ROM database"
note: "Per ROM save type, player count, rumble and counter settings, looked up by MD5 or CRC. Absent, the core logs an error and runs every ROM on defaults."
source_ref: "upstream src/main/rom.c:590-604"
- name: "mupencheat.txt"
system: nintendo-64
required: false
bundled: true
size: 1272116
sha1: "f8b083f6a5a9ef4a28957792ca65d7b50f7af1bd"
description: "Cheat code database"
note: "Read by the front end for the ROM's section when --cheats is given. Absent, a warning is logged and no cheat is offered."
source_ref: "src/cheat.c:33, src/cheat.c:202-216, src/cheat.c:346-367, src/main.c:1040-1041"
- name: "font.ttf"
system: nintendo-64
required: false
bundled: true
size: 65932
sha1: "1d7f6fa0c34e3d50be52c16a0816bebac309fe41"
description: "On-screen display font"
note: "Opened by the core's OpenGL on-screen display, which a USE_GLES=1 build leaves out."
source_ref: "upstream src/osd/osd.c:40, upstream src/osd/osd.c:227, upstream projects/unix/Makefile:377-388"
- name: "InputAutoCfg.ini"
system: nintendo-64
required: false
bundled: true
size: 51631
sha1: "c71834f8e0749ba28135cefbec370a8ac6b3c26c"
description: "Controller auto-configuration database of the sdl input plugin"
note: "Matched against the SDL joystick name to fill the controller mapping."
source_ref: "mupen64plus-input-sdl src/autoconfig.c:196-218"
- name: "RiceVideoLinux.ini"
system: nintendo-64
required: false
bundled: true
size: 23195
sha1: "7299996b11d37dd644d8c01adeb04fae15352983"
description: "Per ROM settings of the rice video plugin"
source_ref: "mupen64plus-video-rice src/Config.cpp:38, mupen64plus-video-rice src/Config.cpp:933-945"
- name: "Glide64mk2.ini"
system: nintendo-64
required: false
bundled: true
size: 17454
sha1: "523de4d0c142bc112a7d94df26c0fe42a049d581"
description: "Per ROM settings of the glide64mk2 video plugin"
note: "PluginStartup returns M64ERR_FILES without it, so the glide64mk2 renderer does not start."
source_ref: "mupen64plus-video-glide64mk2 src/Glide64/Main.cpp:1580-1591, mupen64plus-video-glide64mk2 src/Glide64/Ini.cpp:134-216"
+1 -1
View File
@@ -8,7 +8,7 @@ source_commit: "12edd2c74a517ff86dfa8cfc71ad75e4c10486d5"
core_version: "2.6.0"
display_name: "Nintendo - Nintendo 64 (Mupen64Plus-Next)"
systems: [nintendo-64, nintendo-64dd]
cores: [mupen64plus_next, mupen64plus_next_develop, mupen64plus_next_gles3, mupen64plus_next_gles2, mupen64plus, mupen64plus-next, mupen64plus_nx, "mupen64plus_next_alt"]
cores: [mupen64plus_next, mupen64plus_next_develop, mupen64plus_next_gles3, mupen64plus_next_gles2, mupen64plus-next, mupen64plus_nx, "mupen64plus_next_alt"]
files:
- name: "IPL.n64"
+45
View File
@@ -0,0 +1,45 @@
emulator: "P/EMU/SDL"
type: standalone
core_classification: community_fork
source: "https://github.com/yonkuma/piemu"
upstream: "https://github.com/autch/piemu"
profiled_date: "2026-10-22"
source_commit: "0785214f13746bdfd709b1909f007e213b470ba1"
upstream_commit: "23208626e16e53b73fd21a2fbd0c429338625dc4"
core_version: "git"
display_name: "Aquaplus - P/ECE (P/EMU/SDL)"
cores:
- "piemu"
systems:
- aquaplus-piece
notes: |
Autch's SDL port of Naoyuki Sawa's P/EMU, with two commits by YonKuma
that add game controller input and a quit hotkey. AmberELEC builds this
revision and installs piemu with the mkpfi and pfar tools built from the
same tree.
ref: AmberELEC packages/games/emulators/piemu/package.mk:5-6,19-29
The emulator reads one file, piece.pfi, from its working directory: a PFI
header with the SYSTEMINFO block, then the flash contents at the stored
offset. A missing file, a signature other than PFI1 or a SYSTEMINFO of the
wrong size stops it.
ref: piemu.c:5-20, piemu.c:25-45
That image holds the P/ECE kernel, its file system and the installed
programs. AmberELEC's piemu.sh builds it for every launch in /tmp/piemu:
mkpfi writes a fresh image from the kernel update image all.bin in the BIOS
directory, then pfar adds the .pex program, its .sav file or the files a
.pfs list names. A .pfi game never starts: the extension test lacks its `$`,
so the image is not copied into the working directory.
ref: AmberELEC packages/games/emulators/piemu/bin/piemu.sh:10,22-54
files:
- name: "all.bin"
path: "all.bin"
system: aquaplus-piece
required: true
size: 516096
description: "P/ECE kernel update image (PieceSystem 1.20, update/all.bin)"
note: "mkpfi checks the \"Piece Kernel Program\" signature at offset 8, writes the boot vector 0x00C02004 into sector 0, leaves sector 1 blank and copies the file from sector 2. Called without -2mb, it builds the 512 KB flash layout of factory units."
source_ref: "source tools/mkpfi.c:13, source tools/mkpfi.c:30-62, source tools/mkpfi.c:64-128"
+41
View File
@@ -0,0 +1,41 @@
emulator: "Super Mario War"
type: standalone
core_classification: game_engine
source: "https://github.com/mmatyas/supermariowar"
profiled_date: "2026-10-22"
source_commit: "ed60ed45e296ff88a8883cbc51f5bf5aed880636"
core_version: "2.0.0"
display_name: "Super Mario War (smw)"
cores:
- "smw"
systems: [super-mario-war]
notes: |
The open source continuation of the Super Mario War fan game. The code and
the game data live in two repositories: the engine reads graphics, sounds,
music, maps, worlds and tours from a data directory, ./data beside the
executable unless --datadir names another. A graphics or sound file missing
from the selected pack falls back to the Classic pack, and missing menu fonts
or start graphics stop the game at its splash screen.
ref: src/common/global.cpp:24-29, src/smw/main.cpp:295-296,
src/common/path.cpp:148-206, src/smw/GSSplashScreen.cpp:53-80
EmuELEC builds this revision with a patch moving the configuration to
/emuelec/configs/smw. Its run_smw.sh fetches mmatyas/supermariowar-data at
da13a367 into /storage/roms/ports/smw/data on first start, when
worlds/Big JM_Mixed River.txt is absent, and passes that directory as
--datadir.
ref: EmuELEC packages/sx05re/emuelec-ports/supermariowar/package.mk:4-5,
EmuELEC packages/sx05re/emuelec-ports/supermariowar/scripts/run_smw.sh:10-14,25-43
files:
- name: "Super Mario War data"
path: "data/"
type: directory
category: game_data
system: super-mario-war
required: true
installed_on: [emuelec]
description: "Game data tree (mmatyas/supermariowar-data)"
note: "gfx/packs/menu/menu_font_small.png, menu_font_large.png, menu_background.png, menu_smw.png and menu_version.png are checked at the splash screen and stop the game when missing."
source_ref: "src/common/global.cpp:24-29, src/smw/GSSplashScreen.cpp:53-80"
+40
View File
@@ -0,0 +1,40 @@
emulator: "SuperTux"
type: standalone
core_classification: game_engine
source: "https://github.com/SuperTux/supertux"
profiled_date: "2026-10-22"
source_commit: "37cddf24a4abfdec7931a84afd9e87fb8ea18767"
core_version: "0.6.3-1020-g37cddf24a"
display_name: "SuperTux (supertux2)"
cores:
- "supertux2"
systems: [supertux]
notes: |
SuperTux 2, the free platformer. The program is supertux2 and every asset
(images, levels, music, sounds, fonts, scripts) is read through PhysFS from
the data directory: the one given on the command line, else
$SUPERTUX2_DATA_DIR, else the build tree when it holds credits.stxt, else the
installed share directory beside the binary. A data directory that cannot
be mounted is logged and the game has nothing to load.
ref: src/supertux/main.cpp:197-266
EmuELEC builds this revision, 1020 commits past the v0.6.3 tag its package
comment names, without the data. On first start its run_supertux.sh
downloads the v0.6.3 source archive, keeps its data directory as
/storage/roms/ports/supertux, renames levels/misc/menu.stl.in and fills its
logo name, then runs supertux2 with SUPERTUX2_DATA_DIR pointing there. The
data is the v0.6.3 tree, not that of the built revision.
ref: EmuELEC packages/sx05re/emuelec-ports/supertux/package.mk:4-9,
EmuELEC packages/sx05re/emuelec-ports/supertux/scripts/run_supertux.sh:10-14,45-66
files:
- name: "SuperTux data"
path: "data/"
type: directory
category: game_data
system: supertux
required: true
installed_on: [emuelec]
description: "Game data tree (data/ of the SuperTux source)"
source_ref: "src/supertux/main.cpp:224-265"
+47
View File
@@ -0,0 +1,47 @@
emulator: "SuperTuxKart"
type: standalone
core_classification: game_engine
source: "https://github.com/supertuxkart/stk-code"
profiled_date: "2026-10-22"
source_commit: "fab79150111944c9e33396db68eb5de84f2efeaa"
core_version: "git"
display_name: "SuperTuxKart"
cores:
- "supertuxkart"
systems: [supertuxkart]
notes: |
The free kart racer. A development build announces its version as git, and
the data directory is accepted only when it holds the marker file
supertuxkart.<version>, here supertuxkart.git. It is
$SUPERTUXKART_DATADIR/data, else the first of ./data, ../data, ../../data
and the data directories next to the executable that holds the marker, else
the build-time install path. No marker stops the game with a fatal error.
The code's data directory holds the configuration, interface, shaders and
fonts. Karts, tracks, music, sounds, models and textures come from the
separate assets set, read from $SUPERTUXKART_ASSETS_DIR, ../../stk-assets
or ../../supertuxkart-assets relative to the data directory, or from the
same tree.
ref: CMakeLists.txt:5-7, src/utils/constants.cpp:33,
src/io/file_manager.cpp:170-262, src/io/file_manager.cpp:269-292
EmuELEC builds this revision without data. On first start its
run_supertuxkart.sh downloads the 1.4 tag of stk-code, keeps its data
directory under /storage/roms/ports/supertuxkart, unpacks the 1.4
stk-assets-mobile set into it, creates the supertuxkart.git marker the 1.4
tree lacks (it carries supertuxkart.1.4), and runs supertuxkart with
SUPERTUXKART_DATADIR set to that directory.
ref: EmuELEC packages/sx05re/emuelec-ports/supertuxkart/package.mk:4-11,
EmuELEC packages/sx05re/emuelec-ports/supertuxkart/scripts/run_supertuxkart.sh:10-34
files:
- name: "SuperTuxKart data"
path: "data/"
type: directory
category: game_data
system: supertuxkart
required: true
installed_on: [emuelec]
description: "Game data tree (data/ of stk-code with the stk-assets set)"
note: "Must hold supertuxkart.git for this build."
source_ref: "src/io/file_manager.cpp:179-225"