fix: profile files cores read below the save dir

Read at each pinned commit: Azahar, Citra, Citra 2018, Panda3DS, Trident,
FS-UAE and Stella read these below the frontend save directory, Dolphin
and Ishiiruka below <save>/User, Cemu its MLC below <save>/Cemu. Each
profile names its library_name. Citra Canary reads sysdata from the
host data directory: its pin moves to the canary branch it is built from.
This commit is contained in:
Abdessamad Derraz committed 2026-10-22 19:58:35 +02:00
1 parent 7e32db1013
commit 811ccdfea0
13 files changed
+238 -90

No files matched your search

+14 -2
View File
@@ -7,14 +7,16 @@ profiled_date: "2026-10-22"
source_commit: "219d743a1e698101fe1ab8bef43e6563126c3c27"
core_version: "2126.2"
display_name: "Nintendo - 3DS (Azahar)"
library_name: "Azahar"
cores:
- azahar
- azahar-sa
systems:
- nintendo-3ds
# path: is where the libretro core reads a file, standalone_path: where the
# standalone app reads it under its user directory.
# path: is where the libretro core reads a file below the save directory the
# frontend hands it (load_from), standalone_path: where the standalone app
# reads it under its user directory.
notes: |
Successor to Citra (via Lime3DS). The libretro core lives in the same
repository (src/citra_libretro) and is built with ENABLE_LIBRETRO, which
@@ -27,6 +29,9 @@ notes: |
ref: src/citra_libretro/core_settings.cpp:592-603, src/citra_libretro/core_settings.cpp:1048-1080,
src/citra_libretro/environment.cpp:191-208
The core reports library_name "Azahar".
ref: src/citra_libretro/environment.cpp:269
Standalone data dir: azahar-emu under XDG_DATA_HOME (Azahar on Windows and
macOS), with citra-emu and lime3ds-emu kept as legacy locations. A user/
directory beside the executable (Windows) or in the working directory takes
@@ -53,6 +58,7 @@ files:
- name: keys.txt
path: Azahar/sysdata/keys.txt
standalone_path: sysdata/keys.txt
load_from: {libretro: save_dir}
system: nintendo-3ds
required: false
hle_fallback: true
@@ -64,6 +70,7 @@ files:
- name: shared_font.bin
path: Azahar/sysdata/shared_font.bin
standalone_path: sysdata/shared_font.bin
load_from: {libretro: save_dir}
system: nintendo-3ds
required: false
hle_fallback: true
@@ -73,6 +80,7 @@ files:
- name: seeddb.bin
path: Azahar/sysdata/seeddb.bin
standalone_path: sysdata/seeddb.bin
load_from: {libretro: save_dir}
system: nintendo-3ds
required: false
note: "game seed database for 9.6+ titles, an empty one is written if absent"
@@ -81,6 +89,7 @@ files:
- name: otp.bin
path: Azahar/sysdata/otp.bin
standalone_path: sysdata/otp.bin
load_from: {libretro: save_dir}
system: nintendo-3ds
required: false
size: 256
@@ -91,6 +100,7 @@ files:
- name: movable.sed
path: Azahar/nand/private/movable.sed
standalone_path: nand/private/movable.sed
load_from: {libretro: save_dir}
system: nintendo-3ds
required: false
size: [288, 320]
@@ -102,6 +112,7 @@ files:
- name: SecureInfo_A
path: Azahar/nand/rw/sys/SecureInfo_A
standalone_path: nand/rw/sys/SecureInfo_A
load_from: {libretro: save_dir}
system: nintendo-3ds
required: false
size: 273
@@ -113,6 +124,7 @@ files:
- name: LocalFriendCodeSeed_B
path: Azahar/nand/rw/sys/LocalFriendCodeSeed_B
standalone_path: nand/rw/sys/LocalFriendCodeSeed_B
load_from: {libretro: save_dir}
system: nintendo-3ds
required: false
size: 272
+62 -57
View File
@@ -10,6 +10,8 @@ source_commit: "4802094a2c15559541b3da3a6b11c2e12ba5d7e8"
upstream_commit: "32e6628a6a9e5255fd0f7e734386a364ff9c106e"
core_version: "2.6"
display_name: "Nintendo - Wii U (Cemu)"
library_name: "Cemu"
save_folder_once: true
cores:
- cemu
systems: [nintendo-wiiu]
@@ -51,8 +53,11 @@ notes: |
portable directory next to the executable when it exists, otherwise
%APPDATA%/Cemu on Windows, XDG_DATA_HOME/Cemu and XDG_CONFIG_HOME/Cemu on
Linux, and the MLC defaults to <user data>/mlc01. path: entries below are
the libretro destination under the system directory, and standalone_path: is
relative to the Cemu user data directory.
the libretro destination under the system directory, or under the save
directory for the MLC (load_from), and standalone_path: is relative to the
Cemu user data directory, which holds the MLC by default (load_from
data_dir). The core reports library_name "Cemu"
(src/libretro/CemuLibretro.cpp:3354).
ref: src/libretro/CemuLibretro.cpp:1647-1707,
src/libretro/CemuLibretro.cpp:3264-3272,
src/gui/wxgui/CemuApp.cpp:90-123, src/gui/wxgui/CemuApp.cpp:127-171,
@@ -204,7 +209,7 @@ files:
- name: CafeCn.ttf
path: Cemu/mlc01/sys/title/0005001b/10042400/content/CafeCn.ttf
standalone_path: mlc01/sys/title/0005001b/10042400/content/CafeCn.ttf
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
hle_fallback: true
description: "Shared font, Simplified Chinese, console dump"
@@ -217,7 +222,7 @@ files:
- name: CafeKr.ttf
path: Cemu/mlc01/sys/title/0005001b/10042400/content/CafeKr.ttf
standalone_path: mlc01/sys/title/0005001b/10042400/content/CafeKr.ttf
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
hle_fallback: true
description: "Shared font, Korean, console dump"
@@ -226,7 +231,7 @@ files:
- name: CafeStd.ttf
path: Cemu/mlc01/sys/title/0005001b/10042400/content/CafeStd.ttf
standalone_path: mlc01/sys/title/0005001b/10042400/content/CafeStd.ttf
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
hle_fallback: true
description: "Shared font, standard Latin and Japanese, console dump"
@@ -235,7 +240,7 @@ files:
- name: CafeTw.ttf
path: Cemu/mlc01/sys/title/0005001b/10042400/content/CafeTw.ttf
standalone_path: mlc01/sys/title/0005001b/10042400/content/CafeTw.ttf
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
hle_fallback: true
description: "Shared font, Traditional Chinese, console dump"
@@ -426,7 +431,7 @@ files:
- name: swkbd.pack
path: Cemu/mlc01/sys/title/0005001b/1004f000/content/00/swkbd/swkbd.pack
standalone_path: mlc01/sys/title/0005001b/1004f000/content/00/swkbd/swkbd.pack
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
description: "Software keyboard applet data, title 0005001b-1004f000"
note: >-
@@ -437,7 +442,7 @@ files:
- name: erreula.pack
path: Cemu/mlc01/sys/title/0005001b/10051000/content/00/erreula/erreula.pack
standalone_path: mlc01/sys/title/0005001b/10051000/content/00/erreula/erreula.pack
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
description: "Error viewer applet data, title 0005001b-10051000"
note: >-
@@ -464,7 +469,7 @@ files:
- name: WIIU_COMMON_1_CERT.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_COMMON_1_CERT.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_COMMON_1_CERT.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
description: "Client certificate, common"
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:471, source src/Cafe/IOSU/legacy/iosu_crypto.cpp:303-330"
@@ -472,7 +477,7 @@ files:
- name: WIIU_COMMON_1_RSA_KEY.aes
path: Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_COMMON_1_RSA_KEY.aes
standalone_path: mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_COMMON_1_RSA_KEY.aes
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
description: "Client key, common, AES-CBC encrypted"
note: "Must be a non-empty multiple of 16 bytes."
@@ -481,7 +486,7 @@ files:
- name: WIIU_ACCOUNT_1_CERT.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_ACCOUNT_1_CERT.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_ACCOUNT_1_CERT.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
description: "Client certificate, account"
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:472, source src/Cafe/IOSU/legacy/iosu_crypto.cpp:303-330"
@@ -489,7 +494,7 @@ files:
- name: WIIU_ACCOUNT_1_RSA_KEY.aes
path: Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_ACCOUNT_1_RSA_KEY.aes
standalone_path: mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_ACCOUNT_1_RSA_KEY.aes
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
description: "Client key, account, AES-CBC encrypted"
note: "Must be a non-empty multiple of 16 bytes."
@@ -498,7 +503,7 @@ files:
- name: WIIU_OLIVE_1_CERT.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_OLIVE_1_CERT.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_OLIVE_1_CERT.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
description: "Client certificate, olive (Miiverse)"
note: "Registered twice, under ids 4 and 7."
@@ -507,7 +512,7 @@ files:
- name: WIIU_OLIVE_1_RSA_KEY.aes
path: Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_OLIVE_1_RSA_KEY.aes
standalone_path: mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_OLIVE_1_RSA_KEY.aes
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
description: "Client key, olive, AES-CBC encrypted"
note: "Must be a non-empty multiple of 16 bytes."
@@ -516,7 +521,7 @@ files:
- name: WIIU_VINO_1_CERT.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_VINO_1_CERT.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_VINO_1_CERT.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
description: "Client certificate, vino (Nintendo TVii)"
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:474, source src/Cafe/IOSU/legacy/iosu_crypto.cpp:303-330"
@@ -524,7 +529,7 @@ files:
- name: WIIU_VINO_1_RSA_KEY.aes
path: Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_VINO_1_RSA_KEY.aes
standalone_path: mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_VINO_1_RSA_KEY.aes
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
description: "Client key, vino, AES-CBC encrypted"
note: "Must be a non-empty multiple of 16 bytes."
@@ -533,7 +538,7 @@ files:
- name: WIIU_WOOD_1_CERT.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_WOOD_1_CERT.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_WOOD_1_CERT.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
description: "Client certificate, wood (eShop)"
note: "Registered twice, under ids 6 and 8."
@@ -542,7 +547,7 @@ files:
- name: WIIU_WOOD_1_RSA_KEY.aes
path: Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_WOOD_1_RSA_KEY.aes
standalone_path: mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_WOOD_1_RSA_KEY.aes
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
description: "Client key, wood, AES-CBC encrypted"
note: "Must be a non-empty multiple of 16 bytes."
@@ -553,273 +558,273 @@ files:
- name: CACERT_NINTENDO_CA.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CA.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CA.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:480"
- name: CACERT_NINTENDO_CA_G2.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CA_G2.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CA_G2.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:481"
- name: CACERT_NINTENDO_CA_G3.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CA_G3.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CA_G3.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:482"
- name: CACERT_NINTENDO_CLASS2_CA.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CLASS2_CA.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CLASS2_CA.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:483"
- name: CACERT_NINTENDO_CLASS2_CA_G2.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CLASS2_CA_G2.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CLASS2_CA_G2.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:484"
- name: CACERT_NINTENDO_CLASS2_CA_G3.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CLASS2_CA_G3.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CLASS2_CA_G3.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:485"
- name: BALTIMORE_CYBERTRUST_ROOT_CA.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/BALTIMORE_CYBERTRUST_ROOT_CA.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/BALTIMORE_CYBERTRUST_ROOT_CA.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:488"
- name: CYBERTRUST_GLOBAL_ROOT_CA.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CYBERTRUST_GLOBAL_ROOT_CA.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/CYBERTRUST_GLOBAL_ROOT_CA.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:489"
- name: VERIZON_GLOBAL_ROOT_CA.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERIZON_GLOBAL_ROOT_CA.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/VERIZON_GLOBAL_ROOT_CA.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:490"
- name: GLOBALSIGN_ROOT_CA.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GLOBALSIGN_ROOT_CA.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/GLOBALSIGN_ROOT_CA.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:491"
- name: GLOBALSIGN_ROOT_CA_R2.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GLOBALSIGN_ROOT_CA_R2.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/GLOBALSIGN_ROOT_CA_R2.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:492"
- name: GLOBALSIGN_ROOT_CA_R3.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GLOBALSIGN_ROOT_CA_R3.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/GLOBALSIGN_ROOT_CA_R3.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:493"
- name: VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G3.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G3.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G3.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:494"
- name: VERISIGN_UNIVERSAL_ROOT_CA.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_UNIVERSAL_ROOT_CA.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_UNIVERSAL_ROOT_CA.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:495"
- name: VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G5.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G5.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G5.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:496"
- name: THAWTE_PRIMARY_ROOT_CA_G3.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/THAWTE_PRIMARY_ROOT_CA_G3.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/THAWTE_PRIMARY_ROOT_CA_G3.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:497"
- name: THAWTE_PRIMARY_ROOT_CA.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/THAWTE_PRIMARY_ROOT_CA.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/THAWTE_PRIMARY_ROOT_CA.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:498"
- name: GEOTRUST_GLOBAL_CA.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_GLOBAL_CA.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_GLOBAL_CA.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:499"
- name: GEOTRUST_GLOBAL_CA2.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_GLOBAL_CA2.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_GLOBAL_CA2.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:500"
- name: GEOTRUST_PRIMARY_CA.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_PRIMARY_CA.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_PRIMARY_CA.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:501"
- name: GEOTRUST_PRIMARY_CA_G3.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_PRIMARY_CA_G3.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_PRIMARY_CA_G3.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:502"
- name: ADDTRUST_EXT_CA_ROOT.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/ADDTRUST_EXT_CA_ROOT.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/ADDTRUST_EXT_CA_ROOT.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:503"
- name: COMODO_CA.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/COMODO_CA.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/COMODO_CA.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:504"
- name: UTN_DATACORP_SGC_CA.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/UTN_DATACORP_SGC_CA.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/UTN_DATACORP_SGC_CA.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:505"
- name: UTN_USERFIRST_HARDWARE_CA.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/UTN_USERFIRST_HARDWARE_CA.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/UTN_USERFIRST_HARDWARE_CA.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:506"
- name: DIGICERT_HIGH_ASSURANCE_EV_ROOT_CA.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_HIGH_ASSURANCE_EV_ROOT_CA.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_HIGH_ASSURANCE_EV_ROOT_CA.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:507"
- name: DIGICERT_ASSURED_ID_ROOT_CA.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_ASSURED_ID_ROOT_CA.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_ASSURED_ID_ROOT_CA.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:508"
- name: DIGICERT_GLOBAL_ROOT_CA.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_GLOBAL_ROOT_CA.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_GLOBAL_ROOT_CA.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:509"
- name: GTE_CYBERTRUST_GLOBAL_ROOT.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GTE_CYBERTRUST_GLOBAL_ROOT.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/GTE_CYBERTRUST_GLOBAL_ROOT.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:510"
- name: VERISIGN_CLASS3_PUBLIC_PRIMARY_CA.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:511"
- name: THAWTE_PREMIUM_SERVER_CA.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/THAWTE_PREMIUM_SERVER_CA.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/THAWTE_PREMIUM_SERVER_CA.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:512"
- name: EQUIFAX_SECURE_CA.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/EQUIFAX_SECURE_CA.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/EQUIFAX_SECURE_CA.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:513"
- name: ENTRUST_SECURE_SERVER_CA.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_SECURE_SERVER_CA.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_SECURE_SERVER_CA.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:514"
- name: VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G2.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G2.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G2.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:515"
- name: ENTRUST_CA_2048.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_CA_2048.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_CA_2048.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:516"
- name: ENTRUST_ROOT_CA.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_ROOT_CA.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_ROOT_CA.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:517"
- name: ENTRUST_ROOT_CA_G2.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_ROOT_CA_G2.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_ROOT_CA_G2.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:518"
- name: DIGICERT_ASSURED_ID_ROOT_CA_G2.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_ASSURED_ID_ROOT_CA_G2.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_ASSURED_ID_ROOT_CA_G2.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:519"
- name: DIGICERT_GLOBAL_ROOT_CA_G2.der
path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_GLOBAL_ROOT_CA_G2.der
standalone_path: mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_GLOBAL_ROOT_CA_G2.der
load_from: save_dir
load_from: {libretro: save_dir, standalone: data_dir}
required: false
source_ref: "upstream src/Cafe/IOSU/legacy/iosu_crypto.cpp:520"
+13 -2
View File
@@ -7,14 +7,21 @@ profiled_date: "2026-03-23"
source_commit: "a0483e9abe8134ae6b290cdca7d49cb77689f05b"
core_version: "Git"
display_name: "Nintendo - 3DS (Citra)"
library_name: "Citra"
cores: [citra]
systems: [nintendo-3ds]
notes: |
Citra 3DS emulator. Upstream taken down March 2024 (Nintendo lawsuit).
Mirror: https://github.com/citra-mirror/citra
Data dir: {save_dir}/Citra/ or {system_dir}/Citra/
ref: src/citra_libretro/citra_libretro.cpp:460-466
Data dir: {save_dir}/Citra/ under the default "LibRetro Default" option
citra_use_libretro_save_path, {system_dir}/Citra/ only when the frontend
gives no save directory. sysdata/ sits under it.
ref: src/citra_libretro/citra_libretro.cpp:157, src/citra_libretro/citra_libretro.cpp:445-466,
src/citra_libretro/environment.cpp:139, src/common/file_util.cpp:855
The core reports library_name "Citra".
ref: src/citra_libretro/environment.cpp:180
HLE for most services. Embedded open-source replacements for shared font,
Mii data, country list, and bad word list compiled into the binary.
@@ -25,6 +32,7 @@ notes: |
files:
- name: aes_keys.txt
path: "Citra/sysdata/aes_keys.txt"
load_from: {libretro: save_dir}
system: nintendo-3ds
description: "AES encryption keys"
required: false
@@ -33,6 +41,7 @@ files:
- name: boot9.bin
path: "Citra/sysdata/boot9.bin"
load_from: {libretro: save_dir}
system: nintendo-3ds
description: "ARM9 bootrom"
required: false
@@ -43,6 +52,7 @@ files:
- name: shared_font.bin
path: "Citra/sysdata/shared_font.bin"
load_from: {libretro: save_dir}
system: nintendo-3ds
description: "system shared font (legacy format)"
required: false
@@ -52,6 +62,7 @@ files:
- name: seeddb.bin
path: "Citra/sysdata/seeddb.bin"
load_from: {libretro: save_dir}
system: nintendo-3ds
description: "game seed database"
required: false
+3
View File
@@ -7,6 +7,7 @@ profiled_date: "2026-03-23"
source_commit: "95e2f06c179c8daf44fa344c206f549cf332d21b"
core_version: "Git"
display_name: "Nintendo - 3DS (Citra 2018)"
library_name: "Citra2018"
cores: [citra2018]
systems:
- nintendo-3ds
@@ -24,6 +25,7 @@ notes: |
files:
- name: aes_keys.txt
path: "Citra/sysdata/aes_keys.txt"
load_from: save_dir
system: nintendo-3ds
required: false
note: "AES encryption keys for decrypting 3DS content"
@@ -31,6 +33,7 @@ files:
- name: shared_font.bin
path: "Citra/sysdata/shared_font.bin"
load_from: save_dir
system: nintendo-3ds
required: false
hle_fallback: true
+24 -5
View File
@@ -4,9 +4,11 @@ core_classification: community_fork
source: "https://github.com/libretro/citra"
upstream: "https://github.com/citra-emu/citra"
profiled_date: "2026-03-23"
source_commit: "a0483e9abe8134ae6b290cdca7d49cb77689f05b"
source_commit: "5401990a9be46e4497abc92db3d5f2042674303d"
source_branch: canary
core_version: "Git"
display_name: "Nintendo - 3DS (Citra Canary/Experimental)"
library_name: "Citra Canary"
cores: [citra_canary]
systems:
- nintendo-3ds
@@ -18,8 +20,23 @@ notes: |
Upstream citra-emu/citra taken down March 2024 (Nintendo lawsuit).
Mirror: https://github.com/citra-mirror/citra
Data dir: {system_dir}/Citra/sysdata/
ref: src/citra_libretro/citra_libretro.cpp:305-314
The buildbot builds citra_canary from the canary branch of libretro/citra
(libretro-super recipes/windows/cores-windows-x64_seh-noccache).
Under the default option citra_use_libretro_save_path the core points the
root and user directories at {save_dir}/Citra ({system_dir}/Citra without a
save directory), but GetUserPath fills sysdata/ on its first call, before
that, and the UserDir case never moves it. aes_keys.txt and
shared_font.bin are read from the host's Citra data directory: user/sysdata/
beside the working directory when ./user exists, else
$XDG_DATA_HOME/citra-emu/sysdata/ (Linux) or user/sysdata/ beside the
executable, else %APPDATA%/Citra/sysdata/ (Windows). Neither the system nor
the save directory of the frontend.
ref: src/citra_libretro/citra_libretro.cpp:295-316, src/common/file_util.cpp:674-736,
src/common/common_paths.h:16-38
The core reports library_name "Citra Canary".
ref: src/citra_libretro/environment.cpp:131
Embedded open-source replacements for shared font, country list, bad word list.
ref: src/core/file_sys/archive_ncch.cpp:142-147
@@ -28,14 +45,16 @@ notes: |
files:
- name: aes_keys.txt
path: "Citra/sysdata/aes_keys.txt"
path: "sysdata/aes_keys.txt"
load_from: data_dir
system: nintendo-3ds
required: false
note: "AES encryption keys for decrypting 3DS content"
source_ref: "src/core/hw/aes/key.cpp:71-131"
- name: shared_font.bin
path: "Citra/sysdata/shared_font.bin"
path: "sysdata/shared_font.bin"
load_from: data_dir
system: nintendo-3ds
required: false
hle_fallback: true
+15 -7
View File
@@ -9,6 +9,7 @@ source_commit: "4d23cf151640eb810cb1b8e9d9fc922cf59c0b87"
upstream_commit: "f5dfb7e3d36ce24551ed0bb886b79f3f192dac9d"
core_version: "Git"
display_name: "Nintendo - GameCube / Wii (Dolphin)"
library_name: "dolphin-emu"
cores:
- dolphin
- "dolphin-gui"
@@ -139,7 +140,8 @@ files:
# Used by integrated mGBA core for GameCube-GBA connectivity.
# Loaded from User/GBA/gba_bios.bin (no Sys fallback).
- name: "gba_bios.bin"
path: "GBA/gba_bios.bin"
path: "User/GBA/gba_bios.bin"
standalone_path: "GBA/gba_bios.bin"
load_from:
libretro: save_dir
required: false
@@ -152,7 +154,8 @@ files:
# Not typically user-supplied, but needed for full Wii functionality.
- name: "SYSCONF"
path: "Wii/shared2/sys/SYSCONF"
path: "User/Wii/shared2/sys/SYSCONF"
standalone_path: "Wii/shared2/sys/SYSCONF"
load_from:
libretro: save_dir
required: false
@@ -161,7 +164,8 @@ files:
source_ref: "upstream Source/Core/Common/CommonPaths.h:118, source Source/Core/Common/FileUtil.cpp:905"
- name: "setting.txt"
path: "Wii/title/00000001/00000002/data/setting.txt"
path: "User/Wii/title/00000001/00000002/data/setting.txt"
standalone_path: "Wii/title/00000001/00000002/data/setting.txt"
load_from:
libretro: save_dir
size: 256
@@ -188,7 +192,8 @@ files:
# -- Wii SD Card Image --
- name: "WiiSD.raw"
path: "Load/WiiSD.raw"
path: "User/Load/WiiSD.raw"
standalone_path: "Load/WiiSD.raw"
load_from:
libretro: save_dir
required: false
@@ -229,7 +234,8 @@ files:
# -- NAND Certificates (auto-extracted) --
- name: "clientca.pem"
path: "Wii/clientca.pem"
path: "User/Wii/clientca.pem"
standalone_path: "Wii/clientca.pem"
load_from:
libretro: save_dir
required: false
@@ -238,7 +244,8 @@ files:
source_ref: "source Source/Core/DiscIO/NANDImporter.cpp:220-304"
- name: "clientcakey.pem"
path: "Wii/clientcakey.pem"
path: "User/Wii/clientcakey.pem"
standalone_path: "Wii/clientcakey.pem"
load_from:
libretro: save_dir
required: false
@@ -247,7 +254,8 @@ files:
source_ref: "source Source/Core/DiscIO/NANDImporter.cpp:256"
- name: "rootca.pem"
path: "Wii/rootca.pem"
path: "User/Wii/rootca.pem"
standalone_path: "Wii/rootca.pem"
load_from:
libretro: save_dir
required: false
+2
View File
@@ -7,6 +7,7 @@ profiled_date: "2026-03-23"
source_commit: "0ce31536bef3162fe7e69ff5f555334ec4913cef"
core_version: "v0.2.97.29"
display_name: "Arcade (FB Alpha 2012)"
library_name: "FB Alpha 2012"
cores:
- fbalpha2012
- fbalpha
@@ -55,6 +56,7 @@ notes: |
files:
- name: "hiscore.dat"
path: "hiscore.dat"
description: "High score persistence database"
load_from: save_dir
required: false
+2
View File
@@ -7,6 +7,7 @@ profiled_date: "2026-03-23"
source_commit: "57f8015c2e0cdebcf42d3add2c314bb7448f9421"
core_version: "v0.2.97.29"
display_name: "Arcade (FB Alpha 2012 CPS-3)"
library_name: "FB Alpha 2012 CPS-3"
cores:
- fbalpha2012_cps3
systems:
@@ -53,6 +54,7 @@ notes: |
files:
- name: "hiscore.dat"
path: "hiscore.dat"
description: "High score persistence database"
load_from: save_dir
required: false
+46 -1
View File
@@ -8,6 +8,7 @@ source_commit: "089bb69207fe8fa5eec0006d1d759fb6426f4027"
upstream_commit: "f362278ccd4c60991caac3b4d240d4a3f751bea2"
core_version: "v5.0.7"
display_name: "Commodore - Amiga (FS-UAE)"
library_name: ""
cores:
- fsuae
found_by: content
@@ -19,7 +20,15 @@ notes: |
Standalone: scans --kickstarts_dir for .rom/.bin files (default: Documents/FS-UAE/Kickstarts/).
Batocera overrides to bios/amiga/ via --kickstarts_dir (batocera fsuaePaths.py:8, batocera fsuaeGenerator.py:68).
Libretro port: scans save_dir/fsuae/Kickstarts/ (frozen at v2.7.15).
Libretro port: scans save_dir/fsuae/Kickstarts/ (frozen at v2.7.15), and
reads rom.key there. The base directory is <save_dir>/fsuae, the build
leaving USE_FSUAEDIRS off. The core reports an empty library_name, for
which RetroArch adds no folder of its own.
ref: source Makefile.libretro:125-126, source sources/src/fs-uae/paths.c:133-138,
source sources/src/fs-uae/paths.c:196-198, source sources/src/fs-uae/paths.c:258-265,
source sources/src/fs-uae/config.c:128, source libretro/libretro.c:194-206,
source libretro/libretro.c:575
Identification by SHA-1 checksum, not filename (rommgr.cpp:92-151, od-fs/python/fsuae/roms/romservice.py:78-91).
AROS kickstart (1 MB) compiled into binary as fallback for all models (rommgr.cpp:112).
rom.key searched in kickstart dir and multiple fallback paths (rommgr.cpp:1397-1498).
@@ -34,6 +43,9 @@ notes: |
files:
- name: "amiga-os-130.rom"
path: "fsuae/Kickstarts/amiga-os-130.rom"
standalone_path: "amiga-os-130.rom"
load_from: {libretro: save_dir}
system: amiga
required: false
hle_fallback: true
@@ -45,6 +57,9 @@ files:
source_ref: "upstream rommgr.cpp:150-151 (id=6, ROMTYPE_KICK)"
- name: "amiga-os-204.rom"
path: "fsuae/Kickstarts/amiga-os-204.rom"
standalone_path: "amiga-os-204.rom"
load_from: {libretro: save_dir}
system: amiga
required: false
hle_fallback: true
@@ -56,6 +71,9 @@ files:
source_ref: "upstream rommgr.cpp:158-159 (id=7, ROMTYPE_KICK)"
- name: "amiga-os-205.rom"
path: "fsuae/Kickstarts/amiga-os-205.rom"
standalone_path: "amiga-os-205.rom"
load_from: {libretro: save_dir}
system: amiga
required: false
hle_fallback: true
@@ -67,6 +85,9 @@ files:
source_ref: "upstream rommgr.cpp:164-165 (id=10, ROMTYPE_KICK)"
- name: "amiga-os-120.rom"
path: "fsuae/Kickstarts/amiga-os-120.rom"
standalone_path: "amiga-os-120.rom"
load_from: {libretro: save_dir}
system: amiga
required: false
hle_fallback: true
@@ -78,6 +99,9 @@ files:
source_ref: "upstream rommgr.cpp:148-149 (id=5, ROMTYPE_KICK)"
- name: "amiga-os-310-a1200.rom"
path: "fsuae/Kickstarts/amiga-os-310-a1200.rom"
standalone_path: "amiga-os-310-a1200.rom"
load_from: {libretro: save_dir}
system: amiga
required: false
hle_fallback: true
@@ -89,6 +113,9 @@ files:
source_ref: "upstream rommgr.cpp:185-186 (id=15, ROMTYPE_KICK)"
- name: "amiga-os-310-a3000.rom"
path: "fsuae/Kickstarts/amiga-os-310-a3000.rom"
standalone_path: "amiga-os-310-a3000.rom"
load_from: {libretro: save_dir}
system: amiga
required: false
hle_fallback: true
@@ -100,6 +127,9 @@ files:
source_ref: "upstream rommgr.cpp:189-190 (id=61, ROMTYPE_KICK)"
- name: "amiga-os-310-a4000.rom"
path: "fsuae/Kickstarts/amiga-os-310-a4000.rom"
standalone_path: "amiga-os-310-a4000.rom"
load_from: {libretro: save_dir}
system: amiga
required: false
hle_fallback: true
@@ -111,6 +141,9 @@ files:
source_ref: "upstream rommgr.cpp:195-196 (id=16, ROMTYPE_KICK)"
- name: "amiga-os-310-cd32.rom"
path: "fsuae/Kickstarts/amiga-os-310-cd32.rom"
standalone_path: "amiga-os-310-cd32.rom"
load_from: {libretro: save_dir}
system: amiga
required: false
hle_fallback: true
@@ -122,6 +155,9 @@ files:
source_ref: "upstream rommgr.cpp:312-313 (id=18, ROMTYPE_KICKCD32)"
- name: "amiga-ext-310-cd32.rom"
path: "fsuae/Kickstarts/amiga-ext-310-cd32.rom"
standalone_path: "amiga-ext-310-cd32.rom"
load_from: {libretro: save_dir}
system: amiga
required: false
size: 524288
@@ -132,6 +168,9 @@ files:
source_ref: "upstream rommgr.cpp:314-315 (id=19, ROMTYPE_EXTCD32)"
- name: "cd32fmv.rom"
path: "fsuae/Kickstarts/cd32fmv.rom"
standalone_path: "cd32fmv.rom"
load_from: {libretro: save_dir}
system: amiga
required: false
size: 262144
@@ -142,6 +181,9 @@ files:
source_ref: "upstream rommgr.cpp:323-326 (id=23/74, ROMTYPE_CD32CART)"
- name: "amiga-ext-130-cdtv.rom"
path: "fsuae/Kickstarts/amiga-ext-130-cdtv.rom"
standalone_path: "amiga-ext-130-cdtv.rom"
load_from: {libretro: save_dir}
system: amiga
required: false
size: 262144
@@ -152,6 +194,9 @@ files:
source_ref: "upstream rommgr.cpp:328-329 (id=20, ROMTYPE_EXTCDTV)"
- name: "rom.key"
path: "fsuae/Kickstarts/rom.key"
standalone_path: "rom.key"
load_from: {libretro: save_dir}
system: amiga
found_by: name
required: false
+22 -12
View File
@@ -8,6 +8,7 @@ source_commit: "f228bde5fbf4861ba749a229803addcd6238663f"
upstream_commit: "cba6d7279b44894297d8c1dde1effdbba3605c32"
core_version: "Git"
display_name: "Nintendo - GameCube / Wii (Ishiiruka)"
library_name: "Ishiiruka"
cores:
- ishiiruka
systems: [nintendo-gamecube, nintendo-wii]
@@ -131,7 +132,8 @@ files:
# -- Wii System Files --
# Auto-generated/managed by Dolphin's Wii emulation.
- name: "SYSCONF"
path: "Wii/shared2/sys/SYSCONF"
path: "User/Wii/shared2/sys/SYSCONF"
standalone_path: "Wii/shared2/sys/SYSCONF"
load_from:
libretro: save_dir
required: false
@@ -140,7 +142,8 @@ files:
source_ref: "source Source/Core/Common/CommonPaths.h:59, 95, source Source/Core/Common/SysConf.cpp:40"
- name: "setting.txt"
path: "Wii/title/00000001/00000002/data/setting.txt"
path: "User/Wii/title/00000001/00000002/data/setting.txt"
standalone_path: "Wii/title/00000001/00000002/data/setting.txt"
load_from:
libretro: save_dir
size: 256
@@ -151,7 +154,8 @@ files:
# -- Wii SD Card Image --
- name: "sd.raw"
path: "Wii/sd.raw"
path: "User/Wii/sd.raw"
standalone_path: "Wii/sd.raw"
load_from:
libretro: save_dir
required: false
@@ -179,28 +183,34 @@ files:
# -- NAND Certificates (auto-extracted) --
- name: "clientca.pem"
path: "Wii/clientca.pem"
path: "User/Wii/clientca.pem"
standalone_path: "Wii/clientca.pem"
load_from:
libretro: save_dir
required: false
hle_fallback: true
mode: standalone
note: "SSL client certificate. Auto-extracted from IOS13 content during NAND import"
source_ref: "source Source/Core/DiscIO/NANDImporter.cpp:199-264"
source_ref: "source Source/Core/DiscIO/NANDImporter.cpp:199-264, source Source/Core/Core/IOS/Network/SSL.cpp:339-341, source Source/Core/Core/WiiRoot.cpp:73-76"
- name: "clientcakey.pem"
path: "Wii/clientcakey.pem"
path: "User/Wii/clientcakey.pem"
standalone_path: "Wii/clientcakey.pem"
load_from:
libretro: save_dir
required: false
hle_fallback: true
mode: standalone
note: "SSL client private key. Auto-extracted from IOS13 content during NAND import"
source_ref: "upstream Source/Core/DiscIO/NANDImporter.cpp:235"
source_ref: "upstream Source/Core/DiscIO/NANDImporter.cpp:235, source Source/Core/Core/IOS/Network/SSL.cpp:339-343, source Source/Core/Core/WiiRoot.cpp:73-76"
- name: "rootca.pem"
path: "Wii/rootca.pem"
path: "User/Wii/rootca.pem"
standalone_path: "Wii/rootca.pem"
load_from:
libretro: save_dir
required: false
hle_fallback: true
mode: standalone
note: "SSL root CA certificate. Auto-extracted from IOS13 content during NAND import"
source_ref: "upstream Source/Core/DiscIO/NANDImporter.cpp:236"
source_ref: "upstream Source/Core/DiscIO/NANDImporter.cpp:236, source Source/Core/Core/IOS/Network/SSL.cpp:404-406, source Source/Core/Core/WiiRoot.cpp:73-76"
notes:
hle_available: true
+11 -3
View File
@@ -8,6 +8,7 @@ profiled_date: "2026-03-24"
source_commit: "3787358bdae41d5532ccd00c8998a527ae949949"
core_version: "Git"
display_name: "Nintendo - 3DS (Panda3DS)"
library_name: "Panda3DS"
cores: [panda3ds]
systems: [nintendo-3ds]
@@ -19,13 +20,19 @@ notes: |
option panda3ds_dsp_emulation). System archives (shared font, bad word
list, country list, mii data) are compiled into the binary via cmrc.
The libretro core uses the save directory, not RetroArch's system
directory. Files go under <save_dir>/Emulator Files/sysdata/.
directory. Files go under <save_dir>/Emulator Files/sysdata/, under the
working directory when the frontend gives no save directory. The core
reports library_name "Panda3DS". Standalone reads them from Emulator
Files/sysdata/ below its SDL pref path.
ref: src/libretro_core.cpp:29-31, src/libretro_core.cpp:233, src/libretro_core.cpp:277-281,
src/emulator.cpp:196-208
The .info declares firmware_count=0. is_experimental = true.
files:
- name: "aes_keys.txt"
path: "Emulator Files/sysdata/aes_keys.txt"
load_from: save_dir
standalone_path: "Emulator Files/sysdata/aes_keys.txt"
load_from: {libretro: save_dir, standalone: data_dir}
description: "AES encryption keys for decrypting encrypted ROMs"
required: false
source_ref: "src/emulator.cpp:229,237-238, src/core/crypto/aes_engine.cpp:13-92"
@@ -38,7 +45,8 @@ files:
- name: "seeddb.bin"
path: "Emulator Files/sysdata/seeddb.bin"
load_from: save_dir
standalone_path: "Emulator Files/sysdata/seeddb.bin"
load_from: {libretro: save_dir, standalone: data_dir}
description: "Seed database for seed-encrypted games"
required: false
source_ref: "src/emulator.cpp:230,241-242, src/core/loader/ncch.cpp:78-93"
+15
View File
@@ -6,6 +6,7 @@ profiled_date: "2026-10-21"
source_commit: "2c3d7023e9136f75c789803b44f119d8749dc104"
core_version: "8.0_pre"
display_name: "Atari - 2600 (Stella)"
library_name: "Stella"
cores:
- stella
- "STELLASA"
@@ -45,42 +46,56 @@ notes: |
files:
- name: KVS1.WAV
path: stella/KVS1.WAV
standalone_path: KVS1.WAV
description: "KidVid Voice Module audio tape 1 (Smurfs Save the Day)"
required: false
load_from: {libretro: save_dir, standalone: config_dir}
category: game_data
source_ref: "src/emucore/KidVid.cxx:246-248, src/emucore/KidVid.cxx:255-268"
- name: KVS2.WAV
path: stella/KVS2.WAV
standalone_path: KVS2.WAV
description: "KidVid Voice Module audio tape 2 (Smurfs Save the Day)"
required: false
load_from: {libretro: save_dir, standalone: config_dir}
category: game_data
source_ref: "src/emucore/KidVid.cxx:246-248, src/emucore/KidVid.cxx:255-268"
- name: KVS3.WAV
path: stella/KVS3.WAV
standalone_path: KVS3.WAV
description: "KidVid Voice Module audio tape 3 (Smurfs Save the Day)"
required: false
load_from: {libretro: save_dir, standalone: config_dir}
category: game_data
source_ref: "src/emucore/KidVid.cxx:246-248, src/emucore/KidVid.cxx:255-268"
- name: KVB1.WAV
path: stella/KVB1.WAV
standalone_path: KVB1.WAV
description: "KidVid Voice Module audio tape 1 (Berenstain Bears)"
required: false
load_from: {libretro: save_dir, standalone: config_dir}
category: game_data
source_ref: "src/emucore/KidVid.cxx:246-248, src/emucore/KidVid.cxx:255-268"
- name: KVB2.WAV
path: stella/KVB2.WAV
standalone_path: KVB2.WAV
description: "KidVid Voice Module audio tape 2 (Berenstain Bears)"
required: false
load_from: {libretro: save_dir, standalone: config_dir}
category: game_data
source_ref: "src/emucore/KidVid.cxx:246-248, src/emucore/KidVid.cxx:255-268"
- name: KVB3.WAV
path: stella/KVB3.WAV
standalone_path: KVB3.WAV
description: "KidVid Voice Module audio tape 3 (Berenstain Bears)"
required: false
load_from: {libretro: save_dir, standalone: config_dir}
category: game_data
source_ref: "src/emucore/KidVid.cxx:246-248, src/emucore/KidVid.cxx:255-268"
- name: KVSHARED.WAV
path: stella/KVSHARED.WAV
standalone_path: KVSHARED.WAV
description: "KidVid Voice Module shared audio samples"
required: false
load_from: {libretro: save_dir, standalone: config_dir}
+9 -1
View File
@@ -7,6 +7,7 @@ upstream: https://github.com/wheremyfoodat/Panda3DS
profiled_date: "2026-03-25"
source_commit: "b97b0befa326105e181838bc6fa11c546de8294d"
core_version: git
library_name: "Trident"
cores:
- trident
@@ -21,10 +22,15 @@ notes: >-
the game ROM at runtime, not from an external file.
DSP modes: HLE (default), LLE (Teakra), Null.
Files are resolved from the RetroArch save directory
(<save_dir>/Emulator Files/sysdata/), not the system directory.
(<save_dir>/Emulator Files/sysdata/), not the system directory, or from
the working directory when the frontend gives none. The core reports
library_name "Trident". The wrapper is vendor/Panda3DS at 69095ee6
(DanAlexMorton/Panda3DS src/libretro_core.cpp:30, 243, 280-285).
files:
- name: aes_keys.txt
path: "Emulator Files/sysdata/aes_keys.txt"
load_from: save_dir
description: AES encryption keys for decrypting encrypted 3DS ROMs
required: false
source_ref: >-
@@ -33,6 +39,8 @@ files:
src/core/loader/ncch.cpp:151-164 (panic if encrypted ROM loaded without keys)
- name: seeddb.bin
path: "Emulator Files/sysdata/seeddb.bin"
load_from: save_dir
description: seed database for seed-encrypted 3DS games
required: false
source_ref: >-