In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "WiiMode"

From WiiUBrew
Jump to navigation Jump to search
 
(33 intermediate revisions by 19 users not shown)
Line 1: Line 1:
=== Updates ===
+
'''WiiMode''' refers to the state on the Wii U when Wii backwards compatibility is in use. It is launched by [[cafe2wii]], and can only be exited through a reboot, which is what the [https://wiibrew.org/wiki/Wii_U_Menu Wii U Menu] channel does.
If an update is available for the Wii U, the WiiMode will be disabled until the update is done.
 
  
=== Homebrew Channel ===
+
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 [[Hardware/Espresso|Espresso]] code execution without Broadway compatibility mode enabled. None of these exploits allow a full Wii U mode takeover.
  
As of the 7th December 2012, HBC can be installed within WiiMode on the WiiU using the latest version of the HackMii Installer: http://hackmii.com/2012/12/hbc-release-for-a-new-wii-u/
+
== Espresso compatibility ==
 +
Because the [[Espresso boot ROM]] only boots [[Ancast image|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.
 +
 
 +
== Updates ==
 +
If an update is available for the Wii U, the Wii Mode will be disabled until the update is done, while IOSU255 runs.
 +
 
 +
== Config reflection ==
 +
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.<br>
 +
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"<br>
 +
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 [https://wiibrew.org/wiki//shared2/sys/SYSCONF SYSCONF].
 +
 
 +
After returning back to CafeOS, [https://wiiubrew.org/wiki//dev/usr_cfg#Wii2Cafe Wii2Cafe] parses changes made in WiiMode.
 +
 
 +
== Boot arguments ==
 +
The following boot arguments are written by the MCP to "/shared2/sys/compat/args.bin".<br>
 +
They are read and parsed by the Wii System Menu. [[COMPAT-BS]] reads the file and verifies the magic, but ignores all arguments.
  
=== Exploits ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Exploit Name
+
! Start
! Game Required
+
! Length
! USA
+
! Description
! JPN
 
! EUR
 
! KOR
 
! Working in WiiMode?
 
|-
 
| Twilight Hack
 
| Legend of Zelda: Twilight Princess
 
| Yes
 
| Yes
 
| Yes
 
| '''No'''
 
| '''No'''
 
|-
 
| Bannerbomb
 
| ''None''
 
| Yes
 
| Yes
 
| Yes
 
| Yes
 
| '''No'''
 
|-
 
| Indiana Pwns
 
| LEGO Indiana Jones
 
| Yes
 
| Yes
 
| Yes
 
| '''No'''
 
| Yes{{ref label|Note1|1}}
 
|-
 
| [[Smash Stack]]
 
| Super Smash Bros. Brawl
 
| Yes
 
| Yes
 
| Yes
 
| Yes
 
| Yes
 
|-
 
| Yu-Gi-OWNED!
 
Yu-Gi-Vah
 
| Yu-Gi-Oh 5D's Wheelie Breakers
 
| Yes
 
| Yes
 
| Yes
 
| '''No'''
 
| No
 
 
|-
 
|-
| [[Bathaxx]]
+
| 0x00
| LEGO Batman
+
| 4
| Yes
+
| Magic value: "WiiU"
| Yes
 
| Yes
 
| '''No'''
 
| Yes
 
 
|-
 
|-
| Return of the Jodi
+
| 0x04
| Lego Star Wars
+
| 4
| Yes
+
| Launch target<br>0x00: System Menu<br>0x01: System setup<br>0x02: Data management<br>0x10: Specified Title ID
| Yes
 
| Yes
 
| '''No'''
 
| Yes
 
 
|-
 
|-
| Eri HaKawai
+
| 0x08
| Tales of Symphonia
+
| 8
| Yes
+
| Title ID
| Yes
 
| Yes
 
| '''No'''
 
| No
 
 
|-
 
|-
| LetterBomb
+
| 0x10
| ''None''
+
| 0x70
| Yes
+
| Reserved
| Yes
 
| Yes
 
| Yes
 
| '''No'''
 
 
|}
 
|}
  
{{note label|Note1|1}}Tested by a GBATemp User Ratmonkey - http://gbatemp.net/threads/wii-u-hacking-tests-report.337790/#post-4458364<br />
+
== See also ==
 +
* [https://wiibrew.org/wiki/vWii vWii on WiiBrew]
 +
* [[Recover  a vWii IOS/Channel]]

Latest revision as of 20:41, 23 May 2024

WiiMode refers to the state on the Wii U when Wii backwards compatibility is in use. It is launched by cafe2wii, and can only be exited through a reboot, which is what the Wii U Menu channel does.

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.

Espresso compatibility

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.

Updates

If an update is available for the Wii U, the Wii Mode will be disabled until the update is done, while IOSU255 runs.

Config reflection

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.

Boot arguments

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.

Start Length Description
0x00 4 Magic value: "WiiU"
0x04 4 Launch target
0x00: System Menu
0x01: System setup
0x02: Data management
0x10: Specified Title ID
0x08 8 Title ID
0x10 0x70 Reserved

See also