feat: re-profile 37 emulators with upstream verification

source-verified core_classification, upstream URLs, validation fields,
and hle_fallback flags. trimmed verbose notes. removed phantom files
(azahar boot9/sector0x96). added bsnes2014 variant profiles.
This commit is contained in:
Abdessamad Derraz
2026-03-23 10:58:32 +01:00
parent 06f5157c35
commit 26f2824259
37 changed files with 1086 additions and 698 deletions

View File

@@ -1,8 +1,9 @@
emulator: Citra Canary
type: libretro
core_classification: community_fork
source: "https://github.com/libretro/citra"
upstream: "https://github.com/citra-emu/citra"
profiled_date: "2026-03-18"
profiled_date: "2026-03-23"
core_version: "Git"
display_name: "Nintendo - 3DS (Citra Canary/Experimental)"
cores: [citra_canary]
@@ -10,54 +11,30 @@ systems:
- nintendo-3ds
notes: |
Same repo as citra (libretro/citra master branch). Canary = experimental.
Data dir: citra-emu (not azahar-emu — this is pre-Azahar Citra).
ref: src/common/common_paths.h
Canary branch of libretro/citra. Older codebase than master branch (citra core).
Missing boot9.bin, sector0x96.bin, seeddb.bin support present in master.
Seed crypto unimplemented (src/core/file_sys/ncch_container.cpp:169).
Upstream citra-emu/citra taken down March 2024 (Nintendo lawsuit).
Mirror: https://github.com/citra-mirror/citra
Key file: aes_keys.txt (NOT keys.txt like Azahar).
ref: src/common/common_paths.h:68
Data dir: {system_dir}/Citra/sysdata/
ref: src/citra_libretro/citra_libretro.cpp:305-314
Uses RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY.
ref: src/citra_libretro/environment.cpp:149
Embedded open-source replacements for shared font, country list, bad word list.
ref: src/core/file_sys/archive_ncch.cpp:142-147
Files in sysdata/:
aes_keys.txt — AES encryption keys (common_paths.h:68)
boot9.bin — ARM9 bootrom (common_paths.h:69)
sector0x96.bin — secret NAND sector (common_paths.h:70)
shared_font.bin — system shared font, HLE fallback (common_paths.h:67)
seeddb.bin — game seed database (file_sys/seed_db.cpp:15)
NOTE: citra.yml profiles Azahar which uses keys.txt (not aes_keys.txt).
This core uses the pre-Azahar naming convention.
firmware_count absent in .info (= 0).
files:
- name: aes_keys.txt
system: nintendo-3ds
required: false
note: "AES keys (named aes_keys.txt in pre-Azahar Citra)"
source_ref: "src/common/common_paths.h:68, src/core/hw/aes/key.cpp"
- name: boot9.bin
system: nintendo-3ds
required: false
note: "ARM9 bootrom for key derivation"
source_ref: "src/common/common_paths.h:69"
- name: sector0x96.bin
system: nintendo-3ds
required: false
note: "OTP-encrypted NAND sector for key derivation"
source_ref: "src/common/common_paths.h:70"
note: "AES encryption keys for decrypting 3DS content"
source_ref: "src/core/hw/aes/key.cpp:71-131"
- name: shared_font.bin
system: nintendo-3ds
required: false
hle_fallback: true
note: "system shared font, HLE fallback if missing"
source_ref: "src/common/common_paths.h:67"
- name: seeddb.bin
system: nintendo-3ds
required: false
note: "game seed database for seed-encrypted games (9.6+ titles)"
source_ref: "src/core/file_sys/seed_db.cpp:15"
note: "system shared font, falls back to embedded open-source replacement"
source_ref: "src/core/hle/service/apt/apt.cpp:168-200"