Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord

    N64 emulation does not work with any of my controllers

    Emulator Arcade/PC/Console
    does
    4
    19
    12801
    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.
    • emblemparade
      emblemparade last edited by

      Hey everyone, I have found the issue.

      To connect the PS2 controller, I am using a "duo" USB adapter. This adapter allows for two controllers to be connected. Using jstest, I noticed that the first controller is assigned from the right port, and second from the left port. Originally, I connected my controller to the left. Once I switched to the right (and reconfigured via Recalbox) then N64 worked fine. 🙂

      So, I'm not really sure what is causing this. I am guessing because of how mupen64plus works, it uses the identifier in the ini file (in this case "Twin USB Joystick") to match the controller, and it just matches the first one that it finds with this name. Because there are two, but the first isn't connected, that is what it is using.

      I'm not sure if this bug can be fixed, but I hope so. If not, can I recommend putting something about this in the Recalbox wiki so that if people search they can easily find a solution? Here's some initial content:

      Configure PlayStation DualShock 1 and 2 Controllers

      Most emulators will work automatically.

      However, for N64 there is one issue. If you are connecting your controller using a two-controller-port-to-USB adapter, then one of these ports will be considered "controller 1" and the other "controller 2". In one test, "controller 1" was assigned to the right port on the adapter. N64 emulation will expect you to be using "controller 1". If you are having issues, try connecting your controller to the other port and reconfigure it.

      emblemparade 1 Reply Last reply Reply Quote 0
      • paradadf
        paradadf Staff @emblemparade last edited by

        @emblemparade You were clear, but to me and my superficial knowledge about this stuff, if the combo HK+START works, START alone must be working properly as well. Something else just doesn't make any sense (again... to me).
        Anyhow, I'll let the gurus help you with that. Good luck!

        If your question was answered, please mark it as solved: Topic Tools -> Ask a question + Topic Tools -> Mark as Solved

        1 Reply Last reply Reply Quote 0
        • emblemparade
          emblemparade @emblemparade last edited by

          Come to think of it, I still don't have an explanation as to why my 8bitdo isn't working for N64 ...

          It seems that the whole interface between Recalbox and mupen64plus is a bit buggy. I think everything that uses libretro would work the same!

          Substring 1 Reply Last reply Reply Quote 0
          • Substring
            Substring @emblemparade last edited by Substring

            @emblemparade the files won't get overwritten if you add n64.configfile=whatever in your recalbox.conf

            the only thing that works so-so witn N64 is the player number assignement as, to tell you the truth, we have no power yet on it. But the autoconfigure works well. Or so I think 😄

            Former dev - Please reply with @substring so that i am notified when you answer me
            Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

            emblemparade 1 Reply Last reply Reply Quote 0
            • emblemparade
              emblemparade @Substring last edited by

              @Substring Is this documented anywhere in the wiki? This is an interesting little corner of Recalbox. 🙂

              I'm realizing more and more that mupen64plus is the weirdest part of the system. 🙂

              Substring 1 Reply Last reply Reply Quote 0
              • Substring
                Substring @emblemparade last edited by

                @emblemparade i think i edited the wiki 10 days ago about that

                Former dev - Please reply with @substring so that i am notified when you answer me
                Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                emblemparade 1 Reply Last reply Reply Quote 0
                • emblemparade
                  emblemparade @Substring last edited by

                  @Substring Can you point me to the wiki page? I can't find it.

                  1 Reply Last reply Reply Quote 0
                  • Substring
                    Substring last edited by

                    Errrr .... I obviously can't 😄

                    Former dev - Please reply with @substring so that i am notified when you answer me
                    Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                    emblemparade 1 Reply Last reply Reply Quote 0
                    • FAGUDES
                      FAGUDES last edited by

                      I got a similar problem guys.

                      Im using a XBOX Wireless controller and it is perfectly configured (incluiding xboxdrv). All emulators and games are working fine, but the N64 does not.

                      The HOTKEY+Start works to leave the game, but when I use only Start or any key nothing happens, so I cant even start a game.

                      I've already change ports and tryed to edit mupen64plus.cfg but it doesn't save the changes.

                      When I plug another USB controler it works, so the problem is the Xbox or Wireless adapter .

                      Any ideas? @emblemparade @Substring

                      emblemparade Substring 2 Replies Last reply Reply Quote 0
                      • emblemparade
                        emblemparade @FAGUDES last edited by

                        @FAGUDES Try my debugging trick: ssh into your box and run "jstest /dev/input/js?" with the various "joysticks" you see there, and try to see what each joystick is. We can start with that and try to figure out what mupen64 is trying to use...

                        1 Reply Last reply Reply Quote 0
                        • Substring
                          Substring @FAGUDES last edited by

                          @FAGUDES how lany controllers did you have plugged with your xbox one ?

                          Former dev - Please reply with @substring so that i am notified when you answer me
                          Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                          1 Reply Last reply Reply Quote 0
                          • emblemparade
                            emblemparade @Substring last edited by

                            @Substring I'm confused by your answer to me. 🙂 You edited the wiki 10 days ago but you don't have the link to it? Does that mean you edited it or forgot ...?

                            1 Reply Last reply Reply Quote 0
                            • FAGUDES
                              FAGUDES last edited by

                              @Substring I just have one. I plugged a simple usb joystick just for test, but already removed and trying to fix this

                              @emblemparade I tried but I'm really noob and I don't know how to continue after this:

                              0_1479268397873_putty-JS.JPG

                              Anyway, maybe my problem is here: When I look at "share\system\configs\mupen64\mupen64plus.cfg" it show my first controller [Input-SDL-Control1] as "GPIO Controller 1" as you can see:

                              [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 = 2
                              # Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number
                              device = 0
                              # SDL joystick name (or Keyboard)
                              name = "GPIO Controller 1"
                              # Specifies whether this controller is 'plugged in' to the simulated N64
                              plugged = True
                              # Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 5=Rumble pak
                              plugin = 2
                              # If True, then mouse buttons may be used with this controller
                              mouse = False
                              # Scaling factor for mouse movements.  For X, Y axes.
                              MouseSensitivity = "2.00,2.00"
                              # The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0.  For X, Y axes.
                              AnalogDeadzone = "4096,4096"
                              # An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80).  For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value
                              AnalogPeak = "32768,32768"
                              # Digital button configuration mappings
                              DPad R = "hat(0 Right)"
                              DPad L = "hat(0 Left)"
                              DPad D = "hat(0 Down)"
                              DPad U = "hat(0 Up)"
                              Start = "button(7)"
                              Z Trig = "button(2)"
                              B Button = "button(3)"
                              A Button = "button(0)"
                              C Button R = "button(1) axis(3+)"
                              C Button L = "axis(3-)"
                              C Button D = "axis(4+)"
                              C Button U = "axis(4-) button(0)"
                              R Trig = "button(5)"
                              L Trig = "button(4)"
                              Mempak switch = ""
                              Rumblepak switch = ""
                              # Analog axis configuration mappings
                              X Axis = "axis(0-,0+)"
                              Y Axis = "axis(1-,1+)"
                              

                              My Xbox controller only appears in [Input-SDL-Control3] position as "Xbox Gamepad (user space driver)".

                              I already tried to change and swap positions but the file always back to this order. In EmulationStation interface my Xbox is set to "#1 Player" and the other options on "Default".

                              Substring emblemparade 2 Replies Last reply Reply Quote 0
                              • Substring
                                Substring @FAGUDES last edited by

                                @FAGUDES disable gpio controllers in recalbox.conf and reboot

                                Former dev - Please reply with @substring so that i am notified when you answer me
                                Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                                1 Reply Last reply Reply Quote 0
                                • emblemparade
                                  emblemparade @FAGUDES last edited by

                                  @FAGUDES Sorry, I meant the "?" to represent a number. Press the TAB key instead of "?" and the terminal should show you which options are available to you. It might seem a bit awkward, but this is a great way to see exactly how Recalbox is seeing your controllers!

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

                                  Want to support us ?

                                  77
                                  Online

                                  99.6k
                                  Users

                                  28.1k
                                  Topics

                                  187.1k
                                  Posts

                                  Copyright © 2021 recalbox.com