AdvMAME 3.6 Input Issues with certain games
-
Hey all,
Wondering if others have experienced similar issues with AdvMAME and input as I have. I find that certain game inputs just cannot seem to be setup correctly or I am just overlooking something.
I have this setup on a bartop arcade with digital 8 way joysticks (on/off left, right, up, down only).
2 examples:
Lunar Lander - rom from the 0.106 set
No matter what I do, whenever I push the stick left, it turns but also thrusts. From what I can tell thrust is driven by p1_paddle_rightMajor Havoc - rom from the 0.106 set
No matter what I adjust in the advmame menu I cannot get the controls to allow moving to the right.=========
While I was typing this up I did some experimentation and I thought I would post the solution I found here for future assistance of others.Turns out that games that have analog inputs in the advmame menus such as paddle, or dial will only be able to update the non-analog bindings if you don't have an analog input setup. Meaning that you cannot define what the analog bindings are without an analog device. Even to clear them out.
But all of those analog inputs are defaulted to "auto" for all games. This appears to allow for digital input detection to be received as analog. But the in-game menus will not allow you to change them because its not detecting any analog input. Seems like possibly a form of a bug with advmame.
input_map[p1_paddlex] auto input_map[p1_paddley] auto input_map[p1_pedalbrake] auto input_map[p1_pedalgas] auto input_map[p1_pedalother] auto input_map[p1_stickz] auto input_map[p1_trackballx] auto input_map[p1_trackbally] auto
At any rate, the solution to combat this is to make sure that the analog input that the game you are configuring is not set to "auto" but left as none by having nothing to the right of it in
.../configs/mame-advmame/advmame.rc
Here is how I fixed the issues with both games indicated. Making sure that paddlex and paddley are completely unbound for Lunar Lander. And dialx and dialy for Major Havoc.
llander/input_map[start2] joystick_button[16c0_05e1,5] llander/input_map[p1_button1] joystick_button[16c0_05e1,4] llander/input_map[p1_paddle_right] joystick_button[16c0_05e1,3] llander/input_map[p1_paddle_left] llander/input_map[p1_paddlex] llander/input_map[p1_paddley] mhavoc/input_map[p2_button2] joystick_button[16c0_05e1,4] mhavoc/input_map[p2_button1] joystick_button[16c0_05e1,3] mhavoc/input_map[p1_dial_left] joystick_digital[16c0_05e1,0,0,0] mhavoc/input_map[p1_dial_right] joystick_digital[16c0_05e1,0,0,1] mhavoc/input_map[p1_dialx] mhavoc/input_map[p1_dialy]
-
@alturis said in AdvMAME 3.6 Input Issues with certain games:
you cannot define what the analog bindings are without an analog device. Even to clear them out.
Actually, you cannot define analog bindings even if you do have an analog device without editing the
.rc
file.I have been using AdvMAME on the Pi for a long while now and I have a trackball and two spinners in my cabinet. Any device assignments must be setup ahead of time by editing the config file. The only in-game adjustment you can make is sensitivity. You can also REMOVE digital bindings. I expect you probably ran into a conflict with MAME default keys bound to the analog inputs.
That said, AdvanceMAME still has the most flexibility when it comes to analog. You can easily assign any matrix of input axes any way you want and you can do it per-ROM if necessary. For example, in Golden Tee variants, I can have my trackball working as expected, but unbind my spinners so the player cannot use those to make perfectly straight shots. Or, I could leave one spinner active doubling the left and right trackball input for easier club selection.
@alturis said in AdvMAME 3.6 Input Issues with certain games:
But the in-game menus will not allow you to change them because its not detecting any analog input.
This is interesting and surprising. I would have expected you could remove the entries like you can any other digital input using the GUI.
-
@caver01 said in AdvMAME 3.6 Input Issues with certain games:
This is interesting and surprising. I would have expected you could remove the entries like you can any other digital input using the GUI.
Actually, this seems inconsistent between the various emulator GUIs.
For AdvMAME I have not figured out how to clear a binding at all. Some emulators allow you to hit escape to leave it unbound. Whatever the secret is with AdvMAME I am not sure how you go about it.But either way I will likely stick to editing my
advmame.rc
manually anyway using the GUI just to figure out what the naming of the various bindings are there. -
@alturis UI Cancel lets you set bindings to <none>. First, you select the input to bind, press UI Select. The system is waiting for your input. If you press UI Cancel, it sets to <none>. I just tried it using: UI Cancel = ESC and UI Select = ENTER. I expect some people set their UI Cancel to the combination of whatever they are using for Start and Select so that exiting the emulator behaves like you are using a retroarch hotkey combo. But this should work to set <none> too, as it won't kick you out of the emulator when in the GUI key mapping screens.
-
I will double check what my UI Cancel is bound to. I thought it was bound to both Esc key and a button on my cab labeled "Exit" but it's possible I left it bound to just the "Exit" button. Thanks.
-
-
@jonnykesh said in AdvMAME 3.6 Input Issues with certain games:
@alturis Listen to @caver01 when it comes to AdvanceMAME, the guy is a waking, talking, typing wiki.
Actually.... I was curious about AdvMAME and shaders. It looks like it can really only deal with the video rgb scaling options to produce scanline-like effects but they are nowhere near as convincing as the retroarch crt shaders with warping as well.
Are there similar abilities to run post shaders in AdvMAME?
Edit: And do so without also affecting the art layers. Eg. When you enable scanline effects with bezel/overlay artwork it also applies to the bezel/overlay losing its effect as not actually part of the game.
-
@alturis Short answer: No.
Long answer: Nooooooooooooooooooooooooooooooooooooooooooooooooo.
AdvMAME has its own built in scan-lines. They look awful. It's like watching a film through a Venetian blind.EDIT: AdvMAME is great at vector games, amazing in fact. It's also great at games which require a complicated / analogue set-up for controls. It also plays some games brilliantly. It just doesn't have the RetroArch flexibility.
-
What he said.
-
@alturis said in AdvMAME 3.6 Input Issues with certain games:
but they are nowhere near as convincing as the retroarch crt shaders.
I would probably still be running advmame for everything if it weren’t for those shaders in RetroArch. This and better analog support is the reason lr-mame2003 became my default, but it was mostly for the shaders. Now, Advmame is primarily for vector on my cab until someone adds hi-res rendering to the vector video in 2003.
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.