Disc Channel

From WiiBrew
Jump to navigation Jump to search
Disc Channel
Disc channel.jpg
Title IDNone
TypeGeneral channel
PeripheralsWiimote1.svg SensorBar.svg ClassicController.svg
Blocks (channel/save)None / Depends on game

The Disc Channel is the channel used to launch Wii or GameCube games inserted into the disc drive of the Wii. As far as current Wii history is known, the first known version that had the Disc Channel was System Menu 1.0, though it most likely was also in the Prelaunch System Menu.

Behavior

When a Wii game is inserted into the system, the channel displays a special preview graphic (usually animated) based on the game. There are specific graphics for each Wii game; however, GameCube games only display the GameCube logo when inserted, as GameCube discs do not have these specific graphics encoded within.

The Disc Channel is the only channel that cannot be moved normally. In order to move the channel, certain programs must be used to enable the ability. Priiloader, StartPatch and GeckoOS all work to this end.

Upon opening the Disc Channel, if no disc has been inserted, an animation of a Wii disc is displayed, alongside a GameCube disc if the Wii model has GameCube support. The disc(s) begin spinning as the channel begins searching for a disc in the system. If no disc is found, they stop spinning, and a tone is heard, signaling to the user that there is no disc present. However, if a disc is present, or inserted later, the disc(s) spin, and once the disc loading is complete, one of two things will occur: an error message stating that the disc is invalid will appear (due to damage, incompatibility, etc.), or an animation of the respective disc on the screen sliding into a slot is played, and the screen transitions to the preview graphic of the respective Wii game (or the GameCube logo for GameCube games).

If the disc is removed while it is running, the game will usually abruptly pause and display a screen which prompts the user to reinsert the disc and restart the system. Putting in a different game's disc at this point does not switch the game, and simply keeps the error message displayed. (Some games have optional, standalone channels which can function without the game disc being present; for example, the Wii Fit Channel and the Mario Kart Channel).

Wii System Update

Some discs have system update packages bundled with them, allowing system updates to occur without an internet connection, even if the System Menu or a required IOS is outdated. When a system update is needed, the game's graphic is replaced by a banner that says "Wii System Update," and simply viewing the banner in full screen triggers an update prompt.

If a cIOS is installed, the Wii may assume that some discs require a newer System Menu, since it does not detect the IOS it is expecting. This can be fixed with Priiloader by blocking disc updates.

Homebrew Significance

Before Twilight Hack was discovered, loading homebrew required hardware modification to load a fakesigned DVD instead of a game disc. This DVD would be shown on the Disc Channel like a normal game.

Technical behavior

Unlike most channels, the Disc Channel is simply a channel hardcoded into the System Menu, and therefore the banner behavior is integrated into it. The System Menu checks what disc types are supported, and chooses them to be displayed on the banner.

Once a disc is inserted and the type is detected, the System Menu checks the disc for its signature and verifies it, showing a “disc could not be loaded” if the signature is invalid, and it checks the disc for updates. Then, it shows the appropriate banner, whether that is Wii System Update, GameCube, or a dedicated banner. If a system update is required, a pop up will be displayed, something that channel banners cannot normally do.

When “Start” is finally pressed, if the disc is a Wii disc or DVD enabled by a drivechip, then the main partition is read. /dev/di sends the ES_DiVerify call in the process, switching the active title to the disc. The System Menu then jumps to the apploader, directly loading the disc. IOS is manually reloaded by the System Menu, and ES_DiVerify gets called again, this time in a state that launches the disc.

For a GameCube disc, the System Menu instead sends an ES_LaunchBC call to /dev/es, which launches BC. BC then loads boot2 with a flag in memory that makes boot2 load MIOS, which enables GameCube hardware and loads the GameCube IPL to read the disc.

See System Menu/BS2 for details on the state machine responsible for this process.

A total of 3 discs can be found on the banner: the sample Wii disc, the sample GameCube disc, and a DVD icon that is hidden. Each of these says "for Japan only" on it.

DVD

The DVD has ID 211J in the technical area. This may have been a test DVD burned like a Wii disc, since DVDs generally do not have title IDs on them.

Wii disc

The Wii disc ID is unclear, but it may be 123J, 126J, or IPSJ. 123J is present in every RVL-CPU-01 console's /sys/uid.sys, so if this is 123J, then that is used to test the drive. While the real 123J has not been seen, it is possible that the real 123J is a disc with a similar image used to test the drive; the TMD indicates that this disc is not signature checked, and it does not touch the filesystem.

GameCube disc

The GameCube disc seems to have ID 000J, and looks significantly different from the Wii disc and the DVD, instead having its "for Japan only" in the center of the disc. This disc likely existed during the GameCube era, since the product ID starts with DOL instead of RVL. It may have also been inserted at the factory for the Wii to test GameCube disc reading, but there is no record of it.