Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue with Mario DDR Dance mats #527

Closed
rog2e opened this issue Dec 17, 2017 · 7 comments
Closed

Issue with Mario DDR Dance mats #527

rog2e opened this issue Dec 17, 2017 · 7 comments

Comments

@rog2e
Copy link

rog2e commented Dec 17, 2017

I am using the Wii with the dance mats plugged into the joystick ports. The dance mats work fine when I launch the game from the Gamecube disc. When I launch from Nintendont, the up and right arrows on the dance mat don't work properly. For example when I am in the DDR menu screen if step on the up arrow it will make the selector go up but then the selector immediately goes back down. If step on the right arrow thselector will go to the right but immediately go back to the left. The left and down arrows work fine. If I use the gamecube joystick on port 1 it works fine. I tried 2 different dance mats and as I mentioned it works fine when launching from gamecube disc.

@FIX94
Copy link
Owner

FIX94 commented Dec 17, 2017

you can probably enable native controls to get it to work, I assume it has issues with the emulated controls as I do only emulate normal gc controllers. native controls basically passes through the wii ports directly to the game so things like that should work without an issue.

@rog2e
Copy link
Author

rog2e commented Dec 18, 2017

Thanks FIX94. That worked!

@rog2e rog2e closed this as completed Dec 18, 2017
@geogolem
Copy link

geogolem commented Aug 22, 2020

I realize it is an old issue and will likely never have anything done to resolve it, but too bad it wasn't possible to simply pass through the GC ports of the WII U adapter ... Unfortunately on a WIIU it seems there is no solution for Mario Mix..

Interestingly enough , maybe a USB dance pad would work better and/or be configurable with a controller.ini file.. I might try that at some point, but not sure when.

EDIT: I have no idea, but maybe support could be added to nintendont to support these pads similar to dolphin:
https://wiki.dolphin-emu.org/index.php?title=GameINI_(Controller_Settings)

I need to look at code to see what is goin on, but perhaps something can be done to make it work who knows --> i will post again if i discover anything or make any progress... but im not even sure if i will bother to look into it.

EDIT 2: or perhaps something can be done via a controller.ini or something: https://wiki.dolphin-emu.org/index.php?title=Dance_Dance_Revolution%3A_Mario_Mix

@geogolem
Copy link

geogolem commented Aug 25, 2020

so i figured out how to use HID TEST on WIIU - I didnt realize I had to launch Super Smash Bros. First to initialize the gamecube usb adapter.

Turns out, with the dance mat connected, POS 08 and 09 are always set to FF FF.. and bytes at POS 04 05 06 07 are always zero so this might be a way to determine if the connected device is a dance mat. Based on HID TEST, i am able to stand on left and right at the same time, and it changes the value accordingly. i.e. standing on both is different then standing on either one.

I am going to look more into the code and see if I can handle this case, but i have no idea how to build nintendont so I might need help with that, anyway - i think the info I found out might be useful.

EDIT: so I made a few code changes here: https://github.com/geogolem/Nintendont/commit/1ab72d9d7e46c676f3ee6a820409666cc3dea62d

but I need to try and figure out how to build tomorrow. I'm not really sure what I'm doing, but I am pretty sure that if somehow the dance mat can be detected and the triggers can be ignored for it then it should work properly....

EDIT2: so I plugged the GC controller in and launched Mario Mix.. Holding the Left analog stick all the way LEFT and DOWN ... will reproduce the identical problem - so I am guessing it is something related to that.

@geogolem
Copy link

geogolem commented Aug 25, 2020

Image 1: Dance Mat (with nothing pressed)
dancemat nothing pressed

Image 2: Regular GC controller (with nothing pressed)
GC controller nothing pressed

i notice byte 9 fluctuates a bit..

@geogolem
Copy link

geogolem commented Aug 25, 2020

bytes 02 and 03 change as I press buttons on the dance pad in a similar way to if i press the corresponding buttons (or combinations) on the GC controller. This includes combinations like up and right at the same time but the dance pad is also additionally able to differentiate cases where left and right are pressed simultaneously whereas this is no possible on the GC controller.. The issue is bytes 4, 5, 6, 7, 8 and 9 need to be ignored for the dance pad and treated as if they are in their neutral or natural positions (which I assume is similar to the regular GC controller with nothing pressed)... I think the fix is even easier then the one I proposed above.

I am quite confident this is just an oversight in nintendont and the code change required to make the dance pad work is very simple.

Only problem is I dont know how to build/test/debug for this type of project. any help would be greatly appreciated.

@geogolem
Copy link

So I managed to get it built - and then i debugged it and it works! I opened a PR.

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

No branches or pull requests

3 participants