Can't find Apploader/Bootrom documents (needed for homebrew app)!

Find all your GameCube topics here
Post Reply
Yoshimaster96
Posts: 17
Joined: Fri Jan 09, 2015 3:09 pm

Can't find Apploader/Bootrom documents (needed for homebrew app)!

Post by Yoshimaster96 » Sun Dec 03, 2017 1:32 am

The wiki references the following documents, which I would like to get ahold of:
http://dolwin.emulation64.com/docs/Apploader.txt
http://dolwin.emulation64.com/docs/Bootrom.txt

However, both of these links now redirect to here.
Additionally, I can't find these documents on the dolwin website.

Where can I find these elusive documents? I want to write a simple apploader which DMAs a basic ROM with no formatting to 80003100, and I'm using this page as a reference. However, I'm stuck trying to figure out how data is transferred from the disk to memory, and all instances of any calls related to this seem to have been removed from the page. Since I'm writing the app in assembly, I'd like to know how this is done at the assembly level if possible, though any help at all is greatly appreciated.
tueidj
Posts: 564
Joined: Fri May 03, 2013 6:57 am

Re: Can't find Apploader/Bootrom documents (needed for homebrew app)!

Post by tueidj » Sun Dec 03, 2017 1:45 am

The apploader doesn't transfer any data itself. The IPL keeps calling the apploader's main function in a loop as long as it returns non-zero. Each time main also fills in an address, disc offset and byte length - the IPL loads the requested data to memory before the next call to main. When all the needed data is loaded main returns zero.
User avatar
Streetwalker
Posts: 1520
Joined: Mon Dec 30, 2013 7:50 am
Location: Israel

Re: Can't find Apploader/Bootrom documents (needed for homebrew app)!

Post by Streetwalker » Sun Dec 03, 2017 8:56 pm

I'll add that you can get an apploader from basically any game and disassemble it by hand, it's only a few hundred instructions. The gclinux project also has an apploader which is used by pretty much all homebrew to boot ISO9660/el-torito discs and should already be open source.
Post Reply