Homepage Forums RetroPie Project Everything else related to the RetroPie Project How do I set up two SNES controllers?

Viewing 27 posts - 1 through 27 (of 27 total)
  • Author
    Posts
  • #82058
    Anonymous
    Inactive

    Hi!
    I purchased 2 of these USB SNES controllers: http://www.amazon.com/gp/product/B002JAU20W/ref=oh_aui_detailpage_o05_s00?ie=UTF8&psc=1
    I am just trying to set up SNES to start with, and then move on to other emulators. My retroarch.cfg file looks OK, and it seems like it should be working, yet the second controller remains unresponsive (Testing it on Super Mario Kart. It’s it’s fine in emulationstation itself).

    Here’s my main configuration:

    input_player1_joypad_index = "0"
    input_player1_b_btn = "2"
    input_player1_y_btn = "3"
    input_player1_select_btn = "8"
    input_player1_start_btn = "9"
    input_player1_up_axis = "-1"
    input_player1_down_axis = "+1"
    input_player1_left_axis = "-0"
    input_player1_right_axis = "+0"
    input_player1_a_btn = "1"
    input_player1_x_btn = "0"
    input_player1_l_btn = "4"
    input_player1_r_btn = "5"
    
    input_enable_hotkey_btn = 8
    input_exit_emulator_btn = 9
    input_menu_toggle_btn = 5
    
    input_player2_joypad_index = "0"
    input_player2_b_btn = "2"
    input_player2_y_btn = "3"
    input_player2_select_btn = "8"
    input_player2_start_btn = "9"
    input_player2_up_axis = "-1"
    input_player2_down_axis = "+1"
    input_player2_left_axis = "-0"
    input_player2_right_axis = "+0"
    input_player2_a_btn = "1"
    input_player2_x_btn = "0"
    input_player2_l_btn = "4"
    input_player2_r_btn = "5"
    

    Here’s my SNES specific configuration:

    input_menu_toggle_btn = 5
    
    input_enable_hotkey_btn = 8
    input_exit_emulator_btn = 9
    
    input_player1_a_btn = 1
    input_player1_b_btn = 2
    input_player1_y_btn = 3
    input_player1_x_btn = 0
    input_player1_start_btn = 9
    input_player1_select_btn = 8
    input_player1_l_btn = 4
    input_player1_r_btn = 5
    input_player1_left_axis = -0
    input_player1_right_axis = +0
    input_player1_up_axis = -1
    input_player1_down_axis = +1
    
    input_player2_a_btn = 1
    input_player2_b_btn = 2
    input_player2_y_btn = 3
    input_player2_x_btn = 0
    input_player2_start_btn = 9
    input_player2_select_btn = 8
    input_player2_l_btn = 4
    input_player2_r_btn = 5
    input_player2_left_axis = -0
    input_player2_right_axis = +0
    input_player2_up_axis = -1
    input_player2_down_axis = +1

    The controller isn’t defective, because it works fine when it’s the only one plugged in. It just never seems to work with both plugged in.

    Any help?
    Thanks!

    #82059
    Floob
    Member

    Try using an empty snes specific retroarch.cfg file, then when the emulator is firing up does it identify both controllers with yellow text at the bottom of the screen?

    #82060
    Anonymous
    Inactive

    Not when the ROM loads, but when I’m ingame and I unplug/connect the controllers it shows up. Here are the two controllers:
    Joypad #0 (dev/inputs/event1)
    and
    Joypad #1 (dev/inputs/event2)

    Does this have any significance?

    #82061
    Floob
    Member

    Thats odd – retroarch should have the on screen display when it boots up.
    Does your retroarch file have “true” for the OSD value?

    Did you use the controller detector in the retropie setup file itself?

    #82064
    Anonymous
    Inactive

    Hmmm.. I tried enabling the commented out option that you said, and now yellow text appears at startup saying “Joypad #1 (USB Gamepad) configured”. No mention of gamepad 2. I did notice something by watching the video, though — There are a lot of retroarch.cfg files. I’m editing the one in opt/retropie/configs/all, is that correct?

    Also, I did not previously use the controller detector like that. I actually ran it from command line. To be safe, I went ahead and ran it again — No effect. Interestingly though, when I went to map the second controller by unplugging the first controller and connecting the second controller, upon running of the setup it immediately crashed back to GUI saying that it had stored in the file “.cfg” (whereas with the first controller it saved in “USBGamepad.cfg”). It didn’t actually create a file for the second controller, I am assuming this is part of (or the source of) the problem.

    Do you think that’s the issue? Is there a way to manually create a configuration file for the second controller?

    #82067
    Floob
    Member

    Ok, I would say that “Joypad #1 (USB Gamepad) configured” indicates the second controller is detected, as the first one would be
    “Joypad #0 (USB Gamepad) configured”

    Watch it really carefully when it boots again and see if it shows both, as they do flash up pretty quickly. If it does show both, thats a good sign that RetroArch knows they are both there.

    Essentially the only cfg files RetroArch will use are the one in /all/ directory, which is obviously read by all the RetroArch emulator cores, and then the system specific one will be read and overwrite any previous rules. Thats why, when you are testing here, it would be good to blank out the snes specific one, so you know it is just reading the one in the /all/ directory, and you can worry about fine tuning later.

    You can see your controller config file in the “configs” directory inside the RetroArch folder, retroarch automatically loads this. I have 2 controllers exactly the same, hence its the same controller config.

    I dont have any controller settings in the console specific folders, i.e. snes, and in the /all/ directory version I have all the controller mappings commented out – except for:

    input_autodetect_enable = true
    joypad_autoconfig_dir = /opt/retropie/emulators/RetroArch/configs/

    Are you running RetroPie 2.3, as these settings were default for me.

    #82069
    Anonymous
    Inactive

    No, I am quite sure that only #1 pops up.
    All my other settings seem to be correct…
    I did notice something a second ago, though — On the ROM loading process, RetroArch gives a warning:
    [udev] Couldn't open any keyboard, mouse, or touchpad. Are permissions set correctly for /dev/input/event*?
    Might this be it? Looks promising.

    EDIT:
    Looks like it’s failing to detect ANY controller #0. When I just have one controller in, it doesn’t put out any yellow text at start (although it does recognize the button presses of the controller). Two controllers show yellow text of #1.

    #82078
    Floob
    Member

    Have you tried the autodetect process above rather than manually setting them?

    #82088
    Anonymous
    Inactive

    What exactly do you mean? The auto configuration in the RetroArch setup file? If so, I have done that.

    #82093
    Floob
    Member

    Its worth checking the retroarch.cfg files – so blank out the snes one completely, and comment out all the joypad lines in the /all/ version.

    Just make sure these lines are uncommented in it
    input_autodetect_enable = true
    joypad_autoconfig_dir = /opt/retropie/emulators/RetroArch/configs/

    #82105
    Anonymous
    Inactive

    Finally figured it out! Thanks for all your help. It looks like there was a section of retroarch.cfg that I did not add that was messing some things up. No idea what was up with that, but it works now!

    #82121
    Floob
    Member

    Great stuff. I tend to keep a clean copy of retropie about that I compare my install to now and again and see if I’ve changed something I shouldnt have.

    Glad its all good now.

    #82133
    goodwinsplace
    Participant

    Blue-dragon – can you post your retroarch.cfg for me to take a look, I’m also using two snes control pads but I can only get them both to play as player 1, so if I start a game like street fighter I can only play two players and both punch and move at the same time.

    #82178
    RetroMarine
    Participant

    Here’s mine……….

    input_player1_joypad_index = 0
    input_player1_b_btn = 2
    input_player1_a_btn = 1
    input_player1_y_btn = 3
    input_player1_x_btn = 0
    input_player1_l_btn = 4
    input_player1_r_btn = 5
    input_player1_start_btn = 9
    input_player1_select_btn = 8
    input_player1_up_axis = -1
    input_player1_down_axis = +1
    input_player1_left_axis = -0
    input_player1_right_axis = +0

    input_enable_hotkey_btn = 8
    input_exit_emulator_btn = 9

    input_enable_hotkey_btn = 8
    input_save_state_btn = 4

    input_enable_hotkey_btn = 8
    input_load_state_btn = 5

    input_enable_hotkey_btn = 8
    input_state_slot_increase_btn = 0

    input_enable_hotkey_btn = 8
    input_state_slot_decrease_btn = 2

    input_player1_turbo_btn = 4
    input_player2_turbo_btn = 4

    input_enable_hotkey_btn = 8
    input_hold_fast_forward_btn = 3

    rewind_enable = true
    rewind_buffer_size = 3
    rewind_granularity = 2
    input_enable_hotkey_btn = 8
    input_rewind_btn = 1

    input_player2_joypad_index = 1
    input_player2_b_btn = 2
    input_player2_a_btn = 1
    input_player2_y_btn = 3
    input_player2_x_btn = 0
    input_player2_l_btn = 4
    input_player2_r_btn = 5
    input_player2_start_btn = 9
    input_player2_select_btn = 8
    input_player2_up_axis = -1
    input_player2_down_axis = +1
    input_player2_left_axis = -0
    input_player2_right_axis = +0

    system_directory = /home/pi/RetroPie/BIOS
    game_history_size = 100

    video_font_path = /home/pi/.emulationstation/general_art/Gobold.ttf
    video_font_size = 32
    video_message_color = 00ff00

    #82188
    Anonymous
    Inactive

    Sorry this took so long! Attached is my entire retroarch.cfg file. Warning — It’s long! It has all the possible options on it. There are no specifically mapped buttons, they’re all set up using the retroarch setup file.

    Remember to blank out all other console specific config files!

    Also, MAME controls can be configured ingame by pressing TAB.

    #82526
    Anonymous
    Inactive

    [quote=82188]Sorry this took so long! Attached is my entire retroarch.cfg file. Warning — It’s long! It has all the possible options on it. There are no specifically mapped buttons, they’re all set up using the retroarch setup file.

    Remember to blank out all other console specific config files!

    Also, MAME controls can be configured ingame by pressing TAB.
    [/quote]
    Where? Is it the one at the top of the post?

    #82533
    Anonymous
    Inactive

    [quote=82526]

    <div class=”d4p-bbt-quote-title”>blue-dragon360 wrote:</div>
    Sorry this took so long! Attached is my entire retroarch.cfg file. Warning — It’s long! It has all the possible options on it. There are no specifically mapped buttons, they’re all set up using the retroarch setup file.

    Remember to blank out all other console specific config files!

    Also, MAME controls can be configured ingame by pressing TAB.

    Where? Is it the one at the top of the post?
    [/quote]
    Huh, it looks like it doesn’t like the .cfg format. I’ve reattached it in .txt format, you’ll manually have to change it back to .cfg. Let me know if it doesn’t work again! :)

    #89964
    tactechl
    Participant

    I’m having the same problem , the controller configuration is simply saying its created a file “.cfg”. but there’s no output in the config folder for the usb controller.
    (im attempting to setup two SNES iBuffalo controllers)

    [quote=82064]Hmmm.. I tried enabling the commented out option that you said, and now yellow text appears at startup saying “Joypad #1 (USB Gamepad) configured”. No mention of gamepad 2. I did notice something by watching the video, though — There are a lot of retroarch.cfg files. I’m editing the one in opt/retropie/configs/all, is that correct?

    Also, I did not previously use the controller detector like that. I actually ran it from command line. To be safe, I went ahead and ran it again — No effect. Interestingly though, when I went to map the second controller by unplugging the first controller and connecting the second controller, upon running of the setup it immediately crashed back to GUI saying that it had stored in the file “.cfg” (whereas with the first controller it saved in “USBGamepad.cfg”). It didn’t actually create a file for the second controller, I am assuming this is part of (or the source of) the problem.

    Do you think that’s the issue? Is there a way to manually create a configuration file for the second controller?
    [/quote]

    #89983
    Floob
    Member

    This is often due to either a path issue where the process cant find the joyconfig program (due to an old image and new setup script) or you have something open like Emulation Station that has a lock on the joypad.
    I’d suggest writing a new copy of 2.6.0 (making sure ES isnt running, if it is quit out of it), update the retropie-setup script and then re-run this.

    #90007
    Anonymous
    Inactive

    Hi,
    im really new to the RetroPie and/or EmulationStation ;-)
    Im using v2.6 and Ive already managed to get one SNES USB Controller to work fine in game/rom and emulationstation as well. When I plug in the second controller, both work in emulationstation but only one (always the same) works in a game.

    Ive done this whith the “Register RetroArch Controller” and it worked as described above.
    I now watched the Multicontroller video from Floob and edited the /opt/retropie/configs/all/retroarch.cfg and inserted player2 “manually”. but it does not work ingame :-(

    ive absolutely no idea what I can do to fix it, has anyone?

    #90009
    tactechl
    Participant

    The crazy thing is Floob, the setup program is finding the controller configuration script, its prompting me for each button. Then when it returns to the “GUI” it says the files was saved as “.cfg” which of course doesn’t exist in the directory its supposed to.

    #90022
    herbfargus
    Member

    @p0w3r
    If you are using the default SNES emulator (pocketsnes) it has issues with two player- at least in my case. Only the 1 player controls worked even though my second controller has been registered and is working in other games. If you have a Rpi2 then you can install the snes9x next experimental package from the setup script and it worked fine for me after that. See this video (at about 7 min) on how to do that:

    #90042
    Floob
    Member

    [quote=90009]The crazy thing is Floob, the setup program is finding the controller configuration script, its prompting me for each button. Then when it returns to the “GUI” it says the files was saved as “.cfg” which of course doesn’t exist in the directory its supposed to.[/quote]

    Any chance you can video or screengrab the error (you should notice it flicks up on a black background to briefly show the error if it cant write the file properly)

    Are you using 2.6.0 and have updated the retropie-setup script?

    #90140
    Anonymous
    Inactive

    I have installed my Set-up for Emulation Station as well. I have set up two of the same SNES controllers with the script as you can see at the bottom of this post. It works fine, except it only accepts the movement of player 2 whenever player one is entering input. So I try this when playing bomberman, but player 2 cannot move when player 1 is standing still. Does anyone know how I can fix this?

    #player 1
    input_player1_joypad_index = "0"
    input_player1_b_btn = "2"
    input_player1_y_btn = "3"
    input_player1_select_btn = "8"
    input_player1_start_btn = "9"
    input_player1_up_axis = "-1"
    input_player1_down_axis = "+1"
    input_player1_left_axis = "-0"
    input_player1_right_axis = "+0"
    input_player1_a_btn = "1"
    input_player1_x_btn = "0"
    input_player1_l_btn = "4"
    input_player1_r_btn = "5"
    input_enable_hotkey_btn = "8"
    input_exit_emulator_btn = "4"
    
    #player 2
    input_player2_joypad_index = "1"
    input_player2_b_btn = "2"
    input_player2_y_btn = "3"
    input_player2_select_btn = "8"
    input_player2_start_btn = "9"
    input_player2_up_axis = "-1"
    input_player2_down_axis = "+1"
    input_player2_left_axis = "-0"
    input_player2_right_axis = "+0"
    input_player2_a_btn = "1"
    input_player2_x_btn = "0"
    input_player2_l_btn = "4"
    input_player2_r_btn = "5"
    
    #90203
    widespreaddeadhead
    Participant

    Thanks everyone for the tips, got my snes working on my RPi 2 thanks to this thread. Anyone having troubles, what worked for me was following the video above to install snes9x through the retropie setup script. Rebooted and my config file was just set to autodetect and that didn’t work. So I manually entered the controls under the joypad section and, BAM! Works!

    #90218
    ceuse
    Participant

    well the original posters problem i think i can answer by looking :

    input_player1_joypad_index = “0”
    input_player2_joypad_index = “0”

    cant be right :-)

    #90227
    Anonymous
    Inactive

    thanks to all, it worked fine for me with snes9x-next core! (few crashes but donno if rom or core)

Viewing 27 posts - 1 through 27 (of 27 total)
  • The forum ‘Everything else related to the RetroPie Project’ is closed to new topics and replies.