mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 04:12:33 -05:00
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.
87 lines
3.2 KiB
YAML
87 lines
3.2 KiB
YAML
emulator: Citra / Lime3DS / Azahar
|
|
type: standalone + libretro
|
|
source: "https://github.com/azahar-emu/azahar"
|
|
systems: [nintendo-3ds]
|
|
|
|
notes: |
|
|
Citra (now Azahar, formerly Lime3DS) uses HLE for most system services,
|
|
so many files are optional. AES keys are the most important for decrypting
|
|
games and system data. Shared font has a built-in fallback.
|
|
File locations relative to user dir: sysdata/ for keys/boot/font/otp/seeddb,
|
|
nand/ for NAND filesystem, nand/private/ for movable.sed.
|
|
Legacy data dirs: citra-emu, lime3ds-emu -> azahar-emu.
|
|
|
|
files:
|
|
# --- sysdata/ directory ---
|
|
- name: "keys.txt"
|
|
path: "sysdata/keys.txt"
|
|
description: "AES encryption keys"
|
|
required: false
|
|
source_ref: "src/common/common_paths.h:83, src/core/hw/aes/key.cpp:291"
|
|
notes: "Contains AES key slots (X/Y/N types) for game decryption; has built-in encrypted fallback keys (key.cpp:300-306)"
|
|
|
|
- name: "boot9.bin"
|
|
path: "sysdata/boot9.bin"
|
|
description: "ARM9 bootrom"
|
|
required: false
|
|
source_ref: "src/common/common_paths.h:84"
|
|
notes: "3DS ARM9 boot ROM; used for hardware key derivation"
|
|
|
|
- name: "sector0x96.bin"
|
|
path: "sysdata/sector0x96.bin"
|
|
description: "Secret sector from NAND"
|
|
required: false
|
|
source_ref: "src/common/common_paths.h:85"
|
|
notes: "OTP-encrypted sector 0x96 from 3DS NAND; used for key derivation"
|
|
|
|
- name: "shared_font.bin"
|
|
path: "sysdata/shared_font.bin"
|
|
description: "System shared font"
|
|
required: false
|
|
source_ref: "src/common/common_paths.h:82, src/core/hle/service/apt/apt.cpp:284"
|
|
notes: "Fallback if NAND system archive not available; built-in font data also exists (archive_ncch.cpp:28,189)"
|
|
|
|
- name: "seeddb.bin"
|
|
path: "sysdata/seeddb.bin"
|
|
description: "Game seed database"
|
|
required: false
|
|
source_ref: "src/core/file_sys/seed_db.cpp:15"
|
|
notes: "Required for some seed-encrypted games (9.6+ titles)"
|
|
|
|
- name: "otp.bin"
|
|
path: "sysdata/otp.bin"
|
|
description: "One-time programmable memory dump"
|
|
required: false
|
|
source_ref: "src/core/hw/unique_data.cpp:214"
|
|
notes: "Console-unique OTP data; used for hardware key derivation"
|
|
|
|
# --- nand/ directory ---
|
|
- name: "movable.sed"
|
|
path: "nand/private/movable.sed"
|
|
description: "Movable unique key"
|
|
required: false
|
|
source_ref: "src/core/hw/unique_data.cpp:218"
|
|
notes: "Console-unique key seed for SD/NAND encryption; signature verified at load (unique_data.cpp:197)"
|
|
|
|
- name: "SecureInfo_A"
|
|
path: "nand/rw/sys/SecureInfo_A"
|
|
description: "Console serial and region info"
|
|
required: false
|
|
source_ref: "src/core/hw/unique_data.cpp:206"
|
|
notes: "Contains console serial number and region data"
|
|
|
|
- name: "LocalFriendCodeSeed_B"
|
|
path: "nand/rw/sys/LocalFriendCodeSeed_B"
|
|
description: "Friend code seed"
|
|
required: false
|
|
source_ref: "src/core/hw/unique_data.cpp:210"
|
|
notes: "Used for friend code generation"
|
|
|
|
# --- NAND system archives (installed titles) ---
|
|
- name: "shared font (system archive)"
|
|
path: "nand/ (installed as NCCH title 0004009B00014002)"
|
|
description: "Shared font system archive (JPN/USA/EUR)"
|
|
required: false
|
|
source_ref: "src/core/file_sys/archive_ncch.cpp:161"
|
|
notes: "Region variants: CHN=00014102, KOR=00014202, TWN=00014302"
|