Hacking Nintendont

  • Thread starter Thread starter sabykos
  • Start date Start date
  • Views Views 10,170,282
  • Replies Replies 42,894
  • Likes Likes 194
Bluetooth was introduced in 153.
8 less revisions to take into consideration. :P
Hope you can understand my point so it could be easy for you to debug the issue.
If you want to be sure, try testing 152 and test HID in that one, then you have a good cut down portion of the total revisions.
 
8 less revisions to take into consideration. :P
Hope you can understand my point so it could be easy for you to debug the issue.
If you want to be sure, try testing 152 and test HID in that one, then you have a good cut down portion of the total revisions.

I'll still test several before that just to make sure it didn't break earlier as the problem is only when loading games from USB + HID. The problem never occurred, at least for me, when loading the game from SD + HID.

I will have to test several revisions in a row as it either works in a revision or it doesn't but not consistently. I need to see where is consistently worked to where it sporadically worked.
 
I'll still test several before that just to make sure it didn't break earlier as the problem is only when loading games from USB + HID. The problem never occurred, at least for me, when loading the game from SD + HID.
Yeah I actually stopped using USB+HID right when the Bluetooth revision came out, so that's also why I'm pointing that out. :P
But that would be good just to be sure.
 
Yeah I actually stopped using USB+HID right when the Bluetooth revision came out, so that's also why I'm pointing that out. :P
But that would be good just to be sure.

same time I stopped using HID as well

wireless controllers all the way

but i'm switching back to HID controllers soon because i'm ordering a wavebird for my adapter
 
What happens when running nintendont and rumble should occure while the grey cable isnt plugged in?
If you feel any rumble discontinue the test asap

I tried just plugging in the black cord (and only the black cord) in the bottom back (r228, loading from SD), and the controller looked like it had power (seeing that the Wavebird receiver light lit up), and it loaded the game, but Nintendont doesn't even respond to the controller when a button is pressed on it (it does respond when both cords are in, though).
 
Yeah I actually stopped using USB+HID right when the Bluetooth revision came out, so that's also why I'm pointing that out. :P
But that would be good just to be sure.

After I'm done with my testing on my Wii U, maybe I'll throw in my Wii to see if there is any difference as sometimes there is a difference between how the Wii reacts and how the Wii U reacts.

One thing I did find on a consistent basis, USB 3.0 + HID never worked for me. Always resulted in Checking FS error. Once I switched to USB 2.0 device, no more FS error.
 
After I'm done with my testing on my Wii U, maybe I'll throw in my Wii to see if there is any difference as sometimes there is a difference between how the Wii reacts and how the Wii U reacts.

One thing I did find on a consistent basis, USB 3.0 + HID never worked for me. Always resulted in Checking FS error. Once I switched to USB 2.0 device, no more FS error.


Being USB 3.0 shouldn't matter, as my USB 3.0 HDD works fine, so it could just be the luck of the draw, hard to say for sure.
 
same time I stopped using HID as well
wireless controllers all the way

but i'm switching back to HID controllers soon because i'm ordering a wavebird for my adapter
I totally agree.
I was doomed with a PS3 controller, heck I can swear I wanted to break that fucking awful controller as soon as I knew bluetooth was compatible. XD
After I'm done with my testing on my Wii U, maybe I'll throw in my Wii to see if there is any difference as sometimes there is a difference between how the Wii reacts and how the Wii U reacts.

One thing I did find on a consistent basis, USB 3.0 + HID never worked for me. Always resulted in Checking FS error. Once I switched to USB 2.0 device, no more FS error.
I think my HDD is also a 3.0, so I agree with the_randomizer, could be bad luck or maybe an issue with the HDD itself.
Although I'm not using it with HID.
 
I totally agree.
I was doomed with a PS3 controller, heck I can swear I wanted to break that fucking awful controller as soon as I knew bluetooth was compatible. XD

I think my HDD is also a 3.0, so I agree with the_randomizer, could be bad luck or maybe an issue with the HDD itself.

Considering it's a USB Card reader and the USB 3.0 Card reader + SDXC 64GB + HID gave me FS error and the same SDXC card with a USB 2.0 Reader didn't. The USB 2.0 worked every time with my tests.

I only got the error when using it with HID.
 
yeah preety much everyone stopped using hid when bt controllers appeared thats why no one noticed hid was broken until the adapter now.
 
Its not surprising that at one point HID broke, the only reason it worked in the USB build was because of a hack which I wasnt too sure of why it even worked, I guess it stopped wroking for us now. There is a solution for this and I am working on it but it might take me quite some time because it means alot of rewriting of both HID and USB.
 
maybe rewriting some code will allow us to use the front ports for controllers when loading from usb?
 
then try without then forced its a no brainer to always try without extra stuff on before giving up and asking for help here.


yes luigi mansion ntsc broke on 226.
Well that sucks, I have my Wii packed right now so I can't test but I hope it gets fixed eventually, thankfully I'm keeping 219 as back up!
 
maybe rewriting some code will allow us to use the front ports for controllers when loading from usb?

I really hope so, connecting an USB hub doesn't work for me, for some reason the HDD doesn't get enough power and fails to spin correctly, it's very unstable (sometimes works some others not)
 
Considering it's a USB Card reader and the USB 3.0 Card reader + SDXC 64GB + HID gave me FS error and the same SDXC card with a USB 2.0 Reader didn't. The USB 2.0 worked every time with my tests.

I only got the error when using it with HID.

FIX94 JoostinOnline Howard

I found the damn error.

Checking the diffs on the source, I spotted this line of code in PADReadGC.c :

Code:
for (chan = HIDPad; (chan < HID_PAD_NONE); chan = (HID_CTRL->MultiIn == 3)? ++chan : HID_PAD_NONE)

As you can see, it checks the value of "chan" again for every loop. The problem is that chan never reaches the value of HID_PAD_NONE if MultiIn==3, so if you plug in an HID device that triggers that condition, the program is stuck in that loop forever, prompting you to "insert your HID device" nonstop.

I modified that line this way:
Code:
for (chan = HIDPad; (chan < HID_PAD_NONE); chan = HID_PAD_NONE)
compiled it, and now I can use HID and USB like before. At least with one pad.

It's a messy solution and I'm still learning my way into coding, but you could use this for now if you don't have any other mean to play.

I've also modified:

Code:
if (HID_CTRL->MultiIn == 3)        //multiple controllers connected to a single usb port all in one message
            HID_Packet = (u8*)0x930050F0;    //reset back to default offset
memInvalidate = (u32)HID_Packet; 
        asm volatile("dcbi 0,%0; sync; isync" : : "b"(memInvalidate) : "memory");

This way:

Code:
if (HID_CTRL->MultiIn == 3){        //multiple controllers connected to a single usb port all in one message
            HID_Packet = (u8*)0x930050F0;
}    //reset back to default offset
 
memInvalidate = (u32)HID_Packet; 
        asm volatile("dcbi 0,%0; sync; isync" : : "b"(memInvalidate) : "memory");

Just to check if the following code wasn't being applied. So either of those modifications is the key to recovering HID support.

I've uploaded here the modified dol. If any of the developers wants it taken down, just tell me. I'm just eager to contribute as a way to say thanks.
 

Attachments

  • Like
Reactions: the_randomizer
sorry to say but you dont even know what you're doing, PADReadGC is a file which gets executed ingame, the problem here is that the hack to even get HID and USB working makes problems. The reason it works for you now propably is a different compiler version or the file which slightly changed up the timings so right now it falls perfectly into the case again where it works. I dont want this mess anymore, I needed to do some dirty things to it in the past and I somewhat wanna stop doing that.
 

Site & Scene News

Popular threads in this forum