Skip to content

Update PADReadGC.c for proper Gamecube dance mat recognition via Official Wii U USB Gamecube Adapter#1299

Merged
carnage702 merged 1 commit intoFIX94:masterfrom
Crosis47:patch-1
Apr 9, 2026
Merged

Update PADReadGC.c for proper Gamecube dance mat recognition via Official Wii U USB Gamecube Adapter#1299
carnage702 merged 1 commit intoFIX94:masterfrom
Crosis47:patch-1

Conversation

@Crosis47
Copy link
Copy Markdown

@Crosis47 Crosis47 commented Sep 22, 2025

Adds new Dance Mat controller handling logic. This logic is universal to all Gamecube dance mats and will only activate after an "impossible" same axis DPAD combination is pressed on a device connected to a Wii U USB Gamecube Adapter. The new logic:
1.) adds the impossible same-axis DPAD combinations
2.) eliminates holds as the hat logic in Nintendont causes ghost presses of the remaining arrow when releasing one arrow in the new same-axis combinations.

This functionality is an acceptable limitation as DDR Mario Mix for Gamecube has no mechanics requiring an arrow to be held.

Adds new Dance Mat controller handling logic. This logic is universal to all Gamecube dance mats and will only activate after an "impossible" same axis DPAD combination is pressed on a device connected to a Wii U USB Gamecube Adapter.
@Crosis47
Copy link
Copy Markdown
Author

Here is a compiled DOL if anyone comes across this pull request looking for a way to make Dance Pads work.

boot.dol

@geogolem
Copy link
Copy Markdown

I went ahead and closed my PR --> we can continue further/future discussion (if it should arise) here. Thanks for all your efforts!

@Crosis47
Copy link
Copy Markdown
Author

NP, thank you. I would have had no idea where to start if not for the PR you had created initially.

@Boopinator64
Copy link
Copy Markdown

I finally got a chance to try out the finished new version that was posted and Holy shit it works perfectly!!😄 Thank you both so much for taking the time and energy to make this work! I'm seriously so stoked to tear it up on this dance mat!🕺

// Track dance mat enable and previous input state.
// Needed because Wii U GC Adapter DPAD is hat-style and reports
// impossible combos that otherwise ghost on release.
static int isDanceMat = 0; // Global/Static flag per device if you want per-port you’d need an array
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So you can't use a GC controller and the dance mate at the same time? Please support it.

Copy link
Copy Markdown
Author

@Crosis47 Crosis47 Nov 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can, just only the first port is recognized as a dance mat with the new logic. The values are different for different ports. I only have one dance mat so I couldn't test to figure out how to get the other ports to recognize as well and make sure it all works.

But nonetheless, yes, you can still use a Gamecube controller on any of the ports for single player or for multiplayer with the dance mat in port 1. This new logic will only ever apply to a dance mat and only if in port 1.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can, just only the first port is recognized as a dance mat with the new logic. The values are different for different ports.

So you assume that games for dance mats only support the first port? Can we verify this assumption somehow?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is only 3 games that use dance mats in general for Gamecube and DDR Mario Mix is really the only one that is well-known. The other 2 are basically shovelware and extremely niche. Without this change dance mats don't work at all so I think that either way this commit s a positive change.

@carnage702 carnage702 merged commit e762ebf into FIX94:master Apr 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants