retrospy / RetroSpy

Live controller viewer for Nintendo consoles as well as many other retro consoles and computers. Includes viewer application for Windows, and Arduino sketch for hardware interface.
https://retro-spy.com
GNU General Public License v3.0
145 stars 22 forks source link

Gamecube/Wii: Luigi Mansion (JP) prevents right shoulder analog from detecting #212

Closed 40wattrange closed 2 years ago

40wattrange commented 2 years ago

I find that when loading Luigi Mansion (JP) via optical disc on Gamecube or Wii, that the right trigger stops reporting analog signal, only a full press. The left trigger still reports fine.

Here is a clip where you can see while the Wii is in the system menu, both triggers are reporting, but as soon as I load the disc, the right trigger drops. Again, it will still report the full click. I confirmed this by loading the disc in my actual Gamecube as well, and saw the same behavior.

https://clips.twitch.tv/CuteCallousCasetteFailFish-mJfJoL5PoSITPAZG

Issue only found on JP when loading from physical optical disc. Only physical JP disc tested. Do not have US disc to test, nor way to burn one. Both US and JP tested via USB HDD and do not display the issue.

zoggins commented 2 years ago

That is really strange. I can burn a JP disc and check it out.

40wattrange commented 2 years ago

Just did some further testing. Going back to the oldest build on page 1, it does not detect inputs at all. Looking through the changelogs I noticed 4.2.3 specifically mentions addressing Luigi's Mansion inputs. Unfortunately I can't get that specific build to compile and flash to the arduino.

Though some further information on testing with the most recent build, I've noticed that if i do push the R button - the L button reports the analog movement ever so slightly.

In this video you can see the L buttons analog reporting ever so slightly then the R button will click in. So it seems it is sorta being detected and reported in some way.

https://user-images.githubusercontent.com/1192974/145298420-5700bcc0-e183-4575-81c3-1e6bec2c6cce.mp4

.

zoggins commented 2 years ago

This is using a nano or uno and only from disc? It doesn’t manifest loading on the USB drive?

40wattrange commented 2 years ago

My specific case is using a modern Nano that uses new bootloader, with an authentic JP Disc via Wii Menu or Gamecube

Loading the game on a Wii via Nintendont does not generate the issue be it from disc or USB.

Seems to only happen via disc via default load on either system. It is only when you introduce a loader tool on Wii that it goes away.

zoggins commented 2 years ago

Well the good news is I can repro with my GCLoader and US iso. So I will figure it out.

zoggins commented 2 years ago

Found the problem. Apparently some games (Luigi’s Mansion and Wario World as examples) don’t use 8 bits for each trigger. They only use 4 and they pack both triggers into the byte normally used by the left trigger. This will require a firmware update and the newest UI. I have checked in the code and it will be in the next release and tonight’s nightly build

40wattrange commented 2 years ago

Confirmed the newest nightly resolved the issue.