Autobooting USB-Loader 1.1 WITHOUT ANY TEXT

Discussion in 'Wii - Hacking' started by joda, Apr 4, 2009.

Apr 4, 2009
  1. joda
    OP

    Member joda GBAtemp Fan

    Joined:
    Jul 12, 2007
    Messages:
    436
    Location:
    Umeå
    Country:
    Sweden
    Heya maties!

    I had gotten the same idea as nicksasa, and just had it working, when I saw his post about it; so I kept quiet. People do, however, seem bugged by the "Loading ..." text in nicksasa's loader.

    So, because I got a few requests by PM, here is a recompile of USB-Loader 1.1 with all menucode stripped out that boots RSPP01 (Wii Sports Europe (Condom Version)). Just hexedit the wanted gameid into place and it works. At least for me, on 4.0E / 480p, i get a millisecond flash of green screen while booting; dont know why, and I actually don't care. =)

    http://rapidshare.com/files/217199377/RSPP01.dol (And yes, this is on a premium account, so it won't go away after 10 downloads.)

    Please give little credit--not much needed--if you release channels publicly based on this. Source can be made available on request, but it's basically just menu code stripped out and hardcoded boot code moved to the main loop.

    EDIT
    Since mousex made an epic fail at being a smart ass regarding the GPL, here's a diff of my edits to spare others from doing the same thing:
    CODE--- ../USB-Loader_v1.1/source/usb-loader.cÂÂÂÂ2009-03-30 13:37:00.000000000 +0200
    +++ source/usb-loader.cÂÂÂÂ2009-04-04 21:46:55.000000000 +0200
    @@ -2,7 +2,6 @@
    #include

    #include "disc.h"
    -#include "menu.h"
    #include "restart.h"
    #include "sys.h"
    #include "video.h"
    @@ -15,34 +14,6 @@
    #define CONSOLE_WIDTHÂÂÂÂÂÂÂÂ340
    #define CONSOLE_HEIGHTÂÂÂÂÂÂÂÂ218

    -
    -void Background_Show(void)
    -{
    -ÂÂÂÂextern char bgData[];
    -
    -ÂÂÂÂPNGUPROP imgProp;
    -ÂÂÂÂIMGCTX ctx;
    -
    -ÂÂÂÂs32 ret;
    -
    -ÂÂÂÂ/* Select PNG data */
    -ÂÂÂÂctx = PNGU_SelectImageFromBuffer(bgData);
    -ÂÂÂÂif (!ctx)
    -ÂÂÂÂÂÂÂÂreturn;
    -
    -ÂÂÂÂ/* Get image properties */
    -ÂÂÂÂret = PNGU_GetImageProperties(ctx, &imgProp);
    -ÂÂÂÂif (ret != PNGU_OK)
    -ÂÂÂÂÂÂÂÂreturn;
    -
    -ÂÂÂÂ/* Draw image */
    -ÂÂÂÂVideo_DrawPng(ctx, imgProp, 0, 0);
    -
    -ÂÂÂÂ/* Free image context */
    -ÂÂÂÂPNGU_ReleaseImageContext(ctx);
    -}
    -
    -
    int main(int argc, char **argv)
    {
    ÂÂÂÂs32 ret;
    @@ -60,7 +31,7 @@
    ÂÂÂÂCon_Init(CONSOLE_XCOORD, CONSOLE_YCOORD, CONSOLE_WIDTH, CONSOLE_HEIGHT);

    -ÂÂÂÂ/* Show background */
    -ÂÂÂÂBackground_Show();

    ÂÂÂÂ/* Initialize Wiimote subsystem */
    ÂÂÂÂWpad_Init();
    @@ -85,8 +56,18 @@
    ÂÂÂÂÂÂÂÂgoto out;
    ÂÂÂÂ}

    -ÂÂÂÂ/* Menu loop */
    -ÂÂÂÂMenu_Loop();
    +
    +ÂÂÂÂDisc_SetUSB("RSPP01");
    +ÂÂÂÂret = Disc_Open();
    +ÂÂÂÂÂÂÂÂif (ret < 0) {
    +ÂÂÂÂÂÂÂÂprintf("ÂÂÂÂERROR: Could not open game! (ret = %d)\n", ret);
    +ÂÂÂÂÂÂÂÂgoto out;
    +ÂÂÂÂ}
    +
    +ÂÂÂÂ/* Boot Wii disc */
    +ÂÂÂÂDisc_WiiBoot();
    +ÂÂÂÂprintf("ÂÂÂÂReturned! (ret = %d)\n", ret);
    +

    out:
    ÂÂÂÂ/* Restart */

    EDIT2
    Since mousex doesn't trust the diff/patch system, here is the tarball: http://rapidshare.com/files/217576952/USB-...01_autoboot.tgz
     


  2. Kurisai

    Newcomer Kurisai Member

    Joined:
    Apr 1, 2009
    Messages:
    26
    Country:
    United States
    So do I just have to edit this .dol to be for the game disc I want?

    And does this have the other things such as the time fix and whatever else people keep fixing that I have to redo?

    Thanks though! I definitely wasn't a fan of the loading text.
     
  3. raptor1010

    Member raptor1010 GBAtemp Regular

    Joined:
    Mar 31, 2009
    Messages:
    131
    Country:
    United States
    I already did this in another post, and I patched the dol files to work with NTSC480i and PAL480i:
    http://gbatemp.net/index.php?showtopic=145543

    It wasn't too hard to go into the Hex Editor and delete out the "Loading..." message, so you shouldn't be asking for "a little credit"
     
  4. troa11

    Member troa11 Older Than You

    Joined:
    Apr 11, 2006
    Messages:
    248
    Country:
    United States
    It's an edit of USB Loader 1.1 so any features that it has, (ie, time fix) this has.

    So yeah, just hex edit in the game id.

    And difficult to do or not, I don't think it's too much to ask to mention someone's name if you're using their work, regardless of whose you end up using.
     
  5. joda
    OP

    Member joda GBAtemp Fan

    Joined:
    Jul 12, 2007
    Messages:
    436
    Location:
    Umeå
    Country:
    Sweden
    Hexediting the text out of the compiled printf() function is an ugly hack compared to recompiling. And what is wrong with asking for credit if people use a binary that I've made? People can always download Waninkoko's source (from his blog), strip the code out, and recompile.

    If it was all this easy, there wouldn't be any need for this sort of thread.
     
  6. ppmeis

    Newcomer ppmeis Member

    Joined:
    Dec 23, 2006
    Messages:
    38
    Country:
    Spain
    OK. This run perfectly [​IMG].
     
  7. ppmeis

    Newcomer ppmeis Member

    Joined:
    Dec 23, 2006
    Messages:
    38
    Country:
    Spain
    OK. This run perfectly [​IMG].

    One question: If in the future an USBLoader update is released, you must create another dol, right? But if it's an cIOS update, Is this not necessary?¿

    Thanks for your great job. You are called on my Tutorial [​IMG].
     
  8. HowardC

    Member HowardC GBAtemp Fan

    Joined:
    May 4, 2008
    Messages:
    490
    Country:
    United States
    Does anyone mind if I include this dol with my new app? I've made a wbfs manager (pc-end) that'll automate the entire channel building process, I just need a dol to use. I won't be releasing it till later this evening (or maybe tomorrow) so I want to give the appropriate credit to all involved.
     
  9. deshwasi

    Member deshwasi GBAtemp Regular

    Joined:
    Dec 20, 2007
    Messages:
    114
    Country:
    United States
    absolutely not. pls go ahead and use the dol and looking forward to your app. that would be a very useful app if you can pull it off.
     
  10. jamsplodge

    Newcomer jamsplodge Advanced Member

    Joined:
    May 16, 2008
    Messages:
    66
    Country:
    United Kingdom
    Oh, well if you're doing an automater I think I'm going to give this up. I cannot for the life of me get one of these games to auto boot using a dol or wad I have edited myself. Ones other people have done work fine. I am a numpty.
     
  11. joda
    OP

    Member joda GBAtemp Fan

    Joined:
    Jul 12, 2007
    Messages:
    436
    Location:
    Umeå
    Country:
    Sweden
    Of course you have everyone's blessing!
     
  12. HowardC

    Member HowardC GBAtemp Fan

    Joined:
    May 4, 2008
    Messages:
    490
    Country:
    United States
    I just wanted to let everyone know that my app is psuedo working (I have a few loose ends to finish) and the dol works great! The entire process is automated so no more mucking around in channels, wiiscrubber ect.....

    Just give me some time to get it ready... It'll be out within the weekend.
     
  13. mousex

    Member mousex GBAtemp Advanced Fan

    Joined:
    Jan 23, 2009
    Messages:
    987
    Country:
    United States
    Erm, you know that you have to publish the source with your .dol without people asking for it? There is this LICENSE.TXT file in the USB-Loaders source code.
     
  14. lolsjoel

    Member lolsjoel GBAtemp Advanced Fan

    Joined:
    Nov 19, 2003
    Messages:
    930
    Country:
    United States
    Yep yep, this is what I was looking for!

    It must be using cIOS 249 instead of 222 because games that weren't working before (HOTD:OK) are now working. Just the short flash of green is the only minor issue with this (and all other forms of backup launching), so no complaints here. Thanks to everyone that helped get this working.
     
  15. joda
    OP

    Member joda GBAtemp Fan

    Joined:
    Jul 12, 2007
    Messages:
    436
    Location:
    Umeå
    Country:
    Sweden
     
  16. ub124

    Newcomer ub124 Newbie

    Joined:
    Apr 4, 2009
    Messages:
    2
    Country:
    United States
    I have a version of usb loader 1.1 which doesn't have the green screen when launching a game. I believe it forces NTSC. Thus, i think it's possible to make a wad which doesn't have the flash of green screen.
     
  17. mousex

    Member mousex GBAtemp Advanced Fan

    Joined:
    Jan 23, 2009
    Messages:
    987
    Country:
    United States
    Still doesn't change the fact that you don't know what you do in the code [​IMG]
    So I'm accepting your offer and I request the whole source you used to compile this specific dol file you uploaded and not just a diff, because a diff is not the source code [​IMG]
     
  18. Majinchuck1

    Newcomer Majinchuck1 Member

    Joined:
    Jan 7, 2009
    Messages:
    48
    Location:
    Queens NY
    Country:
    United States
    ok i have absolutely no idea what loading text hes talking about. using usb loader i have never seen any loading text...
     
  19. jm9843

    Newcomer jm9843 Newbie

    Joined:
    Apr 3, 2009
    Messages:
    8
    Country:
    United States
    Eagerly looking forward to this. Thanks for putting forth the effort!
     
  20. joda
    OP

    Member joda GBAtemp Fan

    Joined:
    Jul 12, 2007
    Messages:
    436
    Location:
    Umeå
    Country:
    Sweden
    Here my friend, you are wrong again, this is not a hex-edited binary, but the original USB-Loader_v1.1, with no modifications, except for the removal of all menu code, and addition of hardcoded header->id. The hardcoded id gives a compile warning about signedness, but since we know that the Disc_SetUSB() function accept this sort of strings, that does not pose a problem in this case.

    I could be really anal about the diff, since in my humble oppinion could one count a diff added to a publicly available source tree as on a medium customarily used for software interchange, since it in the end generates a verbatim copy of my source tree. The diff/patch is not only used by the Open Source Software Community for customarily interchanging software, it's the de facto standard for fixups and changes like this.

    Well well, let's leave it at this? You've got your source, and if you feel like crusading there are lot's of threads releasing channels that bundle this exact binary, or the likes, that as well should release the source according to the GPL. Have phun with them! (And this would apply to all backuplauncher/geckoos/snes9x/you-name-it-gpl-program-channels ...)
     

Share This Page