MAME for Newbies

Here are some thoughts on setting up MAME for the first time, especially with an X-Arcade controller. Getting started with X-Arcade – yes the information is there in the manual, but it’s not explained very well. Here’s my take.

Go to [your favorite rom site] and download the latest MAME32 version for Windows – currently v0.90. MAME is really a DOS program, but MAME32 lets you play it easily in Windows.

Unzip the file to a directory on your PC, such as C:\MAME\.

Go to [or your favorite rom site] to find some roms that you like. Save only the MAME files – not the others – I really don’t know what those are for. Save the roms in the same directory where you unzipped MAME32, in the subdirectory named /roms. DON’T UNZIP THEM. Keep them in ZIP format.

Launch MAME32.

On the right hand side, click Available. You will see the games in your /roms directory – and a few others.

Double click on a game. If it displays sideways, exit the game, and click Options > Default Game Options > Advanced and check “Switch resolutions to fit” AND “Switch color depths to fit” -or- uncheck “Stretch using hardware”. This will prevent the games from displaying sideways. If you uncheck “Stretch using hardware” it will display correctly but won’t use your entire monitor real estate – but it WILL display the 16 bit looking pixellated games, which looks more authentic.

If you’re using a computer keyboard, you will be disappointed. If you don’t want to build an interface yourself, X-Arcade makes good controllers.

X-Arcade, or any controller, will need to be set up in MAME. This is critical for getting the best performance out of your controller. When you launch a game, press the TAB key to open the configuration. Note that there are two different configs here (input general) and (input this game). (input general) is for ALL games and (input this game) is for just the game you’re playing. You want to change the one you’re playing – (input this game).

Okay. Let’s step back a minute here. Before you go any further, do you remember how the original game buttons were configured? Did the original Asteroids arcade controls use a joystick and two or three buttons? You need to find out. Google it, find the button layout, and then do your best to map out that layout on your controller – mentally at first – then you will configure your buttons for THIS GAME ONLY – (input this game).

Now, back to the TAB key and the config menu – this will take some trial and error, so take your time. And don’t worry – you can easily reset the config file back to default. How? Well, when you change a configuration for a specific game, a new file is created in a subdirectory called /cfg in the main MAME directory. If you’ve never done this, the /cfg directory will be empty. If you make any modifications, a new file is created with the name of the game, for example /cfg/asteroids.cfg. This is a simple text file with XML in it that specifies your custom configuration. If you want to go back to the default config, just delete this file for the specific game, and it will revert to the MAME controller config. Easy, eh? Keep in mind that MAME itself has a cfg file too in the /ctrlr subdirectory, so if you change the default config for ALL games, it is stored in the Xarcade.cfg file (or whatever your device is). So before you go monkeying with your default config (input general), you might want to make a copy of that file for backup. That way, if you mess up, just restore the Xarcade.cfg (or whatever) file to get it back to default.

When you configure your game, how do you remember what buttons were mapped to what function? Paper. Yes, the old two dimensional medium – or a gif or whatever. You will want to write down which button is fire and which is hyperspace, for example.

So you’re in the config menu, and suddenly you have four buttons assigned to one functiion! Here’s what you do. Move away from that function (using your up/down keys), then go back and assign it a single button. If you keep pressing Enter and pushing another button, it will assign all the buttons you press – rather than replace them – if you don’t move away from that function first.

Why does playing Pac-Man with X-Arcade suck? Because Pac-Man requires a 4-way joystick. A 4-way joystick has only four directions that you can point to – up/down/right/left. An 8-way has those four and also all the diagonals between them – hence, 8-way. Both 4-way and 8-way joysticks have only 4 switches in them, but the 8-way allows you to press two at the same time – so you can go up/left or up/right, etc. X-Arcade ships with their joystick set to 8-way, so if you’re old school Pac-Man, Donkey Kong, Joust, Phoenix, like me, you’re not going to like it. It will work, but not well. Fortunately, you can switch the joystick from 8-way to 4-way by opening up the box and turning a plastic “actuator” (black cylinder) upside down – look on the X-Arcade website for instructions. It’s easy. But don’t do it with the controller box on your lap, like they say; put it on a table, resting on the joysticks – they’re sturdy and can take it. If you do it on your lap, the joystick will drop to the floor, along with two other pieces – ask me how I know.

And this is where having the dual joystick model works well – beause you can keep one joystick 8-way, for games like Gyruss, and set the other to 4-way for Pac-Man and Frogger.

Other notes:

For Snaps: or

Good ROM site
and put in /mame/roms/
keep them zipped

and put in /mame/snaps/

Or get snaps here:
Links 1, 2, 3
download all 3, install 7z program, then extract them all. you need all of them.

Compiling MAME with hiscore and no nag screens
use the DIFF files to allow hiscore and no nag

DIFF Files
use to modify mame before compiling it



Get Marquees here:
and put in /mame/marquees/

Artwork. Don’t use it. Go here: download the mirror!
and put in /mame/artwork/
keep them zipped

Board 1:
1. Yellow => 5v [J7]
2. Red => [J5]
3. Black => [J5]
4. Green => [J7 Ground]

Board 2:
1. Purple => 5v [J7]
2. Red => [J5]
3. Black => [J5]
4. Blue => [J7 Ground]

Controller Info

1943 – 8way + 2 button (button on right)
Asteroids – 5 button
Battle Zone – 1 2way + 1 2way with fire
Berzerk – 8way + 1 button (button on right or left)
Centipede – Trackball
Defender – 1 2way + 5 button. or 1 8way + 4 button
Dig Dug – 4way (button on right or left)
Discs of Tron – 1 spinner + 1 8way with 2fire
Donkey Kong – 1 4way (button on right)
Frogger – 1 4way
Galaga – 1 2way + 1 button (button on right)
Galaga 88 – 1 2way + 1 button (button on right)
Galaxian – 1 2way + 1 button (button on right or left)
Golden Tee Golf – Trackball + 3 button
Gorf – 1 8way with fire
Gyruss – 1 8way + 1 button (button on right)
Joust – 1 2way + 1 button
Lunar Lander – 1 2way + 2 button (2 potentiometers and 3 buttons)
Mario Bros – 1 2way + 1 button (button on right)
Missile Command – Trackball + 3 button (volcano)
Moon Patrol – 1 2way + 2 button (button on right or left)
Ms Pac Man – 1 4way
Omega Race – spinner + 2 button (button on right)
Pac Man – 1 4way
Phoenix – 4 button
Pleiads – 4 button
Pole Position – spinner + 3 buttons (spinner + 2 pedals + 1 shifter)
Red Baron – 1 8way with fire
Scramble – 1 8way + 2 button (button on right or left)
Sea Wolf – spinner or 2way + 1 button (periscope with button)
Space Invaders – 1 2way + 1 button
Star Castle – 4 button
Super Breakout – spinner + 3 buttons?
Tempest – spinner + 2 button (fire and zapper to left of spinner)
Tetris – 1 4way + 1 button (to spin blocks)
Time Pilot – 1 8way + 1 button (spinner works well here) (button on right)
Tron – 1 8way with fire + spinner
Vanguard – 1 8way + 4 buttons (in diamond shape on right)
Xevious – 1 8way + 2 button (button on right or left)
Zaxxon – 1 8way with fire + 1 button (button on right or left)


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s