Joystick P1 and P2 Discrepancy despite identical setup
-
Dear Community,
Here is my setup as requested in Read This First:Pi3b, 2.1A aftermarket power supply
Retropie 4.3
Pre made SD Image: retropie-4.3-rpi2_rpi3.img
1 USB wireless bluetooth keyboard
2 identical Arcade USB joysticks
lr-Mame 2003 (0.78) and 2010Firstly, if this has been answered before, sorry in advance, I could not think of the search term that would bring up the relevant post.
I have set up both Joysticks on Emulation Station identically like this:
B Y Rt
A X Lt
(I realise that's not the official way now, but that's what seemed sensible to me from day1)In several games using Mame 2003, I have successfully pressed Select + X and used RetroArch to remap buttons to make the games playable for Player 1 with my button layout.
The problem is that Player 2 (set up identically in RetroArch and Emulation Station) does not follow the button mapping and I'm not sure where the discrepancy is coming from. You can see in the photos the button config for both identical joypads is identical, and you will have to trust me that the Emulation Station mappings were also done identically.
I suspect:
-
There is a third configuration necessary that I am unaware of.
(I know there are config files, but I have stayed away from them, sticking only to the Guis for this build, assuming they are managing the config files better than I have in the past -to be honest I found the sheer number of config files a bit overwhelming) -
Would the experimental Mame 2010 be causing the problem?
I installed it for all the games I have that don't work in Mame 2000, FBA, Pifba or lr-mame-2003) and I have used the Tab key to configure games that would not open RetroArch and Midnight Resistance and Heavy Barrel which required special input for its twisting joystick. I noted when I did this that the player 2 buttons could not be configured in MAME (2010?) and said "N/a"
Sincere thanks to anyone kind enough to help.
-
-
@crumbs what kind of usb joysticks are you using? Did you wire them exactly the same? In most all cases this issue is due to the fact that the buttons were wired slightly different back to the usb encoder.
-
@tmntturtlguy thanks for your reply :)
I am using two of these joysticks:
I did indeed double check that they were wired identically and they are (including the order of buttons in the connectors as well as being physically oriented identically). I checked this even though the indication is that it is a software problem (both joysticks work identically for all 6 buttons in Street Fighter II using lf-fbalpha). In any case, even if they were wired inconsistently, as I understand the Emulation Station mapping would have compensated for this. -
@crumbs emulationstation cant compensate for two differently mapped controllers. You only need to set up one controller. If you set up the second controller it remaps the first controller. You need to just rewire the second controller so the buttons match the first one. Even if that means they are wired differently.
EDIT: i see they are mapped correctly in something in fba.
-
@edmaul69 Emulation Station recognises Controller 1 and Controller 2 when you map the keys: it says "Controller 1" and "Controller 2" as each remap is being performed so it would be strange to overwrite controller 1's map with controller 2's.
At any rate - other cores like lr-fbalpha have no problem receiving the Emulation Station Map and interpreting the RetroArch Game Remap Files for both joysticks, so I don't think it is a wiring problem.
-
@crumbs emulationstation only creates one config for all matching controllers. If you hook up 8 xbox controllers, there is only one controller config created for all 8 of them. There is no need to keep configuring each identical controller.
-
Thanks @edmaul69 - I did not know that.
So where to from here? -
@crumbs what all systems are you running that work and dont work?
-
@crumbs tell us what type of usb encoder you are using. The picture doesn’t tell us that. Also, are you using a joystick selection setting, or are you controllers correctly registering as first and second player.
-
Ok, thanks for your help, I've done a whole heap more testing and documenting and I discovered the problem seems to be limited to Mame2003
The joysticks say Dragonrise USB when the games load, if that helps.
I'm running the default emulators that come with Retropie 4.3:
The following cores work and there are no problems with discrepancies between joystick button mappings - both work identically:
-
Neo Geo - lr-FBAlpha and lr
-
list itemAtari - lr-stella
-
list itemSnes - lr-snes9x210
-
list itemNES - lr-fceum
-
list itemMegadrive - picodrive
-
list itemPlaystation - lr-pcsx-rearmed
-
list itemFBA - lr-fba
-
list itemArcade - Mame2000
However, when Mame2003 loads the button mapping for each Joystick is different - this is the frustrating problem
Thanks again
-
-
Hello All,
This is still unsolved, but there is another clue that it is not a hardware problem:When the USB plugs for Player 1 joystick and Player 2 joystick are reversed, Player 2 joystick takes on the Role of Player 1 and behaves as it should and Player 1 takes on the Role of Player 2 and its buttons are all messed up. Therefore, this is not a hardware problem, but rather a config problem.
I am lost with all the configurations in RetroPie. If someone knows the likely location of the config file I need to edit, it would be great if they could pass on this information.
Thank you -
@crumbs Hi Crumbs. I recently had a similar issue. Deleting the retroarch.cfg for that emulator should fix it! Reboot Your Pi and it will be re-created. I did this and it fixed my P1 / P2 getting mixed up like your situation! And I also had the issue only with MAME! You may need to re-map the two players after the reboot in Retropie. If at first its not fixed without re-mapping, delete the file again, reboot, re-map in RetroPie and test out 2 player games.
p.s. Update retropie-setup and all packages! With this you will get a much nicer and cleaner looking RGUI!
-
@shay90 Thank you so much that's a real help. I'm actually rebuilding everything right now on a new SD card. But there's so many little things to do that I forgot I had done, it's going to take a really long time, so if I can fix it with your recommendation I will be really pleased.
Thanks for your reply. -
@shay90 said in Joystick P1 and P2 Discrepancy despite identical setup:
@crumbs Hi Crumbs. I recently had a similar issue. Deleting the retroarch.cfg for that emulator should fix it! Reboot Your Pi and it will be re-created.
close, but no.
- delete the retroarch.cfg file for the emulator (ie
/opt/retropie/configs/SYSTEM/retroarch.cfg
whereSYSTEM
is the folder name you launch mame2003 games from) - IMMEDIATELY update lr-mame2003 via https://retropie.org.uk/docs/Updating-RetroPie/#updatinginstalling-individual-packages
step 2) is important because it recreates retropie's default retroarch.cfg for the system. this will ensure all the default bindings are linked up correctly, and a bunch of other stuff. without that you'll end up with a retroarch default, which is not what you want.
- delete the retroarch.cfg file for the emulator (ie
-
@crumbs It can be quiet tedious work alright, especially when its your first time (Its mine!). I have to go and test out all games, configure correct mappings for each to my arcade cab controls. Every system, rom and control layout is different, there is no easy way of configuring it all :D But hey, mistakes are a good thing!
Yes my fix should do it! I would be surprised if it doesn't.
@dankcushions Thanks for that, I think I did that but can't remember because it was a stressful time :P.
-
@shay90 with the rebuild I re-imaged with 4.3 and went through the Configure Input in Emulation Station. I noticed something seemingly new in 4.3. It only asked me to configure one Joystick and as I recall it used to ask me to configure both. In any case, now what @edmaul69 was saying makes more sense to me. Immediately after configuring the 1st Joystick, the 2nd one was not functioning, but after rebooting it was and problem was solved. Well it is solved for Captain America anyway!
@dankcushions Thank you for the correction. I will now try renaming that file on my old build and see if it generates a new config and fixes the problem.
Done.
Well no. It definitely rebuilt the config in mame-libretro (the folder I use for MAME ROMs), but the problem persists, even after restarting the system. It must be due to another config in another location somewhere.At any rate, I guess I will just continue with the rebuild as this solves the problem.
Thanks very much for your help everyone. Very pleased. -
@crumbs Great! Glad it works now! :D Good look with the rest of your build! Perhaps you can share it in the Projects and Themes section for us to see :)
-
@crumbs said in Joystick P1 and P2 Discrepancy despite identical setup:
Well no. It definitely rebuilt the config in mame-libretro (the folder I use for MAME ROMs), but the problem persists, even after restarting the system. It must be due to another config in another location somewhere.
there are a couple of places you can check
/opt/retrepie/configs/all/retroarch/config/ (look for mame 2003 files or folders - delete them)
/opt/retrepie/configs/all/retroarch/config/remap (look for mame 2003 or mame game files or folders - delete them) -
Similar problems. Two identical DragonRise USB Joystick, with same identical connection to usb encoder. In EmulationStation Player2 buttons respond correctly, also if just one config is written (identical joystick). When i start lr-mame2010 with - for example - street fighter i see that player1 controls are OK, player2 controls are ok BUT only 4 buttons of 8 is working. Tryig to make /boot/cmdline.txt mods. Trying also to reconfigure manually in retroarch. What can be? becoming crazy from a week !!! Thanks
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.