Lime3DS - RetroBIOS¶
Technical notes
Fork of Citra, discontinued at 2119.1. Data dir: lime3ds-emu on Linux, Lime3DS on Windows and macOS, with citra-emu and Citra kept as legacy locations. External files live in sysdata/ and nand/. ref: src/common/common_paths.h:18-32, src/common/file_util.cpp:834-835
InitKeys reads boot9.bin then aes_keys.txt. Encrypted content needs one of the two files. ref: src/core/hw/aes/key.cpp:313-322
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:144-170
The embedded shared font only covers title low ID 0x00014002. CHN, KOR and TWN resolve to 0x00014102, 0x00014202 and 0x00014302, which fall through to shared_font.bin and then to ErrorSystemFiles. ref: src/core/hle/service/apt/apt.cpp:213, src/core/hle/service/apt/apt.cpp:284-290
ClCertA is decrypted from the NAND archive with the KeySlot 0x0D normal key, and HTTPS requests stay unauthenticated when either is unavailable. ref: src/core/hle/service/http/http_c.cpp:1963-1999
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:536
DumpKeys.gm9, a GodMode9 script producing aes_keys.txt and seeddb.bin, ships in the tree. ref: dist/dumpkeys/README.md
sector0x96.bin is defined but read by no code path. ref: src/common/common_paths.h:70
mcu.dat holds per-installation MCU state that the emulator writes itself when the file is absent. ref: src/core/hle/service/cfg/cfg.cpp:734-756
7 files | 0 required, 7 optional | 7 in repo, 0 missing | 1 with HLE fallback
aes_keys.txt optional in repo
- Path:
sysdata/aes_keys.txt - System: nintendo-3ds
- Source:
src/core/hw/aes/key.cpp:206-309,src/common/common_paths.h:68 - Platforms: bizhawk, emudeck, retrodeck
- key slots, common keys, DLP and NFC key Ys and NFC secrets, one per line
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:135-204,src/core/hw/rsa/rsa.cpp:49-80 - AES key section read at offset 55760, RSA modulus and exponent at 0xB3E0 and 0xB4E0
shared_font.bin optional in repo HLE fallback
- Path:
sysdata/shared_font.bin - System: nintendo-3ds
- Source:
src/core/hle/service/apt/apt.cpp:254-270,src/core/hle/service/apt/apt.cpp:276-291 - legacy path, tried after the shared font system archive; decompressed BCFNT with the 0x80 byte APT header
seeddb.bin optional in repo
- Path:
sysdata/seeddb.bin - System: nintendo-3ds
- Source:
src/core/file_sys/seed_db.cpp:12-58 - Platforms: bizhawk
- game seed database for 9.6+ titles; an empty database is written when the file is absent
CTCert.bin optional in repo
- Path:
sysdata/CTCert.bin - System: nintendo-3ds
- Size: 384 B
- Validation: size
- Source:
src/core/hle/service/am/am.cpp:2427-2454,src/core/hle/service/am/am.cpp:83-93,src/core/hle/service/am/am.h:95 - console client certificate; signature type must be 0x010005 and the issuer one of the two Nintendo CA G3 strings. The certificate here is assembled from a console OTP: signature and expiry read at 0x44 and 0x20, public key derived from the private key at 0x24 over sect233r1, and the whole body checked against Nintendo's root public key
SecureInfo_A optional in repo
- Path:
nand/rw/sys/SecureInfo_A - System: nintendo-3ds
- Size: 273 B
- Validation: size
- Source:
src/core/hle/service/cfg/cfg.cpp:608-610,src/core/hle/service/cfg/cfg.cpp:689-709,src/core/hle/service/cfg/cfg.h:180-186 - console region and serial number; loaded on a size check alone
LocalFriendCodeSeed_B optional in repo
- Path:
nand/rw/sys/LocalFriendCodeSeed_B - System: nintendo-3ds
- Size: 272 B
- Validation: size
- Source:
src/core/hle/service/cfg/cfg.cpp:604-606,src/core/hle/service/cfg/cfg.cpp:711-732,src/core/hle/service/cfg/cfg.h:188-193 - friend code generation seed; loaded on a size check alone
Generated on 2026-08-23T16:12:06Z