Files
libretro/emulators/azahar.yml
T
Abdessamad Derraz b3b3880c19 chore: say which repository each source_ref cites
Profiles that read two repositories, a libretro port and its upstream,
now prefix each citation with source or upstream, decided by which tree
carries the cited value at its pin. The emulator pages use the word to
tell libretro glue, emulator code as the port carries it, and the
upstream emulator apart.
2026-10-20 09:23:41 +02:00

99 lines
3.5 KiB
YAML

emulator: Azahar
type: standalone + libretro
core_classification: community_fork
source: "https://github.com/johndoe6345789/azahar_libretro"
upstream: "https://github.com/azahar-emu/azahar"
profiled_date: "2026-03-23"
source_commit: "9dd12da328c753806cbd4f2b0e048fced97ae97d"
core_version: "Git"
display_name: "Nintendo - 3DS (Azahar)"
cores: [azahar]
systems:
- nintendo-3ds
notes: |
Successor to Citra (via Lime3DS). Libretro port by johndoe6345789.
Data dir: azahar-emu (legacy: citra-emu, lime3ds-emu).
ref: src/common/common_paths.h:41-43
Key file named keys.txt (not aes_keys.txt like old Citra).
Embedded encrypted key fallback if keys.txt absent.
ref: src/core/hw/aes/key.cpp:282-297
Uses RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY.
ref: src/citra_libretro/environment.cpp:179
.info has firmware_count=0 but core loads files from system_dir.
boot9.bin and sector0x96.bin are defined in common_paths.h:84-85
but never loaded by any code path. Dead defines from Citra heritage.
System archives (shared font, Mii data, country list, bad word list)
have open-source replacements embedded in the binary.
ref: src/core/file_sys/archive_ncch.cpp:146-176
files:
- name: keys.txt
path: sysdata/keys.txt
system: nintendo-3ds
required: false
hle_fallback: true
sha1: "5fab786695311433602028cd89898689c5df0898"
md5: "cb52d323b13129a2f0bc3e3e911e567f"
note: "embedded encrypted fallback if missing: default_keys_enc, AES-CBC with a zero key and IV. The hashes are those of the decrypted text without its PKCS#7 block"
source_ref: "source src/core/hw/aes/key.cpp:283-300, upstream src/common/common_paths.h:83, source src/core/hw/default_keys.h:4-5"
- name: shared_font.bin
path: sysdata/shared_font.bin
system: nintendo-3ds
required: false
hle_fallback: true
note: "legacy load path, embedded open-source font used if missing"
source_ref: "source src/core/hle/service/apt/apt.cpp:263-278"
- name: seeddb.bin
path: sysdata/seeddb.bin
system: nintendo-3ds
required: false
note: "game seed database for 9.6+ titles"
source_ref: "upstream src/core/file_sys/seed_db.cpp:15"
- name: otp.bin
path: sysdata/otp.bin
system: nintendo-3ds
required: false
size: 256
validation: [size, crypto]
note: "OTP data for console key derivation"
source_ref: "source src/core/hw/unique_data.cpp:126-167, source src/core/hw/unique_data.cpp:213"
- name: movable.sed
path: nand/private/movable.sed
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: "source src/core/hw/unique_data.cpp:170-200, source src/core/hw/unique_data.cpp:217, source src/core/hw/unique_data.h:103-133"
- name: SecureInfo_A
path: nand/rw/sys/SecureInfo_A
system: nintendo-3ds
required: false
size: 273
validation: [size, signature]
on_mismatch: {signature: warn}
note: "console serial and region data"
source_ref: "source src/core/hw/unique_data.cpp:43-92, source src/core/hw/unique_data.cpp:205"
- name: LocalFriendCodeSeed_B
path: nand/rw/sys/LocalFriendCodeSeed_B
system: nintendo-3ds
required: false
size: 272
validation: [size, signature]
on_mismatch: {signature: warn}
note: "friend code generation seed"
source_ref: "source src/core/hw/unique_data.cpp:94-123, source src/core/hw/unique_data.cpp:209, source src/core/hw/unique_data.h:76"