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

    Reicast - Mapping controllers??? (2020 version). Stuck.

    Scheduled Pinned Locked Moved Help and Support
    reicastreicast helpreicast retropiretropieretropie 4.5
    34 Posts 11 Posters 8.7k 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.
    • R
      rejesterd
      last edited by rejesterd

      @Plex7 Trying to save you some reading here, in case you do eventually come back to this. Going back to the settings shown in your very first post, here's how you map your Microntek USB Joystick controllers (i.e. evdev devices #2 and #3, as shown in your reicast-joyconfig output):

      Step 1: Uninstall and re-install reicast.

      Step 2: If you haven't done so, map the Microntek controllers in Emulation Station.

      Step 3: Run reicast-joyconfig for one of the controllers, and save the output to ~/.reicast/mappings/evdev_Microntek USB Joystick.cfg. Make sure the file is named EXACTLY 'evdev_Microntek USB Joystick.cfg' with the spaces.

      Step 4: Search for 'Microntek' in /opt/retropie/configs/all/emulationstation/es_input.cfg

      $ grep -i 'Microntek' /opt/retropie/configs/all/emulationstation/es_input.cfg
      

      This will spit out an <inputConfig> element that contains a property called 'deviceGUID'. This deviceGUID corresponds to your deviceName. It will be a long string with letters and numbers like..

      deviceGUID="05000000c82d00000161000000010000"
      

      Step 5: Modify the [input] section in ~/.reicast/emu.cfg as follows:

      [input]
      MouseSensitivity = 100
      VirtualGamepadVibration = 20
      device1 = 0
      device1.1 = 1
      device1.2 = 1
      device2 = 0
      device2.1 = 1
      device2.2 = 1
      device3 = 8
      device3.1 = 8
      device3.2 = 8
      device4 = 8
      device4.1 = 8
      device4.2 = 8
      maple_/dev/input/event2 = 0
      maple_/dev/input/event3 = 1
      maple_/dev/input/event4 = -1
      maple_<YourDeviceGUID> = -1
      

      ..where <YourDeviceGUID> is the string you obtained in the previous step above.

      Step 6: Also in ~/.reicast/emu.cfg, remove the [players] section you added previously. It's not needed.

      Step 7: Reboot and give it a try.

      Edit: If you see any other maple_* devices show up in emu.cfg after rebooting, set their values to -1 (which means reicast should ignore them).

      And for anyone else who is curious about the [input] device settings..

      device1 = 0  # controller 1 is of type 'Sega Controller' (0)
      device1.1 = 1 # controller 1's primary vmu is of type 'Sega VMU' (1), and is stored in ~/.reicast/vm_save_A1.bin
      device1.2 = 1 # controller 1's secondary vmu is of type 'Sega VMU' (1), and is stored in ~/.reicast/vm_save_A2.bin
      device2 = 0  # controller 2 is of type 'Sega Controller' (0)
      device2.1 = 1 # controller 2's primary vmu is of type 'Sega VMU' (1), and is stored in ~/.reicast/vm_save_B1.bin
      device2.2 = 1 # controller 2's secondary vmu is of type 'Sega VMU' (1), and is stored in ~/.reicast/vm_save_B2.bin
      device3 = 8 # controller 3 is not configured
      ....
      device4 = 8 # controller 4 is not configured
      ....
      maple_/dev/input/event2 = 0 # /dev/input/event2 (Microntek USB Joystick) is controller 1
      maple_/dev/input/event3 = 1 # /dev/input/event3 (Microntek USB Joystick) is controller 2
      maple_/dev/input/event4 = -1 # ingore the Logitech Gamepad F710
      maple_<YourDeviceGUID> = -1 # ignore the configuration for Microntek USB Joystick that is set in /opt/retropie/configs/all/emulationstation/es_input.cfg
      
      D 1 Reply Last reply Reply Quote 0
      • T
        tackett1980
        last edited by

        I uninstalled it, I could never get it to map my controls.

        R 1 Reply Last reply Reply Quote 0
        • R
          Raupo @tackett1980
          last edited by

          @tackett1980 I built a bartop and installed the following two controllers there:
          https://www.amazon.de/EG-STARTS-Verzögerung-Drucktasten-Raspberry/dp/B077J2WGKT/ref=sr_1_9?__mk_de_DE=ÅMÅŽÕÑ&keywords=arcade+controllers&qid=1582141216&sr=8-9

          The controllers work without problems in the emulation station, but no button or joypad worked in reicast. Then I did the following to get the controllers working with reicast:

          1. Update reicast from source

          2. After the update I replaced the following line in /opt/retropie/configs/all/autoconf.cfg..
            reicast_input = "1"
            to
            reicast_input = "0"

          3. Then I ran
            sudo /opt/retropie/emulators/reicast/bin/reicast-joyconfig
            which generated the controller config file "controller_DragonRiseInc.GenericUSBJoystick.cfg" in the directory /opt/retropie/configs/dreamcast/mappings
            config_1.JPG

          4. Then I copied the content into the controller_generic.cfg file:
            config_2.JPG

          5. And finally, I modified the /opt/retropie/configs/dreamcast/emu.cfg file for controller 2:
            config_3.JPG

          That’s it. Now I can finally play Dreamcast games

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

            @rejesterd based on your observations, we've added some changes to the way the controller are configured for Reicast.
            Configuring the controllers using the Reicast configuration dialog should be more reliable, the auto-configuration done by EmulationStation when you configure your input is not always correct, but at least the .cfg file name should be correct now.

            Thank you again for the time you've taken to debug this.

            N 1 Reply Last reply Reply Quote 1
            • F
              Febbweiss
              last edited by

              Hi all,

              Is there a way/tutorial to configure a wiimote with a dolphinbar as mouse for lightgun games ?
              I have a configuration but it's not really accurate.

              Thanks

              1 Reply Last reply Reply Quote 0
              • N
                Nunyahpi
                last edited by

                Seems the recent Retropi 4.5.14 fixed mapping but only on controller 1. Anyone else seeing the same thing?

                1 Reply Last reply Reply Quote 0
                • N
                  Nunyahpi @mitu
                  last edited by

                  @mitu

                  @mitu said in Reicast - Mapping controllers??? (2020 version). Stuck.:

                  @rejesterd based on your observations, we've added some changes to the way the controller are configured for Reicast.
                  Configuring the controllers using the Reicast configuration dialog should be more reliable, the auto-configuration done by EmulationStation when you configure your input is not always correct, but at least the .cfg file name should be correct now.

                  Thank you again for the time you've taken to debug this.

                  Seems 4.5.14 fixed mapping but only for controller 1. I tried to do versus last night and only controller 1 was being recognized. Bug 1/2 fixed?

                  R 1 Reply Last reply Reply Quote 0
                  • R
                    rejesterd @Nunyahpi
                    last edited by

                    @Nunyahpi Can you show us your ~/.reicast/emu.cfg? Thanks.

                    N 1 Reply Last reply Reply Quote 0
                    • N
                      Nunyahpi @rejesterd
                      last edited by

                      @rejesterd said in Reicast - Mapping controllers??? (2020 version). Stuck.:

                      @Nunyahpi Can you show us your ~/.reicast/emu.cfg? Thanks.

                      I'm not at home with my Pi presently but I can grab it later on and post it.

                      1 Reply Last reply Reply Quote 0
                      • N
                        Nunyahpi
                        last edited by

                        [config]
                        Debug.SerialConsoleEnabled = no
                        Dreamcast.Broadcast = 4
                        Dreamcast.Cable = 3
                        Dreamcast.ContentPath =
                        Dreamcast.FullMMU = no
                        Dreamcast.Language = 6
                        Dreamcast.RTC = 1543277752
                        Dreamcast.Region = 3
                        Dreamcast.Rtt = 0
                        Dynarec.Enabled = yes
                        Dynarec.SmcCheckLevel = 0
                        Dynarec.idleskip = yes
                        Dynarec.safe-mode = yes
                        Dynarec.unstable-opt = no
                        Social.HideCallToAction = no
                        aica.LimitFPS = yes
                        aica.NoBatch = no
                        aica.NoSound = no
                        aica.OldSyncronousDma = no
                        bios.UseReios = 0
                        pvr.MaxThreads = 3
                        pvr.Subdivide = 0
                        pvr.SynchronousRendering = no
                        pvr.rend = 0
                        rend.Clipping = yes
                        rend.CustomTextures = no
                        rend.DumpTextures = no
                        rend.FloatVMUs = no
                        rend.Fog = yes
                        rend.MaxFilteredTextureSize = 256
                        rend.ModifierVolumes = yes
                        rend.RenderToTextureBuffer = no
                        rend.RenderToTextureUpscale = 1
                        rend.ResolutionPercentage = 100
                        rend.Rotate90 = no
                        rend.ScreenScaling = 100
                        rend.ScreenStretching = 100
                        rend.ShowFPS = no
                        rend.TextureUpscale = 1
                        rend.UseMipmaps = 1
                        rend.WideScreen = no
                        ta.skip = 0

                        [dispmanx]
                        height = 480
                        maintain_aspect = yes
                        width = 640

                        [input]
                        MouseSensitivity = 100
                        VirtualGamepadVibration = 20
                        device1 = 0
                        device1.1 = 1
                        device1.2 = 1
                        device2 = 8
                        device2.1 = 8
                        device2.2 = 8
                        device3 = 8
                        device3.1 = 8
                        device3.2 = 8
                        device4 = 8
                        device4.1 = 8
                        device4.2 = 8
                        evdev_device_id_2 = -1
                        evdev_device_id_3 = -1
                        evdev_device_id_4 = -1
                        maple_/dev/input/event0 = 0
                        maple_/dev/input/event1 = 1
                        maple_/dev/input/event7 = 0

                        [omx]
                        audio_hdmi = yes
                        audio_latency = 100

                        [validate]
                        OpenGlChecks = 0

                        1 Reply Last reply Reply Quote 0
                        • R
                          rejesterd
                          last edited by

                          @Nunyahpi Under [input], change..

                          device2 = 8
                          device2.1 = 8
                          device2.2 = 8
                          

                          ..to:

                          device2 = 0
                          device2.1 = 1
                          device2.2 = 1
                          

                          Then try launching a game.

                          N 1 Reply Last reply Reply Quote 0
                          • N
                            Nunyahpi @rejesterd
                            last edited by Nunyahpi

                            @rejesterd said in Reicast - Mapping controllers??? (2020 version). Stuck.:

                            @Nunyahpi Under [input], change..

                            device2 = 8
                            device2.1 = 8
                            device2.2 = 8
                            

                            ..to:

                            device2 = 0
                            device2.1 = 1
                            device2.2 = 1
                            

                            Then try launching a game.

                            Thanks for the tip and I will give it a shot when I get home. Are the 8s being there vestiges of a pre-4.5.14 bug? How does it get changed to 8 in the first place? Is deleting the .cfg and letting it get re-created also an option?

                            R 1 Reply Last reply Reply Quote 0
                            • R
                              rejesterd @Nunyahpi
                              last edited by rejesterd

                              @Nunyahpi The 8's are expected to be there as far as I know (not a bug). In this case, a value of '8' means "not configured". By default, I think reicast will only enable one controller, even though it has discovered more than one. You can see this here..

                              maple_/dev/input/event0 = 0
                              maple_/dev/input/event1 = 1
                              

                              Those maple_* entries are automatically added. I'm guessing you manually added the evdev_* devices, but they're not needed.

                              I think manually deleting emu.cfg and letting it get re-created is best. Then you're starting with a clean auto-generated file.

                              Edited: Actually, what I should say is removing reicast with retropie-setup, then re-installing it from source is best (as opposed to just updating). That way, your emu.cfg should be clean. But since you already have one controller working, manually editing emu.cfg should be enough.

                              N 1 Reply Last reply Reply Quote 0
                              • N
                                Nunyahpi @rejesterd
                                last edited by

                                @rejesterd said in Reicast - Mapping controllers??? (2020 version). Stuck.:

                                @Nunyahpi The 8's are expected to be there as far as I know (not a bug). In this case, a value of '8' means "not configured". By default, I think reicast will only enable one controller, even though it has discovered more than one. You can see this here..

                                maple_/dev/input/event0 = 0
                                maple_/dev/input/event1 = 1
                                

                                Those maple_* entries are automatically added. I'm guessing you manually added the evdev_* devices, but they're not needed.

                                I think manually deleting emu.cfg and letting it get re-created is best. Then you're starting with a clean auto-generated file.

                                Edited: Actually, what I should say is removing reicast with retropie-setup, then re-installing it from source is best (as opposed to just updating). That way, your emu.cfg should be clean. But since you already have one controller working, manually editing emu.cfg should be enough.

                                Sounds good. Thanks!

                                1 Reply Last reply Reply Quote 0
                                • A
                                  anth87 @rejesterd
                                  last edited by

                                  @rejesterd

                                  You my friend are a rockstar thank you so much!

                                  My only problem now is finding games that actually run good

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    drewjbx @rejesterd
                                    last edited by

                                    @rejesterd Thankyou! your updated emu.cfg worked for the 2nd player! Was going a little nuts trying to figure it out, glad I found this thread.. cheers!

                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      drewjbx @rejesterd
                                      last edited by drewjbx

                                      @rejesterd said in Reicast - Mapping controllers??? (2020 version). Stuck.:

                                      @Plex7 Trying to save you some reading here, in case you do eventually come back to this. Going back to the settings shown in your very first post, here's how you map your Microntek USB Joystick controllers (i.e. evdev devices #2 and #3, as shown in your reicast-joyconfig output):

                                      Step 1: Uninstall and re-install reicast.

                                      Step 2: If you haven't done so, map the Microntek controllers in Emulation Station.

                                      Step 3: Run reicast-joyconfig for one of the controllers, and save the output to ~/.reicast/mappings/evdev_Microntek USB Joystick.cfg. Make sure the file is named EXACTLY 'evdev_Microntek USB Joystick.cfg' with the spaces.

                                      Step 4: Search for 'Microntek' in /opt/retropie/configs/all/emulationstation/es_input.cfg

                                      $ grep -i 'Microntek' /opt/retropie/configs/all/emulationstation/es_input.cfg
                                      

                                      This will spit out an <inputConfig> element that contains a property called 'deviceGUID'. This deviceGUID corresponds to your deviceName. It will be a long string with letters and numbers like..

                                      deviceGUID="05000000c82d00000161000000010000"
                                      

                                      Step 5: Modify the [input] section in ~/.reicast/emu.cfg as follows:

                                      [input]
                                      MouseSensitivity = 100
                                      VirtualGamepadVibration = 20
                                      device1 = 0
                                      device1.1 = 1
                                      device1.2 = 1
                                      device2 = 0
                                      device2.1 = 1
                                      device2.2 = 1
                                      device3 = 8
                                      device3.1 = 8
                                      device3.2 = 8
                                      device4 = 8
                                      device4.1 = 8
                                      device4.2 = 8
                                      maple_/dev/input/event2 = 0
                                      maple_/dev/input/event3 = 1
                                      maple_/dev/input/event4 = -1
                                      maple_<YourDeviceGUID> = -1
                                      

                                      ..where <YourDeviceGUID> is the string you obtained in the previous step above.

                                      Step 6: Also in ~/.reicast/emu.cfg, remove the [players] section you added previously. It's not needed.

                                      Step 7: Reboot and give it a try.

                                      Edit: If you see any other maple_* devices show up in emu.cfg after rebooting, set their values to -1 (which means reicast should ignore them).

                                      And for anyone else who is curious about the [input] device settings..

                                      device1 = 0  # controller 1 is of type 'Sega Controller' (0)
                                      device1.1 = 1 # controller 1's primary vmu is of type 'Sega VMU' (1), and is stored in ~/.reicast/vm_save_A1.bin
                                      device1.2 = 1 # controller 1's secondary vmu is of type 'Sega VMU' (1), and is stored in ~/.reicast/vm_save_A2.bin
                                      device2 = 0  # controller 2 is of type 'Sega Controller' (0)
                                      device2.1 = 1 # controller 2's primary vmu is of type 'Sega VMU' (1), and is stored in ~/.reicast/vm_save_B1.bin
                                      device2.2 = 1 # controller 2's secondary vmu is of type 'Sega VMU' (1), and is stored in ~/.reicast/vm_save_B2.bin
                                      device3 = 8 # controller 3 is not configured
                                      ....
                                      device4 = 8 # controller 4 is not configured
                                      ....
                                      maple_/dev/input/event2 = 0 # /dev/input/event2 (Microntek USB Joystick) is controller 1
                                      maple_/dev/input/event3 = 1 # /dev/input/event3 (Microntek USB Joystick) is controller 2
                                      maple_/dev/input/event4 = -1 # ingore the Logitech Gamepad F710
                                      maple_<YourDeviceGUID> = -1 # ignore the configuration for Microntek USB Joystick that is set in /opt/retropie/configs/all/emulationstation/es_input.cfg
                                      

                                      Ok I'm hoping you can help me, 2 player controls was working great when I had only 2 controllers using Dragonrise encoders (easy get). Here is the device guid

                                      <inputConfig type="joystick" deviceName="DragonRise Inc.   Generic   USB  Joystick  " deviceGUID="03000000790000000600000010010000">
                                      
                                      

                                      And here is the working emu.cfg for 2 controllers

                                      [input]
                                      MouseSensitivity = 100
                                      VirtualGamepadVibration = 20
                                      device1 = 0
                                      device1.1 = 1
                                      device1.2 = 1
                                      device2 = 0
                                      device2.1 = 1
                                      device2.2 = 1
                                      device3 = 8
                                      device3.1 = 8
                                      device3.2 = 8
                                      device4 = 8
                                      device4.1 = 8
                                      device4.2 = 8
                                      maple_/dev/input/event2 = 0
                                      maple_/dev/input/event3 = 1
                                      maple_03000000790000000600000010010000= 1
                                      maple_sdl_keyboard = 0
                                      maple_sdl_mouse = 0
                                      
                                      

                                      I then used the same setup and hooked up 4 controllers to a 4 Player cabinet. All the same Dragonrise encoders. I have the 4 controllers going into a 4port hub plugged into USB port 1 on the Pi3, then a trackball to port 2, then a mouse/keyboard combo into port 3. Player 1 works as Player 2... resulting in only 1 controller working. Reicast changed the Emu.cfg to the following

                                      [input]
                                      MouseSensitivity = 100
                                      VirtualGamepadVibration = 20
                                      device1 = 0
                                      device1.1 = 1
                                      device1.2 = 1
                                      device2 = 0
                                      device2.1 = 1
                                      device2.2 = 1
                                      device3 = 8
                                      device3.1 = 8
                                      device3.2 = 8
                                      device4 = 8
                                      device4.1 = 8
                                      device4.2 = 8
                                      maple_/dev/input/event2 = 0
                                      maple_/dev/input/event3 = 1
                                      maple_/dev/input/event4 = 1
                                      maple_/dev/input/event5 = 2
                                      maple_/dev/input/event6 = 3
                                      maple_03000000790000000600000010010000 = 1
                                      maple_sdl_keyboard = 0
                                      maple_sdl_mouse = 0
                                      
                                      

                                      I am hoping if I change some of these device/event values it should solve the problem? Do you know what I can try to change?

                                      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.