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

Changes

Jump to navigation Jump to search
1,554 bytes added ,  10:19, 3 August 2021
Merged in NANDLoader stuff
Line 4: Line 4:  
'''Apploaders''' are small stubs bundled with every app, responsible for loading the rest of the app and executing it. For this reason, all homebrew titles installed to NAND must have an unofficial apploader. An open-source apploader is available from [https://hackmii.com/2008/08/open-source-apploader-iso-template/ HackMii].
 
'''Apploaders''' are small stubs bundled with every app, responsible for loading the rest of the app and executing it. For this reason, all homebrew titles installed to NAND must have an unofficial apploader. An open-source apploader is available from [https://hackmii.com/2008/08/open-source-apploader-iso-template/ HackMii].
   −
One common apploader is the [[NANDLoader]], used to boot most channels.
+
One common apploader is the NANDLoader, used to boot most channels.
    
Dragon Quest X has a special apploader that loads from a WFS USB. For [[vWii]] compatibility, a special 1-513 title comes preinstalled on all vWiis with this apploader, as a complete [https://wiiubrew.org/wiki/Ancast_Image Ancast Image].
 
Dragon Quest X has a special apploader that loads from a WFS USB. For [[vWii]] compatibility, a special 1-513 title comes preinstalled on all vWiis with this apploader, as a complete [https://wiiubrew.org/wiki/Ancast_Image Ancast Image].
 +
 +
== NANDLoader ==
 +
The NANDLoader is a small bit of code in every channel that initializes the [[Broadway]] and then jumps to the main function of the executable. It is an example of an apploader, used for channels.
 +
 +
There are open source tools available to inject a NANDLoader into regular binaries like {{User|DacoTaco}}'s [[OpenDolBoot]].
 +
 +
=== Wii ===
 +
On the [[Wii]] the NANDLoader is included in a title's main binary ( app, in dol format). It is usually the first text section and should always be written to 0x80003400 (PowerPC reset vector){{check}}.
 +
The NANDLoader should initialize the PowerPC and jump to the binary's main function.
 +
 +
=== vWii ===
 +
On the [[vWii]], because the [https://wiiubrew.org/wiki/Espresso Espresso] only boots [https://wiiubrew.org/wiki/Ancast_Image Ancast Images], the NANDLoader must be signed. Nintendo solved this by adding title 1-512 as a NANDLoader. When launching a title other than the [[System Menu]], IOS will start one of these NANDLoaders to initialize the PowerPC. These NANDLoaders in turn load the title's main binary and jump straight to it's entrypoint, skipping the title's NANDLoader which is included in title's binary.
 +
 +
Because the [[Homebrew Channel]] had its own NANDLoader, fail0verflow never bothered to set an entrypoint, as the custom NANDLoader knew where to jump. This resulted in the channel initially not being compatible with [[vWii]]. [[fail0verflow]] solved this by adding an entrypoint to the dol header. This resulted in the channel's NANDLoader being run on the Wii, and skipped in vWii.
    
[[Category:Official software]]
 
[[Category:Official software]]
5,579

edits

Navigation menu