Basically the most important thing in a MAME cabinet is, well, the MAME software. MAME stands for Multiple Arcade Machine Emulator and can emulate most every arcade game up until about 2005 or so. What is the point in having an arcade cabinet without being able to play any games, MAME solves this problem. MAME is easy enough to download and setup. Just venture over to mamedev.org and download the latest binaries, or source if you want to compile yourself, then extract. The MAME program by itself only runs from the command line, so you need a front-end to manage your games graphically, especially if your using a cabinet (you don’t want to have a keyboard instead of joysticks).
There are many front-ends out there to choose from. Most of them are free, but some cost, BYOAC has a great list of front-ends. My personal favorite has got to be HyperSpin, it is a graphics heavy front-end, and the community supplies a lot of images for themes and games within the front-end. However, the old computer I am using for MAME can not handle HyperSpin so I went with my second choice of Mamewah. Mamewah is very customizable and can work with any command line program/emulator.
Along with MAME, I also wanted to play other systems on my cabinet. Currently, I have a GameBoy, Playstation, SNES, NES, N64, and Pinball emulator. A sister project to MAME is called MESS (Multi Emulator Super System). MESS has support for many systems, although several are in the preliminary stages, so they don’t work very well. I am able to use MESS for the GameBoy, NES, and SNES emulation just by setting up new config files in mamewah. For Playstation emulation I use ePSXe which takes some extra bios and graphics files to work, but it was overall simple to setup. For N64 I use Project64 which requires a wrapper to be able to exit the game back into mamewah.
Pinball was probably the most exciting to get working with mamewah. I am using Visual Pinball which also requires Visual PinMAME and of course a wrapper to work with mamewah. Once I figured out what all I needed to get the program running, it was difficult to get roms and tables because of download limits :/ Originally I tried using Future Pinball, but it was too intense for my computer like HyperSpin. Side Note: People do create pinball cabinets like they do MAME cabinets with a nice big 30″-40″ screen as the play field and use a different version of HyperSpin called HyperPin, some are pretty sweet, I may build one eventually. The only downside I have found with Visual Pinball is there is no native support for joystick buttons, so I had to get a program to map keystrokes to my buttons. I found a nice program called RB Joy (careful, it’s German). It’s a pretty simple and straight forward program, but what I liked about it (as opposed to something like JoytoKey) is that it doesn’t block to native joystick button press, it adds to it. Which means I can still have MAME set to Joystick 1 Button 0, and have Visual Pinball set to Z or some random letter.
The utilities I use are for keeping up with roms mostly. Mamewah has support for MAME and getting data from the MAME program about the roms you have. However, for other roms and emulators mamewah just uses the rom file name to display in the list. For this, I use RomCenter which automatically changes the file names according to a database, and it checks for bad roms and can delete them. RomCenter keeps my rom folders nice and tidy. Mamewah also allows for different image and artwork in the theme, I like my things to look pretty, so I setup a theme that has spots for 5 different artworks. It would be a major pain (Major Pain *salute*) to download those images individually. Good thing there is a program for that. EmuMovies has a massive database of snapshots, marquees, cabinets, adverts, boxart, video clips, and all sorts of artwork for probably millions of games on most every system. They also have a program you can download that automatically downloads and renames the artwork in a nice directory structure based on your rom folder(s). This helps A LOT! The downside is in order to get the video clips you basically have to pay $30 a month to download them from FTP, not a fan.
Only problems with these programs is neither has support for Visual Pinball, renaming the files isn’t that difficult, but artwork still is an issue. VPForums has, along with the tables, a nice section for artwork. Most all tables also have an artwork pack with all the artwork files for that table in one zip, but the video clip provided is in a flash video format not suited for mamewah (a bit of a downer). The downside is you get 5 downloads per day, so it takes a few days to get everything you want.