Files
libretro/emulators/citra_canary.yml
T
Abdessamad Derraz 811ccdfea0 fix: profile files cores read below the save dir
Read at each pinned commit: Azahar, Citra, Citra 2018, Panda3DS, Trident,
FS-UAE and Stella read these below the frontend save directory, Dolphin
and Ishiiruka below <save>/User, Cemu its MLC below <save>/Cemu. Each
profile names its library_name. Citra Canary reads sysdata from the
host data directory: its pin moves to the canary branch it is built from.
2026-10-22 19:58:35 +02:00

63 lines
2.4 KiB
YAML

emulator: Citra Canary
type: 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: "5401990a9be46e4497abc92db3d5f2042674303d"
source_branch: canary
core_version: "Git"
display_name: "Nintendo - 3DS (Citra Canary/Experimental)"
library_name: "Citra Canary"
cores: [citra_canary]
systems:
- nintendo-3ds
notes: |
Canary branch of libretro/citra. Older codebase than master branch (citra core).
Missing boot9.bin, sector0x96.bin, seeddb.bin support present in master.
Seed crypto unimplemented (src/core/file_sys/ncch_container.cpp:169).
Upstream citra-emu/citra taken down March 2024 (Nintendo lawsuit).
Mirror: https://github.com/citra-mirror/citra
The buildbot builds citra_canary from the canary branch of libretro/citra
(libretro-super recipes/windows/cores-windows-x64_seh-noccache).
Under the default option citra_use_libretro_save_path the core points the
root and user directories at {save_dir}/Citra ({system_dir}/Citra without a
save directory), but GetUserPath fills sysdata/ on its first call, before
that, and the UserDir case never moves it. aes_keys.txt and
shared_font.bin are read from the host's Citra data directory: user/sysdata/
beside the working directory when ./user exists, else
$XDG_DATA_HOME/citra-emu/sysdata/ (Linux) or user/sysdata/ beside the
executable, else %APPDATA%/Citra/sysdata/ (Windows). Neither the system nor
the save directory of the frontend.
ref: src/citra_libretro/citra_libretro.cpp:295-316, src/common/file_util.cpp:674-736,
src/common/common_paths.h:16-38
The core reports library_name "Citra Canary".
ref: src/citra_libretro/environment.cpp:131
Embedded open-source replacements for shared font, country list, bad word list.
ref: src/core/file_sys/archive_ncch.cpp:142-147
firmware_count absent in .info (= 0).
files:
- name: aes_keys.txt
path: "sysdata/aes_keys.txt"
load_from: data_dir
system: nintendo-3ds
required: false
note: "AES encryption keys for decrypting 3DS content"
source_ref: "src/core/hw/aes/key.cpp:71-131"
- name: shared_font.bin
path: "sysdata/shared_font.bin"
load_from: data_dir
system: nintendo-3ds
required: false
hle_fallback: true
note: "system shared font, falls back to embedded open-source replacement"
source_ref: "src/core/hle/service/apt/apt.cpp:168-200"