Hi,
I attempted to set up my X-Arcade to run in Mame last night.
Here is my Mame.ini file:
### MAME.ini ###
# ctrlr XArcade
Like Cdbrown said, ditch the # in front of the line - # tells MAME "This line is a comment, skip and process the next line"
Also, no button on the XArcade is mapped to escape. I'm dyin over here. This is my last step to be done. Help?
Looking at default.ini in the MAME\Ctrlr\Xarcade folder -
UI_CANCEL "KEYCODE_ESC | KEYCODE_2 KEYCODE_4"
And
START2 "KEYCODE_2"
COIN2 "KEYCODE_4"
So ESC is Keys 2 and 4 together, and 2 is Start 2 and 4 is Coin 2, So pressing START2 and COIN2 together will ESCAPE the game (once you take that # out so MAME reads your Xarcade default.ini file.)
Looking at the X-Arcade key assignments, Coin 1 and Coin 2 are mapped to the flipper keys, so Start 2 and the right flipper should exit.
One last question, is there a way for me to configure each individual joystick movement and button key myself in MAME? Not game by game, but one configuration for all games. Basically, I could just program it myself.
A simple question with a complicated answer -

The first thing you need to realize is that both your X-Arcade and MAME are highly programmable (MAME moreso than the X-Arcade).
But you only need to change one or the other in most cases - For example - You could re-program the X-Arcade to use the Arrow keys rather than the Numpad for player 1, then use your default.ini file to map the P1 controls to the Arrow keys. But this doesn't change anything (other than your keyboard arrow keys will move the player along with the X-Arcade joystick, but you could do this in MAME as well . . .
Generally, I would stick with the X-Arcade's default programming and make MAME match this if you are only using the X-Arcade with MAME. If you are using the X-Arcade with programs that DON'T allow you to assign keys, I would program the X-Arcade to match that, and then re-program the MAME assignments to follow the re-programmed X-Arcade.
Now is the time to ask questions if you didn't follow that - because it's going to get worse . . . (or better).
For now, let's assume you are using the default X-Arcade setup, which is located at
http://www.x-arcade.com/htm/programming.shtmlFor help with the ctrlr.ini files, see
http://www.mameworld.net/easyemu/mamecontrolini.htmThe most important things on there is two inputs separated by a space means this key AND the other one, inputs separated by | (above the backslash key) means this key OR the other key or combination, and ! between means this key NOT the other one (! isn't used often).
Now let's get to some specific examples -
First, copy your \ctrlr\xarcade\default.ini file to a default.bak file (This is just so you can go back to the default config if you ever decide to punt).
Now - let's say you want Escape to be Start 1 and Start 2 (like the I-PAC) instead of Start 2 and Coin 2 (bad idea in reality, but it makes a good example)
Open your default.ini file in notepad and find the line -
UI_CANCEL "KEYCODE_ESC | KEYCODE_2 KEYCODE_4"
Change it to read
UI_CANCEL "KEYCODE_ESC | KEYCODE_1 KEYCODE_2"
And save the file. Done!
Now remember that I said you could have the keyboard arrows control the player along with the Numpad without programming the X-Arcade, here's how:
Open default.ini and find
P1_JOYSTICK_UP "KEYCODE_8_PAD"
P1_JOYSTICK_DOWN "KEYCODE_2_PAD"
P1_JOYSTICK_LEFT "KEYCODE_4_PAD"
P1_JOYSTICK_RIGHT "KEYCODE_6_PAD"
Change it to read
P1_JOYSTICK_UP "KEYCODE_8_PAD | KEYCODE_UP"
P1_JOYSTICK_DOWN "KEYCODE_2_PAD | KEYCODE_DOWN"
P1_JOYSTICK_LEFT "KEYCODE_4_PAD | KEYCODE_LEFT"
P1_JOYSTICK_RIGHT "KEYCODE_6_PAD | KEYCODE_RIGHT"
And save. Now either the X-Arcade or the keyboard controls the movement.
And so forth for anything else you want to change -
Three things to watch out for -
First you need to use the codes on the link above - I.e. MAME recognizes KEYCODE_PGDN, but probably won't know what to do with KEYCODE_PAGEDN or KEYCODE_PGDOWN.
Second, see that neogeo.ini file - that overwrites the default.ini settings for the neogeo games. There are several master types, but I don't remember all of them (mouse is one, I think pedal is one), Anyway, MAME reads in the following order -
default.ini
gametype.ini (neogeo.ini, mouse.ini)
parent.ini (1942.ini)
clone.ini (1942a.ini)
So, if you have a 1942a.ini file, then changes to the default.ini file won't affect keys re-assigned by 1942a.ini. Subfiles only have to have the keys that you want to change listed - for example if you want to change P1B1 for 1942a, you only need to list that line in your 1942a.ini file, you don't need to tell it to use the same coin button as default.ini.
Finally, any key assignments you make through the TAB key menu get saved in your MAME\cfg\gamename.cfg file (along with dip switch settings) and override your ctrlr.ini file settings, so you might need to
delete the MAME\cfg\gamename.cfg and default.cfg files to get you ctrlr.ini files working and then re-enter your dip switch changes.
More than you wanted to know. . .