Easy MAMECab  
  Hardware | Linux | Windows | MyCab | Links

While MAME runs just fine on a default installation of X, most games won't run at their native resolution or in vertical sync. X, by default, only enables a couple of popular resolutions. To enable the lower resolutions used by MAME, you need to add the necessary modelines to your xorg.conf or XF86Config file (this file is located in your /etc folder). The modelines are listed here. Simply cut and paste them into the monitor section of your configuration file. A copy of my xorg.conf file can be downloaded from here. It's based on the configuration file distributed with Nvidia's graphic driver for Linux, (though modified to work with the fonts on an LFS/BLFS system).

Once you have added the modelines to your X11 configuration file, you'll need to restart X (for those new to Linux just reboot your computer). Then download and install AdvanceMAME.

If you're looking for pixel perfect modes, you'll need to modify your AdvanceMAME configuration file. Change display_resize mixed to display_resize integer and display_resizeeffect auto to display_resizeeffect none. This simply disables all forms of non-integer stretching. That's it. Game on.

AdvanceMAME will almost always choose the correct mode, however, it does need some help at times, particularly with resolutions enabled by default on all X servers, resolutions like 320x240. Through the configuration menu in a game you can override any resolution chosen by AdvanceMAME. Simply press the Tab key during game play, and select video from the menu. At the top of the menu you'll see which mode AdvanceMAME is using, and if you select mode and press Enter, you'll see a list of supported modes. Typically the best alternate modes are listed at the top. You're looking for a resolution that has a perfect integer multiple, like 2.00 to 3.00, or 3.00 to 1.00, for example. Integer multiples are lossless. Naturally, this means that fractions are bad (though sometimes unavoidable due to modeline rounding error). You may very well find multiple modes with perfect integer ratios. Lower resolution modes have larger scanlines. Once you've found a resolution you prefer, select it by pressing Enter, press Esc and then select Save for this game size/freq from the menu. You should now change the mode for a game running at 320x240. Change the mode to 640x480. The 320x240 mode supplied by X doesn't run at 60Hz, which is what you want.

If a game isn't centered (and most won't be), you'll need to center it using your monitor controls. For your convenience, a list of games that work well are listed below. If you center these games (or any other game with the same resolution), you'll be up and running in no time.

Puckman 224x288
720 Degrees 512x384
Cruis'n World 512x400
Cisco heat 256x216
Ultraballoon 256x224
Double Dragon 3 320x232
Pipi & Bibis 320x240
Challenger 256x256

Don't, by the way, mistake X for GNOME or KDE, as neither are needed to run AdvanceMAME, X-MAME, or AdvanceMENU, and you'll get much better game performance without them. If you only want to run an X session, add a new user to your system (for example, mame) and modify the user's X startup script, ~/.xinitrc. Use something like

xterm -g 80x40+0+0 &

Then simply login as that user and startx. You can launch AdvanceMAME or AdvanceMENU from the xterminal.

www.mamedev.org www.mameworld.info