Hacking Nintendont

  • Thread starter Thread starter sabykos
  • Start date Start date
  • Views Views 10,172,417
  • Replies Replies 42,894
  • Likes Likes 194
Cyan

Theres a typo under What is Nintendont on the first post. Add "Mayflash 3 in 1 Magic Joy Box adapter" and "Thrustmaster Firestorm Dual Analog 2" under what gamepads are working. The link to HIDtest v6 is dead. Change the hyperlink to HID Test v6

What is Nintendont?

Nintendont is obviously not a modification of the MIOS, like DIOS MIOS (lite), because the vWii does not have a MIOS.
It is neither a emulator, because the vWii is not powerful enough to emulate GameCube games.
Nintendon't will be more like an interpreter which runs Gamecube games natively. Most likely it will work similar to Devolution, but nothing is confirmed yet. (crediar: "Well I never looked into how devo works so I can't really tell.")
 
  • Like
Reactions: Cyan
Haven't tested a revision in a few days. The r number has jumped significantly, so I'm wondering...

Is there any news on front usb port controller loading on the Wii U (when loading games from USB in the back)? I know this is lower priority than compatability, and its probably not a simple fix as this is a part of the console thats not a part of standard Wiis, but I know that if someone were to figure this out, it would probably be implemented quickly.

Also is it still limited to one controller (that is when the controllers are plugged in via USB and not the GC slots if you are using a wii with GC controller slots).

No rush on either of these, I'm completely understanding if neither are accomplished yet and may not be for quite some time, just trying to find out whats new, as if you don't look at this thread for 2 days, it will grow by 20 pages!
 
  • Mayflash Wireless Wii U Pro Controller Adapter [W009] (L/R analog are not working because WiiU Pro lacks analog shoulder buttons)
that means:wiiu pro controller can't be used perfectly ? in some games it will cause trouble?
 
  • Mayflash Wireless Wii U Pro Controller Adapter [W009] (L/R analog are not working because WiiU Pro lacks analog shoulder buttons)
that means:wiiu pro controller can't be used perfectly ? in some games it will cause trouble?
Games like sunshine and zelda wind waker can't be played properly because the Wii U Pro Controller uses digital shoulder buttons. They just click, you can't press them partly down.
 
  • Mayflash Wireless Wii U Pro Controller Adapter [W009] (L/R analog are not working because WiiU Pro lacks analog shoulder buttons)
that means:wiiu pro controller can't be used perfectly ? in some games it will cause trouble?

edit: Ninja'd :ph34r:

Analog shoulder buttons aren't important to a lot of games, in most they aren't even utilized actually, but to some games they are very important. Specifically, in Mario Sunshine, if you push the R button in, but not all the way so that it clicks while on the squirt gun nozzle, you can squirt water while running. But if you push the button in all the way, Mario stands still while he squirts water and you can then move the direction you shoot the water while standing in place with the analog stick. On a controller without analog shoulder buttons, the shoulder buttons will act like they are completely pressed down every time you push them, no matter how far down you actually do.

So really, it depends on what games you want to play. Like I said its not a lot of games that this was really important to, but Mario Sunshine is definitely one game where this function was important.
 
Maxternal can you post that UStealth patch again since we lost the old google code page? or better yet pm a dev so they can add it to the next revision.

not to step on any shoes , but posts get lost in 100's of pages, maybe Maxternal wont see your request or something, so i think this might help:
Code:
--- trunk/loader/source/main.c
+++ trunk/loader/source/main.c
@@ -63,14 +63,70 @@
    0x48, 0x03, 0x49, 0x04, 0x47, 0x78, 0x46, 0xC0, 0xE6, 0x00, 0x08, 0x70, 0xE1, 0x2F, 0xFF, 0x1E,
    0x10, 0x10, 0x00, 0x00,
};
+
static const unsigned char FSAccessPattern[] =
{
    0x9B, 0x05, 0x40, 0x03, 0x99, 0x05, 0x42, 0x8B,
};
+
static const unsigned char FSAccessPatch[] =
{
    0x9B, 0x05, 0x40, 0x03, 0x1C, 0x0B, 0x42, 0x8B,
};
+
+typedef struct _PR
+{
+    u8 state;                           
+    u8 chs_st[3];                       
+    u8 type;                             
+    u8 chs_e[3];                       
+    u32 lba;                       
+    u32 bc;                     
+} __attribute__((__packed__)) _pr;
+
+typedef struct _MBR
+{
+    u8 ca[446];             
+    _pr part[4];
+    u16 sig;                     
+} __attribute__((__packed__)) _mbr;
+
+FILE mountAll()
+{bool KernelFound = false;
+FILE *f = NULL;
+int retry = 0;
+
+while(retry < 10)
+{if(__io_usbstorage.startup() && __io_usbstorage.isInserted())
+break;
+retry++;
+usleep(150000);
+}
+
+if(retry < 10)
+{_mbr mbr;
+char buffer[4096];
+
+__io_usbstorage.readSectors(0, 1, &mbr);
+
+if(mbr.part[1].type != 0)
+{__io_usbstorage.readSectors(le32(mbr.part[1].lba), 1, buffer);
+
+if((*((u16*)(buffer + 0x1FE)) == 0x55AA) || (*((u16*)(buffer + 0x1FE)) == 0x55AB))
+{if(memcmp(buffer + 0x36, "FAT", 3) == 0 || memcmp(buffer + 0x52, "FAT", 3) == 0)
+{fatMount("usb", &__io_usbstorage, le32(mbr.part[1].lba), 8, 64);
+f = fopen("usb:/nincfg.bin", "rb+");
+}
+}
+}
+}
+
+if(__io_wiisd.startup() || !__io_wiisd.isInserted())
+if(fatMount("sd", &__io_wiisd, 0, 8, 64))
+f = fopen("sd:/nincfg.bin", "rb+");
+
+return f;
+}
 
s32 __IOS_LoadStartupIOS(void)
{
@@ -146,7 +202,7 @@
}
}
 
-fatInitDefault();
+cfg = mountAll();
 
if( IsWiiU() )
{
@@ -156,7 +212,10 @@
}
 
// Simple code to autoupdate the meta.xml in Nintendont's folder
-    FILE *meta = fopen("meta.xml", "w");
+    FILE *meta = fopen("sd:/apps/nintendont/meta.xml", "w");
+    if(meta == NULL)
+    meta = fopen("usb:/apps/nintendont/meta.xml", "w");
+// to do: this would be most effective based on argv[0]
    if(meta != NULL)
{
fprintf(meta, "%s\r\n<app version=\"1\">\r\n\t<name>%s</name>\r\n", META_XML, META_NAME);
@@ -170,7 +229,6 @@
 
u32 ConfigReset = 0;
 
-cfg = fopen("/nincfg.bin", "rb+");
if (cfg == NULL)
{
ConfigReset = 1;

i believe that is the patch you speak of ?
 

Attachments

thanks for the reply :lol:

And if i want to use a wireless controller , the wiiu pro + mayflash adapter is my only choice ,right?
 
By the way: Mario Party 6/7 (PAL) ist broken since r85. It partially worked in around r36. NTSC works though.
 
Code:
@@ -156,7 +212,10 @@
}
 
// Simple code to autoupdate the meta.xml in Nintendont's folder
-    FILE *meta = fopen("meta.xml", "w");
+    FILE *meta = fopen("sd:/apps/nintendont/meta.xml", "w");
+    if(meta == NULL)
+    meta = fopen("usb:/apps/nintendont/meta.xml", "w");
+// to do: this would be most effective based on argv[0]
    if(meta != NULL)
{
fprintf(meta, "%s\r\n<app version=\"1\">\r\n\t<name>%s</name>\r\n", META_XML, META_NAME);
@@ -170,7 +229,6 @@

i believe that is the patch you speak of ?


Not that it's important but I wonder why my code for the meta.xml was modified in that way if originally it would look for the file in the same folder where nintendont was loaded from... It's not like someone would have nintendont in the usb and the meta.xml in the sd, right? Unless of course, the way I opened the file was wrong or something.

If someone could explain it to me, i'm sure i'd learn a bit more lol

And to stay in topic...


is nintendont still restricted to 1 player? or does the new update allow for 2 controllers when using an adapter with multiple ports?

I don't think multiplayer is being worked on atm.
 
Is there any news on front usb port controller loading on the Wii U (when loading games from USB in the back)? I know this is lower priority than compatability, and its probably not a simple fix as this is a part of the console thats not a part of standard Wiis, but I know that if someone were to figure this out, it would probably be implemented quickly.

Also is it still limited to one controller (that is when the controllers are plugged in via USB and not the GC slots if you are using a wii with GC controller slots).

No rush on either of these, I'm completely understanding if neither are accomplished yet and may not be for quite some time, just trying to find out whats new, as if you don't look at this thread for 2 days, it will grow by 20 pages!


and you just contributed to the growth.
why don't you guys read the Change Log?

Not that it's important but I wonder why my code for the meta.xml was modified in that way if originally it would look for the file in the same folder where nintendont was loaded from... It's not like someone would have nintendont in the usb and the meta.xml in the sd, right? Unless of course, the way I opened the file was wrong or something.

If someone could explain it to me, i'm sure i'd learn a bit more lol

Not directly related to your question but personally, I would like to restrict all writing to the front SD (and yes I have no apps in my hdd).
It is relatively easy to backup the SD (mine is 8G) regularly.
I wouldn't want to have my hdd corrupted due to various reasons (like bad codes, typo in source , corruption on the .dol itself or whatever)

But thats just me and I don't have a WiiU
 
And if i want to use a wireless controller , the wiiu pro + mayflash adapter is my only choice ,right?
 
Not directly related to your question but personally, I would like to restrict all writing to the front SD (and yes I have no apps in my hdd).
It is relatively easy to backup the SD (mine is 8G) regularly.
I wouldn't want to have my hdd corrupted due to various reasons (like bad codes, typo in source , corruption on the .dol itself or whatever)

But thats just me and I don't have a WiiU

I don't have a WiiU either and I, too, prefer to have the apps in the sd, not real reason for it though. (Though I keep the covers for LoaderGX in the HDD because then I can update the covers manually if I connect it to the pc to add a new game or delete one)

Regarding my question, I'm pretty sure my code would look for the meta.xml in the same folder the .dol is, which is much more logical because you wouldn't have the meta.xml in any other place; and the devs didn't change that in the official svn so I guess it's okay the way it is. Again, it's not really important but i'm really curious about what reasons the person who created the patch (I don't know if it was Maxternal or not) had to change it from "check where I am" to "look in sd, if it's not there, look in hdd".

And if i want to use a wireless controller , the wiiu pro + mayflash adapter is my only choice ,right?

I think the Wavebird works if you have an adapter for it. That one is wireless too, isn't it? I'm not too sure if that works though, since I don't have one. But people are using them so..
 
I have multiple nintendont folders for easier testing/swap.
It's not always stored in /apps/nintendont/ so forcing the updated meta to be written there is not a good idea, it's best to update it in the folder where the dol is located.
 
I have multiple nintendont folders for easier testing/swap.
It's not always stored in /apps/nintendont/ so forcing the updated meta to be written there is not a good idea, it's best to update it in the folder where the dol is located.

Precisely, that's why I thought the original approach using fopen without a set directory was good enough, and that change in the patch didn't make much sense. The rest of the code seems to be related to the UStealth stuff so it might be worth looking at, though.
 
The config file for HID controllers only saves Left, Down, Right, Up, RightUp, DownRight, DownLeft, UpLeft for the left analog stick which make very precise games much harder. This problem is non-existent on BC Wiis through the Gamecube port. Are there going to be any plans to add a way to save more than 8 directions? Also the analog stick deadzone is a little big so there's a lot of wiggle room between not registering any input and finally moving in a direction.
 
Can't be fixed the black screen in PAL games when forcing video mode to NTSC using component cable? (I hear the bg music though)
 
did you try to force PAL instead?
you need to force the video to the game's format.

If you force the console to set the TV to NTSC but the game sends PAL, you won't see anything.
 
The problem is that if I want to run a PAL game with progressive mode, I need to do that because the progressive option doesn't work in PAL games. However, there is at least two games I can force video to NTSC, use progressive mode and they work. These games are Eternal Darkness (I know it doesn't pass the first screen, but boot at 480p) and Resident Evil 3 (forced to NTSC and progressive mode). Both games are PAL. Why can't I do this with other games? It's very strange, indeed.
 
I'm having some issues getting my HID controller to work.
Whenever I try to boot r85 with HID On, I get the message saying that HID controller is wrong.

I am using the following controller:
medium.JPG


I got a controller.ini some pages back from a guy that used this same controller, but that ini had the PID/VID settings wrong.
Mine were 0079/0006 respectively.

The controller.ini seems to be based in the DUAL SHOCK PS3 controller.
Can someone help me with this and creating the proper controller.ini?
Here are the settings for each button:

Default:
7F 7F 7B 7F 7F 0F 00 C0
(Sometimes, offset 2 switches between 7A, 7B and 7C, but by brief moments, mostly staying at 7B)

PID: 0079
VID: 0006
Pollitype: 1
DPAD: 0

X:
7F 7F 7B 7F 7F 4F 00 C0

Square:
7F 7F 7B 7F 7F 8F 00 C0

Triangle:
7F 7F 7B 7F 7F 1F 00 C0

Circle:
7F 7F 7B 7F 7F 2F 00 C0

R1:
7F 7F 7B 7F 7F 0F 02 C0

R2:
7F 7F 7B 7F 7F 0F 08 C0

L1:
7F 7F 7B 7F 7F 0F 01 C0

L2:
7F 7F 7B 7F 7F 0F 04 C0

D-Pad Up:
7F 00 7B 7F 7F 0F 00 C0

D-Pad Down:
7F FF 7B 7F 7F 0F 00 C0

D-Pad Left:
00 7F 7B 7F 7F 0F 00 C0

D-Pad Right:
FF 7F 7B 7F 7F 0F 00 C0

Select:
7F 7F 7B 7F 7F 0F 10 C0

Start:
7F 7F 7B 7F 7F 0F 20 C0

LAnalog Stick Up:
7F 00 7B 7F 7F 0F 00 C0

LAnalog Stick Down:
7F FF 7B 7F 7F 0F 00 C0

LAnalog Stick Left:
00 7F 00 7F 7F 0F 00 C0

LAnalog Stick Right:
FF 7F FF 7F 7F 0F 00 C0

RAnalog Stick Up:
7F 7F 4C 7F 7F 1F 00 C0

RAnalog Stick Down:
7F 7F A4 7F 7F 8F 00 C0
(Same thing as with default, toggles between A4 and A5 quickly)

RAnalog Stick Left:
7F 7F 7B 7F 7F 8F 00 C0

RAnalog Stick Right:
7F 7F 7B 7F 7F 2F 00 C0

Also, for the Home button I noticed something strange.
Whenever I press it, the default values change from 7F to 00 like this:
00 00 7B 00 00 0F 00 C0
(I cant remember if offsets 0, 1, 3 and 4 where changed or only 0, 1 and 3, will check)

Who can help me with the controller.ini?
X button I know is configured as:
X=5, 40
Just to put it as an example, so I am not that lost.
The only thing that confuses me is when I get two offsets changed in certain commands.
 

Site & Scene News

Popular threads in this forum