Arcade control remapping locked


#1

So, pouring over the forums I haven’t found a similar topic, which is worrying for a couple reasons, but, here goes.

I have a mostly successful RA setup, short of getting it to detect Lynx games (separate issue, still doing troubleshooting on my side), and some thumbnail scraping.

AND one big prevailing issue I don’t seem to be finding documentation on.

I have the following (plaintext) cores in operation without issue: SNES, NES, GBA, Jaguar, NeoGeoP, Atari ST, PSP, Genesis, MS, and a few others.

Operation is fine there, can play everything, can alter options while playing. Good stuff.

Then there’s the MAME cores (Current, 2016, etc.)

On the surface, I have these running fine. Emulation works for good dumps and even pretty well on dumps that have reported issues or bad headers. Again, cool stuff. Autoconfig of the controls is mostly competent about picking out what buttons on my controller (Logitech f310), so until I get to a fairly unconventional cabinet game, such as SmashTV, everything seems on the level, for the most part.

As expected before emulation, firing controls (which in the arcade is handled via what is effectively the Right Analog control/joystick) are automapped to the YXBA, as it was on the home console release, which would be managable if the autoconfig profile didn’t reverse-map these.

Simple solution: manually reconfig, right? Nope.

I don’t know about the rest of you, but my button configuration screen has nothing but greyed out lines, unlike with the rest of the cores. I cannot alter any of them, but if I so much as linger on one too long it not only is non-configurable but also kills that button and it can’t be used until I restart Retro Arch, a thing that is particular only to that core and doesn’t carry over to other emulated systems within the same instance (which is to say, I can run in to this issue, switch over to, say, the SNES core, and everything will be fine. Switch over to the MAME core, and it is still dead until restart)

Now, I know I can manually configure the mapping via the text file, but that isn’t really the issue. I’m confused why I can’t configure the controls from within the core’s options list, especially when there are a host of games that really want a per-game configuration for the most comfortable play.

Side note: This isn’t just true for the SmashTV ROM, it’s core-wide, and action buttons are reversed everywhere, for all MAME ROMS. TOKI, for example, has the jump button mapped to the xinput A button, and spit/fire set to the xinput B. A bit awkward.

Thoughts?

And since I know someone is going to ask even though it seems pretty apparent that it isn’t a hardware issue:

ASUS NITRO5 Laptop Intel i5 Kaby Lake 7300HQ @2.5ghz 8g DDR4 RAM Nvidia 1050ti Win10 build 1809 Current stable Retro Arch build Logitech F310 wired Dual Analog controller in XInput mode


#2

This should not be true with MAME 2003-Plus. If it is, I’ll help work with you to solve the issue.


#3

Following have the same issue. Works in other emulators just not MAME for me as well.


#4

Control remapping isn’t fully implemented in the current MAME core so it’s not a surprise this is an issue. As I mentioned, only MAME 2003-Plus (and FB Alpha) have embraced the libretro input system. If you want to remap via the frontend then I recommend trying one of those.


#5

I still haven’t had a chance to try yet, but I suspect from what you’re saying that that is the core issue. Now that it’s the weekend I can futz with it a bit


#6

we need better (more authentic) button layout in many games. some games are well playable as most fighting games. other games are not so well playable with the default button-settings (for example some horizontal Shoot em ups like Deathsmile with 2 firebuttons for different directions are playing very unintuitive with any kind of controller)


#7

Unfortunately, I think that’s something that is either partially out of the hands of the Libretro/RA team, as Mark was pointing out that some level of collaboration is required on the side of the team that develops the individual cores, and I think the MAME2003+ Core is a branch from the main dev (guessing from context dialog), or just a section of development that hasn’t been gotten to yet in the roadmap.

Personally, after switching to that core, while controls were alterable to a degree, I only got the options of [UP][Down][Left][Right][1player Start] and [Insert Coin], which is just about exactly useless as far as remapping goes in UI.

It’s good that we can have per-game profiles, but it’s tedious going through and doing that for each unique game that wants its own controls.

I’d be happy to participate in creating those profiles for a default pack for future versions of RA, but we either need a good utility for profile creation that’s a bit better than what is currently implemented, such as many other emulators have where you start at the top of the list and just press corresponding buttons until you’ve filled out the whole layout, or… well, I don’t know, but, there is room for improvement in the mapping department.

But we, seemingly, need to get the core developers on board.


#8

The overall situation is as you say: there are a few active developers working on the arcade cores right now but we’re pretty much all working on MAME 2003-Plus or FB Alpha.

I have done as much as possible to automate the process of adding the control names but they do need to be double-checked because about 1 in 5 games so far have needed some kind of correction to the names.

The instructions for how to help add control names is documented here: https://github.com/libretro/mame2003-plus-libretro/wiki/Submitting-Button-Names

You can see the list of control names that we’re working with here: https://github.com/libretro/mame2003-plus-libretro/blob/master/src/controls.c


#9

the stand-alone Mame has a great default controller layout, if you use an Keyboard!

The Button-Layout on most games are simply matching the original ones in terms of positioning just out of the box.

All i did was (in mame default settings) exchanging the upper row of buttons (456) with the bottom row (123) and the other way and changed it back only for the 6 Button Fighting games, a few others games needed an little correction too. This was important to me because otherwise Mame will use the upper row of buttons by default (starting with Button 4,5,6 and not 1,2,3 as it should).

For an older arcade setup i hooked up the individual keyboard keys to a controller (using xpadder) and (Bam!!!) the large number of games are perfectly mapped !!!

here is the configuration that i used back in days, maybe it can give an idea …

MAME Config : https://pastebin.com/4KsncFUe

Xpadder - Layout:


#10

I do appreciate the suggestion (shakalakka), but I’ve never liked playing console or arcade games via keyboard, but it is a useful utility. Thank you though!

After playing with the 2003+ a bit more I’ve come to the conclusion that there just doesn’t seem to be a way to configure arcade ROMs or the Core within the application satisfactorily, which is unfortunate as I haven’t found any good utilities for doing outside the application (specifically speaking in terms of configuring a DInput or XInput schema in a way that RA will work with), so I guess I’m going to have to do that all by hand.

I lay that at no one’s feet, as, again, I understand, it is not an easy option to make available, but, it is no less unfortunate.


#11

Could you give an example or two of the kinds of configuration you are trying to accomplish with 2003+ but isn’t working as well as with those third-party control apps?


#13

Give me a bit to make some screenshots of examples, and, I apologize but I completely and accidentally skipped over your post in lieu of shakalakka’s. As you say, some games/specific dumps within a set don’t quite gel with the default or hand keyed mappings, while most work just fine, for some reason, all the defaults for the current MAME core map in a reversed intuitive mapping for an XInput layout (e.g. jump being where attack should be, attack for jump) as stated above and already talked about, yadayada can’t config in UI; coolstorybro.png

MAME2003PLUS does allow me some configuration in UI, but doesn’t let me map the actual action buttons.

Funny enough, the game/ROM that got me to starting this thread, specifically the .205 smashtv6 split(non-merged) dump both works in this core and is configured correctly, while most others don’t even function to test with (as they have been updated since their version in the… .142 set I believe?) with that core.

Using a 3rd party utility (I think only XPadder in particular has been mentioned thus far) I can create a dll that will change the button layout, but I’m unsure how I would direct that to only affect a particular core, unless it has a syntax correct text export I can just drop into one of the profiles created for a specific core or game profile. Otherwise it would just affect how RA reads all input from that particular controller, right?

Perhaps I’m misunderstanding some info being conveyed.

I also, apologetically, want to note that I keep forgetting that FB Alpha is is even an option to try, and I know the ROM dumps don’t completely cross over to that one, but before I post further on this thread I will play around with it and see if it solves enough to get by.

I’m trying to troubleshoot about fifteen small details to getting a ‘perfect’ setup going, and continue to forget to try certain suggestions before getting frustrated and working on the next problem.


#14

Could you be more specific? In order to understand what isn’t working, I need romset name and some information about what control is not remapping.

All digital joystick controls and buttons should be remappable which is why I need to know the specifics to try to recreate this issue.


#15

Hokay, so. This will probably be frustrating on your side, seeing as it is on mine.

Most ROMs I can get to run, so far as I have checked, DO in fact now let me alter action controls now using the 2003-Plus core. I don’t know what changed, though I have gone through and re-updated cores/presets/databases(I know this one isn’t as key as I think it’s just used for identifying the particular roms/names) over the past couple of days. I had done an initial download of every major component when I set it up initially, but ROMs that were previously not letting me alter action controls via ingame UI now are, with the exception of the one I have been trying to get running correctly on the 2016/current(GIT) cores, smashtv6 (again, .205 set, only version from that set that seems to work with 2003-plus, but happily is already configured correctly).

Included is a screenshot, as evidence, and hopefully at least one mote of benefit in helping me through being a nub to RA, identifying a working dump that needs a more configurable profile.

When I go to try and configure controls in this one, as you see, I only have the options either displaying a configuration or that can be mapped. It’s a bit harder to show that I can’t configure the other actions, but at least in this core I can set every other button to insert coins should I wish.

I will play with the other cores and generate some lists when I have more time, I don’t have the full romset available to me at the moment, and need to filter genres out of it anyway, so, I will keep a list of controls I find that don’t work or can’t be mapped as I go, and report them as I see holes in the ongoing list (in the appropriate thread, of course).

Again, I apologize that I have been frustrating during your assistance.

to other controls [[UP][Down][Left][Right][START] and [Coin]]


#16

You really must have romsets that are an exact version match to the emulator. Using MAME 0.205 romsets with MAME 2003-Plus may work randomly here or there, but erratic emulator behavior and broken controls are going to be par for the course.

If you’re using the MAME 2016 core, for example, you really must have romsets formatted for MAME 0.174. MAME 0.174 is closer to MAME 0.205 so more of the romsets will seem to randomly work for you but those versions are more than two years apart so there will again be erratic consequences to using mismatched romsets.


#17

Oh, I am not unfamiliar with that, I wasn’t even expecting ROMs to actually work with older releases of a MAME core. Using the .204 standalone iteration with the .205 set would return unreliable results. I apologize if I conveyed that I thought otherwise. I know, specifically with MAME sets that functionality is hit or miss even when you line things up because it’s just hard to get truly accurate dumps of arcade roms in a lot of cases and even with current CHDs and a current supplementary device rom set for dumps that used unique hardware the MAME dev community is having to hand-tool things to get basic functionality, especially with modern arcade images.

It was just confusing that controls within the application weren’t configurable as I wasn’t understanding where the dependencies lied, and that in MAME proper one control schema can be applied as a default across the whole set to some degree. I wasn’t sure if RA/Libretro was brute-forcing controls and control schemes to particular inputs regardless of what the rom was looking for for input, or if, as is the case, everything was being handcrafted in the background on a per-rom/hardware basis. I’ve been tooling around off and on with MAME since around '99 (usually with no small level of frustration because it used to be way more obtuse, not that I need to tell you).

That noted, thank you for your patience and assistance, I’ve got things at a good point with multiple cores, and instead of getting multiple sets to tailor to each core, I’ll play with each dump and see which core works best and then use QT to bulk select and assign them in my genre lists later. A lot of the dumps I’ve been waiting for to be reliably functional have only been so since the past few dozen set releases (Like Heavy Unit! Woot, love that game).

Your suggestions here and otherwise absolutely make sense, but I suspect, armed with your information, that I’ll be able to curate the list of games I’m looking to, get them configured, and wait for future releases for the ones I can’t get going.

Again, thank you, and cheers!