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:27-49
InitKeys reads three key sources in order: boot9.bin, keys.txt, aes_keys.txt. ref: src/core/hw/aes/key.cpp:617-633
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:485-613, CMakeLists.txt:153
1861 title seeds are compiled in and loaded before seeddb.bin is read. ref: src/core/file_sys/seed_db.cpp:52-54, src/core/file_sys/seed_db.cpp:220
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:1220-1243
sector0x96.bin is defined but read by no code path. ref: src/common/common_paths.h:88
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
- Source:
src/core/hw/aes/key.cpp:227-366,src/core/hw/aes/key.cpp:475-615 - Platforms: emudeck
- AES key slots, common keys and NFC secrets; embedded encrypted blob used if missing
aes_keys.txt optional in repo
- Path:
sysdata/aes_keys.txt - System: nintendo-3ds
- Source:
src/core/hw/aes/key.cpp:368-471,src/common/common_paths.h:86 - 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:156-225,src/common/common_paths.h:87 - 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:52-103 - 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:224-275 - 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:277-319,src/core/hw/unique_data.h:105-135 - 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:123-181,src/core/hw/unique_data.h:59 - 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:183-222,src/core/hw/unique_data.h:78 - friend code generation seed
Generated on 2026-08-23T16:12:06Z