Files
libretro/emulators/cemu.yml
T
Abdessamad Derraz 11da070128 chore: recale the profile refs onto their pins
Upstream moved under 145 profiles: 679 refs shifted and 452 followed a
renamed file, against 6,483 that still anchor where they were written.
The recale rewrites the located ranges only, keeping the annotations and
the sentences that carry them, and 106 pins advance in the same commit
because refs and source_commit name one revision or the profile
describes two at once.

Nothing here was guessed. The 183 refs that are CHANGED, GONE or
AMBIGUOUS are untouched, and the 57 profiles holding them keep their old
pin until someone reads the diff: profile_sync refuses to recale a
profile while any of its refs needs a re-read. trident kept its pin too,
its annotated ref being one the writer will not rewrite.
2026-09-04 14:41:44 +02:00

407 lines
15 KiB
YAML

emulator: Cemu
type: standalone
source: "https://github.com/cemu-project/Cemu"
logo: "https://raw.githubusercontent.com/cemu-project/Cemu/main/dist/linux/info.cemu.Cemu.png"
profiled_date: "2026-03-18"
source_commit: "51250c02dea9ec9333e4725a17c0eac705128ff0"
core_version: "2.6"
display_name: "Cemu (Wii U)"
cores:
- cemu
systems: [nintendo-wiiu]
analysis_date: "2026-03-17"
analysis_commit: "HEAD (depth=1)"
# keys.txt - disc decryption keys (AES-128, one per line, hex format)
# Located in Cemu user data root directory
# otp.bin and seeprom.bin - console-specific dumps for online features
# MLC path contains firmware titles under sys/title/
files:
# --- Disc decryption keys ---
- name: "keys.txt"
required: true
path: "" # Cemu root / user data directory
size: null
note: "AES-128 disc keys for WUD/WUX decryption, one 32-char hex key per line"
source_ref: "src/Cafe/Filesystem/FST/KeyCache.cpp:63"
# --- Console-specific dumps (online play) ---
- name: "otp.bin"
required: false
path: "" # Cemu root / user data directory
size: 1024
note: "Wii U OTP dump, required for online mode and SSL certificate generation"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:556"
- name: "seeprom.bin"
required: false
path: "" # Cemu root / user data directory
size: 512
note: "Wii U SEEPROM dump, required for online mode and console region detection"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:579"
# --- Shared system fonts (title 0005001b-10042400) ---
# Fallback: Cemu also checks resources/sharedFonts/ in its data directory
- name: "CafeCn.ttf"
required: true
path: "mlc01/sys/title/0005001b/10042400/content/"
note: "Shared font - Chinese"
source_ref: "src/Cafe/CafeSystem.cpp:289"
- name: "CafeKr.ttf"
required: true
path: "mlc01/sys/title/0005001b/10042400/content/"
note: "Shared font - Korean"
source_ref: "src/Cafe/CafeSystem.cpp:290"
- name: "CafeStd.ttf"
required: true
path: "mlc01/sys/title/0005001b/10042400/content/"
note: "Shared font - Standard (Latin/Japanese)"
source_ref: "src/Cafe/CafeSystem.cpp:291"
- name: "CafeTw.ttf"
required: true
path: "mlc01/sys/title/0005001b/10042400/content/"
note: "Shared font - Traditional Chinese (Taiwan)"
source_ref: "src/Cafe/CafeSystem.cpp:292"
# --- SSL client certificates (title 0005001b-10054000) ---
# Required for online features, loaded only when otp.bin is present
- name: "WIIU_COMMON_1_CERT.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/ccerts/"
note: "Nintendo client certificate - common"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:471"
- name: "WIIU_COMMON_1_RSA_KEY.aes"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/ccerts/"
note: "Nintendo client key - common (AES-encrypted)"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:471"
- name: "WIIU_ACCOUNT_1_CERT.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/ccerts/"
note: "Nintendo client certificate - account"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:472"
- name: "WIIU_ACCOUNT_1_RSA_KEY.aes"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/ccerts/"
note: "Nintendo client key - account (AES-encrypted)"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:472"
- name: "WIIU_OLIVE_1_CERT.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/ccerts/"
note: "Nintendo client certificate - olive (Miiverse)"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:473"
- name: "WIIU_OLIVE_1_RSA_KEY.aes"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/ccerts/"
note: "Nintendo client key - olive (AES-encrypted)"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:473"
- name: "WIIU_VINO_1_CERT.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/ccerts/"
note: "Nintendo client certificate - vino"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:474"
- name: "WIIU_VINO_1_RSA_KEY.aes"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/ccerts/"
note: "Nintendo client key - vino (AES-encrypted)"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:474"
- name: "WIIU_WOOD_1_CERT.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/ccerts/"
note: "Nintendo client certificate - wood"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:475"
- name: "WIIU_WOOD_1_RSA_KEY.aes"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/ccerts/"
note: "Nintendo client key - wood (AES-encrypted)"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:475"
# --- SSL CA certificates (title 0005001b-10054000) ---
# Nintendo CA certs
- name: "CACERT_NINTENDO_CA.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:480"
- name: "CACERT_NINTENDO_CA_G2.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:481"
- name: "CACERT_NINTENDO_CA_G3.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:482"
- name: "CACERT_NINTENDO_CLASS2_CA.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:483"
- name: "CACERT_NINTENDO_CLASS2_CA_G2.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:484"
- name: "CACERT_NINTENDO_CLASS2_CA_G3.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:485"
# Commercial CA certs
- name: "BALTIMORE_CYBERTRUST_ROOT_CA.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:488"
- name: "CYBERTRUST_GLOBAL_ROOT_CA.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:489"
- name: "VERIZON_GLOBAL_ROOT_CA.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:490"
- name: "GLOBALSIGN_ROOT_CA.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:491"
- name: "GLOBALSIGN_ROOT_CA_R2.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:492"
- name: "GLOBALSIGN_ROOT_CA_R3.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:493"
- name: "VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G3.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:494"
- name: "VERISIGN_UNIVERSAL_ROOT_CA.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:495"
- name: "VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G5.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:496"
- name: "THAWTE_PRIMARY_ROOT_CA_G3.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:497"
- name: "THAWTE_PRIMARY_ROOT_CA.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:498"
- name: "GEOTRUST_GLOBAL_CA.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:499"
- name: "GEOTRUST_GLOBAL_CA2.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:500"
- name: "GEOTRUST_PRIMARY_CA.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:501"
- name: "GEOTRUST_PRIMARY_CA_G3.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:502"
- name: "ADDTRUST_EXT_CA_ROOT.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:503"
- name: "COMODO_CA.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:504"
- name: "UTN_DATACORP_SGC_CA.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:505"
- name: "UTN_USERFIRST_HARDWARE_CA.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:506"
- name: "DIGICERT_HIGH_ASSURANCE_EV_ROOT_CA.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:507"
- name: "DIGICERT_ASSURED_ID_ROOT_CA.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:508"
- name: "DIGICERT_GLOBAL_ROOT_CA.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:509"
- name: "GTE_CYBERTRUST_GLOBAL_ROOT.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:510"
- name: "VERISIGN_CLASS3_PUBLIC_PRIMARY_CA.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:511"
- name: "THAWTE_PREMIUM_SERVER_CA.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:512"
- name: "EQUIFAX_SECURE_CA.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:513"
- name: "ENTRUST_SECURE_SERVER_CA.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:514"
- name: "VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G2.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:515"
- name: "ENTRUST_CA_2048.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:516"
- name: "ENTRUST_ROOT_CA.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:517"
- name: "ENTRUST_ROOT_CA_G2.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:518"
- name: "DIGICERT_ASSURED_ID_ROOT_CA_G2.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:519"
- name: "DIGICERT_GLOBAL_ROOT_CA_G2.der"
required: false
path: "mlc01/sys/title/0005001b/10054000/content/scerts/"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:520"
# --- Optional firmware libraries (cafeLibs/) ---
- name: "snd_user.rpl"
required: false
path: "cafeLibs/"
note: "Wii U firmware sound library, improves audio accuracy for some games"
source_ref: "src/Cafe/OS/libs/snd_user/snd_user.cpp:1225"
- name: "snduser2.rpl"
required: false
path: "cafeLibs/"
note: "Wii U firmware sound library v2, improves audio accuracy for some games"
source_ref: "src/Cafe/OS/libs/snd_user/snd_user.cpp:1225"
# Firmware title IDs referenced in the source
firmware_titles:
- id: "0005001b-10042400"
name: "Shared fonts"
content: ["CafeCn.ttf", "CafeKr.ttf", "CafeStd.ttf", "CafeTw.ttf"]
required: true
source_ref: "src/Cafe/CafeSystem.cpp:289-292"
- id: "0005001b-10054000"
name: "SSL certificates"
content: ["ccerts/", "scerts/"]
required: false
note: "Only needed for online features, requires otp.bin"
source_ref: "src/Cafe/IOSU/legacy/iosu_crypto.cpp:535"
- id: "0005001b-1005c000"
name: "System language/country data"
content: ["language.txt", "country.txt"]
required: false
note: "Auto-generated by Cemu if missing"
source_ref: "src/gui/wxgui/CemuApp.cpp:535-561"
- id: "00050010-10041200"
name: "System version"
content: ["version.bin"]
required: false
note: "Referenced but not strictly loaded (TODO in source)"
source_ref: "src/Cafe/OS/libs/coreinit/coreinit_MCP.cpp:203"
- id: "00050010-10040000"
name: "Wii U Menu (JPN)"
required: false
source_ref: "src/Cafe/OS/libs/sysapp/sysapp.cpp:382"
- id: "00050010-10040100"
name: "Wii U Menu (USA)"
required: false
source_ref: "src/Cafe/OS/libs/sysapp/sysapp.cpp:382"
- id: "00050010-10040200"
name: "Wii U Menu (EUR)"
required: false
source_ref: "src/Cafe/OS/libs/sysapp/sysapp.cpp:382"
# MLC directory structure expected by Cemu
mlc_structure:
- "mlc01/sys/title/0005001b/10042400/content/" # shared fonts
- "mlc01/sys/title/0005001b/10054000/content/ccerts/" # client certs
- "mlc01/sys/title/0005001b/10054000/content/scerts/" # server CA certs
- "mlc01/sys/title/0005001b/1005c000/content/" # language files
- "mlc01/sys/title/00050010/" # system applets
- "mlc01/usr/title/00050000/" # base games
- "mlc01/usr/title/0005000c/" # DLC
- "mlc01/usr/title/0005000e/" # updates
- "mlc01/usr/save/" # save data
- "mlc01/usr/boss/" # SpotPass data
notes: |
Cemu is a standalone Wii U emulator (not a libretro core).
Minimum to run games: keys.txt with disc decryption keys.
Shared fonts are required but Cemu ships fallback fonts in resources/sharedFonts/.
Online play requires otp.bin (1024 bytes) + seeprom.bin (512 bytes) + SSL certificates.
The cafeLibs/ directory can hold original Wii U firmware .rpl libraries for accuracy.
Any .rpl from the Wii U firmware placed in cafeLibs/ will override Cemu's HLE implementation.