This article is copied from the Game Show section, page 67 of the Christmas (November) 1997 edition of Acorn User. Reproduced with kind permission. The text on this page is copyright 1997 IDG Media Ltd.


Cheap thrills with MAME

Graham Nelson inserts a lot of coins

Until 1980, 'arcade' meant only a covered passageway of shops (from the medieval Latin for 'arched'). Then there was a boom in stand-up cabinet video games, packed into darkened, noisy rooms just off the high street. Arcade games were the new pinball, the new fairground ride, and the technology was suddenly there.

The first stand-up games go back to the mid-70s, but were built in expensive low-production-runs: Space Wars (1977) had to use its own TTL-based central processor. Displays were also primitive, often using monochrome vector-graphics plotters rather than modern pixel-based monitors. From 1979 onward, the boom in cheap CPU chips - such as the Z80 - and memory drove down costs. Over 1000 models are listed in the collector's Bible, the KLOV or 'Killer List of Videogames', from Action Fighter to Zzyzzyxx (I am not making this up), There's some evidence that Atari even built a secret version of Battlezone (1981) for the U.S. Army Tank Corps to use in training.

Most of the cabinets were of a kind: Two buttons, a joystrick, a coin slot, a screen. Nowadays you can simply replace once circuit board and repaint the box to change the game inside, thanks to a common standard called JAMMA. But in the richest years of the early 1980s, the last thing the makers wanted was for anyone to meddle inside. They issued unmarked circuit-boards, with customised security chips, and left surprises for the unscrupulous operator. Plug an Asteroids Deluxe circuit-board into an Asteroids cabinet and things seem fine, except that the controls are backwards, and you have to press 'Player 1 Start' to give yourself a credit, then insert a coin to start the game.

Game over...

The arcades closed in droves in 1983 and 1984. Memory and chips were now too cheap, and people could afford them at home. Even the BBC Micro offered blatant steals of the arcade classics - Scramble (Rocket Raid), Defender (Planetoid), Panic (Monsters), PacMan (Snapper), Centipede (BugBlaster). The industry all but collapsed. The old cabinets are now in a museum in St Louis, or auctioned as collector's items - in good condition a game fetches $400 to $1000, depending on its rarity.

The emulators are another fan community again, with a fringe operating on the edges of the law (emulating or reverse-engineering current home video consoles, for instance). ROM sets for all the classic arcade games are easily available from the Internet, but the writers of emulators are careful to distance themselves from any specific copyright violation even so.

The clear leader in the field is Nicola Salmoria's Multiple Arcade Machine Emulator, or MAME, now maintained by Mirko Buffoni. To simulate around 160 cabinet video games, it has to emulate all of the 8088/8086, Z80, 6502, 6809 and 68000 processors and every individual game has its own quirk, its own way of using interrupts or generating sound. The C source code is a monument to good organisation.

MAME for RISC OS

MAME version 0.28, the latest, has been impressively ported to RISC OS by Gareth Long. You need a high-end machine to take best advantage - a StrongARM is advised and about 5M of free memory. The program's physical size or 'footprint' alone is 1.6M. Another complication is that the format for storing video game ROMs is not simple.

Scramble is stored as a zipped archive of 13 ROM images (and so has a mighty footprint of 26k...), each of which has a specific filename, each of which is illegal under Acorn's disc filing system. So you really need to use these files straight from the archive, keeping SparkFS running whenever MAME is in use. (ArcFS won't do, and nor will SparkPlug.) All in all, MAME is fiddly to install and use. It comes with only a command-line interface, and you can't change the default keyboard controls, for instance.

However, Richard Cassidy has written a RISC OS front-end called Player1, which is a great help and after all the nuisance is done with, MAME works very nicely. When a game starts up, it behaves like a video machine just switched on, so it typically runs through a memory test for a few seconds, then puts up the title page. Press 3 and it believes that a coin has been inserted. Go on, press 3 a few more times and watch the credits pile up. You know you want to.

Once accredited, you can press 1 or 2 for a one- or two-player game, and you're away. Some of the early games, like Scramble, are ruthless and kill you in seconds, others like 1942 are rather easy. Emulation is real-time and this makes some games very responsive, though keyboard cursor keys are no match for a heavy-duty joystick. Vector-graphic games, like Asteroids or Tempest, proved no problem. The only test I tried which failed was playing Zaxxon - I think because of insufficient spare memory.

MAME is evolving - version 0.29 was released literally while I was typing the about paragraph - and so is Gareth Long's RISC OS version. It's a nuisance to get started, but a spectacle when it's working, even if I have a vaguely guilty feeling about it. I own somebody a small fortune in 10p pieces.

Web addresses

For RISC OS MAME:
http://www.elecslns.demon.co.uk/MAME/
For Player1:
http://www.fwservices.com/graphite/fun/
The official MAME home page:
http://www.media.dsi.unimi.it/mame/


The Acorn Emulation Page - David Sharp