• 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

Using different controllers for arcade games

Scheduled Pinned Locked Moved Help and Support
arcadecontrollersmultiple controretropiexarcade
10 Posts 3 Posters 1.4k 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.
  • C
    churchill7
    last edited by churchill7 13 Jan 2021, 12:45

    New here and new to Retropie (although a Linux admin so I’m not completely lost =*) )

    Here is the scenario.... Retropie 4 running on a Pi4 using the Mame2003 emu for Arcade. (Mame2003 seems to work best for my roms and Xarcade stick, spinner and mouse). I also have a Logitech flight joystick.

    What I am trying to accomplish is that the arcade games use the Xarcade sticks and buttons as player 1 and player 2 (as supported by games) and for select games the flight stick is player 1. Games like 1942 and Tron.

    I figured out that I could do this for the spinner and trackball by dropping a config file in the config Dir named for the rom that changes the mouse index for that game on launch so I thought I would attempt the same thing with the stick.

    So the problem:

    Everything works great until I plug in the Logitech stick. Upon adding the Logitech stick the Xarcade stick 1 gets moved to port #3, the Xarcade stick 2 gets moved to port #2 and the Logitech stick is at port #1. I attempt to reorder them in Retroarch by changing them in the settings/input and allowing this to save. When launching a game they still come up as Logitech #1, XC2, #2, XC1, #3. This doesn’t work out as the Logitech at this point is not configured but is seen as player 1 so no hot key or config etc. XC 1 that should be seen as a second person position does not work either. To unwind the mess, remove the Logitech.... change retroarch, save and unplug the Xarcade stick and plug back in. All is now right with the config and XC1 is #1, XC2 is #2 and everything works again.

    So I should ask a question of you fine retro gamers shouldn’t I. =*)

    Question 1... Upon connecting the Logitech stick how do I go about configuring it? I’ve read the docs about going into setup and choosing emulationstation to configure but there is only clear config, auto Conf enabled. I don’t see how to config a new controller. I did try restarting emu station to see if it would do it them but no prompt came up (was hoping for the first time I connected the Xarcade and it took me through all the keys)

    Question 2: Is there anything I am missing regarding the ports. Seems like a trivial setting but as soon as the stick is added retroarch seems to get sort of mad and reorders stuff and I can’t get it back to the right order.

    Edit: Currently the controllers are plugged in as follows: port 0 = Keyboard, port 1 = Xarcade, port 2 = spinner, port 4 = Usb splitter with three ports with trackball mouse. Adding the Logitech to the splitter.

    Thanks in advance!

    Y 1 Reply Last reply 13 Jan 2021, 13:25 Reply Quote 0
    • Y
      YFZdude @churchill7
      last edited by 13 Jan 2021, 13:25

      @churchill7 said in Using different controllers for arcade games:

      I attempt to reorder them in Retroarch by changing them in the settings/input and allowing this to save. When launching a game they still come up as Logitech #1, XC2, #2, XC1, #3.

      Some light reading:
      https://retropie.org.uk/docs/RetroArch-Configuration/

      The key point (if you didn't already try this) is when you use RetroArch to change the controller order in Main Menu -> Settings -> Input, you need to save an override. It can be a core override or a game override. When launching a rom, the game override will take priority if it exists, and the core override will kick in for any rom using the same emulator that doesn't have a specific game override.

      I will admit I haven't experienced this so I'm going from what seems to work in general. I think the input override should be based on the controller name so it should stick regardless of which port # it gets assigned. So in your case I think you would want a core override that uses the Xarcade stick as the P1 and P2 controls. Then you can save a game override to use the flight joystick only for the games that use it. Assuming there are fewer of them this way.

      Question 1... Upon connecting the Logitech stick how do I go about configuring it? ... I did try restarting emu station to see if it would do it them but no prompt came up

      This is normal. When EmulationStation doesn't have any controllers configured, it will prompt you. Once you configure one, you have to manually invoke the configuration screen for additional controllers. At the ES screen, press Start on your working controller and there should be a configure input option in the menu. Then you can get back to the screen where it asks you to hold a button on the controller to configure.

      I don't have an answer for your second question so hopefully someone else who does can jump in and address that one.

      C 1 Reply Last reply 13 Jan 2021, 15:26 Reply Quote 0
      • C
        churchill7 @YFZdude
        last edited by 13 Jan 2021, 15:26

        @yfzdude Ok a few steps closer..... I missed that the config input was in the Emu Station menu and not under setup.

        Ok, so the controller is configured now which makes it easier to plow forward. If the Xarcade is not selected I can still navigate.

        So weird thing I am hoping you might have the answer to.... I go into the RetroPie / RetroArch ... then set the binds and they show correctly. I then set the save config for globla core and to yes for saving. Then quit. Go into a game and the logitech is still the player one. I hit <hot key> + X and go into RetroArch there and do the exact same set and save and now everything is the way I want it. XC 1, XC 2 an LT Stick 3.

        So any idea why to save a global setting I had to do it by starting RetroArch from a game rather than the main menu?

        My next step is to set the stick for the games I want to use it on and I should be good. That, however, I seems pretty straight forward as you pointed out.

        Oh and thanks for the insight. It really helped

        Y 1 Reply Last reply 13 Jan 2021, 18:59 Reply Quote 0
        • Y
          YFZdude @churchill7
          last edited by YFZdude 13 Jan 2021, 18:59

          @churchill7 said in Using different controllers for arcade games:

          I then set the save config for globla core and to yes for saving.

          If you mean that you tell RetroArch to save config on exit, I don't think it is recommended to do that. RetroPie as a package uses certain configs by default and changing it so RetroArch saves on exit can mess up some things.

          What you want to do is look for Override and save one of those. I think it is in the Quick Menu -> Save Core Overrides page of the RetroArch menu. This site might help make more sense of it.
          https://docs.libretro.com/guides/overrides/#override-configs

          So any idea why to save a global setting I had to do it by starting RetroArch from a game rather than the main menu?

          I think you are referring to how you can launch the RetroArch GUI menu from within EmulationStation without having loaded a ROM first. I think this is only for setting global items that would apply to all emulators/roms/etc. Since what you mentioned was specific to Arcade games and/or specific games, the best way to make changes of the nature you listed is after you launch some Arcade game so that you are able to save the overrides that are specific to either the "core" (Arcade emulator in this case) or specific to the rom itself (For the flight stick config).

          EDIT: I've not used the global menu for RetroArch to save anything so I can't tell you much about why it shows up in EmulationStation as something to configure or why it seemed like it ignored the settings you did change. I just know that whatever config changes I needed to make I have always done it after launching an emulator/game through the 'Hotkey + X' menu.

          C 1 Reply Last reply 14 Jan 2021, 12:10 Reply Quote 0
          • C
            churchill7 @YFZdude
            last edited by 14 Jan 2021, 12:10

            @yfzdude Thanks for the info. That makes sense to not have it save on exit. It was a little weird having to exit to save then go back in and remove that for safety reasons.

            Well, everything is working as I’d hoped aside from the fact that I’m not as good at Tron as I remember =*)

            Thanks for the assist!

            W 1 Reply Last reply 15 Jan 2021, 00:54 Reply Quote 0
            • W
              westopher @churchill7
              last edited by 15 Jan 2021, 00:54

              @churchill7 So, you got this to work, and I'm trying to do the same basic thing for a similar reason. In my case, the X-Arcade takes Ports 1 and 2, and my Nintendo Switch Pro Controller always ends-up as Port 3. I'm wanting to use the Pro Controller for its analog joystick in Atari Food Fight. It appears that that means it needs to be bound to be the first controller, not the third. So far, I think that's similar to what you needed, and I know where to do the rebinding.

              But the thing is, I understand the game override concept, but I'm not seeing where you actually save the result as a Game (ROM) Override... I see where the resulting override files get put from reading the docs, but nothing is saying how they get there, and if RGUI is saving them there directly, or there's manual intervention.

              Can you shed any light on that detail by chance? I must be missing something obvious.

              Y 1 Reply Last reply 15 Jan 2021, 12:02 Reply Quote 0
              • Y
                YFZdude @westopher
                last edited by 15 Jan 2021, 12:02

                @westopher said in Using different controllers for arcade games:

                But the thing is, I understand the game override concept, but I'm not seeing where you actually save the result as a Game (ROM) Override... I see where the resulting override files get put from reading the docs,

                but nothing is saying how they get there, and if RGUI is saving them there directly, or there's manual intervention.

                When you go to the Quick Menu Screen, it should be at the bottom where it lists the Override choices. When you select one and press the "A" (confirm) button, this is when RetroArch saves the config file. If I recall correctly, I think it even flashes a little message on the screen saying it saved an override file. Then the next time you launch the game it should pop up a message saying it loaded an override.

                W 1 Reply Last reply 15 Jan 2021, 23:40 Reply Quote 0
                • W
                  westopher @YFZdude
                  last edited by 15 Jan 2021, 23:40

                  @yfzdude Thanks. I'll go look tonight. What I recalled from the Quick Menu is that those were REMAP saves, not configuration OVERRIDE saves. I'm probably not looking at the right thing, in the right place.

                  Y 1 Reply Last reply 16 Jan 2021, 01:33 Reply Quote 0
                  • Y
                    YFZdude @westopher
                    last edited by 16 Jan 2021, 01:33

                    @westopher
                    Yeah definitely double check me on that. I'm going by what is on the libretro docs page linked above. They have at least 4 different choices listed.

                    Quick Menu -> Save Core Override
                    Quick Menu -> Save Game Override
                    vs.
                    Quick Menu -> Controls -> Save Core Remap
                    Quick Menu -> Controls -> Save Game Remap

                    W 1 Reply Last reply 17 Jan 2021, 00:20 Reply Quote 0
                    • W
                      westopher @YFZdude
                      last edited by 17 Jan 2021, 00:20

                      @yfzdude I finally did find it; at least in my RetroPie, it's actually:

                      Quick Menu -> Overrides -> Save Core Override
                      Quick Menu -> Overrides -> Save Game Override

                      Writing this primarily for the benefit of future readers.

                      Thanks for the help on this. I don't know how I missed it; I would have expected save options on the Main Menu, but I'm sure there's a method to the madness.

                      1 Reply Last reply Reply Quote 1
                      10 out of 10
                      • First post
                        10/10
                        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