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

    N64 Controllers Swapped

    Scheduled Pinned Locked Moved Help and Support
    18 Posts 4 Posters 3.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.
    • mediamogulM
      mediamogul Global Moderator @drake999
      last edited by

      @drake999

      Dreamcast controls are mapped in /home/pi/.reicast/emu.cfg

      Mapping the N64 controls depends on what emulator you're using.
      https://github.com/RetroPie/RetroPie-Setup/wiki/Nintendo-64

      RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

      1 Reply Last reply Reply Quote 0
      • D
        drake999
        last edited by

        Thanks for the reply, I will look into what you've posted.

        1 Reply Last reply Reply Quote 0
        • P
          ploderup
          last edited by

          Did you ever figure out how to swap the controllers? If so, what did you do. I'm running into the same problem.

          1 Reply Last reply Reply Quote 0
          • TMNTturtlguyT
            TMNTturtlguy
            last edited by

            @drake999 @ploderup

            This is really easy to do guys, as @dankcushions said above the controls are mapped in the .cfg files.

            N64:
            open /opt/configs/n64/mupen64plus.cfg

            modify the following lines, make sure that the joystick name matches your controller, mine is a ps4 controller.

            [Input-SDL-Control1]
            
            # Mupen64Plus SDL Input Plugin config parameter version number.  Please don't change this version number.
            version = 2
            # Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic
            mode = 0
            # Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number
            device = 2
            # SDL joystick name (or Keyboard)
            name = "Sony Interactive Entertainment DUALSHOCK®4 USB Wireless Adaptor"
            

            What i did above was set player 1 which is [Input-SDL-Control1] to what emulationstation recognizes as controller 2. Do the same for player 2, 3 and 4.

            For dreamcast go to /opt/configs/dreamcast/emu.cfg

            modify the following

            [input]
            evdev_device_id_1 = 0
            evdev_device_id_2 = 1
            evdev_device_id_3 = -1
            evdev_device_id_4 = -1
            

            In this case i am using my arcade joysticks as player 1 and 2 so i use the evdev device id. For player 1 my evdev id=0 and for player to the evdev is = 1.

            I have a 4 player arcade machine, but I don't have 3 or 4 player games so i set those to -1 so they are not active.

            P 1 Reply Last reply Reply Quote 0
            • P
              ploderup @TMNTturtlguy
              last edited by ploderup

              @tmntturtlguy I've tried that modification for the N64, but my changes have always been reverted upon opening a ROM. Maybe it's because my controllers have the same name that it doesn't work for me. I'll keep trying to find something.

              Thank you for getting back to me!

              TMNTturtlguyT 1 Reply Last reply Reply Quote 0
              • TMNTturtlguyT
                TMNTturtlguy @ploderup
                last edited by

                @ploderup did you follow the complete instructions in the link posted by @dankcushions ? You need to first go into /opt/retropie/configs/all/autoconf.cfg and change enable hotkey auto configuration to 0

                1 Reply Last reply Reply Quote 0
                • P
                  ploderup
                  last edited by ploderup

                  @TMNTturtlguy Maybe I'm missing something, but I don't see any posts from @dankcushions in this thread… I did try what you suggested, though. In "/opt/retropie/configs/all/autoconf.cfg" I added the line "enable_hotkey_auto_configuration = "0"" at the top of the file. Then, I went into the mupen config file and swapped controllers again. No luck, however. What am I doing wrong?

                  P 1 Reply Last reply Reply Quote 0
                  • P
                    ploderup @ploderup
                    last edited by

                    @ploderup By the way, that file did not have that line to begin with, I had to add it.

                    TMNTturtlguyT 1 Reply Last reply Reply Quote 0
                    • TMNTturtlguyT
                      TMNTturtlguy @ploderup
                      last edited by

                      @ploderup sorry, I was referencing @mediamogul, my mistake, but he is the only one in this thread that posted links to the full instructions so I think you could figure it out!

                      What emulator are you using? Make sure you are using muepen64plus and not the lr version. Also make sure you have he correct controller ID and name for each controller. It should work. I have 3 current builds with different controller types all working use this method.

                      P 1 Reply Last reply Reply Quote 0
                      • P
                        ploderup @TMNTturtlguy
                        last edited by

                        @tmntturtlguy Okay, I did look at the link @mediamogul posted. I went into /opt/retropie/configs/all/autoconfig.cfg and changed the line...
                        mupen64plus_hotkeys="1"
                        ...to...
                        mupen64plus_hotkeys="0"
                        ...which is, according to the link posted above, the option used to disable hotkey auto configuration. Then I went in to the mupen64plus.cfg file and swapped the controllers again (it has two listed, with IDs 0 and 1--I simply swapped the IDs to 1 and 0). However, upon booting a ROM with the Mupen64 emulator, the controllers were still backwards.

                        My guess is that, assuming I'm doing everything right, the software doesn't know how to handle the swap as the controllers have the same exact name. Is that a possibility? If not, let me know and I'll post my two files to see if we can't figure out where I'm going wrong. @TMNTturtlguy, thank you again for your time.

                        TMNTturtlguyT 1 Reply Last reply Reply Quote 0
                        • TMNTturtlguyT
                          TMNTturtlguy @ploderup
                          last edited by

                          @ploderup no problem on the time! The problem is not the controllers have the same name. I have 4 controllers with the same name and can set all 4.

                          Please post your files and I will take a look. You can use pastebin or something like that.

                          Are you positive you are using the correct emulator? You can't use the lr emulator.

                          P 1 Reply Last reply Reply Quote 0
                          • P
                            ploderup @TMNTturtlguy
                            last edited by

                            @tmntturtlguy
                            mupen64plus.cfg
                            autoconf.cfg

                            TMNTturtlguyT 1 Reply Last reply Reply Quote 0
                            • TMNTturtlguyT
                              TMNTturtlguy @ploderup
                              last edited by

                              @ploderup I am on my phone, but looking at the files it looks like you have player 1 set as joystick 0 and player 2 set as joystick 1.

                              I thought you wanted to reverse that? The current attached file is just the default setting.

                              Also you should change the controller configuration mode for both players from 2 to 0.

                              P 1 Reply Last reply Reply Quote 0
                              • P
                                ploderup @TMNTturtlguy
                                last edited by

                                @tmntturtlguy Yea, I've tried the controller swapping (i.e. changing one to zero and viseversa). The file on pastebin is what it reverts to after loading a ROM. However, I haven't tried changing the auto setting from 2 to 0. I'll try that. Thanks!

                                1 Reply Last reply Reply Quote 0
                                • P
                                  ploderup
                                  last edited by

                                  @TMNTturtlguy that worked! Thank you so much! Is there any chance you know how to configure rom-specific controller configurations for mupen64?

                                  TMNTturtlguyT 1 Reply Last reply Reply Quote 0
                                  • TMNTturtlguyT
                                    TMNTturtlguy @ploderup
                                    last edited by

                                    @ploderup there is not an easy way to do this that I know of. You would have to create game specific commands and multiple run-configuration files in order to do it.

                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      ploderup
                                      last edited by

                                      @TMNTturtlguy , Okay, I'll look into figuring that out. Thank you again for all of your help!

                                      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.