MD/Genesis 6 button controller
-
Sorry to have to bring this up again, slightly different issue. In 3.x using autoconfig in ES, all buttons on my 6 button controllers would register and map, but could not get them working in either pico or genesis plus gx (I will address the emulator part later). After the upgarde to 4.6, only 3 buttons register in autoconfig in ES and can't map the other 3 or mode buttons. Mapped up a working button combo to be able to pull up the retroarch quick menu via config file. Tried changing the config in retroarch and mapped the top 3 and mode buttons in core remap to see if I could get them to respond. Still nothing. What am I missing? Should I try another input driver? It's currently set to udev. Did the retrousb profile change?
Pi Model or other hardware: 3 B rev 1.2
Power Supply used: micro-usb
RetroPie Version: 4.6
Built From: Pre made SD Image on RetroPie website
USB Devices connected: Retrousb genesis retrobox
Controller used: oem genesis 6 button
Guide used: retroarch core input remapping wiki
File: /opt/retropie/configs/all/retroarch-joypads/'RetroUSB.com Genesis RetroBox.cfg'
/opt/retropie/configs/all/retroarch-core-options.cfg
Emulator: genesis plus gx -
If you test the controller via
jstest
, does it register the missing buttons ? -
Didn't know about jstest, thanks! No, they do not show up. Lists the pad as having 4 buttons...
Driver version is 2.1.0. Joystick (RetroUSB.com Genesis RetroBox) has 2 axes (X, Y) and 4 buttons (BtnA, BtnB, BtnC, BtnX). Testing ... (interrupt to exit) Axes: 0: 0 1: 0 Buttons: 0:off 1:off 2:off 3:off
I also went looking for the autoconfig profile to see if I could pick another one or copy the six button inputs, but could not find it
-
@nicshoe18 said in MD/Genesis 6 button controller:
Lists the pad as having 4 buttons.
That's probably why it's not detected correctly. I wonder what happened between the 2 version that makes it incompatible. Can you try the same test with
evtest
and see if anything comes different ? -
Same, only 4 buttons registered/respond
Input driver version is 1.0.1 Input device ID: bus 0x3 vendor 0xf000 product 0x8 version 0x100 Input device name: "RetroUSB.com Genesis RetroBox" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 304 (BTN_SOUTH) Event code 305 (BTN_EAST) Event code 306 (BTN_C) Event code 307 (BTN_NORTH) Event type 3 (EV_ABS) Event code 0 (ABS_X) Value 128 Min 0 Max 255 Flat 15 Event code 1 (ABS_Y) Value 128 Min 0 Max 255 Flat 15 Event type 4 (EV_MSC) Event code 4 (MSC_SCAN)
Can I change the input_device in retroarch config file to something different and see if they pop up? And where I could find list of device names to test with?
Second thought was to try and find the autoconfig profile and change it there. Ran a grep for the below, but didn't come up with anything. Not sure where I should be looking
-
@nicshoe18 said in MD/Genesis 6 button controller:
Can I change the input_device in retroarch config file to something different and see if they pop up? And where I could find list of device names to test with?
I don't think that will work - the only device appearing is the one you've been testing.
Second thought was to try and find the autoconfig profile and change it there. Ran a grep for the below, but didn't come up with anything. Not sure where I should be looking
I see only 2 profiles for RetroUSB devices (NES and SNES), but no MD. Even if such profile existed, RetroArch uses the same method to read the device's inputs (
evdev
/udev
), so it won't make much of a difference.Try using an older release (4.4 or 4.5) and see if the gamepad gets detected. If you update the installation, then don't update the kernel packages.
-
Ok here's where it gets weird. I found the hid profile, so I tried setting some things in the retroarch autoconfig. Not sure it's holding, but progress. When I run evtest, first run fresh reboot, XYZ and Mode will pop up as a D Pad input once and then nothing. Run evtest again and those buttons do not show up at all. But if I reboot the pi, run evtest again, I can get any one of those buttons to register once again. I have 2 6 button controllers and 2 ports with the same behavior. Think we can rule out hardware issue.
In /opt/retropie/configs/all/retroarch/autoconfig
input_device = "RetroUSB Genesis Retroport" input_vendor_id = "61440" input_product_id = "8" input_driver = "hid"
Running evtest:
No device specified, trying to scan all of /dev/input/event* Not running as root, no devices may be available. Available devices: /dev/input/event0: RetroUSB.com SNES RetroPort /dev/input/event1: RetroUSB.com Genesis RetroBox Select the device event number [0-1]: 1 Input driver version is 1.0.1 Input device ID: bus 0x3 vendor 0xf000 product 0x8 version 0x100 Input device name: "RetroUSB.com Genesis RetroBox" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 304 (BTN_SOUTH) Event code 305 (BTN_EAST) Event code 306 (BTN_C) Event code 307 (BTN_NORTH) Event type 3 (EV_ABS) Event code 0 (ABS_X) Value 0 Min 0 Max 255 Flat 15 Event code 1 (ABS_Y) Value 0 Min 0 Max 255 Flat 15 Event type 4 (EV_MSC) Event code 4 (MSC_SCAN) Properties: Testing ... (interrupt to exit) Event: time 1592085889.214061, type 3 (EV_ABS), code 0 (ABS_X), value 128 Event: time 1592085889.214061, type 3 (EV_ABS), code 1 (ABS_Y), value 128 Event: time 1592085889.214061, -------------- SYN_REPORT ------------
I'm slightly reluctant to rollback to a previous version just yet due to the thousand little minor tweaks I've done on this build. Any other hardcoding options? Considering I came from a pre-Stretch build if I do need to rollback, how far back should I go?
-
To me is looks like the gamepad is not correctly detected and configured by the OS - so no amount of configuration will make this work if the kernel doesn't properly detect it. Hence the suggestion to try and see if you have the same issues with an older build.
-
I had to add
usbhid.quirks=0xf000:0x0008:0x100000
to /boot/cmdline.txt and then reboot to getjstest
detect the missing buttons.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.