Skip to content

Cemu emulates Nintendo Wii U. It reads 72 files, 1 of them required: without a required file it does not start games.

Run on its own, the app reads its files from this folder:

%APPDATA%/Cemu/

portable/ next to Cemu.exe when that folder exists, or the folder of Cemu.exe when settings.xml sits there.

Source: src/gui/wxgui/CemuApp.cpp:74-86 (upstream emulator), src/gui/wxgui/CemuApp.cpp:90-123 (upstream emulator)

About this profile
Detail Value
Type standalone + libretro
Classification Community fork
Source https://git.libretro.com/libretro/cemu-libretro
Upstream https://github.com/cemu-project/Cemu
Mirror https://github.com/WizzardSK/cemu-libretro
Version 2.6-372-g29f2f1fa, stated in src/libretro/CemuLibretro.cpp
Revision libretro/cemu-libretro@14f56b569b36, cemu-project/Cemu@42876aa86d2b
Profiled 2026-10-23
Profile YAML, JSON
Cores cemu, cemu-sa
Systems Nintendo Wii U
Data folder (Windows) %APPDATA%/Cemu/
Data folder (macOS) ~/Library/Application Support/Cemu/
Data folder (Linux) $XDG_DATA_HOME/Cemu/, else ~/.local/share/Cemu/
Install this emulator's files

For Cemu inside RetroArch, Batocera or another setup. The installer finds your setup and its BIOS folder, then downloads only the files this emulator reads there and checks each one.

Open the Start menu. Type PowerShell and open it. Paste the line. Press Enter.

PowerShell
&([scriptblock]::Create((irm https://abdess.github.io/retrobios/i.ps1))) --emulator cemu
Technical notes

Wii U emulator. The libretro core is a fork of the Cemu tree with the wx application removed, kept merged with upstream, with the frontend glue in src/libretro/. The upstream_commit above is the last merge base. The repository builds the core and nothing else, as a bare shared object, for linux x86_64 and aarch64, windows x86_64, osx x86_64 and arm64, android arm64-v8a and x86_64, webos aarch64, ios arm64 and tvos arm64. Nothing that the standalone distribution carries next to the executable (resources/, gameProfiles/default/) comes with the core. The community graphic packs, which standalone downloads, are compiled into it. ref: CMakeLists.txt:4-7, src/CMakeLists.txt:75-90, .gitlab-ci.yml:123, 129, 152, 414, 435, 440, 448, 478, 564, 583

Path model. Cemu resolves every file through four roots: the user data path (keys.txt, otp.bin, seeprom.bin, cafeLibs/, graphicPacks/, shareddata.bin, resources/miiverse/, the default mlc01), the config path (settings.xml, network_services.xml, controllerProfiles/, per-title gameProfiles/), the data path (resources/sharedFonts/, gameProfiles/default/) and the MLC. The libretro core points user data, config, cache and data at <system_dir>/Cemu, and always puts the MLC at <save_dir>/Cemu/mlc01: it does not read settings.xml. The Cemu subdirectory is not doubled when the frontend already hands over a directory of that name (saves sorted per core). Standalone Cemu uses the portable directory next to the executable when it exists, otherwise the user data directory given per system in the data folder, and the MLC defaults to <user data>/mlc01. path: entries below are the libretro destination under the system directory, or under the save directory for the MLC (load_from), and standalone_path: is relative to the Cemu user data directory, which holds the MLC by default (load_from data_dir). The core reports library_name "Cemu" (src/libretro/CemuLibretro.cpp:4173). ref: src/libretro/CemuLibretro.cpp:2110-2170, src/libretro/CemuLibretro.cpp:4083-4091, src/gui/wxgui/CemuApp.cpp:90-123, src/gui/wxgui/CemuApp.cpp:127-171, src/config/ActiveSettings.cpp:295-321

keys.txt is read once from the user data path. A missing file is created with a comment header and an example key. Each line is stripped of comments, spaces, dashes and underscores and must then be 32 hex characters, otherwise an error is raised for that line. FindDiscKey tries every key in order against the encrypted partition header of a .wud/.wux and falls back to a 16-byte <image>.key next to the image. The libretro core asks that question before setting up any renderer and refuses the load with a message naming keys.txt when no key matches, so an encrypted disc image does not start without it. .wua archives, .rpx and NUS directories are not encrypted with a disc key and load without the file. ref: src/Cafe/Filesystem/FST/KeyCache.cpp:65-137, src/Cafe/Filesystem/FST/FST.cpp:192-246, src/libretro/CemuLibretro.cpp:6094-6142

Shared fonts. LoadSharedData runs at every title start and looks for the four fonts of title 0005001b-10042400 in the MLC first, then under resources/sharedFonts/ of the data path. All four must be found in one place or the other, otherwise none is loaded and the code tries shareddata.bin, a 32 MiB dump of the shared data region, read from the user data path straight into 0xF8000000. With nothing loaded a title that calls OSGetSharedData receives the placeholder font compiled into the binary, decompressed from a zlib array, so games run but with one Latin face standing in for the CJK sets. The four files in resources/sharedFonts/ of the source tree are Noto Sans CJK Medium faces under the console names, not dumps: the standalone distribution ships them, the libretro core does not and looks under <system_dir>/Cemu/resources/sharedFonts/. ref: src/Cafe/CafeSystem.cpp:286-365, src/Cafe/CafeSystem.cpp:907-911, src/Cafe/OS/libs/coreinit/coreinit.cpp:137-184, src/resource/CafeDefaultFont.cpp:2562-2569

Online files. iosuCrypto_init reads otp.bin and seeprom.bin from the user data path and rejects any size other than 1024 and 512 bytes. Without a valid OTP no certificate is loaded and online mode is off. The certificate table names 8 client certificates with their AES-encrypted RSA keys and 39 CA certificates, all under sys/title/0005001b/10054000/content/ of the MLC, and olive and wood appear twice under distinct ids, so 7 distinct client pairs and 39 CA files are read. A key file must be a non-empty multiple of 16 bytes and is decrypted with the key at OTP offset 0x120. Online mode is only enabled when every file of the table is present. For the libretro core these live in the save directory, not the system directory. ref: src/Cafe/IOSU/legacy/iosu_crypto.cpp:303-330, src/Cafe/IOSU/legacy/iosu_crypto.cpp:463-606, src/Cafe/IOSU/legacy/iosu_crypto.cpp:608-655, src/config/ActiveSettings.cpp:50-55, src/Cafe/Account/Account.cpp:422-458

cafeLibs. When a title depends on a module, the loader first looks for <module>.rpl in cafeLibs/ under the user data path and loads it in place of Cemu's own implementation, as long as the game profile does not set loadSharedLibraries to false (the default is true). Any Cafe OS module can be placed there. The code names snd_user.rpl and snduser2.rpl as the ones to dump when a title uses an unsupported audio effect, and gates swkbd.rpl and erreula.rpl on the presence of their data packs in the MLC (swkbd.pack of title 0005001b-1004f000, erreula.pack of 0005001b-10051000), falling back to the built-in applets when the pack is absent. ref: src/Cafe/OS/RPL/rpl.cpp:1929-1939, src/Cafe/OS/RPL/rpl.cpp:1971-1991, src/Cafe/OS/RPL/rpl.cpp:2142-2154, src/config/ActiveSettings.cpp:57-60, src/Cafe/OS/libs/snd_user/snd_user.cpp:1220-1227

Data directories. A title's game profile is read from gameProfiles/<title id>.ini under the config path, then from gameProfiles/default/<title id>.ini under the data path. Upstream ships 236 of them in bin/gameProfiles/default and the libretro data path is <system_dir>/Cemu. Standalone loads as a graphic pack every directory holding a rules.txt under graphicPacks/ of the user data path, and its downloader extracts the cemu_graphic_packs release into graphicPacks/downloadedGraphicPacks/. The libretro core carries its own copy of that set, zipped into the binary at build time from the dependencies/cemu_graphic_packs submodule. On each content load it compares the first line of graphicPacks/version.txt with the set it carries and, when they differ, deletes everything under <system_dir>/Cemu/graphicPacks and unpacks its set there. A user's own packs go in <system_dir>/Cemu/customGraphicPacks, where a folder replaces the bundled pack at the same relative path. The core enables the packs flagged default and those switched on through its core options. Miiverse posts for The Wind Waker HD are served from resources/miiverse/OfflineDB.zar under the user data path when the Nintendo network service is selected. ref: src/Cafe/GameProfile/GameProfile.cpp:181-195, src/Cafe/GraphicPack/GraphicPack2.cpp:96-111, src/gui/wxgui/DownloadGraphicPacksWindow.cpp:133, src/gui/wxgui/DownloadGraphicPacksWindow.cpp:234-238, src/libretro/embed_graphic_packs.cmake:8-54, src/libretro/LibretroGraphicPacks.cpp:30-103, src/libretro/CemuLibretro.cpp:6355, src/libretro/CemuLibretro.cpp:3541-3582, src/libretro/CemuLibretro.cpp:3895-3905, src/Cafe/OS/libs/nn_olv/nn_olv_OfflineDB.cpp:21-31, src/Cafe/OS/libs/nn_olv/nn_olv_OfflineDB.cpp:124-125, src/Cafe/OS/libs/nn_olv/nn_olv_InitializeTypes.cpp:242-248

Generated, not collected: settings.xml (standalone only), network_services.xml (custom service URLs, read when present), controllerProfiles/, title_list_cache.xml (standalone only, the core keeps no cache), the shader caches, log.txt, sdcard/, dump/, and the language.txt and country.txt that the wx frontend and the libretro core both write into title 0005001b-1005c000 of the MLC when absent. The core also creates titles/ under <system_dir>/Cemu and scans it for updates and DLC, which like title.tmd, title.tik and bootSound.btsnd belong to each title's own dump. The core writes account_name.txt under <system_dir>/Cemu with a "<persistent id> = <name>" line per account and names the accounts from it when a title starts. ref: src/main.cpp:117-141, src/config/NetworkSettings.cpp:10-14, src/gui/wxgui/CemuApp.cpp:580-606, src/libretro/CemuLibretro.cpp:2072-2108, src/libretro/CemuLibretro.cpp:4108-4114, src/libretro/CemuLibretro.cpp:4906-4918, src/Cafe/HW/Latte/Core/LatteShaderCache.cpp:232

72 files: 1 required, 71 optional. 17 have an HLE fallback.

In this collection: 71 in repo, 0 missing and 1 unsourceable.

FileStatus

keys.txt

Disc title keys, one AES-128 key per line

  • Path: Cemu/keys.txt
  • Standalone path: keys.txt, in the data folder
  • Tried in file order against the encrypted partition header of a .wud or .wux image, with a 16-byte <image>.key beside the image as the last resort. Created with a template when absent. The libretro core refuses to load an encrypted image whose key is not in it.
Source
in repo
71 rows
FileStatusHash

otp.bin

Wii U OTP dump

  • Path: Cemu/otp.bin
  • Standalone path: otp.bin, in the data folder
  • Read into the OTP mirror at init. Any other size is rejected and online mode stays off. Its keys decrypt the client certificate keys and sign the device certificate.
Validation and source
in repo-

seeprom.bin

Wii U SEEPROM dump

  • Path: Cemu/seeprom.bin
  • Standalone path: seeprom.bin, in the data folder
  • Read into the SEEPROM mirror at init. Any other size is rejected and online mode stays off.
Validation and source
in repo-

CafeCn.ttf

Shared font, Simplified Chinese, console dump

  • Path: Cemu/mlc01/sys/title/0005001b/10042400/content/CafeCn.ttf
  • Standalone path: mlc01/sys/title/0005001b/10042400/content/CafeCn.ttf, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
  • The four fonts are loaded as a set: one missing in both locations drops the whole set to shareddata.bin, then to the placeholder font compiled into the binary.
Source
in repo HLE fallback-

CafeKr.ttf

Shared font, Korean, console dump

  • Path: Cemu/mlc01/sys/title/0005001b/10042400/content/CafeKr.ttf
  • Standalone path: mlc01/sys/title/0005001b/10042400/content/CafeKr.ttf, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
Source
in repo HLE fallback-

CafeStd.ttf

Shared font, standard Latin and Japanese, console dump

  • Path: Cemu/mlc01/sys/title/0005001b/10042400/content/CafeStd.ttf
  • Standalone path: mlc01/sys/title/0005001b/10042400/content/CafeStd.ttf, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
Source
in repo HLE fallback-

CafeTw.ttf

Shared font, Traditional Chinese, console dump

  • Path: Cemu/mlc01/sys/title/0005001b/10042400/content/CafeTw.ttf
  • Standalone path: mlc01/sys/title/0005001b/10042400/content/CafeTw.ttf, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
Source
in repo HLE fallback-

CafeCn.ttf

Shared font replacement, Noto Sans SC Medium

  • Path: Cemu/resources/sharedFonts/CafeCn.ttf
  • Standalone path: resources/sharedFonts/CafeCn.ttf
  • Read only when the MLC copy is absent. The libretro core ships without it and looks under <system_dir>/Cemu/resources/sharedFonts/.
Hashes and source
in repo HLE fallback libretroSHA1 2d95227b9b3e

CafeCn.ttf

Shared font replacement, Noto Sans SC Medium

  • Path: Cemu/resources/sharedFonts/CafeCn.ttf
  • Standalone path: resources/sharedFonts/CafeCn.ttf
  • Shipped in resources/sharedFonts/ of the 2.6 Windows and Linux zips, read only when the MLC copy is absent.
Hashes, packages and source
in repo HLE fallback standalone installed with the standalone emulatorSHA1 2d95227b9b3e

CafeKr.ttf

Shared font replacement, Noto Sans KR Medium

  • Path: Cemu/resources/sharedFonts/CafeKr.ttf
  • Standalone path: resources/sharedFonts/CafeKr.ttf
  • Read only when the MLC copy is absent. The libretro core ships without it and looks under <system_dir>/Cemu/resources/sharedFonts/.
Hashes and source
in repo HLE fallback libretroSHA1 f0ef38fcc613

CafeKr.ttf

Shared font replacement, Noto Sans KR Medium

  • Path: Cemu/resources/sharedFonts/CafeKr.ttf
  • Standalone path: resources/sharedFonts/CafeKr.ttf
  • Shipped in resources/sharedFonts/ of the 2.6 Windows and Linux zips, read only when the MLC copy is absent.
Hashes, packages and source
in repo HLE fallback standalone installed with the standalone emulatorSHA1 f0ef38fcc613

CafeStd.ttf

Shared font replacement, Noto Sans JP Medium

  • Path: Cemu/resources/sharedFonts/CafeStd.ttf
  • Standalone path: resources/sharedFonts/CafeStd.ttf
  • Read only when the MLC copy is absent. The libretro core ships without it and looks under <system_dir>/Cemu/resources/sharedFonts/.
Hashes and source
in repo HLE fallback libretroSHA1 da0d4bcc3b13

CafeStd.ttf

Shared font replacement, Noto Sans JP Medium

  • Path: Cemu/resources/sharedFonts/CafeStd.ttf
  • Standalone path: resources/sharedFonts/CafeStd.ttf
  • Shipped in resources/sharedFonts/ of the 2.6 Windows and Linux zips, read only when the MLC copy is absent.
Hashes, packages and source
in repo HLE fallback standalone installed with the standalone emulatorSHA1 da0d4bcc3b13

CafeTw.ttf

Shared font replacement, Noto Sans TC Medium

  • Path: Cemu/resources/sharedFonts/CafeTw.ttf
  • Standalone path: resources/sharedFonts/CafeTw.ttf
  • Read only when the MLC copy is absent. The libretro core ships without it and looks under <system_dir>/Cemu/resources/sharedFonts/.
Hashes and source
in repo HLE fallback libretroSHA1 8ec796192ebc

CafeTw.ttf

Shared font replacement, Noto Sans TC Medium

  • Path: Cemu/resources/sharedFonts/CafeTw.ttf
  • Standalone path: resources/sharedFonts/CafeTw.ttf
  • Shipped in resources/sharedFonts/ of the 2.6 Windows and Linux zips, read only when the MLC copy is absent.
Hashes, packages and source
in repo HLE fallback standalone installed with the standalone emulatorSHA1 8ec796192ebc

shareddata.bin

Dump of the shared data region of a console

  • Path: Cemu/shareddata.bin
  • Standalone path: shareddata.bin, in the data folder
  • Read only when the four shared fonts are not all present: 32 MiB copied from the user data path to 0xF8000000, table of font entries included. Nothing about it is validated. The region holds the SharedDataEntry table (0xFFCAFE01 to 0xFFCAFE04, type 2) followed by CafeCn.ttf, CafeKr.ttf, CafeStd.ttf and CafeTw.ttf, byte-identical to the console dumps of title 0005001b-10042400 above, and every other byte is zero.
Source
in repo HLE fallback-

snd_user.rpl

Cafe OS sound library

  • Path: Cemu/cafeLibs/snd_user.rpl
  • Standalone path: cafeLibs/snd_user.rpl, in the data folder
  • Loaded from cafeLibs/ in place of the built-in module whenever a title depends on snd_user, unless the game profile turns shared libraries off. Named by the code as the module to dump when a title uses an audio effect the built-in one does not implement.
Source
in repo HLE fallback-

snduser2.rpl

Cafe OS sound library, second generation

  • Path: Cemu/cafeLibs/snduser2.rpl
  • Standalone path: cafeLibs/snduser2.rpl, in the data folder
  • Same mechanism as snd_user.rpl, for titles that depend on snduser2.
Source
in repo HLE fallback-

swkbd.rpl

Cafe OS software keyboard applet library

  • Path: Cemu/cafeLibs/swkbd.rpl
  • Standalone path: cafeLibs/swkbd.rpl, in the data folder
  • Loaded from cafeLibs/ only when swkbd.pack is present in the MLC. Otherwise the built-in keyboard is used and the file is ignored.
Source
in repo HLE fallback-

erreula.rpl

Cafe OS error viewer applet library

  • Path: Cemu/cafeLibs/erreula.rpl
  • Standalone path: cafeLibs/erreula.rpl, in the data folder
  • Loaded from cafeLibs/ only when erreula.pack is present in the MLC. Otherwise the built-in error viewer is used and the file is ignored.
Source
in repo HLE fallback-

swkbd.pack

Software keyboard applet data, title 0005001b-1004f000

  • Path: Cemu/mlc01/sys/title/0005001b/1004f000/content/00/swkbd/swkbd.pack
  • Standalone path: mlc01/sys/title/0005001b/1004f000/content/00/swkbd/swkbd.pack, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
  • Its presence in the MLC is what lets a swkbd.rpl from cafeLibs/ be used, and the applet then reads it through the Cafe filesystem.
Source
in repo-

erreula.pack

Error viewer applet data, title 0005001b-10051000

  • Path: Cemu/mlc01/sys/title/0005001b/10051000/content/00/erreula/erreula.pack
  • Standalone path: mlc01/sys/title/0005001b/10051000/content/00/erreula/erreula.pack, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
  • Its presence in the MLC is what lets an erreula.rpl from cafeLibs/ be used, and the applet then reads it through the Cafe filesystem.
Source
in repo-

OfflineDB.zar

Archived Miiverse posts for The Wind Waker HD

  • Path: Cemu/resources/miiverse/OfflineDB.zar
  • Standalone path: resources/miiverse/OfflineDB.zar, in the data folder
  • ZArchive opened lazily from the user data path when a title running with the Nintendo network service asks for posts. The reader serves PostList_WindWakerHD.xml, memo/<post id> and image/<post id>.jpg for the three Wind Waker HD title ids and nothing for any other title. Without it the post list is empty.
  • Not collectable: archive of Wind Waker HD Miiverse posts in a layout only this reader describes, never published with any Cemu release (acknowledged gaps)
Source
unsourceable-

WIIU_COMMON_1_CERT.der

Client certificate, common

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_COMMON_1_CERT.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_COMMON_1_CERT.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
Source
in repo-

WIIU_COMMON_1_RSA_KEY.aes

Client key, common, AES-CBC encrypted

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_COMMON_1_RSA_KEY.aes
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_COMMON_1_RSA_KEY.aes, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
  • Must be a non-empty multiple of 16 bytes.
Source
in repo-

WIIU_ACCOUNT_1_CERT.der

Client certificate, account

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_ACCOUNT_1_CERT.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_ACCOUNT_1_CERT.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
Source
in repo-

WIIU_ACCOUNT_1_RSA_KEY.aes

Client key, account, AES-CBC encrypted

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_ACCOUNT_1_RSA_KEY.aes
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_ACCOUNT_1_RSA_KEY.aes, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
  • Must be a non-empty multiple of 16 bytes.
Source
in repo-

WIIU_OLIVE_1_CERT.der

Client certificate, olive (Miiverse)

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_OLIVE_1_CERT.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_OLIVE_1_CERT.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
  • Registered twice, under ids 4 and 7.
Source
in repo-

WIIU_OLIVE_1_RSA_KEY.aes

Client key, olive, AES-CBC encrypted

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_OLIVE_1_RSA_KEY.aes
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_OLIVE_1_RSA_KEY.aes, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
  • Must be a non-empty multiple of 16 bytes.
Source
in repo-

WIIU_VINO_1_CERT.der

Client certificate, vino (Nintendo TVii)

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_VINO_1_CERT.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_VINO_1_CERT.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
Source
in repo-

WIIU_VINO_1_RSA_KEY.aes

Client key, vino, AES-CBC encrypted

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_VINO_1_RSA_KEY.aes
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_VINO_1_RSA_KEY.aes, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
  • Must be a non-empty multiple of 16 bytes.
Source
in repo-

WIIU_WOOD_1_CERT.der

Client certificate, wood (eShop)

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_WOOD_1_CERT.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_WOOD_1_CERT.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
  • Registered twice, under ids 6 and 8.
Source
in repo-

WIIU_WOOD_1_RSA_KEY.aes

Client key, wood, AES-CBC encrypted

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_WOOD_1_RSA_KEY.aes
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_WOOD_1_RSA_KEY.aes, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
  • Must be a non-empty multiple of 16 bytes.
Source
in repo-

CACERT_NINTENDO_CA.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CA.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CA.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
Source
in repo-

CACERT_NINTENDO_CA_G2.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CA_G2.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CA_G2.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

CACERT_NINTENDO_CA_G3.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CA_G3.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CA_G3.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

CACERT_NINTENDO_CLASS2_CA.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CLASS2_CA.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CLASS2_CA.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

CACERT_NINTENDO_CLASS2_CA_G2.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CLASS2_CA_G2.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CLASS2_CA_G2.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

CACERT_NINTENDO_CLASS2_CA_G3.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CLASS2_CA_G3.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CLASS2_CA_G3.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

BALTIMORE_CYBERTRUST_ROOT_CA.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/BALTIMORE_CYBERTRUST_ROOT_CA.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/BALTIMORE_CYBERTRUST_ROOT_CA.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

CYBERTRUST_GLOBAL_ROOT_CA.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CYBERTRUST_GLOBAL_ROOT_CA.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/CYBERTRUST_GLOBAL_ROOT_CA.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

VERIZON_GLOBAL_ROOT_CA.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERIZON_GLOBAL_ROOT_CA.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/VERIZON_GLOBAL_ROOT_CA.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

GLOBALSIGN_ROOT_CA.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GLOBALSIGN_ROOT_CA.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/GLOBALSIGN_ROOT_CA.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

GLOBALSIGN_ROOT_CA_R2.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GLOBALSIGN_ROOT_CA_R2.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/GLOBALSIGN_ROOT_CA_R2.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

GLOBALSIGN_ROOT_CA_R3.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GLOBALSIGN_ROOT_CA_R3.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/GLOBALSIGN_ROOT_CA_R3.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G3.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G3.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G3.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

VERISIGN_UNIVERSAL_ROOT_CA.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_UNIVERSAL_ROOT_CA.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_UNIVERSAL_ROOT_CA.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G5.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G5.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G5.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

THAWTE_PRIMARY_ROOT_CA_G3.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/THAWTE_PRIMARY_ROOT_CA_G3.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/THAWTE_PRIMARY_ROOT_CA_G3.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

THAWTE_PRIMARY_ROOT_CA.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/THAWTE_PRIMARY_ROOT_CA.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/THAWTE_PRIMARY_ROOT_CA.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

GEOTRUST_GLOBAL_CA.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_GLOBAL_CA.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_GLOBAL_CA.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

GEOTRUST_GLOBAL_CA2.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_GLOBAL_CA2.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_GLOBAL_CA2.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

GEOTRUST_PRIMARY_CA.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_PRIMARY_CA.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_PRIMARY_CA.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

GEOTRUST_PRIMARY_CA_G3.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_PRIMARY_CA_G3.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_PRIMARY_CA_G3.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

ADDTRUST_EXT_CA_ROOT.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/ADDTRUST_EXT_CA_ROOT.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/ADDTRUST_EXT_CA_ROOT.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

COMODO_CA.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/COMODO_CA.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/COMODO_CA.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
Source
in repo-

UTN_DATACORP_SGC_CA.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/UTN_DATACORP_SGC_CA.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/UTN_DATACORP_SGC_CA.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

UTN_USERFIRST_HARDWARE_CA.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/UTN_USERFIRST_HARDWARE_CA.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/UTN_USERFIRST_HARDWARE_CA.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

DIGICERT_HIGH_ASSURANCE_EV_ROOT_CA.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_HIGH_ASSURANCE_EV_ROOT_CA.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_HIGH_ASSURANCE_EV_ROOT_CA.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

DIGICERT_ASSURED_ID_ROOT_CA.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_ASSURED_ID_ROOT_CA.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_ASSURED_ID_ROOT_CA.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

DIGICERT_GLOBAL_ROOT_CA.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_GLOBAL_ROOT_CA.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_GLOBAL_ROOT_CA.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

GTE_CYBERTRUST_GLOBAL_ROOT.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GTE_CYBERTRUST_GLOBAL_ROOT.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/GTE_CYBERTRUST_GLOBAL_ROOT.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

VERISIGN_CLASS3_PUBLIC_PRIMARY_CA.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

THAWTE_PREMIUM_SERVER_CA.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/THAWTE_PREMIUM_SERVER_CA.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/THAWTE_PREMIUM_SERVER_CA.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

EQUIFAX_SECURE_CA.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/EQUIFAX_SECURE_CA.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/EQUIFAX_SECURE_CA.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
Source
in repo-

ENTRUST_SECURE_SERVER_CA.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_SECURE_SERVER_CA.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_SECURE_SERVER_CA.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G2.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G2.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G2.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

ENTRUST_CA_2048.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_CA_2048.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_CA_2048.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
Source
in repo-

ENTRUST_ROOT_CA.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_ROOT_CA.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_ROOT_CA.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
Source
in repo-

ENTRUST_ROOT_CA_G2.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_ROOT_CA_G2.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_ROOT_CA_G2.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

DIGICERT_ASSURED_ID_ROOT_CA_G2.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_ASSURED_ID_ROOT_CA_G2.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_ASSURED_ID_ROOT_CA_G2.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-

DIGICERT_GLOBAL_ROOT_CA_G2.der

  • Path: Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_GLOBAL_ROOT_CA_G2.der
  • Standalone path: mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_GLOBAL_ROOT_CA_G2.der, in the data folder
  • Read from: the save directory, not the BIOS directory (libretro build), the emulator's data directory, not the BIOS directory (standalone build)
in repo-
Firmware titles
  • id: 0005001b-10042400, name: Shared fonts, required: no, note: Read from the MLC before the resources/sharedFonts/ copy of the data path., source ref: src/Cafe/CafeSystem.cpp:286-296 (emulator code, libretro port)

    • content:

      • CafeCn.ttf
      • CafeKr.ttf
      • CafeStd.ttf
      • CafeTw.ttf
  • id: 0005001b-10054000, name: SSL certificates, required: no, note: Every file of the certificate table must be present for online mode, with a valid otp.bin and seeprom.bin., source ref: src/Cafe/IOSU/legacy/iosu_crypto.cpp:463-521 (emulator code, libretro port), src/Cafe/IOSU/legacy/iosu_crypto.cpp:535 (emulator code, libretro port)

    • content:

      • ccerts/
      • scerts/
  • id: 0005001b-1004f000, name: Software keyboard applet, required: no, note: Presence of the pack lets a dumped swkbd.rpl in cafeLibs/ replace the built-in keyboard., source ref: src/Cafe/OS/RPL/rpl.cpp:1929-1933 (emulator code, libretro port)

    • content:

      • content/00/swkbd/swkbd.pack
  • id: 0005001b-10051000, name: Error viewer applet, required: no, note: Presence of the pack lets a dumped erreula.rpl in cafeLibs/ replace the built-in error viewer., source ref: src/Cafe/OS/RPL/rpl.cpp:1935-1939 (emulator code, libretro port)

    • content:

      • content/00/erreula/erreula.pack
  • id: 0005001b-1005c000, name: Language and country lists, required: no, note: Written when absent, by the wx frontend on first run and by the libretro core at init., source ref: src/gui/wxgui/CemuApp.cpp:580-606 (upstream emulator), src/libretro/CemuLibretro.cpp:2072-2108 (libretro glue)

    • content:

      • language.txt
      • country.txt
MLC structure
  • mlc01/sys/title/0005001b/10042400/content/
  • mlc01/sys/title/0005001b/10054000/content/ccerts/
  • mlc01/sys/title/0005001b/10054000/content/scerts/
  • mlc01/sys/title/0005001b/1004f000/content/00/swkbd/
  • mlc01/sys/title/0005001b/10051000/content/00/erreula/
  • mlc01/sys/title/0005001b/1005c000/content/
  • mlc01/usr/title/00050000/
  • mlc01/usr/title/0005000c/
  • mlc01/usr/title/0005000e/
  • mlc01/usr/save/
  • mlc01/usr/boss/
.