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

    Mayflash Sega Saturn Adaptor 2nd controller not recognised

    Scheduled Pinned Locked Moved Help and Support
    mayflashsaturncontroller help
    27 Posts 5 Posters 5.2k 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.
    • masseo1M
      masseo1
      last edited by masseo1

      Hi there,
      I wanted to let everyone know that this process works, and to thank you for your fix. I just bought the Mayflash Sega Saturn Adapter, and ran into issues with setting it up initially. I followed the instructions and it worked flawlessly. I have a Raspberry Pi 3, and compiled right on it; It took about 3 hours (of course if anyone wants it done faster, compile the kernel on a more powerful system (cross-compile)
      I've only tested the Saturn "3D" controller so far, and it works well. I'll be testing a Sega Virtua-stick and a Hori Fighting Stick SS (when it arrives at my house).

      Everyone that may attempt this, beware that if you ever update your Kernel, via an apt-get, you'll eliminate this fix. You will then have to repeat this process of compiling your own kernel with these patches.

      Hopefully, the change will get approved an merged into the Linux Kernel.

      Thanks again.

      mituM 1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator @masseo1
        last edited by

        @masseo1 Wouldn't it be easier to use the usbhid module quirks (https://raspberrypi.stackexchange.com/questions/3487/editing-quirks-for-a-usb-driver) to make this work, rather than re-compiling the whole kernel ?

        masseo1M S 2 Replies Last reply Reply Quote 0
        • masseo1M
          masseo1 @mitu
          last edited by masseo1

          @mitu

          Hey, thanks, I want to see if I can utilize that. I never knew about that. What an awesome approach!

          The thing is, I am quite familiar with compiling kernels, not so familiar with how "modular" and dynamic modules can actually be.

          1 Reply Last reply Reply Quote 0
          • S
            stevethefish76 @barbudreadmon
            last edited by

            @barbudreadmon I'm curious... in the five years since this post, have the Linux kernels been updated to recognize Mayflash Saturn USB converters? Also, does this converter work with the analog controller or the twin sticks?

            B 1 Reply Last reply Reply Quote 0
            • B
              barbudreadmon @stevethefish76
              last edited by

              @stevethefish76 i haven't plugged my adapters for quite some time so i can't tell, if it doesn't i'd recommend using @mitu's usbhid quirk method instead of mine, and yeah the analogs should be recognized.

              FBNeo developer - github - forum

              S 1 Reply Last reply Reply Quote 0
              • S
                stevethefish76 @barbudreadmon
                last edited by

                @barbudreadmon Thanks. I run Retropie on my Linux PC. I suppose I'll give it a try.

                1 Reply Last reply Reply Quote 0
                • S
                  stevethefish76 @mitu
                  last edited by

                  @mitu @barbudreadmon This week I bought the Saturn to USB converter by Mayflash and I was able to configure Retropie to use one Saturn pad. Retropie recognized it as a Generic X-Box pad and it created a "Generic X-Box pad.cfg" file. I haven't had luck getting it to configure the analog pad, so I haven't been able to test the second controller port.

                  I used to have a Nitiumi (generic) Saturn-style pad and had configured it for the Saturn and the MD/MCD/32X emulators through the core remap. I got into Street Fighter 2 for the MD and was able to remap buttons. The problem now is that button A has now become a RESET button. I deleted the core remap configuration, but it still wants to reset the game every time I press A.

                  Something else that's weid is that with the Nitiumi controller, I was able to bring up the Retroarch menu with Start+Y and from there I'd exit the game with the Saturn emulator. Now It is Start+Y+Z for some reason. I do not know how to configure that. For the MD, I had to mash buttons until I figured out that it is Start+A+Y to bring up the Retroarch. Some advice on this too would be appreciated. Thanks in advance.

                  B 1 Reply Last reply Reply Quote 0
                  • B
                    barbudreadmon @stevethefish76
                    last edited by

                    @stevethefish76 said in Mayflash Sega Saturn Adaptor 2nd controller not recognised:

                    Retropie recognized it as a Generic X-Box pad

                    That's not normal, it should be something like "Mayflash Sega Saturn to USB Adapter", maybe you got a different adapter model hence why it's falling back to some generic autoconfig ? Could you run lsusb and post the output ? The model i have which is recognized by retroarch should look like this :

                    ...
                    Bus 001 Device 011: ID 0e8f:3010 GreenAsia Inc. USB GamePad
                    ...
                    

                    FBNeo developer - github - forum

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      stevethefish76 @barbudreadmon
                      last edited by

                      @barbudreadmon OK, I did a lsusb command and it lists it as "DragonRise Inc. SS Controller Adapter-Xinput". I failed to mention that I am not using a RasPi, but actually my Linux Mint desktop. Would that make a difference?

                      mituM B 2 Replies Last reply Reply Quote 0
                      • mituM
                        mitu Global Moderator @stevethefish76
                        last edited by

                        @stevethefish76 said in Mayflash Sega Saturn Adaptor 2nd controller not recognised:

                        I failed to mention that I am not using a RasPi, but actually my Linux Mint desktop. Would that make a difference?

                        Not as far as lsusb is concerned. As @barbudreadmon mentioned, the name of the gamepad should not be Drangonrise.., that's a generic controller used in a lot of arcade boards and gamepads. Maybe it's a clone of the genuine Mayflash converter.

                        Is your controller working correctly in EmulationStation ? Post the RetroArch auto-configuration profile from /opt/retropie/configs/all/retroarch-joypads - there should be a .cfg file named similarly to your gamepad.
                        Also, get a verbose log and post it on pastebin.com, providing the link.

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          stevethefish76 @mitu
                          last edited by

                          @mitu Here is a paste from the Generic X-Box pad.cfg file.

                          input_device = "Generic X-Box pad"
                          input_driver = "udev"
                          input_enable_hotkey_btn = "0"
                          input_l_btn = "9"
                          input_load_state_btn = "9"
                          input_up_btn = "h0up"
                          input_up_btn_label = "Stick Up"
                          input_left_btn = "h0left"
                          input_left_btn_label = "Stick Left"
                          input_state_slot_decrease_btn = "h0left"
                          input_r2_btn = "5"
                          input_right_btn = "h0right"
                          input_right_btn_label = "Stick Right"
                          input_state_slot_increase_btn = "h0right"
                          input_l2_btn = "4"
                          input_l2_btn_label = "L"
                          input_r_btn = "10"
                          input_save_state_btn = "10"
                          input_y_btn = "2"
                          input_x_btn = "3"
                          input_menu_toggle_btn = "3"
                          input_down_btn = "h0down"
                          input_down_btn_label = "Stick Down"
                          input_start_btn = "7"
                          input_start_btn_label = "Plus"
                          input_exit_emulator_btn = "nul"
                          input_b_btn = "0"
                          input_reset_btn = "0"
                          input_a_btn = "1"
                          input_vendor_id = "121"
                          input_product_id = "6267"
                          input_gun_trigger_mbtn = "1"

                          I added the "nul" for exit_emulator_btn because I had a problem with the old pad exiting the game every time I pressed the start button.

                          1 Reply Last reply Reply Quote 0
                          • B
                            barbudreadmon @stevethefish76
                            last edited by barbudreadmon

                            @stevethefish76 said in Mayflash Sega Saturn Adaptor 2nd controller not recognised:

                            DragonRise Inc. SS Controller Adapter-Xinput

                            What matters the most are the hexadecimals right before the name, autoconfig matching is based on those, but yeah it appears to be a different adapter, which explains why it's not automapped properly, especially since it mentions "Xinput".

                            FBNeo developer - github - forum

                            1 Reply Last reply Reply Quote 0
                            • mituM
                              mitu Global Moderator
                              last edited by mitu

                              I don't know how you got this mapping configuration, it doesn't seem to be produced by RetroPie's input configuration script (from EmulationStation).

                              You've got the same button (0) mapped as hotkey_enable, reset and exit, which is not ok. If the gamepad doesn't have a separate button for you to use as hotkey_enable and - as far as I know - the original Saturn controller doesn't have a Select button, you should disable any hotkey actions (reset/exit/menu/load/save/etc) and leave only the buttons and D-Pad mapped.
                              You can use use RetroArch's options to enable the menu with a button combo (L3 + R3, L1 + R1, Hold Start (2 sec), etc), which you can find under Settings -> Input -> Hotkeys.

                              S 1 Reply Last reply Reply Quote 0
                              • S
                                stevethefish76 @mitu
                                last edited by stevethefish76

                                @mitu @barbudreadmon OK, I'm finally finding time to get back to this. My Mayflash USB converter seems to be a legitimate and not a clone. I have no way of knowing.

                                There is a switch between Xinput and Dinput. With Dinput, it says that two controllers are detected, but I cannot get Retropie to properly recognize the controller. However, it does say SS rather than Xbox. Here are lsub results:
                                0079:187a DragonRise Inc. SS Controller Adapter-Dinput
                                0079:187b DragonRise Inc. SS Controller Adapter-Xinput
                                Here. I've redone the mapping. Generic X-Box pad.cfg
                                input_device = "Generic X-Box pad"
                                input_driver = "udev"
                                input_enable_hotkey_btn = "7"
                                input_l_btn = "9"
                                input_load_state_btn = "9"
                                input_up_btn = "h0up"
                                input_up_btn_label = "Stick Up"
                                input_left_btn = "h0left"
                                input_left_btn_label = "Stick Left"
                                input_state_slot_decrease_btn = "h0left"
                                input_r2_btn = "5"
                                input_right_btn = "h0right"
                                input_right_btn_label = "Stick Right"
                                input_state_slot_increase_btn = "h0right"
                                input_l2_btn = "4"
                                input_l2_btn_label = "L"
                                input_r_btn = "10"
                                input_save_state_btn = "10"
                                input_y_btn = "2"
                                input_x_btn = "3"
                                input_menu_toggle_btn = "3"
                                input_down_btn = "h0down"
                                input_down_btn_label = "Stick Down"
                                input_start_btn = "7"
                                input_start_btn_label = "Plus"
                                input_exit_emulator_btn = "7"
                                input_b_btn = "0"
                                input_reset_btn = "0"
                                input_a_btn = "1"
                                input_exit_emulator_btn = "nul"

                                I've tried deleting this .cfg file a few times tonight and remapping the joypad. At one point, I could bring up the Retroarch menu by pressing Start+Y+Z. Currently, I cannot bring it up, and upon pressing Start+Z it just quits the game, even though I have the input_exit_emulator_btn = "nul" in the cfg file.

                                I can't do a core remap without being able to load the Retroarch menu through a hotkey. From the main Retropie menu, I tried going into the Retroarch menu to configure the hotkeys so that pressing and holding the start button will bring up the menu. When I exit though, I get this message:
                                error: XDG_RUNTIME_DIR not set in the environment.

                                This is all puzzling to me. Is it because Retropie on a Raspi is Debian-based, while Linux Mint is Ubuntu-based? I'm just guessing as I don't know what I'm talking about really. Megadrive and 32X just exit out of the game upon pressing the start button.

                                EDIT: The back of the packaging says this:
                                "Direct Input (standard HID protocol) supports 2 controllers at the same time. Xinput (Xbox 360 controller protocol) supports one controller per individual adapter.

                                1 Reply Last reply Reply Quote 0
                                • mituM
                                  mitu Global Moderator
                                  last edited by mitu

                                  @stevethefish76 said in Mayflash Sega Saturn Adaptor 2nd controller not recognised:

                                  I've tried deleting this .cfg file a few times tonight and remapping the joypad. At one point, I could bring up the Retroarch menu by pressing Start+Y+Z. Currently, I cannot bring it up, and upon pressing Start+Z it just quits the game, even though I have the input_exit_emulator_btn = "nul" in the cfg file.

                                  Looking at your config file, you still have the same button (7) mapped to hotkey enable, Start and Exit.

                                  Don't map any hotkey button when asked (in EmulationStation). Add a value for input_menu_toggle_gamepad_combo in /opt/retropie/configs/all/retroarch.cfg. You can choose from the values explained here - for instance to use L1+R1 for opening the menu, add

                                  input_menu_toggle_gamepad_combo = "6"
                                  
                                  S 1 Reply Last reply Reply Quote 0
                                  • S
                                    stevethefish76 @mitu
                                    last edited by

                                    @mitu Hi, perhaps I am misunderstanding, but the hotkey can be anything not used much, I thought. Usually it is the select button, but if you use the NES emulator, the select will still work. It's only when pressed in conjunction with another button that it brings up the Retroarch menu. The way I had the Nitiumi Saturn pad configured, Start was the hotkey, so when pressed with the Y button, it brought up the menu. Pressing start alone simply paused the game. What I want to do is designate which button in conjunction with the hotbutton (in this case, the start button) to bring up the menu.

                                    1 Reply Last reply Reply Quote 0
                                    • mituM
                                      mitu Global Moderator
                                      last edited by

                                      OK, then try this way - keep the existing config, but remove the Exit hotkey line (input_exit_emulator_btn = "7"). Start + X should open up the menu - but if you want to open the menu with Y, then change the line

                                      input_menu_toggle_btn = "3"
                                      

                                      to

                                      input_menu_toggle_btn = "2"
                                      
                                      S 2 Replies Last reply Reply Quote 1
                                      • S
                                        stevethefish76 @mitu
                                        last edited by

                                        @mitu Holy crap, THANK YOU SO MUCH for helping me with this! I had the exit input set to NUL but I didn't notice that there was another line, which was confusing the emulator. This is what was screwing things up for me! The Saturn emulator works great (and on my Linux desktop and not a RasPi, the emulation seems perfect to my untrained eye), but that wasn't the problem. Now that the start button no longer exited games on the other Sega emlators, I was able to load the core remap button config file to use with the Megadrive, Mega CD, and 32X. I had this all working fine with the Nitiumi fake Saturn pad, but that went kaput as some users on Reddit warned me would happen. Now everything is working fine. Once again, THANK YOU! I'll revisit this thread later if I can't get the analog pad working properly with the process described above.

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          stevethefish76
                                          last edited by

                                          I caught an error in my config file. I've come back to the Saturn this evening and this time I tried playing Street Fighter Zero 3. The Saturn's Z button is properly mapped to be the "L" button on a standard controller. This is the strong punch. For some weird reason, the config I provided above had two lines which I have no idea where they came from.
                                          input_state_slot_decrease_btn = "h0left"
                                          input_state_slot_increase_btn = "h0right"
                                          Totally weird. I didn't notice this earlier because I've been mainly playing shmups. I still need to try to get the second controller to work.

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            stevethefish76 @mitu
                                            last edited by

                                            Something happened, somehow, without me going into the controller configuration mode, which affects the hotkey ONLY for the Saturn Beetle emulator while using either my Saturn D-pad or my Virtua Stick via the Mayflash converter. I am using Retropie ver. 4.8.2 on my Linux Mint desktop PC (x86 architecture, 64bit) rather than a RasPi. Below is the input config file. Two things though:
                                            input_enable_hotkey_btn = "7" (this is the Start Button on the Saturn controller)
                                            input_menu_toggle_btn = "2" (While the Start Button is pressed, pressing the X button on the controller brings up the Retroarch menu.

                                            This works for FBA, Megadrive, 32X, SegaCD, anything. Except somehow, it has stopped working for the Saturn emulator. What brings up the Retroarch menu with the Saturn menu is pressing Y and Z together.
                                            So Y should be btn="2" and Z should be btn="10" unless I am mistaken. I do have a core remap enabled for the MD, MCD, and 32X, but it is not loaded for the Saturn emulator. What could be the problem? (Again, the hotkey is the same as Start on purpose because it's how I want to bring up the menu in combination with the other button. I just don't get why it's going to completely different buttons.)

                                            input_device = "Generic X-Box pad"
                                            input_driver = "udev"
                                            input_enable_hotkey_btn = "7"
                                            input_l_btn = "9"
                                            input_up_btn = "h0up"
                                            input_up_btn_label = "Stick Up"
                                            input_left_btn = "h0left"
                                            input_left_btn_label = "Stick Left"
                                            input_r2_btn = "5"
                                            input_right_btn = "h0right"
                                            input_right_btn_label = "Stick Right"
                                            input_l2_btn = "4"
                                            input_l2_btn_label = "L"
                                            input_r_btn = "10"
                                            input_y_btn = "2"
                                            input_x_btn = "3"
                                            input_menu_toggle_btn = "2"
                                            input_down_btn = "h0down"
                                            input_down_btn_label = "Stick Down"
                                            input_start_btn = "7"
                                            input_start_btn_label = "Plus"
                                            input_b_btn = "0"
                                            input_a_btn = "1"
                                            input_exit_emulator_btn = "nul"

                                            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.