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