Wii Homebrew In Brief

Contents:

Guide Links
My recommended guides for installing homebrew.

Region-Free Methods
Explanation of the 3 main methods for playing games from other regions on Wii.

Comparison of GC Disc Loaders
Comparison of the features of 3 loaders of GC discs on Wii.

Basic Knowledge
Info for understanding homebrew that’ll allow you to stand on your own two feet with it.

Basic Installation
A standardised, best-practice procedure to use for fresh homebrew installations. If your Wii is already homebrewed and something needs fixing, it’s still worth trying to run this procedure from scratch.
Installed software: BootMii, Homebrew Channel, Priiloader, cIOS 248+249+250+251.

Swiss Installation
Swiss, the all-purpose GameCube homebrew app, doesn’t run natively on Wii, requiring a special installation. A reason you might want to use Swiss is that it’s the only loader capable of forcing resolutions in some GameCube games (e.g. 480p in PAL SMS).
Installed software: WiiGator cMIOS, Wii Swiss Booter, Swiss.

Region-Free Methods

Every Wii can run discs and digital games (VC/WiiWare/WADs) from any region natively and without compromise. There are 3 methods for doing this I’ll mention.

Priiloader. As part of the standardised basic installation, Priiloader is installed. It offers options to launch the disc or any installed channel, trying to configure the Wii to make video work correctly. It can be tricky when running NTSC games on PAL Wiis, and is a work in progress, but on v0.11 onwards (and this beta while we wait for that to be released), NTSC SM64 boots on a PAL Wii flawlessly in 480p. Priiloader also patches the system menu to load discs and channels from any region, but cannot make any video corrections so will not handle mixing PAL and NTSC well.

Gecko OS. This is an application that’s very simple to use and runs GC/Wii discs from any region without fuss. The downside is that it’s a specific program that must be started from the Homebrew Channel (or automatically using Priiloader). It can be used whenever Priiloader doesn’t work, but is still unable to force 480p for games that don’t support it (notably PAL GameCube or VC games). Any other loader could be used instead of Gecko OS; it’s just the most standard.

Anyregion Changer (Modmii Edition). This program, run from the Homebrew Channel, persistently changes the Wii’s video mode, allowing it to run games from its region with no fuss (disc and digital) when used in conjunction with Priiloader’s region-freeing. It is recommended to only change the video mode, since this should not break anything unless your screen is ancient and doesn’t support the new video mode. However, it’s long to install, risky to use if you don’t follow instructions, and has to be used whenever you want to play a game from a different region to the one you played last. It can be used as a last resort.

Comparison of GC Disc Loaders

Different loaders of GC games on the Wii have pros and cons; here’s a comparison of some disc loaders.

App Maintained Game Support Game Mode App Mode Cheats GCT Size Limit Resolution Forcing Stability C-Stick Inversion
Gecko OS No (since 2010) GC+Wii Native Wii Wii only 3416B None Superior No
Nintendont Barely GC Wii Wii Yes 5000B Inferior Superior No
Swiss Actively GC GC GC SD Gecko only 5456B Superior Inferior* Optional

Notes:

Basic Knowledge

Things that are useful to understand homebrew.

Exploit Methods
Per the basic installation guide, a Wii can be easily homebrewed by launching the HackMii installer via exploits that just require either an SD card/USB drive, an internet connection, or a Bluetooth-enabled Linux PC. The HackMii installer installs BootMii and the Homebrew Channel.

Homebrewing a GameCube is much harder; the simplest method requires a copy of one of TWW, SSBM or PAL SMS (on PAL GameCubes) plus a memory card pre-loaded with Swiss (which you can buy or make with someone’s homebrewed Wii).

Booting
To make sure you can’t brick your Wii (make it unusable), you can back up its storage (usually termed the NAND). After basic installation of homebrew (as above), the boot sequence looks like this (where each program starts the next):

boot1 is unmodifiable. Newer Wiis ship with one that has its security exploit patched, meaning it is impossible to edit boot2 without it failing boot1’s hash check. The HackMii installer will install BootMii to replace boot2 if it can, otherwise it’ll be installed as an IOS (see below). BootMii enables you to do full NAND backups and restores.

If BootMii is installed as boot2, starting the Wii with an SD card inserted with BootMii (still) on it will load it. If it’s installed as an IOS, vanilla boot2 will load the system menu. In either case, the system menu has been redirected to Priiloader – holding reset after powering on will boot into Priiloader.

In both cases, you can load into BootMii, allowing you to both restore NAND in case of emergency, and you can load into the Homebrew Channel (HBC, see below) without using the system menu (which’d require a Wii Remote). BootMii (as boot2) and Priiloader can be configured to auto-start HBC and anything, respectively. Unfortunately, restoring NAND is a risky last-resort if BootMii is installed as IOS, so you don’t have full brick-protection, but you’re good if you stick to the guides above and don’t do anything weird.

Homebrew Channel (HBC)
This is the main menu for Homebrew, and runs applications off both SD card and USB drive. These are easy to install – where ◯ is your drive, HBC checks the ◯:/apps folder for subfolders that contain specific files. The folders can be called anything you want; the files are boot.dol (the program), meta.xml (info for HBC to display), icon.png (an icon for HBC to display), as well as anything else the program needs. For example:

SD (E:)
└───apps
    └───Gecko1931
        ├───boot.elf
        ├───icon.png
        └───meta.xml

IOS
IOSes on the Wii are operating systems for a co-processor known as IOP, which is responsible for security and hardware access. They are versioned independently. Every program except boot programs runs on a single IOS. As the Wii progressed, every IOS was patched for security, but new functionality always resulted in a new IOS being installed by the system, to preserve backward-compatibility.

One thing to note is that the left USB port on a standing-up Wii only works on specific later IOSes; if your USB drive is not being detected by e.g. USBLoaderGX, switch it to the right port.

The key to IOSes is the slot system. The Wii has 253 slots that IOSes can be installed into (numbered 3–255). It’s confusing because the IOS itself is named after the slot it’s meant to be installed into. Ordinarily this is unambiguous, but homebrew often requires IOSes to be patched, particularly to weaken their security, and old methods of doing this would replace an IOS with a modded version of a different IOS, which is responsible for e.g. the OoT fast loads debacle. Modern homebrew doesn’t do this, preferring to install the patches as custom IOSes (cIOS) in unused slots, in the 2xx range. There is one key exception – there is only one IOS for GameCube games, the MIOS. This has to be patched for e.g. Swiss Installation, but the cMIOS in the Swiss guide should be safe unlike e.g. DIOS MIOS, which is known to leave Wiis unable to read GameCube games until it’s replaced.

Much homebrew runs on the standardised cIOS 249 or 250, part of the basic installation above, if it requires special USB features or is an older installer/settings utility. Some even older programs require cIOS 236. SysCheck can be used to report which IOSes are installed and Multi-Mod Manager can replace them with official ones from Nintendo’s still-active “NUS” server.