Can anyone think of a way to have a hotkey swap joystick mapping for players 1&2 in real-time?
This is a pretty weird one.
There are a handful of Mega Drive and Mega-CD games which can be controlled with the XE-1 AP, a Japan-only analog stick/slider controller (i.e. 3 analog axes). In addition to analog mode, the controller has a switch to toggle acting as a standard Mega Drive controller.
Genesis Plus GX emulates this controller very well and can allow all of these games to be played. (Technically, there are also a couple of 32X games with analog support, but PicoDrive, the 32X emulator in RetroPie, doesn't support the analog pad, so *shrug*.)
The games in question:
- After Burner II (Japanese version only)
- Ayrton Senna's Super Monaco GP II
- Fastest 1
- Galaxy Force II
- After Burner III (Japanese version only)
- Night Striker
- After Burner Complete
- Space Harrier
Different games employ the pad in different ways; in some, you just plug in the XE-1 AP and go. For others, you have to start in digital mode, then swap to analog at the title screen. Since Genesis Plus GX doesn't support the "digital mode" of the XE 1-AP, this is mildly inconvenient, as you'll have to start with a 3/6-button controller in the settings, then go into RGUI (the RetroArch menu) and switch it for an XE-1 AP later. For the worst of them, though, you need a regular pad in slot 1, and an XE-1 AP in slot 2. This is where things become a bit dicier.
Short of having two controllers hooked up simultaneously just to play a game by myself, which while historically accurate, suuuuuuuucks, does anybody have any ideas for a way to get the games started with a normal 3/6-button joystick for player 1, then toggle a setting on the fly somehow to switch to controlling the player 2 joystick, which would already be set up as an XE-1 AP in the settings? Heck, is there a way to swap players 1 and 2 via RGUI that could solve this?
I love me some crazy 16-bit analog games, but getting them running can be a real hassle.
EDIT: I figured out a way to play Night Striker, the only game I'm aware of that needs a digital pad in slot 1 and an XE-1 AP in slot 2, on a single controller. Remember to make sure lr-genplusgx is set as your default Mega Drive emulator for either this or all games in the
runcommand. If your Pi model can handle it, I recommend for all games, as Genesis Plus GX is a much more accurate emulator than PicoDrive.
- Launch the game from EmulationStation
- Open the RetroArch menu (default: Select+Start)
Input User 2 Binds
User 2 Device Typeto
User 2 Device Indexto
#0or whatever your current controller is called (press left once, probably)
- Go back to the top level menu and open
Save Game Overrides
Now, whenever you launch Night Striker (all the time, right everybody?) it will be configured so that the player 1 controller in RetroPie is actually controlling both player 1 and 2 at the same time. If you haven't messed with the button layouts, this means the digital "player 1" controller is on the RetroPie d-pad, Y/B/A buttons and Start. the analog "player 2" controller is on the RetroPie left analog, L1/L2/R1/R2 buttons, Select and Start.The fact that both controllers are sharing a physical Start button doesn't seem to affect anything in-game.
Remember to toggle controls to Analog in the in-game Options menu, and you're good to go.