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

Difference between revisions of "BC"

From WiiBrew
Jump to navigation Jump to search
(Listed LaunchTitle method)
(BC-NAND/WFS are no longer at apploader)
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{Stub}}
 
{{Stub}}
'''BC''' (short for Backwards Compatibility) is a bootloader similar to [[boot1]]. It is responsible for lowering the [[Hardware/Broadway|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.
+
{{About|the software that loads [[MIOS]]|the [[vWii]] titles known as BC}}
 +
'''BC''' (short for Backwards Compatibility) is a bootloader similar to [[boot1]]. It is responsible for lowering the [[Hardware/Broadway|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 <code>ES_LaunchBC</code> in [[:/dev/es]], or by launching title 1-256 through the standard title launching mechanism.
 
BC can be launched by calling <code>ES_LaunchBC</code> in [[:/dev/es]], or by launching title 1-256 through the standard title launching mechanism.
Line 26: Line 29:
 
| 0x414c
 
| 0x414c
 
| bc.0611021443
 
| bc.0611021443
|
+
| Comes with [[2.0]] update
 
|-
 
|-
 
| 4
 
| 4
 
| 0x4d8c
 
| 0x4d8c
 
| bc.0803040819
 
| bc.0803040819
| corresponds with boot1c?  Fixes the [[signing bug]].
+
| corresponds with boot1c?  Fixes the [[signing bug]]. Comes with [[3.3]] update
 
|-
 
|-
 
| 5
 
| 5
 
| 0x4f08
 
| 0x4f08
 
| bc.0806101038
 
| bc.0806101038
|  
+
| Comes with [[3.4]] update
 
|-
 
|-
 
| 6
 
| 6
 
| 0x502c
 
| 0x502c
 
| bc.0908240243
 
| bc.0908240243
| corresponds with boot1d?
+
| corresponds with boot1d? Comes with various fixes that went to other IOSes in the [[4.2]] update
 
|}
 
|}
  

Latest revision as of 19:41, 30 March 2022

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.