Player 2 controller configured in EmulationStation, detected in game, but not mappable in MAME
-
@leitmotiv It could be related, I think Advmame uses its own sort of automatic event detection, and while the sixaxis uses an additional event for the gyro, advmame gets assigned false event numbers.
/opt/configs/mame-advmame
configs\mame-advmame\advmame.rc
has a setting to manually assign the event #sudo apt-get install evtest
ls -l /dev/input
evtest /dev/input event*
or install the sixaxis driver,
or search for that hacky edit to eliminate the ds3 gyro event. -
@Efriim Well, I started trying to see what would happen in AdvMame first. I installed the Sixaxis Driver first. I went into the game Exvania, went into the MAME controls, and became aware of three issues:
- The default may not have been assigned to insert a coin or start a game, effectively locking me out of the game. So I assigned those. Suddenly the game is detecting my controller.
However,
-
The Right D-pad is blank. It won't let me map it. So when I go in the game, I can use all the basic controls, except moving right.
-
If I want to exit the game, the hot button doesn't work. Normally I have it set to the PS3 button + Triangle (X). So I can't exit a game unless I hit Tab and exit that way.
Will look at the P2 issues next...
Tried P2 controller in AdvMAME and it's not detected yet. Moving on to some of your earlier steps re: testing.
I did evtests.
Event 0 appeared to be my keyboard.
Event 1 no response from anything, not sure what it was trying to read.
Event 2 was definitely my PS3 controller and if I had to guess, some sort of motion detection when the controller was physically moved about (but seemingly not from button presses).
Event 3 seemed to be as PS3 as well, but actual buttons mixed in with a constant stream of syn reports. Right D-pad was working.
Event 4 was the Exlene. None of the codes matched to your list above. The D-pad had (Up, Down, Left, Right) were all assigned to code 0 or code 1. Everything else was code 292 through 297, or thereabouts. With the top right shoulder button called "BTN_PINKIE" code 293, as an example.After fixing a British keyboard problem and converting it to Enligsh US, I got the event codes:
288 (BTN_Trigger)
289 (BTN_Thumb)
290 (BTN_Thumb2)
291 (BTN_Top)
292 (BTN_Top2)
293 (BTN_PINKIE)
294 (BTN_Base)
295 (BTN_Base2)
296 (BTN_Base3)
297 (BTN_Base4)So not all D-pad is there... nor does the PS3 (P1) controller have all input maps for the D-pade in the AdvMame.rc. I noted before that Right D-pad was not detected, but in the .rc it has Down, Left, Right, but no Up. EDIT: I was in wrong .rc file. I'm actually in AdvMame .94.rc which runs the game. It shows Right is blank. Strangely, the numbers associated with the buttons are offset by 1 number between the .rc file and the number as it appears in the AdvMAME controls mapping screen. I editing in the right D-pad for P1, not sure what number, so I tried a number on either end of the others listed, think I got the right number, restarted, but now it won't detect the controller at all! But in Tab it shows the buttons have been reassigned (or set back to default?) to a generic "j:button 13" (as an example) assignment instead of the "j2:button 13" it should be.
Haven't added the P2 controller yet.... kind got lost at the point. But I do note Event4 is already set to auto along with Event 2 and 3. Also, side note: I earlier tweaked device_joystick to sdl from raw, and raw from auto, to see if that would fix it, but no dice.
-
@leitmotiv
Sorry for the shoddy directions, I tried it and it was just as you say. I switched back to the old driver and it was the same. I wasn't able to map directional buttons at all.
But changing advmame.rc:
device_joystick raw
I was able to map the to map the directions and everything else on the controller using the 'Tab' Gui. The tricky part is getting rid of all the game specific mappings; I edited advmame.rc manually for that, CTRL+K cuts a line out; those will override if they are not removed.
I think then with raw maps on the ps3 controller you should also be able to map the exlene without any problems. -
@Efriim Oh no worries about the directions. I was also up late and tired, so had to stop somewhere.
Here's where I'm at right now:
-
I've edited the AdvMame .94 .rc file for device_joystick to raw, but when I restart it keeps setting it back to sdl, even though I've saved. Strangely, the input for the PS3 controller for the right d-pad button is sticking in the .rc file, but in the AdvMAME config menu it still shows defaulted to "J:button13" when it should be "J2:button13" like the other remaps.
-
Home button on PS3 controller is not working in AdvMAME.
-
The Exlene controller now maps in AdvMAME in the config for P2 controls, but it assigns it to just "J:button 13" (as an example), which is the default for P1. P1 controller (PS3) maps as "J2:button 14" (as an example), but is defaulted as "J:button 14". I am guessing the home button probably doesn't work either but I haven't checked.
-
The above issues are with AdvMAME. The original problem of P2 controls not mapping for the Exlene in Mortal Kombat is still present. It is running on MAME2010 and for MKII on MAME2003. I used to be able to at least use P2 controller and insert a quarter, but now it doesn't even do that. I don't know what I did that could have possibly changed anything.
4.b I now discovered I can't use the Tab button in MAME2010 games to open up config. So I'm locked out for some reason.
Any ideas?
-
-
-
advmame.rc. If you were editing side by side when advmame closes it overwrites the cfg. You could compare my working config, buttons mapped as raw look like: (DS3; sixaxis driver)
input_map[start1] keyboard[0,1] or joystick_button[sony_playstationr3_controller,button10]
input_map[coin1] keyboard[0,5] or joystick_button[sony_playstationr3_controller,button9]
https://drive.google.com/open?id=1dIGyAfHdohlTb4VzbVXfIjO9deSmMBYn -
PS3 Home. I don't think this would be specific to AdvMame .94, and right now I don't know if I was able to map home as SDL, got to get raw input somehow.
-
Exlene Controller. Probably either above or below. Also be aware that the general inputs I think will save as game-specific anyway.
-
Mame2010 I think is a libretro core, those are easier to map and automatically set-up. You could need to Configure Input in emulationstation menu. Or there is something up with the config or override located at \configs\all\retroarch.cfg and \configs\all\retroarch\config~mame2010.
Backing up the config, and deleting it (renaming) will enumerate a new config next time you start retroarch, you could see if the controls work then.
4b. To reset options within retroarch, settings/input, pressing the 'start' button on a highlighted option will reset it to default. There are also some options to reset controls to default, however this isn't always what you want, sometimes the player1 device index needs to be changed. You will be able to have both keys and joystick for player 1 though, usually by default, the configuration just needs to be worked out.
Is the exelene controller wired only?
Also if editing the config in windows, be sure to use a notepad+ or better. -
-
-
yeah that might have been what was going on... so far the changes are now sticking to "raw"
-
I was able to go into UI cancel and set it to select+start....
yeah the Exlene controller is wired. And I use notepad++.
So I copy/pasta'd your PS3 controller setup, or at least some of it. Just the P1 controls and the UI cancel. Tried to boot the game, and now the game won't boot. Realized I had two UI cancels (yours and my previous), so I deleted my previous one. Still no boot.
-
-
@Efriim Now I tried just copying your whole .rc file and replaced mine. Still no boot....
-
@leitmotiv wait which PS3 driver are you using now?
-
@Efriim sixaxis
-
@leitmotiv
I'm using the sixaxis too.
if the controls are wrong, then it will refuse to start. I tried downloading and copying it and it worked. Are we editing and using the same advmame, I think I updated mine recently just recently for this Advmame 3.9, config file at \configs\mame-advmame\advmame.rcIt could and probably is anything wrong with the input
I notice mine is
sony_playstationr3 where there is an 'r' and I don't know why. There are numerous PS3 controller revisions however.Could try without the keyboard mapping.
If you sync the controller into emulation. While the emulator is already started, it won't take the input. The controller has to be synced when emulation starts, now I don't know if this applies if it is set to SDL map, which makes me want to use the retroarch emulators more.
-
well I'm using .94 for Exvania... so that could be the discrepancy
-
@leitmotiv
Nevermind about the R, it is there because of the Sony Registered trademark. -
@Efriim It seems that Crackdown, a game using just AdvMAME (as opposed to AdvMame .94), is running fairly smoothly. I have no problems getting the right d-pad working. Though in the past with AdvMAME it was an issue with the Up D-pad.
.94 just seems problematic.
-
@leitmotiv
Yeah I know I hadthe same issue with just the dpad-up, it was either the playstation3 controller driver or the SDL mapping. I mapped cancel to both home and R3 buttons. I didn't map button 4 or the other for some reason. -
The exlene controller might use axis for the dpad, but it should still be able to be mapped. Or were you able to map everything in Advmame 3.9?
-
@Efriim I was able to map everything, except a couple problem games that probably have nothing to do with AdvMAME. Metal Hawk's controls were messed up. There was one other, but not much of a loss.
It's so hot here right now, I can't tackle any more problems at the moment! I will have to tackle the 2003 not recognizing the tab button later. Thanks for your help! Much appreciated!
Oh and yeah, I think the Exlene does use -y +y, -x +x.
-
@leitmotiv
Its super hot here too, especially in my room. Temperate rainforest. -
@Efriim Okay trying to tackle the Mame2003/2010 tab key thing.
I've been trying to regain access to the Mame2003 tab key by renaming the default.cfg. I used to be able to do this in /home/pi/retropie/roms/mame-libretro/mame2003/cfg but since I've consolidated everything to the Arcade folder like it should have originally been done a long time ago, going into /roms/arcade/mame2003/cfg and renaming the default.cfg there doesn't work like it used to.
-
Am I accessing the correct default.cfg to rename to regain tab key access to Mame2003? Or is this another issue?
-
How am I able to get Mame2010 to detect input on P2 controller? And will this be an issue with Mame2003 too?
The files at /opt/retropie/configs/arcade/Mame2003/ show only .rmp files. No .cfgs.
-
-
@leitmotiv
The configuration is shared for retroarch, the default config can readily be accessed by launching Retroarch(default) from the RP tab in Emulationstation or accessing the file at /opt/retropie/configs/all/retroarch.cfg.
The overrides for mame-libretro could be saved a few places, maybe it depends on if the arcade folder is being used the folders for override config that I know of would be:
configs\all\retroarch\~mame2010
configs\arcade
configs\mame-libretro\It is possible that the menu is not accessible in the lr-mame2003 but available in the lr-mame2010, I'll try to find this too. I guess it does save some internal settings
roms\arcade\mame2003\cfg\ -
@Efriim Your first path there, mine doesn't have /opt/configs/all... it has opt/retropie/configs/all/retroarch.cfg. Is that the one you are talking about? The retroarch.cfg file there doesn't have a default.cfg within for me to alter. What would I alter to gain access to the tab key? Before I would backup my default.cfg in the mame2003 folder, rename it to default.old, immediately gain access to the tab key, remap some games, and then restore the default.old to default.cfg.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.