BC

From WiiBrew
Jump to navigation Jump to search

BC (short for Backwards Compatibility) is a bootloader similar to boot1. It is responsible for lowering the Broadway's clock speed, then verifying and loading boot2, which will load MIOS after it detects the lowered clock speed. It is run when a GameCube game is launched from the Disc Channel. It is unknown why Nintendo did not simply place all of the GameCube compatibility code in MIOS, although the similarity to boot1 may indicate that this was because GameCube mode would originally be launched by boot0, and there was not enough time to update MIOS when it was decided that GameCube mode would be launched from the System Menu.

Because of its similarity to boot1, BC has been used as a source of information about boot1 when boot1 itself is not available. For example, BC was used to find that the signing bug exists in boot1 (and therefore a custom boot2 can be installed), as well as the fact that boot1's signing bug was being fixed when BC was updated in 3.3.

BC can be launched by calling ES_LaunchBC in /dev/es, or by launching title 1-256 through the standard title launching mechanism.

Version history

version length build tag / date notes
0 0x41be Aug 11, 2006* corresponds with boot1a?
1 0x412a Sep 2, 2006* corresponds with boot1b?
2 0x414c bc.0611021443 Comes with 2.0 update
4 0x4d8c bc.0803040819 corresponds with boot1c? Fixes the signing bug. Comes with 3.3 update
5 0x4f08 bc.0806101038 Comes with 3.4 update
6 0x502c bc.0908240243 corresponds with boot1d? Comes with various fixes that went to other IOSes in the 4.2 update

* No build tags are included with early versions of BC, so approximate dates are listed from corresponding MIOS. These dates are likely very close (If not identical) to the actual BC build dates.