Apploader: Difference between revisions
Hallowizer (talk | contribs) →Disc Apploader: doesn't actually seem to be linked with rvl os |
Hallowizer (talk | contribs) Remove NANDLoader/apploader-like fail |
||
Line 2: | Line 2: | ||
{{yagcd}} <!-- http://hitmen.c02.at/files/yagcd/yagcd/chap13.html#sec13.3 and http://hitmen.c02.at/files/yagcd/yagcd/chap18.html#sec18.2.3 --> | {{yagcd}} <!-- http://hitmen.c02.at/files/yagcd/yagcd/chap13.html#sec13.3 and http://hitmen.c02.at/files/yagcd/yagcd/chap18.html#sec18.2.3 --> | ||
'''Apploaders''' are small | '''Apploaders''' are small bits of code included on every [[Wii disc|disc]] that tell the [[System Menu]] what regions of the disc to load for the disc to be booted. | ||
Each apploader has 4 functions: <code>entry</code>, <code>init</code>, <code>main</code>, and <code>finalize</code>. The <code>entry</code> function takes 3 pointers as arguments, and fills them with the <code>init</code>, <code>main</code>, and <code>finalize</code> functions{{Ref|https://github.com/dbarnett/wiimu/blob/a2bbe46a9b0af48be76564716a28a7b69aa77e74/source/disc.c#L322}}. <code>init</code> takes a print function as an argument and returns nothing. Meanwhile, <code>main</code> takes 3 pointers, which get filled with arguments to pass to DVDLowRead, and keeps getting called until it returns something other than 1. <code>finalize</code> takes no arguments, but returns the entrypoint, which the System Menu then jumps to. | |||
Apploaders appear to have [[Revolution OS]] strings; this probably means dev units had Revolution OS directly linked with them, possibly similar to the [[NAND Boot Program]]. | |||
An open-source | An open-source apploader is available from [https://hackmii.com/2008/08/open-source-apploader-iso-template/ HackMii]. | ||
== References == | == References == |
Latest revision as of 09:28, 16 January 2022
This article is a stub. You can help WiiBrew by expanding it. |
This article may be improved with information from Yet Another GameCube Documentation. You can help WiiBrew by expanding this article with the information and wikifying it. |
Apploaders are small bits of code included on every disc that tell the System Menu what regions of the disc to load for the disc to be booted.
Each apploader has 4 functions: entry
, init
, main
, and finalize
. The entry
function takes 3 pointers as arguments, and fills them with the init
, main
, and finalize
functions[1]. init
takes a print function as an argument and returns nothing. Meanwhile, main
takes 3 pointers, which get filled with arguments to pass to DVDLowRead, and keeps getting called until it returns something other than 1. finalize
takes no arguments, but returns the entrypoint, which the System Menu then jumps to.
Apploaders appear to have Revolution OS strings; this probably means dev units had Revolution OS directly linked with them, possibly similar to the NAND Boot Program.
An open-source apploader is available from HackMii.
References
↑ 1. https://github.com/dbarnett/wiimu/blob/a2bbe46a9b0af48be76564716a28a7b69aa77e74/source/disc.c#L322