Skip to content

# Citra - RetroBIOS

Type | standalone + libretro
Classification | community_fork
Source | https://github.com/libretro/citra
Upstream | https://github.com/citra-emu/citra
Version | Git
Profiled | 2026-03-23
Cores | citra
Systems | nintendo-3ds

Technical notes

Citra 3DS emulator. Upstream taken down March 2024 (Nintendo lawsuit). Mirror: https://github.com/citra-mirror/citra Data dir: {save_dir}/Citra/ or {system_dir}/Citra/ ref: src/citra_libretro/citra_libretro.cpp:460-466

HLE for most services. Embedded open-source replacements for shared font, Mii data, country list, and bad word list compiled into the binary. ref: src/core/file_sys/archive_ncch.cpp:9-27, 133-167

firmware_count absent in .info (= 0). All files optional.

4 files | 0 required, 4 optional | 3 in repo, 1 missing | 1 with HLE fallback

`aes_keys.txt` -optional : AES encryption keys

- System: nintendo-3ds
- Source: `src/core/hw/aes/key.cpp:207-208 LoadPresetKeys()`
- Platforms: emudeck, retrodeck
- needed for encrypted games

`boot9.bin` -optional, missing from repo : ARM9 bootrom

- System: nintendo-3ds
- Validation: size
- Source: `src/core/hw/aes/key.cpp:162-172 LoadBootromKeys(), src/core/hw/rsa/rsa.cpp:55-65 InitSlots()`
- expected size 65536 bytes, provides AES and RSA keys

`shared_font.bin` -optional, HLE available : system shared font (legacy format)

- System: nintendo-3ds
- Source: `src/core/hle/service/apt/apt.cpp:259-267 LoadLegacySharedFont()`
- fallback to embedded open-source replacement font

`seeddb.bin` -optional : game seed database

- System: nintendo-3ds
- Source: `src/core/file_sys/seed_db.cpp:13-27 SeedDB::Load()`
- needed for seed-encrypted games (9.6+ titles), creates empty if missing

Generated on 2026-03-25T14:56:43Z