I really like my recently purchased RetroFlag Sega USB controller. The buttons are just enough spongy and “mushy”, the size is perfect for my hands, and the quality feels superior to the Genesis controller of its Retro-Bit competitor (which broke for me after just two weeks of use).
What I don’t like is how impossible it seems to get it working as I want it to, in RetroArch.
If I just go with the autoconfig that’s pre-configured, everything is a mess. When I try it out using the Sega Genesis 6 button controller test ROM using PicoDrive and Genesis Plus MX, the three main buttons are mapped backwards; CBA instead of ABC. And XYZ and L+R are messed up even worse.
The same wrong mapping occurs when trying the official RetroFlag mapping guide on the back of the box.
If I instead configure it just as my Retro-Bit Sega Genesis controller was mapped before it broke, by following the RetroPie guide for the Mega Drive/Genesis ArcadePad Controller, at least PicoDrive and Genesis MX Plus work as they should with all buttons correctly mapped.
The next obstacle, which I haven’t been able to solve, is getting the mapping to work with SNES cores. To troubleshoot this, I’m using SNES9x and the SNES Burn-In Test cartridge.
At first, all the buttons work but are a bit misplaced. I want the SNES L and R buttons to be mapped to the physical L2 and R2 buttons of the RetroFlag controller. And to use the SNES Y,X and B,A to be mapped to the Retroflag’s Y,X and B,C buttons. However, when I configure the core input like this, every button other than the controller’s physical B and C buttons stop working.
I’ve also tried out Mednafen and all the others, and they all exhibit the same mapping error as SNES 9x. What I’ve tried as well, is to not map L1 and L2 to the Retroflag’s physical X and Z buttons, but instead leave them as is, ie mapped to the physical L and R side buttons. This doesn’t change anything.
Is there any way to get this to work?
A related issue that’s bothering me, is when I connect a different controller. What RetroArch does is adapt the mapping of the RetroFlag controller, even when it’s a completely different controller (Xbox, 8bitdo’s SNES controller etc) which it identifies correctly. If I manually change the mapping so that it works with the other controller and save the settings, the mapping of the Retroflag controller is one big mess when I connect it back again.
I do not have these issues at all when using RetroArch in my Nvidia Shield that runs Android. Autoconfig works for all controllers and it doesn’t mix the mappings up just because I connect a different one.