mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-10 13:33:24 -05:00
Saying those profiles would stay open no matter what was wrong. A dead forge is a verifiable fact, and a fact can be recorded: upstream_gone carries why, and the profile stops being an open problem. The refs describe the last revision anyone could reach, which is all any reader can ask of them. The declaration is guarded rather than trusted, because a forge can come back and a profile that keeps asserting a death nobody rechecks is worse than one that fails loudly. Declared and unreachable reports as a recorded fact; declared and answering reports as the contradiction it is, and the profile has to be read again. yuzu and suyu carry GitHub's 451. citron carries the loss of git.citron-emu.org and the squatter now sitting on the .com. Each names what was probed and when, so the next reader retraces it rather than repeating it.
59 lines
2.3 KiB
YAML
59 lines
2.3 KiB
YAML
emulator: Citron
|
|
type: standalone
|
|
core_classification: community_fork
|
|
source: "https://git.citron-emu.org/citron-emu/Citron"
|
|
upstream: "https://git.citron-emu.org/citron-emu/Citron"
|
|
profiled_date: "2026-03-26"
|
|
upstream_gone: "git.citron-emu.org no longer resolves, and git.citron-emu.com redirects to an unrelated survey site, the domain having been taken. Observed 2026-09-04; no mirror found."
|
|
core_version: "2026.03.12"
|
|
display_name: "Citron (Nintendo Switch)"
|
|
cores:
|
|
- citron
|
|
systems: [nintendo-switch]
|
|
analysis_date: "2026-03-26"
|
|
analysis_commit: "79dee42 (depth=1)"
|
|
mode: standalone
|
|
|
|
# Citron is a community fork of yuzu, continued by Zephyron after yuzu's takedown.
|
|
# Key files loaded from <data_dir>/keys/ (fs_paths.h:18, path_util.cpp:124).
|
|
# On Linux: $XDG_DATA_HOME/citron/keys/
|
|
# On Batocera: XDG_DATA_HOME=/userdata/saves/switch → /userdata/saves/switch/citron/keys/
|
|
# Firmware NCAs are installed into NAND via UI (main.cpp:1808), not placed as files.
|
|
# HLE fallbacks exist for fonts, timezone, system version, mii model, ng word lists.
|
|
|
|
files:
|
|
- name: "prod.keys"
|
|
required: true
|
|
path: "switch/"
|
|
mode: standalone
|
|
note: "Production keys for NCA decryption (master, key area, header, titlekek)"
|
|
source_ref: "src/core/crypto/key_manager.cpp:655-656"
|
|
|
|
- name: "title.keys"
|
|
required: false
|
|
path: "switch/"
|
|
mode: standalone
|
|
note: "Per-title encryption keys (rights_id to titlekey mappings)"
|
|
source_ref: "src/core/crypto/key_manager.cpp:659-660"
|
|
|
|
- name: "console.keys"
|
|
required: false
|
|
path: "switch/"
|
|
mode: standalone
|
|
note: "Console-specific keys (BIS, SD seed)"
|
|
source_ref: "src/core/crypto/key_manager.cpp:661-662"
|
|
|
|
- name: "key_retail.bin"
|
|
required: false
|
|
path: "switch/"
|
|
size: 160
|
|
mode: standalone
|
|
note: "Amiibo decryption keys (two InternalKey structs, 0x50 bytes each)"
|
|
source_ref: "src/core/hle/service/nfc/common/amiibo_crypto.cpp:274-292"
|
|
|
|
notes: |
|
|
Citron is a standalone Nintendo Switch emulator, community fork of yuzu by Zephyron.
|
|
dev.keys can be used instead of prod.keys when use_dev_keys is enabled (for Switch dev units).
|
|
Firmware (system NCAs) must be installed through Citron's UI from a firmware ZIP or NCA files.
|
|
Required for commercial games. Homebrew (.nro, .nso) can run without keys or firmware.
|