chore: recale the profile refs onto their pins

Upstream moved under 145 profiles: 679 refs shifted and 452 followed a
renamed file, against 6,483 that still anchor where they were written.
The recale rewrites the located ranges only, keeping the annotations and
the sentences that carry them, and 106 pins advance in the same commit
because refs and source_commit name one revision or the profile
describes two at once.

Nothing here was guessed. The 183 refs that are CHANGED, GONE or
AMBIGUOUS are untouched, and the 57 profiles holding them keep their old
pin until someone reads the diff: profile_sync refuses to recale a
profile while any of its refs needs a re-read. trident kept its pin too,
its annotated ref being one the writer will not rewrite.
This commit is contained in:
Abdessamad Derraz committed 2026-09-04 14:41:44 +02:00
1 parent 3891d897a6
commit 11da070128
145 files changed
+624 -624

No files matched your search

+39 -39
View File
@@ -20,8 +20,8 @@ notes: |
rather than pulled as a submodule, and a JNI layer of about six thousand lines
replaces the Qt front end. The vendored tree reports itself as 0.0.41-alpha.1
at RPCS3 commit 40e9ee5a.
ref: aps3e/app/src/main/cpp/rpcs3/rpcs3/git-version.h:3,
aps3e/app/src/main/cpp/rpcs3/rpcs3/rpcs3_version.cpp:29
ref: app/src/main/cpp/rpcs3/rpcs3/git-version.h:3,
app/src/main/cpp/rpcs3/rpcs3/rpcs3_version.cpp:29
Source drops land on successive branches, not on the default one. Release 2.41
of 2026-07-30 is the commit titled 2.41 at the head of main4; the lightweight
@@ -31,7 +31,7 @@ notes: |
the only gradle file committed is app/build.gradle.bak, which carries the
placeholder 1.19a and is renamed and completed with the signing block at build
time.
ref: aps3e/README.md, aps3e/app/build.gradle.bak:16
ref: aps3e/README.md, app/build.gradle.bak:16
Emulator paths derive from APS3E_DATA_DIR, set by the Java layer to the
external files directory of the package. The config directory holds dev_flash,
@@ -39,8 +39,8 @@ notes: |
custom font directory sits at the data root, and the custom GPU driver
directory sits in internal storage because the external filesystem cannot
carry an executable mapping.
ref: aps3e/app/src/main/cpp/aps3e_rp3_impl.cpp:127-133,
aps3e/app/src/main/java/aenu/aps3e/Application.java:21-64
ref: app/src/main/cpp/aps3e_rp3_impl.cpp:139-145,
app/src/main/java/aenu/aps3e/Application.java:21-64
The PS3 firmware is required and nothing runs without it. Three independent
gates enforce it: the game list refuses to launch an entry when the marker
@@ -51,11 +51,11 @@ notes: |
EmulatorActivity, which does not pass through the game list. The shipped
configuration leaves Libraries Control empty, so liblv2.sprx keeps its default
entry in the module list and the check fires.
ref: aps3e/app/src/main/java/aenu/aps3e/MainActivity.java:143-145,
aps3e/app/src/main/java/aenu/aps3e/MainActivity.java:187-190,
aps3e/app/src/main/java/aenu/aps3e/QuickStartActivity.java:316-318,
aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/System.cpp:2747-2767,
aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_prx.cpp:86,
ref: app/src/main/java/aenu/aps3e/MainActivity.java:144-146,
app/src/main/java/aenu/aps3e/MainActivity.java:188-191,
app/src/main/java/aenu/aps3e/QuickStartActivity.java:317-319,
app/src/main/cpp/rpcs3/rpcs3/Emu/System.cpp:2755-2775,
app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_prx.cpp:86,
aps3e/app/src/main/assets/config/config.yml
Overlay text is drawn from a font list chosen by the Font File Selection
@@ -67,17 +67,17 @@ notes: |
come from the firmware rather than from a separate download. Custom points all
three classes at one file and reverts to From Firmware when that path no
longer exists.
ref: aps3e/app/src/main/cpp/aps3e_rp3_impl.cpp:192-222,
aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/RSX/Overlays/overlay_fonts.cpp:113-118
ref: app/src/main/cpp/aps3e_rp3_impl.cpp:204-234,
app/src/main/cpp/rpcs3/rpcs3/Emu/RSX/Overlays/overlay_fonts.cpp:113-118
Vulkan is reached through a loader chosen before the emulator starts. The
global config YAML is read directly for Use Custom Driver and Custom Driver
Library Path, and the named library is dlopened when both are set and the path
exists; otherwise the system libvulkan.so is used. Drivers are imported either
as a bare shared object or as a zip whose meta.json names the library.
ref: aps3e/app/src/main/cpp/aps3e_emu.cpp:875-899,
aps3e/app/src/main/cpp/vkapi.cpp:21,
aps3e/app/src/main/java/aenu/aps3e/EmulatorSettings.java:1229-1324
ref: app/src/main/cpp/aps3e_emu.cpp:945-969,
app/src/main/cpp/vkapi.cpp:21,
app/src/main/java/aenu/aps3e/EmulatorSettings.java:1232-1327
Encrypted disc images are supported by a loader that has no counterpart in the
desktop code line. Launching an ISO makes the Java layer look for a sidecar key
@@ -86,20 +86,20 @@ notes: |
as a hex string, or exactly 16 bytes, read as raw bytes, and installed as an
AES-128 decryption context. A 3k3y watermark at offset 0xF70 is recognised
separately and needs no key.
ref: aps3e/app/src/main/java/aenu/aps3e/Utils.java:170-190,
aps3e/app/src/main/java/aenu/aps3e/EmulatorActivity.java:147-153,
aps3e/app/src/main/cpp/rpcs3/rpcs3/Loader/iso.cpp:354-399,
aps3e/app/src/main/cpp/rpcs3/rpcs3/Loader/iso.cpp:508-554
ref: app/src/main/java/aenu/aps3e/Utils.java:185-205,
app/src/main/java/aenu/aps3e/EmulatorActivity.java:148-154,
app/src/main/cpp/rpcs3/rpcs3/Loader/iso.cpp:354-399,
app/src/main/cpp/rpcs3/rpcs3/Loader/iso.cpp:508-554
One import entry point takes EDAT, RAP and PKG. A RAP is copied verbatim into
the exdata folder of user 00000001 and rejected unless it is exactly 16 bytes.
An EDAT is parsed for its NPD header, rejected below 0x90 bytes or without the
NPD magic, and written to the same folder under the content id the header
carries. A PKG goes through the package reader and lands in dev_hdd0.
ref: aps3e/app/src/main/java/aenu/aps3e/MainActivity.java:594-605,
aps3e/app/src/main/java/aenu/aps3e/Emulator.java:820-844,
aps3e/app/src/main/cpp/aps3e_emu.cpp:801-829,
aps3e/app/src/main/cpp/aps3e_emu.cpp:783-793
ref: app/src/main/java/aenu/aps3e/MainActivity.java:647-658,
app/src/main/java/aenu/aps3e/Emulator.java:820-844,
app/src/main/cpp/aps3e_emu.cpp:871-899,
app/src/main/cpp/aps3e_emu.cpp:853-863
patch.yml, compatibility_table.json and database_config.json ship inside the
APK as assets and are not user supplied.
@@ -119,7 +119,7 @@ files:
SCEPKG keys and their inner TARs extracted over dev_flash. The Java layer
creates dev_flash/.installed once the native call returns true. No digest
of the file itself is compared against anything.
source_ref: "aps3e/app/src/main/cpp/aps3e_emu.cpp:587-757, aps3e/app/src/main/cpp/emulator_aps3e.cpp:1045, aps3e/app/src/main/java/aenu/aps3e/MainActivity.java:538-570, aps3e/app/src/main/res/values/strings.xml:108-110"
source_ref: "app/src/main/cpp/aps3e_emu.cpp:657-827, app/src/main/cpp/emulator_aps3e.cpp:1078, app/src/main/java/aenu/aps3e/MainActivity.java:591-623, app/src/main/res/values/strings.xml:120-122"
- name: "<game>.dkey"
aliases: ["<game>.key"]
@@ -133,7 +133,7 @@ files:
and passed down as a second descriptor. 32 bytes are read as a hex string
and converted, 16 bytes are taken as raw; any other length fails the key
check. An image whose odd regions are encrypted does not boot without it.
source_ref: "aps3e/app/src/main/java/aenu/aps3e/Utils.java:170-190, aps3e/app/src/main/cpp/rpcs3/rpcs3/Loader/iso.cpp:354-399, aps3e/app/src/main/cpp/rpcs3/rpcs3/Loader/iso.cpp:850-870"
source_ref: "app/src/main/java/aenu/aps3e/Utils.java:185-205, app/src/main/cpp/rpcs3/rpcs3/Loader/iso.cpp:354-399, app/src/main/cpp/rpcs3/rpcs3/Loader/iso.cpp:850-870"
- name: "<content_id>.rap"
required: false
@@ -146,7 +146,7 @@ files:
dev_hdd0/home/00000001/exdata under the name it was given. The import is
refused unless the source is exactly 16 bytes. SELF decryption looks the
matching file up in that folder by content id, with a lowercase extension.
source_ref: "aps3e/app/src/main/java/aenu/aps3e/MainActivity.java:596-600, aps3e/app/src/main/java/aenu/aps3e/Emulator.java:820-844, aps3e/app/src/main/cpp/rpcs3/rpcs3/Crypto/unself.cpp:1271-1286, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/system_utils.cpp:391"
source_ref: "app/src/main/java/aenu/aps3e/MainActivity.java:649-653, app/src/main/java/aenu/aps3e/Emulator.java:820-844, app/src/main/cpp/rpcs3/rpcs3/Crypto/unself.cpp:1271-1286, app/src/main/cpp/rpcs3/rpcs3/Emu/system_utils.cpp:391"
- name: "<content_id>.edat"
required: false
@@ -158,7 +158,7 @@ files:
Imported through the same entry. The NPD header is read and the file
refused below 0x90 bytes or when the magic is not NPD, then written whole
to dev_hdd0/home/00000001/exdata under the content id the header declares.
source_ref: "aps3e/app/src/main/java/aenu/aps3e/MainActivity.java:601-605, aps3e/app/src/main/cpp/aps3e_emu.cpp:801-829, aps3e/app/src/main/cpp/emulator_aps3e.cpp:1052, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/system_utils.cpp:413"
source_ref: "app/src/main/java/aenu/aps3e/MainActivity.java:654-658, app/src/main/cpp/aps3e_emu.cpp:871-899, app/src/main/cpp/emulator_aps3e.cpp:1085, app/src/main/cpp/rpcs3/rpcs3/Emu/system_utils.cpp:413"
- name: "<font>.ttf"
aliases: ["<font>.ttc", "<font>.otf"]
@@ -172,7 +172,7 @@ files:
classes at once, and only while Font File Selection is Custom. The setting
reverts to From Firmware when the stored path no longer resolves, so the
firmware faces cover the absence.
source_ref: "aps3e/app/src/main/java/aenu/aps3e/EmulatorSettings.java:1326-1346, aps3e/app/src/main/cpp/aps3e_rp3_impl.cpp:203-215, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/system_config.h:401-402"
source_ref: "app/src/main/java/aenu/aps3e/EmulatorSettings.java:1329-1349, app/src/main/cpp/aps3e_rp3_impl.cpp:215-227, app/src/main/cpp/rpcs3/rpcs3/Emu/system_config.h:401-402"
- name: "<driver>.so"
aliases: ["<driver>.zip"]
@@ -186,19 +186,19 @@ files:
from the global config YAML before the emulator initialises and dlopened in
place of the system loader. The system libvulkan.so is used when Use Custom
Driver is off, the path is empty, or the file is gone.
source_ref: "aps3e/app/src/main/java/aenu/aps3e/EmulatorSettings.java:1229-1324, aps3e/app/src/main/cpp/aps3e_emu.cpp:875-899, aps3e/app/src/main/cpp/vkapi.cpp:21, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/system_config.h:209-211"
source_ref: "app/src/main/java/aenu/aps3e/EmulatorSettings.java:1232-1327, app/src/main/cpp/aps3e_emu.cpp:945-969, app/src/main/cpp/vkapi.cpp:21, app/src/main/cpp/rpcs3/rpcs3/Emu/system_config.h:209-211"
# Layout produced by extracting PS3UPDAT.PUP, and the paths this tree reads from it.
dev_flash:
path: "config/dev_flash/"
source_ref: "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/vfs_config.h:15, aps3e/app/src/main/cpp/aps3e_rp3_impl.cpp:127-129"
source_ref: "app/src/main/cpp/rpcs3/rpcs3/Emu/vfs_config.h:15, app/src/main/cpp/aps3e_rp3_impl.cpp:139-141"
note: >-
Mounted at /dev_flash and rooted at the config directory. Written only by the
firmware installer, which extracts the dev_flash_ packages of the PUP into it.
sys_external:
path: "dev_flash/sys/external/"
source_ref: "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/PPUModule.cpp:2608-2610, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_prx.cpp:207"
source_ref: "app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/PPUModule.cpp:2608-2610, app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_prx.cpp:207"
note: >-
Firmware SPRX modules. liblv2.sprx gates the boot and pulls the rest in;
each module can be forced to LLE or HLE through Libraries Control, which
@@ -208,12 +208,12 @@ dev_flash:
sys_internal:
path: "dev_flash/sys/internal/"
source_ref: "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_prx.cpp:33-34"
source_ref: "app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_prx.cpp:33-34"
note: "Internal modules, libfs_utility_init.sprx among them."
fonts:
path: "dev_flash/data/font/"
source_ref: "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/Modules/cellFont.cpp:226-241, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/Modules/cellFont.cpp:281, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/RSX/Overlays/overlay_fonts.cpp:117-118"
source_ref: "app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/Modules/cellFont.cpp:226-241, app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/Modules/cellFont.cpp:281, app/src/main/cpp/rpcs3/rpcs3/Emu/RSX/Overlays/overlay_fonts.cpp:117-118"
note: >-
Faces cellFontOpenFontset maps by type, and the directory the overlay
searches for its own list. A fontset the emulator does not implement falls
@@ -239,12 +239,12 @@ dev_flash:
certs:
path: "dev_flash/data/cert/"
source_ref: "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/Modules/cellSsl.cpp:110"
source_ref: "app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/Modules/cellSsl.cpp:110"
note: "Root certificates cellSsl enumerates."
vsh:
path: "dev_flash/vsh/"
source_ref: "aps3e/app/src/main/cpp/rpcs3/rpcs3/util/sysinfo.cpp:651-653, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/PPUThread.cpp:4433-4441, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/RSX/Overlays/overlay_user_list_dialog.cpp:207"
source_ref: "app/src/main/cpp/rpcs3/rpcs3/util/sysinfo.cpp:651-653, app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/PPUThread.cpp:4433-4441, app/src/main/cpp/rpcs3/rpcs3/Emu/RSX/Overlays/overlay_user_list_dialog.cpp:207"
note: >-
vsh/etc/version.txt supplies the installed firmware version, compared
against the PS3_SYSTEM_VER a title declares. vsh/module/eseibrd.sprx is
@@ -253,20 +253,20 @@ dev_flash:
ps1emu:
path: "dev_flash/ps1emu/"
source_ref: "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/System.cpp:2171"
source_ref: "app/src/main/cpp/rpcs3/rpcs3/Emu/System.cpp:2179"
note: "ps1_newemu.self, the argv[0] of a PS1 Classics boot."
pspemu:
path: "dev_flash/pspemu/"
source_ref: "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/System.cpp:2199"
source_ref: "app/src/main/cpp/rpcs3/rpcs3/Emu/System.cpp:2207"
note: "psp_emulator.self, the argv[0] of a PSP minis boot."
dev_flash2:
path: "config/dev_flash2/"
source_ref: "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/vfs_config.h:16, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_fs.cpp:28"
source_ref: "app/src/main/cpp/rpcs3/rpcs3/Emu/vfs_config.h:16, app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_fs.cpp:28"
note: "CELL_FS_FAT on CELL_FS_IOS:BUILTIN_FLSH2. Mount point only, created empty."
dev_flash3:
path: "config/dev_flash3/"
source_ref: "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/vfs_config.h:17, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_fs.cpp:27"
source_ref: "app/src/main/cpp/rpcs3/rpcs3/Emu/vfs_config.h:17, app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_fs.cpp:27"
note: "CELL_FS_FAT on CELL_FS_IOS:BUILTIN_FLSH3. Mount point only, created empty."
+3 -3
View File
@@ -4,7 +4,7 @@ core_classification: pure_libretro
source: "https://github.com/libretro/arduous"
upstream: "https://github.com/jmaroeder/arduous"
profiled_date: "2026-03-23"
source_commit: "882ea139758fef5e5d711324d138d812abd5c10c"
source_commit: "798e3950f1de7c69455bc988d55eafeebac5a1eb"
core_version: "0.1.0"
display_name: "Arduboy (Arduous)"
cores:
@@ -14,8 +14,8 @@ systems:
notes: |
ATmega32U4 AVR simulator built on simavr with SSD1306 OLED display
emulation. MCU hardcoded at 16 MHz (arduous.h:70-71). Game content
emulation. MCU hardcoded at 16 MHz (include/arduous/arduous.h:70-71). Game content
(.hex) parsed via in-tree ihex reader and written directly into
simavr flash (arduous.cpp:169-179). No system directory access.
simavr flash (src/arduous/arduous.cpp:169-179). No system directory access.
files: []
+1 -1
View File
@@ -61,7 +61,7 @@ notes: |
Firmware path resolution: settings.paths.firmware (user override) or
{userData}/ares/Firmware/ (default). Per-system firmware assigned in
Settings > Firmware dialog or via scan-by-hash.
ref: desktop-ui/settings/settings.hpp:85-97, desktop-ui/desktop-ui.cpp:68-75
ref: desktop-ui/settings/settings.hpp:87-99, desktop-ui/desktop-ui.cpp:68-75
Systems with fully embedded firmware (no user files needed):
Game Boy (boot.rom), Game Boy Color (boot.rom), Mega Drive (TMSS),
+8 -8
View File
@@ -4,7 +4,7 @@ core_classification: official_port
source: "https://github.com/libretro/libretro-atari800"
upstream: "https://github.com/atari800/atari800"
profiled_date: "2026-03-23"
source_commit: "9d3bcf283502512052e21c6f1453fbdf7aa3122b"
source_commit: "4e7fbc73765c1a9670c7506616046ad1d4ccda51"
core_version: "3.1.0"
display_name: "Atari - 400/800/600XL/800XL/130XE/5200 (Atari800)"
cores: [atari800]
@@ -44,7 +44,7 @@ files:
note: >
Atari 5200 BIOS (original). Mapped at $F800-$FFFF.
Altirra 5200 OS is used when this file is absent.
source_ref: "atari800/src/sysrom.c:99-100, atari800/src/sysrom.c:257"
source_ref: "atari800/src/sysrom.c:103-104, atari800/src/sysrom.c:290"
# -- Atari BASIC ROM --
# Atari BASIC interpreter (8 KB). Three known revisions:
@@ -64,7 +64,7 @@ files:
note: >
Atari BASIC Rev C. Required for 400/800 software that needs BASIC.
Altirra BASIC is used as fallback. Enable via core option atari800_opt2.
source_ref: "atari800/src/sysrom.c:101-103, atari800/src/sysrom.c:259"
source_ref: "atari800/src/sysrom.c:105-107, atari800/src/sysrom.c:292"
# -- Atari 400/800 OS A --
# Original Atari 400/800 OS (10 KB). Two known CRC32 values:
@@ -82,7 +82,7 @@ files:
note: >
Atari 400/800 OS Rev A. Altirra OS 800 is used as fallback.
Auto-select order: OS B NTSC, OS A NTSC, OS A PAL, custom, Altirra.
source_ref: "atari800/src/sysrom.c:85-86, atari800/src/sysrom.c:252"
source_ref: "atari800/src/sysrom.c:89-90, atari800/src/sysrom.c:285"
# -- Atari 400/800 OS B --
# OS revision B (10 KB), NTSC: CRC32 0x0e86d61d
@@ -103,7 +103,7 @@ files:
Note: .info lists md5 a3e8d617c95d08031fe1b20d541434b2 which is a
different dump (crc32 3e28a1fe) -- both in repo, the CRC32-matched
version is the one sysrom.c auto-detects.
source_ref: "atari800/src/sysrom.c:87, atari800/src/sysrom.c:253"
source_ref: "atari800/src/sysrom.c:91, atari800/src/sysrom.c:286"
# -- Atari XL/XE OS --
# XL/XE OS (16 KB). Many revisions known by CRC32 in sysrom.c:
@@ -124,7 +124,7 @@ files:
note: >
Atari XL/XE OS. Used for 800XL, 130XE, and XEGS modes.
Altirra XL OS is used as fallback.
source_ref: "atari800/src/sysrom.c:88-97, atari800/src/sysrom.c:255"
source_ref: "atari800/src/sysrom.c:92-101, atari800/src/sysrom.c:288"
# -- Atari XL/XE/XEGS OS v4 (BB01R4) --
# XEGS-specific OS revision BB01R4 (16 KB), CRC32: 0x1eaf4002
@@ -139,7 +139,7 @@ files:
validation: [crc32]
note: >
Atari XEGS OS Rev 4 (BB01R4). Preferred OS for XEGS machine mode.
source_ref: "atari800/src/sysrom.c:96"
source_ref: "atari800/src/sysrom.c:100"
# -- XEGS Missile Command built-in game --
# The XEGS had Missile Command in ROM (8 KB), CRC32: 0xbdca01fb
@@ -154,7 +154,7 @@ files:
note: >
XEGS built-in Missile Command ROM. Only used in XEGS machine mode.
No built-in replacement exists for this ROM.
source_ref: "atari800/src/sysrom.c:104"
source_ref: "atari800/src/sysrom.c:108"
# Known ROM revisions from sysrom.c (CRC32 identifiers):
#
+2 -2
View File
@@ -5,7 +5,7 @@ cores: [mednafen_pcfx, pcfx]
source: "https://github.com/libretro/beetle-pcfx-libretro"
upstream: "https://mednafen.github.io/"
profiled_date: "2026-03-24"
source_commit: "650c30ea2203636a1716675854d11c608ed6eacc"
source_commit: "0580dee757adfdb9bf8b9c24693dde5f3d0a78a1"
core_version: "v0.9.36.5"
display_name: "NEC - PC-FX (Beetle PC-FX)"
systems:
@@ -13,7 +13,7 @@ systems:
notes: >
Libretro port of Mednafen's PC-FX module. Setting "pcfx.bios" resolves
to "pcfx.rom" (settings.c:92). LoadCommon() loads the file, validates
to "pcfx.rom" (mednafen/settings.c:92). LoadCommon() loads the file, validates
size (1048576 bytes), and maps it at 0xFFF00000. Core won't start
without it. No hash validation. Upstream Mednafen also supports an
FX-SCSI ROM (pcfx.fxscsi setting, developer-only) not present in
+4 -4
View File
@@ -5,7 +5,7 @@ core: mednafen_saturn_libretro
source: "https://github.com/libretro/beetle-saturn-libretro"
upstream: "https://mednafen.github.io/"
profiled_date: "2026-03-24"
source_commit: "84461434f249c1b5cd10c83ae922feae84e1acf8"
source_commit: "b5c8a465d8128d5bc8a6ad9bc0db561068127181"
core_version: "v0.9.45.1"
display_name: "Sega - Saturn (Beetle Saturn)"
cores:
@@ -36,7 +36,7 @@ files:
size: 524288
validation: [size]
note: "Saturn BIOS v1.01 (Japan). Used when region is JP or Asia NTSC."
source_ref: "mednafen/ss/ss.c:1761 (region filename), mednafen/ss/ss.c:1784-1899 (open, size check, read, sha256)"
source_ref: "mednafen/ss/ss.c:1761 (region filename), mednafen/ss/ss.c:1786-1903 (open, size check, read, sha256)"
- name: "mpr-17933.bin"
system: sega-saturn
@@ -45,7 +45,7 @@ files:
size: 524288
validation: [size]
note: "Saturn BIOS (NA/EU). Used for all non-JP/Asia-NTSC regions."
source_ref: "mednafen/ss/ss.c:1763 (region filename), mednafen/ss/ss.c:1784-1899 (open, size check, read, sha256)"
source_ref: "mednafen/ss/ss.c:1763 (region filename), mednafen/ss/ss.c:1786-1903 (open, size check, read, sha256)"
- name: "mpr-18811-mx.ic1"
system: sega-saturn
@@ -65,5 +65,5 @@ files:
system: sega-saturn
required: false
size: 262144
note: "Action Replay 4M Plus firmware. Unfinished in source (ar4mp.c:22-24), needs CPU UBC emulation. Cart type not exposed in core options."
note: "Action Replay 4M Plus firmware. Unfinished in source (mednafen/ss/cart/ar4mp.c:22-24), needs CPU UBC emulation. Cart type not exposed in core options."
source_ref: "mednafen/ss/cart.c:218 (CART_AR4MP case), mednafen/ss/cart/ar4mp.c:150 (CART_AR4MP_Init)"
+1 -1
View File
@@ -14,7 +14,7 @@ notes: |
Libretro port of Mednafen's Virtual Boy emulation module.
No external BIOS or firmware files. The Virtual Boy has no boot
ROM; the V810 CPU executes directly from the game ROM mapped at
0x07000000. Load() in libretro.cpp:1787 takes only ROM data.
0x07000000. Load() in libretro.cpp:1810 takes only ROM data.
Upstream Mednafen supports an optional vb.pal palette file
(Documentation/vb.html); the libretro port handles palette via
core options instead.
+4 -4
View File
@@ -26,7 +26,7 @@ notes: |
Even if a TMSS-enabled model were forced, read_bundled_file() in the
libretro build only serves rom.db and returns NULL for tmss.md, so TMSS
ROM loading would fail (fatal_error at genesis.c:1923).
ROM loading would fail (fatal_error at genesis.c:1933).
Sega CD / Mega CD is not supported (only a TODO comment in system.c:16).
No BIOS files are required or loaded by the libretro core.
@@ -43,7 +43,7 @@ files:
required: false
hle_fallback: true
note: "ROM feature database (game-specific mapper/save config). Embedded in core, external is optional override."
source_ref: "libblastem.c:532-542 read_bundled_file()"
source_ref: "libblastem.c:1149-1172 read_bundled_file()"
# TMSS ROM — only used in standalone mode with tmss-enabled model
# libretro build returns NULL for tmss.md (libblastem.c:541)
@@ -53,7 +53,7 @@ files:
mode: standalone
size: 2048
note: "TMSS startup ROM. Standalone only (models md1va6, md2va1+). Libretro core uses md1va3 (tmss off), no way to change."
source_ref: "genesis.c:3027-3040"
source_ref: "genesis.c:3037-3050"
analysis:
tmss:
@@ -64,7 +64,7 @@ analysis:
rom_filename: tmss.md
rom_size: 2048 # 2 KB
config_path: "system\0tmss_path\0"
source_ref: "genesis.c:1910"
source_ref: "genesis.c:1920"
note: |
TMSS ROM is loaded from tmss.md (configurable via system/tmss_path).
Models with tmss=on: md1va6, md2va1, md2va2, md3va1, md3va2.
+2 -2
View File
@@ -4,7 +4,7 @@ core_classification: community_fork
source: "https://github.com/libretro/blueMSX-libretro"
upstream: "http://bluemsx.msxblue.com/"
profiled_date: "2026-03-23"
source_commit: "0f32f52c48d3e772bfdf0379756f81f00b4e08bc"
source_commit: "e3086eb5d36d77fa11704cf53dc176686e70127d"
core_version: "SVN"
display_name: "MSX/SVI/ColecoVision/SG-1000 (blueMSX)"
cores:
@@ -60,7 +60,7 @@ data_directories:
# buildbot source: https://buildbot.libretro.com/assets/system/blueMSX.zip
# ref: libretro.c:1118-1119 — system_dir/Machines/ + system_dir/Databases/
- ref: bluemsx
source_ref: "libretro.c:1118-1119"
source_ref: "libretro.c:1119-1120"
files:
# ============================================================
+8 -8
View File
@@ -19,12 +19,12 @@ notes: |
Libretro: all boot ROMs compiled into binary as static byte arrays in
src/data.rs. load_boot_static() copies from arrays. No filesystem
access, no RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY. No external files.
ref: core.rs:402 instance.load(true) -> gb.rs:1311 -> load_boot_static
ref: frontends/libretro/src/core.rs:402 instance.load(true) -> src/gb.rs:1361 -> load_boot_static
Standalone (SDL): also defaults to embedded boot ROMs via load(true).
User can override via --boot-rom-path CLI argument with any boot ROM
file. load_boot_file() with hardcoded ./res/boot/*.bin paths exists in
gb.rs:1361 but is not called from any frontend.
src/gb.rs:1411 but is not called from any frontend.
Boot ROM defaults: DmgBootix (DMG), CgbBoytacean (CGB) — open-source.
@@ -36,7 +36,7 @@ files:
mode: standalone
size: 256
note: "Original Nintendo DMG boot ROM"
source_ref: "src/gb.rs:1400, src/data.rs:14"
source_ref: "src/gb.rs:1450, src/data.rs:14"
- name: sgb_boot.bin
system: nintendo-gb
@@ -45,7 +45,7 @@ files:
mode: standalone
size: 256
note: "Super Game Boy boot ROM"
source_ref: "src/gb.rs:1401, src/data.rs:29"
source_ref: "src/gb.rs:1451, src/data.rs:29"
- name: dmg_bootix.bin
system: nintendo-gb
@@ -54,7 +54,7 @@ files:
mode: standalone
size: 256
note: "Open-source DMG boot ROM from Bootix (default DMG)"
source_ref: "src/gb.rs:1402, src/data.rs:44"
source_ref: "src/gb.rs:1452, src/data.rs:44"
- name: mgb_bootix.bin
system: nintendo-gb
@@ -63,7 +63,7 @@ files:
mode: standalone
size: 256
note: "Open-source MGB (Pocket) boot ROM from Bootix"
source_ref: "src/gb.rs:1403, src/data.rs:59"
source_ref: "src/gb.rs:1453, src/data.rs:59"
- name: cgb_boot.bin
system: nintendo-gbc
@@ -72,7 +72,7 @@ files:
mode: standalone
size: 2304
note: "Original Nintendo CGB boot ROM"
source_ref: "src/gb.rs:1404, src/data.rs:74"
source_ref: "src/gb.rs:1454, src/data.rs:74"
- name: cgb_boytacean.bin
system: nintendo-gbc
@@ -81,4 +81,4 @@ files:
mode: standalone
size: 2304
note: "Custom open-source CGB boot ROM (default CGB)"
source_ref: "src/gb.rs:1405, src/data.rs:177"
source_ref: "src/gb.rs:1418, src/data.rs:177"
+4 -4
View File
@@ -5,7 +5,7 @@ source: "https://github.com/libretro/bsnes-libretro"
upstream: "https://github.com/bsnes-emu/bsnes"
logo: "https://raw.githubusercontent.com/bsnes-emu/bsnes/master/bsnes/target-bsnes/resource/bsnes.svg"
profiled_date: "2026-04-05"
source_commit: "9c1285dda7dd6bb9a9951d37bcee8794ada640e6"
source_commit: "6d19eef5835a792e241e33194b4c1e9b75405b88"
core_version: "115"
display_name: "Nintendo - SNES / SFC (bsnes)"
cores: [bsnes]
@@ -201,13 +201,13 @@ files:
system: nintendo-super-game-boy
required: false
note: "Super Game Boy 1 cartridge ROM, loaded when playing .gb/.gbc via SGB mode"
source_ref: "bsnes/target-libretro/libretro.cpp:926-935 (system_dir + sgb_bios), bsnes/target-libretro/libretro.cpp:393 (core option bsnes_sgb_bios)"
source_ref: "bsnes/target-libretro/libretro.cpp:937-946 (system_dir + sgb_bios), bsnes/target-libretro/libretro.cpp:393 (core option bsnes_sgb_bios)"
- name: "SGB2.sfc"
system: nintendo-super-game-boy
required: false
note: "Super Game Boy 2 cartridge ROM, uses dedicated oscillator for accurate GB speed"
source_ref: "bsnes/target-libretro/libretro.cpp:926-935 (system_dir + sgb_bios), bsnes/target-libretro/libretro.cpp:393 (core option bsnes_sgb_bios)"
source_ref: "bsnes/target-libretro/libretro.cpp:937-946 (system_dir + sgb_bios), bsnes/target-libretro/libretro.cpp:393 (core option bsnes_sgb_bios)"
# -- BS-X Satellaview BIOS --
# Required for loading .bs (BS Memory) format games.
@@ -217,7 +217,7 @@ files:
system: nintendo-satellaview
required: true
note: "BS-X Satellaview BIOS ROM, loaded from system_dir when running .bs games"
source_ref: "bsnes/target-libretro/libretro.cpp:944-951 (system_dir + BS-X.bin hardcoded, .bs extension branch)"
source_ref: "bsnes/target-libretro/libretro.cpp:955-962 (system_dir + BS-X.bin hardcoded, .bs extension branch)"
notes:
hle_available: true
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: enhanced_fork
source: "https://github.com/libretro/bsnes-mercury"
upstream: "https://byuu.org/higan"
profiled_date: "2026-03-25"
source_commit: "d83bf7ab607e09131731b3a81825f986f91c1f84"
source_commit: "ea22363fb0c1ebe92e7a70cdf55e9bb43f9207be"
core_version: "v094 (Mercury)"
display_name: "Nintendo - SNES / SFC (bsnes-mercury)"
cores: [bsnes_mercury_accuracy, bsnes_mercury_balanced, bsnes_mercury_performance]
+13 -13
View File
@@ -20,31 +20,31 @@ notes: |
All system ROMs are compiled directly into the core binary as C header
arrays in cap32/rom/*.h. No external BIOS files are required.
Embedded ROMs (cap32/cap32.c:342-345):
Embedded ROMs (cap32/cap32.c:345-348):
- cap32/rom/464.h: OS_BASIC10[32768] - CPC 464 OS + BASIC 1.0
- cap32/rom/6128.h: OS_BASIC11[32768] - CPC 6128 OS + BASIC 1.1
- cap32/rom/amsdos.h: AMSDOS[16384] - AMSDOS disk controller ROM
- cap32/rom/6128p.h: OS_6128P - CPC+ system cartridge ROM
- cap32/rom/cpm.h: cpmROM - CP/M boot snapshot (128KB)
ROM selection in emulator_select_ROM() (cap32/cap32.c:1072-1100):
ROM selection in emulator_select_ROM() (cap32/cap32.c:1075-1103):
- CPC 464: OS_BASIC10 (32KB)
- CPC 664: OS_BASIC10 (32KB) + AMSDOS in slot 7
- CPC 6128: OS_BASIC11 (32KB) + AMSDOS in slot 7
- CPC+: OS_6128P loaded as system cartridge via cpr_load()
The standalone (non-libretro) version references external filenames
cpc464.rom, cpc664.rom, cpc6128.rom, amsdos.rom in cap32.c:349-352
via config file loading (cap32.c:1828-1840), but the libretro port
does not use this path. The libretro init (libretro-core.c:1512) has
cpc464.rom, cpc664.rom, cpc6128.rom, amsdos.rom in cap32/cap32.c:352-355
via config file loading (cap32/cap32.c:1831-1843), but the libretro port
does not use this path. The libretro init (libretro/libretro-core.c:1526) has
a "TODO: future use to load custom bios" comment that is not
implemented.
Keyboard layout patches are applied to the ROM in memory for French
and Spanish layouts via rom_mods.h (cap32.c:1102-1126).
and Spanish layouts via rom_mods.h (cap32/cap32.c:1105-1129).
CP/M support loads a pre-built snapshot (cpm.h) into memory via
snapshot_load_mem() in slots.c:87.
snapshot_load_mem() in cap32/slots.c:90.
files:
# Standalone loads from rom_path/ — libretro embeds all as C arrays
@@ -55,7 +55,7 @@ files:
mode: standalone
size: 32768
note: "CPC 464 OS + BASIC 1.0"
source_ref: "src/cap32.cpp:217, rom/cpc464.rom"
source_ref: "src/cap32.cpp:213, rom/cpc464.rom"
- name: cpc664.rom
system: amstrad-cpc
required: false
@@ -76,7 +76,7 @@ files:
mode: standalone
size: 16384
note: "AMSDOS disc ROM (sideways slot 7)"
source_ref: "src/cap32.cpp:1238"
source_ref: "src/cap32.cpp:1250"
- name: system.cpr
system: amstrad-cpc
required: false
@@ -90,16 +90,16 @@ files:
mode: standalone
size: 8192
note: "Multiface 2 ROM"
source_ref: "caprice32/rom/MF2.rom, src/cap32.cpp:1316-1335"
source_ref: "caprice32/rom/MF2.rom, src/cap32.cpp:1328-1347"
platform_details:
bios_mapping:
source_ref: "cap32/cap32.c:1072-1100, cap32/cap32.c:342-345"
source_ref: "cap32/cap32.c:1075-1103, cap32/cap32.c:345-348"
note: |
All ROMs are embedded. emulator_select_ROM() copies the appropriate
ROM array into the pbROM buffer based on CPC.model. No filesystem
lookup occurs in the libretro port. The retro_system_bios_directory
variable is set up in libretro-core.c:1499-1510 but only used for
variable is set up in libretro/libretro-core.c:1513-1524 but only used for
a future custom BIOS feature that is not yet implemented.
embedded_roms:
@@ -113,7 +113,7 @@ platform_details:
cpmROM (128KB+) - CP/M boot snapshot including SNA header
model_rom_map:
source_ref: "cap32/cap32.c:1072-1100"
source_ref: "cap32/cap32.c:1075-1103"
note: |
CPC 464: OS_BASIC10 only (no disk support)
CPC 664: OS_BASIC10 + AMSDOS in ROM slot 7
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: frozen_snapshot
source: "https://github.com/libretro/mame2015-libretro"
upstream: "https://github.com/mamedev/mame/tree/mame0160"
profiled_date: "2026-03-23"
source_commit: "283e04b03c121db9be12632d6bad2fc3e8707248"
source_commit: "0eab132212b28896baeac7d8f2cd8ac25e227752"
core_version: "0.160"
display_name: "Philips CDi (CDi 2015)"
cores: [cdi2015]
+1 -1
View File
@@ -3,7 +3,7 @@ type: standalone
source: "https://github.com/cemu-project/Cemu"
logo: "https://raw.githubusercontent.com/cemu-project/Cemu/main/dist/linux/info.cemu.Cemu.png"
profiled_date: "2026-03-18"
source_commit: "daacdda0bab55dd78a2b5aac2c12d6ebe8c8e868"
source_commit: "51250c02dea9ec9333e4725a17c0eac705128ff0"
core_version: "2.6"
display_name: "Cemu (Wii U)"
cores:
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: frozen_snapshot
source: "https://github.com/libretro/citra2018"
upstream: "https://github.com/citra-emu/citra"
profiled_date: "2026-03-23"
source_commit: "29183a99b9771b128a36304c7d734daf5bfd5051"
source_commit: "04fafd55252072ba148b87f20d8509ff1a91086e"
core_version: "Git"
display_name: "Nintendo - 3DS (Citra 2018)"
cores: [citra2018]
+3 -3
View File
@@ -4,7 +4,7 @@ core_classification: official_port
source: "https://github.com/Clownacy/clownmdemu-libretro"
upstream: "https://github.com/Clownacy/clownmdemu"
profiled_date: "2026-03-23"
source_commit: "3b278c900c278678763d96087f1d343a6aed6e58"
source_commit: "935d6fc060eb82172dac29e880fe9b877fbdb640"
core_version: "Git"
display_name: "Sega - MD/CD (ClownMDEmu)"
cores:
@@ -32,6 +32,6 @@ analysis:
boot_rom_source: "https://github.com/Clownacy/clownmdemu-mcd-boot"
boot_rom_location: "source/mega-cd-boot-rom.c (16384 uint16 entries = 32 KB)"
bus_mapping: "0x400000-0x41FFFF (address & 0x20000 == 0)"
source_ref: "bus-main-m68k.c:19-21, bus-main-m68k.c:501-513"
source_ref: "source/bus-main-m68k.c:19-21, source/bus-main-m68k.c:510-522"
bios_hle: true
hle_source_ref: "bus-sub-m68k.c:64 (MegaCDBIOSCall)"
hle_source_ref: "source/bus-sub-m68k.c:64 (MegaCDBIOSCall)"
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: pure_libretro
source: "https://github.com/libretro/Craft"
upstream: "https://github.com/fogleman/Craft"
profiled_date: "2026-03-23"
source_commit: "675c5b2fc690d2e80f6099f46407bf23827c59d4"
source_commit: "e9f3b9108077db019885a384429437d0b6a3904b"
core_version: "v1"
display_name: "Minecraft (Craft)"
cores: [craft]
+3 -3
View File
@@ -4,7 +4,7 @@ core_classification: community_fork
source: "https://github.com/libretro/daphne"
upstream: "https://github.com/mirror/daphne-emu"
profiled_date: "2026-03-23"
source_commit: "1586978f7b71f40675f8d0a08d9872ecd2415422"
source_commit: "6f1695dd1f376060666eec0a416ff56bb6c9cccc"
core_version: "Git"
display_name: "Arcade (Daphne)"
cores:
@@ -16,7 +16,7 @@ notes: |
LaserDisc arcade game emulator. Port of Daphne 1.0 (Matt Ownby) to libretro.
Each game loads its own arcade ROM set from a ZIP file named after the game
(e.g. lair.zip). ROMs are loaded from a content-relative directory structure
(homedir/roms/) with CRC32 verification (game.cpp:767-781). The core never
(homedir/roms/) with CRC32 verification (daphne/daphne-1.0-src/game/game.cpp:767-781). The core never
accesses the RetroArch system directory. Additional per-game data (framefiles,
sound samples, overlay BMPs) is also loaded relative to the content directory.
@@ -26,4 +26,4 @@ exclusion_note: >
.info declares no firmware (firmware_count absent). Code confirmed: the core
never calls RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY. All files (ROM ZIPs,
framefiles, sound, pics) load from the content directory via g_homedir
(libretro.cpp:1153, set to rom_path/..). No shared system BIOS or firmware.
(daphne/libretro/libretro.cpp:1153, set to rom_path/..). No shared system BIOS or firmware.
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: community_fork
source: "https://github.com/libretro/desmume"
upstream: "https://github.com/TASEmulators/desmume"
profiled_date: "2026-03-23"
source_commit: "ae0f7f51f96d9b5741b47b425505a4a4224b91fa"
source_commit: "8f6b32cb9a5e310bd38520e7087ce7fa14765f15"
core_version: "SVN"
display_name: "Nintendo - DS (DeSmuME)"
cores: [desmume]
+4 -4
View File
@@ -4,17 +4,17 @@ core_classification: frozen_snapshot
source: "https://github.com/libretro/desmume2015"
upstream: "https://github.com/TASEmulators/desmume"
profiled_date: "2026-03-23"
source_commit: "af397ff3d1f208c27f3922cc8f2b8e08884ba893"
source_commit: "422b688009ccb9f2917c086a8fe79c8cecb030ae"
core_version: "SVN (2015 snapshot)"
display_name: "Nintendo - DS (DeSmuME 2015)"
cores: [desmume2015]
systems: [nintendo-ds]
exclusion_note: ".info declares firmware_count=3 but libretro frontend never enables external BIOS loading (UseExtBIOS defaults false in NDSSystem.h:497, never set in libretro.cpp)"
exclusion_note: ".info declares firmware_count=3 but libretro frontend never enables external BIOS loading (UseExtBIOS defaults false in desmume/src/NDSSystem.h:497, never set in libretro.cpp)"
notes: |
Frozen 2015 snapshot of DeSmuME. The core emulator code supports external
BIOS/firmware (PrepareBiosARM7/ARM9 in NDSSystem.cpp:1974-2050), but
UseExtBIOS defaults to false (NDSSystem.h:497) and the libretro frontend
BIOS/firmware (PrepareBiosARM7/ARM9 in desmume/src/NDSSystem.cpp:1957-2033), but
UseExtBIOS defaults to false (desmume/src/NDSSystem.h:497) and the libretro frontend
never sets it — no desmume_use_external_bios core option exists in this
version. Uses HLE BIOS stubs when external BIOS not loaded.
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: community_fork
source: "https://github.com/mittonk/dice-libretro"
upstream: "https://sourceforge.net/projects/dice/"
profiled_date: "2026-03-23"
source_commit: "72d66a67a296b004fa0bb7a57dbab9cfcec462b9"
source_commit: "b11714fc4eb5b671ba15f2ec7b98c7ae909f7a4c"
core_version: "v0.4.2"
display_name: "Arcade (DICE)"
cores:
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: official_port
source: "https://github.com/icculus/DirkSimple"
upstream: "https://github.com/icculus/DirkSimple"
profiled_date: "2026-03-23"
source_commit: "5aea3e2951ed641908a7bd2ca09019614003b5e3"
source_commit: "d5d75f97af34690010166a786ee41e15dd142c15"
core_version: "0.2"
display_name: "Laserdisc arcade game (DirkSimple)"
cores: [dirksimple]
+6 -6
View File
@@ -5,7 +5,7 @@ source: "https://github.com/libretro/dolphin"
upstream: "https://github.com/dolphin-emu/dolphin"
logo: "https://raw.githubusercontent.com/dolphin-emu/dolphin/master/Data/dolphin-emu.svg"
profiled_date: "2026-03-23"
source_commit: "b4c88b46ad26227ebde585111de691db1b0a151a"
source_commit: "e1e6d25fa1392b7d1bc05bf800c71b807a2bd2e0"
core_version: "Git"
display_name: "Nintendo - GameCube / Wii (Dolphin)"
cores:
@@ -111,7 +111,7 @@ files:
system: sega-triforce
required: true
note: "SegaBoot, the Triforce system disc image. Read on every Triforce boot, min(size, 2 MiB) copied into the firmware buffer, nothing validated"
source_ref: "Source/Core/Core/HW/DVD/AMMediaboard.cpp:159,512,531-551, Source/Core/Core/HW/DVD/DVDInterface.cpp:292-294, Source/Core/Core/System.h:147"
source_ref: "Source/Core/Core/HW/DVD/AMMediaboard.cpp:160, 512, 531-551, Source/Core/Core/HW/DVD/DVDInterface.cpp:292-294, Source/Core/Core/System.h:147"
# -- GBA BIOS (for GC-GBA link) --
# Used by integrated mGBA core for GameCube-GBA connectivity.
@@ -217,7 +217,7 @@ files:
required: false
mode: standalone
note: "Realtek 8723A BT firmware for Wiimote passthrough"
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:387"
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:414"
- name: "rtl8723b_fw.bin"
path: "Load/Firmware/rtl_bt/rtl8723b_fw.bin"
@@ -231,7 +231,7 @@ files:
required: false
mode: standalone
note: "Realtek 8723D BT firmware for Wiimote passthrough"
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:391"
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:418"
- name: "rtl8761a_fw.bin"
path: "Load/Firmware/rtl_bt/rtl8761a_fw.bin"
@@ -259,14 +259,14 @@ files:
required: false
mode: standalone
note: "Realtek 8821C BT firmware for Wiimote passthrough"
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:399"
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:426"
- name: "rtl8822b_fw.bin"
path: "Load/Firmware/rtl_bt/rtl8822b_fw.bin"
required: false
mode: standalone
note: "Realtek 8822B BT firmware for Wiimote passthrough"
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:403"
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:430"
- name: "rtl8822cu_fw.bin"
path: "Load/Firmware/rtl_bt/rtl8822cu_fw.bin"
+13 -13
View File
@@ -3,7 +3,7 @@ type: standalone
core_classification: enhanced_fork
source: "https://github.com/dosbox-staging/dosbox-staging"
upstream: "https://github.com/dosbox-staging/dosbox-staging"
source_commit: "cd81dcbc72773a4bd559b305c8b6ad3196cd09dc"
source_commit: "639aba29163f5acff84774bf4397dcfe53a4986d"
profiled_date: "2026-08-08"
core_version: "0.84.0-alpha"
display_name: "DOS (DOSBox Staging)"
@@ -26,27 +26,27 @@ notes: |
No system BIOS: the PC BIOS, video BIOS fonts, keyboard layouts and codepage
tables are implemented in code.
ref: int10_memory.cpp:160, dos_keyboard_layout_data.h
ref: src/ints/int10_memory.cpp:160, dos_keyboard_layout_data.h
MIDI devices that need external data are mt32, soundcanvas and fluidsynth.
A device that fails to initialise throws, MIDI_Init warns and retries with
mididevice = port, then disables MIDI output. Emulation continues either way.
ref: midi.cpp:794-850
ref: src/midi/midi.cpp:794-850
MT-32/CM-32L: libmt32emu identifies every candidate by file size then SHA1,
so file names carry no meaning; a directory scan caches which ROM ids each
directory holds and logs anything unrecognised.
ref: mt32_lasynth_model.cpp:36-97, munt ROMInfo.cpp:206-213
ref: src/midi/mt32_lasynth_model.cpp:36-97, munt ROMInfo.cpp:206-213
A model needs one control ROM and one PCM ROM, supplied either as a full
image (addROMFile) or as the two chip dumps merged in memory
(mergeAndAddROMFiles): control halves are byte-interleaved, PCM halves are
concatenated.
ref: mt32_lasynth_model.cpp:114-151, munt ROMInfo.cpp:312-331
ref: src/midi/mt32_lasynth_model.cpp:114-151, munt ROMInfo.cpp:312-331
model = auto resolves the first available of cm32l_102, cm32l_100,
cm32ln_100, mt32_107, mt32_106, mt32_105, mt32_104, mt32_bluer, mt32_207,
mt32_206, mt32_204, mt32_203; the aliases cm32l, mt32, mt32_old and mt32_new
restrict that list. MIXER /LISTMIDI prints what was found.
ref: mt32.cpp:278-331, 504-557
ref: src/midi/mt32.cpp:278-331, 504-557
Search order is romdir, then mt32-roms in the configuration directory, then
the platform locations (C:\mt32-rom-data on Windows;
~/Library/Audio/Sounds/MT32-Roms and /usr/{local/,}share/mt32-rom-data on
@@ -54,7 +54,7 @@ notes: |
$XDG_DATA_DIRS/mt32-rom-data and $XDG_CONFIG_HOME/dosbox/mt32-roms on Linux).
A relative romdir resolves against the working directory, so a game folder
can carry its own set.
ref: mt32.cpp:385-396, 416-485
ref: src/midi/mt32.cpp:385-396, 416-485
Sound Canvas: the SC-55 is emulated by the Nuked SC55 CLAP plugin, loaded
from a plugins directory next to the executable, in the configuration
@@ -62,7 +62,7 @@ notes: |
directory candidates, canonicalises the ones that exist and exports them as
SOUNDCANVAS_ROM_PATH; the plugin appends the per-model subdirectory, hashes
every file under 4 MB it finds there and matches SHA256 against its table.
ref: soundcanvas.cpp:326-373, support.cpp:351-379,
ref: src/midi/soundcanvas.cpp:326-373, src/misc/support.cpp:351-379,
Nuked-SC55-CLAP nuked_sc55.cpp:117-215,
Nuked-SC55-CLAP rom_loader.cpp:32-63,
Nuked-SC55-CLAP rom_io.cpp:271-564
@@ -70,22 +70,22 @@ notes: |
sc55_200, sc55mk2_101, sc55mk2_100 in that order by matching plugin names.
The plugin publishes six descriptors: SC-55 v1.00, v1.10, v1.20, v1.21,
v2.00 and SC-55mk2 v1.01.
ref: soundcanvas.cpp:55-71, 80-147, Nuked-SC55-CLAP plugin.cpp:23-90
ref: src/midi/soundcanvas.cpp:55-71, 80-147, Nuked-SC55-CLAP plugin.cpp:23-90
FluidSynth: the soundfont setting names a file, tried as given and with .sf2
appended, in soundfont_dir, then soundfonts in the configuration directory,
then the platform locations. fluid_synth_sfload is the only check. The
SoundFont name from the RIFF INFO chunk and the file stem select reverb,
chorus and filter presets for four known banks.
ref: fluidsynth.cpp:107-230, 672-689, 816-883, 1229-1252
ref: src/midi/fluidsynth.cpp:107-230, 672-689, 816-883, 1229-1252
Bundled data ships with the program and is read from the resources directory
next to the executable: FreeDOS codepages and keyboard layouts, translations,
shaders and shader presets, CGA colour presets, drive noise samples, the
mounted Y: drive utilities, the web interface and the manual pages.
ref: support.cpp:300-320, dos_code_page.cpp:1828, dos_keyboard_layout.cpp:70,
messages.cpp:1073, shader_manager.cpp:236,404, int10_modes.cpp:2302,
disk_noise.cpp:187, autoexec.cpp:759
ref: src/misc/support.cpp:300-320, src/dos/dos_code_page.cpp:1828, src/dos/dos_keyboard_layout.cpp:70,
src/misc/messages.cpp:1073, src/gui/render/shader_manager.cpp:236,404, src/ints/int10_modes.cpp:2302,
src/audio/disk_noise.cpp:187, src/shell/autoexec.cpp:759
BIOSTEST.COM loads an arbitrary BIOS image at F000:0 and is compiled only
when the debugger is enabled, which is off by default.
+32 -32
View File
@@ -25,13 +25,13 @@ notes: |
olivetti/m24/att6300, pc3270, ega, ega200, jega, mcga, vgaonly, the S3,
Tseng, Paradise and ATI SVGA cards, the vesa variants, and pc98/pc9801/pc9821.
fm_towns is marked STUB in the same list.
ref: dosbox.cpp:1526-1562
ref: src/dosbox.cpp:1530-1566
No system BIOS: the PC BIOS, VGA BIOS, video fonts, keyboard layouts, codepage
tables, the Z: drive utilities including GLIDE2X.OVL, and the TTF text font are
compiled in.
ref: int10_memory.cpp, dos_keyboard_layout_data.h, dos_codepages.h,
src/builtin/glide2x.cpp:2861, output_ttf.cpp:664
src/builtin/glide2x.cpp:2861, src/output/output_ttf.cpp:664
Files named without a directory are searched in the working directory, the
program directory, the user configuration directory and the resource
@@ -39,37 +39,37 @@ notes: |
or ~/.config/dosbox-x, and the resource directory is $XDG_DATA_HOME/dosbox-x,
then /usr/local/share/dosbox-x, then /usr/share/dosbox-x. Windows uses
C:\DOSBox-X.
ref: int10.cpp:1442-1485, cross.cpp:120-167
ref: src/ints/int10.cpp:1442-1485, src/misc/cross.cpp:128-175
MT-32: libmt32emu is built from src/libs/mt32. Only four file names are ever
opened, and each candidate is identified by exact file size then SHA1, so the
name says nothing about the contents. addROMFile matches against the full
image list only, which rejects the interleaved chip dumps.
ref: midi_mt32.h:74-109, c_interface.cpp:442-462, ROMInfo.cpp:206-215
ref: src/gui/midi_mt32.h:74-109, src/libs/mt32/c_interface/c_interface.cpp:442-462, src/libs/mt32/ROMInfo.cpp:206-215
mt32.model = auto opens CM32L_CONTROL.ROM then MT32_CONTROL.ROM, and
CM32L_PCM.ROM then MT32_PCM.ROM; cm32l keeps only the CM32L names, mt32 only
the MT32 names. The directory is mt32.romdir, then the working directory, then
the resource directory, then the configuration directory. A missing pair logs
the accepted file names and disables the device.
ref: midi_mt32.h:246-275, dosbox.cpp:3571-3576
ref: src/gui/midi_mt32.h:246-275, src/dosbox.cpp:3577-3582
FluidSynth reads fluid.soundfont; fluid_synth_sfload is the only check. With
the setting empty it probes /usr/share/soundfonts/default.sf2,
/usr/share/sounds/sf2/FluidR3_GM.sf2 and GeneralUser_GS.sf2 on Linux, and
C:\soundfonts\default.sf2 then the two same names under C:\DOSBox-X on Windows.
ref: midi_synth.h:342-384, 462-480
ref: src/gui/midi_synth.h:342-384, 462-480
PC-98 character generator, tried in order: FONT.ROM as generated by T98Tools,
then the FONTX2 files named by pc-98 fontx sbcs and pc-98 fontx dbcs, then the
file named by pc-98 anex86 font or ANEX86.BMP followed by FREECG98.BMP, then
the built-in FREECG single-byte font and the built-in Japanese double-byte
font. Each stage fills only what the previous one left empty.
ref: int10.cpp:1882-1893, 1652-1675
ref: src/ints/int10.cpp:1882-1893, 1652-1675
PC-98 sound board BIOS: with pc-98 sound bios set, SOUND.ROM is read from the
working directory into CC000h. Without it a callback Sound BIOS is installed
at CEE0:0000 answering INT D2h.
ref: pc98_fm.cpp:367-385, 416-434
ref: src/hardware/pc98_fm.cpp:367-385, 416-434
DOS/V and CJK text: fontxsbcs, fontxsbcs16, fontxsbcs24, fontxdbcs,
fontxdbcs14 and fontxdbcs24 name font files. LoadFontxFile reads a FONTX2
@@ -77,28 +77,28 @@ notes: |
identified by its size, which covers ASC16 and ASCFONT.15 from UCDOS and ETen
Chinese DOS, ASC24, HZK14, HZK16, HZK24 and STDFONT.15 and STDFONT.24.
Unset settings fall back to the built-in font data.
ref: int_dosv.cpp:654-749, 1631-1710, dosbox.cpp:2533-2568
ref: src/ints/int_dosv.cpp:654-749, 1631-1710, src/dosbox.cpp:2539-2574
BOOT -bios loads a BIOS image at the top of the first megabyte, truncated to
128 KB, or 96 KB on PC-98 where it also looks for <image>.itf.rom, <image>.ITF.ROM,
itf.rom and ITF.ROM to serve the bank switched Initial Firmware Test region
through port 43Dh.
ref: dos_programs.cpp:2244-2332
ref: src/dos/dos_programs.cpp:2250-2338
BIOSTEST.COM loads an image of up to 64 KB at F000:0 and restarts the CPU at
the reset vector; it is compiled only when the debugger is enabled. The
settings call binary on reset and call binary on boot load blobs of up to
128 KB into the ROM BIOS area for CPU testing.
ref: dos_programs.cpp:3581-3640, bios.cpp:13142-13215
ref: src/dos/dos_programs.cpp:3587-3646, src/ints/bios.cpp:13280-13353
Glide passthrough loads glide2x.dll, libglide2x.so or libglide2x.dylib.
ref: glide.cpp:353-359, dosbox.cpp:3471-3473
ref: src/hardware/glide.cpp:353-359, src/dosbox.cpp:3477-3479
ttf.font, ttf.fontbold, ttf.fontital and ttf.fontboit name a TTF, OTF, FON or
TTC font resolved through the same search order plus the system font
directories. Unset, the TTF output uses the built-in font, except on PC-98 or
a double-byte code page where SarasaGothicFixed.ttf is tried first.
ref: output_ttf.cpp:318-473, 653-668
ref: src/output/output_ttf.cpp:318-473, 653-668
Shipped in the resource directory: FREECG98.BMP, wqy_11pt.bdf, wqy_12pt.bdf,
Nouveau_IBM.ttf, SarasaGothicFixed.ttf and the two reference configuration
@@ -109,9 +109,9 @@ notes: |
the customcodepage translation table, .kl layout files and the KEYBOARD.SYS
to KEYBRD4.SYS libraries read from a mounted drive, the glshaders directory
and the .lng translations.
ref: bios.cpp:11389-11398, sdlmain.cpp:7001-7008,
dos.cpp:4397-4420, dos_keyboard_layout.cpp:300-340,
render.cpp:1538-1545, messages.cpp:294-320
ref: src/ints/bios.cpp:11463-11472, src/gui/sdlmain.cpp:7010-7017,
src/dos/dos.cpp:4402-4425, src/dos/dos_keyboard_layout.cpp:300-340,
src/gui/render.cpp:1538-1545, src/misc/messages.cpp:294-320
files:
# -- MT-32 and CM-32L control ROMs --
@@ -260,7 +260,7 @@ files:
note: >
any SF2 or SF3 file loads; fluid.soundfont names it and
fluid_synth_sfload is the only check
source_ref: "src/gui/midi_synth.h:346-384, src/gui/midi_synth.h:462-473, src/dosbox.cpp:3710"
source_ref: "src/gui/midi_synth.h:346-384, src/gui/midi_synth.h:462-473, src/dosbox.cpp:3716"
# -- PC-98 character generator --
@@ -274,7 +274,7 @@ files:
256 8x8 cells at 0x0, 256 8x16 cells at 0x800, 96 by 92 16x16 cells at
0x1800; a file of any other length is rejected. Enabled by
pc-98 try font rom, on by default
source_ref: "src/ints/int10.cpp:1487-1549, src/dosbox.cpp:2477-2478"
source_ref: "src/ints/int10.cpp:1487-1549, src/dosbox.cpp:2483-2484"
- name: "ANEX86.BMP"
description: "PC-98 character generator, Anex86 bitmap"
@@ -285,7 +285,7 @@ files:
pixel, no compression, inverse colour scheme; the first row is the 8x16
single-width set and the rest is 16x16 full-width. Also reachable through
the pc-98 anex86 font setting, which is tried before FONT.ROM
source_ref: "src/ints/int10.cpp:1555-1647, src/dosbox.cpp:2481-2484"
source_ref: "src/ints/int10.cpp:1555-1647, src/dosbox.cpp:2487-2490"
- name: "FREECG98.BMP"
description: "PC-98 character generator, free generated bitmap"
@@ -335,32 +335,32 @@ files:
description: "Printer Roman typeface"
required: false
note: "also the fallback typeface for any unmapped LQ selection"
source_ref: "src/hardware/parport/printer.cpp:320-321, src/hardware/parport/printer.cpp:336-337, src/dosbox.cpp:4597"
source_ref: "src/hardware/parport/printer.cpp:320-321, src/hardware/parport/printer.cpp:336-337, src/dosbox.cpp:4621"
- name: "sansserif.ttf"
path: "FONTS/sansserif.ttf"
description: "Printer Sans Serif typeface"
required: false
source_ref: "src/hardware/parport/printer.cpp:323-324, src/dosbox.cpp:4597"
source_ref: "src/hardware/parport/printer.cpp:323-324, src/dosbox.cpp:4621"
- name: "courier.ttf"
path: "FONTS/courier.ttf"
description: "Printer Courier typeface"
required: false
source_ref: "src/hardware/parport/printer.cpp:326-327, src/dosbox.cpp:4597"
source_ref: "src/hardware/parport/printer.cpp:326-327, src/dosbox.cpp:4621"
- name: "script.ttf"
path: "FONTS/script.ttf"
description: "Printer Script typeface"
required: false
source_ref: "src/hardware/parport/printer.cpp:329-330, src/dosbox.cpp:4597"
source_ref: "src/hardware/parport/printer.cpp:329-330, src/dosbox.cpp:4621"
- name: "ocra.ttf"
path: "FONTS/ocra.ttf"
description: "Printer OCR-A typeface"
required: false
note: "serves both the OCR-A and OCR-B selections"
source_ref: "src/hardware/parport/printer.cpp:332-334, src/dosbox.cpp:4597"
source_ref: "src/hardware/parport/printer.cpp:332-334, src/dosbox.cpp:4621"
# -- PC-98 sound board BIOS --
@@ -373,7 +373,7 @@ files:
note: >
16 KB read into CC000h from the working directory only, when
pc-98 sound bios and pc-98 load sound bios rom file are both set
source_ref: "src/hardware/pc98_fm.cpp:367-385, src/dosbox.cpp:2378-2386"
source_ref: "src/hardware/pc98_fm.cpp:367-385, src/dosbox.cpp:2384-2392"
# -- Video BIOS ROM images --
# Loaded in place of the built-in INT 10h when vga bios use rom image is set.
@@ -387,7 +387,7 @@ files:
max_size: 65536
validation: [size]
note: "default file name for machine = svga_et4000"
source_ref: "src/dosbox.cpp:938-982, src/dosbox.cpp:2745-2757"
source_ref: "src/dosbox.cpp:942-986, src/dosbox.cpp:2751-2763"
- name: "TRIO64 (Ver. 1.5-07) [VGA] (S3 Incorporated).bin"
description: "S3 Trio64 video BIOS"
@@ -398,7 +398,7 @@ files:
max_size: 65536
validation: [size]
note: "default file name for machine = svga_s3"
source_ref: "src/dosbox.cpp:943-945, src/dosbox.cpp:2745-2757"
source_ref: "src/dosbox.cpp:947-949, src/dosbox.cpp:2751-2763"
- name: "ibm-vga.bin"
description: "IBM VGA option ROM of 10/27/86, laid out as mapped at C000:0"
@@ -411,7 +411,7 @@ files:
read by LOADROM.COM from a mounted local drive; accepted when the file
starts with 55 AA, byte 3 masked with 0xFC equals 0xE8 and the string IBM
appears at offset 0x1E, and the machine is EGA or better
source_ref: "src/dos/dos_programs.cpp:3523-3549, src/dos/dos_programs.cpp:3560-3565"
source_ref: "src/dos/dos_programs.cpp:3529-3555, src/dos/dos_programs.cpp:3566-3571"
# -- IBM ROM BASIC --
@@ -428,7 +428,7 @@ files:
32 KB to 64 KB in 4 KB steps; LOADROM.COM maps the same image at F600:0
when it is exactly 32768 bytes, starts with E9 8F 7E and carries the
string IBM at offset 0x4CD4
source_ref: "src/ints/bios.cpp:13074-13094, src/dos/dos_programs.cpp:3550-3554, src/dosbox.cpp:1931-1933"
source_ref: "src/ints/bios.cpp:13212-13232, src/dos/dos_programs.cpp:3556-3560, src/dosbox.cpp:1937-1939"
# -- PCjr --
@@ -443,7 +443,7 @@ files:
read during PCjr cartridge boot; bytes 0x3000 to 0xDFFF are copied to
physical F3000. A short read leaves the region untouched and the cartridge
still boots
source_ref: "src/dos/dos_programs.cpp:3061-3070"
source_ref: "src/dos/dos_programs.cpp:3067-3076"
# -- Whole system BIOS images --
@@ -454,7 +454,7 @@ files:
loaded at the top of the first megabyte, rounded up to a paragraph and
truncated to 128 KB, or to 96 KB on PC-98; a larger image is clamped
rather than rejected
source_ref: "src/dos/dos_programs.cpp:2244-2293"
source_ref: "src/dos/dos_programs.cpp:2250-2299"
- name: "ITF.ROM"
description: "PC-98 Initial Firmware Test BIOS"
@@ -465,4 +465,4 @@ files:
served through the port 43Dh bank switch alongside a BOOT -bios image;
<image>.itf.rom is tried before the bare name so one directory can hold
several
source_ref: "src/dos/dos_programs.cpp:2295-2326"
source_ref: "src/dos/dos_programs.cpp:2301-2332"
+3 -3
View File
@@ -12,11 +12,11 @@ systems: [dos]
notes: |
No BIOS required. MT-32 and SoundFont support is optional for MIDI music.
MT-32 ROMs loaded by exact filename from system directory.
mt32.romdir = system_dir (libretro.cpp:652). CM-32L is default type.
mt32.romdir = system_dir (libretro/src/libretro.cpp:653). CM-32L is default type.
ref: src/gui/midi_mt32.cpp:35,51-66
MUNT identifies ROMs by SHA1+size (ROMInfo.cpp:171-180).
MUNT identifies ROMs by SHA1+size (libretro/deps/munt/mt32emu/src/ROMInfo.cpp:171-180).
FluidSynth reads .sf2/.sf3/.dls/.gig from system/soundfonts/.
ref: libretro/src/libretro.cpp:1086-1097
ref: libretro/src/libretro.cpp:1099-1110
BASSMIDI reads .sf2/.sfz from system/soundfonts/, requires BASS +
BASSMIDI shared libs in system dir (dlopen'd at runtime).
ref: libretro/src/midi_bassmidi.cpp:232-254
+3 -3
View File
@@ -14,13 +14,13 @@ notes: |
(WITH_FAKE_SDL=1) instead of real SDL, for broader platform compat.
ref: libretro/Makefile.libretro, libretro/fakesdl/
No MT-32 emulation. src/midi/munt referenced in Makefile.common:15
No MT-32 emulation. src/midi/munt referenced in libretro/Makefile.common:15
does not exist, no MUNT submodule. MIDI is hardware-only
(ALSA, CoreAudio, CoreMIDI, Win32, OSS) + retro_midi_interface.
ref: src/gui/midi.cpp
system_directory set and logged (libretro.cpp:1399-1401), never used
to load files. Config uses retro_save_directory (cross.cpp:61-71).
system_directory set and logged (libretro/libretro.cpp:1411-1413), never used
to load files. Config uses retro_save_directory (src/misc/cross.cpp:61-71).
Keyboard layouts and codepages embedded in binary.
ref: dos_keyboard_layout_data.h, dos_codepages.h
+4 -4
View File
@@ -12,15 +12,15 @@ systems: [dos]
notes: |
Same codebase as dosbox_svn, builds against real SDL 1.2 + SDL_net
instead of the fake SDL shim (WITH_FAKE_SDL not set).
ref: libretro/Makefile.libretro:238
ref: libretro/Makefile.libretro:244
No MT-32 emulation. src/midi/munt referenced in Makefile.common:15
No MT-32 emulation. src/midi/munt referenced in libretro/Makefile.common:15
does not exist, no MUNT submodule. MIDI is hardware-only
(ALSA, CoreAudio, CoreMIDI, Win32, OSS) + retro_midi_interface.
ref: src/gui/midi.cpp
system_directory set and logged (libretro.cpp:1399-1401), never used
to load files. Config uses retro_save_directory (cross.cpp:61-73).
system_directory set and logged (libretro/libretro.cpp:1411-1413), never used
to load files. Config uses retro_save_directory (src/misc/cross.cpp:61-73).
Keyboard layouts and codepages embedded in binary.
ref: dos_keyboard_layout_data.h, dos_codepages.h
+2 -2
View File
@@ -19,7 +19,7 @@ notes: |
Accepts PS1 (512 KB), PS2 (4 MB), and PS3 (0x3E66F0) BIOS images.
ref: src/core/bios.h:24-26 (BIOS_SIZE, BIOS_SIZE_PS2, BIOS_SIZE_PS3)
Only the first 512 KB are mapped (bios.cpp:212).
Only the first 512 KB are mapped (src/core/bios.cpp:212).
105 known BIOS entries: 24 PS1 + 80 PS2 (identified by MD5) + 1 OpenBIOS (by signature).
ref: src/core/bios.cpp:34-139 (s_image_info_by_hash)
@@ -30,7 +30,7 @@ notes: |
only by the two settings screens, which fall back to the real filename when it
is null.
ref: src/core/bios.h:41-43 (field declarations)
ref: src/duckstation-qt/biossettingswidget.cpp:150, src/core/fullscreenui_settings.cpp:3219
ref: src/duckstation-qt/biossettingswidget.cpp:150, src/core/fullscreenui_settings.cpp:3239
Lower priority = preferred. PS2 deprioritized (>= 100) for dynamic fast boot.
Late PAL deprioritized (>= 150) due to additional regional checks.
OpenBIOS detected by signature at offset 0x78, not by hash.
+3 -3
View File
@@ -24,11 +24,11 @@ notes: |
"embedded" when that fails. The system directory is still passed to SelectGame,
but for the game data search, not for the engine package.
ref: src/libretro/ecwolf_pk3_data.c, src/wl_iwad.cpp:664-672,
src/libretro/libretro.cpp:990-992
src/libretro/libretro.cpp:1009-1011
Standalone: ecwolf.pk3 searched in progdir (binary directory).
ref: wl_main.cpp:1295 (progdir passed to SelectGame)
Also: INSTALL_PREFIX/share/ecwolf/ on Linux (wl_iwad.cpp:648)
ref: src/libretro/wl_main.cpp:1271 (progdir passed to SelectGame)
Also: INSTALL_PREFIX/share/ecwolf/ on Linux (src/wl_iwad.cpp:648)
Game data files (vswap, gamemaps, vgagraph, audiot) loaded from content
directory, not system directory. Auto-detects game variant by scanning
+2 -2
View File
@@ -3,7 +3,7 @@ type: standalone
source: "https://github.com/EKA2L1/EKA2L1"
upstream: "https://github.com/EKA2L1/EKA2L1"
profiled_date: "2026-03-26"
source_commit: "46ef1ebdcfbd7454c080d0f1efb5fb54cfa7f622"
source_commit: "f8a9a0a380d62f82a463bcc299f2b9250b819674"
core_version: "continuous"
display_name: "EKA2L1 (Symbian OS / N-Gage)"
cores:
@@ -51,4 +51,4 @@ files:
required: true
mode: standalone
description: "Symbian OS phone ROM dump. One per device, placed in roms/{firmware_code}/ subdirectory."
source_ref: "src/emu/system/src/epoc.cpp:1225,754-759, src/emu/system/include/system/consts.h:23-25"
source_ref: "src/emu/system/src/epoc.cpp:1288, src/emu/system/src/epoc.cpp:794-799, src/emu/system/include/system/consts.h:23-25"
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: official_port
source: "https://github.com/libretro/emux"
upstream: "https://github.com/sronsse/emux"
profiled_date: "2026-03-23"
source_commit: "120362977493765032cba7bed9c7aee1ff5b8579"
source_commit: "3e558cb15157fcb1944846a845547d369605c963"
core_version: "0.1"
display_name: "CHIP-8 (Emux CHIP-8)"
cores:
+6 -6
View File
@@ -4,7 +4,7 @@ core_classification: official_port
source: "https://github.com/libretro/emux"
upstream: "https://github.com/sronsse/emux"
profiled_date: "2026-03-23"
source_commit: "02f7ba42bedad6882ce47f24c8fc3af7eaac79ae"
source_commit: "3e558cb15157fcb1944846a845547d369605c963"
core_version: "0.1"
display_name: "Nintendo - Game Boy / Color (Emux GB)"
cores:
@@ -14,13 +14,13 @@ systems:
notes: |
emux is a multi-system emulator by Sebastien Ronsse. The libretro port
renamed the boot ROM from DMG_ROM.bin (upstream, gb_mapper.c:32) to
dmg_boot.bin (libretro, gb_mapper.c:35) to match RetroArch conventions.
renamed the boot ROM from DMG_ROM.bin (upstream, controllers/mapper/gb_mapper.c:32) to
dmg_boot.bin (libretro, controllers/mapper/gb_mapper.c:35) to match RetroArch conventions.
Boot ROM loaded via file_map(PATH_SYSTEM, "dmg_boot.bin", 0, 256) in
gb_mapper_init (gb_mapper.c:225-228). Returns false on failure — no HLE
gb_mapper_init (controllers/mapper/gb_mapper.c:225-228). Returns false on failure — no HLE
fallback. Mapped at 0x0000-0x00FF, overlays ROM0 until BOOT_LOCK (0xFF50)
is written non-zero (lock_writeb, gb_mapper.c:97-106).
is written non-zero (lock_writeb, controllers/mapper/gb_mapper.c:97-106).
No hash validation. Code accepts any 256+ byte file.
is_experimental=true. No save states, rewind, or netplay.
@@ -33,4 +33,4 @@ files:
required: true
size: 256
source_ref: "controllers/mapper/gb_mapper.c:35 (bootrom_path), controllers/mapper/gb_mapper.h:13 (BOOTROM_SIZE=256), controllers/mapper/gb_mapper.c:225-232 (file_map + error)"
note: "Upstream name DMG_ROM.bin, renamed by libretro port (gb_mapper.c:33-34)."
note: "Upstream name DMG_ROM.bin, renamed by libretro port (controllers/mapper/gb_mapper.c:33-34)."
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: official_port
source: "https://github.com/libretro/emux"
upstream: "https://github.com/sronsse/emux"
profiled_date: "2026-03-23"
source_commit: "120362977493765032cba7bed9c7aee1ff5b8579"
source_commit: "3e558cb15157fcb1944846a845547d369605c963"
core_version: "0.1"
display_name: "Nintendo - NES / Famicom (Emux NES)"
cores:
+4 -4
View File
@@ -4,7 +4,7 @@ core_classification: official_port
source: "https://github.com/libretro/emux"
upstream: "https://github.com/sronsse/emux"
profiled_date: "2026-03-23"
source_commit: "02f7ba42bedad6882ce47f24c8fc3af7eaac79ae"
source_commit: "3e558cb15157fcb1944846a845547d369605c963"
core_version: "0.1"
display_name: "Sega - Master System (Emux SMS)"
cores:
@@ -18,9 +18,9 @@ notes: |
adds g_ram_data/g_ram_size exposure in mach/sms.c for RETRO_MEMORY_SYSTEM_RAM).
BIOS loaded via file_map(PATH_SYSTEM, "bios.sms", 0, BIOS_SIZE) in
sms_mapper_init (sms_mapper.c:162-165). Returns false on failure — no HLE
sms_mapper_init (controllers/mapper/sms_mapper.c:162-165). Returns false on failure — no HLE
fallback. Mapped at 0x0000, overlays cartridge ROM until bios_disable bit
set in slot control register (sms_mapper.c:79-82).
set in slot control register (controllers/mapper/sms_mapper.c:79-82).
No hash validation. Code accepts any file >= 8192 bytes.
is_experimental=true. No save states, rewind, or netplay.
@@ -33,4 +33,4 @@ files:
size: 8192
validation: [size]
source_ref: "controllers/mapper/sms_mapper.c:12 (BIOS_SIZE=0x2000), :61 (bios_path), :162-170 (file_map + NULL check → return false)"
note: "Mapped at 0x0000, overlays cartridge ROM until bios_disable bit set. file_map rejects files < 8192 bytes (file.c:59)."
note: "Mapped at 0x0000, overlays cartridge ROM until bios_disable bit set. file_map rejects files < 8192 bytes (main/file.c:59)."
+3 -3
View File
@@ -232,7 +232,7 @@ files:
system: videoton-tvc
has_builtin: true
note: "TVC extension ROM v2.2. Loaded alongside tvc22_sys.rom."
source_ref: "core/core.cpp:366-367"
source_ref: "core/core.cpp:330"
- name: tvcfileio.rom
path: ep128emu/roms/tvcfileio.rom
@@ -243,7 +243,7 @@ files:
has_builtin: true
bundled: true
note: "TVC direct file I/O extension. Used for TVC64_FILE mode. Source included in roms/ directory."
source_ref: "core/core.cpp:370-371"
source_ref: "core/core.cpp:334"
- name: tvc_dos12d.rom
path: ep128emu/roms/tvc_dos12d.rom
@@ -253,7 +253,7 @@ files:
system: videoton-tvc
has_builtin: true
note: "TVC DOS 1.2d. Loaded for TVC64_DISK mode."
source_ref: "core/core.cpp:375-376"
source_ref: "core/core.cpp:339"
# ============================================================
# Amstrad CPC
+5 -5
View File
@@ -4,7 +4,7 @@ core_classification: game_engine
source: "https://github.com/jtothebell/fake-08"
upstream: "https://github.com/jtothebell/fake-08"
profiled_date: "2026-03-23"
source_commit: "3e89519ca4b4eaf65be9e8cb982ea2c1ccd34e5d"
source_commit: "814991a2571ad3970e386cef48f3b148aa1c27b9"
core_version: "v0.0.2.19"
display_name: "PICO-8 (FAKE-08)"
cores:
@@ -18,17 +18,17 @@ notes: |
available (3DS, Vita, Switch, Wii U, various handhelds).
The core retrieves RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY in
retro_set_environment() (libretro.cpp:162-163) but never uses the value.
retro_set_environment() (platform/libretro/libretro.cpp:162-163) but never uses the value.
No file is loaded from the system directory. The PICO-8 boot sequence,
global Lua functions, and default cart menu are compiled directly into the
binary as string constants (p8GlobalLuaFunctions.h, DefaultCart.h).
When no ROM is passed (supports_no_game = true), the core queues its
built-in BIOS cart "__FAKE08-BIOS.p8" (libretro.cpp:751). This is not
built-in BIOS cart "__FAKE08-BIOS.p8" (platform/libretro/libretro.cpp:751). This is not
an external file -- it is generated internally by the VM.
The core accepts .p8 (text) and .png (cartridge-as-image) formats
(libretro.cpp:258). Content is loaded either via the libretro data buffer
(platform/libretro/libretro.cpp:258). Content is loaded either via the libretro data buffer
or full path depending on the _NEED_FULL_PATH_ compile flag.
exclusion_note: "all engine resources compiled into binary via include_bytes!"
@@ -49,4 +49,4 @@ platform_details:
The FAKE-08 VM reimplements the PICO-8 API (128x128 screen, 16 colors,
4-channel audio, Lua scripting) entirely in C++. The built-in BIOS
provides a cart browser and error display. Audio runs at 22050 Hz
with save state support via custom serialization (libretro.cpp:517-736).
with save state support via custom serialization (platform/libretro/libretro.cpp:517-736).
+3 -3
View File
@@ -4,7 +4,7 @@ core_classification: frozen_snapshot
source: "https://github.com/libretro/fbalpha2012_neogeo"
upstream: "https://www.fbalpha.com"
profiled_date: "2026-03-23"
source_commit: "ce4949b1557cc7134e736342801ed25b2f3bd790"
source_commit: "e092097037d494c50d17c5144a2758d68538061b"
core_version: "v0.2.97.29"
display_name: "Arcade (FB Alpha 2012 Neo Geo)"
cores:
@@ -17,7 +17,7 @@ notes: |
Exists for RAM-constrained platforms. Most users should use FBNeo.
Neo Geo requires a BIOS ROM set (neogeo.zip) placed alongside game ROMs.
The BIOS set contains ~35 variants (d_neogeo.cpp:903-981), all BRF_BIOS:
The BIOS set contains ~35 variants (src/burn/drv/neogeo/d_neogeo.cpp:903-981), all BRF_BIOS:
68K main BIOS (BRF_SELECT, one active at a time):
asia-s3.rom 0x91b64be3 MVS Asia/Europe ver. 6 (default)
@@ -50,7 +50,7 @@ notes: |
neocd.bin 0xdf9de490 Neo Geo CD BIOS
neogeo.zip is a parent ROM set, loaded from g_rom_dir alongside game ZIPs.
g_system_dir is set (libretro.cpp:3016) but never used for file loading.
g_system_dir is set (src/burner/libretro/libretro.cpp:3016) but never used for file loading.
The .info note "BIOS files must be inside the ROM directory" is accurate here:
neogeo.zip must be in the same directory as game ROM ZIPs.
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: official_port
source: "https://github.com/libretro/FBNeo"
upstream: "https://github.com/finalburnneo/FBNeo"
profiled_date: "2026-03-23"
source_commit: "ef1f64b7023bc511858e96b8961f99c18a09f112"
source_commit: "a251c76229f1637e433b93e29845039752771b6d"
core_version: "v1.0.0.2"
display_name: "Arcade (FinalBurn Neo) (CPS-1 / CPS-2)"
cores:
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: community_fork
source: "https://github.com/libretro/libretro-fceumm"
upstream: "https://sourceforge.net/projects/fceumm/"
profiled_date: "2026-03-23"
source_commit: "b5e3566515c27dc66c9c20572171673126532e06"
source_commit: "236ccdfc911e84c60fea6b9d0699c2d440a8de14"
core_version: "SVN"
display_name: "Nintendo - NES / Famicom (FCEUmm)"
cores:
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: official_port
source: "https://github.com/libretro/fixGB"
upstream: "https://github.com/FIX94/fixGB"
profiled_date: "2026-03-23"
source_commit: "ecbaee13b64a0308539e73d0eec1847925898e5d"
source_commit: "3ab80f3ebf600664c81fa2b0f163ba3f558cf52e"
core_version: "Alpha v0.8.2"
display_name: "Nintendo - Game Boy / Color (fixGB)"
cores:
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: official_port
source: "https://github.com/libretro/fixNES"
upstream: "https://github.com/FIX94/fixNES"
profiled_date: "2026-03-23"
source_commit: "d5d8cba579e139fec823f64636a972d1acdf782c"
source_commit: "a692bda786a5c6f3cdc10d5a263830990d25c627"
core_version: "Alpha v1.3.1"
display_name: "Nintendo - NES / Famicom (fixNES)"
cores:
+3 -3
View File
@@ -16,7 +16,7 @@ notes: |
contributed by Joe Zbiciak (jzIntv), mask ROM embedded in source
(src/ivoice.c:337-510, 4097-byte static array). No external ivoice ROM.
BIOS loading in retro_init() (src/libretro.c:1166-1174). Paths joined
BIOS loading in retro_init() (src/libretro.c:1175-1183). Paths joined
directly to system directory, no subdirectory.
loadExec() reads exec.bin as big-endian 16-bit words into 0x1000-0x1FFF.
@@ -35,11 +35,11 @@ files:
required: true
size: 8192
note: "Executive ROM. Big-endian 16-bit words loaded at 0x1000-0x1FFF."
source_ref: "src/intv.c:47-71, src/libretro.c:1169"
source_ref: "src/intv.c:51-96, src/libretro.c:1178"
- name: "grom.bin"
system: intellivision
required: true
size: 2048
note: "Graphics ROM. Raw bytes loaded at 0x3000-0x37FF."
source_ref: "src/intv.c:73-98, src/libretro.c:1173"
source_ref: "src/intv.c:98-144, src/libretro.c:1182"
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: official_port
source: "https://github.com/hex007/freej2me"
upstream: "https://github.com/hex007/freej2me"
profiled_date: "2026-03-23"
source_commit: "b1c4cf13e012938f9d5270621fddea60e5554858"
source_commit: "fae9304b85ac1c61d0117f6c8efe528612388278"
core_version: "GIT"
display_name: "Mobile - J2ME (FreeJ2ME)"
cores:
+1 -1
View File
@@ -5,7 +5,7 @@ cores: [frodo]
source: "https://github.com/libretro/frodo-libretro"
upstream: "https://github.com/cebix/frodo4"
profiled_date: "2026-03-23"
source_commit: "29dd1864b89d903ed93f1d86d85636ef9e194359"
source_commit: "9fb971b072215632f94ba86406c429dd8965dd93"
core_version: "v4.2"
display_name: "Commodore - C64 (Frodo)"
systems: [commodore-c64]
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: official_port
source: "https://github.com/libretro/galaxy-libretro"
upstream: "https://github.com/nikp123/Galaksija-Emulator"
profiled_date: "2026-03-23"
source_commit: "4e197680d2dc9f8159d3a5565fcc4bbdd0e905ea"
source_commit: "185758296c17f59cba832511139381a197986474"
core_version: "v0.1"
display_name: "Elektronika Inženjering - Galaksija (Galaksija)"
cores:
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: pure_libretro
source: "https://github.com/ThisBoringWorld/gam4980"
upstream: "https://codeberg.org/iyzsong/gam4980"
profiled_date: "2026-03-23"
source_commit: "2fbed643f61c6bde758f179c93d6f0595ef0a7e6"
source_commit: "eeaa531b55e7127ab4b5e0bdc5ceba686df59c6a"
core_version: "0.2"
display_name: "GAM4980"
cores:
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: community_fork
source: "https://github.com/libretro/gambatte-libretro"
upstream: "https://github.com/sinamas/gambatte"
profiled_date: "2026-03-23"
source_commit: "96174369b3c30d9fc57c926fa3379c273dc6a9a5"
source_commit: "d9d6cd06382d1ced30de34d56d3609452323dab1"
core_version: "v0.5.0"
display_name: "Nintendo - Game Boy / Color (Gambatte)"
cores:
+3 -3
View File
@@ -4,7 +4,7 @@ core_classification: official_port
source: "https://github.com/drhelius/Gearboy"
upstream: "https://github.com/drhelius/Gearboy"
profiled_date: "2026-03-23"
source_commit: "5cb627121bc01e9704545d436f8393453bbc479f"
source_commit: "88226e000896890d5b847f51e7fb9754317ae5f0"
core_version: "3.4.1"
display_name: "Nintendo - Game Boy / Color (Gearboy)"
cores:
@@ -27,7 +27,7 @@ files:
required: false
hle_fallback: true
validation: [size]
source_ref: "platforms/libretro/libretro.cpp:828, platforms/libretro/libretro.cpp:359, platforms/libretro/libretro.cpp:359"
source_ref: "platforms/libretro/libretro.cpp:833, platforms/libretro/libretro.cpp:365, platforms/libretro/libretro.cpp:365"
- name: cgb_boot.bin
description: Game Boy Color bootrom
@@ -35,4 +35,4 @@ files:
required: false
hle_fallback: true
validation: [size]
source_ref: "platforms/libretro/libretro.cpp:829, platforms/libretro/libretro.cpp:360, platforms/libretro/libretro.cpp:360"
source_ref: "platforms/libretro/libretro.cpp:834, platforms/libretro/libretro.cpp:366, platforms/libretro/libretro.cpp:366"
+4 -4
View File
@@ -18,13 +18,13 @@ notes: |
Without it, the core renders a static placeholder image (kNoBiosImage from
no_bios.h) and games do not execute.
The libretro wrapper (libretro.cpp:293-306) tries "colecovision.rom" first,
The libretro wrapper (platforms/libretro/libretro.cpp:295-308) tries "colecovision.rom" first,
then falls back to "coleco.rom". Both resolve to the same LoadBios() call
in Memory.cpp:228-259 which validates size == 0x2000 (8192 bytes) only.
in src/Memory.cpp:256-287 which validates size == 0x2000 (8192 bytes) only.
No hash check is performed.
On reset, BIOS byte at offset 0x69 is patched for region selection:
0x3C for NTSC, 0x32 for PAL (Memory.cpp:178-181).
0x3C for NTSC, 0x32 for PAL (src/Memory.cpp:206-209).
SGM (Super Game Module) expanded RAM requires no additional BIOS files.
@@ -35,4 +35,4 @@ files:
required: true
size: 8192
validation: [size]
source_ref: "platforms/libretro/libretro.cpp:446-468, src/Memory.cpp:202-255"
source_ref: "platforms/libretro/libretro.cpp:448-470, src/Memory.cpp:230-283"
+5 -5
View File
@@ -41,7 +41,7 @@ files:
size: 262144
required: true
validation: [size, crc32]
source_ref: "platforms/libretro/libretro.cpp:581, platforms/libretro/libretro.cpp:599-601, src/media.cpp:339-436, src/defines.h:52, src/game_db.h:50, src/game_db.h:52"
source_ref: "platforms/libretro/libretro.cpp:608, platforms/libretro/libretro.cpp:623-625, src/media.cpp:387-484, src/defines.h:52, src/game_db.h:50, src/game_db.h:53"
note: >
Default BIOS for CD-ROM games (cdrom_bios Auto or System Card 3).
game_db.h recognizes Japan (CRC32 6D9A73EF) and USA (CRC32 2B5B75FE)
@@ -52,7 +52,7 @@ files:
size: 262144
required: false
validation: [size, crc32]
source_ref: "platforms/libretro/libretro.cpp:580, platforms/libretro/libretro.cpp:590-591, src/media.cpp:339-436, src/game_db.h:48-49, src/game_db.h:51"
source_ref: "platforms/libretro/libretro.cpp:607, platforms/libretro/libretro.cpp:617-618, src/media.cpp:387-484, src/game_db.h:48-49, src/game_db.h:52"
note: >
cdrom_bios = 'System Card 2'. For older CD-ROM2 titles. game_db.h
recognizes three variants: v2.0 Japan (CRC32 52520BC6), v2.1 Japan
@@ -63,7 +63,7 @@ files:
size: 262144
required: false
validation: [size, crc32]
source_ref: "platforms/libretro/libretro.cpp:579, platforms/libretro/libretro.cpp:587-588, src/media.cpp:339-436, src/game_db.h:47"
source_ref: "platforms/libretro/libretro.cpp:606, platforms/libretro/libretro.cpp:614-615, src/media.cpp:387-484, src/game_db.h:47"
note: >
cdrom_bios = 'System Card 1'. Very early CD-ROM2 games only.
CRC32 3F9F95A4.
@@ -73,9 +73,9 @@ files:
size: 32768
required: false
validation: [size, crc32]
source_ref: "platforms/libretro/libretro.cpp:582, platforms/libretro/libretro.cpp:596-597, platforms/libretro/libretro.cpp:481-482, src/media.cpp:339-436, src/defines.h:53, src/game_db.h:53-54"
source_ref: "platforms/libretro/libretro.cpp:609, platforms/libretro/libretro.cpp:609-610, platforms/libretro/libretro.cpp:508-509, src/media.cpp:387-484, src/defines.h:53, src/game_db.h:54-55"
note: >
Always loaded alongside the selected System Card BIOS (libretro.cpp:618).
Always loaded alongside the selected System Card BIOS (platforms/libretro/libretro.cpp:642).
Required for Game Express CD-ROM titles. game_db.h recognizes Blue Version
(CRC32 51A12D90) and Green Version (CRC32 16AAF05A).
+5 -5
View File
@@ -34,17 +34,17 @@ files:
- name: "bios.sms"
system: sega-mastersystem
required: false
source_ref: "platforms/libretro/libretro.cpp:534, platforms/libretro/libretro.cpp:537 (load_bootroms)"
source_ref: "platforms/libretro/libretro.cpp:568, platforms/libretro/libretro.cpp:571 (load_bootroms)"
- name: "bios.gg"
system: sega-gamegear
required: false
source_ref: "platforms/libretro/libretro.cpp:814, platforms/libretro/libretro.cpp:537 (load_bootroms)"
source_ref: "platforms/libretro/libretro.cpp:858, platforms/libretro/libretro.cpp:571 (load_bootroms)"
platform_details:
mastersystem:
bios_filename: "bios.sms"
source_ref: "src/Memory.cpp:223-228"
source_ref: "src/Memory.cpp:225-230"
note: |
Boot ROM loaded via LoadBootromSMS() -> LoadBootroom(path, false).
Raw binary read, stored in m_pBootromSMS. Bank count computed as
@@ -52,7 +52,7 @@ platform_details:
gamegear:
bios_filename: "bios.gg"
source_ref: "src/Memory.cpp:230-235"
source_ref: "src/Memory.cpp:232-237"
note: |
Boot ROM loaded via LoadBootromGG() -> LoadBootroom(path, true).
Raw binary read, stored in m_pBootromGG. Same bank computation.
@@ -61,5 +61,5 @@ platform_details:
sg1000:
bios_filename: null
note: |
No BIOS support. Memory.cpp:379 returns false from IsBootromEnabled()
No BIOS support. src/Memory.cpp:381 returns false from IsBootromEnabled()
when IsSG1000() or IsGameGearInSMSMode() is true.
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: community_fork
source: "https://github.com/libretro/Genesis-Plus-GX"
upstream: "https://github.com/ekeeke/Genesis-Plus-GX"
profiled_date: "2026-03-23"
source_commit: "84fcf2ec8e6b8d901c2fec55c884f285f93a1679"
source_commit: "a7985a9c4278ac352f8ca7bb4d3cc6b36e9e3e7d"
core_version: "v1.7.4"
display_name: "Sega - MS/GG/MD/CD (Genesis Plus GX)"
cores:
+13 -13
View File
@@ -21,13 +21,13 @@ notes: |
from MAME-format ZIP archives in the system directory.
Cartridge content opens aes.zip (System Type = AES, default) or neogeo.zip
(MVS and Universe BIOS) (libretro/libretro.c:1231-1234). CD content opens
(MVS and Universe BIOS) (libretro/libretro.c:1243-1246). CD content opens
neocd.zip (Front/Top Loader) or neocdz.zip (CDZ, default, and CD Universe
BIOS) (libretro/libretro.c:1222-1230); Front/Top Loader additionally reads
BIOS) (libretro/libretro.c:1234-1242); Front/Top Loader additionally reads
000-lo.lo from neocdz.zip, so neocdz.zip is needed in every CD mode
(libretro/libretro.c:1241-1248). The Irritating Maze in MVS mode loads
(libretro/libretro.c:1253-1260). The Irritating Maze in MVS mode loads
236-bios.sp1 from irrmaze.zip for trackball support; without it the game
runs but the trackball does not work (libretro/libretro.c:1300-1311).
runs but the trackball does not work (libretro/libretro.c:1312-1323).
Inside the opened archive, members are extracted by exact filename
(src/geo.c:174-271). One 68K BIOS is selected by system type and region
@@ -50,9 +50,9 @@ notes: |
The core performs no hash or size validation on System ROMs. CD BIOS family
detection and the optional CD speed hack patches use byte patterns and
apply only when the 68K BIOS is at least 512 KiB (src/geo_cd.c:1837-1859,
apply only when the 68K BIOS is at least 512 KiB (src/geo_cd.c:1888-1910,
1904-1924). Upstream declares the expected archive MD5s through the Jolly
Good API BIOS list (jg.c:212-223); the md5 fields on the archives below
Good API BIOS list (jg.c:220-231); the md5 fields on the archives below
are copied from it.
files:
@@ -64,35 +64,35 @@ files:
required: true
md5: "ad9585c72130c56f04ae26aae87c289d"
note: "Neo Geo AES System ROMs. Opened when System Type is AES (default)."
source_ref: "libretro/libretro.c:1231-1234, jg.c:213-214"
source_ref: "libretro/libretro.c:1243-1246, jg.c:221-222"
- name: "neogeo.zip"
system: snk-neogeo-mvs
required: true
md5: "00dad01abdbf8ea9e79ad2fe11bdb182"
note: "Neo Geo MVS System ROMs. Opened for MVS and Universe BIOS modes."
source_ref: "libretro/libretro.c:1231-1234, jg.c:215-216"
source_ref: "libretro/libretro.c:1243-1246, jg.c:223-224"
- name: "neocd.zip"
system: snk-neogeo-cd
required: false
md5: "006a881532f2caffc3fe9fb5593f2ed5"
note: "Neo Geo CD Front/Top Loader System ROMs. Opened only when CD System is front or top loader."
source_ref: "libretro/libretro.c:1222-1229, jg.c:217-218"
source_ref: "libretro/libretro.c:1234-1241, jg.c:225-226"
- name: "neocdz.zip"
system: snk-neogeo-cd
required: true
md5: "b31a246b69493c35194fe0bac120dc37"
note: "Neo Geo CDZ System ROMs. Opened for CDZ (default) and CD Universe BIOS; also supplies 000-lo.lo to Front/Top Loader mode."
source_ref: "libretro/libretro.c:1222-1248, jg.c:219-220"
source_ref: "libretro/libretro.c:1234-1260, jg.c:227-228"
- name: "irrmaze.zip"
system: snk-neogeo-mvs
required: false
md5: "0e369df30a70e45547cef9e4078dc511"
note: "The Irritating Maze auxiliary BIOS. Loaded in MVS mode for trackball support; on failure the game runs without trackball."
source_ref: "libretro/libretro.c:1300-1311, jg.c:221-222"
source_ref: "libretro/libretro.c:1312-1323, jg.c:229-230"
# -----------------------------------------------------------
# aes.zip members
@@ -249,7 +249,7 @@ files:
size: 131072
crc32: "5a86cff2"
note: "Zoom lookup table. Read from neocdz.zip in every CD mode, including Front/Top Loader."
source_ref: "src/geo.c:234-243, 273-285, libretro/libretro.c:1241-1248"
source_ref: "src/geo.c:234-243, 273-285, libretro/libretro.c:1253-1260"
# -----------------------------------------------------------
# irrmaze.zip member
@@ -259,4 +259,4 @@ files:
system: snk-neogeo-mvs
required: false
note: "The Irritating Maze auxiliary 68K BIOS, replaces the MVS BIOS to enable trackball input."
source_ref: "src/geo.c:286-299, libretro/libretro.c:1300-1311"
source_ref: "src/geo.c:286-299, libretro/libretro.c:1312-1323"
+11 -11
View File
@@ -19,32 +19,32 @@ notes: |
with nothing supplied.
Supercharger emulation is the only path that reads a BIOS. NewSupercharger
branches three ways (supercharger.go:93-119). A tape held as WAV or MP3 sets
branches three ways (hardware/memory/cartridge/supercharger/supercharger.go:93-119). A tape held as WAV or MP3 sets
Loader.IsSoundData and calls loadBIOS, and the error is returned, so the
cartridge fails to attach without the file. A demo unit image calls loadBIOS
and substitutes fastloadOnlyBIOS() on failure. Everything else, including the
usual Supercharger BIN, takes fastloadOnlyBIOS() without ever looking for the
file: a 2048 byte stub holding a touch of the tape load register and the CPU
jump table (bios.go:151-166).
jump table (hardware/memory/cartridge/supercharger/bios.go:151-166).
loadBIOS reads the current working directory, then the directory holding the
tape or BIN, then the configuration directory (bios.go:53-116). Each candidate
tape or BIN, then the configuration directory (hardware/memory/cartridge/supercharger/bios.go:53-116). Each candidate
name is tried in turn and the content is gated on MD5 before the caller checks
the 2048 byte length, so a file under the right name with the wrong content is
refused. ReqSpec selects the PAL table and the PAL hash (bios.go:56-59);
refused. ReqSpec selects the PAL table and the PAL hash (hardware/memory/cartridge/supercharger/bios.go:56-59);
ReqSpec comes from the television specification, the stella.pro entry or the
filename (cartridgeloader/loader.go:194-201).
The demo unit is recognised by MD5 of the 256 bytes at 0x300 of the loaded
image (demounit.go:58,78). When that image carries more than 2048 bytes it
image (hardware/memory/cartridge/supercharger/demounit.go:58,78). When that image carries more than 2048 bytes it
holds the Schweber chip and the carousel together; otherwise the eight ROMs
are read from the directory of the loaded file (demounit_controller.go:
178-200). A read error or a length other than 8192 logs and returns nil, and
the peripheral is left unplugged.
stella.pro is Stella's cartridge properties database, read from the
configuration directory (properties.go:28,48-58). It is loaded by
NewDebugger (debugger.go:356), which drives play as well as debug
configuration directory (properties/properties.go:28,48-58). It is loaded by
NewDebugger (debugger/debugger.go:356), which drives play as well as debug
(gopher2600.go:261,307,326), so it applies to the plain `gopher2600 <rom>`
invocation. A missing file is logged and start-up continues; the ROM selector
then falls back to the filename and no television specification is inferred
@@ -52,10 +52,10 @@ notes: |
The ROM selector also reads a Named_Boxarts directory from the configuration
directory, listing it at start-up and fuzzy matching the cartridge name
against the entries before reading one image (win_rom_select.go:92,127-138,
against the entries before reading one image (gui/sdlimgui/win_rom_select.go:92,127-138,
678-689). It holds the box art of the libretro-thumbnails Atari 2600 set,
pinned upstream at commit 4ea759821724d6c7bcf2f46020d79fc4270ed2f6
(win_rom_select.go:91). Its content is whatever the user copies in and no
(gui/sdlimgui/win_rom_select.go:91). Its content is whatever the user copies in and no
name is fixed by the code, so it carries no file entry here.
Fonts, shaders, bevels, the CPU instruction table and the Movie Cart core are
@@ -65,7 +65,7 @@ notes: |
elf_nvram, regression, patches and setupDB. ARM map files and DWARF sources
are read from a project build tree beside the ROM. AtariVox speech calls the
festival binary as a process, with the path taken from preferences
(atarivox_preferences.go:51).
(hardware/preferences/atarivox_preferences.go:51).
files:
- name: "Supercharger BIOS.bin"
@@ -107,7 +107,7 @@ files:
Recognised by the MD5 of the 256 bytes at 0x300, so the name is the one the
dump carries rather than one the code fixes. The carousel ROMs are only
read once this image has been accepted.
source_ref: "hardware/memory/cartridge/supercharger/demounit.go:56-78, hardware/memory/cartridge/supercharger/supercharger.go:107,115, hardware/memory/cartridge/fingerprint.go:333"
source_ref: "hardware/memory/cartridge/supercharger/demounit.go:56-78, hardware/memory/cartridge/supercharger/supercharger.go:107, 115, hardware/memory/cartridge/fingerprint.go:346"
- name: "Starpath Demonstration Unit 1P.bin"
system: atari-2600
+3 -3
View File
@@ -48,21 +48,21 @@ notes: |
Everything else under the configuration, data and cache directories is written
by the emulator: config.json and cheats.json (src/ui/config.rs:99-111,134-146),
retroachievements.json (src/lib.rs:209; src/retroachievements.rs:37,61),
ice_config.json from the netplay server response (src/ui/netplay.rs:713-716,
ice_config.json from the netplay server response (src/ui/netplay.rs:715-718,
src/netplay.rs:419), the eeprom, sram, flash, mempak, sdcard and romsave saves
and the savestates (src/ui/storage.rs:212-232; src/savestates.rs:179,236). For
a netplay launch the GUI serialises the cheats to the cache directory, passes
them to a re-exec of itself through the hidden --cheats flag and deletes the
file afterwards (src/ui/gui.rs:583-593,600-615,630; src/lib.rs:141-147).
portable.txt is tested for existence only, to move those three directories
beside the executable (src/ui.rs:164-178).
beside the executable (src/ui.rs:186-200).
Compiled-in data: the cheat database (src/cheats.rs:31), the No-Intro
Nintendo 64 export that names entries in the ROM browser
(src/ui/gui.rs:688-690), the RobotoMono face handed to SDL_ttf from memory
(src/ui/video.rs:109, src/ui/input_profile.rs:99), the parallel-rdp SPIR-V
modules (parallel-rdp/spirv.hpp and parallel-rdp/spirv_crt.hpp, used at
parallel-rdp/interface.cpp:4-5,615) and the Slint translations bundled at
parallel-rdp/interface.cpp:4-5,619) and the Slint translations bundled at
build time (build.rs:11).
files: []
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: community_fork
source: "https://github.com/libretro/gpsp"
upstream: "https://github.com/davidgfnet/gpsp"
profiled_date: "2026-03-23"
source_commit: "5b6e751f4abf368509146cd143c949c1946ac1ae"
source_commit: "8d268a6bb2cd799f8f2791ebb544a7ef550cfc6f"
core_version: "Git"
display_name: "Nintendo - Game Boy Advance (gpSP)"
cores:
+2 -2
View File
@@ -31,7 +31,7 @@ files:
aliases: [ROM.01, ROM.03, APPLE2GS.ROM, APPLE2GS.ROM2, xgs.rom, XGS.ROM, Rom03gd, 342-0077-b]
required: true
description: "Apple IIGS system ROM"
source_ref: "gsplus/src/config.c:131,403-406,1092-1149"
source_ref: "gsplus/src/config.c:136, gsplus/src/config.c:477-480, gsplus/src/config.c:1260-1317"
note: "Accepted sizes: 32768 (Apple //e), 131072 (ROM 01), 262144 (ROM 03)"
validation: [size]
@@ -42,5 +42,5 @@ files:
size: 256
description: "Disk II controller PROM (slot 6)"
validation: [size]
source_ref: "gsplus/src/config.c:414-415,1168-1220"
source_ref: "gsplus/src/config.c:488-489, gsplus/src/config.c:1336-1388"
note: "Built-in PROM generated from XOR diffs against main ROM"
+3 -3
View File
@@ -4,7 +4,7 @@ core_classification: pure_libretro
source: "https://github.com/libretro/gw-libretro"
upstream: "http://www.madrigaldesign.it/sim/"
profiled_date: "2026-03-25"
source_commit: "435e5cfd4bf6aea03a84259e9b8dba3daf3ff5bd"
source_commit: "91d599b951e7bfe7e040347f58667cba20074adc"
core_version: "Git"
display_name: "Handheld Electronic (GW)"
cores:
@@ -17,11 +17,11 @@ notes: |
source code via pas2lua. Each game is a self-contained .mgw archive (bzip2
compressed tar v7) containing Lua scripts, sprites, and sound data.
retro_get_system_info (libretro.c:187-194) sets valid_extensions to "mgw",
retro_get_system_info (src/libretro.c:187-194) sets valid_extensions to "mgw",
need_fullpath to false, and block_extract to false. The core reads content
entirely from the retro_game_info buffer passed by the frontend.
retro_load_game (libretro.c:256-310) passes the content buffer to
retro_load_game (src/libretro.c:256-310) passes the content buffer to
gwrom_init() which decompresses and parses the tar archive in memory.
gwlua_create() then initializes the Lua VM from the archive entries.
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: embedded_hle
source: "https://github.com/ivanizag/izapple2"
upstream: "https://github.com/ivanizag/izapple2"
profiled_date: "2026-08-08"
source_commit: "01deea8a97b19ac782a1d11fe1e8d07f07b6c835"
source_commit: "1b563d7668b331bc06d6d11c093ee1a14fe242be"
core_version: "v2.4.0"
display_name: "Apple - Apple II (izapple2)"
cores:
+2 -2
View File
@@ -61,7 +61,7 @@ notes: |
the JVM default soundbank in place. VlcDir points at a VLC installation that
vlcj scans for libvlc.
ref: src/media/emulator/media/EmulatorMIDI.java:26-36,
src/main/emulator/ui/swt/Property.java:1864-1905
src/main/emulator/ui/swt/Property.java:1860-1901
files:
- name: M7_EmuSmw7.dll
@@ -190,7 +190,7 @@ files:
validation: [existence]
description: "Device presets: screen sizes, key maps, platform identities"
note: "Devices.load reads the PresetsPath setting, /res/presets.xml by default, as a jar resource and falls back to a disk read when the resource is absent, which is how a user-supplied preset file is picked up."
source_ref: "src/main/emulator/Settings.java:133, src/main/emulator/Devices.java:25-50, src/main/emulator/Emulator.java:641"
source_ref: "src/main/emulator/Settings.java:131, src/main/emulator/Devices.java:25-50, src/main/emulator/Emulator.java:638"
- name: en.txt
system: j2me
+22 -22
View File
@@ -4,7 +4,7 @@ core_classification: official_port
source: "https://github.com/libretro/yabause"
upstream: "https://github.com/FCare/Kronos"
profiled_date: "2026-03-24"
source_commit: "65af22e96beb6d9b0b9a50a81a39c86a6d604c1c"
source_commit: "8926b0c6c347f8c5c755911ddb0ac695420ffbf8"
core_version: "v2.6.0"
display_name: "Sega - Saturn/ST-V (Kronos)"
cores:
@@ -37,7 +37,7 @@ notes: |
ROM cartridge DB: utils/src/db.c lines 43-45.
Standalone supports MPEG card ROM loading (Video CD card); disabled in
libretro port (mpegpath = NULL in libretro.c:1578).
libretro port (mpegpath = NULL in yabause/src/libretro/libretro.c:1578).
archive_prefix: kronos
@@ -53,7 +53,7 @@ files:
size: 524288
validation: [size]
note: "Primary Saturn BIOS. Any region accepted. Searched in kronos/ subdir first."
source_ref: "libretro.c:1619-1623"
source_ref: "yabause/src/libretro/libretro.c:1619-1623"
# -----------------------------------------------------------
# Saturn BIOS - Japan v1.01 (fallback)
@@ -66,7 +66,7 @@ files:
size: 524288
validation: [size]
note: "Saturn BIOS v1.01 (Japan). Fallback if saturn_bios.bin missing."
source_ref: "libretro.c:1627"
source_ref: "yabause/src/libretro/libretro.c:1627"
# -----------------------------------------------------------
# Saturn BIOS - NA/EU (fallback)
@@ -79,7 +79,7 @@ files:
size: 524288
validation: [size]
note: "Saturn BIOS (NA/EU). Last fallback for Saturn mode."
source_ref: "libretro.c:1631"
source_ref: "yabause/src/libretro/libretro.c:1631"
# -----------------------------------------------------------
# ST-V Arcade BIOS (stvbios.zip) - MAME romset
@@ -88,7 +88,7 @@ files:
system: sega-stv
required: true
note: "MAME-style ZIP containing ST-V region BIOS EPROMs. Searched in kronos/ subdir first."
source_ref: "libretro.c:1608-1617, ctrl/src/stv.c:112-136"
source_ref: "yabause/src/libretro/libretro.c:1608-1617, yabause/src/ctrl/src/stv.c:112-136"
# -----------------------------------------------------------
# ST-V BIOS blobs inside stvbios.zip
@@ -103,7 +103,7 @@ files:
size: 524288
crc32: "f688ae60"
validation: [crc32]
source_ref: "stv.c:120"
source_ref: "yabause/src/ctrl/src/stv.c:120"
- name: "epr-20091.ic8"
archive: stvbios.zip
@@ -113,7 +113,7 @@ files:
size: 524288
crc32: "59ed40f4"
validation: [crc32]
source_ref: "stv.c:121"
source_ref: "yabause/src/ctrl/src/stv.c:121"
- name: "epr-19730.ic8"
archive: stvbios.zip
@@ -123,7 +123,7 @@ files:
size: 524288
crc32: "d0e0889d"
validation: [crc32]
source_ref: "stv.c:122"
source_ref: "yabause/src/ctrl/src/stv.c:122"
- name: "epr-17951a.ic8"
archive: stvbios.zip
@@ -133,7 +133,7 @@ files:
size: 524288
crc32: "2672f9d8"
validation: [crc32]
source_ref: "stv.c:123"
source_ref: "yabause/src/ctrl/src/stv.c:123"
- name: "epr-17740a.ic8"
archive: stvbios.zip
@@ -143,7 +143,7 @@ files:
size: 524288
crc32: "3e23c81f"
validation: [crc32]
source_ref: "stv.c:124"
source_ref: "yabause/src/ctrl/src/stv.c:124"
- name: "epr-17740.ic8"
archive: stvbios.zip
@@ -153,7 +153,7 @@ files:
size: 524288
crc32: "5c5aa63d"
validation: [crc32]
source_ref: "stv.c:125"
source_ref: "yabause/src/ctrl/src/stv.c:125"
# Europe
- name: "epr-17954a.ic8"
@@ -164,7 +164,7 @@ files:
size: 524288
crc32: "f7722da3"
validation: [crc32]
source_ref: "stv.c:126"
source_ref: "yabause/src/ctrl/src/stv.c:126"
# USA
- name: "epr-17952a.ic8"
@@ -175,7 +175,7 @@ files:
size: 524288
crc32: "d1be2adf"
validation: [crc32]
source_ref: "stv.c:127"
source_ref: "yabause/src/ctrl/src/stv.c:127"
- name: "epr-17741a.ic8"
archive: stvbios.zip
@@ -185,7 +185,7 @@ files:
size: 524288
crc32: "4166c663"
validation: [crc32]
source_ref: "stv.c:128"
source_ref: "yabause/src/ctrl/src/stv.c:128"
# Taiwan
- name: "epr-19854.ic8"
@@ -196,7 +196,7 @@ files:
size: 524288
crc32: "e09d1f60"
validation: [crc32]
source_ref: "stv.c:129"
source_ref: "yabause/src/ctrl/src/stv.c:129"
- name: "epr-17953a.ic8"
archive: stvbios.zip
@@ -206,7 +206,7 @@ files:
size: 524288
crc32: "a4c47570"
validation: [crc32]
source_ref: "stv.c:130"
source_ref: "yabause/src/ctrl/src/stv.c:130"
- name: "epr-17742a.ic8"
archive: stvbios.zip
@@ -216,7 +216,7 @@ files:
size: 524288
crc32: "02daf123"
validation: [crc32]
source_ref: "stv.c:131"
source_ref: "yabause/src/ctrl/src/stv.c:131"
# Debug / Dev
- name: "stv110.bin"
@@ -226,7 +226,7 @@ files:
size: 524288
crc32: "3dfeda92"
validation: [crc32]
source_ref: "stv.c:132"
source_ref: "yabause/src/ctrl/src/stv.c:132"
- name: "stv1061.bin"
archive: stvbios.zip
@@ -235,7 +235,7 @@ files:
size: 524288
crc32: "728dbca3"
validation: [crc32]
source_ref: "stv.c:133"
source_ref: "yabause/src/ctrl/src/stv.c:133"
# -----------------------------------------------------------
# ROM Cartridges (game-specific, loaded from system_dir)
@@ -246,7 +246,7 @@ files:
size: 2097152
validation: [size]
note: "ROM cartridge for The King of Fighters '95. Auto-detected via game DB."
source_ref: "utils/src/db.c:43-44, yabause/src/cs0.c:1207-1216"
source_ref: "yabause/src/utils/src/db.c:43-44, yabause/src/cs0.c:1207-1216"
- name: "mpr-19367-mx.ic1"
system: sega-saturn
@@ -254,4 +254,4 @@ files:
size: 2097152
validation: [size]
note: "ROM cartridge for Ultraman: Hikari no Kyojin Densetsu. Auto-detected via game DB."
source_ref: "utils/src/db.c:45, yabause/src/cs0.c:1207-1216"
source_ref: "yabause/src/utils/src/db.c:45, yabause/src/cs0.c:1207-1216"
+3 -3
View File
@@ -24,7 +24,7 @@ notes: |
Startup reads nothing. The two GLSL shaders sit in the tree as
src/lightspark.frag and src/lightspark.vert but the preprocessor pulls them
into string literals, "directly include shader source to avoid filesystem
access" (src/backends/rendering.cpp:1042-1045,1062-1065), which is also how
access" (src/backends/rendering.cpp:1039-1042,1059-1062), which is also how
0.8.7 builds them. The face given to nanoVG for text is Roboto Medium, decoded
at runtime from a base85 array in the binary (src/launcher.cpp:1567,
src/platforms/engineutils.cpp:500-502), and the launcher icon face is embedded
@@ -35,7 +35,7 @@ notes: |
Fonts named by the content go through fontconfig, which answers with whatever
face the host has installed: FcFontMatch then FcPatternGetString(FC_FILE) hands
a path straight to nvgCreateFont (src/backends/cachedsurface.cpp:135-156). No
a path straight to nvgCreateFont (src/backends/cachedsurface.cpp:147-168). No
name, path, size or hash is fixed anywhere, README:27-30 marks fontconfig
itself optional, and an unmatched family leaves nanoVGFontID at -1 and falls
back to the embedded face.
@@ -44,7 +44,7 @@ notes: |
commit and at 0.8.7 (src/parsing/textfile.cpp:74-106). fontPath holds
"TimesNewRoman.ttf" on Windows (src/backends/rendering.cpp:102) but reaches
only cairo_select_font_face, which takes a family name rather than a path, and
only under ENABLE_CAIRO (src/backends/rendering.cpp:1277), left FALSE by
only under ENABLE_CAIRO (src/backends/rendering.cpp:1274), left FALSE by
CMakeLists.txt.
Files the player writes rather than expects: lightspark.conf, an INI carrying
+3 -3
View File
@@ -4,7 +4,7 @@ core_classification: official_port
source: "https://github.com/timoinutilis/lowres-nx"
upstream: "https://github.com/timoinutilis/lowres-nx"
profiled_date: "2026-03-25"
source_commit: "85c80181d26bb5c2147ebc76bfc48bce9f8d73a8"
source_commit: "35adc1a215e975be964b2ef4b652117acd7beba1"
core_version: "v1.2"
display_name: "LowRes NX"
cores:
@@ -19,8 +19,8 @@ notes: |
the same repository.
retro_load_game() copies the .nx source code into memory
(libretro_main.c:490-493) and compiles it with the built-in interpreter.
The boot intro is a string constant embedded in boot_intro.c:26. Default
(libretro/libretro_main.c:490-493) and compiles it with the built-in interpreter.
The boot intro is a string constant embedded in core/boot_intro.c:26. Default
characters and charsets are compiled-in C arrays. The core never calls
RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY. No BIOS, firmware, or external
files required.
+4 -4
View File
@@ -9,7 +9,7 @@ bios_mode: agnostic
source: "https://github.com/libretro/ps2"
upstream: "https://github.com/PCSX2/pcsx2"
profiled_date: "2026-03-25"
source_commit: "60c9c5793efc46ddca70736f30f639a1d22674b8"
source_commit: "0e9057b73bd128a775aa9e59310d68692838e96c"
core_version: "Git"
display_name: "Sony - PlayStation 2 (LRPS2)"
cores: [lrps2, pcsx2]
@@ -89,7 +89,7 @@ files:
path: "pcsx2/resources/GameIndex.yaml"
required: false
description: "game compatibility database"
source_ref: "pcsx2/GameDatabase.cpp:47, pcsx2/GameDatabase.cpp:904"
source_ref: "pcsx2/GameDatabase.cpp:48, pcsx2/GameDatabase.cpp:981"
note: >
YAML database of per-game patches, settings overrides, and compatibility fixes.
OSD warning shown if missing. Some games may not boot or have issues without it.
@@ -98,7 +98,7 @@ files:
path: "pcsx2/resources/cheats_ws.zip"
required: false
description: "widescreen patches archive"
source_ref: "pcsx2/VMManager.cpp:357-370"
source_ref: "pcsx2/VMManager.cpp:375-388"
note: >
ZIP archive of per-game widescreen (16:9) patches in pnach format.
Only loaded when widescreen patches are enabled via core options.
@@ -108,7 +108,7 @@ files:
path: "pcsx2/resources/cheats_ni.zip"
required: false
description: "no-interlacing patches archive"
source_ref: "pcsx2/VMManager.cpp:392-405"
source_ref: "pcsx2/VMManager.cpp:410-423"
note: >
ZIP archive of per-game no-interlacing patches in pnach format.
Only loaded when no-interlacing patches are enabled via core options.
+1 -1
View File
@@ -17,7 +17,7 @@ notes: |
standalone upstream.
retro_load_game() calls lutro_load(info->path) to load the game
directory or archive (libretro.c:216). The core exposes
directory or archive (libretro.c:241). The core exposes
love.filesystem.getAppdataDirectory to games as the system_dir
(filesystem.c:296) but does not load any files from it itself.
No BIOS, firmware, or system files required.
+33 -33
View File
@@ -269,7 +269,7 @@ files:
required: true
category: bios_zip
system: igs-pgm
source_ref: "src/mame/igs/pgm.cpp:5545"
source_ref: "src/mame/igs/pgm.cpp:5548"
contents:
- name: pgm_p02s.u20
size: 131072
@@ -689,7 +689,7 @@ files:
required: true
category: bios_zip
system: sega-stv
source_ref: "src/mame/sega/stv.cpp:4068"
source_ref: "src/mame/sega/stv.cpp:4067"
contents:
- name: epr-23603.ic8
size: 524288
@@ -1436,7 +1436,7 @@ files:
required: true
category: bios_zip
system: namco-system573
source_ref: "src/mame/konami/ksys573.cpp:6415"
source_ref: "src/mame/konami/ksys573.cpp:6541"
contents:
- name: 700a01.22g
description: Standard
@@ -1484,7 +1484,7 @@ files:
required: true
category: bios_zip
system: konami-gv
source_ref: "src/mame/konami/konamigv.cpp:1447"
source_ref: "src/mame/konami/konamigv.cpp:1450"
contents:
- name: 999a01.7e
size: 524288
@@ -1513,7 +1513,7 @@ files:
required: true
category: bios_zip
system: konami-twinkle
source_ref: "src/mame/konami/twinkle.cpp:1636"
source_ref: "src/mame/konami/twinkle.cpp:1624"
- name: bubsys.zip
required: true
@@ -1572,7 +1572,7 @@ files:
required: true
category: bios_zip
system: capcom-zn1
source_ref: "src/mame/sony/zn.cpp:5969"
source_ref: "src/mame/sony/zn.cpp:5971"
contents:
- name: m534002c-13.ic353
description: japan
@@ -1593,7 +1593,7 @@ files:
required: true
category: bios_zip
system: capcom-zn2
source_ref: "src/mame/sony/zn.cpp:6055"
source_ref: "src/mame/sony/zn.cpp:6057"
contents:
- name: m534002c-59.ic353
size: 524288
@@ -1607,7 +1607,7 @@ files:
- name: coh1000t.zip
required: true
category: bios_zip
source_ref: "src/mame/sony/zn.cpp:5989"
source_ref: "src/mame/sony/zn.cpp:5991"
contents:
- name: m534002c-14.ic353
size: 524288
@@ -1621,7 +1621,7 @@ files:
- name: coh1000a.zip
required: true
category: bios_zip
source_ref: "src/mame/sony/zn.cpp:6015"
source_ref: "src/mame/sony/zn.cpp:6017"
contents:
- name: m534002c-15.ic353
size: 524288
@@ -1635,7 +1635,7 @@ files:
- name: coh1000w.zip
required: true
category: bios_zip
source_ref: "src/mame/sony/zn.cpp:6024"
source_ref: "src/mame/sony/zn.cpp:6039"
contents:
- name: msm27c402zb.ic353
size: 524288
@@ -1649,7 +1649,7 @@ files:
- name: coh1001l.zip
required: true
category: bios_zip
source_ref: "src/mame/sony/zn.cpp:6028"
source_ref: "src/mame/sony/zn.cpp:6043"
contents:
- name: m534002c-17.ic353
size: 524288
@@ -1663,7 +1663,7 @@ files:
- name: coh1002v.zip
required: true
category: bios_zip
source_ref: "src/mame/sony/zn.cpp:6032"
source_ref: "src/mame/sony/zn.cpp:6034"
contents:
- name: coh-1002v.ic353
size: 524288
@@ -1677,7 +1677,7 @@ files:
- name: coh1002e.zip
required: true
category: bios_zip
source_ref: "src/mame/sony/zn.cpp:6038"
source_ref: "src/mame/sony/zn.cpp:6040"
contents:
- name: m27c402cz-54.ic353
size: 524288
@@ -1691,7 +1691,7 @@ files:
- name: coh1002m.zip
required: true
category: bios_zip
source_ref: "src/mame/sony/zn.cpp:6089"
source_ref: "src/mame/sony/zn.cpp:6091"
contents:
- name: m534002c-61.ic353
size: 524288
@@ -2117,7 +2117,7 @@ files:
- name: crysbios.zip
required: true
category: bios_zip
source_ref: "src/mame/misc/crystal.cpp:845"
source_ref: "src/mame/misc/crystal.cpp:854"
contents:
- name: mx27l1000.u14
description: AMG0110B PCB
@@ -3159,7 +3159,7 @@ files:
required: true
category: bios_zip
system: apple2gs
source_ref: "src/mame/apple/apple2gs.cpp:3868-3882"
source_ref: "src/mame/apple/apple2gs.cpp:3853-3867"
contents:
- name: 341s0632-2.bin
description: ADB microcontroller ROM (M50740/50741)
@@ -3714,7 +3714,7 @@ files:
required: true
category: bios_zip
system: fm7
source_ref: "src/mame/fujitsu/fm7.cpp:2188-2209"
source_ref: "src/mame/fujitsu/fm7.cpp:2186-2207"
contents:
- name: fbasic300.rom
description: F-BASIC 3.00 ROM
@@ -3741,7 +3741,7 @@ files:
required: true
category: bios_zip
system: fm7
source_ref: "src/mame/fujitsu/fm7.cpp:2207-2228"
source_ref: "src/mame/fujitsu/fm7.cpp:2209-2230"
contents:
- name: initiate.rom
description: Initiate ROM (boot sequencer)
@@ -3768,7 +3768,7 @@ files:
required: false
category: bios_zip
system: fm7
source_ref: "src/mame/fujitsu/fm7.cpp:2170-2186"
source_ref: "src/mame/fujitsu/fm7.cpp:2169-2184"
note: "FM-NEW7 clone, inherits shared ROMs from fm7.zip parent"
contents:
- name: fbasic302.rom
@@ -4276,7 +4276,7 @@ files:
- name: ekara.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2930"
source_ref: "src/mame/tvgames/xavix.cpp:2956"
contents:
- name: ekara.bin
size: 1048576
@@ -4296,7 +4296,7 @@ files:
- name: ekaraj.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2932"
source_ref: "src/mame/tvgames/xavix.cpp:2906"
contents:
- name: ekarajapan.bin
size: 1048576
@@ -4306,7 +4306,7 @@ files:
- name: ekarag.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2933"
source_ref: "src/mame/tvgames/xavix.cpp:2959"
contents:
- name: ekaragermany.bin
size: 2097152
@@ -4326,7 +4326,7 @@ files:
- name: isinger.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2936"
source_ref: "src/mame/tvgames/xavix.cpp:2962"
contents:
- name: kr_isinger.bin
size: 1048576
@@ -4336,7 +4336,7 @@ files:
- name: ekaraphs.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2939"
source_ref: "src/mame/tvgames/xavix.cpp:2965"
contents:
- name: ekaraheadset.bin
size: 2097152
@@ -4346,7 +4346,7 @@ files:
- name: epitch.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:3027"
source_ref: "src/mame/tvgames/xavix.cpp:3028"
contents:
- name: ekarajapan.bin
size: 1048576
@@ -4366,7 +4366,7 @@ files:
- name: ddrfammt.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2948"
source_ref: "src/mame/tvgames/xavix.cpp:2922"
contents:
- name: ekara_ddr_ha010_81947.bin
size: 2097152
@@ -4376,7 +4376,7 @@ files:
- name: popira.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2951"
source_ref: "src/mame/tvgames/xavix.cpp:2936"
contents:
- name: popira.bin
size: 1048576
@@ -4386,7 +4386,7 @@ files:
- name: popirak.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2953"
source_ref: "src/mame/tvgames/xavix.cpp:2927"
contents:
- name: kr_main.u2
size: 1048576
@@ -4396,7 +4396,7 @@ files:
- name: popira2.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2956"
source_ref: "src/mame/tvgames/xavix.cpp:2930"
contents:
- name: popira2.bin
size: 2097152
@@ -4406,7 +4406,7 @@ files:
- name: taikodp.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2959"
source_ref: "src/mame/tvgames/xavix.cpp:2933"
contents:
- name: taikodepopira.bin
size: 2097152
@@ -4416,7 +4416,7 @@ files:
- name: jpopira.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2962"
source_ref: "src/mame/tvgames/xavix.cpp:2936"
contents:
- name: jumpingpopira.bin
size: 2097152
@@ -4430,7 +4430,7 @@ files:
- name: evio.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2965"
source_ref: "src/mame/tvgames/xavix.cpp:2966"
contents:
- name: evio.bin
size: 2097152
@@ -4450,7 +4450,7 @@ files:
- name: gcslottv.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2972"
source_ref: "src/mame/tvgames/xavix.cpp:2946"
contents:
- name: sammyslotunit.bin
size: 2097152
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: frozen_snapshot
source: "https://github.com/libretro/mame2000-libretro"
upstream: "https://www.mamedev.org"
profiled_date: "2026-03-24"
source_commit: "f099ba44c7664906fd7e01cbed89d13a7e32dee1"
source_commit: "181b42e5da0d2f0c7a2e59244f23633ed594de2e"
core_version: "0.37b5"
display_name: "Arcade (MAME 2000)"
+6 -6
View File
@@ -4,7 +4,7 @@ core_classification: frozen_snapshot
source: "https://github.com/libretro/mame2003-libretro"
upstream: "https://www.mamedev.org"
profiled_date: "2026-03-24"
source_commit: "6c32fa9fc005d7e924909c6ff4684da9abb00ceb"
source_commit: "259339e92d5f63e4b293ce0d42a069f9e8ba2a6a"
core_version: "0.78"
display_name: "Arcade (MAME 2003)"
@@ -65,14 +65,14 @@ files:
path: "mame2003/history.dat"
required: false
category: game_data
source_ref: "src/datafile.c:327, src/datafile.c:578"
source_ref: "src/datafile.c:327, src/datafile.c:563"
note: "game history and information database"
- name: mameinfo.dat
path: "mame2003/mameinfo.dat"
required: false
category: game_data
source_ref: "src/datafile.c:327, src/datafile.c:637-641"
source_ref: "src/datafile.c:327, src/datafile.c:622-626"
note: "game technical information database"
# SNK Neo Geo MVS/AES
@@ -146,14 +146,14 @@ files:
required: true
category: bios_zip
system: sega-megaplay
source_ref: "src/drivers/segac2.c:4483"
source_ref: "src/drivers/segac2.c:4468"
# Sega Mega Tech
- name: megatech.zip
required: true
category: bios_zip
system: sega-megatech
source_ref: "src/drivers/segac2.c:4405"
source_ref: "src/drivers/segac2.c:4390"
# DECO Cassette
- name: decocass.zip
@@ -188,7 +188,7 @@ files:
required: true
category: bios_zip
system: konami-gx
source_ref: "src/drivers/konamigx.c:3392"
source_ref: "src/drivers/konamigx.c:3369"
# Century Electronics CVS
- name: cvs.zip
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: frozen_snapshot
source: "https://github.com/libretro/mame2003_midway"
upstream: "https://www.mamedev.org"
profiled_date: "2026-03-24"
source_commit: "52d8432b13fb2be032abccdf465b9fee94078080"
source_commit: "e657f70b6dc67b4f7f9255bc796c5d5ce168d69c"
core_version: "0.78"
display_name: "Arcade (MAME 2003 Midway)"
+1 -1
View File
@@ -5,7 +5,7 @@ source: "https://github.com/libretro/mame2003-plus-libretro"
upstream: "https://www.mamedev.org"
logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg"
profiled_date: "2026-03-24"
source_commit: "d6bf36f65f36853120d7e97cdf4fa3720de66728"
source_commit: "3a2f7f39b1733a8e6b2dca6f1197f18b9a74867b"
core_version: "2003-Plus"
display_name: "Arcade (MAME 2003-Plus)"
mame_version: "0.78 (plus backports)"
+1 -1
View File
@@ -5,7 +5,7 @@ source: "https://github.com/libretro/mame2010-libretro"
upstream: "https://github.com/mamedev/mame/tree/mame0139"
logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg"
profiled_date: "2026-03-22"
source_commit: "484456818393505dd4367e6e4c116c573c04a1ec"
source_commit: "dff8aadd1c3f38215af3955746d6e19abe0ddcea"
core_version: "0.139"
display_name: "Arcade (MAME 2010)"
mame_version: "0.139"
+1 -1
View File
@@ -5,7 +5,7 @@ source: "https://github.com/libretro/mame2015-libretro"
upstream: "https://github.com/mamedev/mame/tree/mame0160"
logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg"
profiled_date: "2026-03-24"
source_commit: "283e04b03c121db9be12632d6bad2fc3e8707248"
source_commit: "0eab132212b28896baeac7d8f2cd8ac25e227752"
core_version: "0.160"
display_name: "Arcade (MAME 2015)"
mame_version: "0.160"
+1 -1
View File
@@ -5,7 +5,7 @@ source: "https://github.com/libretro/mame2016-libretro"
upstream: "https://github.com/mamedev/mame/tree/mame0174"
logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg"
profiled_date: "2026-03-22"
source_commit: "3529f4e2cb8e74c88d83bc9fc9d695f78dc9a975"
source_commit: "e3d45e2ba59bac384aa1619687004e504f317b92"
core_version: "0.174"
cores:
+16 -16
View File
@@ -4,7 +4,7 @@ core_classification: official_port
source: "https://github.com/libretro/mame"
upstream: "https://github.com/mamedev/mame"
profiled_date: "2026-03-24"
source_commit: "c1ff660dbddd5b134f549b4881499699cee1ebb6"
source_commit: "4fc9a9312baaf34963847f884961ad9793fbbc1d"
upstream_commit: "728d957663041fbc943806bf151584acd03e2160"
core_version: "0.287"
display_name: "Arcade (MAME/Arcade)"
@@ -219,7 +219,7 @@ files:
required: true
category: bios_zip
system: igs-pgm
source_ref: "src/mame/igs/pgm.cpp:5545"
source_ref: "src/mame/igs/pgm.cpp:5548"
contents:
- name: pgm_p02s.u20
size: 131072
@@ -643,7 +643,7 @@ files:
required: true
category: bios_zip
system: sega-stv
source_ref: "src/mame/sega/stv.cpp:4068"
source_ref: "src/mame/sega/stv.cpp:4067"
contents:
- name: epr-23603.ic8
size: 524288
@@ -1168,7 +1168,7 @@ files:
required: true
category: bios_zip
system: namco-system573
source_ref: "src/mame/konami/ksys573.cpp:6415"
source_ref: "src/mame/konami/ksys573.cpp:6541"
contents:
- name: 700a01.22g
description: Standard
@@ -1217,7 +1217,7 @@ files:
required: true
category: bios_zip
system: konami-gv
source_ref: "src/mame/konami/konamigv.cpp:1447"
source_ref: "src/mame/konami/konamigv.cpp:1450"
contents:
- name: 999a01.7e
size: 524288
@@ -1247,7 +1247,7 @@ files:
required: true
category: bios_zip
system: konami-twinkle
source_ref: "src/mame/konami/twinkle.cpp:1636"
source_ref: "src/mame/konami/twinkle.cpp:1624"
- name: bubsys.zip
required: true
@@ -1277,7 +1277,7 @@ files:
required: true
category: bios_zip
system: capcom-zn1
source_ref: "src/mame/sony/zn.cpp:5969"
source_ref: "src/mame/sony/zn.cpp:5971"
contents:
- name: m534002c-13.ic353
description: japan
@@ -1298,7 +1298,7 @@ files:
required: true
category: bios_zip
system: capcom-zn2
source_ref: "src/mame/sony/zn.cpp:6055"
source_ref: "src/mame/sony/zn.cpp:6057"
contents:
- name: m534002c-59.ic353
size: 524288
@@ -1313,7 +1313,7 @@ files:
required: true
category: bios_zip
system: taito-fx1
source_ref: "src/mame/sony/zn.cpp:5989"
source_ref: "src/mame/sony/zn.cpp:5991"
contents:
- name: m534002c-14.ic353
size: 524288
@@ -1328,7 +1328,7 @@ files:
required: true
category: bios_zip
system: acclaim-zn1
source_ref: "src/mame/sony/zn.cpp:6015"
source_ref: "src/mame/sony/zn.cpp:6017"
contents:
- name: m534002c-15.ic353
size: 524288
@@ -1343,7 +1343,7 @@ files:
required: true
category: bios_zip
system: atari-zn1
source_ref: "src/mame/sony/zn.cpp:6024"
source_ref: "src/mame/sony/zn.cpp:6039"
contents:
- name: msm27c402zb.ic353
size: 524288
@@ -1358,7 +1358,7 @@ files:
required: true
category: bios_zip
system: atlus-zn1
source_ref: "src/mame/sony/zn.cpp:6028"
source_ref: "src/mame/sony/zn.cpp:6043"
contents:
- name: m534002c-17.ic353
size: 524288
@@ -1373,7 +1373,7 @@ files:
required: true
category: bios_zip
system: videosystem-zn1
source_ref: "src/mame/sony/zn.cpp:6032"
source_ref: "src/mame/sony/zn.cpp:6034"
contents:
- name: coh-1002v.ic353
size: 524288
@@ -1388,7 +1388,7 @@ files:
required: true
category: bios_zip
system: eighting-zn1
source_ref: "src/mame/sony/zn.cpp:6038"
source_ref: "src/mame/sony/zn.cpp:6040"
contents:
- name: m27c402cz-54.ic353
size: 524288
@@ -1403,7 +1403,7 @@ files:
required: true
category: bios_zip
system: tecmo-tps
source_ref: "src/mame/sony/zn.cpp:6089"
source_ref: "src/mame/sony/zn.cpp:6091"
contents:
- name: m534002c-61.ic353
size: 524288
@@ -1774,7 +1774,7 @@ files:
required: true
category: bios_zip
system: brezzasoft-crystal
source_ref: "src/mame/misc/crystal.cpp:845"
source_ref: "src/mame/misc/crystal.cpp:854"
contents:
- name: mx27l1000.u14
description: AMG0110B PCB
+25 -25
View File
@@ -251,7 +251,7 @@ files:
- name: ekara.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2930"
source_ref: "src/mame/tvgames/xavix.cpp:2956"
contents:
- name: ekara.bin
size: 1048576
@@ -271,7 +271,7 @@ files:
- name: ekaraj.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2932"
source_ref: "src/mame/tvgames/xavix.cpp:2906"
contents:
- name: ekarajapan.bin
size: 1048576
@@ -281,7 +281,7 @@ files:
- name: ekarag.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2933"
source_ref: "src/mame/tvgames/xavix.cpp:2959"
contents:
- name: ekaragermany.bin
size: 2097152
@@ -301,7 +301,7 @@ files:
- name: isinger.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2936"
source_ref: "src/mame/tvgames/xavix.cpp:2962"
contents:
- name: kr_isinger.bin
size: 1048576
@@ -311,7 +311,7 @@ files:
- name: ekaraphs.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2939"
source_ref: "src/mame/tvgames/xavix.cpp:2965"
contents:
- name: ekaraheadset.bin
size: 2097152
@@ -321,7 +321,7 @@ files:
- name: epitch.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:3027"
source_ref: "src/mame/tvgames/xavix.cpp:3028"
contents:
- name: ekarajapan.bin
size: 1048576
@@ -342,7 +342,7 @@ files:
- name: ddrfammt.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2948"
source_ref: "src/mame/tvgames/xavix.cpp:2922"
contents:
- name: ekara_ddr_ha010_81947.bin
size: 2097152
@@ -352,7 +352,7 @@ files:
- name: popira.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2951"
source_ref: "src/mame/tvgames/xavix.cpp:2936"
contents:
- name: popira.bin
size: 1048576
@@ -362,7 +362,7 @@ files:
- name: popirak.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2953"
source_ref: "src/mame/tvgames/xavix.cpp:2927"
contents:
- name: kr_main.u2
size: 1048576
@@ -372,7 +372,7 @@ files:
- name: popira2.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2956"
source_ref: "src/mame/tvgames/xavix.cpp:2930"
contents:
- name: popira2.bin
size: 2097152
@@ -382,7 +382,7 @@ files:
- name: taikodp.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2959"
source_ref: "src/mame/tvgames/xavix.cpp:2933"
contents:
- name: taikodepopira.bin
size: 2097152
@@ -392,7 +392,7 @@ files:
- name: jpopira.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2962"
source_ref: "src/mame/tvgames/xavix.cpp:2936"
contents:
- name: jumpingpopira.bin
size: 2097152
@@ -406,7 +406,7 @@ files:
- name: evio.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2965"
source_ref: "src/mame/tvgames/xavix.cpp:2966"
contents:
- name: evio.bin
size: 2097152
@@ -426,7 +426,7 @@ files:
- name: gcslottv.zip
required: true
category: bios_zip
source_ref: "src/mame/tvgames/xavix.cpp:2972"
source_ref: "src/mame/tvgames/xavix.cpp:2946"
contents:
- name: sammyslotunit.bin
size: 2097152
@@ -482,7 +482,7 @@ files:
required: true
category: bios_zip
system: apple2
source_ref: "src/mame/apple/apple2.cpp:774"
source_ref: "src/mame/apple/apple2.cpp:665"
contents:
- name: a2.chr
description: Character generator ROM
@@ -513,7 +513,7 @@ files:
required: true
category: bios_zip
system: apple2
source_ref: "src/mame/apple/apple2.cpp:900"
source_ref: "src/mame/apple/apple2.cpp:803"
contents:
- name: 341-0036.chr
description: Character generator ROM
@@ -548,7 +548,7 @@ files:
required: true
category: bios_zip
system: apple2
source_ref: "src/mame/apple/apple2e.cpp:5563"
source_ref: "src/mame/apple/apple2e.cpp:5566"
contents:
- name: 342-0133-a.chr
description: Character generator ROM
@@ -571,7 +571,7 @@ files:
required: true
category: bios_zip
system: apple2
source_ref: "src/mame/apple/apple2e.cpp:5669"
source_ref: "src/mame/apple/apple2e.cpp:5688"
contents:
- name: 342-0265-a.chr
description: Enhanced character generator ROM
@@ -656,7 +656,7 @@ files:
required: true
category: bios_zip
system: apple2gs
source_ref: "src/mame/apple/apple2gs.cpp:3868-3882"
source_ref: "src/mame/apple/apple2gs.cpp:3853-3867"
contents:
- name: 341s0632-2.bin
description: ADB microcontroller ROM (M50740/50741)
@@ -1325,7 +1325,7 @@ files:
required: true
category: bios_zip
system: fm7
source_ref: "src/mame/fujitsu/fm7.cpp:2188-2209"
source_ref: "src/mame/fujitsu/fm7.cpp:2186-2207"
contents:
- name: fbasic300.rom
description: F-BASIC 3.00 ROM
@@ -1352,7 +1352,7 @@ files:
required: true
category: bios_zip
system: fm7
source_ref: "src/mame/fujitsu/fm7.cpp:2207-2228"
source_ref: "src/mame/fujitsu/fm7.cpp:2209-2230"
contents:
- name: initiate.rom
description: Initiate ROM (boot sequencer)
@@ -1379,7 +1379,7 @@ files:
required: false
category: bios_zip
system: fm7
source_ref: "src/mame/fujitsu/fm7.cpp:2170-2186"
source_ref: "src/mame/fujitsu/fm7.cpp:2169-2184"
note: "FM-NEW7 clone, inherits shared ROMs from fm7.zip parent"
contents:
- name: fbasic302.rom
@@ -1578,7 +1578,7 @@ files:
required: true
category: bios_zip
system: pc60
source_ref: "src/mame/nec/pc6001.cpp:1896-1916"
source_ref: "src/mame/nec/pc6001.cpp:1742-1765"
contents:
- name: basicrom.62
description: BASIC ROM
@@ -1632,7 +1632,7 @@ files:
required: true
category: bios_zip
system: pc60
source_ref: "src/mame/nec/pc6001.cpp:1938-1954"
source_ref: "src/mame/nec/pc6001.cpp:1793-1824"
contents:
- name: systemrom1.64
description: System ROM 1
@@ -1651,7 +1651,7 @@ files:
required: false
category: bios_zip
system: pc60
source_ref: "src/mame/nec/pc6001.cpp:1956-1987"
source_ref: "src/mame/nec/pc6001.cpp:1826-1870"
contents:
- name: systemrom1.68
description: System ROM 1
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: frozen_snapshot
source: "https://github.com/libretro/beetle-gba-libretro"
upstream: "https://mednafen.github.io/"
profiled_date: "2026-03-24"
source_commit: "145d4884ad246e3c16765f6d69decb2a4359b6ae"
source_commit: "b158166237b17253188cfdbe73a8a0b9fe4b3a8c"
core_version: "v0.9.36"
display_name: "Nintendo - Game Boy Advance (Beetle GBA)"
cores:
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: community_fork
source: "https://github.com/libretro/beetle-pce-fast-libretro"
upstream: "https://mednafen.github.io/"
profiled_date: "2026-03-24"
source_commit: "b211204c7026dff6e86e79b00185512e2421fff8"
source_commit: "95fbd9c51bf0e35aa376a7774e9c02ff927cd991"
core_version: "v1.31.0.0"
display_name: "NEC - PC Engine / CD (Beetle PCE FAST)"
cores: [mednafen_pce_fast, pce_fast, beetle_pce_fast]
+3 -3
View File
@@ -4,7 +4,7 @@ core_classification: community_fork
source: "https://github.com/libretro/supafaust"
upstream: "https://mednafen.github.io/"
profiled_date: "2026-03-24"
source_commit: "e25f66765938d33f9ad5850e8d6cd597e55b7299"
source_commit: "642d1d1b6684aa7e306a02a89885f3f5456a5157"
core_version: "1.29.0"
display_name: "Nintendo - SNES / SFC (Beetle Supafaust)"
cores: [mednafen_supafaust, supafaust]
@@ -19,7 +19,7 @@ systems: [nintendo-snes]
notes: >
Port of Mednafen's snes_faust module. All special chip firmware
emulated via HLE with synthesized data ROMs. No external firmware loading.
source_ref: dsp1.cpp:120-177, dsp2.cpp:118-140, cx4.cpp:1548-1656,
cart.cpp:129-584, libretro.cpp:496-742
source_ref: mednafen/snes_faust/cart/dsp1.cpp:120-177, mednafen/snes_faust/cart/dsp2.cpp:118-140, mednafen/snes_faust/cart/cx4.cpp:1548-1656,
mednafen/snes_faust/cart.cpp:129-584, libretro.cpp:496-742
files: []
+1 -1
View File
@@ -8,7 +8,7 @@ core_classification: official_port
source: "https://github.com/libretro/Mesen-S"
upstream: "https://github.com/SourMesen/Mesen-S"
profiled_date: "2026-03-24"
source_commit: "d4fca31a6004041d99b02199688f84c009c55967"
source_commit: "9e4fdeb9b336470bc96beb8765b2e79c86a2da1e"
core_version: "0.4.0"
cores: [mesen-s, mesen_s]
systems: [nintendo-snes, nintendo-gb, nintendo-gbc, nintendo-super-game-boy, nintendo-satellaview]
+5 -5
View File
@@ -4,7 +4,7 @@ core_classification: enhanced_fork
source: "https://github.com/nesdev-org/MesenCE"
upstream: "https://github.com/SourMesen/Mesen2"
profiled_date: "2026-08-06"
source_commit: "bec4fe632cb21ec97ad2b39cd6fdc826ecd02753"
source_commit: "af2342818ca81a93b346146802047760400fc7b1"
core_version: "2.2.1"
display_name: "Multi-System (MesenCE)"
cores: [mesence, mesen2]
@@ -47,21 +47,21 @@ notes: |
file listed below, or from a split pair <name>.program.rom + <name>.data.rom
(FirmwareHelper.h AttemptLoadDspFirmware). ROM dumps with the firmware
appended to the game ROM need no external file (LoadDspFirmware embedded
path, FirmwareHelper.h:131-135).
path, Core/Shared/FirmwareHelper.h:131-135).
GB/GBC/SGB boot ROM images are compiled into the core
(Core/Gameboy/GbBootRom.h:8,49,99); the external files below override them.
Super Game Boy mode falls back to the plain GB core when SGB1.sfc/SGB2.sfc
is missing (BaseCartridge.cpp:698-717).
is missing (Core/SNES/BaseCartridge.cpp:698-717).
Satellaview data broadcasts are read from <home>/Satellaview/ as
BSX<channel>-<index>.bin (BsxStream.cpp:67-74). Five stream files and
BSX<channel>-<index>.bin (Core/SNES/Coprocessors/BSX/BsxStream.cpp:67-74). Five stream files and
MesenNesDB.txt ship inside the application binary (Dependencies.zip) and
are extracted to the home folder at startup; user-provided replacements
are preserved (UI/Utilities/DependencyHelper.cs:14-66). NES and SNES
cheat databases (CheatDb.Nes.json, CheatDb.Snes.json) are read directly
from the embedded archive and never touch the filesystem
(DependencyHelper.cs GetFileContent, CheatDatabaseViewModel.cs:33).
(DependencyHelper.cs GetFileContent, UI/ViewModels/CheatDatabaseViewModel.cs:33).
HdPacks are per-game texture/audio replacements under <home>/HdPacks/,
game content rather than system files.
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: frozen_snapshot
source: "https://github.com/libretro/mame2015-libretro"
upstream: "https://github.com/mamedev/mame/tree/mame0160"
profiled_date: "2026-03-24"
source_commit: "283e04b03c121db9be12632d6bad2fc3e8707248"
source_commit: "0eab132212b28896baeac7d8f2cd8ac25e227752"
core_version: "0.160"
display_name: "Multi (MESS 2015)"
mame_version: "0.159"
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: community_fork
source: "https://github.com/libretro/meteor-libretro"
upstream: "https://github.com/blastrock/meteor"
profiled_date: "2026-03-24"
source_commit: "e533d300d0561564451bde55a2b73119c768453c"
source_commit: "9ea6c358eae6acd1a346647d96b832ccaffad0aa"
core_version: "v1.4"
display_name: "Nintendo - Game Boy Advance (Meteor)"
cores:
+7 -7
View File
@@ -6,7 +6,7 @@ source_branch: libretro
source_ref: "PR #255 to mkxp-z/mkxp-z"
upstream: "https://github.com/mkxp-z/mkxp-z"
profiled_date: "2026-03-24"
source_commit: "f4bc5aacee7875526ac7053cb61c0dc2357cac17"
source_commit: "650cb0888a07d0b5044e131160ddfa53feaf595b"
core_version: "f4bc5aa"
display_name: "RPG Maker XP/VX/VX Ace (mkxp-z)"
cores:
@@ -30,39 +30,39 @@ files:
category: game_data
path: "mkxp-z/RTP/Standard/"
required: false
source_ref: "src/core.cpp:1042-1085, src/core.cpp:1087-1158"
source_ref: "src/core.cpp:1081-1124, src/core.cpp:1126-1197"
- name: "RPGVX"
description: "RPG Maker VX Run-Time Package"
category: game_data
path: "mkxp-z/RTP/RPGVX/"
required: false
source_ref: "src/core.cpp:1042-1085, src/core.cpp:1087-1158"
source_ref: "src/core.cpp:1081-1124, src/core.cpp:1126-1197"
- name: "RPGVXAce"
description: "RPG Maker VX Ace Run-Time Package"
category: game_data
path: "mkxp-z/RTP/RPGVXAce/"
required: false
source_ref: "src/core.cpp:1042-1085, src/core.cpp:1087-1158"
source_ref: "src/core.cpp:1081-1124, src/core.cpp:1126-1197"
- name: "Fonts"
description: "Fallback font directory (.otf/.ttf)"
category: game_data
path: "mkxp-z/Fonts/"
required: false
source_ref: "src/core.cpp:1160-1172"
source_ref: "src/core.cpp:1199-1211"
- name: "Preload"
description: "Ruby scripts loaded before game scripts"
category: game_data
path: "mkxp-z/Scripts/Preload/"
required: false
source_ref: "src/core.cpp:876-907"
source_ref: "src/core.cpp:891-934"
- name: "Postload"
description: "Ruby scripts loaded after game scripts (RGSS3 only)"
category: game_data
path: "mkxp-z/Scripts/Postload/"
required: false
source_ref: "src/core.cpp:886-917"
source_ref: "src/core.cpp:901-956"
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: pure_libretro
source: "https://github.com/libretro/Mu"
upstream: "https://github.com/meepingsnesroms/Mu"
profiled_date: "2026-03-24"
source_commit: "de05588fcb1adca6738dc4cf6a2e6e6c447bf2f2"
source_commit: "f9d34a0006440aef8dca0db2a0d896438fcab2cb"
core_version: "v1.3.3"
display_name: "Palm OS (Mu)"
cores: [mu]
+39 -39
View File
@@ -4,7 +4,7 @@ core_classification: community_fork
source: "https://github.com/mupen64plus-ae/mupen64plus-ae"
upstream: "https://github.com/mupen64plus-ae/mupen64plus-ae"
profiled_date: "2026-08-12"
source_commit: "25cfb7a0cf27517f796fb2baf92606f3ae9417f3"
source_commit: "33bf7021549d7873e976884370fbd1a8e7333bc7"
core_version: "3.0.249 (beta)"
display_name: "Nintendo - Nintendo 64 (Mupen64Plus AE)"
cores:
@@ -25,94 +25,94 @@ notes: |
audio, touchscreen and raphnet input plugins, and a miniupnp bridge for
netplay (settings.gradle:1). ES-DE launches it for both n64 and n64dd with an
ACTION_VIEW intent carrying a storage access uri, which the splash screen
forwards to the gallery (AndroidManifest.xml:80-101, SplashActivity.java:134).
forwards to the gallery (app/src/main/AndroidManifest.xml:80-101, app/src/main/java/paulscode/android/mupen64plusae/SplashActivity.java:134).
Cartridge boot needs no boot ROM. The PIF boot sequence is simulated
(device/pif/bootrom_hle.c:48, entered from device/r4300/interrupt.c:445,496
and main/main.c:1875) and the CIC-NUS-6105 challenge is answered by an
algorithm rather than a stored table (device/pif/n64_cic_nus_6105.c:93).
(mupen64plus-core/upstream/src/device/pif/bootrom_hle.c:48, entered from mupen64plus-core/upstream/src/device/r4300/interrupt.c:445,496
and mupen64plus-core/upstream/src/main/main.c:1875) and the CIC-NUS-6105 challenge is answered by an
algorithm rather than a stored table (mupen64plus-core/upstream/src/device/pif/n64_cic_nus_6105.c:93).
Nothing fills the PIF ROM window from a file.
Which 64DD IPL is used is not decided by the code. Two settings hold a path
and both end up as the same working file dd_rom.n64: the global one, titled
64DD IPL (J), read when the launched file is itself a disk, and a per game
one, titled 64DD IPL, read when a cartridge is launched with a disk attached
and only while the support64dd toggle is on (CoreService.java:606-620,
GlobalPrefs.java:421,727, GamePrefs.java:579-599,
CoreInterface.java:144,231,459-488). The core offers a callback that would
and only while the support64dd toggle is on (app/src/main/java/paulscode/android/mupen64plusae/jni/CoreService.java:606-620,
app/src/main/java/paulscode/android/mupen64plusae/persistent/GlobalPrefs.java:421,727, app/src/main/java/paulscode/android/mupen64plusae/persistent/GamePrefs.java:579-599,
app/src/main/java/paulscode/android/mupen64plusae/jni/CoreInterface.java:144,231,459-488). The core offers a callback that would
name the image per disk region and the front end leaves it null
(CoreInterface.java:223, main/main.c:1082-1086), so whichever image sits in
(app/src/main/java/paulscode/android/mupen64plusae/jni/CoreInterface.java:223, mupen64plus-core/upstream/src/main/main.c:1082-1086), so whichever image sits in
the slot is the one loaded. A disk is recognised only when its system data
header matches and carries one of three region words, 0xe848d316 for Japan,
0x2263ee56 for the United States and 0x00000000 for development
(RomHeader.java:180-220); the word sets a country code used for the ROM
(app/src/main/java/paulscode/android/mupen64plusae/util/RomHeader.java:180-220); the word sets a country code used for the ROM
database and cheat lookup, never for picking the IPL. Launching a bare disk
with the global slot empty stops before the core starts
(CoreService.java:638-639), and since disk only games still need a cartridge
(app/src/main/java/paulscode/android/mupen64plusae/jni/CoreService.java:638-639), and since disk only games still need a cartridge
image the application feeds the m64p_test_rom.v64 asset in its place
(CoreService.java:643-644). Disk content inside a .zip or .7z is unpacked to
the working directory first (CoreInterface.java:490-522).
(app/src/main/java/paulscode/android/mupen64plusae/jni/CoreService.java:643-644). Disk content inside a .zip or .7z is unpacked to
the working directory first (app/src/main/java/paulscode/android/mupen64plusae/jni/CoreInterface.java:490-522).
Transfer Pak carts come from four per player path settings copied into the
working directory as playerN_gb_rom.gb and playerN_gb_ram.gb
(CoreService.java:566-575, GamePrefs.java:933-960,
CoreInterface.java:142-143,175-189,235-236,420-457). The core rejects a cart
under 32 KiB and an unknown type byte at 0x147 (device/gb/gb_cart.c:996-1009)
(app/src/main/java/paulscode/android/mupen64plusae/jni/CoreService.java:566-575, app/src/main/java/paulscode/android/mupen64plusae/persistent/GamePrefs.java:933-960,
app/src/main/java/paulscode/android/mupen64plusae/jni/CoreInterface.java:142-143,175-189,235-236,420-457). The core rejects a cart
under 32 KiB and an unknown type byte at 0x147 (mupen64plus-core/upstream/src/device/gb/gb_cart.c:996-1009)
and fixes no name, size or hash, so neither the cart nor its save carries an
entry here.
Seven data files ship inside the package, each keyed to a version number and
unpacked on first start into the private files directory, which is also what
the core is told is SharedDataPath (ExtractAssetsOrCleanupTask.java:63-73,
SplashActivity.java:90,399-402, AppData.java:391-403,
NativeConfigFiles.java:111). mupen64plus.ini is the ROM database, read by the
core (main/rom.c:473-490 from api/frontend.c:106) and by the gallery
(SplashActivity.java:447). mupencheat.default is copied over
the core is told is SharedDataPath (app/src/main/java/paulscode/android/mupen64plusae/task/ExtractAssetsOrCleanupTask.java:63-73,
app/src/main/java/paulscode/android/mupen64plusae/SplashActivity.java:90,399-402, app/src/main/java/paulscode/android/mupen64plusae/persistent/AppData.java:391-403,
app/src/main/java/paulscode/android/mupen64plusae/jni/NativeConfigFiles.java:111). mupen64plus.ini is the ROM database, read by the
core (mupen64plus-core/upstream/src/main/rom.c:473-490 from mupen64plus-core/upstream/src/api/frontend.c:106) and by the gallery
(app/src/main/java/paulscode/android/mupen64plusae/SplashActivity.java:447). mupencheat.default is copied over
Profiles/customCheats.txt into mupencheat.txt and parsed in Java
(SplashActivity.java:443, CheatUtils.java:88-96, GamePrefsActivity.java:548);
(app/src/main/java/paulscode/android/mupen64plusae/SplashActivity.java:443, app/src/main/java/paulscode/android/mupen64plusae/cheat/CheatUtils.java:88-96, app/src/main/java/paulscode/android/mupen64plusae/persistent/GamePrefsActivity.java:548);
the core's own cheat.c opens no file. font.ttf is reached by GLideN64 only
after /system/fonts/DroidSans.ttf fails, that name being what the front end
writes as the configured font (TextDrawer.cpp:209-210,222-228,
NativeConfigFiles.java:291); the core's OSD, the other upstream reader of
that name (osd/osd.c:40), is absent from the Android source list
(mupen64plus-core.mk:24-101). RiceVideoLinux.ini holds rice's per ROM
writes as the configured font (mupen64plus-video-gliden64/upstream/src/TextDrawer.cpp:209-210,222-228,
app/src/main/java/paulscode/android/mupen64plusae/jni/NativeConfigFiles.java:291); the core's OSD, the other upstream reader of
that name (mupen64plus-core/upstream/src/osd/osd.c:40), is absent from the Android source list
(mupen64plus-core/mupen64plus-core.mk:24-101). RiceVideoLinux.ini holds rice's per ROM
settings (rice Config.cpp:38,933-953), Glide64mk2.ini glide64mk2's
(glide64mk2 Main.cpp:1581-1586), and gln64.conf with gln64rom.conf gln64's
global and per ROM settings (gln64 Config.cpp:245-252,296-302).
Two more assets are read straight out of the package and never unpacked:
m64p_test_rom.v64, and GLideN64.custom.ini, whose per ROM overrides the front
end reads itself and writes into mupen64plus.cfg (AppData.java:396-397,
ConfigFile.java:225-229, NativeConfigFiles.java:223,227). GLideN64 also asks
end reads itself and writes into mupen64plus.cfg (app/src/main/java/paulscode/android/mupen64plusae/persistent/AppData.java:396-397,
app/src/main/java/paulscode/android/mupen64plusae/persistent/ConfigFile.java:225-229, app/src/main/java/paulscode/android/mupen64plusae/jni/NativeConfigFiles.java:223,227). GLideN64 also asks
the core for GLideN64.custom.ini in SharedDataPath, where it was never
placed, so that native lookup finds nothing
(mupenplus/Config_mupenplus.cpp:332-344). The touchscreen skins, the shader
(mupen64plus-video-gliden64/upstream/src/mupenplus/Config_mupenplus.cpp:332-344). The touchscreen skins, the shader
sources and the controller, touchscreen and emulation profile templates are
used from the package the same way (AppData.java:392,401-403,
GlobalPrefs.java:530, ShaderLoader.java:85).
used from the package the same way (app/src/main/java/paulscode/android/mupen64plusae/persistent/AppData.java:392,401-403,
app/src/main/java/paulscode/android/mupen64plusae/persistent/GlobalPrefs.java:530, app/src/main/java/paulscode/android/mupen64plusae/game/ShaderLoader.java:85).
Optional content with no canonical artifact: hi-res texture packs under the
user data directory, imported from a user archive (GlobalPrefs.java:469,
user data directory, imported from a user archive (app/src/main/java/paulscode/android/mupen64plusae/persistent/GlobalPrefs.java:469,
ExtractTexturesFragment.java), the <ROM>_HIRESTEXTURES.htc and .hts caches
the plugin builds from them, read back for their storage flag
(NativeConfigFiles.java:365-376), customCheats.txt, custom touchscreen skins
and cover art (GlobalPrefs.java:481,486-487), and alp_screen.vert with
(app/src/main/java/paulscode/android/mupen64plusae/jni/NativeConfigFiles.java:365-376), customCheats.txt, custom touchscreen skins
and cover art (app/src/main/java/paulscode/android/mupen64plusae/persistent/GlobalPrefs.java:481,486-487), and alp_screen.vert with
alp_screen.frag, which angrylion-plus opens as working directory relative
paths before falling back to its embedded shaders
(angrylion-plus output/vdac.c:119-127,167-174,246-247).
Written rather than obtained: mupen64plus.cfg and the plugin sections in it,
the mempak, eeprom, flashram and sram saves given default content when absent
(main/main.c:1015-1078,1619-1622) and the 64DD disk save in whichever of the
two formats SaveDiskFormat selects (main/main.c:365,1176-1235), savestates
(mupen64plus-core/upstream/src/main/main.c:1015-1078,1619-1622) and the 64DD disk save in whichever of the
two formats SaveDiskFormat selects (mupen64plus-core/upstream/src/main/main.c:365,1176-1235), savestates
with the rcheevos progress file written beside them
(CoreService.java:335,407-413), screenshots, the texture dump and cache
(app/src/main/java/paulscode/android/mupen64plusae/jni/CoreService.java:335,407-413), screenshots, the texture dump and cache
directories, the GLideN64 shader cache and romInfoCache.cfg
(GlobalPrefs.java:466-487, NativeConfigFiles.java:108-111).
(app/src/main/java/paulscode/android/mupen64plusae/persistent/GlobalPrefs.java:466-487, app/src/main/java/paulscode/android/mupen64plusae/jni/NativeConfigFiles.java:108-111).
Two files in the tree this build never reads. cxd4's rsp_conf.bin: its reader
is the zilmar variant of update_conf behind #if !defined(M64P_PLUGIN_API),
and the build defines that macro (mupen64plus-rsp-cxd4.mk:8), so the variant
and the build defines that macro (mupen64plus-rsp-cxd4/mupen64plus-rsp-cxd4.mk:8), so the variant
compiled takes its settings from the core config API and ignores the filename
it is handed (mupen64plus-rsp-cxd4 module.c:83-93,239,637-659). And
parallel-rdp's shader directory, registered as a filesystem protocol only
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: pure_libretro
source: "https://github.com/AloysHF/Native32Emu"
upstream: "https://github.com/AloysHF/Native32Emu"
profiled_date: "2026-09-03"
source_commit: "f445ea34ba42ecb5b3d7fe7b5f28d544a8b0a2ea"
source_commit: "59a918ac2a001dbae9cb279fe95e75f830793220"
core_version: "1.3.0"
display_name: "Sunplus - Native32 (Native32Emu)"
cores:
+2 -2
View File
@@ -4,7 +4,7 @@ core_classification: community_fork
source: "https://github.com/libretro/libretro-meowPC98"
upstream: "https://np2.yui.ne.jp (dead; source preserved in libretro repo)"
profiled_date: "2026-03-24"
source_commit: "0ba5965247834317fd1026dc19d302677849b9e4"
source_commit: "5fdbb2187f6b14ca7bf668dd52b36c820b989995"
core_version: "0.86"
display_name: "NEC - PC-98 (Neko Project II)"
cores: [nekop2]
@@ -67,7 +67,7 @@ files:
PC-98 font bitmap (288 KB). Required for correct Japanese kanji display.
Without this, only basic ASCII renders using built-in 8x8 data.
FONT.ROM (V98 format) is also accepted.
source_ref: "libretro/libretro.c:862, font/font.c:113, font/fontdata.c:12"
source_ref: "libretro/libretro.c:872, font/font.c:113, font/fontdata.c:12"
# -- Sound BIOS ROM --
# Loaded by soundrom_load() via loadsoundrom() in sound/soundrom.c:21-55.
+8 -8
View File
@@ -43,7 +43,7 @@ files:
validation: [crc32]
md5: "ca30b50f880eb660a320674ed365ef7a"
sha1: "57fe1bdee955bb48d357e463ccbf129496930b62"
source_ref: "libretro/libretro.cpp:1730-1758 (FDS load), source/core/NstFds.cpp:61-131 (Bios class, CRC32 validation)"
source_ref: "libretro/libretro.cpp:2111-2139 (FDS load), source/core/NstFds.cpp:57-127 (Bios class, CRC32 validation)"
note: "Mapped at 0xE000-0xFFFF (8 KB). retro_load_game returns false if missing when loading .fds files. CRC32 checked: Famicom 0x5E607DCF, Twin Famicom 0x4DF24A6C."
# --- NES game database (optional, overrides baked-in copy) ---
@@ -52,7 +52,7 @@ files:
description: "Nestopia game database for region and mapper autodetection"
required: false
hle_fallback: true
source_ref: "libretro/libretro.cpp:1682-1712 (database load), libretro/nstdatabase.hpp (baked-in fallback)"
source_ref: "libretro/libretro.cpp:2063-2093 (database load), libretro/nstdatabase.hpp (baked-in fallback)"
note: "XML database matching games by SHA1+CRC32. Used for region, mapper, mirroring, and 4-player adapter detection. Built-in fallback exists so this file is optional."
# --- Custom palette (optional, core option nestopia_palette = Custom) ---
@@ -62,7 +62,7 @@ files:
required: false
hle_fallback: true
size: 192
source_ref: "libretro/libretro.cpp:1660-1681 (palette load)"
source_ref: "libretro/libretro.cpp:2041-2062 (palette load)"
note: "64 RGB triplets (64 x 3 bytes = 192 bytes). Loaded unconditionally at startup; applied only when nestopia_palette core option is set to Custom. Falls back to built-in Royaltea palette. Multiple valid palettes exist so no canonical hash."
# --- ADPCM audio samples (optional, game-specific) ---
@@ -71,32 +71,32 @@ files:
description: "Moero Pro Yakyuu audio samples (16 .wav files, 00.wav-15.wav)"
required: false
category: game_data
source_ref: "libretro/libretro.cpp:196-242 (load_wav), libretro/libretro.cpp:302 (LOAD_SAMPLE_MOERO_PRO_YAKYUU callback), source/core/NstSoundPlayer.hpp:53 (16 samples)"
source_ref: "libretro/libretro.cpp:183-391 (load_wav), libretro/libretro.cpp:451 (LOAD_SAMPLE_MOERO_PRO_YAKYUU callback), source/core/NstSoundPlayer.hpp:49 (16 samples)"
- name: "nestopia/samples/moepro88/"
system: nintendo-nes
description: "Moero Pro Yakyuu '88 audio samples (20 .wav files, 00.wav-19.wav)"
required: false
category: game_data
source_ref: "libretro/libretro.cpp:196-242 (load_wav), libretro/libretro.cpp:304 (LOAD_SAMPLE_MOERO_PRO_YAKYUU_88 callback), source/core/NstSoundPlayer.hpp:54 (20 samples)"
source_ref: "libretro/libretro.cpp:183-391 (load_wav), libretro/libretro.cpp:453 (LOAD_SAMPLE_MOERO_PRO_YAKYUU_88 callback), source/core/NstSoundPlayer.hpp:50 (20 samples)"
- name: "nestopia/samples/mptennis/"
system: nintendo-nes
description: "Moero Pro Tennis audio samples (19 .wav files, 00.wav-18.wav)"
required: false
category: game_data
source_ref: "libretro/libretro.cpp:196-242 (load_wav), libretro/libretro.cpp:306 (LOAD_SAMPLE_MOERO_PRO_TENNIS callback), source/core/NstSoundPlayer.hpp:55 (19 samples)"
source_ref: "libretro/libretro.cpp:183-391 (load_wav), libretro/libretro.cpp:455 (LOAD_SAMPLE_MOERO_PRO_TENNIS callback), source/core/NstSoundPlayer.hpp:51 (19 samples)"
- name: "nestopia/samples/terao/"
system: nintendo-nes
description: "Terao no Dosukoi Oozumou audio samples (6 .wav files, 00.wav-05.wav)"
required: false
category: game_data
source_ref: "libretro/libretro.cpp:196-242 (load_wav), libretro/libretro.cpp:308 (LOAD_SAMPLE_TERAO_NO_DOSUKOI_OOZUMOU callback), source/core/NstSoundPlayer.hpp:56 (6 samples)"
source_ref: "libretro/libretro.cpp:183-391 (load_wav), libretro/libretro.cpp:457 (LOAD_SAMPLE_TERAO_NO_DOSUKOI_OOZUMOU callback), source/core/NstSoundPlayer.hpp:52 (6 samples)"
- name: "nestopia/samples/ftaerobi/"
system: nintendo-nes
description: "Aerobics Studio audio samples (8 .wav files, 00.wav-07.wav)"
required: false
category: game_data
source_ref: "libretro/libretro.cpp:196-242 (load_wav), libretro/libretro.cpp:310 (LOAD_SAMPLE_AEROBICS_STUDIO callback), source/core/NstSoundPlayer.hpp:57 (8 samples)"
source_ref: "libretro/libretro.cpp:183-391 (load_wav), libretro/libretro.cpp:459 (LOAD_SAMPLE_AEROBICS_STUDIO callback), source/core/NstSoundPlayer.hpp:53 (8 samples)"
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: pure_libretro
source: "https://github.com/AloysHF/NicaiEmu"
upstream: "https://github.com/AloysHF/NicaiEmu"
profiled_date: "2026-09-03"
source_commit: "d0b1a959e3756209e6f56b167bb6e5509805b275"
source_commit: "43d016098be7e468cabfd46fa6b45047637d6c3a"
core_version: "0.1.0"
display_name: "MStar - Nicai (NicaiEmu)"
cores:
+9 -9
View File
@@ -46,7 +46,7 @@ files:
note: >
PC-9801 system BIOS ROM (96 KB). The core boots without it using the
built-in BIOS simulator, but some software requires the real BIOS.
source_ref: "bios/bios.c:430-436, common/strres.c:60"
source_ref: "bios/bios.c:440-446, common/strres.c:60"
# -- Font file --
# Path set in libretro.c:1813 as "<system>/np2kai/font.bmp".
@@ -62,7 +62,7 @@ files:
PC-98 font bitmap. Required for correct Japanese kanji display.
Without this, only basic ASCII renders using built-in 8x8 data.
FONT.ROM (V98 format) is also accepted.
source_ref: "sdl/libretro/libretro.c:1813, font/font.c:86-125, font/fontdata.c:11"
source_ref: "sdl/libretro/libretro.c:1830, font/font.c:86-125, font/fontdata.c:11"
# -- Sound BIOS ROM --
# Loaded by soundrom_load() in soundrom.c:93-106 via loadsoundrom().
@@ -90,42 +90,42 @@ files:
required: false
aliases: ["2608_BD.WAV"]
note: "YM2608 OPNA rhythm sample: bass drum"
source_ref: "sound/rhythmc.c:11,60-71, sound/fmgen/fmgen_opna.cpp:1431"
source_ref: "sound/rhythmc.c:11, 60-71, sound/fmgen/fmgen_opna.cpp:1433"
- name: "2608_sd.wav"
path: "np2kai/2608_sd.wav"
required: false
aliases: ["2608_SD.WAV"]
note: "YM2608 OPNA rhythm sample: snare drum"
source_ref: "sound/rhythmc.c:12, sound/fmgen/fmgen_opna.cpp:1432"
source_ref: "sound/rhythmc.c:12, sound/fmgen/fmgen_opna.cpp:1434"
- name: "2608_top.wav"
path: "np2kai/2608_top.wav"
required: false
aliases: ["2608_TOP.WAV"]
note: "YM2608 OPNA rhythm sample: top cymbal"
source_ref: "sound/rhythmc.c:13, sound/fmgen/fmgen_opna.cpp:1432"
source_ref: "sound/rhythmc.c:13, sound/fmgen/fmgen_opna.cpp:1434"
- name: "2608_hh.wav"
path: "np2kai/2608_hh.wav"
required: false
aliases: ["2608_HH.WAV"]
note: "YM2608 OPNA rhythm sample: hi-hat"
source_ref: "sound/rhythmc.c:14, sound/fmgen/fmgen_opna.cpp:1432"
source_ref: "sound/rhythmc.c:14, sound/fmgen/fmgen_opna.cpp:1434"
- name: "2608_tom.wav"
path: "np2kai/2608_tom.wav"
required: false
aliases: ["2608_TOM.WAV"]
note: "YM2608 OPNA rhythm sample: tom"
source_ref: "sound/rhythmc.c:15, sound/fmgen/fmgen_opna.cpp:1432"
source_ref: "sound/rhythmc.c:15, sound/fmgen/fmgen_opna.cpp:1434"
- name: "2608_rim.wav"
path: "np2kai/2608_rim.wav"
required: false
aliases: ["2608_RIM.WAV", "2608_RYM.WAV"]
note: "YM2608 OPNA rhythm sample: rim shot. fmgen also accepts 2608_RYM.WAV."
source_ref: "sound/rhythmc.c:16, sound/fmgen/fmgen_opna.cpp:1431-1441"
source_ref: "sound/rhythmc.c:16, sound/fmgen/fmgen_opna.cpp:1433-1443"
# -- IDE BIOS ROM --
# Loaded by ideio.c:1913-1931. Tried in order: ide.rom, d8000.rom,
@@ -140,7 +140,7 @@ files:
note: >
IDE controller BIOS ROM (8 KB). For IDE HDD boot support.
Without this, a simulated IDE BIOS is used.
source_ref: "cbus/ideio.c:1913-1941"
source_ref: "cbus/ideio.c:1944-1972"
# -- SCSI BIOS ROM --
# Loaded by scsiio.c:219. 16 KB (0x4000). Falls back to scsibios[] stub.
+6 -6
View File
@@ -17,23 +17,23 @@ notes: |
The core requires the freeware Cave Story distribution placed in
{system_dir}/nxengine/. When launched without content, it looks for
Doukutsu.exe there (libretro.cpp:257-262). When launched with a .exe
content file, it uses the parent directory of that file (libretro.cpp:240).
Doukutsu.exe there (nxengine/libretro/libretro.cpp:273-278). When launched with a .exe
content file, it uses the parent directory of that file (nxengine/libretro/libretro.cpp:256).
At startup (main.cpp:75-90), the core opens Doukutsu.exe and extracts:
ORG music (extractorg.c), PXT sound effects (extractpxt.c), stage tile
attributes (extractstages.c), 18 credit BMPs + pixel.bmp (endpic/),
and the wavetable (cachefiles.c:464-485). All kept in memory.
and the wavetable (nxengine/extract-auto/cachefiles.c:464-485). All kept in memory.
The data/ directory (399 files from the freeware release) is loaded into
an in-memory cache at init (cachefiles.c:38-439, 497-540). All subsequent
an in-memory cache at init (nxengine/extract-auto/cachefiles.c:38-439, 497-540). All subsequent
file access goes through this cache. The core verifies data/ by checking
for data/npc.tbl (main.cpp:47-58).
The font is compiled-in (bitmap_font.h). The upstream standalone version
uses font.ttf via SDL_ttf.
Valid content extension: .exe (libretro.cpp:112).
Valid content extension: .exe (nxengine/libretro/libretro.cpp:128).
files:
- name: "Doukutsu.exe"
@@ -45,7 +45,7 @@ files:
size: 1478656
md5: "38695d3d69d7a0ada8178072dad4c58b"
sha1: "bb2d0441e073da9c584f23c2ad8c7ab8aac293bf"
source_ref: "main.cpp:77-78 (opened for extraction), nxengine/libretro/libretro.cpp:258 (existence check)"
source_ref: "main.cpp:77-78 (opened for extraction), nxengine/libretro/libretro.cpp:274 (existence check)"
note: "Placed in system/nxengine/. The core extracts ORG music, PXT sounds, stage tile attributes, BMP graphics, and wavetable from this binary at each launch."
- name: "data/"
+1 -1
View File
@@ -3,7 +3,7 @@ type: standalone
source: "https://github.com/openMSX/openMSX"
upstream: "https://github.com/openMSX/openMSX"
profiled_date: "2026-03-26"
source_commit: "632d46cc00015bc37be6cbb63cacb70e90434094"
source_commit: "74b12f3c9305264c36ce45a744b43f4609ae71c7"
core_version: "21.0"
display_name: "MSX / ColecoVision / Spectravideo (openMSX)"
cores:
+1 -1
View File
@@ -6,7 +6,7 @@ cores: [opera]
source: "https://github.com/libretro/opera-libretro"
upstream: "https://sourceforge.net/projects/freedo/"
profiled_date: "2026-03-24"
source_commit: "636a8dd6340bce7073168ddefd29841fc5e2d213"
source_commit: "a501a278d057b952d1ad6165549c59ab178ca497"
core_version: "1.0.0"
display_name: "The 3DO Company - 3DO (Opera)"
systems:
+18 -18
View File
@@ -4,7 +4,7 @@ core_classification: launcher
source: "https://gitlab.com/parallel-launcher/parallel-launcher"
upstream: "https://gitlab.com/parallel-launcher/parallel-n64"
profiled_date: "2026-08-08"
source_commit: "8f2924c213f7c98118ab5a86fc21c452b77a7057"
source_commit: "8dc2a83770c57bc00e1b1fae0aed71f2120cc875"
upstream_commit: "11574ac28d27faaaef4b5bc3c1ca50fb2ed98b83"
core_version: "9.0.5"
display_name: "Nintendo - Nintendo 64 (Parallel Launcher)"
@@ -18,42 +18,42 @@ systems:
notes: |
Qt front end that installs and drives its own RetroArch and its own fork of
ParaLLEl N64. RetroArch is fetched from buildbot.libretro.com as a stable
release archive (retroarch-updater.cpp:24-30). The core,
release archive (src/updaters/retroarch-updater.cpp:24-30). The core,
parallel_n64_next_libretro, is fetched from parallel-launcher.ca
(updates.cpp:190-213) into retro-data/cores. Core version at this profiling
(src/core/updates.cpp:190-213) into retro-data/cores. Core version at this profiling
is 2.28.
Neither lands in a user RetroArch install. The system directory the core
reads from is retro-data/system under the launcher's own data directory,
written into a private retroarch.cfg on every launch (retroarch.cpp:100-129).
written into a private retroarch.cfg on every launch (src/core/retroarch.cpp:100-129).
RetroArch is spawned as `-L <core> --config <cfg> <rom>`
(retroarch.cpp:760-781). The launcher also rewrites the core's .info into
retro-data/info at every startup (main.cpp:149-156), which is how RetroArch
(src/core/retroarch.cpp:760-781). The launcher also rewrites the core's .info into
retro-data/info at every startup (src/main.cpp:149-156), which is how RetroArch
learns of the 64DD firmware entry.
Content is restricted to cartridge formats at every entry point: command line
and file associations take .z64 .n64 .v64 .bps (main.cpp:65-94), the add-ROM
dialog the same (main-window.cpp:607-616), the library scanner *.[nvz]64
(rom-finder.cpp:271-278), romhacking.com downloads .z64 (sync.cpp:238). A .bps
is patched to a cartridge ROM before launch (play.cpp:721-757). No --subsystem
and file associations take .z64 .n64 .v64 .bps (src/main.cpp:65-94), the add-ROM
dialog the same (src/ui/main-window.cpp:607-616), the library scanner *.[nvz]64
(src/core/rom-finder.cpp:271-278), romhacking.com downloads .z64 (src/rhdc/core/sync.cpp:238). A .bps
is patched to a cartridge ROM before launch (src/ui/play.cpp:721-757). No --subsystem
argument is passed either, so neither route into the core's disk path opens:
the header check at libretro.c:545-548 and the cart-and-disk subsystem at
libretro.c:104-114.
the header check at libretro/libretro.c:545-548 and the cart-and-disk subsystem at
libretro/libretro.c:104-114.
Graphics plugin is chosen per ROM among ParaLLEl-RDP, Glide64, angrylion,
GLideN64, Rice, glN64 and OGRE (settings.hpp:13-22, retroarch.cpp:55-64).
GLideN64, Rice, glN64 and OGRE (src/core/settings.hpp:13-22, src/core/retroarch.cpp:55-64).
Selecting glN64 also reads gles2n64.conf from the system directory root at
plugin init, and writes it out with defaults when it is absent
(glN64Config.c:246-254, Config_WriteConfig at glN64Config.c:95).
(gles2n64/src/glN64Config.c:246-254, Config_WriteConfig at gles2n64/src/glN64Config.c:95).
Three paths the fork computes but never reads. GLideN64 builds without
FreeType here, so the font file name it resolves for on-screen text is
assigned and dropped (TextDrawer.cpp:145-188). Its per-game ini is compiled in
assigned and dropped (mupen64plus-video-gliden64/src/TextDrawer.cpp:145-188). Its per-game ini is compiled in
as a header and the external copy is skipped because the launcher writes INI
Behaviour as disabled on every launch (retroarch.cpp:468,
Config_mupenplus.cpp:170-241, libretro.c:2030-2040). Rice's ini reader and
writer sit behind #if 0 (RiceConfig.cpp:453-463, Video.cpp:327-333).
Behaviour as disabled on every launch (src/core/retroarch.cpp:468,
mupen64plus-video-gliden64/src/mupenplus/Config_mupenplus.cpp:170-241, libretro/libretro.c:2030-2040). Rice's ini reader and
writer sit behind #if 0 (gles2rice/src/RiceConfig.cpp:453-463, gles2rice/src/Video.cpp:327-333).
files:
- name: "64DD_IPL.bin"
+2 -2
View File
@@ -16,12 +16,12 @@ files:
required: false
description: "64DD IPL ROM"
note: "Only loaded when a 64DD disk image (.ndd) is present via subsystem API. Core fails to load disk games without it."
source_ref: "libretro/libretro.c:723"
source_ref: "libretro/libretro.c:848"
notes:
hle_available: true
hle_note: >
PIF boot ROM is fully HLE'd (mupen64plus-core/src/device/pif/bootrom_hle.c:48). CIC
PIF boot ROM is fully HLE'd (mupen64plus-core/src/device/pif/bootrom_hle.c:51). CIC
challenge/response handled in software (n64_cic_nus_6105.c). No BIOS
files needed for standard cartridge games.
dd_note: >
+1 -1
View File
@@ -4,7 +4,7 @@ core_classification: community_fork
source: "https://github.com/libretro/libretro-pcem"
upstream: "https://github.com/sarah-walker-pcem/pcem"
profiled_date: "2026-03-24"
source_commit: "1955c2127990cfdf4c594b35b466e8503d626fa7"
source_commit: "95890058d3cb4b07c455cd1d16e010a115300cee"
core_version: "v11 (PCem-mooch, based on PCem v10.1)"
display_name: "PC (PCem)"
cores: [pcem]
+4 -4
View File
@@ -7,7 +7,7 @@ upstream: "https://github.com/PCSX2/pcsx2"
cores:
- pcsx2
profiled_date: "2026-03-30"
source_commit: "5c611f85e13ba250a69c155c678482b219b10d48"
source_commit: "aaf03c18b677905b3df4568d14efee7f58734049"
core_version: "Git"
display_name: "Sony - PlayStation 2 (PCSX2)"
systems: [sony-playstation-2]
@@ -57,19 +57,19 @@ files:
path: pcsx2/resources/GameIndex.yaml
required: false
mode: libretro
source_ref: "pcsx2/GameDatabase.cpp:46, pcsx2/GameDatabase.cpp:888"
source_ref: "pcsx2/GameDatabase.cpp:46, pcsx2/GameDatabase.cpp:896"
note: "Game compatibility database. OSD warning if missing."
- name: cheats_ws.zip
path: pcsx2/resources/cheats_ws.zip
required: false
mode: libretro
source_ref: "pcsx2/VMManager.cpp:345-358"
source_ref: "pcsx2/VMManager.cpp:346-359"
note: "Widescreen patches archive."
- name: cheats_ni.zip
path: pcsx2/resources/cheats_ni.zip
required: false
mode: libretro
source_ref: "pcsx2/VMManager.cpp:380-393"
source_ref: "pcsx2/VMManager.cpp:381-394"
note: "No-interlacing patches archive."
+1 -1
View File
@@ -5,7 +5,7 @@ bios_mode: agnostic
source: "https://github.com/PS2Homebrew-arcade/pcsx2x6"
upstream: "https://github.com/PCSX2/pcsx2"
profiled_date: "2026-08-08"
source_commit: "e69b265ef4bc98565deffb7c4a4b7d08143d4cf9"
source_commit: "55e3b5a46faf0775b59109ba7d2db53d0268ee0f"
upstream_commit: "5c611f85e13ba250a69c155c678482b219b10d48"
core_version: "v0.2.20"
display_name: "Namco - System 246 / 256 (PCSX2x6)"
Loaded 100 of 145 files, more files were not shown because too many files have changed in this diff. Show more