Hacking Nintendont

Nintendo Maniac

Well-Known Member
Member
Joined
Apr 26, 2007
Messages
849
Trophies
1
XP
736
Country
United States
I just realized that my previous question could have come across as a request as something to be implemented in future versions, which was totally not my intention...so allow me to try asking the question again, but with better clarity:


Outside of physically modding my classic controller or recompiling Nintendont with custom modifications, is there an existing option or configuration setting or the like that I can use to disable Nintendont's function that has the Home button on a classic controller work as a "reset console" button?

Or is it simply not possible to disable the "Home button" = "reset console" function at this time?
 

ccfman2004

Well-Known Member
Member
Joined
Mar 5, 2008
Messages
2,805
Trophies
2
XP
3,119
Country
United States
I just realized that my previous question could have come across as a request as something to be implemented in future versions, which was totally not my intention...so allow me to try asking the question again, but with better clarity:


Outside of physically modding my classic controller or recompiling Nintendont with custom modifications, is there an existing option or configuration setting or the like that I can use to disable Nintendont's function that has the Home button on a classic controller work as a "reset console" button?

Or is it simply not possible to disable the "Home button" = "reset console" function at this time?
Sure you can modify Nintendont's source code to ignore the "Home Button".
 

Nintendo Maniac

Well-Known Member
Member
Joined
Apr 26, 2007
Messages
849
Trophies
1
XP
736
Country
United States
Sure you can modify Nintendont's source code to ignore the "Home Button".
Err, yeah I know...but I had said "outside of...recompiling Nintendont with custom modifications".

Thing is, I cannot code worth a darn but am very good with hardware to the point that modding the controller itself is way easier for me...but isn't really an ideal solution.
 
Last edited by Nintendo Maniac, , Reason: minor grammar fix

ccfman2004

Well-Known Member
Member
Joined
Mar 5, 2008
Messages
2,805
Trophies
2
XP
3,119
Country
United States
Err, yeah I know...but I had said "outside of...recompiling Nintendont with custom modifications".

Thing is, I cannot code worth a darn but am very good with hardware to the point that modding the controller itself is way easier for me...but isn't really an ideal solution.
I would tag @FIX94 and maybe he'll point you in the right direction.
 

StopLight

Active Member
Newcomer
Joined
Apr 21, 2019
Messages
28
Trophies
0
Age
40
XP
99
Country
United States
Wii U Game Pad , Wii U Pro Controller , PS3 and PS4 Controllers , GameCube Controllers and XBOX 360 Wired Controllers.

Pro Controller , PS4 , PS3 , XBOX 360 Wired TESTED AT ONCE worked fine.

I am working with Nintendont on a Wii (not the Wii U). I cannot even begin to figure out how to use non-Nintendo controllers with the system. I am definitely missing something. It's been a month and I still have not figured out how to use multiple controllers to play multiplayer GameCube games.

I have 5 PS3, 1 PS4, 3 Wii Classic, and 1 GameCube Wavebird. All of the Wii Classic controllers work and the GC Wavebird work for single player, but they won't work together. I cannot figure out how to troubleshoot it.
 

robco7

Well-Known Member
Newcomer
Joined
Dec 17, 2017
Messages
84
Trophies
0
Age
32
XP
455
Country
Slovakia
I don't know if the Nintendont scene is still active, but there seems to be problems with Bloody Roar: Primal Fury.

Game : Bloody Roar: Primal Fury (I can't label the folder as this since Windows doesn't allow colons, so I don't know if that could be causing the problem)
Describe Issue : Randomly freezes during gameplay, roughly around 10 to 20 minutes after starting game.
Region :NTSC
Wii/Wii U : Wii U
Anything else you want to explain: I'm afraid I don't understand a lot of the more technical stuff, though I wonder if whoever tested the game for issues just didn't notice a problem because it can take a while for the game to freeze, and isn't something you'd notice if you were just testing for problems rather than extensively playing it.
 

DarthDub

Amateur Hacker
Member
Joined
Jan 26, 2016
Messages
2,832
Trophies
1
Age
34
Location
Your mom's basement.
Website
www.gaiaonline.com
XP
3,607
Country
United States
I don't know if the Nintendont scene is still active, but there seems to be problems with Bloody Roar: Primal Fury.

Game : Bloody Roar: Primal Fury (I can't label the folder as this since Windows doesn't allow colons, so I don't know if that could be causing the problem)
Describe Issue : Randomly freezes during gameplay, roughly around 10 to 20 minutes after starting game.
Region :NTSC
Wii/Wii U : Wii U
Anything else you want to explain: I'm afraid I don't understand a lot of the more technical stuff, though I wonder if whoever tested the game for issues just didn't notice a problem because it can take a while for the game to freeze, and isn't something you'd notice if you were just testing for problems rather than extensively playing it.
They still haven't fixed this? It happened to me in the past too and I was hoping updates would magically fix it.
 
  • Like
Reactions: robco7

ccfman2004

Well-Known Member
Member
Joined
Mar 5, 2008
Messages
2,805
Trophies
2
XP
3,119
Country
United States
I am working with Nintendont on a Wii (not the Wii U). I cannot even begin to figure out how to use non-Nintendo controllers with the system. I am definitely missing something. It's been a month and I still have not figured out how to use multiple controllers to play multiplayer GameCube games.

I have 5 PS3, 1 PS4, 3 Wii Classic, and 1 GameCube Wavebird. All of the Wii Classic controllers work and the GC Wavebird work for single player, but they won't work together. I cannot figure out how to troubleshoot it.
There is an option that sets the number of allowable pads. Make sure it's set to 4. Also you can only use one USB controller at any given time.
 

Asparagus33

Active Member
Newcomer
Joined
Aug 7, 2017
Messages
31
Trophies
0
Age
29
XP
182
Country
United States
I have a few questions:

1. I'm looking at the Compatibility list and for the Mario Party GC games all of them say "Needs Custom Patch to use the Widescreen Hack properly." What does this mean and what should I do?

2. When should I use the Force Progressive option in Nintendont?

Thanks!
 
Last edited by Asparagus33,

Cloud9Skywalker

Pokémon Researcher
Member
Joined
Mar 26, 2015
Messages
280
Trophies
0
XP
501
Country
United States
I currently own a Wii U that I am using Nintedont on along with a Wii Classic Controller Pro. I could use some assistance on manually mapping a Nintendont .ini file to configure my own personal controls.

Some of the games have awkward button mapping that make it difficult to play. For example, I am playing F-Zero GX and by default the boost button was X and the acceleration button was B. They are both opposite of each other, so no matter what even if I rotate the controls with it's controller re-configure option it is still not a comfortable mapping. So I am attempting to manually map my own personal controls.

I don't have a .ini file to edit or use as a template. Could someone help me out and point me in the right direction on how to do this? I would really like to enjoy my games comfortably. Thanks.
 

Feffe

Well-Known Member
Member
Joined
Oct 12, 2008
Messages
224
Trophies
1
XP
2,088
Country
Italy
I currently own a Wii U that I am using Nintedont on along with a Wii Classic Controller Pro. I could use some assistance on manually mapping a Nintendont .ini file to configure my own personal controls.

Some of the games have awkward button mapping that make it difficult to play. For example, I am playing F-Zero GX and by default the boost button was X and the acceleration button was B. They are both opposite of each other, so no matter what even if I rotate the controls with it's controller re-configure option it is still not a comfortable mapping. So I am attempting to manually map my own personal controls.

I don't have a .ini file to edit or use as a template. Could someone help me out and point me in the right direction on how to do this? I would really like to enjoy my games comfortably. Thanks.
Not really an answer, but F-Zero lets you remap everything in-game.
 
  • Like
Reactions: Cloud9Skywalker

mive

Well-Known Member
Member
Joined
Jul 19, 2018
Messages
252
Trophies
0
Age
40
XP
598
Country
Germany
you could try to edit "loader/source/ppc/PADReadGC.c" in source and try to compile yourself.

(i had to change myself btn configuration for ssx 4 for classic controller pro)

e.g.:

Code:
diff --git a/common/include/NintendontVersion.h b/common/include/NintendontVersion.h
index f500cb0..dca137b 100644
--- a/common/include/NintendontVersion.h
+++ b/common/include/NintendontVersion.h
@@ -12,6 +12,6 @@

 // "Special" version.
 // This should only be set in custom builds, i.e. not mainline.
-//#define NIN_SPECIAL_VERSION                  "-MChax3"
+#define NIN_SPECIAL_VERSION                    "-ssx_butswap"

 #endif
diff --git a/loader/loader.dol b/loader/loader.dol
index 41735ef..47273e6 100644
Binary files a/loader/loader.dol and b/loader/loader.dol differ
diff --git a/loader/source/ppc/PADReadGC.c b/loader/source/ppc/PADReadGC.c
index 073dfda..a48d624 100644
--- a/loader/source/ppc/PADReadGC.c
+++ b/loader/source/ppc/PADReadGC.c
@@ -743,37 +743,6 @@ u32 _start(u32 calledByGame)
                        if(BTPad[chan].button & BT_TRIGGER_ZR)
                                button |= PAD_TRIGGER_Z;
                }
-               else if(BTPad[chan].used & C_CCP)       //digital triggers
-               {
-                       if(BTPad[chan].button & BT_TRIGGER_ZL)
-                       {
-                               if(BTPad[chan].button & BT_TRIGGER_L)
-                                       Pad[chan].triggerLeft = 0x7F;
-                               else
-                               {
-                                       button |= PAD_TRIGGER_L;
-                                       Pad[chan].triggerLeft = 0xFF;
-                               }
-                       }
-                       else
-                               Pad[chan].triggerLeft = 0;
-
-                       if(BTPad[chan].button & BT_TRIGGER_ZR)
-                       {
-                               if(BTPad[chan].button & BT_TRIGGER_L)
-                                       Pad[chan].triggerRight = 0x7F;
-                               else
-                               {
-                                       button |= PAD_TRIGGER_R;
-                                       Pad[chan].triggerRight = 0xFF;
-                               }
-                       }
-                       else
-                               Pad[chan].triggerRight = 0;
-
-                       if(BTPad[chan].button & BT_TRIGGER_R)
-                               button |= PAD_TRIGGER_Z;
-               }

 // Nunchuck Buttons
                if((BTPad[chan].used & C_NUN) && !(BTPad[chan].button & WM_BUTTON_TWO)) //nunchuck not being configured
@@ -1303,18 +1272,18 @@ u32 _start(u32 calledByGame)
                                goto DoExit;
                }       //end nunchuck configs

-               if(BTPad[chan].used & (C_CC | C_CCP))
+               if(BTPad[chan].used & C_CC)
                {
                        if(BTPad[chan].used & C_SWAP)
-                       {       /* turn buttons quarter clockwise */
-                               if(BTPad[chan].button & BT_BUTTON_B)
-                                       button |= PAD_BUTTON_A;
-                               if(BTPad[chan].button & BT_BUTTON_Y)
-                                       button |= PAD_BUTTON_B;
-                               if(BTPad[chan].button & BT_BUTTON_A)
-                                       button |= PAD_BUTTON_X;
-                               if(BTPad[chan].button & BT_BUTTON_X)
-                                       button |= PAD_BUTTON_Y;
+                        {/* turn buttons quarter clockwise */
+                                if(BTPad[chan].button & BT_BUTTON_B)
+                                        button |= PAD_BUTTON_A;
+                                if(BTPad[chan].button & BT_BUTTON_Y)
+                                        button |= PAD_BUTTON_B;
+                                if(BTPad[chan].button & BT_BUTTON_A)
+                                        button |= PAD_BUTTON_X;
+                                if(BTPad[chan].button & BT_BUTTON_X)
+                                        button |= PAD_BUTTON_Y;
                        }
                        else
                        {
@@ -1341,7 +1310,78 @@ u32 _start(u32 calledByGame)

                        if(BTPad[chan].button & BT_BUTTON_HOME)
                                goto DoExit;
-               }
+               }
+
+                if(BTPad[chan].used & C_CCP)   //classic controller pro with digital triggers setup
+               {
+                       if(BTPad[chan].button & BT_TRIGGER_ZL)
+                       {
+                               if(BTPad[chan].button & BT_TRIGGER_L)
+                                       Pad[chan].triggerLeft = 0x7F;
+                               else
+                               {
+                                       button |= PAD_TRIGGER_L;
+                                       Pad[chan].triggerLeft = 0xFF;
+                               }
+                       }
+                       else
+                               Pad[chan].triggerLeft = 0;
+
+                       if(BTPad[chan].button & BT_TRIGGER_ZR)
+                       {
+                               if(BTPad[chan].button & BT_TRIGGER_L)
+                                       Pad[chan].triggerRight = 0x7F;
+                               else
+                               {
+                                       button |= PAD_TRIGGER_R;
+                                       Pad[chan].triggerRight = 0xFF;
+                               }
+                       }
+                       else
+                               Pad[chan].triggerRight = 0;
+
+                        if(BTPad[chan].used & C_SWAP)
+                        {/* turn buttons quarter clockwise */
+                                if(BTPad[chan].button & BT_BUTTON_B)
+                                        button |= PAD_BUTTON_A;
+                                if(BTPad[chan].button & BT_BUTTON_Y)
+                                        button |= PAD_BUTTON_B;
+                                if(BTPad[chan].button & BT_BUTTON_A)
+                                        button |= PAD_BUTTON_X;
+                                if(BTPad[chan].button & BT_BUTTON_X)
+                                        button |= PAD_TRIGGER_Z;
+                                // switch X and R Button for games like ssx4
+                                if(BTPad[chan].button & BT_TRIGGER_R)
+                                        button |= PAD_BUTTON_Y;
+                       }
+                       else
+                       {
+                                if(BTPad[chan].button & BT_BUTTON_A)
+                                       button |= PAD_BUTTON_A;
+                               if(BTPad[chan].button & BT_BUTTON_B)
+                                       button |= PAD_BUTTON_B;
+                               if(BTPad[chan].button & BT_BUTTON_X)
+                                       button |= PAD_BUTTON_X;
+                               if(BTPad[chan].button & BT_BUTTON_Y)
+                                       button |= PAD_BUTTON_Y;
+                                if(BTPad[chan].button & BT_TRIGGER_R)
+                                        button |= PAD_TRIGGER_Z;
+                        }
+                        if(BTPad[chan].button & BT_BUTTON_START)
+                               button |= PAD_BUTTON_START;
+
+                       if(BTPad[chan].button & BT_DPAD_LEFT)
+                               button |= PAD_BUTTON_LEFT;
+                       if(BTPad[chan].button & BT_DPAD_RIGHT)
+                               button |= PAD_BUTTON_RIGHT;
+                       if(BTPad[chan].button & BT_DPAD_DOWN)
+                               button |= PAD_BUTTON_DOWN;
+                       if(BTPad[chan].button & BT_DPAD_UP)
+                               button |= PAD_BUTTON_UP;
+
+                       if(BTPad[chan].button & BT_BUTTON_HOME)
+                               goto DoExit;
+               }

                Pad[chan].button = button
 

mive

Well-Known Member
Member
Joined
Jul 19, 2018
Messages
252
Trophies
0
Age
40
XP
598
Country
Germany
sorry for double post:

I changed boost btn:
- in "normal" mode: x is boost btn (a = accelerate, b = brake)
- in "swap" mode (after pressing -): a is boost (b = accelerate, y = brake)

you can either use this patch and compile yourself:
Code:
diff --git a/common/include/NintendontVersion.h b/common/include/NintendontVersion.h
index ebb8537..3e7cd12 100644
--- a/common/include/NintendontVersion.h
+++ b/common/include/NintendontVersion.h
@@ -12,6 +12,6 @@

 // "Special" version.
 // This should only be set in custom builds, i.e. not mainline.
-//#define NIN_SPECIAL_VERSION                  "-MChax3"
+#define NIN_SPECIAL_VERSION                    "-F-Zero_AX_better_boost_btn"

 #endif
diff --git a/loader/source/ppc/PADReadGC.c b/loader/source/ppc/PADReadGC.c
index d262103..55d50c4 100644
--- a/loader/source/ppc/PADReadGC.c
+++ b/loader/source/ppc/PADReadGC.c
@@ -1311,9 +1311,9 @@ u32 _start(u32 calledByGame)
                                if(BTPad[chan].button & BT_BUTTON_Y)
                                        button |= PAD_BUTTON_B;
                                if(BTPad[chan].button & BT_BUTTON_A)
-                                       button |= PAD_BUTTON_X;
-                               if(BTPad[chan].button & BT_BUTTON_X)
                                        button |= PAD_BUTTON_Y;
+                               if(BTPad[chan].button & BT_BUTTON_X)
+                                       button |= PAD_BUTTON_X;
                        }
                        else
                        {
@@ -1322,9 +1322,9 @@ u32 _start(u32 calledByGame)
                                if(BTPad[chan].button & BT_BUTTON_B)
                                        button |= PAD_BUTTON_B;
                                if(BTPad[chan].button & BT_BUTTON_X)
-                                       button |= PAD_BUTTON_X;
-                               if(BTPad[chan].button & BT_BUTTON_Y)
                                        button |= PAD_BUTTON_Y;
+                               if(BTPad[chan].button & BT_BUTTON_Y)
+                                       button |= PAD_BUTTON_X;
                        }
                        if(BTPad[chan].button & BT_BUTTON_START)
                                button |= PAD_BUTTON_START;

(use git apply)

or use loader.dol in attachement (rename to boot.dol and put in nintendont folder on sd card)
 

Attachments

  • nintendont_f_zero_better_boost_btn.zip
    1,019.2 KB · Views: 156

KoalaityTV

Member
Newcomer
Joined
Mar 30, 2019
Messages
10
Trophies
0
Age
18
XP
49
Country
United States
Hello. Instead of making a new thread I decided to ask for help here first.
Just a disclaimer, I load all of my games through USB Loader GX. It is easy that way, and it looks nice.

Okay so I am having trouble playing TTYD in 16:9. I check on the compatibility thread and it said it: "Needs Custom Patch to use the Widescreen Hack with a proper HUD."
Problem is, I can't find said custom patch, no matter where I look. I have a hunch it is a cheat code I have to use, but I don't know where to get those either. I keep
hearing about a site called GeckoCodes, but the TTYD isn't on there in the first place. I have tried to do my own research, but I am confused. If anyone could help I would appreciate it.

Regardless, I will continue trying to solve it on my own.
 
D

Deleted User

Guest
Hello. Instead of making a new thread I decided to ask for help here first.
Just a disclaimer, I load all of my games through USB Loader GX. It is easy that way, and it looks nice.

Okay so I am having trouble playing TTYD in 16:9. I check on the compatibility thread and it said it: "Needs Custom Patch to use the Widescreen Hack with a proper HUD."
Problem is, I can't find said custom patch, no matter where I look. I have a hunch it is a cheat code I have to use, but I don't know where to get those either. I keep
hearing about a site called GeckoCodes, but the TTYD isn't on there in the first place. I have tried to do my own research, but I am confused. If anyone could help I would appreciate it.

Regardless, I will continue trying to solve it on my own.
the dolphin wiki has these codes:
https://wiki.dolphin-emu.org/index.php?title=Paper_Mario:_The_Thousand-Year_Door
 

Golbez194

Well-Known Member
Newcomer
Joined
May 30, 2012
Messages
59
Trophies
0
XP
412
Country
United States
Seems not original will motes in nintendont (with that motion + at least) not support (and same for classic controller),is it like this for everyone?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: Snow days $25 on steam may grab it