mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-29 23:27:19 -05:00
chore: merge the remaining platform core profiles
This commit is contained in:
commit
57cbff781a
22 files changed
+3326
-5
No files matched your search
@@ -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"
|
||||
@@ -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: []
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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,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
|
||||
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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: []
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
Reference in new issue
Block a user