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.3k 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 @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
                                        • mituM
                                          mitu Global Moderator @lupsyn
                                          last edited by

                                          @lupsyn said in SNES controller not working properly on N64 emulator:

                                          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"

                                          These lines have no bearing on how the controller actually works, it just label the inputs so you can see them better in the RetroArch's configuration interface (instead of seeing the numbers associated). But if it works, that's fine.

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

                                            @mitu yeah, reading some docs makes no sense. Maybe it's only working due i changed emulator. Thanks for helping anyway.

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