Hacking Nintendont

  • Thread starter Thread starter sabykos
  • Start date Start date
  • Views Views 10,174,154
  • Replies Replies 42,894
  • Likes Likes 194
For users who compile often with different version, you can do like me.
I keep multiple devkitARM/PPC in my devkitpro folder, and use SET to use the correct version before compiling.

Code:
set DEVKITPPC=/c/devkitPro/devkitPPC_r26
set DEVKITARM=/c/devkitPro/devkitARM_r32
cd kernel
make clean
make
cd ../Loader
make clean
make
cd ..


For DSP, you need to compile a version with Kernel debug enabled.
Then look in the log file on your SD card.

Kernel/global.h
//#define DEBUG 1 <--- uncomment this one
//#define DEBUG_ES 1
//#define DEBUG_HID 1
//#define DEBUG_DI 1
//#define DEBUG_SD 1
//#define DEBUG_EXI 1


Next revision will have a fix for Pads with Digital shoulder buttons (no Analog L/R).
For such pads, pressing L or R will always register a full pressed button.

I can also define the kernel debug so everyone will find DSP version without recompiling.
 
  • Like
Reactions: bm123456
For users who compile often with different version, you can do like me.
I keep multiple devkitARM/PPC in my devkitpro folder, and use SET to use the correct version before compiling.

Code:
set DEVKITPPC=/c/devkitPro/devkitPPC_r26
set DEVKITARM=/c/devkitPro/devkitARM_r32
cd kernel
make clean
make
cd ../Loader
make clean
make
cd ..


For DSP, you need to compile a version with Kernel debug enabled.
Then look in the log file on your SD card.

Kernel/global.h



Next revision will have a fix for Pads with Digital shoulder buttons (no Analog L/R).
For such pads, pressing L or R will always register a full pressed button.

I can also define the kernel debug so everyone will find DSP version without recompiling.
Are you part of the project?
 
For users who compile often with different version, you can do like me.
//#define DEBUG 1 <--- uncomment this one
//#define DEBUG_ES 1
//#define DEBUG_HID 1
//#define DEBUG_DI 1
//#define DEBUG_SD 1
//#define DEBUG_EXI 1

Hasn't worked for. Probably because I use a Wii instead of WiiU and because of this line from the function dbgprint in vsprint.c:
Code:
    if( IsWiiU )
    {
        u32 read; 
        FIL file;
 
        if( SDisInit )
        {
            if( f_open( &file, "/ndebug.log", FA_OPEN_ALWAYS|FA_WRITE ) == FR_OK )
            {
                f_lseek( &file, file.fsize );
                f_write( &file, buffer, strlen(buffer), &read );
                f_close( &file );
            }
        }
 
    } else {
        svc_write(buffer);
    }
Obviously it only writes to ndebug.log file, if isWiiU returns true... I haven't figuered out what svc_write does, though...

EDIT: svc_write is an assembler function from syscalls.s. Anyone found the code where ndebug.log is created?
 
hey,
im back with kernel -1 error. i tested my sd card on brothers wii (he has an old one with gamecube support) and nintendont runs flawless on his wii. our firmware and ios are identical.

my syscheck: http://syscheck.wii-homebrew.com/#!N2U1NWVmYjA4YmM4
brothers syscheck: http://syscheck.wii-homebrew.com/#!OTQzMjE2MzFiMWVk

the only tiny different is, that i have IOS3 ( i dunno why) we flashed the console exactly the same way and nearly at the same time.

is it maybe a problem with family edition wiis?
 
By the way, I had some alerts while compiling.

Maybe it would make sense to add

Code:
void svc_write(const char *str);

to syscall.h

Further if you uncomment #define DEBUG_XX" in global.h, you should add

Code:
#include "vsprintf.h"

to Config.c and common.c.
 
yes, I'm using that address on googlecode.
I wanted to commit both L/R patch and Disc swap patch, but I still can't get disc swapping to work correctly, so I'll commit a version with the gamepad patch only. (or with the part I did for disc swapping too, even if not working, so you could test yourself?)

Maybe it's Tales of Symphonia's problem. it's detecting the disc change, but stay on "Checking disc..." indefinitely (with DVD_STATE_BUSY).
I tried Kaitos ocean and Kaitos origin, but the games are not working. I'll have to test with other games (Killer7 or MGS)

I'm wondering if it could be a patching issue.

hey,
im back with kernel -1 error. i tested my sd card on brothers wii (he has an old one with gamecube support) and nintendont runs flawless on his wii. our firmware and ios are identical.
is it maybe a problem with family edition wiis?
Maybe it's caused by patched IOS stored in your shared folder? Nintendont use files in the shared folder too.
I didn't check this part of the code yet, but maybe try to install a clean IOS55 and IOS58 (with Wad installer 1.7 for example, it's not patching the files without telling you).
 
I just finished playing through tales on devo and sometimes I had to swap the discs back and forth a couple times before it would register. But I assume you've tried that.
 
yes, I'm using that address on googlecode.
I wanted to commit both L/R patch and Disc swap patch, but I still can't get disc swapping to work correctly, so I'll commit a version with the gamepad patch only. (or with the part I did for disc swapping too, even if not working, so you could test yourself?)

Maybe it's Tales of Symphonia's problem. it's detecting the disc change, but stay on "Checking disc..." indefinitely (with DVD_STATE_BUSY).
I tried Kaitos ocean and Kaitos origin, but the games are not working. I'll have to test with other games (Killer7 or MGS)

I'm wondering if it could be a patching issue.

Maybe it's caused by patched IOS stored in your shared folder? Nintendont use files in the shared folder too.
I didn't check this part of the code yet, but maybe try to install a clean IOS55 and IOS58 (with Wad installer 1.7 for example, it's not patching the files without telling you).

thanks... what u mean by shared folder? do u mean the files on sdcard? as i said i used my sd card on his wii. i never installed a ios with wad manager, but i think my one is a clean one? i never changed something on it.
 
thanks... what u mean by shared folder? do u mean the files on sdcard? as i said i used my sd card on his wii. i never installed a ios with wad manager, but i think my one is a clean one? i never changed something on it.
IIRC /shared is stored in the nand. don't quote me on that though.
 
yes, the /shared/ folder is in your NAND. it's a place where files are shared among multiple games or IOS, so instead of having multiple copies of the same file on your limited Wii NAND size, it's using a common folder.
I don't know if kernel-1 is caused by your shared folder, like I said I didn't check that part yet. it was only something easy you could try (reinstall a clean IOS) before doing more debugging.
 

Site & Scene News

Popular threads in this forum