MiSTer-devel / MegaDrive_MiSTer

Sega Megadrive for MiSTer
44 stars 14 forks source link

4-Way Multitap Doesn't Recognize Player 4's inputs #15

Closed KremlingKuthroat19 closed 9 months ago

KremlingKuthroat19 commented 9 months ago

All the peripherals are working perfectly with the exception of the 4-Way multitap. It works, but the problem is player 4's inputs aren't recognized. Player 4's inputs are recognized on the Genesis core though.

The 4-Way is the multitap used by all the EA sports games such as Madden, NBA Live, FIFA etc. fyi

sorgelig commented 9 months ago

do you mean exactly 4th player input isn't working? 1-3 players work?

KremlingKuthroat19 commented 9 months ago

do you mean exactly 4th player input isn't working? 1-3 players work?

Yes. Players 1-3 work perfectly. Player 4's inputs are the only ones that aren't recognized.

sorgelig commented 9 months ago

did you try Genesis core? Is 4th player working there?

KremlingKuthroat19 commented 9 months ago

did you try Genesis core? Is 4th player working there?

Yes. Tried on both cores. 4-Way player 4 works on Genesis core, but not on Mega Drive core. Maybe same code can be re-used?

Edit: Want to clarify that 4P and 5P work on the other multitaps (TeamPlayer and J-Cart). This issue only exists with the 4-Way multitap peripheral

sorgelig commented 9 months ago

I've just pushed the fix. Actually it's hard for me to use sport games, but i found Mega Bomberman also supports 4-way. So i've tested with 4 joysticks and all players are working.

sorgelig commented 9 months ago

I've managed to start NBA Live 98 in 4 player mode and MD before fix works with all 4 players. With fix it also works. So, it originally worked with all 4 players.

KremlingKuthroat19 commented 9 months ago

I've managed to start NBA Live 98 in 4 player mode and MD before fix works with all 4 players. With fix it also works. So, it originally worked with all 4 players.

What's interesting is that it does work in NBA Live 96-98, but it doesn't work in some other 4-Way games. NBA Live 95, Coach K College Basketball and FIFA 95 for example. Haven't tested them all but these 3 don't work with P4. When selecting which controller is going to control which team, the 4th controller option isn't responsive.

Maybe there's some different multitap protocol and later released 4-Way games that isn't addressed in earlier sports games (pre-1995 games) or something bc it seems the later 4-Way games have 4P support but the earlier ones don't have 4P support.

sorgelig commented 9 months ago

Please check with my latest fix

sorgelig commented 9 months ago

NBA Live 95 works with all 4 players. Both before fix and after. I'm tired to find the game.. All i've tried are working even before fix.

MP2E commented 9 months ago

MegaDrive_20230909.zip Here's sorgelig's latest changes

KremlingKuthroat19 commented 9 months ago

I'm using 4 DualSense controllers with the 4-Way option selected. For whatever reason I can't get it to work. Maybe it's just operator error

sorgelig commented 9 months ago

If you use BT connection then not all BT receivers can handle so many controllers well enough.

KremlingKuthroat19 commented 9 months ago

I'm using direct USB not bluetooth. It's not an issue with amount of controllers bc I was playing Columns III with 5 players using the TeamPlayer accessory. It seems to be a weird protocol with earlier 4-Way games that might be missing or incorrect. I can only use 3 players on the 3 games I mentioned earlier. Maybe it's just a me issue, idk.

sorgelig commented 9 months ago

Since you tried 5 player games, may be you used controller assigned to 5th player instead 4th?

KremlingKuthroat19 commented 9 months ago

@sorgelig So I FINALLY figured out the issue. If the controller type is set to 6 button, then player 4 doesn't work on the aforementioned 4-Way games (Coach K College Basketball, NBA Live 95, FIFA 95). All 4 do work with 3 button mode on though.

Is this worth investigating since 6 button mode 4P works with those games on the Genesis core? It's possible this is a quirk of real hardware though.

sorgelig commented 9 months ago

Do these game actually use 6-button mode and additional buttons give additional actions? Game working with 6-button mode doesn't mean it should be fully working.

sorgelig commented 9 months ago

I think it needs test on real hardware. Whatever i tried doesn't make 4th controller work in 6-button mode. Game uses picture of 3-button controller, so it's possible game is 3-button only where 6-button mode may work because of timeouts, but it can be unstable. Genesis core doesn't fully follows original HW, probably that's why 6-button mode works with 4th controller.

sorgelig commented 9 months ago

I've fixed this issue. Check the latest/upcoming unstable build.

KremlingKuthroat19 commented 9 months ago

@sorgelig Brilliant! Just tested every 4-Way game and they all work perfectly now with the 6 button controller selected. Closing issue!