AppLoader.ldr/img documentation + oddities

some offsets by GC-Forever, page written (and mostly made) by SGYT

To start, what actually is an Apploader in GameCube ISO files?

It's a small program layer between GC bootrom and main app.



Editing an Apploader is actually quite hard by just a hex editor. It's very vulnerable to crashing, so be careful.


Now, onto the documentation..


At 0x0 in every GameCube Apploader, there is a date or otherwise known as an "entrypoint" in ASCII. Luigi's Mansion's Apploader lists 2001/09/08. This isn't really that dangerous to change and can be changed to anything.


0xA-0xF is padding. Do not edit.


0x10-0x13 is the entrypoint. 


0x14-0x17 is the Apploader size. 


0x18-0x1B is the "trailer size". 


0x20 is the actual Apploader code. (loaded to 0x81200000 in RAM)




Minor Datel AppLoader oddities

written and investigated by SGYT



In the unlicensed Action Replay & FreeLoader discs by Datel, there is code in their custom AppLoader that "live-patches" the GameCube menu (otherwise known as IPL) to make it region-free. Basically, you insert the AR/FL disc, remove it, and then suddenly your GameCube will accept and authorize discs that are not designed for its region. I'm not sure how to replicate this, but I'm pretty sure I have found the code in Datel's Apploader that causes this. Here is a video I made of it.


This is a very strange one...

Instead of using an opening.bnr file in their discs, Datel actually wrote the BNR data into their AppLoader. I've never seen that done before. On their AppLoader, there is a string at 0x14BC0, which is literally just the data inside the Table of Contents (game.toc). And that data in text is..

€....`opening.bnr

???

At 0x15BC0, there is literally just a banner file.

The "code" ( I say code, but I don't know. Take with a pinch of salt. ) at 0xC40 seems to handle this.

I have confirmed this does actually work, as when I put this AppLoader into Luigi's Mansion, it displayed the AR/FL banner instead of Luigi's Mansion's. Which is...strange. To say the least. This needs more looking into by me or some other hacker.