Hacking Nintendont

  • Thread starter Thread starter sabykos
  • Start date Start date
  • Views Views 10,172,984
  • Replies Replies 42,894
  • Likes Likes 194
With version 1.20 USBLoaderGX says the revision I'm using doesn't support loading games from USB
That's because the version is not correctly detected anymore due to the new \r character added on all written text.
I'll provide a new USBGX version. in few minutes.


Log for joostin:
Code:
        BootGame: GMSE01
NIN: Loader path = sd:/apps/nintendont/v1.20 (r20)/loader.dol
NIN: Copying sd:/codes/GMSE01.gct to usb1:/NINTemp.gct
NIN: Cfg path : sd:/nincfg.bin
NIN: Loading cheat /NINTemp.gct
NIN: config 0x000006f9
NIN: Video mode 0x00000014
NIN: Language 0x00000002
NIN: Copying sd:/nincfg.bin to usb1:/nincfg.bin...done
ReloadIos: Found TMD access rights check at 0x939f4c5c
Reloaded to IOS58
Exiting USBLoaderGX...

Nintendont Loader
Built   : Apr 30 2014 16:28:15
Version : 1.20
VI:TVEurgb60Hz480Prog
TMDSize:1168
BootIndex:18
Kernel:"/shared1/00000067.app"
KernelSize:168920
LoaderSize:00000594
PHeaders:15
PHOffset:52
Type:1 Offset:000000A0 VAdr:20100000 PAdr:139F0000 FSz:0000CFBC MSz:0000CFBC
  O:Type:1 Offset:00012CF8 VAdr:20100000 PAdr:139F0000 FSz:0000C120 MSz:0000C120  N:Type:1 Offset:00028E44 VAdr:20100000 PAdr:139F0000 FSz:0000CFBC MSz:0000CFBC
Type:1 Offset:0000D05C VAdr:2010D000 PAdr:139FD000 FSz:00000C00 MSz:00000C00
  O:Type:1 Offset:0001EE18 VAdr:2010D000 PAdr:139FD000 FSz:00000180 MSz:00000180  N:Type:1 Offset:00035E00 VAdr:2010D000 PAdr:139FD000 FSz:00000C00 MSz:00000C00
Type:1 Offset:0000DC60 VAdr:2010E000 PAdr:139FE000 FSz:00000000 MSz:00000700
  O:Type:1 Offset:0001EF98 VAdr:2010E000 PAdr:139FE000 FSz:00000000 MSz:000046AC  N:Type:1 Offset:0001EF98 VAdr:2010E000 PAdr:139FE000 FSz:00000000 MSz:000046AC
Found Unused SWI at 000126F4
Found Unused SWI at 0001E280
Found SWI at 0001F554
Found Unused SWI at 000270FC
Found HWAccess_ES at 000290B8
Autobooting:"/games/Super Mario Sunshine [GMSE01]/game.iso"
Using usb:/saves/GMSE.raw as Memory Card.



        Exception (DSI) occurred!
        GPR00 812B27B0 GPR08 81524518 GPR16 00000000 GPR24 00000000
        GPR01 813892D0 GPR09 00000880 GPR17 00000000 GPR25 00000000
        GPR02 812E3988 GPR10 81524D98 GPR18 00000000 GPR26 812DD995
        GPR03 00000000 GPR11 812F17F8 GPR19 00000000 GPR27 00000000
        GPR04 00000000 GPR12 CD006438 GPR20 00000000 GPR28 003A1820
        GPR05 00000000 GPR13 812F1E80 GPR21 00000000 GPR29 81360000
        GPR06 00000058 GPR14 00000000 GPR22 00000000 GPR30 81368D20
        GPR07 812F17F0 GPR15 00000000 GPR23 00000000 GPR31 81524D28
        LR 812B27B0 SRR0 812b280c SRR1 00009032 MSR 00001000
        DAR 0000000C DSISR 06000000

        STACK DUMP:
        812b280c --> 812b27b0 --> 812803c0 --> 81299bcc -->
        81299b80

        CODE DUMP:
        812b280c:  9065000C 90A30008 7CAA3214 2F840000
        812b281c:  80A50004 70A30001 4082002C 7D293214
        812b282c:  80CA0008 409E0014 3CA0812F 38A517F8

        Reloading in 10 seconds
 
You gave me the wrong file again.

I need you to give me the nloader.log file from after a session when it crashed. It creates a fresh one each time.

I don't have a file named "nloader.log"!o_O

Edit: and I can't enable debug option in the settings since it crashed before the settings can be reached
If debug option needs to be "on" I can compile wiiflow with autoboot and debug enabled by default.
Let me know if that would help

Correct me if I'm wrong, Joostin, but from what I see in exi.c in the source for the loader, the nloader.log is created only on WiiU.

As I haven't seen WiiFreasko mention which console he's using, maybe if he's using a Wii that would explain why he doesn't have the log to show you.

Edit: I just saw his screenshots again, and he's using a Wii, so the log is not being created.
 
  • Like
Reactions: JoostinOnline
it was set for WiiU only to replace usbgecko log.
I posted a log two post above with v1.20

again, it's not useful, there's not enough informations logged.
you should try to boot from USBGX yourself to correctly set breakpoints and debug informations.
it's random so it's not easy to know if it's fixed if it doesn't crash.

Maybe it's a problem in USBGX homebrew booter? It never crash with Wiiflow?
I'll try launching with ASM.


1222_mod02 available.
 
  • Like
Reactions: faku1810
So, I didnt come to bluetooth analyzing yet, I still try to figure out broken controls. I did try alot, at the moment I did comment out all our current patches for the pad and now just generally patch all pad commands to the wii gc controller directly, so its just everything starting with 0xCC0064XX is starting at 0xCD0064XX on the wii, that works fine in all games EXCEPT mario smash football which I try to figure out why its not controllable. I guess that we do apply a wrong patch or something, now I just need to find out which one.
 
it was set for WiiU only to replace usbgecko log.
I posted a log two post above with v1.20

again, it's not useful, there's not enough informations logged.
you should try to boot from USBGX yourself to correctly set breakpoints and debug informations.
it's random so it's not easy to know if it's fixed if it doesn't crash.

Maybe it's a problem in USBGX homebrew booter? It never crash with Wiiflow?
I'll try launching with ASM.


1222_mod02 available.

1222_mod02 still crashed on Luigi Mansion with cheats

1hoxll.jpg
 
Yesterdey I had an original ps3 controller from a workmate and I realized that probably I missed that also HidTest required the PS button to be pressed. Without this action the original gamepad behaves exactly like my compatible pads (deteced, but no values displayed or changed when a button is pressed), so I guess the reason they don't work is something different sent back to Nintendont/HidTest when pressing the button than "should" be the corresponding of PS.
Just for curiosity can some coder tell me the reason why it is necessary to press the PS button to enable the original gamepad and, if not strictly needed by the pad, where in the code is the check for that pressure (should be byte 5 of the 49 bytes array)?
I noticed also that if for some reason the gamepad is disconnected while playing (the cable supplied is really short) it cannot be reconnected on the fly (leds keep flashing and nothing happens pressing the PS button again) and you need to power down the console and restart the game: can this be fixed?
Thank you in advance for any replies.
 
That's because the version is not correctly detected anymore due to the new \r character added on all written text.
I'll provide a new USBGX version. in few minutes.
Sorry about that, I didn't realize it would affect the version detection.


Log for joostin:
Code:
        BootGame: GMSE01
NIN: Loader path = sd:/apps/nintendont/v1.20 (r20)/loader.dol
NIN: Copying sd:/codes/GMSE01.gct to usb1:/NINTemp.gct
NIN: Cfg path : sd:/nincfg.bin
NIN: Loading cheat /NINTemp.gct
NIN: config 0x000006f9
NIN: Video mode 0x00000014
NIN: Language 0x00000002
NIN: Copying sd:/nincfg.bin to usb1:/nincfg.bin...done
ReloadIos: Found TMD access rights check at 0x939f4c5c
Reloaded to IOS58
Exiting USBLoaderGX...
 
Nintendont Loader
Built  : Apr 30 2014 16:28:15
Version : 1.20
VI:TVEurgb60Hz480Prog
TMDSize:1168
BootIndex:18
Kernel:"/shared1/00000067.app"
KernelSize:168920
LoaderSize:00000594
PHeaders:15
PHOffset:52
Type:1 Offset:000000A0 VAdr:20100000 PAdr:139F0000 FSz:0000CFBC MSz:0000CFBC
  O:Type:1 Offset:00012CF8 VAdr:20100000 PAdr:139F0000 FSz:0000C120 MSz:0000C120  N:Type:1 Offset:00028E44 VAdr:20100000 PAdr:139F0000 FSz:0000CFBC MSz:0000CFBC
Type:1 Offset:0000D05C VAdr:2010D000 PAdr:139FD000 FSz:00000C00 MSz:00000C00
  O:Type:1 Offset:0001EE18 VAdr:2010D000 PAdr:139FD000 FSz:00000180 MSz:00000180  N:Type:1 Offset:00035E00 VAdr:2010D000 PAdr:139FD000 FSz:00000C00 MSz:00000C00
Type:1 Offset:0000DC60 VAdr:2010E000 PAdr:139FE000 FSz:00000000 MSz:00000700
  O:Type:1 Offset:0001EF98 VAdr:2010E000 PAdr:139FE000 FSz:00000000 MSz:000046AC  N:Type:1 Offset:0001EF98 VAdr:2010E000 PAdr:139FE000 FSz:00000000 MSz:000046AC
Found Unused SWI at 000126F4
Found Unused SWI at 0001E280
Found SWI at 0001F554
Found Unused SWI at 000270FC
Found HWAccess_ES at 000290B8
Autobooting:"/games/Super Mario Sunshine [GMSE01]/game.iso"
Using usb:/saves/GMSE.raw as Memory Card.
 
 
 
        Exception (DSI) occurred!
        GPR00 812B27B0 GPR08 81524518 GPR16 00000000 GPR24 00000000
        GPR01 813892D0 GPR09 00000880 GPR17 00000000 GPR25 00000000
        GPR02 812E3988 GPR10 81524D98 GPR18 00000000 GPR26 812DD995
        GPR03 00000000 GPR11 812F17F8 GPR19 00000000 GPR27 00000000
        GPR04 00000000 GPR12 CD006438 GPR20 00000000 GPR28 003A1820
        GPR05 00000000 GPR13 812F1E80 GPR21 00000000 GPR29 81360000
        GPR06 00000058 GPR14 00000000 GPR22 00000000 GPR30 81368D20
        GPR07 812F17F0 GPR15 00000000 GPR23 00000000 GPR31 81524D28
        LR 812B27B0 SRR0 812b280c SRR1 00009032 MSR 00001000
        DAR 0000000C DSISR 06000000
 
        STACK DUMP:
        812b280c --> 812b27b0 --> 812803c0 --> 81299bcc -->
        81299b80
 
        CODE DUMP:
        812b280c:  9065000C 90A30008 7CAA3214 2F840000
        812b281c:  80A50004 70A30001 4082002C 7D293214
        812b282c:  80CA0008 409E0014 3CA0812F 38A517F8
 
        Reloading in 10 seconds
Thanks. :)

again, it's not useful, there's not enough informations logged.
Not true. I now know it takes place between line 307 and 360 of main.c.
 
Does Shadow the Hedgehog still have "occasional graphical glitches"? I played a few levels and didn't notice anything.

Iv'e only noticed it in the first level. It might be gone, I haven't tested the game in awhile.


JoostinOnline I'm going to assume your newest revision fixed the problem of it saying my debug file is corrupted?
 
There's a small typo that causes nintendont to fail compilation on my pc. In "main.c" #include "FPAD.h" should be #include "FPad.h". Dunno why it's case sensitive on my end.
 
There's a small typo that causes nintendont to fail compilation on my pc. In "main.c" #include "FPAD.h" should be #include "FPad.h". Dunno why it's case sensitive on my end.

Are you compiling on Linux by chance? Seems the build scripts are all designed for Windows which is case-insensitive. I had exactly the same trouble, but CBA to alter all the files/filenames to make the build work.

edit: the files are also in DOS format, so have a liberal sprinkling of ^M which doesn't help.
 
Will there be a way to play games that require analog R/L triggers (like super mario sunshine) to work with a normal PS2 dualshock controller (which has digital buttons only) ?

Edit: After some testing with my controller, i noticed that analog presses were recorded in dolphin (albeit always at 100% pressure), so it could work in a way similiar to that.
 
I personally don't see how it would be possible.

As I edited my other post, dolphin register a press of the digital button as 100% pressure press of the trigger.
It wouldn't be too precise, but it would make some games playable.
 
Are you compiling on Linux by chance? Seems the build scripts are all designed for Windows which is case-insensitive. I had exactly the same trouble, but CBA to alter all the files/filenames to make the build work.

edit: the files are also in DOS format, so have a liberal sprinkling of ^M which doesn't help.
Yes I'm on Linux. The only problem though was that FPAD.h in main.c, with that fixed it compiles fine.
 
As I edited my other post, dolphin register a press of the digital button as 100% pressure press of the trigger.
It wouldn't be too precise, but it would make some games playable.

Then you loose your L and R buttons. I don't think the devs will like that.

Either wait for bluetooth support or buy a mayflash 3 in 1 magic joy box adapter.
 

Site & Scene News

Popular threads in this forum