AzaharPlus - RetroBIOS¶
Technical notes
Fork of Azahar. Data dir: azaharplus-emu (AzaharPlus on Windows and macOS), with citra-emu and lime3ds-emu probed as legacy locations. ref: src/common/common_paths.h:25-47
InitKeys reads three key sources in order: boot9.bin, keys.txt, aes_keys.txt. ref: src/core/hw/aes/key.cpp:615-631
keys.txt has an AES-encrypted key blob compiled into the binary, used when the file is absent. ENABLE_BUILTIN_KEYBLOB defaults to ON. ref: src/core/hw/aes/key.cpp:483-611, CMakeLists.txt:153
1861 title seeds are compiled in and loaded before seeddb.bin is read. ref: src/core/file_sys/seed_db.cpp:50-52, src/core/file_sys/seed_db.cpp:218
System archives (shared font, Mii data, country list, bad word list) have open-source replacements embedded in the binary, and ClCertA falls back to an embedded certificate and key pair. ref: src/core/file_sys/archive_ncch.cpp:174-203, src/core/hle/service/http/http_c.cpp:2107-2133
otp.bin, movable.sed, SecureInfo_A and LocalFriendCodeSeed_B are replaced by embedded dummy data when enable_required_online_lle_modules is set. That setting defaults to false, and every loader returns a not-found status without it. ref: src/common/settings.h:492-493
System titles are downloaded and installed in-app from the Nintendo CDN, so the NAND title tree is not user-supplied. ref: src/core/nus_download.cpp:13, src/core/hle/service/am/am.cpp:1219-1242
sector0x96.bin is defined but read by no code path. ref: src/common/common_paths.h:86
mcu.dat, mac.txt, digests.txt, cecIds.txt and http_hle_replace_rules.txt live in sysdata but hold per-installation state the emulator writes itself.
9 files | 0 required, 9 optional | 9 in repo, 0 missing | 3 with HLE fallback
keys.txt optional in repo HLE fallback
- Path:
sysdata/keys.txt - System: nintendo-3ds
- SHA1:
5288772be438... - MD5:
4812e96097b7... - Source:
src/core/hw/aes/key.cpp:225-364,src/core/hw/aes/key.cpp:473-613,src/core/hw/default_keys.h:11 - 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
aes_keys.txt optional in repo
- Path:
sysdata/aes_keys.txt - System: nintendo-3ds
- Source:
src/core/hw/aes/key.cpp:366-469,src/common/common_paths.h:84 - Platforms: bizhawk, emudeck, retrodeck
- legacy keyfile format, parsed without section markers
boot9.bin optional in repo
- Path:
sysdata/boot9.bin - System: nintendo-3ds
- Size: 64.0 KB
- Validation: size
- Source:
src/core/hw/aes/key.cpp:154-223,src/common/common_paths.h:85 - bootrom key section read at offset 55760, filling 80 key slots
shared_font.bin optional in repo HLE fallback
- Path:
sysdata/shared_font.bin - System: nintendo-3ds
- Source:
src/core/hle/service/apt/apt.cpp:278-294,src/core/hle/service/apt/apt.cpp:305 - legacy path, tried after the shared font system archive
seeddb.bin optional in repo HLE fallback
- Path:
sysdata/seeddb.bin - System: nintendo-3ds
- Source:
src/core/file_sys/seed_db.cpp:50-101 - Platforms: bizhawk
- game seed database for 9.6+ titles; written out from the embedded seeds if absent
otp.bin optional in repo
- Path:
sysdata/otp.bin - System: nintendo-3ds
- Size: 256 B
- Validation: size, crypto
- Source:
src/core/file_sys/otp.cpp:35-80,src/core/hw/unique_data.cpp:223-274 - console-unique OTP, AES-CBC decrypted then checked against the OTP magic
movable.sed optional in repo
- Path:
nand/private/movable.sed - System: nintendo-3ds
- Size: 288 B / 320 B
- Validation: size, signature
- Source:
src/core/hw/unique_data.cpp:276-318,src/core/hw/unique_data.h:103-133 - console-unique key seed; 288 bytes without the AES MAC block, 320 with it
SecureInfo_A optional in repo
- Path:
nand/rw/sys/SecureInfo_A - System: nintendo-3ds
- Size: 273 B
- Validation: size, signature
- Source:
src/core/hw/unique_data.cpp:122-180,src/core/hw/unique_data.h:57 - console serial and region; a failed signature is retried against every region
LocalFriendCodeSeed_B optional in repo
- Path:
nand/rw/sys/LocalFriendCodeSeed_B - System: nintendo-3ds
- Size: 272 B
- Validation: size, signature
- Source:
src/core/hw/unique_data.cpp:182-221,src/core/hw/unique_data.h:76 - friend code generation seed
Generated on 2026-10-10T11:26:00Z