• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
RetroPie forum home
  • Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

MD/Genesis 6 button controller

Scheduled Pinned Locked Moved Help and Support
emulationstaionretroarchcontroller cfg
9 Posts 3 Posters 733 Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N
    nicshoe18
    last edited by 4 Jun 2020, 23:28

    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

    D 1 Reply Last reply 3 Mar 2022, 22:34 Reply Quote 0
    • M
      mitu Global Moderator
      last edited by 5 Jun 2020, 03:48

      If you test the controller via jstest, does it register the missing buttons ?

      1 Reply Last reply Reply Quote 1
      • N
        nicshoe18
        last edited by nicshoe18 6 May 2020, 15:35 5 Jun 2020, 14:32

        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

        M 1 Reply Last reply 5 Jun 2020, 15:02 Reply Quote 0
        • M
          mitu Global Moderator @nicshoe18
          last edited by 5 Jun 2020, 15:02

          @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 ?

          1 Reply Last reply Reply Quote 0
          • N
            nicshoe18
            last edited by nicshoe18 6 May 2020, 17:00 5 Jun 2020, 15:53

            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

            https://github.com/libretro/retroarch-joypad-autoconfig/blob/master/udev/SEGA_Mega_Drive_Mini_6B_Controller.cfg

            M 1 Reply Last reply 5 Jun 2020, 16:11 Reply Quote 0
            • M
              mitu Global Moderator @nicshoe18
              last edited by 5 Jun 2020, 16:11

              @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.

              1 Reply Last reply Reply Quote 0
              • N
                nicshoe18
                last edited by 13 Jun 2020, 22:24

                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.

                https://github.com/libretro/retroarch-joypad-autoconfig/blob/master/hid/RetroUSB_Genesis_Retroport.cfg

                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?

                1 Reply Last reply Reply Quote 0
                • M
                  mitu Global Moderator
                  last edited by 14 Jun 2020, 02:46

                  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.

                  1 Reply Last reply Reply Quote 1
                  • D
                    disaster @nicshoe18
                    last edited by 3 Mar 2022, 22:34

                    @nicshoe18

                    I had to add usbhid.quirks=0xf000:0x0008:0x100000 to /boot/cmdline.txt and then reboot to get jstest detect the missing buttons.

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post

                    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.

                      This community forum collects and processes your personal information.
                      consent.not_received