System Menu

From WiiBrew
Jump to navigation Jump to search
See also: System Menu/BS2

The System Menu, more commonly known as the Wii Menu, is software shipped pre-installed into every Wii as title 1-2, which allows the launching of games from an officially Nintendo certified game disc, as well as the launching of other titles marked as channels. While the System Menu detects channels and discs and displays banners, IOS is responsible for the actual launching of the channel through ES_LaunchTitle.

Contrary to what may seem true, the System Menu is not an operating system; it only runs when a game is not in use. All graphical elements when a game is open, such as the HOME Menu, are part of the game disc. However, the System Menu does have higher privileges than most titles, allowing it to do things such as updating and deleting titles.

On the vWii, the System Menu is an Ancast Image, meaning it has a format bootable by the Espresso, being encrypted and signed. For this reason, it cannot be modified on the vWii without knowing the ancast RSA key.

SD Card Menu

With the 4.0 update, SD launching was added. Unfortunately, due to the limitations of how titles are loaded by IOS, titles cannot be directly launched from the SD card. All titles have access to the SD slot, and only one processor can access the slot at a time, complicating this. Nintendo solved this by simply copying all channels to the NAND at runtime, which is why unsigned channels cannot be run this way.

Technical behavior

The System Menu plays a major role in the startup, shutdown, and transitions between system states; upon starting up, the System Menu's main() reads the following files:

Based on the things read by main() (as well as certain flags set in memory?), the menu can take the following actions:

  • Hang (System menu brick!)
  • Boot a disc title directly from cache.dat
  • Shutdown system from GC mode
  • Eject a disc, then shut down (if Eject was pressed)
  • "Shutdown to idle" (Enable WC24, halt PPC)
  • "Launch NAND app from WC24"
  • Enter "recovery mode" (aka IRD mode)
  • Display the Health / "Warning" screen, and proceed on with normal boot

On an un-modded system, it is the first thing a Wii user will see when they turn on their Wii having pressed 'A' at the Health and Safety screen.

The disc-handling actions of the System Menu are governed by a complex state machine known as BS2.

Version

The version number can be found by clicking on the "Wii" button in the System Menu, and then choosing "Wii Settings". The version number is displayed in the top right corner of the screen. This works for all versions except for 1.0, where the version number is not visible. An X denotes that no version is available for the applicable region.

The version identifier consists of two parts: revision (version) number and the geographic region.

For example, 4.3EUR v514, denoted as "0x202, 0x20(32)" (in data) is the actual version and 2 the region EUR.

Versions

Version JAP USA PAL KOR Release date IOS Changelog CDN Availability CDN Post Date
Prelaunch X 0 X X Never publicly released Unknown Prelaunch Development. Basically, nothing is known about Version 0 of the Prelaunch System Menu. Remnants of this menu were found in the 'Wii Startup Disc' NAND dumped by bushing. The Version 1 of Prelaunch Menu has a screen displaying "Please Insert the Wii Startup Disc..." but it's not known if Version 0 even has this message let alone the background images/colors of Version 1. Remnants of a IOS4v1 were also found in the NAND, so it is possible that's the IOS that runs Version 0. Unavailable Unavailable
Prelaunch X 1 X X Most likely around and before the time of 1.0 IOS4 v3 Prelaunch Development (Does not report a version number.) System Menu has text displaying "Please Insert the Wii Startup Disc. This will set up your Wii Console." Spanish and French versions of message also listed. Contains an image of the Wii Startup Disc with an arrow pointing at an image of a Wii. when the menu boots it checks for a disk labeled RAAE or a disk that starts with a number. If a disk labeled RAAE is inserted it will the install the contents of the disk and restart. If a disk that starts with a number is inserted it will boot the disk. Unavailable Unavailable
Development X 2 X X ? ? Found on an RVT-R Reader. Looks like 1.0, and works with the 1.0 Bluebomb stage0. Has not been dumped, but the version number is known because the HackMii Installer reported this as IOS2v2. Unavailable Unavailable
1.0 64 33 34 X November 19, 2006 IOS9 v516, IOS10 v518 "Launch-Day" menu shipped with early Wii systems, the option to change Country was added in the European version, WiiConnect24 was disabled on all versions of System Menu 1.0 and the Japanese version of this menu runs on IOS10 due to a bug in the implementation of the AOSS feature in IOS9. (This menu does not report a version number.) Unavailable Unavailable
2.0 128 97 130 X November 19, 2006 IOS11 v10 November 19th is the release date for American Wiis. Release date for Japanese Wiis is December 2, 2006. Release date for PAL (Australia) Wiis is December 7, 2006. Release date for PAL (Europe) Wiis is December 8, 2006. Added SD support for savegames, "Country Settings", downloadable System Updates, parental controls, ability to rearrange channels. 97, 128, 130 November 18, 2006; November 30, 2006; December 5, 2006
2.1 X X 162 X January 10, 2007 IOS11 v10 PAL video fix 162 Jaunary 9, 2007
2.2 192 193 194 X April 11, 2007 IOS20 v12 "Resolved connection issues that affected a small number of users who connected online through a specific Internet Service Provider and supplied router." 192, 193, 194 April 11, 2007
3.0 224 225 226 X August 6, 2007 IOS30 v1039 Channels can now display data gathered by WC24 (Weather, News). Clock display. The Wii Message Board button will now flash when a message arrives. You can now rearrange the order of your Wii Friends in the address book, scroll the message text by pressing the B button on the message screen. 224, 225, 226 August 6, 2007
3.1 256 257 258 X October 10, 2007 IOS30 v1040 USB Keyboard support. New version of Internet Channel and Everybody Votes Channel 256, 257, 258 October 9, 2007
3.2 288 289 290 X February 25, 2008 IOS30 v1040 "This update does not affect any prominently-used features or menus; however it does provide some behind the scenes updates that will improve system performance." 288, 289, 290 February 25, 2008
3.3 352 353 354 326 June 17, 2008 IOS30 v2576, IOS40 v2321 First System Menu for Korean Wiis. Korean Wii released on April 26, 2008 so those Wiis were the first to get the 3.3 Menu almost 2 months before the other Wiis. First attempt at blocking Twilight Hack. Shipped with fixed versions of IOS30, BC, MIOS. Nintendo releases the Taiwan Wii on July 2, 2008. Taiwan Wiis use the Japanese System Menu so the first System Menu for the Taiwan Wiis is 3.3J. 352, 353, 354 June 13, 2008
3.4 384 385 386 X November 17, 2008 IOS50 v4889 Second attempt at blocking Twilight Hack. New EULA (end user licence agreement). Supposedly has speed fixes for DVD and SD access. An enhancement was made to the Wii console's Parental Controls. USB keyboard support with the Mii Channel. 384, 385, 386 November 17, 2008
3.5 X X X 390 March 3, 2009 IOS52 v5661 First update to Korean Wii System Menu, Launches with new Shop and Region Select Channel 390 March 1, 2009
4.0 416 417 418 X March 25, 2009 IOS60 v6174 SDHC support added and possibility to launch channels on an SD card. Also, an update of the Wii Shop Channel to download onto an SD card. A "transfer" button has been added in the Wii console's Data Management menu. Update to block the Twilight Hack. 416, 417, 418 March 24, 2009
4.1 448 449 450 454 July 3, 2009; July 15, 2009, July 30, 2009 IOS60 v6174 Fixes a problem related to the Wii MotionPlus video and the SD Card Menu. 448, 449, 450, 454 July 2, 2009; July 15, 2009, July 30, 2009
4.2 480 481 482 486 September 28, 2009 IOS70 v6687 Intended solely to block hacking/piracy attempts. Among the changes were a fix for Bannerbomb v1, overwriting BootMii (as boot2) with boot2v4, blacklisting the title IDs "HAXX" and "DVDX", and several preventative IOSes (222, 223, 249, 250). Region-free hacks were blocked (now fixed), and Wiis converted from the Korean region were bricked with Error 003. 480, 481, 482, 486 September 28, 2009
4.3 512 513 514 518 June 21, 2010 IOS80 v6943, IOS80 v6944, IOS80 v7200 Another exploit-fixing update. Among the changes were a fix for Bannerbomb v2 (visible as Error 004), deleting BootMii (as an IOS), and removing HBC. Users of 4.3 simply just switched to using LetterBomb as an exploit. 4.3 was the last System Menu version, 2 years before the Wii U came out. 512, 513, 514, 518 June 21, 2010
4.3-Mini X 4609 4610 X December 7, 2012 IOS80 v32800 A modified version of 4.3 with internet and SD settings being removed, due to the Wii Mini not having hardware for either of them. Interestingly, IOS still has drivers for internet in this version, so simply overwriting the setting saying internet is disabled using Ethernet Enabler allows Ethernet to be used. Unavailable Unavailable
vWii 1.0.0 512 513 514 X November 18, 2012 IOS80 v7200 A version only present in the vWii. Deleted the old HBC title (00010001-af1bf516), removed access to Wii Settings, and added a few special channels. The System Menu binary is now also an ancast image. Unknown Unknown
vWii 4.0.0 544 545 546 X September 30, 2013 IOS80 v7200 Added compatibility for Off-TV play. 4:3-only titles are no longer stretched in 16:9 mode. Unknown Unknown
vWii 5.2.0 608 609 610 X September 29, 2014 IOS80 v7200 Adds support for the new cafe2wii, rebooting the system if it detects the enhanced WiiMode. This is responsible for the "Return to Wii Menu" button exiting to the Wii U System Menu. Unknown Unknown

Please feel free to add more changelog entries. Some information was taken from Nintendo.

Homebrew Alternatives

With the release of BootMii, the idea of booting straight to Homebrew may soon become a reality (BootMii does have an option to autoboot to the homebrew channel, but there is no way to autoboot to any other homebrew without Priiloader). In light of this, there are a couple of projects out there to create a homebrew-friendly System Menu alternative, such as WiiMU.