MickGyver / DaemonBite-Retro-Controllers-USB

A collection of retro controller USB adapters (SNES, NES, Mega Drive/Genesis, Master System, Atari, Commodore, Amiga and Amiga CD32)
GNU General Public License v3.0
296 stars 61 forks source link

Problem with a 6 buttons megadrive controller #18

Open blc29seb opened 3 years ago

blc29seb commented 3 years ago

Hi I made the controller adapter for megadrive (SegaTwoControllersUSB) tested under windows 10 with the windows game controller application i have several problems

I use an official 6 buttons controller and an official 3 buttons in 3 buttons mode everything works fine (even with the 6 buttons controller configured in 3 buttons (mode button)) but in 6 buttons mode when I use the Dpad I have some buttons that are activated (4,5,6,8,9) for example (left +down): pb_6but_controller

and when I push on the x (4) y(5) or z(6) buttons they blink instead of staying on like A,B and C buttons

What does the button 9 correspond to when there are only 8 buttons ? Sincerely (sorry for my bad english ;) )

MickGyver commented 3 years ago

I guess there is something with your wiring/soldering is causing this issue.

Button 9 corresponds to the HOME button on the 8bitdo M30 2.4G wireless MD/Genesis controller.

venice1200 commented 3 years ago

Using your "SegaControllerUSB" Sketch.

My two Sega 3 Button Controllers Model 1650 and 1650-50 are working fine. My Sega 6 Button Controller Model SJ-6000 doesn't work at all.

Any Idea's?

blc29seb commented 3 years ago

Hi It's not a problem of welding or anything else I checked everything and with this code (https://github.com/thinghacker/DualUSBSegaController/tree/master/examples/DualUSBSegaController) it works fine but I can't use your TX1 and RX0 connections I will have to redo my soldering to wire them on other ports I read this https://forum.arduino.cc/t/using-digital-pin-0-and-1-just-like-any-other-digital-pin/462591 about RX and TX pin

Best regards

venice1200 commented 3 years ago

Just a note, I got my 8BitDo Genesis M30 2.4g Controller which works perfect with the "SegaControllerUSB" Sketch. Really cool.

Need to double check why the Sega 6 Button Controller Model SJ-6000 doesn't work at all. I will try it with the MiSTer's USB 3.0 based Snac Adapter next week.

MickGyver commented 3 years ago

Using your "SegaControllerUSB" Sketch.

My two Sega 3 Button Controllers Model 1650 and 1650-50 are working fine. My Sega 6 Button Controller Model SJ-6000 doesn't work at all.

Any Idea's?

Please try the "SegaControllerUSB" sketch in this branch:

https://github.com/MickGyver/DaemonBite-Retro-Controllers-USB/tree/SEGA-6-Button

venice1200 commented 3 years ago

Tested. Nothing better with Sega 6 Button. No function at all. And from the 8BitDo Genesis M30 2.4g only Buttons ABC and Start are working. Back on "Main".

MickGyver commented 3 years ago

Tested. Nothing better with Sega 6 Button. No function at all. And from the 8BitDo Genesis M30 2.4g only Buttons ABC and Start are working. Back on "Main".

Yes, I just noticed it was a stupid attempt at a fix, I will look at it some more when I have the time.

venice1200 commented 3 years ago

No hurry...

gregdick1 commented 3 years ago

I've run into a similar problem with my SegaTwoControllersUSB adapter and the retro-bit official 6 button controllers. Without pressing anything, x or y will fire seemingly randomly. I made two adapters. They both behave the same. They work perfectly with an original 3 button controller and with some non-branded cheap 6 button controllers I got off of ebay. Very interesting that the cheap one works fine. I don't have an original 6 button to try.

I also tried the SegaControllerUSB with 6 button hack on your other branch. Then both non-branded and retro-bit 6 button controllers only had the dpad, A, B, C, and Start working.

Jmaxime89 commented 2 years ago

Hello I'm wondering if there is any development on this ? I have a licensed retrobit 6 button controllers and they don't work on the two daemon bite I've made for the mister

quidamphx commented 2 years ago

I have similar issues, which led me to double check my wiring.

I'm using MiSTer input test, and Windows 10 USB Game controller properties.

I wonder if this issue is somehow related to device IDing? When I have Player 1 connected with a 2.4Ghz 8bitdo controller, it works perfectly. When I add another receiver to Player 2, it causes sporadic inputs on Player one.

When I connect an OEM Genesis 1650 as Player 2 (still with the 8bitdo as Player 1), both function correctly. Narrowing it down, either it's getting confused by 2 controllers that are the same, or something related to the XYZ of Player 2.

If I knew more about the coding I'd look into it, but I can say there's an issue with Player 2 using 6 button, OR controllers being ID'd as the same.

I should also add that I continuity checked ALL pads on the Arduino, and nothing adjacent is bridged at all.

Jmaxime89 commented 2 years ago

Interesting, I will try my wired licensed retrobit 6 button with a OEM controller plugged in. It would be very interesting to understand why this particular controller doesn't work with the DaemonBite but in all of my Sega Genesis (Genesises?) they work flawlessly

quidamphx commented 2 years ago

Yeah, it's puzzling for sure. I don't have a Sega-branded 6 button to try, but I can say for certain that there's issues with using my 2x M30 controllers together.

I'm repeating myself a bit, but the Player 2 controller works perfectly if it's the only one plugged in (nothing in P1 spot), but with them both 8bitdo, I can't get anything to trigger in the P2 test at all (and it causes issues with P1 as mentioned), until I use a different controller; then P2 and P1 work perfectly.

That said, the NES version I built works perfectly with 2x 8bitdo controllers, and so does the SNES version.

On Thu., Sep. 30, 2021, 1:13 p.m. Jmaxime89, @.***> wrote:

Interesting, I will try my wired licensed retrobit 6 button with a OEM controller plugged in. It would be very interesting to understand why this particular controller doesn't work with the DaemonBite but in all of my Sega Genesis (Genesises?) they work flawlessly

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/MickGyver/DaemonBite-Retro-Controllers-USB/issues/18#issuecomment-931510905, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALW24YRFZU54CIN6GXFGUFTUESLE7ANCNFSM43XQHDCA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

emarleau commented 2 years ago

I would like to point out that the issue with the Retro-Bit 6 button controller is also happening with the SNAC adapter. FB_IMG_1633798943523

venice1200 commented 2 years ago

Which Core did you use for testing?

emarleau commented 2 years ago

Genesis core. I'm using a test rom called Sega Genesis 6 button controller test https://www.romhacking.net/homebrew/126/

treeswithhumanfaces commented 2 years ago

I was able to fix this for retro-bit officially licensed controllers by commenting out the code that captures home button input.

Lines 162 and 234 in SegaControllers32U4.cpp

gregdick1 commented 2 years ago

@treeswithhumanfaces I tried commenting those two lines, but it didn't fix the problem for my retro-bit controllers. Did you have any other changes you experimented with that might've gotten it working?