feat: 4-source verified emulator profiles (A-E cores)
33 emulator profiles created or updated with systematic
verification against libretro docs, .info, core source,
and original emulator source code.
New profiles: bsnes-jg, bsnes2014, bsnes_cplusplus98,
bsnes_hd_beta, bsnes_mercury, citra2018, citra_canary.
Key fixes:
- dosbox_svn/svn_ce: not aliases of dosbox_core (no MUNT)
- beetle_psx: alt_names renamed to aliases (field bug)
- dolphin: added 15 Realtek BT firmware for Wiimote passthrough
- dosbox_core: added CM-32LN, 13 split ROM pairs for standalone
- duckstation: type standalone+libretro, 106 BIOS verified
- snes9x/np2kai: formal aliases for alternate filenames
2026-03-19 08:09:34 +01:00
|
|
|
emulator: Citra
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
type: standalone + libretro
|
2026-03-23 11:02:53 +01:00
|
|
|
core_classification: community_fork
|
feat: 4-source verified emulator profiles (A-E cores)
33 emulator profiles created or updated with systematic
verification against libretro docs, .info, core source,
and original emulator source code.
New profiles: bsnes-jg, bsnes2014, bsnes_cplusplus98,
bsnes_hd_beta, bsnes_mercury, citra2018, citra_canary.
Key fixes:
- dosbox_svn/svn_ce: not aliases of dosbox_core (no MUNT)
- beetle_psx: alt_names renamed to aliases (field bug)
- dolphin: added 15 Realtek BT firmware for Wiimote passthrough
- dosbox_core: added CM-32LN, 13 split ROM pairs for standalone
- duckstation: type standalone+libretro, 106 BIOS verified
- snes9x/np2kai: formal aliases for alternate filenames
2026-03-19 08:09:34 +01:00
|
|
|
source: "https://github.com/libretro/citra"
|
|
|
|
|
upstream: "https://github.com/citra-emu/citra"
|
2026-03-23 11:02:53 +01:00
|
|
|
profiled_date: "2026-03-23"
|
2026-03-18 05:19:57 +01:00
|
|
|
core_version: "Git"
|
|
|
|
|
display_name: "Nintendo - 3DS (Citra)"
|
feat: 4-source verified emulator profiles (A-E cores)
33 emulator profiles created or updated with systematic
verification against libretro docs, .info, core source,
and original emulator source code.
New profiles: bsnes-jg, bsnes2014, bsnes_cplusplus98,
bsnes_hd_beta, bsnes_mercury, citra2018, citra_canary.
Key fixes:
- dosbox_svn/svn_ce: not aliases of dosbox_core (no MUNT)
- beetle_psx: alt_names renamed to aliases (field bug)
- dolphin: added 15 Realtek BT firmware for Wiimote passthrough
- dosbox_core: added CM-32LN, 13 split ROM pairs for standalone
- duckstation: type standalone+libretro, 106 BIOS verified
- snes9x/np2kai: formal aliases for alternate filenames
2026-03-19 08:09:34 +01:00
|
|
|
cores: [citra]
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
systems: [nintendo-3ds]
|
|
|
|
|
|
|
|
|
|
notes: |
|
2026-03-23 11:02:53 +01:00
|
|
|
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
|
feat: 4-source verified emulator profiles (A-E cores)
33 emulator profiles created or updated with systematic
verification against libretro docs, .info, core source,
and original emulator source code.
New profiles: bsnes-jg, bsnes2014, bsnes_cplusplus98,
bsnes_hd_beta, bsnes_mercury, citra2018, citra_canary.
Key fixes:
- dosbox_svn/svn_ce: not aliases of dosbox_core (no MUNT)
- beetle_psx: alt_names renamed to aliases (field bug)
- dolphin: added 15 Realtek BT firmware for Wiimote passthrough
- dosbox_core: added CM-32LN, 13 split ROM pairs for standalone
- duckstation: type standalone+libretro, 106 BIOS verified
- snes9x/np2kai: formal aliases for alternate filenames
2026-03-19 08:09:34 +01:00
|
|
|
|
2026-03-23 11:02:53 +01:00
|
|
|
HLE for most services. Embedded open-source replacements for shared font,
|
|
|
|
|
Mii data, country list, and bad word list compiled into the binary.
|
|
|
|
|
ref: src/core/file_sys/archive_ncch.cpp:9-27, 133-167
|
feat: 4-source verified emulator profiles (A-E cores)
33 emulator profiles created or updated with systematic
verification against libretro docs, .info, core source,
and original emulator source code.
New profiles: bsnes-jg, bsnes2014, bsnes_cplusplus98,
bsnes_hd_beta, bsnes_mercury, citra2018, citra_canary.
Key fixes:
- dosbox_svn/svn_ce: not aliases of dosbox_core (no MUNT)
- beetle_psx: alt_names renamed to aliases (field bug)
- dolphin: added 15 Realtek BT firmware for Wiimote passthrough
- dosbox_core: added CM-32LN, 13 split ROM pairs for standalone
- duckstation: type standalone+libretro, 106 BIOS verified
- snes9x/np2kai: formal aliases for alternate filenames
2026-03-19 08:09:34 +01:00
|
|
|
|
2026-03-23 11:02:53 +01:00
|
|
|
firmware_count absent in .info (= 0). All files optional.
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
|
|
|
|
|
files:
|
2026-03-23 11:02:53 +01:00
|
|
|
- name: aes_keys.txt
|
2026-03-29 09:53:46 +02:00
|
|
|
path: "Citra/sysdata/aes_keys.txt"
|
2026-03-23 11:02:53 +01:00
|
|
|
system: nintendo-3ds
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
description: "AES encryption keys"
|
|
|
|
|
required: false
|
2026-03-23 11:02:53 +01:00
|
|
|
source_ref: "src/core/hw/aes/key.cpp:207-208 LoadPresetKeys()"
|
|
|
|
|
note: "needed for encrypted games"
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
|
2026-03-23 11:02:53 +01:00
|
|
|
- name: boot9.bin
|
2026-03-29 09:53:46 +02:00
|
|
|
path: "Citra/sysdata/boot9.bin"
|
2026-03-23 11:02:53 +01:00
|
|
|
system: nintendo-3ds
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
description: "ARM9 bootrom"
|
|
|
|
|
required: false
|
2026-03-23 11:02:53 +01:00
|
|
|
validation: [size]
|
|
|
|
|
source_ref: "src/core/hw/aes/key.cpp:162-172 LoadBootromKeys(), src/core/hw/rsa/rsa.cpp:55-65 InitSlots()"
|
|
|
|
|
note: "expected size 65536 bytes, provides AES and RSA keys"
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
|
2026-03-23 11:02:53 +01:00
|
|
|
- name: shared_font.bin
|
2026-03-29 09:53:46 +02:00
|
|
|
path: "Citra/sysdata/shared_font.bin"
|
2026-03-23 11:02:53 +01:00
|
|
|
system: nintendo-3ds
|
|
|
|
|
description: "system shared font (legacy format)"
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
required: false
|
2026-03-19 12:55:03 +01:00
|
|
|
hle_fallback: true
|
2026-03-23 11:02:53 +01:00
|
|
|
source_ref: "src/core/hle/service/apt/apt.cpp:259-267 LoadLegacySharedFont()"
|
|
|
|
|
note: "fallback to embedded open-source replacement font"
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
|
2026-03-23 11:02:53 +01:00
|
|
|
- name: seeddb.bin
|
2026-03-29 09:53:46 +02:00
|
|
|
path: "Citra/sysdata/seeddb.bin"
|
2026-03-23 11:02:53 +01:00
|
|
|
system: nintendo-3ds
|
|
|
|
|
description: "game seed database"
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
required: false
|
2026-03-23 11:02:53 +01:00
|
|
|
source_ref: "src/core/file_sys/seed_db.cpp:13-27 SeedDB::Load()"
|
|
|
|
|
note: "needed for seed-encrypted games (9.6+ titles), creates empty if missing"
|