mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-23 20:29:06 -05:00
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.
135 lines
5.6 KiB
YAML
135 lines
5.6 KiB
YAML
emulator: Azahar
|
|
type: standalone + libretro
|
|
core_classification: official_port
|
|
source: "https://github.com/azahar-emu/azahar"
|
|
upstream: "https://github.com/azahar-emu/azahar"
|
|
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 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
|
|
forces the SDL2, Qt and web service frontends off.
|
|
ref: CMakeLists.txt:40, CMakeLists.txt:109-111, CMakeLists.txt:165-187
|
|
|
|
The libretro core moves the user directory to <save_dir>/Azahar/, or to
|
|
<system_dir>/Azahar/ when the frontend gives no save directory. The core
|
|
option "Azahar Default" keeps the standalone data directory instead.
|
|
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
|
|
precedence. sysdata/, nand/ and sdmc/ sit under the user directory.
|
|
ref: src/common/common_paths.h:19-49, src/common/file_util.cpp:943-972,
|
|
src/common/file_util.cpp:1023-1025
|
|
|
|
keys.txt has an AES-encrypted key blob compiled in, used when the file is
|
|
absent. ENABLE_BUILTIN_KEYBLOB defaults to ON and is not among the options a
|
|
libretro build forces off.
|
|
ref: src/core/hw/aes/key.cpp:292-314, CMakeLists.txt:154, src/core/CMakeLists.txt:501-503
|
|
|
|
System archives (shared font, Mii data, country list, bad word list) are read
|
|
from installed NAND titles. Open-source replacements embedded in the binary
|
|
answer when the title is absent.
|
|
ref: src/core/file_sys/archive_ncch.cpp:150-214, src/core/hle/service/apt/apt.cpp:211-276
|
|
|
|
boot9.bin and sector0x96.bin are defined but read by no code path.
|
|
ref: src/common/common_paths.h:84-85
|
|
|
|
The .info declares no firmware.
|
|
|
|
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
|
|
sha1: "5288772be438b86978a801e6dcb14228ad3a20af"
|
|
md5: "4812e96097b7fc1bdd7b40366208b7a7"
|
|
note: "AES key slots, common keys and NFC secrets. Embedded encrypted blob used if missing: default_keys_enc, AES-CBC with a zero key and IV, the hashes are those of the decrypted text"
|
|
source_ref: "src/core/hw/aes/key.cpp:151-288, src/core/hw/aes/key.cpp:292-314, src/common/common_paths.h:83, src/core/hw/default_keys.h:11"
|
|
|
|
- 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
|
|
note: "legacy path, tried when the shared font system archive fails to load"
|
|
source_ref: "src/core/hle/service/apt/apt.cpp:278-293, src/core/hle/service/apt/apt.cpp:300-305, src/common/common_paths.h:82"
|
|
|
|
- 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"
|
|
source_ref: "src/core/file_sys/seed_db.cpp:12-58"
|
|
|
|
- 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
|
|
validation: [size, crypto]
|
|
note: "console-unique OTP, AES-CBC decrypted with the keys.txt OTP key, then checked against the OTP magic and its SHA-256"
|
|
source_ref: "src/core/file_sys/otp.cpp:14-55, src/core/hw/unique_data.cpp:143-192, src/core/hw/unique_data.cpp:243-245"
|
|
|
|
- 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]
|
|
validation: [size, signature]
|
|
on_mismatch: {signature: warn}
|
|
note: "console-unique key seed, 288 bytes without the AES MAC block, 320 with it"
|
|
source_ref: "src/core/hw/unique_data.cpp:194-233, src/core/hw/unique_data.cpp:247-249, src/core/hw/unique_data.h:103-133"
|
|
|
|
- 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
|
|
validation: [size, signature]
|
|
on_mismatch: {signature: warn}
|
|
note: "console serial and region. A failed signature is retried against every region"
|
|
source_ref: "src/core/hw/unique_data.cpp:48-103, src/core/hw/unique_data.cpp:235-237, src/core/hw/unique_data.h:57"
|
|
|
|
- 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
|
|
validation: [size, signature]
|
|
on_mismatch: {signature: warn}
|
|
note: "friend code generation seed"
|
|
source_ref: "src/core/hw/unique_data.cpp:105-141, src/core/hw/unique_data.cpp:239-241, src/core/hw/unique_data.h:76"
|