Cannot redefine some ParaLLEl/Mupen64Plus controls

I’m pretty new to Retroarch and Mupen64Plus. I can’t redefine the controls in StarFox 64 the way I’d like. I was entirely unable to in ParaLLEl; but I got something usable in Mupen64Plus - temporarily.

I have an X-Box 360 controller. When looking for an emu that didn’t get stuck when saving a game in Crash Bandicoot (ahem, ePSXe), I came across Retroarch, and was very impressed. For Firefox 64, however, I found the onscreen tutorial anywhere from difficult to impossible to follow, depending on the key combination. It ran beautifully, but I could never e.g. get the ship to do a loop-the-loop. One is supposed to press yellow arrow down, and move the analog controller down to do it. This is extremely helpful in order to beat the NPC’s that show up as black ships on radar. I had the idea to redefine the 360’s A, B, X & Y buttons as the yellow arrow keys, to help with the tutorials. Everything seemed to go wrong.

In ParaLLEl, I don’t think I was ever able to get as far as having the left trigger for the bomb, and the right trigger for the beam weapons; with the “bumpers” for the shoulders in order to bank. Some buttons simply would not recognize being redefined. I tried Mupen64Plus, and was able to get the triggers and the bumpers defined right, but again, some of the yellow arrow keys simply would not respond to being redefined. I was able to get the functionality of the yellow arrow keys in Mupen64Plus by defining the User 1 C Buttons X & Y to be the right joystick, but even though I told it to save the configuration for this game, it lost it all when I left Retroarch and re-entered it.

FWIW, I post this here, and not the RetroArch forums because it seems to play SNES and PSX flawlessly with my controller. In ParaLLEl and Mupen64Plus, as well as those games, it recognizes my controller and displays it as an X-Box 360 controller when I start the game. I tell it to automatically configure the controller, and I can just leave it for those games.

However, the “User 1 A Button (right)” and “B Button (top)” absurdity in the global definitions was also very confusing. It is the B button that is right, and the Y button that is top on an XBox controller! That could really be used to be fixed, but it is not a stopper. It just meant many more trials to try to redefine the buttons the right way for the controller globally, which turned out to be wasted time.

However, this textual issue was not actually the real problem at all. I then downloaded Mupen64Plus with its nice Python frontend, M64Py. It has a configuration screen for the controller there, and while it seemed to take my redefinitions fine, when I actually ran the game, the left trigger would bank left, and the right bumper would would bank right (or poss. vice versa). This is disorienting, and I never could even get it to do a loop-the-loop - so the down arrow yellow button again couldn’t be mapped to anything. I’m pretty sure that the problem in ParaLLEl is a survival from Mupen64Plus standalone; whereas the Mupen64Plus core seems as if someone had got a start on fixing it. Hence, this is very probably a core issue, not a RetroArch issue.

I hope someone can get around to fixing it. I really do dig RetroArch. It in and of itself, is very slick, for the tons of Linux libraries it must drag in. I’d pay that price for a system as slick as RetroArch. ParaLLEl seems to run very well, for as well as I was able to control it without all the buttons working. I almost got to the end, except I kept getting waxed at the next-to-end mission, where I needed to destroy the core. It is very frustrating when the black-on-radar NPC’s keep getting away with a loop-the-loop maneuver, but you can’t; and you really take a lot of damage.

Yeah, N64 remapping is weird, mostly related to the fact that you can’t move buttons that are default-mapped to analog sticks to digital buttons and vice versa. ParaLLEl-N64 has a core option that’s intended to alleviate this issue (I think it’s called “alternate mapping” or something like that) by putting all of the N64 buttons onto digital retropad buttons, so you can move them around wherever you want.

It was defined as a Retropad analog in the input section of the Quickmenu; and I still wasn’t able to move them around as I wished (although it identified as an X-Box 360 when the game started). If there was some other alternate mapping, I didn’t see how to do it, as I tried dinput and sdl2 drivers. Perhaps it is a new option not implemented in RetroArch 1.50 GUI (since I dropped down from 1.6x as it didn’t seem to have some of the cores I was interested in available online). Since ParaLLEl-N64 is a fork of the Mupen64Plus core, maybe it could just get fixed and diverge; or perhaps the alternate can become the default, as it becomes more stable. I do get that it only recently was pre-Alpha. You libretro guys seem to be doing a great job.

BTW, the analog joystick is still important to fly the ship by. It would be a shame to have an either/or situation, and lose an analog flight stick.

The option is called “independent c-button controls” and it’s in the core options menu, which you can reach by loading up the parallel-n64 core and a game, then go back into the quick menu and look for ‘options’ (it should be right next to the ‘controls’ remapping menu). When enabled (it requires a core restart to take effect), all of the buttons become digital. The analog stick remains on the retropad’s left analog.

You can use (almost) any core with any version of RetroArch. They’re not tied together.

I’ve got it. I’ve been able to remap the controls how I like them (more or less how one would expect). Thanks a lot! I also had to find the save remap option in the Control menu.

It seems there are still a few things to do, IMHO; although they are not necessarily core issues:

  1. I don’t see why “independent c-button controls” shouldn’t be on (“true”) by default. It makes things behave as you’d expect.
  2. The descriptions of the ideal Retropad based on an X-Box controller are wrong: “User 1 A Button (right)” and “X Button (top)” are confusing, when it should be e.g. “User 1 B Button (right)” and “Y Button (top)”
  3. On ParaLLEl, it seems that the Z button and the Left Shoulder are reversed. It may be a peculiarity of the Starfox 64 cartridge, but I had to define the Z Button as the Left Bumper to get the ship to bank left, not defining the Left Shoulder as the Left Bumper as you’d expect.

These, I suppose, are medium-low priority issues, as they are not stoppers now.

As to with any RetroArch working with any core, I wonder why it is that, e.g. the PSX Beetle HW doesn’t show up when I go to Online Updater | Core Updater in RetroArch 1.6.2. Interestingly, although it only shows MAME 2003 in the choices, it scans the files and creates a MAME section of the main menu, and works correctly, unlike RetroArch 1.5 (all this under Win7 SP1) which doesn’t let me scan the ROM, but only gives me a choice of loading it or browsing it, and it always crashes in 1.5, whereas in 1.6.2, it runs correctly, but not fullscreen, and hitting the “analog button” on my XBox controller gives me a RetroArch menu, but transparent, and superimposed over the small game window.

for #1, Twinaphex insists on the current default behavior, which maps modern pads like a Classic Controller playing N64 games on the Wii VC, with some games moving the buttons around to be easier to play (e.g., Killer Instinct 2). I’m not a fan of the latter behavior, but the former makes sense for a default because it represents a “typical” user, who isn’t using an N64 pad.

for #2, those are “retropad” mappings, not X-Box controller mappings. The face buttons are based on SNES button names. It’s an arbitrary thing, but RetroArch used to only support SNES cores and that’s a leftover of that era.

for #3, yeah, that’s Star Fox 64. The controller was meant to be held with the middle prong in your left hand, making the Z button rest under your left index finger, where the L button would have been on Star Fox on SNES.

Dunno why you’re not seeing all of the cores in the updater. That can happen sometimes if there’s a communication issue between your client and our servers, but it’s usually temporary. You can always just download the cores you want through your browser by going to buildbot.libretro.com.

I don’t think I’m following your MAME issue. Can you take a screenshot, maybe?

As to #1, I just don’t see the upside of FAILING to respect the users’ wishes, in not remapping keys and buttons when they are specified so. I don’t know what side effects this might have for those using other controllers.

For #2, Ah, so that’s where it originated. Perhaps there needs to be a new feature where X-Box 360 controllers are called by X-Box 360 button names globally, and in the game remap.

For #3 I’ll accept your report that the right shoulder and Z button were defined for banking.

Even when I copy the PSX Beetle FX core from 1.5 to the 1.67 cores dir, have the BIOS in system, and go to start an image that works in 1.5, I get “Failed to open libretro core”. Don’t know what that is. I don’t see where to down them from yer link.

In Retroarch 1.5, I’ve never got anything but a crash from MAME; and that trying the some of the earliest and latest cores. I’ve been using the “Arcade” fork of MameUIFX, and have been quite happy with it. In RA 1.6.7, the only core that shows up, MAME 2003, does run. I did find the fullscreen setting to make it run fullscreen. When I “Analog button” out, I can still see the game behind the Retroarch menu, which is thus somewhat transparent. There’s probably a setting for that.

I’m pretty new to Retroarch, and am quite happy with 1.5 for the time being. I imagine many of these things will get ironed out in due course. This is just my $0.02, and while I have done software writing and testing in the past, I know nothing about libretro from that point of view, and you guys are doing great, IMHO. Thus, this is given FWIW, and now that you’ve provided invaluable help setting it up, I think I’ll just enjoy 1.5 for a while for the time being. Thanks for you help.

P.S.: Some time ago, when I start a game, it started calling it an X-Input controller. Perhaps this thread will help others with X-Box controllers having difficulty setting them up.