HackMii

Notes from inside your Wii

HackMii header image 2

Open-Source Apploader, ISO template

August 2nd, 2008 by bushing · 39 Comments

In order to make legally re-distributable ISO images for the Homebrew Channel installer, we had to remove Nintendo’s copyrighted apploader code and replace it with our own; we based ours on the one from GC-Linux.  You may find the source and binary for it here:

http://static.hackmii.com/wii-apploader.tar.gz

Here is an empty “template” disc image that you can use in your own projects; it contains the above apploader.

http://static.hackmii.com/iso_template.iso.bz2

Enjoy!

Update: A new version of WiiScrubber is out that I’m told works fine with this template. The old one had trouble detecting it as a Wii disc, as it used the DiscID’s first character which isn’t the more common “R” in this ISO. For future reference, the best way of distinguishing a Wii image from a Gamecube image is probably using the disc magic instead (this is what IOS uses).

Tags: Wii

39 responses so far ↓

  • 1 Team-Gx » Open-Source Apploader, ISO template // Aug 2, 2008 at 9:16 pm

    [...] HackMii Download: iso_templateiso Share and [...]

  • 2 SquidMan // Aug 2, 2008 at 9:19 pm

    Very interesting. Too bad I don’t have a chip to try it with :P

  • 3 Haku_Satsujin // Aug 2, 2008 at 9:42 pm

    Hello mr. Bushing
    Well i have been waiting a while for a Hackmii.com Update, and the DVD loader
    I have no interest in a backup loader as much people do, so don’t worry, no stupid questions involved. (I.. guess…) So i just wanted to ask about some things that don’t let me sleep
    -When Will you release the DVD access Library?
    -Is this app the loader?
    One last thing.
    -When will MPlayer wii with DVD support go out?
    I just wanted to know it because i’ve been waiting for these things since july 26th.
    Hope you don’t erase my comment and answer my questions

    Thanks in advance.
    Haku **

  • 4 https://me.yahoo.com/a/DH0ems5rndzpUsJycJGcQJ5DGa4mgWzf#957b2 // Aug 2, 2008 at 9:43 pm

    So this format allows any homebrew to be loaded via DVD? I can’t tell by the description what exactly this does.

  • 5 DtD // Aug 2, 2008 at 9:55 pm

    Awesome! This is gonna be interesting, I’m gonna play with it right now!

    ~DtD

  • 6 Stephen // Aug 2, 2008 at 11:22 pm

    Amazing work; This project never ceases to impress me.

  • 7 Dr.Tenma // Aug 3, 2008 at 1:59 am

    What’s this is useful for ?

  • 8 L.A.A // Aug 3, 2008 at 2:25 am

    How do you install this using the homebrew channel?
    I downloaded the the 1st file and renamed apploader.elf to boot.elf nad when you try and install it on the homebrew channel it just stays on a black screen.
    Can anyone help me?

  • 9 jb2kred // Aug 3, 2008 at 2:29 am

    is it possible to create a auto bootable disc from this iso that would be able to boot the homebrew channel

  • 10 L.A.A // Aug 3, 2008 at 2:43 am

    I forgot to mention that I put the apploader.elf/boot.elf in the apps folder, hope that helps you a bit more.

  • 11 HCK // Aug 3, 2008 at 3:00 am

    Thanks men, you are awesome :-D
    I’ ll test this ASAP

    What appilcations do support DVD-R reading?

  • 12 stitch // Aug 3, 2008 at 3:01 am

    first :p

    Can it be used on unchipped wii’s?

  • 13 linkinworm-c98 // Aug 3, 2008 at 4:04 am

    YAY, so i guess this uses the DVD exploit so it may work on unmodded wiis yes? is so then thats awsome cos i want to make a load of emualtor disks for my unmodded wii

  • 14 Louise // Aug 3, 2008 at 6:15 am

    So what is the first thing you did with it today? =)

  • 15 adr990 // Aug 3, 2008 at 7:49 am

    Is this like a Trucha disc but than “new” other sign on it?
    I’m sorry but… I love homebrew with my live (and I am in learning ) but I really need to ask what this is really?
    App loader could be everything… ?

    Thanks,
    Adr

  • 16 L.A.A // Aug 3, 2008 at 7:50 am

    Also, can this let you play DVD-R’s?
    e.g Homebrew Channel on DVD-R?
    I just realised that this is early for you, since you are in the USA and i’m in the UK so, I’m 4/5/6? hours ahead of you.

  • 17 HackYuu // Aug 3, 2008 at 8:05 am

    Im guessing this definately has trucha and therfore cant be run unless in gecko os, right? but anyway, nice release. will be really useful when the dvd lib gets released.

  • 18 Rsrockerz // Aug 3, 2008 at 8:53 am

    Great Job! Can’t wait for the DVD player for the wii. Does this load linux live disks or what?

  • 19 Rilasciato ISO Apploader by Bushing « Apicio’s Temple - Il Tempio Di Me Stesso e della Wii // Aug 3, 2008 at 9:02 am

    [...] Trovate tutte le info su Hackmii QUI. [...]

  • 20 L.A.A // Aug 3, 2008 at 9:11 am

    Hurry up!
    I wanna know how to use it!

  • 21 xus // Aug 3, 2008 at 10:25 am

    How would I use this with my own app?
    I can’t mount the disk image and drag the elf onto it and I’m not sure what to do with the source. It might be because I’m new with C but could you provide a readme?

  • 22 marcan // Aug 3, 2008 at 4:19 pm

    Guys, this is just a base image that can be used to run homebrew from DVD. Nothing more, nothing less. You need version 3.2 or earlier or GeckoOS to boot it, since it uses trucha. You need a modchip. You need to regionpatch it for your region (it defaults to NTSC). You need to inject whatever application you want to run into it (by default it runs a little loader that loads the homebrew channel, which must have been previously installed).

    For example, if you have a version older than 3.3, you can regionpatch the ISO and set it to autoboot to have a handy Homebrew Channel loader ISO that runs as soon as you turn on your Wii, so you don’t have to fumble with the wiimote when you’re testing applications.

    You can also inject whatever app you want into it and use it to run it. Previously people used game discs, but those can’t be distributed due to the apploader. Hence why I created this image.

    Unfortunately, apparently both WiiScrubber and some versions of Trucha Signer have problems opening the ISO. As far as I know the ISO is valid (it certainly boots and works with our tools), so I’m going to assume that this is a bug in those applications that will need to be fixed. If there is actually a problem with the ISO that you can pinpoint, please drop me a line and I’ll get it fixed.

    The ISO has 32MB of space and the DOL is padded to 8MB to enable easy injection of other apps. The FST is blank. You’ll have to pad the ISO before burning it, at least to 1GB.

  • 23 mballer20 // Aug 3, 2008 at 5:21 pm

    This is awesome, great job! Any news on the DVD Library Access

  • 24 Steve32 // Aug 3, 2008 at 6:38 pm

    So, would this mean it’s safe to assume that the Trucha bug will be around for a while? Since the Wii’s 3.3 firmware fixes the bug (and GeckoOS is the only workaround so far), wouldn’t this be a bit risky?

    I’m wondering how much it would suck having several DVD-native homebrew games which all can’t boot after the Trucha sign bug is fixed completely?

    Additionally, perhaps it would be an idea to expand the Homebrew Channel (or rather merging Gecko and HBC), adding a little ‘disc channel’ to the HBC. The whole “load HBC to load GeckoOS to load a Homebrew DVD” would get annoying. But I guess you thought about that too already.

  • 25 marcan // Aug 3, 2008 at 10:09 pm

    This isn’t meant to be some kind of platform for loading Homebrew from DVD (and specifically from DVD). Consider it yet another way of loading homebrew that, so far, works. While we don’t expect trucha to go away completely any time soon, and we’ll probably work around the 3.3 limitations, don’t take this as a suggestion to start writing homebrew that _requires_ being booted from a (Wii style) DVD.

    Loading _data_ from DVDs is a separate issue and one that will be addressed with the DVD library. This is just a convenient way of loading _code_ from DVDs.

    As for the Homebrew Channel, in a future release, once the DVD library is out, we could add an option to boot homebrew from the DVD (in ISO9660 format, for example). This would be a normal DVD though, and wouldn’t require this ISO or any of the Wii’s special DVD format.

    I have a feeling that the Wii’s DVD format can be made to coexist with ISO9660, the way it’s laid out, so I think it’s plausible that dual-mode ISO9660+Wii images could become popular, using the Wii part to boot the code and the ISO9660 for the data (and another copy of the code). This way they could be loaded both from homebrew (directly to ISO9660) as well as from the system menu.

  • 26 L.A.A // Aug 4, 2008 at 1:38 am

    OH!
    I see, you just use the apploader.elf/boot.elf on a DVD and then inject the homebrew you want to install onto the DVD.
    But, What does Inject mean and how do you do it?
    Also, When will the DVD library come out? I actually thought this was the DVD Libary and this is what I was looking forward to the most.

  • 27 Knocks // Aug 4, 2008 at 3:30 am

    The significance of this continues to evade me. Why exactly do people care so much about DVD when we have a whopping 2GB in SD storage at our disposal? Has any Wii homebrew used 2GB of data yet?

  • 28 C4B0S3 // Aug 4, 2008 at 4:33 am

    I hope no one gives out a release date, because we have seen what could happen if the programer can not keep the announced release date like it was a few month ago with the wii media application.

    To the release: Very nice work as always, and i like your idea about that “hybrid” iso.

  • 29 Zim // Aug 4, 2008 at 1:38 pm

    @Knocks:

    So far, no application has needed even 500MB of SD storage, but with several Media players out, and MUGEN and Stepmania coming soon(among other things), a simple 2GB won’t last long.

  • 30 theorbtwo // Aug 4, 2008 at 6:00 pm

    Er, this does make me wonder a bit what other GPLed code you’ve used in the homebrew channel and not (yet, hopefully) followed through with the gpl requirements with. You guys have done some amazing work, but haven’t been real great about releasing source all the time…

  • 31 | NES Hacks // Aug 4, 2008 at 7:48 pm

    [...] SOURCE [...]

  • 32 marcan // Aug 4, 2008 at 10:26 pm

    @theorbtwo

    As far as we know, this is the only bit of GPLed code that we have failed to release with the homebrew channel (it isn’t even part of the channel, as it is used only with the ISO installer images).

    Yeah, it should have been released from day one. Our bad (the apploader kind of got written late one night and I ended up forgettng about it).

    Rest assured, however, that we’re complying with the licences of any code used in HBC, to the best of our knowledge.

  • 33 JP // Aug 5, 2008 at 1:47 am

    //Offtopic//

    A question to libOGC developers: Why are the files identical to the ones in the Revolution SDK?

    I mean, types.h(SDK) and gctypes.h(libOGC) are practically the same.
    Same thing about the pad.h file. They use the exact same “#define”, function names are same, but with a “_”, and etc, etc, etc…

    There are LOTS of files like that, and you call this 100% homebrew and LEGAL?

    Hipocrits.

  • 34 marcan // Aug 5, 2008 at 2:09 am

    I don’t think the libogc developers who wrote those files read this blog. I’ve written some Wii stuff for libogc, but mostly about IOS, which I don’t think is what you’re talking about here.

    gctypes / types.h is a very bad example. We’re not the only project in the world to use the u32/s32/vu32/vs32 convention for types.

  • 35 oofrab // Aug 5, 2008 at 1:19 pm

    @JP:
    IANAL, but
    Copyright laws do not, yet, protect an idea(only expressions of one). The information in a header file are often of the form specifying an API and not the implementation itself. Therefore it is not clear whether you can enforce a copyright on headers.

    On the other hand, if it is a carbon copy, with comments and all, then this could most possibly be copyright infringement. You seem to have seen both header files. Are they exactly the same or are they merely providing the same functionality?

  • 36 JP // Aug 6, 2008 at 4:24 am

    It’s not about the idea, but it’s clear that it’s all been copied from the Nintendo SDK’s. The order things are in and the names of them, it’s easy to see by anyone that it’s a “copy&paste, and insert a little “_” so one knows how lazy we are.”

    Well, forget about the typed file.
    Let’s look at a more GC/Wii specific: “pad.h”

    libOGC:
    #define PAD_BUTTON_LEFT 0×0001
    #define PAD_BUTTON_RIGHT 0×0002
    #define PAD_BUTTON_DOWN 0×0004
    #define PAD_BUTTON_UP 0×0008
    #define PAD_TRIGGER_Z 0×0010
    #define PAD_TRIGGER_R 0×0020
    #define PAD_TRIGGER_L 0×0040
    #define PAD_BUTTON_A 0×0100
    #define PAD_BUTTON_B 0×0200
    #define PAD_BUTTON_X 0×0400
    #define PAD_BUTTON_Y 0×0800
    #define PAD_BUTTON_MENU 0×1000
    #define PAD_BUTTON_START 0×1000

    SDK:
    #define PAD_BUTTON_LEFT 0×0001
    #define PAD_BUTTON_RIGHT 0×0002
    #define PAD_BUTTON_DOWN 0×0004
    #define PAD_BUTTON_UP 0×0008
    #define PAD_TRIGGER_Z 0×0010
    #define PAD_TRIGGER_R 0×0020
    #define PAD_TRIGGER_L 0×0040
    #define PAD_BUTTON_A 0×0100
    #define PAD_BUTTON_B 0×0200
    #define PAD_BUTTON_X 0×0400
    #define PAD_BUTTON_Y 0×0800
    #define PAD_BUTTON_MENU 0×1000
    #define PAD_BUTTON_START 0×1000

    Same order, same names, same values, same everything. All the defines from this file are identical.

    If we go down to the functions, we’ll see more names that are same, and in the same order.

  • 37 marcan // Aug 7, 2008 at 4:59 am

    @JP

    Those are hardware constants, in the order of the bits as read from the pad. The names are rather obvious too. No surprise there – the values (and order based on value) HAS to be the same in both.

  • 38 jonjosh // Aug 12, 2008 at 9:31 am

    So this not the DVD access library?

  • 39 Wiimm // Jul 26, 2010 at 4:36 am

    I have not found any license info. Is this ok for you: http://wit.wiimm.de/info/composing.html#6

You must log in to post a comment.