mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 04:12:33 -05:00
404 lines
14 KiB
YAML
404 lines
14 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"
|
|
core_version: "2.6"
|
|
display_name: "Cemu (Wii U)"
|
|
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:1071"
|
|
|
|
- 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:1071"
|
|
|
|
# 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.
|