Files
libretro/emulators/citra.yml
T
Abdessamad Derraz e7aa9e870b fix: state libretro core versions from their code
Each libretro profile records version_basis and core_version is read
there at its pin. snes9x states 1.63 in snes9x.h, nestopia 2.0.0, mgba
0.11.0, vice 3.10, atari800's libretro tree 7.0.0. Cores whose build
takes its version from git carry the nearest tag in describe form
(flycast v2.7-90-ge88b0ce, ppsspp, duckstation, gearcoleco), placeholders
copied from .info files (Git, SVN) are replaced by the code's statement,
and a code that states none is null with kind none.
2026-10-27 19:21:27 +01:00

89 lines
3.6 KiB
YAML

emulator: Citra
type: standalone + libretro
core_classification: community_fork
source: "https://github.com/libretro/citra"
upstream: "https://github.com/citra-emu/citra"
profiled_date: "2026-03-23"
source_commit: "a0483e9abe8134ae6b290cdca7d49cb77689f05b"
core_version: null
version_basis:
kind: none
display_name: "Nintendo - 3DS (Citra)"
library_name: "Citra"
cores: [citra]
systems: [nintendo-3ds]
data_root:
android:
path: "<folder picked at first launch>"
source_ref: "src/android/app/src/main/java/org/citra/citra_emu/utils/PermissionsHandler.kt:42-46, src/android/app/src/main/java/org/citra/citra_emu/utils/DirectoryInitialization.kt:93-101, src/common/file_util.cpp:819-822"
windows:
path: "%APPDATA%/Citra"
source_ref: "src/common/file_util.cpp:719-725, 809-815, src/common/common_paths.h:16-17, 21-22"
note: "user beside the executable when that folder exists"
macos:
path: "~/Library/Application Support/Citra"
source_ref: "src/common/file_util.cpp:824-846, src/common/common_paths.h:16-17, 23-31"
note: "$XDG_DATA_HOME/citra-emu or ~/.local/share/citra-emu when an XDG folder from an earlier setup exists. user in the working directory when that folder exists"
linux:
path: "$XDG_DATA_HOME/citra-emu, else ~/.local/share/citra-emu"
source_ref: "src/common/file_util.cpp:753-776, 824-846, src/common/common_paths.h:16-17, 32-33"
note: "user in the working directory when that folder exists"
notes: |
Citra 3DS emulator. Upstream taken down March 2024 (Nintendo lawsuit).
Mirror: https://github.com/citra-mirror/citra
Data dir: {save_dir}/Citra/ under the default "LibRetro Default" option
citra_use_libretro_save_path, {system_dir}/Citra/ only when the frontend
gives no save directory. sysdata/ sits under it.
ref: src/citra_libretro/citra_libretro.cpp:157, src/citra_libretro/citra_libretro.cpp:445-466,
src/citra_libretro/environment.cpp:139, src/common/file_util.cpp:855
The core reports library_name "Citra".
ref: src/citra_libretro/environment.cpp:180
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.
files:
- name: aes_keys.txt
path: "Citra/sysdata/aes_keys.txt"
load_from: {libretro: save_dir}
system: nintendo-3ds
description: "AES encryption keys"
required: false
source_ref: "src/core/hw/aes/key.cpp:207-208 LoadPresetKeys()"
note: "needed for encrypted games"
- name: boot9.bin
path: "Citra/sysdata/boot9.bin"
load_from: {libretro: save_dir}
system: nintendo-3ds
description: "ARM9 bootrom"
required: false
size: 65536
validation: [size]
source_ref: "src/core/hw/aes/key.cpp:162-172 LoadBootromKeys(), src/core/hw/rsa/rsa.cpp:55-65 InitSlots()"
note: "provides AES and RSA keys"
- name: shared_font.bin
path: "Citra/sysdata/shared_font.bin"
load_from: {libretro: save_dir}
system: nintendo-3ds
description: "system shared font (legacy format)"
required: false
hle_fallback: true
source_ref: "src/core/hle/service/apt/apt.cpp:259-267 LoadLegacySharedFont()"
note: "fallback to embedded open-source replacement font"
- name: seeddb.bin
path: "Citra/sysdata/seeddb.bin"
load_from: {libretro: save_dir}
system: nintendo-3ds
description: "game seed database"
required: false
source_ref: "src/core/file_sys/seed_db.cpp:13-27 SeedDB::Load()"
note: "needed for seed-encrypted games (9.6+ titles), creates empty if missing"