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

    SNES controller not working properly on N64 emulator

    Scheduled Pinned Locked Moved Help and Support
    controllersnessnes controllern64 controllermcontroller map
    24 Posts 4 Posters 4.5k 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.
    • L
      lupsyn
      last edited by

      Or better, how can i use the snes dpad instead the analog ? I've try remapping into the settings but no success :(. Has anyone maybe a mapping file to share ?

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

        Can you post the input configuration file for Mupen64plus ? It should be in \\retropie\configs\n64.

        L 1 Reply Last reply Reply Quote 0
        • L
          lupsyn @mitu
          last edited by lupsyn

          @mitu sure thing following InputAutoCfg.ini :

          ; InputAutoCfg.ini for Mupen64Plus SDL Input plugin
          
          ; Keyboard_START
          [Keyboard]
          plugged = True
          plugin = 2
          mouse = False
          DPad R = key(100)
          DPad L = key(97)
          DPad D = key(115)
          DPad U = key(119)
          Start = key(13)
          Z Trig = key(122)
          B Button = key(306)
          A Button = key(304)
          C Button R = key(108)
          C Button L = key(106)
          C Button D = key(107)
          C Button U = key(105)
          R Trig = key(99)
          L Trig = key(120)
          Mempak switch = key(44)
          Rumblepak switch = key(46)
          X Axis = key(276,275)
          Y Axis = key(273,274)
          ; Keyboard_END
          
          
          
          
          
          
          ; usb gamepad           _START 
          [usb gamepad           ]
          plugged = True
          plugin = 2
          mouse = False
          AnalogDeadzone = 4096,4096
          AnalogPeak = 32768,32768
          Mempak switch = 
          Rumblepak switch = 
          R Trig = button(5) 
          B Button = button(3) 
          C Button U = button(0) 
          Start = button(9) 
          A Button = button(2) 
          C Button D = button(1) 
          X Axis = axis(0-, 0+) 
          Y Axis = axis(1-, 1+) 
          Z Trig = button(4) 
          ; usb gamepad           _END 
          

          And mupen64plus.cfg :

          # Mupen64Plus Configuration File
          # This file is automatically read and written by the Mupen64Plus Core library
          
          [Transferpak]
          
          # Filename of the GB ROM to load into transferpak 1
          GB-rom-1 = ""
          # Filename of the GB RAM to load into transferpak 1
          GB-ram-1 = ""
          # Filename of the GB ROM to load into transferpak 2
          GB-rom-2 = ""
          # Filename of the GB RAM to load into transferpak 2
          GB-ram-2 = ""
          # Filename of the GB ROM to load into transferpak 3
          GB-rom-3 = ""
          # Filename of the GB RAM to load into transferpak 3
          GB-ram-3 = ""
          # Filename of the GB ROM to load into transferpak 4
          GB-rom-4 = ""
          # Filename of the GB RAM to load into transferpak 4
          GB-ram-4 = ""
          
          
          [UI-Console]
          
          # Mupen64Plus UI-Console config parameter set version number.  Please don't change this version number.
          Version = 1.000000
          # Directory in which to search for plugins
          PluginDir = "./"
          # Filename of video plugin
          VideoPlugin = "mupen64plus-video-rice.so"
          # Filename of audio plugin
          AudioPlugin = "mupen64plus-audio-sdl.so"
          # Filename of input plugin
          InputPlugin = "mupen64plus-input-sdl.so"
          # Filename of RSP plugin
          RspPlugin = "mupen64plus-rsp-hle.so"
          
          [Video-General]
          VerticalSync = True
          [Video-GLideN64]
          configVersion = 17
          bilinearMode = 1
          EnableFBEmulation = True
          UseNativeResolutionFactor = 1
          EnableLegacyBlending = True
          ThreadedVideo = True
          BufferSwapMode = 2
          
          1 Reply Last reply Reply Quote 0
          • mituM
            mitu Global Moderator
            last edited by mitu

            Looking at your config, it looks like the D-Pad on the controller is recognized as an axis and mapped to the analog joystick. You can try to map it to the D-Pad with

            DPad U = axis(0+)
            DPad D = axis(0-)
            DPad L = axis(1,-)
            Dpad R = axis(1,+)
            

            but you'll be left without a joystick. You don't have enough controls on your gamepad to map to a N64 controller.

            L 1 Reply Last reply Reply Quote 0
            • L
              lupsyn @mitu
              last edited by

              @mitu so in short you suggest to buy a n64 proper controller aren't you mate ?

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

                @lupsyn It's your choice. Add the modification to the configuration file and see if the D-Pad works. If it is, play some games and see if you need more buttons or you can manage with your current controller.

                L 1 Reply Last reply Reply Quote 0
                • L
                  lupsyn @mitu
                  last edited by

                  @mitu Sadly same effect... still no way to turn left and right in Mario Kart for example :(

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

                    Maybe the configuration is not correct. Did you remove the joystick mapping ? The lines with

                    X Axis = axis(0-, 0+) 
                    Y Axis = axis(1-, 1+) 
                    
                    L 1 Reply Last reply Reply Quote 0
                    • A
                      Adam
                      last edited by

                      This topic might be related: https://retropie.org.uk/forum/topic/25657/controler-issue-no-left-and-right-not-working-at-all/6

                      L 1 Reply Last reply Reply Quote 0
                      • L
                        lupsyn @Adam
                        last edited by lupsyn

                        @Adam mmm don't think so, they are fully working on other emulators, i think it's only matter of a bad configuration.

                        1 Reply Last reply Reply Quote 0
                        • L
                          lupsyn @mitu
                          last edited by

                          @mitu Sure thing, i've try with :

                          ; usb gamepad           _START 
                          [usb gamepad           ]
                          plugged = True
                          plugin = 2
                          mouse = False
                          AnalogDeadzone = 4096,4096
                          AnalogPeak = 32768,32768
                          Mempak switch = 
                          Rumblepak switch = 
                          R Trig = button(5) 
                          B Button = button(3) 
                          C Button U = button(0) 
                          Start = button(9) 
                          A Button = button(2) 
                          C Button D = button(1) 
                          Z Trig = button(4) 
                          DPad U = axis(0+)
                          DPad D = axis(0-)
                          DPad L = axis(1,-)
                          DPad R = axis(1,+)
                          ; usb gamepad           _END 
                          

                          With no luck :(

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

                            @lupsyn Can you also post the configuration file for EmulationStation's input from \\retropie\configs\all\emulationstation\es_input.cfg ?

                            L 1 Reply Last reply Reply Quote 0
                            • L
                              lupsyn @mitu
                              last edited by lupsyn

                              @mitu said in SNES controller not working properly on N64 emulator:
                              Sure here es_input.cfg

                              <?xml version="1.0"?>
                              <inputList>
                                <inputAction type="onfinish">
                                  <command>/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh</command>
                                </inputAction>
                                <inputConfig type="joystick" deviceName="usb gamepad           " deviceGUID="030000001008000001e5000010010000">
                                  <input name="pageup" type="button" id="4" value="1"/>
                                  <input name="up" type="axis" id="1" value="-1"/>
                                  <input name="left" type="axis" id="0" value="-1"/>
                                  <input name="select" type="button" id="8" value="1"/>
                                  <input name="right" type="axis" id="0" value="1"/>
                                  <input name="pagedown" type="button" id="5" value="1"/>
                                  <input name="y" type="button" id="3" value="1"/>
                                  <input name="x" type="button" id="0" value="1"/>
                                  <input name="down" type="axis" id="1" value="1"/>
                                  <input name="start" type="button" id="9" value="1"/>
                                  <input name="b" type="button" id="2" value="1"/>
                                  <input name="a" type="button" id="1" value="1"/>
                                </inputConfig>
                              </inputList>
                              
                              1 Reply Last reply Reply Quote 0
                              • mituM
                                mitu Global Moderator
                                last edited by

                                DPad U = axis(0+)
                                DPad D = axis(0-)
                                DPad L = axis(1,-)
                                DPad R = axis(1,+

                                OK, these might be wrong then. Try replacing them with

                                DPad U = axis(1-)
                                DPad D = axis(1+)
                                DPad L = axis(0,-)
                                DPad R = axis(0,+)
                                L 1 Reply Last reply Reply Quote 0
                                • L
                                  lupsyn @mitu
                                  last edited by

                                  @mitu Sadly still no luck :(

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

                                    @lupsyn Apart from trying out a different emulator, I have no more ideas.

                                    L 1 Reply Last reply Reply Quote 0
                                    • L
                                      lupsyn @mitu
                                      last edited by

                                      @mitu Thanks mate for the support, any change to link me to a doc how i can potentially change the N64 emulator ?

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

                                        @lupsyn You can use the Runcommand launch menu when you start a game to switch emulator from the ones that are installed. If it's not installed, you can install it from RetroPie-Setup.

                                        https://retropie.org.uk/docs/Runcommand/#runcommand-launch-menu
                                        https://retropie.org.uk/docs/Updating-RetroPie/#updatinginstalling-individual-packages
                                        https://retropie.org.uk/docs/Nintendo-64/

                                        L 1 Reply Last reply Reply Quote 0
                                        • L
                                          lupsyn @mitu
                                          last edited by

                                          @mitu try other emulators, same issue...i think then it's a controller issue... but it's very strange.

                                          1 Reply Last reply Reply Quote 0
                                          • L
                                            lupsyn
                                            last edited by lupsyn

                                            I figure it out but is working only with mupen-64plus not with lr-mupen64plus-next. My controller is a snes clone kind of (as i specified in the beginning).
                                            From auto config it will be configured as :

                                            input_device = "usb gamepad           "
                                            input_driver = "udev"
                                            input_enable_hotkey_btn = "8"
                                            input_l_btn = "4"
                                            input_load_state_btn = "4"
                                            input_up_axis = "-1"
                                            input_left_axis = "-0"
                                            input_state_slot_decrease_axis = "-0"
                                            input_select_btn = "8"
                                            input_right_axis = "+0"
                                            input_state_slot_increase_axis = "+0"
                                            input_r_btn = "5"
                                            input_save_state_btn = "5"
                                            input_y_btn = "3"
                                            input_x_btn = "0"
                                            input_menu_toggle_btn = "0"
                                            input_down_axis = "+1"
                                            input_start_btn = "9"
                                            input_exit_emulator_btn = "9"
                                            input_b_btn = "2"
                                            input_reset_btn = "2"
                                            input_a_btn = "1"
                                            

                                            (you can find this file in the dir : '/opt/retropie/configs/all/retroarch/autoconfig ' )

                                            Just gigging around i found this https://github.com/libretro/retroarch-joypad-autoconfig/tree/master/udev in which there are lot of configuration for lot of different joypads.
                                            I understood problem were into the x/y axis so i just appended these lines on the autoconfig file and everything start working :

                                            input_up_axis_label = "D-Pad Up"
                                            input_down_axis_label = "D-Pad Down"
                                            input_left_axis_label = "D-Pad Left"
                                            input_right_axis_label = "D-Pad Right"
                                            

                                            I think you can do the same from internal mapping for a single rom playing with the retroarch.cfg inside ...'retropie/configs/n64'

                                            mituM 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.