Mapping buttons 1-6 consistently in FBNeo

Hi all,

I’ve been building a Pimoroni Picade, which has a six button joystick, and am using Retroarch 1.10.0 via EmulationStation. My systems are NES, SNES, Megadrive, various Game Boys, and arcade games using FBNeo.

I’ve used ES to configure my joystick with LXR on the top row and YBA on the bottom row*. This works as I expect for all my Nintendo systems, it puts buttons ABC across the bottom for the Megadrive, which is also fine.

What’s causing me concern is arcade controls. I’ve been used historically to MAME, where the global button settings are numbered, and I could just set it to expect 123 along the top row and 456 along the bottom. That would give me the controls I’d expect for practically every game.

Retroarch seems to put an extra layer of abstraction in here. When I go into the input settings while an FBNeo game is running, the buttons are named rather than numbered. Go into a Street Fighter game and they’re Hard Kick, Soft Kick etc. So if I save a core override that sets up all the SF games, that’s great, but the mapping to buttons 1-6 is not consistent as it would be in my experience with MAME; if I load Missile Command buttons 1-3 are not the top three.

Is there something I’m missing about this? Is it possible to bypass the extra abstraction at the core level rather than having to remap each game?

Any help appreciated.

  • I’m aware from searching the forum that the canonical setup for a six button controller in Retroarch is YXL on the top row, BAR on the bottom, but I grew up with a SNES Advantage (UK version, it’s really hard to even find a picture of one any more) and can’t work that way. Plus it still doesn’t fix the Street Fighter vs Missile Command issue.

Hi, FBNeo dev here.

It’d have been better to use the canonical setup and to make your exception/remapping once for your snes core.

With gamepads being what 99% of people use and the limitations of the retropad model, i can’t use YXL as the default mapping for 3 buttons games. Even if i decided to add 1 more device type for the users who absolutely want 3-buttons games to be in a straight line by default on their panels (i have been considering this from time to time), i wouldn’t go for YXL as default for 3-buttons games since it wouldn’t help with users wanting 4-button lines for 4-button games on their 8-button panels which has a layout like this :

Y X R1 L1
B A R2 L2

Things might be different if the retropad model gave more informations about the controller layout, but it doesn’t.

Thank you very much for taking the time to reply, and for the context. Makes sense in a gamepad world I guess.

It’d have been better to use the canonical setup and to make your exception/remapping once for your snes core.

Well, once each for every core except the arcade, and I’d still have had to figure out any arcade exceptions, but I take your point.

The mapping is very flexible, you don’t need to configure and save per system, you can save a file with a name “such”, load that file and save the system. You can also save the configuration by content directory and all the systems that are in that folder will have that configuration.