The problem with the IT industry is that we're drug-testing all the wrong people.

My Desktop Arcade Revival - part 2

Date/Time Permalink: 02/18/07 12:47:45 am
Category: Linux Gaming

Or.. How to set up your own desktop arcade on Linux using XMAME...

Once you've installed XMAME on whatever system you use, find the 'roms' directory by typing:

locate xmame | grep roms

assuming your locate database is up to date (you can always go root and type 'updatedb' and wait a while). On Slackware it installed to /usr/share/xmame/roms/ , on Damn Small Linux I have /usr/local/share/xmame/roms/ and so on. If you got a binary package for your system, there might be some roms already installed. These will be '.zip' files, and you should leave them zipped; XMAME knows what to do with them. Start any game in your roms directory by typing:

xmame game

for a rom called ''. Note that we do not type the name of the game proper; MAME adheres to the '8.3' filename convention to stay compatible with DOS. So the rom for 'lethal thunder' will be '' and called with 'lethalth'. For a game which uses a mouse (to simulate the paddle controller on Tron, for instance), start it with

xmame -grabmouse game

Many roms come in sets. For my copy of 'Ghosts and Goblins' I have '', '' and ''. When in doubt, pick the filename that looks like the original. Once you've verified that you have a working game, you can paste that whole string into your menu system for your window manager; in Fluxbox I have:

  [submenu] (XMAME)
      [exec] (1943)         {xmame 1943}
      [exec] (4dwarrio)     {xmame 4dwarrio}
      [exec] (asteroid)     {xmame asteroid}
      [exec] (buster bros)  {xmame bbros}

and so on.

For getting new roms, I download everything I think I'll need to a separate home directory, and start the game with:

xmame -rompath ~/downloads game

telling it to look in my downloads directory for all the parts of the game that it needs. If it works, I go root and move the roms to the recognized rom directory. If the game fails to run while complaining about missing files, you most likely have a clone of another game. Arcade machines did this, including the library of another ROM for programming a new ROM.

xmame -listclones game

will give you the dependencies for a given game. Some of these are non-intuitive; Buster Brothers is '' which depends on ''. If that doesn't tell you what's wrong, head over to the MAME FAQ and check to see if you have something really weird; for instance, some early games had nonstandard sound conventions (e.g. Berzerk), and require extra file data to work.

For running the game: The first thing you'll probably want to do is increase the screen size: 'shift-PageUp' and 'shift-PageDown' zoom the game window bigger and smaller, respectively. To start playing, usually you hit '5' to 'drop a quarter' and '1' for 'one player'; after that most games are controlled by the arrow keys and Control and Alt for jump and fire. 'Esc' to exit. Some games have really weird controls; check the FAQ for it.

At any time you can control settings for the game by hitting 'Tab'. A menu shows up and you can arrow up and down and hit 'Enter' to select options to change. You can remap keys under the 'input (this game)' menu, for those games that insist on mapping fire and jump backwards.

While you're in the Tab menu (which closes with 'Esc') check out the dip switches! Dip switches are the equivalent of hardware switches in the original arcade cabinet, and from game to game they may control difficulty, speed, how many lives you start out with, etc. Some of these are wild; my Snow Brothers gives me an option for invulnerability, while Shinobi can give you up to 240 lives for one quarter! If you played in a lot of arcades and noticed that games behaved differently from one arcade to the next, this explains it.

There's much, much more to tell, including some front ends for managing your roms in a GUI, but the sites in the following links are better places to get those answers:

XMAME links
Killer List of Video Games
Arcade History database

mine was just a quick start guide. Really, I think this is probably most of what everyone needs to know, and my copy didn't build the docs (the docs are *there* as /usr/doc/xmame-0.106/xmame-doc-2.html... but they're BLANK!).

Oh, and to save somebody else from having to say it: - sorry, I have to put the caps-lock key on so the idiots will understand it - DO NOT GO TO FORUMS OR CHATS ASKING WHERE TO DOWNLOAD ROMS. Let me be sure all the 1337 }-{4X0rZ understand it, too: D0 |\|07 90 70 pH0RU/\/\5 0R (}-{475 45|(1|\|9 \/\/}-{3R3 70 d0\/\/|\|L04D R0/\/\5. Because (a) Nobody can substitute for a good search engine, and (b) All it would take is for one emulator-forum member to provide one link to one site which accidentally let a ROM slip through that has a bunch of lawyers protecting it, and the whole damn project gets shut down. And Jack Thompson and Ted Stevens and the IPO are all over you like ants on a donut. We already have a nightmare with the RIAA and DRM because some kid hummed the tune (tune? what tune?) to a Brittany Spears song in their sleep once where somebody else could hear it for free, and now Nazis are kicking in doors and impounding computers... do you want that for the desktop arcade emulator community? OK, so wise up.

my hearts in the right place

Follow me on Twitter for an update every time this blog gets a post.
Stumble it Reddit this share on Facebook

suddenly the moon