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

    Tribute 64 and A and B Binding to Same Key

    Scheduled Pinned Locked Moved Help and Support
    n64mupen64plustributetribute64retrobit
    16 Posts 4 Posters 1.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.
    • K
      Krystalis
      last edited by

      Pi Model or other hardware: Raspberry Pi 3 B+
      Power Supply used: 5V generic
      RetroPie Version Used: 4.7.1
      Built From: Pre Made SD Image from RetroPie website, Flashed with Etcher
      USB Devices connected: Keyboard
      Controller used: Tribute 64 USB
      Error messages received:
      Verbose log (if relevant):
      Guide used:
      File:
      Emulator: Mupen64Plus
      Attachment of config files:
      How to replicate the problem: Load N64 content and play with the Tribute 64 controller

      Basically I've properly bound the Tribute 64 controller and it works fine in menus, with A and B recognized as separate keys.

      However, when I load N64 content into Mupen64Plus, the A and B key are treated as one and the same-- if I've correctly bound A to A and B to B, I will, say, both jump and examine signs in Super Mario 64 with B, but A will be completely unresponsive.

      If I reverse the bindings during setup for the giggles, A and B will now be both bound to A.

      This controller also works fine with RetroArch 1.9.0 PC, where I tested this before setting up my Pi 3 B+.

      This exact problem was also happening when I was trying out different images with Batocera, so it seems to be largely an OS agnostic problem. They do both share EmulationStation and Libretro, but now it feels like I'm missing something obvious with LibRetro or ES and could use some pointers.

      Thanks!

      IanDaemonI CyberRazorCutC 2 Replies Last reply Reply Quote 0
      • IanDaemonI
        IanDaemon @Krystalis
        last edited by IanDaemon

        @krystalis Are they using the same driver? Same version of RetroArch?

        • 5 Favorite Arcade Games in MAME
        • Cocktail Cabinet Games
        • Check out the MAME RoW
        K 1 Reply Last reply Reply Quote 0
        • K
          Krystalis @IanDaemon
          last edited by

          @iandaemon Being honest, that'd be hard to tell for me ATM. I flashed over the image of Batocera I had with RetroArch, and right now I'm taking a break from troubleshooting and am too drained to flash Batocera back to check RA versions.

          Either way, I know you can bind keys on a per core basis on PC, separately from automapping, and it feels like that might be the part I'm missing here. But I can't find the option to change inputs based on a core basis on RetroPie and Batocera.

          IanDaemonI 1 Reply Last reply Reply Quote 0
          • IanDaemonI
            IanDaemon @Krystalis
            last edited by IanDaemon

            @krystalis Can you get to the Retroarch menu?
            Main menu -> Settings -> Input?

            • 5 Favorite Arcade Games in MAME
            • Cocktail Cabinet Games
            • Check out the MAME RoW
            K 1 Reply Last reply Reply Quote 0
            • K
              Krystalis @IanDaemon
              last edited by

              @iandaemon The one with the green and black UI with white font? Yeah, I can.

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

                Is mupen64plus the standalone emulator or the libretro core (RetroArch) ? You can look at the configuration generated by EmulationStation in

                • \\retropie\configs\n64\InputAutoCfg.ini for the standalone emulator
                • \\retropie\configs\all\retroarch-joypads for the libretro based emulators.

                Post the RetroArch .cfg here in the topic, surrounded by code tags (```).

                K 1 Reply Last reply Reply Quote 0
                • K
                  Krystalis @mitu
                  last edited by

                  @mitu I'll be honest and say it's the one from the home menu, but I'm not entirely sure which one's which, so I'm posting both.

                  
                  retroarch.cfg
                  
                  # Settings made here will only override settings in the global retroarch.cfg if placed above the #include line
                  
                  input_remapping_directory = "/opt/retropie/configs/n64/"
                  
                  input_player1_joypad_index = "0"
                  # input_player4_joypad_index = ""
                  # input_player2_joypad_index = ""
                  # input_player3_joypad_index = ""
                  input_joypad_driver = "udev"
                  # input_player8_analog_dpad_mode = ""
                  # video_smooth = ""
                  #include "/opt/retropie/configs/all/retroarch.cfg"```
                  
                  

                  The controller config I didn't keep after my

                  SWITCH CO.,LTD. Controller (Dinput).cfg
                  
                  input_driver = "udev"
                  input_device = "SWITCH CO.,LTD. Controller (Dinput)"
                  input_vendor_id = "9571"
                  input_product_id = "1397"
                  input_b_btn = "2"
                  input_start_btn = "12"
                  input_up_btn = "h0up"
                  input_down_btn = "h0down"
                  input_left_btn = "h0left"
                  input_right_btn = "h0right"
                  input_a_btn = "1"
                  input_r_btn = "5"
                  input_l2_btn = "6"
                  input_r2_btn = "7"
                  input_l_x_plus_axis = "+0"
                  input_l_x_minus_axis = "-0"
                  input_l_y_plus_axis = "+1"
                  input_l_y_minus_axis = "-1"
                  input_r_x_plus_btn = "9"
                  input_r_x_minus_btn = "3"
                  input_r_y_plus_btn = "0"
                  input_r_y_minus_btn = "8"
                  

                  I've also tested it by directly copying and replacing and saving the controller config, the one directly above, with the contents found here:

                  https://github.com/libretro/retroarch-joypad-autoconfig/blob/master/xinput/Retro-Bit Tribute64 - USB (D-Input).cfg

                  But it doesn't seem to have made any difference.

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

                    @krystalis said in Tribute 64 and A and B Binding to Same Key:

                    so I'm posting both.

                    Hm, you posted only the RetroArch configurations, these do not apply to the standalone Mupen64plus emulator, if you're using it. To determine which emulator you're using, check out the Runcommand launch menu splash dialog, it shows you the name of the emulator.

                    I see that the auto-config configuration generated for RetroArch, A and B have different input codes, so there's no mapping error there.

                    Can you try and run a diagnostic command and see how Linux sees the input buttons ? Exit EmulationStation, make sure the N64 controller is the only one connected, then run

                    jstest /dev/input/js0
                    

                    press the A/B buttons and see if they produce different results. You can stop the test by pressing Ctrl+C.

                    EDIT: is this the controller in question (I ssume the one with the 'USB Port') ?

                    K 1 Reply Last reply Reply Quote 0
                    • K
                      Krystalis @mitu
                      last edited by Krystalis

                      @mitu That's the one, yeah.

                      FWIW, I did the self test and the inputs seemed to respond just fine. If I only pressed one or the other, they responded correctly. If I pressed them both, they would both turn on.

                      I'll assume I'm using Mupen as a RA core because I haven't altered the install. I'm just using the basic stuff supplied for the emulator for testing purposes, and haven't installed anything extra.

                      Also, if you're curious, and forgive the potato TV taken with phone picture:

                      https://imgur.com/EKVEuy6

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

                        @krystalis said in Tribute 64 and A and B Binding to Same Key:

                        FWIW, I did the self test and the inputs seemed to respond just fine. If I only pressed one or the other, they responded correctly. If I pressed them both, they would both turn on.

                        That looks fine. Are you sure you're using the Libretro core to run the game ? Can you check the ini file I mentioned earlier and post its contents ?

                        K 1 Reply Last reply Reply Quote 0
                        • K
                          Krystalis @mitu
                          last edited by

                          @mitu I was using the Libretro core. Though not entirely sure how to explain this, but goblins. I reflashed the image and I got the new Ozone RA UI which allowed me to download controller profiles and it was picked up as a Nintendo 64 USB device and it worked fine from there.

                          IDK, so long as its fixed itself.

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

                            Can you find the controller's .cfg file and compare to the you had before ? I'm curious what's the difference.

                            K 1 Reply Last reply Reply Quote 0
                            • CyberRazorCutC
                              CyberRazorCut @Krystalis
                              last edited by CyberRazorCut

                              @krystalis I had a problem with mapping my Tribute 64, but this sorted it out for me. It might be of help to you.

                              K 1 Reply Last reply Reply Quote 0
                              • K
                                Krystalis @mitu
                                last edited by Krystalis

                                @mitu I believe this is the one. I modified it from the default profile RA gave me after updating all profiles, because C right and up were swapped, and so were Z, L and R.

                                input_driver = "udev"
                                input_device = "SWITCH CO.,LTD. Controller (Dinput)"
                                input_device_display_name = "Nintendo 64 USB Controller"
                                input_vendor_id = "9571"
                                input_product_id = "1397"
                                input_b_btn = "1"
                                input_y_btn = "2"
                                input_a_btn = "2"
                                input_up_btn = "h0up"
                                input_down_btn = "h0down"
                                input_left_btn = "h0left"
                                input_right_btn = "h0right"
                                input_l_btn = "6"
                                input_r_btn = "7"
                                input_l2_btn = "5"
                                input_l_x_minus_axis = "-0"
                                input_l_x_plus_axis = "+0"
                                input_l_y_plus_axis = "+1"
                                input_l_y_minus_axis = "-1"
                                input_r_x_plus_btn = "9"
                                input_r_x_minus_btn = "3"
                                input_r_y_plus_btn = "0"
                                input_r_y_minus_btn = "8"
                                input_start_btn = "12"
                                input_b_btn_label = "A"
                                input_y_btn_label = "B"
                                input_A_btn_label = "B"
                                input_up_btn_label = "D-Pad Up"
                                input_down_btn_label = "D-Pad Down"
                                input_left_btn_label = "D-Pad Left"
                                input_right_btn_label = "D-Pad Right"
                                input_l_btn_label = "Left Shoulder"
                                input_r_btn_label = "Right Shoulder"
                                input_l2_btn_label = "Z Trigger"
                                input_start_btn_label = "Start"
                                input_l_x_minus_axis_label = "Analog Left"
                                input_l_x_plus_axis_label = "Analog Right"
                                input_l_y_plus_axis_label = "Analog Down"
                                input_l_y_minus_axis_label = "Analog Up"
                                input_r_x_plus_btn_label = "C Right"
                                input_r_x_minus_btn_label = "C Left"
                                input_r_y_plus_btn_label = "C Bottom"
                                input_r_y_minus_btn_label = "C Top"```
                                1 Reply Last reply Reply Quote 1
                                • K
                                  Krystalis @CyberRazorCut
                                  last edited by

                                  @cyberrazorcut Saw that, tried it. But again, both keys were binding to the same key, so it was a bit beyond that diagram.

                                  TBH I don't know how its fixed but I'm also not looking that gift horse in the mouth.

                                  CyberRazorCutC 1 Reply Last reply Reply Quote 0
                                  • CyberRazorCutC
                                    CyberRazorCut @Krystalis
                                    last edited by

                                    @krystalis I thought it might be more than just that diagram. I did have to do a minor edit to the config file for the controller, but I can't remember what it was. I hope you get it sorted.

                                    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.