WiiMode is not emulated; it instead runs in a hardware-enforced sandbox. This results in certain Wii U mode features being available through exploits, such as Espresso code execution without Broadway compatibility mode enabled. None of these exploits allow a full Wii U mode takeover.
Because the Espresso boot ROM only boots ancast images, Broadway titles will not boot in their ordinary form. Instead, they must boot through a special apploader in ancast format, which then loads the title itself.
If an update is available for the Wii U, the Wii Mode will be disabled until the update is done, while IOSU255 runs.
To avoid having to configure settings in both Wii U and Wii mode separately, wii settings have been disabled and several settings from CafeOS are applied in WiiMode.
When launching CMPT mode the MCP writes a 0x4E8 byte structure to "/shared2/sys/compat/conf.bin" and sets the "wii_acct.internal.reflection" flag. This structure contains settings for Audio/Video, paired Wii Motes, parental controls, and general settings. The network configuration is directly written to "/shared2/sys/net/02/config.dat"
Once booted into WiiMode this structure will be parsed by the Wii System Menu or the COMPAT-BS and the settings will be applied to the SYSCONF.
After returning back to CafeOS, Wii2Cafe parses changes made in WiiMode.
The following boot arguments are written by the MCP to "/shared2/sys/compat/args.bin".
They are read and parsed by the Wii System Menu. COMPAT-BS reads the file and verifies the magic, but ignores all arguments.
|0x00||4||Magic value: "WiiU"|
0x00: System Menu
0x01: System setup
0x02: Data management
0x10: Specified Title ID