Hacking Nintendont

pedro702

Well-Known Member
Member
Joined
Mar 3, 2014
Messages
12,731
Trophies
2
Age
34
XP
8,740
Country
Portugal
I dont think its the Wii U. Maybe cause of console regions?
dkn for intance both splinter cell and the sequl pandora tomorow only work on my wiiu otherwise they freeze after licensed by nintendo on my wii, but there is games on the compat list i cant boot on the wiiu or wii and that game is batman begins tryed all region isos all md5 checked and no dice tryed 3 diferent usb devices and even on the SD, i guess some games may be more sensitive to maybe cluster sizes or something.
 

pedro702

Well-Known Member
Member
Joined
Mar 3, 2014
Messages
12,731
Trophies
2
Age
34
XP
8,740
Country
Portugal
So that STILL leaves me with European Assault not booting since God knows when.
I am starting to think that is a Wii U specific issue, since I haven't tried the game on a Wii.
tested i can confirm european assault does not boot on the wiiu only on the wii tryed 4 times got black screen went back to the wii and it worked on the first try same hdd same iso
 

Rob Blou

Well-Known Member
Member
Joined
Jul 16, 2013
Messages
754
Trophies
0
Age
41
XP
1,508
Country
Canada
Do you use a hid controller? I use a wavebird and it disconnects too quickly. It only happened with SADX and a demo disc.

I just played for 15 mins and everything is smooth except for the button double trigger and I also noticed that they trigger when I release a button :P I was using R142
 

ShadowOne333

QVID PRO QVO
Editorial Team
Joined
Jan 17, 2013
Messages
12,230
Trophies
2
XP
34,611
Country
Mexico
tested i can confirm european assault does not boot on the wiiu only on the wii tryed 4 times got black screen went back to the wii and it worked on the first try same hdd same iso

So as I thought, the problem is related to booting the game on the Wii U.
This could be a major thing when trying to know why a game boots for some people and why it does not for others.
It could be the ISO, Shrunk ISO, bad rip, wrong region, are some problems for a game not booting for some...

And now it seems that the console in which you boot them can also be a variable here.

Although, I have no idea as to why does that happen.
 

pedro702

Well-Known Member
Member
Joined
Mar 3, 2014
Messages
12,731
Trophies
2
Age
34
XP
8,740
Country
Portugal
So as I thought, the problem is related to booting the game on the Wii U.
This could be a major thing when trying to know why a game boots for some people and why it does not for others.
It could be the ISO, Shrunk ISO, bad rip, wrong region, and now it seems that the console in which you boot them has something to do with that issue too.

Although, I have no idea as to why does that happen.
it seems to be only that game but only a dev with both wii and wiiu would be able to figure out why that happens tough.
 

pedro702

Well-Known Member
Member
Joined
Mar 3, 2014
Messages
12,731
Trophies
2
Age
34
XP
8,740
Country
Portugal
But you said something about the Splinter Cell games too, right?
So that makes at least 3 games that have that issue.
but those aparently are only my issue since someone here said they booted on their normal wii my wii just doesnt want to boot them for some odd reason lol
 

ShadowOne333

QVID PRO QVO
Editorial Team
Joined
Jan 17, 2013
Messages
12,230
Trophies
2
XP
34,611
Country
Mexico
but those aparently are only my issue since someone here said they booted on their normal wii my wii just doesnt want to boot them for some odd reason lol

Hahah well that's ood.
I booted Chaos Theory once on my Wii U and got it playing at around r1.114 or so.
All my games are tested on a Wii U so I cannot tell for the game booting on the Wii.

Anyway, only European Assault has that issue of booting on a Wii but not on Wii U as far as we know for now.
 

solidhit

Active Member
Newcomer
Joined
Apr 25, 2011
Messages
41
Trophies
0
XP
126
Country
Greece
FIX94

I just finished doing some testing for the new reset function in r142 with the games I own.

(Original PAL Wii with gamecube controller, games all PAL except Auto Modelista which is NTSC)

Here is what happens when I press R + Z + Start

Auto Modelista - OK
Chibi Robo - Black Screen
Crazy Taxi - OK
F-Zero GX - OK
Ikaruga - OK
Kirby Air Ride - OK
Luigi's Mansion - OK
Mario Kart - Doubledash - OK
Mario Power Tennis - Black Screen
Sonic Adventure 2 Battle - OK
Sonic Mega Collection - OK
Star Wars: Rogue Leader - OK
Super Bust a Move All Stars - OK
Super Mario Sunshine - OK
Super Smash Bros Melee - OK
Zelda: Windwaker - OK
Timesplitter: Future Perfect - Black Screen
Viewtiful Joe 2 - OK
Wave Race: Blue Storm - Black Screen
 

Aozz2

Active Member
Newcomer
Joined
Jun 29, 2014
Messages
37
Trophies
0
Location
Texas
XP
452
Country
United States
did you try with the latest v1.142 build? because i did and it's working perfect!
update to latest version and use a clean 1:1 image of the game.
you must be using an outdated build.
ya your right, im using 1.141 ill go ahead update, thanks for the info :)
 

daxtsu

Well-Known Member
Member
Joined
Jun 9, 2007
Messages
5,627
Trophies
2
XP
5,194
Country
Antarctica
Argh, I still can't get argsboot to work for the life of me. Nintendont boots, but it ignores what I copy into the argv stuct. :nayps3:

It's really frustrating, especially when a hex dump into a char buffer looks correct to me (first arg is "usb://apps/nintendont/boot.dol", second is the NIN_CFG struct, which looks to be the correct size, and everything is set properly..).

Does anything look obviously wrong? A second set of eyes can probably help..

Edit: I think I found it, in DolBoot, it's overwriting my args with some other arbitrary args struct. Guess I need a custom version of DolBoot too. Ugh..

Edit 2: Well, it's not that. Even if I comment out the memmove and such in DolBoot, Nintendont still refuses to see the struct passed via argv. I'm about to just give up.

Code:
#define CMDL_ADDR      ((u8 *) 0x93200000+sizeof(struct __argv))
#define EXECUTE_ADDR  ((u8 *) 0x92000000)
#define BOOTER_ADDR    ((u8 *) 0x93000000)
#define ARGS_ADDR      ((u8 *) 0x93200000)
 
int LoadHB (char *path, u8 *addr)
    {
    FILE *f;
    int size;
    int chunks;
    int bytes;
    u8 *buff = addr;
 
    f = fopen (path, "rb");
    if (!f) return -1;
 
    fseek( f, 0, SEEK_END);
    size = ftell(f);
    fseek( f, 0, SEEK_SET);
 
    chunks = size / 10;
    if (chunks < 64)
        chunks = 64;
 
    bytes = 0;
    do
        {
        bytes += fread(buff, 1, chunks, f );
        buff = addr + bytes;
 
        MasterInterface (1, 0, TEX_HDD, "Loading '%s'...\n%d %% done", path, (bytes * 100) / size);
        }
    while (bytes < size);
 
    fclose (f);
    DCFlushRange((void *) addr, size);
 
    return size;
    }
 
    bool NIN_Boot(s_game *game, s_gameConfig *gameConf, char *error_string, int error_strlen)
    {
        // TODO: Make booting old Nintendont versions possible.
        if (false)
            return NIN_BootLegacy(game, gameConf, error_string, error_strlen);
 
        NIN_CFG config = { 0 };
        config.MagicBytes = NIN_MAGIC;
        config.Version = NIN_CFG_VERSION;
        config.Config = NIN_CFG_BIT_AUTO_BOOT;
 
        config.Config |= NIN_CFG_BIT_OSREPORT;
        config.Config |= NIN_CFG_BIT_USB;
        config.Config |= NIN_CFG_BIT_MEMCARDEMU;
        config.VideoMode |= NIN_VID_AUTO;
        config.Language = gameConf->ninLanguage;
 
        const char * const gamesPath = strstr(game->source, "/games/");
        sprintf(config.GamePath, "%s/game.iso", gamesPath);
 
        config.MaxPads = NIN_CFG_MAXPADS;
 
        memcpy(&config.GameID, game->asciiId, sizeof(int));
 
      Video_LoadTheme(0); // Make sure that theme isn't loaded
 
        CoverCache_Flush();
 
        if (LoadHB("usb://apps/nintendont/boot.dol", EXECUTE_ADDR) <= 0)
        {
            const char const *error = "Unable to load nintendont dol";
            strncpy(error_string, error, strlen(error));
            return false;
        }
 
        struct __argv arg;
        memset(&arg, 0, sizeof(struct __argv));
        arg.argvMagic = ARGV_MAGIC;
        arg.argc = 2;
 
        arg.commandLine = (char*)CMDL_ADDR;
        int len = strlen("usb://apps/nintendont/boot.dol");
 
      // memcpy(&arg.commandLine[0], "usb://apps/nintendont/boot.dol", strlen("usb://apps/nintendont/boot.dol"));
        sprintf(arg.commandLine, "%s", "usb://apps/nintendont/boot.dol");
        memcpy(&arg.commandLine[len + 1], &config, sizeof(NIN_CFG));
 
        len += sizeof(NIN_CFG);
 
        arg.length = len;
 
        arg.commandLine[len - 1] = '\0';
        arg.argv = &arg.commandLine;
        arg.endARGV = arg.argv + 1;
 
        memcpy(ARGS_ADDR, &arg, sizeof(struct __argv));
 
        DCFlushRange(ARGS_ADDR, sizeof(struct __argv));
 
        DolBoot();
 
        return false;
    }
 
void DolBoot (void)
    {
    u32 level;
 
    gprintf ("DolBoot\n");
 
    Shutdown ();
 
    memmove(ARGS_ADDR, &arg, sizeof(arg));
    DCFlushRange(ARGS_ADDR, sizeof(arg) + arg.length);
 
  // (...)
  // Snipped out some irrelevant stuff
 
 
    gprintf ("booter_dol\n");
    memcpy(BOOTER_ADDR, booter_dol, booter_dol_size);
    DCFlushRange(BOOTER_ADDR, booter_dol_size);
 
    entrypoint hbboot_ep = (entrypoint) BOOTER_ADDR;
 
    // Try to reload os... maybe this is not needed when NOT executed under homebrew, but a lot of
    // programs (like WiiMC) aren't able to find any usb device
    gprintf ("reload\n");
    ios_ReloadIOS (-1, NULL);
 
    // Execute dol
    gprintf ("execute\n");
    SYS_ResetSystem(SYS_SHUTDOWN, 0, 0);
    _CPU_ISR_Disable(level);
    __exception_closeall();
    hbboot_ep();
    _CPU_ISR_Restore(level);
    }
 

Obnobs

Active Member
Newcomer
Joined
Aug 11, 2014
Messages
25
Trophies
0
Age
28
Location
Minnesota
XP
137
Country
United States
I'm trying to figure out how to load a cheat or a save on to my PAL and 1.2 versions of Super Smash Bros. Melee. I've had no luck so far, could anyone write a mini-tutorial or something?

I'm using USB Loader GX
 

dreamon

Well-Known Member
Newcomer
Joined
Jun 13, 2010
Messages
61
Trophies
0
Age
37
XP
221
Country
The Fairly OddParents: Shadow Showdown (USA) [GFOE78] *WORKING*
Sources: 1:1 ISO and Shrunked Image
DSP: DSPv3
Nintendont Build: v1.142
Loader: USB Loader GX v.r1230
Memory Card Support: Yes
Widescreen 480p Support: Yes
Shrunk: Working / Shrunk Size: 1.34 GB
Status: Working

The Fairly OddParents - Breakin' Da Rules [GFWE78] *WORKING*
Sources: 1:1 ISO and Shrunked Image
DSP: DSPv3
Nintendont Build: v1.142
Loader: USB Loader GX v.r1230
Memory Card Support: Yes
Widescreen 480p Support: Yes
Shrunk: Working / Shrunk Size: 1.34 GB
Status: Working

The Powerpuff Girls: Relish Rampage (USA) [GPQE6L] *WORKING*
Sources: 1:1 ISO and Shrunked Image
DSP: DSPv4
Nintendont Build: v1.142
Loader: USB Loader GX v.r1230
Memory Card Support: Yes
Widescreen 480p Support: Yes
Shrunk: Working (Issue: Intro and cutscenes play silent) / Shrunk Size: 1.19 GB
Status: Working
Issue: Intro and cutscenes play silent

Homeland (Japan) [GHEJ91] *WORKING*
Sources: 1:1 ISO and Shrunked Image
DSP: DSPv9
Nintendont Build: v1.142
Loader: USB Loader GX v.r1230
Memory Card Support: Yes
Widescreen 480p Support: Yes
Shrunk: Working / Shrunk Size: 822 MB
Status: Working

Lemony Snicket's A Series Of Unfortunate Events (USA) [GLCE52] *WORKING*
Sources: 1:1 ISO and Shrunked Image
DSP: DSPv3
Nintendont Build: v1.142
Loader: USB Loader GX v.r1230
Memory Card Support: Yes
Widescreen 480p Support: Yes
Shrunk: Working / Shrunk Size: 1.28 GB
Status: Working

Monopoly Party (USA) [GMQE70] *WORKING*
Sources: 1:1 ISO and Shrunked Image
DSP: DSPv4
Nintendont Build: v1.142
Loader: USB Loader GX v.r1230
Memory Card Support: Yes
Widescreen 480p Support: Yes
Shrunk: Working / Shrunk Size: 867 MB
Status: Working
 

FIX94

Former Staff
Former Staff
Joined
Dec 3, 2009
Messages
7,284
Trophies
0
Age
30
Location
???
XP
11,248
Country
Germany
Argh, I still can't get argsboot to work for the life of me. Nintendont boots, but it ignores what I copy into the argv stuct. :nayps3:

It's really frustrating, especially when a hex dump into a char buffer looks correct to me (first arg is "usb://apps/nintendont/boot.dol", second is the NIN_CFG struct, which looks to be the correct size, and everything is set properly..).

Does anything look obviously wrong? A second set of eyes can probably help..

I cant directly see anything wrong with it no, I guess I would need to see the whole code to understand whats wrong.
 

daxtsu

Well-Known Member
Member
Joined
Jun 9, 2007
Messages
5,627
Trophies
2
XP
5,194
Country
Antarctica
I cant directly see anything wrong with it no, I guess I would need to see the whole code to understand whats wrong.

I figured it out. I was using NIN_CFG_BIT_AUTO_BOOT by accident in setting up the config (and Nintendont rejects the in-memory argv struct if NIN_CFG_AUTO_BOOT isn't set).
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Veho @ Veho: Click on your profile pic in the top right corner, and you'll get the profile menu popup, with... +1