And how does it work?
-G
Well, it's actually controls.ini or controls.xml
Short answer is it's a file that lists MAME gamenames and what each button does, for example:
[armorcar]
gamename=Armored Car (set 1)
numPlayers=2
alternating=1
mirrored=1
tilt=0
usesService=0
miscDetails=I think a bit of how to play info might be necessary. The sawhorse button releases a police barrier to crash cars. The 2nd gear button makes you go faster, but only while it is held.
P1NumButtons=2
P1Controls=4-way Joystick+joy4way
P1_BUTTON1=Sawhorse
P1_BUTTON2=2nd Gear
P1_JOYSTICK_DOWN=Down
P1_JOYSTICK_UP=Up
P1_JOYSTICK_LEFT=Left
P1_JOYSTICK_RIGHT=Right
By itself, it's only useful for reference purposes, but there is a viewer (johnny5) available that will load an image of your CP, check with MAME for your cntrl.ini assignment, check controls.ini for button functions and then label which button does what for you.
More details here:
http://fe.donkeyfly.com/yabbse/index.php?board=10Also see the thread "proof of concept of Howard's idea" for WIP on incorporating this into MAME.