A little homebrew request

Discussion in 'Wii - Hacking' started by laurozza, Oct 14, 2009.

Oct 14, 2009

A little homebrew request by laurozza at 10:25 AM (3,384 Views / 0 Likes) 21 replies

  1. laurozza
    OP

    Member laurozza GBAtemp Fan

    Joined:
    Sep 17, 2008
    Messages:
    348
    Country:
    Italy
    Can someone create a dol that load the system menu like the preloader? Not a simple return to.
    Thanks in advance. ^^
     


  2. acesniper

    Member acesniper GBAtemp Advanced Fan

    Joined:
    Sep 29, 2008
    Messages:
    641
    Country:
    United States
    You mean you want something that loads to the System Menu first, without going through the Preloader Menu? Preloader has a feature of making it automatically load to the System Menu with out going through other stuff.
     
  3. laurozza
    OP

    Member laurozza GBAtemp Fan

    Joined:
    Sep 17, 2008
    Messages:
    348
    Country:
    Italy
    My problem is different ^^
    I set my preloader to "autoboot" crazy intro and to "return to" autoboot(again crazy intro).
    Crazy intro, when no buttons are pressed, return to menu insted of load it. But returnig to menu result in load crazy intro, with my preloader settings. So i can't access the menu trough crazy intro.
    If a have a dol that load the system menu, like the preloader, i can access to menu even with crazy intro.
     
  4. boof222

    Member boof222 GBAtemp Fan

    Joined:
    Jun 26, 2009
    Messages:
    435
    Location:
    NSW
    Country:
    Australia
    you must set it to autoboot crzy intro and return2 system menu
     
  5. laurozza
    OP

    Member laurozza GBAtemp Fan

    Joined:
    Sep 17, 2008
    Messages:
    348
    Country:
    Italy
    But if i have a dol that load the menu, i can set crazy intro to load that dol, so i can access to menu even if i had set the "return to" settings to autoboot.
     
  6. giantpune

    Member giantpune GBAtemp Addict

    Joined:
    Apr 10, 2009
    Messages:
    2,860
    Country:
    United States
    do you want a dol that will boot whatever is installed as 00000001/00000002? or do you want something that will boot the system menu as nintendo meant it to be booted (with no patches / themes)?
     
  7. laurozza
    OP

    Member laurozza GBAtemp Fan

    Joined:
    Sep 17, 2008
    Messages:
    348
    Country:
    Italy
    The first that you said...i think. XD I'm a noob at this things.
    Anyway a dol that load the menu moved by preloader. I think that can be used the preloader's source for this!
    It can be done?
     
  8. laurozza
    OP

    Member laurozza GBAtemp Fan

    Joined:
    Sep 17, 2008
    Messages:
    348
    Country:
    Italy
    Impossible to do?
     
  9. boof222

    Member boof222 GBAtemp Fan

    Joined:
    Jun 26, 2009
    Messages:
    435
    Location:
    NSW
    Country:
    Australia
    i dont fully understand r trying to do if you say want you want to do in italian it could make things easier ( i speak it too)
    but do you want to run the system menu that preloader moved i dont think this can be done (or if preloader moved the menu in the first place at all)
     
  10. laurozza
    OP

    Member laurozza GBAtemp Fan

    Joined:
    Sep 17, 2008
    Messages:
    348
    Country:
    Italy
    Si, vorrei un forwarder che apre il menu del Wii, anche se è stato spostato dal preloader.
    Perchè col nuovo preloader, impostando l'opzione "return to" su "installed file", al posto del menu del Wii viene caricato il file installato(poichè ha preso il suo posto).

    Ho trovato anche una discussione su Wiibrew in cui se ne discuteva: http://forum.wiibrew.org/read.php?11,35855,35898#msg-35898

    Magari così si capisce meglio quello che voglio fare(lo scrivo in inglese così magari tolgo il dubbio anche agli altri):

    My problem:
    Wii start-->preloader with autoboot of crazyintro--->load of a channel by pressing a button--->exit from channel and return to wii menu-->preloader with return to set to crazyintro(because i like to rechoose a channel only by pressing a button)--->no wii menu, i can only rechoose a channel to load(i would like to choose the Wii menu too).

    Possible solution:
    Wii start-->preloader with autoboot of crazyintro--->load a channel by pressing a button--->exit from channel and return to wii menu-->preloader with return to set to crazyintro--->load a forwarder from crazyintro that can access to wii menu.
     
  11. boof222

    Member boof222 GBAtemp Fan

    Joined:
    Jun 26, 2009
    Messages:
    435
    Location:
    NSW
    Country:
    Australia
    oh ok just keep changing the options in preloader (this happened to me but i just deleted crazy intro because it was too annoying and sometimes didnt work)
    try autoboot installed file and return to preloader just keep trying otherwise just delete crazy intro it just made things worse for me.
    speranza che aiuta

    EDIT: i was posting while you were editing so im now reading through the extra info you posted
    EDIT2: oh now i get it we cant distrubute that file because it is copyrighted.
    you need to download you system menu through NUS downloader and select the option decrypt contents. you then need to rename one of the .app files (not sure which 1) to a certain number eg 0000007e for 4.1e.
     
  12. laurozza
    OP

    Member laurozza GBAtemp Fan

    Joined:
    Sep 17, 2008
    Messages:
    348
    Country:
    Italy
    And then?
    What happen when i install the system menù with the renamed .app file?
    Or i can use this app file like an homebrew to load(instead of a forwarder that point to the system menu)?
     
  13. boof222

    Member boof222 GBAtemp Fan

    Joined:
    Jun 26, 2009
    Messages:
    435
    Location:
    NSW
    Country:
    Australia
    i think you have to rename it to a .dol file
    not completely sure try that (im ok at hacking im not expert but im getting better so i dont fully understand what is going on in that topic that you linked me to but you might have to do something else im not 100%sure maybe a better hacker can come and help you
    but i hope my info helped
    make sure you make a backup before doing anything tho
     
  14. laurozza
    OP

    Member laurozza GBAtemp Fan

    Joined:
    Sep 17, 2008
    Messages:
    348
    Country:
    Italy
    Thanks boof, i'll try it. ^^
     
  15. boof222

    Member boof222 GBAtemp Fan

    Joined:
    Jun 26, 2009
    Messages:
    435
    Location:
    NSW
    Country:
    Australia
    no problem
    just report back here weather it works or not

    EDIT: and if you dont know what to download on nusd put in 0000000100000002 in the first box and whatever version your system menu is in the next eg. 450 for 4.1e
     
  16. laurozza
    OP

    Member laurozza GBAtemp Fan

    Joined:
    Sep 17, 2008
    Messages:
    348
    Country:
    Italy
    Ok, i've downloaded all the app file of my system menu. Renamed all in boot.dol and tried one by one trough the homebrew channel. Result: homebrew chanel say that they are not valid application.
    I've thinked to inject the app files into wads...but it probably solve nothing...
     
  17. boof222

    Member boof222 GBAtemp Fan

    Joined:
    Jun 26, 2009
    Messages:
    435
    Location:
    NSW
    Country:
    Australia
    hmm maybe try through preloader try running it as installed to test if its working (and im pretty sure its the 1 called 00000001.app that has to be renamed to 0000007e and you have to make sure that they both have 8 characters in it) other than that someone more experienced will have to help you as ive helped all i can.
    hope you can figure something out

    EDIT: injecting the files into wads would create your system menu and installing it would force you to reinstall preloader because preloader is deleted when the system menu is reinstalled
     
  18. laurozza
    OP

    Member laurozza GBAtemp Fan

    Joined:
    Sep 17, 2008
    Messages:
    348
    Country:
    Italy
    <!--quoteo(post=2336751:date=Oct 18 2009, 01:12 PM:name=boof222)--><div class='quotetop'>QUOTE(boof222 @ Oct 18 2009, 01:12 PM) <a href="index.php?act=findpost&pid=2336751"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->hmm maybe try through preloader try running it as installed to test if its working (and im pretty sure its the 1 called 00000001.app that has to be renamed to 0000007e and you have to make sure that they both have 8 characters in it) other than that someone more experienced will have to help you as ive helped all i can.
    hope you can figure something out

    EDIT: injecting the files into wads would create your system menu and installing it would force you to reinstall preloader because preloader is deleted when the system menu is reinstalled<!--QuoteEnd--></div><!--QuoteEEnd-->
    Made some test and no success... Thanks for have tried to help me. <img src="style_emoticons/<#EMO_DIR#>/wink.gif" style="vertical-align:middle" emoid=";)" border="0" alt="wink.gif" />

    I think that one of these codes can load the system menu dol...but i don't know c++.
    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->void launchTitleWithId(u64 titleId, char* name)
    {
    ÂÂÂÂÂÂÂÂ//Identify as menu
    ÂÂÂÂÂÂÂÂint rest = ES_Identify((signed_blob*)menu_certs_bin, menu_certs_bin_size, (signed_blob*)menu_tmd_bin, menu_tmd_bin_size, (signed_blob*)menu_tik_bin, menu_tik_bin_size, 0);
    ÂÂÂÂÂÂÂÂ
    ÂÂÂÂÂÂÂÂ__ES_Close();
    ÂÂÂÂÂÂÂÂ__ES_Init();ÂÂÂÂÂÂÂÂÂÂÂÂ
    ÂÂÂÂÂÂÂÂ
    ÂÂÂÂÂÂÂÂlaunchTitle(titleId, name, 1);ÂÂ
    }<!--c2--></div><!--ec2-->
    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->void BootMainSysMenu( void )
    {
    ÂÂÂÂstatic u64 TitleID ATTRIBUTE_ALIGN(32)=0x0000000100000002LL;
    ÂÂÂÂstatic u32 tmd_size ATTRIBUTE_ALIGN(32);
    ÂÂÂÂstatic u32 tempKeyID ATTRIBUTE_ALIGN(32);
    ÂÂÂÂs32 r = 0;

    ÂÂÂÂISFS_Deinitialize();
    ÂÂÂÂif( ISFS_Initialize() < 0 )
    ÂÂÂÂ{
    ÂÂÂÂÂÂÂÂ//printf("ISFS_Initialize() failed!\n");
    ÂÂÂÂÂÂÂÂPrintFormat( 1, ((640/2)-((strlen("ISFS_Initialize() failed!"))*13/2))>>1, 208, "ISFS_Initialize() failed!" );
    ÂÂÂÂÂÂÂÂsleep( 5 );
    ÂÂÂÂÂÂÂÂreturn;
    ÂÂÂÂ}

    ÂÂÂÂ//read ticket from FS
    ÂÂÂÂs32 fd = ISFS_Open("/title/00000001/00000002/content/ticket", 1 );
    ÂÂÂÂif( fd < 0 )
    ÂÂÂÂ{
    ÂÂÂÂÂÂÂÂerror = ERROR_SYSMENU_TIKNOTFOUND;
    ÂÂÂÂÂÂÂÂreturn;
    ÂÂÂÂ}

    ÂÂÂÂ//get size
    ÂÂÂÂfstats * tstatus = (fstats*)memalign( 32, sizeof( fstats ) );
    ÂÂÂÂr = ISFS_GetFileStats( fd, tstatus );
    ÂÂÂÂif( r < 0 )
    ÂÂÂÂ{
    ÂÂÂÂÂÂÂÂISFS_Close( fd );
    ÂÂÂÂÂÂÂÂerror = ERROR_SYSMENU_TIKSIZEGETFAILED;
    ÂÂÂÂÂÂÂÂreturn;
    ÂÂÂÂ}

    ÂÂÂÂ//create buffer
    ÂÂÂÂchar * buf = (char*)memalign( 32, (tstatus->file_length+32)&(~31) );
    ÂÂÂÂif( buf == NULL )
    ÂÂÂÂ{
    ÂÂÂÂÂÂÂÂISFS_Close( fd );
    ÂÂÂÂÂÂÂÂerror = ERROR_MALLOC;
    ÂÂÂÂÂÂÂÂreturn;
    ÂÂÂÂ}
    ÂÂÂÂmemset(buf, 0, (tstatus->file_length+32)&(~31) );

    ÂÂÂÂ//read file
    ÂÂÂÂr = ISFS_Read( fd, buf, tstatus->file_length );
    ÂÂÂÂif( r < 0 )
    ÂÂÂÂ{
    ÂÂÂÂÂÂÂÂfree( buf );
    ÂÂÂÂÂÂÂÂISFS_Close( fd );
    ÂÂÂÂÂÂÂÂerror = ERROR_SYSMENU_TIKREADFAILED;
    ÂÂÂÂÂÂÂÂreturn;
    ÂÂÂÂ}

    ÂÂÂÂISFS_Close( fd );

    ÂÂÂÂr=ES_GetStoredTMDSize(TitleID, &tmd_size);
    #ifdef DEBUG
    ÂÂÂÂprintf("ES_GetStoredTMDSize(%llX, %08X):%d\n", TitleID, (u32)(&tmd_size), r );
    ÂÂÂÂsleep(1);
    #endif
    ÂÂÂÂif(r<0)
    ÂÂÂÂ{
    ÂÂÂÂÂÂÂÂfree( buf );
    ÂÂÂÂÂÂÂÂerror = ERROR_SYSMENU_GETTMDSIZEFAILED;
    ÂÂÂÂÂÂÂÂreturn;
    ÂÂÂÂ}

    ÂÂÂÂsigned_blob *TMD = (signed_blob *)memalign( 32, (tmd_size+32)&(~31) );
    ÂÂÂÂif( TMD == NULL )
    ÂÂÂÂ{
    ÂÂÂÂÂÂÂÂfree( buf );
    ÂÂÂÂÂÂÂÂerror = ERROR_MALLOC;
    ÂÂÂÂÂÂÂÂreturn;
    ÂÂÂÂ}
    ÂÂÂÂmemset(TMD, 0, tmd_size);

    ÂÂÂÂr=ES_GetStoredTMD(TitleID, TMD, tmd_size);
    #ifdef DEBUG
    ÂÂÂÂprintf("ES_GetStoredTMD(%llX, %08X, %d):%d\n", TitleID, (u32)(TMD), tmd_size, r );
    ÂÂÂÂsleep(1);
    #endif
    ÂÂÂÂif(r<0)
    ÂÂÂÂ{
    ÂÂÂÂÂÂÂÂfree( TMD );
    ÂÂÂÂÂÂÂÂfree( buf );
    ÂÂÂÂÂÂÂÂerror = ERROR_SYSMENU_GETTMDFAILED;
    ÂÂÂÂÂÂÂÂreturn;
    ÂÂÂÂ}
    ÂÂÂÂ
    ÂÂÂÂtmd *rTMD = (tmd *)(TMD+(0x140/sizeof(tmd *)));
    #ifdef DEBUG
    ÂÂÂÂprintf("num_contents:%08X\n", rTMD->num_contents );
    #endif

    ÂÂÂÂ//get main.dol filename

    ÂÂÂÂu32 fileID = 0;
    ÂÂÂÂfor(u32 z=0; z < rTMD->num_contents; ++z)
    ÂÂÂÂ{
    ÂÂÂÂÂÂÂÂif( rTMD->contents[z].index == rTMD->boot_index )
    ÂÂÂÂÂÂÂÂ{
    #ifdef DEBUG
    ÂÂÂÂÂÂÂÂÂÂÂÂprintf("%d:%d\n", rTMD->contents[z].index, rTMD->contents[z].cid);
    #endif
    ÂÂÂÂÂÂÂÂÂÂÂÂfileID = rTMD->contents[z].cid;
    ÂÂÂÂÂÂÂÂÂÂÂÂbreak;
    ÂÂÂÂÂÂÂÂ}
    ÂÂÂÂ}

    ÂÂÂÂif( fileID == 0 )
    ÂÂÂÂ{
    ÂÂÂÂÂÂÂÂfree( TMD );
    ÂÂÂÂÂÂÂÂfree( buf );
    ÂÂÂÂÂÂÂÂerror = ERROR_SYSMENU_BOOTNOTFOUND;
    ÂÂÂÂÂÂÂÂreturn;
    ÂÂÂÂ}


    ÂÂÂÂchar * file = (char*)memalign( 32, 256 );
    ÂÂÂÂif( file == NULL )
    ÂÂÂÂ{
    ÂÂÂÂÂÂÂÂfree( TMD );
    ÂÂÂÂÂÂÂÂfree( buf );
    ÂÂÂÂÂÂÂÂerror = ERROR_MALLOC;
    ÂÂÂÂÂÂÂÂreturn;
    ÂÂÂÂ}

    ÂÂÂÂmemset(file, 0, 256 );

    ÂÂÂÂsprintf( file, "/title/00000001/00000002/content/%08x.app", fileID );

    #ifdef NBOOT
    ÂÂÂÂfile[33] = '1'; // Booting renamed system menu so we rename character 33!
    #endif

    ÂÂÂÂfd = ISFS_Open( file, 1 );
    #ifdef DEBUG
    ÂÂÂÂprintf("IOS_Open(%s, %d):%d\n", file, 1, fd );
    ÂÂÂÂsleep(1);
    #endif
    ÂÂÂÂif( fd < 0 )
    ÂÂÂÂ{
    ÂÂÂÂÂÂÂÂfree( TMD );
    ÂÂÂÂÂÂÂÂfree( buf );
    ÂÂÂÂÂÂÂÂfree( file );
    ÂÂÂÂÂÂÂÂISFS_Close( fd );
    ÂÂÂÂÂÂÂÂerror = ERROR_SYSMENU_BOOTOPENFAILED;
    ÂÂÂÂÂÂÂÂreturn;
    ÂÂÂÂ}

    ÂÂÂÂfstats *status = (fstats *)memalign(32, sizeof( fstats ) );
    ÂÂÂÂif( status == NULL )
    ÂÂÂÂ{
    ÂÂÂÂÂÂÂÂfree( TMD );
    ÂÂÂÂÂÂÂÂfree( buf );
    ÂÂÂÂÂÂÂÂfree( file );
    ÂÂÂÂÂÂÂÂISFS_Close( fd );
    ÂÂÂÂÂÂÂÂerror = ERROR_MALLOC;
    ÂÂÂÂÂÂÂÂreturn;
    ÂÂÂÂ}

    ÂÂÂÂr = ISFS_GetFileStats( fd, status);
    #ifdef DEBUG
    ÂÂÂÂprintf("ISFS_GetFileStats(%d, %08X):%d\n", fd, status, r );
    ÂÂÂÂsleep(1);
    #endif
    ÂÂÂÂif( fd < 0 )
    ÂÂÂÂ{
    ÂÂÂÂÂÂÂÂfree( TMD );
    ÂÂÂÂÂÂÂÂfree( buf );
    ÂÂÂÂÂÂÂÂfree( file );
    ÂÂÂÂÂÂÂÂISFS_Close( fd );
    ÂÂÂÂÂÂÂÂerror = ERROR_SYSMENU_BOOTGETSTATS;
    ÂÂÂÂÂÂÂÂreturn;
    ÂÂÂÂ}
    #ifdef DEBUG
    ÂÂÂÂprintf("size:%d\n", status->file_length);
    #endif
    ÂÂÂÂdolhdr *hdr = (dolhdr *)memalign(32, (sizeof( dolhdr )+32)&(~31) );
    ÂÂÂÂmemset( hdr, 0, (sizeof( dolhdr )+32)&(~31) );
    ÂÂÂÂ
    ÂÂÂÂISFS_Seek( fd, 0, SEEK_SET );
    ÂÂÂÂr = ISFS_Read( fd, hdr, sizeof(dolhdr) );
    #ifdef DEBUG
    ÂÂÂÂprintf("ISFS_Read(%d, %08X, %d):%d\n", fd, hdr, sizeof(dolhdr), r );
    ÂÂÂÂsleep(1);
    #endif
    ÂÂÂÂif( r < 0 )
    ÂÂÂÂÂÂÂÂreturn;

    ÂÂÂÂif( hdr->entrypoint != 0x3400 )
    ÂÂÂÂ{
    #ifdef DEBUG
    ÂÂÂÂÂÂÂÂprintf("BOGUS entrypoint:%08X\n", hdr->entrypoint );
    ÂÂÂÂÂÂÂÂsleep(5);
    #endif
    ÂÂÂÂÂÂÂÂISFS_Close( fd );
    ÂÂÂÂÂÂÂÂfree(hdr);
    ÂÂÂÂÂÂÂÂreturn;
    ÂÂÂÂ}

    ÂÂÂÂvoidÂÂÂÂ(*entrypoint)();

    ÂÂÂÂint i=0;
    ÂÂÂÂfor (i = 0; i < 6; i++)
    ÂÂÂÂ{
    ÂÂÂÂÂÂÂÂif( hdr->sizeText && hdr->addressText && hdr->offsetText )
    ÂÂÂÂÂÂÂÂ{
    ÂÂÂÂÂÂÂÂÂÂÂÂICInvalidateRange((void*)(hdr->addressText), hdr->sizeText);
    #ifdef DEBUG
    ÂÂÂÂÂÂÂÂÂÂÂÂprintf("\t%08x\t\t%08x\t\t%08x\t\t\n", (hdr->offsetText), hdr->addressText, hdr->sizeText);
    #endif
    ÂÂÂÂÂÂÂÂÂÂÂÂif( (((hdr->addressText)&0xF0000000) != 0x80000000) || (hdr->sizeText>(10*1024*1024)) )
    ÂÂÂÂÂÂÂÂÂÂÂÂ{
    #ifdef DEBUG
    ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂprintf("BOGUS offsets!\n");
    ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂsleep(5);
    #endif
    ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂreturn;
    ÂÂÂÂÂÂÂÂÂÂÂÂ}

    ÂÂÂÂÂÂÂÂÂÂÂÂISFS_Seek( fd, hdr->offsetText, SEEK_SET );
    ÂÂÂÂÂÂÂÂÂÂÂÂISFS_Read( fd, (void*)(hdr->addressText), hdr->sizeText );

    ÂÂÂÂÂÂÂÂÂÂÂÂDCFlushRange((void*)(hdr->addressText), hdr->sizeText);
    ÂÂÂÂÂÂÂÂ}
    ÂÂÂÂ}

    ÂÂÂÂ// data sections
    ÂÂÂÂfor (i = 0; i <= 10; i++)
    ÂÂÂÂ{
    ÂÂÂÂÂÂÂÂif( hdr->sizeData && hdr->addressData && hdr->offsetData )
    ÂÂÂÂÂÂÂÂ{
    ÂÂÂÂÂÂÂÂÂÂÂÂICInvalidateRange((void*)(hdr->addressData), hdr->sizeData);
    #ifdef DEBUG
    ÂÂÂÂÂÂÂÂÂÂÂÂprintf("\t%08x\t\t%08x\t\t%08x\t\t\n", (hdr->offsetData[i]), hdr->addressData[i], hdr->sizeData[i]);
    #endif
    ÂÂÂÂÂÂÂÂÂÂÂÂif( (((hdr->addressData[i])&0xF0000000) != 0x80000000) || (hdr->sizeData[i]>(10*1024*1024)) )
    ÂÂÂÂÂÂÂÂÂÂÂÂ{
    #ifdef DEBUG
    ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂprintf("BOGUS offsets!\n");
    ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂsleep(5);
    #endif
    ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂreturn;
    ÂÂÂÂÂÂÂÂÂÂÂÂ}

    ÂÂÂÂÂÂÂÂÂÂÂÂISFS_Seek( fd, hdr->offsetData[i], SEEK_SET );
    ÂÂÂÂÂÂÂÂÂÂÂÂISFS_Read( fd, (void*)(hdr->addressData[i]), hdr->sizeData[i] );

    ÂÂÂÂÂÂÂÂÂÂÂÂDCFlushRange((void*)(hdr->addressData[i]), hdr->sizeData[i]);
    ÂÂÂÂÂÂÂÂ}

    ÂÂÂÂ}

    ÂÂÂÂentrypoint = (void (*)())(hdr->entrypoint);
    #ifdef DEBUG
    ÂÂÂÂprintf("entrypoint: %08X\n", entrypoint );

    ÂÂÂÂsleep(5);
    #endif

    ÂÂÂÂLoadHacks();
    ÂÂÂÂWPAD_Shutdown();

    ÂÂÂÂ__ES_Close();
    ÂÂÂÂ__ES_Init();
    ÂÂÂÂif( SGetSetting(SETTING_SYSTEMMENUIOS) == 0 )
    ÂÂÂÂÂÂÂÂ__IOS_LaunchNewIOS(rTMD->sys_version);
    ÂÂÂÂelse
    ÂÂÂÂÂÂÂÂ__IOS_LaunchNewIOS(SGetSetting(SETTING_SYSTEMMENUIOS));
    ÂÂÂÂ//__IOS_LaunchNewIOS(rTMD->sys_version);
    ÂÂÂÂ//__IOS_LaunchNewIOS(249);
    #ifdef DEBUG
    ÂÂÂÂprintf("Loading IOS: %08X\n", rTMD->sys_version );
    ÂÂÂÂsleep(5);
    #endif
    ÂÂÂÂ__IOS_InitializeSubsystems();

    ÂÂÂÂr = ES_Identify( (signed_blob *)certs_bin, certs_bin_size, (signed_blob *)TMD, tmd_size, (signed_blob *)buf, tstatus->file_length, &tempKeyID);

    ÂÂÂÂif( r < 0 )
    ÂÂÂÂ{
    ÂÂÂÂÂÂÂÂr = ES_Identify((signed_blob *)certs_bin, certs_bin_size,(signed_blob *)su_tmd, su_tmd_size,(signed_blob *)su_tik, su_tik_size, &tempKeyID);
    ÂÂÂÂÂÂÂÂÂÂÂÂif( r < 0 )
    ÂÂÂÂÂÂÂÂÂÂÂÂ{
    ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂerror=ERROR_SYSMENU_ESDIVERFIY_FAILED;
    ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂreturn;
    ÂÂÂÂÂÂÂÂÂÂÂÂ}
    ÂÂÂÂ}

    #ifdef DEBUG
    ÂÂÂÂprintf("ES_Identify():%d\n", r);
    ÂÂÂÂsleep(5);
    #endif
    ÂÂÂÂ//ES_SetUID(TitleID);
    ÂÂÂÂfree(TMD);
    ÂÂÂÂfree( status );
    ÂÂÂÂfree( tstatus );
    ÂÂÂÂfree( buf );

    ÂÂÂÂ*(vu32*)0x800000F8 = 0x0E7BE2C0;ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ// Bus Clock Speed
    ÂÂÂÂ*(vu32*)0x800000FC = 0x2B73A840;ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ// CPU Clock Speed

    #ifdef DEBUG
    ÂÂÂÂprintf("Hacks:%d\n", hacks.size() );
    #endif
    ÂÂÂÂ//Apply patches
    ÂÂÂÂfor( u32 i=0; i<hacks.size(); ++i)
    ÂÂÂÂ{
    #ifdef DEBUG
    ÂÂÂÂÂÂÂÂprintf("i:%d state:%d version:%d\n", i, states[i], hacks[i].version);
    #endif
    ÂÂÂÂÂÂÂÂif( states[i] == 1 )
    ÂÂÂÂÂÂÂÂ{
    ÂÂÂÂÂÂÂÂÂÂÂÂif( hacks[i].version != rTMD->title_version )
    ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂcontinue;

    ÂÂÂÂÂÂÂÂÂÂÂÂfor( u32 z=0; z < hacks[i].value.size(); ++z )
    ÂÂÂÂÂÂÂÂÂÂÂÂ{
    #ifdef DEBUG
    ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂprintf("%08X:%08X\n", hacks[i].offset[z], hacks[i].value[z] );
    #endif
    ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ*(vu32*)(hacks[i].offset[z]) = hacks[i].value[z];
    ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂDCFlushRange((void*)(hacks[i].offset[z]), 4);
    ÂÂÂÂÂÂÂÂÂÂÂÂ}
    ÂÂÂÂÂÂÂÂ}
    ÂÂÂÂ}
    #ifdef DEBUG
    ÂÂÂÂsleep(20);
    #endif
    ÂÂÂÂ__io_wiisd.shutdown();
    ÂÂÂÂ__STM_Close();
    ÂÂÂÂ__IOS_ShutdownSubsystems();
    ÂÂÂÂmtmsr(mfmsr() & ~0x8000);
    ÂÂÂÂmtmsr(mfmsr() | 0x2002);

    ÂÂÂÂ_unstub_start();

    }<!--c2--></div><!--ec2-->[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
     
  19. XFlak

    Member XFlak Wiitired but still kicking

    Joined:
    Sep 12, 2009
    Messages:
    9,122
    Location:
    Ontario
    Country:
    Canada
    do you have this short cut in your crazyintro.xml file?



    This should allow u to boot 2 the sys menu from crazy intro

    This should work, it works for me, and I have my settings to return to system menu though, not sure if that will make a difference in this case.
     
  20. laurozza
    OP

    Member laurozza GBAtemp Fan

    Joined:
    Sep 17, 2008
    Messages:
    348
    Country:
    Italy
    Doesn't work, because with that in crazyintro.xml file it's a simple return to.
    And with the "return to" option to set to autoboot in preloader, doesn't solve the problem.
     

Share This Page