SNES Multitap Issue
Pi Model or other hardware: Pi 3
Power Supply used: 2.5 amp
RetroPie Version Used: 4.2.20
Built From: Pre made SD Image on RetroPie website
USB Devices connected: Keyboard
Controller used: iBuffalo SNES pad, logitech F310 pad, Street Fighter IV X-Box Pad (all USB)
Error messages received: NA
Log found in /dev/shm/runcommand.log (if relevant): NA
Guide used: Retropie website
File: 3-5 player SNES roms
Attachment of config files: NA
How to replicate the problem:
I am experiencing an issue with setting up multitap for 3-5 player games on SNES. I put in the code listed on the Retropie website in the config file: input_libretro_device_p2 = "257" and also as I saw on another post on here: went into RetroArch during gameplay, quick menu, controls, set player two to Multitap, and Save Game Remap File. I did this for several games. My main test however has been Super Bomberman. When I enable Multitap on User 2 Device Type in RetroArch, the game does recognize there is now 4 controllers. However it isn't quite right. I have 3 controllers setup and a keyboard (all USB). The User 1 controller works fine. User 2 controller now controls players 2-4. User 3 controller does nothing. I am at a loss here on what to do to correct this. Any help would be greatly appreciated, also thank you for taking the time in reading all this and any solutions you may have to remedy this.
My suggestion is to use my RetroPie-joystick-selection tool. Instructions on how to install it: https://github.com/meleu/RetroPie-joystick-selection/#installation
@meleu I should have mentioned that I don't have a problem with other 4 player systems like N64 or Arcade. Just the systems like SNES that use a multitap device.
@hyruleslink You should post your config files, notably these ones:
/opt/retropie/configs/all/retroarch.cfg(be sure to mask your cheevos account info if you use it)
Post it on ghostbin.com or something similar.
Note: in the SNES file, I removed the line input_libretro_device_p2 = "257" as all that did was activate multitap for all SNES games on the player 2 device.
@hyruleslink you should not have to do any of that at all. All I do is:
- Drop to retroarch after loading the game. (start+x).
- Make you are in the "quick menu"
- then down to controller options
- down to user device 2 press right until it says multi-tap
- go to save game overrides
- up to restart game select it
- then resume
you should have four player blast'em em in bomberman sweetness! :D
Note that because you saved the override config once you quit..and then you start the same game it thinks the multi-tap is plugged in when you start it.
@akafox Yup did that. That's what is causing the player 2 controller to act like player 2, 3, & 4 simultaneously. So for example, once I do that in Super Bomberman, player one controls the white bomberman but player 2 controls all three other bombermen at the same time. It's so bizarre. Especially because I have 4 player working fine on NES, arcade, TG16, and N64.
@hyruleslink what happens if you change the joystick index on-the-fly?
How to do this:
Main Menu -> Settings -> Input -> Input User N Binds -> User N Device Index
Try changing it for players 2-5.
I am using the same core I can not reproduce that problem at all. That is strange.
meleu is correct though make sure you have all your controllers set up and then start it. Then drop to the retroarch interface (gui..showing my age there!) and check your bindings.
@meleu I went into settings, input and the max users was set to 5 and each of the binds had the controllers listed according to what port they were in. I tried disabling user 2 and to see if p3 or p4 would work and nothing. Now I did notice something odd under User N Device Type... P1 and p2 both have input options for SNES Joypad and p3-5 only have the option of RetroPad. Could that be the issue?
Could that be the issue?
No. I've just confirmed it here right now and it is exactly as you described ("P1 and p2 both have input options for SNES Joypad and p3-5 only have the option of RetroPad").
Please, launch the game you want to use 4-5 players (Super Bomberman?) with verbose logging and post the log in ghostbin.
@meleu I'm not sure how to do that. Do you think it may be helpful to uninstall the emulator and reinstall from Source?
@meleu I'm not sure how to do that.
- Launch the game and press the A button several times until you see the runcommand menu.
- Choose "Launch with verbose logging".
- Exit the game.
- Open the file
- Copy its content and paste at ghostbin.
- Post the ghostbin link here.
Do you think it may be helpful to uninstall the emulator and reinstall from Source?
Not before checking the logs.
[INFO] Remaps: game-specific remap found at /opt/retropie/configs/snes/Snes9x 2010/Super Bomber Man 1.rmp
Can you paste the content of of
/opt/retropie/configs/snes/Snes9x 2010/Super Bomber Man 1.rmp.
Also, did you test the Multitap config with other 4player game? Such as Super Bomberman 2, 3, 4 or 5...
@meleu The .rmp file is just the saved remap file setting where I swapped the player 2 input to multitap. I can't open that file. I also tried this with Super Bomber Man 2, Peace Keepers, Saturday Night Slam Masters, and Super Off Road. One thing I noticed on the last ghostbin file I posted was that on lines 23-35, it only lists controller port 1 and controller port 2. Should it be listing controller port 3 & 4 as well?
@hyruleslink I think not. In my logs (where Multitap works fine) it's the same.
Maybe now it can be a good idea to update your RetroArch and lr-snes9x2010. Not sure if it will solve, but surely won't hurt 😅.
akafox last edited by akafox
@hyruleslink you need to leave it set for 5 players max. Yes that is one too many for the NES or N64 but it's fine. Most systems are max at five. (I have mine set to 8 and it hasn't complained yet.) Disabling player 2 will "break" everything.
You have to think of this as if you have the hardware itself. To use a snes multitap it is normally plugged into the second controller port. Thus allowing you to play 3, 4, or 5 player games.
The p1 in retroarch will not have anything other than SNES pad or SNES mouse for options. Why? Because with the actually hardware that is the port you used for those devices.
On p2 you have a SNES pad, SNES mouse, multitap, SuperScope, Justifier, and Justifiers as options. Because on the actual hardware that is where you plugged them in at.
P1 and P2 are suppose to have options for other things..players 3, 4 and 5 "do not exist" because the system only has two ports. There would be no reason to hook anything into the extra ports. You also have to remember that the multi-tap was not made by Nintendo themselves but a 3rd party (Hudson Soft).
Also according to your op you state "When I enable Multitap on User 2 Device Type in RetroArch, the game does recognize there is now 4 controllers. However it isn't quite right. I have 3 controllers setup and a keyboard (all USB)." This is normal behavior there is nothing wrong with that. That is just how it is coded and easier to do so. I do not think this is a problem for most games.
As for controlling all of them with p1 again check your controller bindings in the main menu .settings > input > Input user binds. Make sure that each pad is bound to a single controller [user 1 device index] ONLY! Basically as if we had actual hardware.. bind p1 to one pad...then p2 to the next pad..ect. Make sure you have all your controllers plugged in configured BEFORE starting retroarch. (THIS I think is your problem here..)
@akafox the max was set to 5 and multitap was set on player 2. The bindings all show the different controllers hooked up in Retroarch. However during gameplay, player 2 controls players 2-4. This happened on the default RetroArch setttings before I touched anything, with the exception of changing player 2 to multitap. That was the only thing I changed initially. I'm convinced at this point something got corrupted between the emulator and RetroArch and as a result 4 player SNES just isn't an option because it works fine on all the other systems.
I'll update my core and see if i have the same issue...