BUY THIS BOOK
Add to Cart

Print Book $24.95


Safari Books Online

What is this?

Add to UK Cart

Print Book £17.50

What is this?

Looking to Reprint this content?


Gaming Hacks
Gaming Hacks 100 Industrial-Strength Tips & Tools By Simon Carless
October 2004
Pages: 462

Cover | Table of Contents | Colophon


Table of Contents

Chapter 1: Playing Classic Games
With 25 years of game history under our belts, it's difficult to keep track of all of the games and hardware that've come and gone. With the ever-increasing cost and complexity of making new games for current and new hardware, it's difficult for hobbyist gamers to keep up.
With emulation and emulators, the two problems are solving each other. Who could have foreseen in 1980 that the Atari 2600 would see a renaissance of new homebrew development 25 years later? Now emulation has made this possible.
If you grew up with games in the '80s, you don't have to dig your Atari, NES, or Commodore 64 out of the closet to enjoy a bit of nostalgia. Here are a few of our favorite ways to emulate old hardware and games.
The whole issue of emulation is very thorny, not least because a great deal of the work done under emulation is somewhat less than legal, if sometimes tolerated. The user may not own the ROMs he is playing. Even if he does own them, it's unclear whether he can legally transfer them between media to play them.
I won't point a finger and disclaim loudly that you're bad for using emulators and must go to jail without passing Go or collecting 200 dollars. I also won't pass definitive judgments on legality, either. I will point to a few resources I believe are legal with regard to emulation.
You'll find constant references to homebrew games in this book, sometimes running on the hardware themselves. As a rule of thumb, if someone has gone to the trouble of creating homebrew games that work on a specific console, PC variant, or handheld, they will work on the emulated version of that system as well. In that case, you need to find the correct emulator and then download the homebrew ROM to play.
If you're looking for a general source for freely distributable games for multiple systems, even those not covered in detail in this book, the best console source is the PDRoms (http://www.pdroms.de/) site. It features over 1,700 ROMs of various kinds for over 20 different computers and consoles.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Hacks 1-18
With 25 years of game history under our belts, it's difficult to keep track of all of the games and hardware that've come and gone. With the ever-increasing cost and complexity of making new games for current and new hardware, it's difficult for hobbyist gamers to keep up.
With emulation and emulators, the two problems are solving each other. Who could have foreseen in 1980 that the Atari 2600 would see a renaissance of new homebrew development 25 years later? Now emulation has made this possible.
If you grew up with games in the '80s, you don't have to dig your Atari, NES, or Commodore 64 out of the closet to enjoy a bit of nostalgia. Here are a few of our favorite ways to emulate old hardware and games.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Legal Emulation
The whole issue of emulation is very thorny, not least because a great deal of the work done under emulation is somewhat less than legal, if sometimes tolerated. The user may not own the ROMs he is playing. Even if he does own them, it's unclear whether he can legally transfer them between media to play them.
I won't point a finger and disclaim loudly that you're bad for using emulators and must go to jail without passing Go or collecting 200 dollars. I also won't pass definitive judgments on legality, either. I will point to a few resources I believe are legal with regard to emulation.
You'll find constant references to homebrew games in this book, sometimes running on the hardware themselves. As a rule of thumb, if someone has gone to the trouble of creating homebrew games that work on a specific console, PC variant, or handheld, they will work on the emulated version of that system as well. In that case, you need to find the correct emulator and then download the homebrew ROM to play.
If you're looking for a general source for freely distributable games for multiple systems, even those not covered in detail in this book, the best console source is the PDRoms (http://www.pdroms.de/) site. It features over 1,700 ROMs of various kinds for over 20 different computers and consoles.
Often, hackers with particularly detailed knowledge of an individual computer host specific pages showcasing their wares. For example, The Amiga Legal Emulation (ALE) page at http://ale.emuunlim.com/ has good information and ROM downloads for the Commodore Amiga in particular. Other sites cover their own specialized subjects similarly. Unfortunately, with much of the more obscure abandonware flying under the radar of copyright holders, it's sometimes difficult to find a page that has really made an effort to separate completely legal disc images from the disc images nobody cares about anymore (but still may be less than legal). Hopefully, this will change as the emulation scene grows and matures.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Play Commodore 64 Games Without the C-64
Relive the glory days of Commodore's long-lived personal computers.
Commodore's unassuming C-64 had a surprisingly long run as the king of computer games. The inexpensive machine had powerful sound, colorful graphics, and just enough hackability that clever developers could squeeze every last bit of performance out of its 1-MHz processor and specialized graphics and sound chips.
Although Commodore's Amiga surpassed the C-64 (and the improved, though relatively ignored, C-128), the PC finally took over the reign of computer games in the early '90s. Commodore's 1992 bankruptcy didn't help, either.
A decade later, the C-64 lives on, sometimes in hardware, but more often in emulators. If you're feeling nostalgic for Commodore BASIC—a simple, easy to use, and, in retrospect, fairly awful programming language—or the thousands of games produced in that heady decade, you're in luck.
Two emulators vie for the top spot in C-64 emulation, VICE, available from http://www.viceteam.org/, and CCS64, available from http://www.computerbrains.com/ccs64/. CCS64 is shareware, and the current version runs only on Windows, while the GPLd VICE runs on several platforms. Both work well, but we'll concentrate on VICE.
Download the current version for your platform from the VICE homepage. Windows users: unzip the WinVICE-1.14.zip file to its own directory (perhaps C:\WinVice-1.14). Mac OS X users: mount and install the VICE1.14-macosx.dmg image as usual. Unix users should know what to do already.
The archive contains a HTML version of the documentation, found in the html/ subdirectory. See html/vice_toc.html for a good starting point.
Run the C-64 emulator as x64. There are also C-128, VIC-20, PET, and CBM-II emulators, if you're feeling really retro.
We'll use Richard Bayliss's public-domain Balloonacy (see
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Play Atari ROMs Without the Atari
Can't find your 20-year-old 2600? Your desktop machine will do.
Chances are, you own a computer with slightly more graphics, CPU, and processor power than an Atari 2600. (Chances are, you can buy a graphics card with better specs for a nickel or so.) Is this a sign of bloat, waste, and the decline of Western civilization into conspicuous consumerism? Perhaps. Of course, it also means that emulating a 2600—imitating the exact hardware of the 2600 to run its games—is practical.
If you have a pile of 2600 cartridges in the closet, perhaps it's time to revisit the nostalgia of the early '80s (though see [Hack #1] for further discussion). If you don't have any cartridges, don't fret. There are still programmers producing new work for the grandfather of all modern consoles (see [Hack #6] ).
Maybe you'll join their ranks someday. Maybe you just want to play Adventure again. First, you need an emulator.
Bradford Mott's Stella (http://stella.sourceforge.net/) is a well-maintained, cross-platform Atari emulator. It runs on Linux, FreeBSD, Unix, Mac OS X, and Windows through DOS, so it's an excellent choice.
At the time of writing, Version 1.3 is the current stable version with 1.4 on the way. From the download link (http://sourceforge.net/project/showfiles.php?group_id=41847), grab the appropriate file for your operating system. Windows users: download st13.zip. Unix users: fetch a binary package or the source code in stella-1.3-src.tar.gz. You may need to install SDL from http://www.libsdl.org/.
Follow the installation instructions (http://stella.sourceforge.net/docs/stella.html#Installation) in the user's guide. If you're a Windows user, fire up a DOS window, and run an unzip command; that's as complex as it gets.
If you want to play games, make sure that stella.pro, the Stella properties file, lives in the right location. For DOS and Windows users, this is the directory containing
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Use Atari Paddles with Your PC
Use a proper controller for the right games.
If you remember the original Atari 2600 hardware, you likely have fond (or not so fond) memories of the paddle input device. Instead of using a joystick for Breakout-like games, you turned a paddle left or right. Some games play much better this way.
Fortunately, enterprising hackers have sorted out hardware, drivers, and relevant emulator software to make Atari paddle controllers work on the PC, so you can play classic reissues of Atari 2600 games on modern hardware with the original controls. Some emulators even recognize and take advantage of the special analog properties of the paddle controller.
How do you find original paddle controllers? You might try your local thrift store—classic consoles and computers appear with alacrity. Otherwise, eBay comes to the rescue again; there are several auctions at any given time that offer a pair of paddles for $5 to $10 plus shipping.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Run Homebrew Games on the Atari 2600
How do you play a homebrew 2600 game on the actual console hardware?
One of the coolest things about the current emulator and homebrew scene for the Atari 2600 is the amount of new development going on—recently coded, freely distributable games of various kinds. (See the Section 1.7.2).
What's not so peachy is that it's tricky to play these new games on the genuine hardware, especially with cartridges involved. There's no straightforward way to put the homebrew title on your 2600, but there are a few ingenious pieces of hardware, often custom-made by others or do-it-yourself that can transfer code to your classic console.
Yes, you can run that Atari 2600 game as God originally intended it—on the 2600 itself.
As discussed earlier, the Atari 2600 itself has a vibrant homebrew scene oriented around sites such as Atari Age (http://www.atariage.com/). It's definitely not straightforward to play homebrew games on your 2600, but there are options.

Section 1.6.1.1: Starpath Atari 2600 Supercharger

Released when the Atari 2600 was still being produced, this rare but ingenious utility allows the player to load third-party-developed games via cassette tape. The cart doesn't save anything, so you need to load the game again every time you power up your 2600, but it's still a great hack. There were specific games produced this way (for example, the Supercharger version of Frogger was much closer to arcade perfect than the regular cartridge version because the Supercharger also allowed more RAM than normal carts), but the only games available at the time came from Starpath and its affiliates.
However, with utilities such as BIN2WAV available on modern computers, it's possible to turn an Atari ROM into a .WAV file and load it via Supercharger by plugging in the output of your PC to the input of the Supercharger. Your modern PC thus functions as an early '80s tape player. Bob Colbert has a good explanatory page about using the Supercharger to load 2600 ROMs (
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Create Your Own Atari 2600 Homebrew Games
Even though the Atari 2600 is one of the oldest game consoles around, it has a vibrant homebrew scene. These coders produce a remarkable amount of new material, with everything from RPGs to bizarre puzzle games up to altered updatings of classics. Best of all, the Atari 2600 scene seems to exist in an atmosphere of harmony and mutual understanding, with no beefs, group wars, or other shenanigans.
How can you learn how to create new game levels, or even entire games, for the 2600? Good question.
Suppose you're fed up with merely playing homebrew marvelousness (though shame on you if you are). Maybe you want to create your own levels for games. Maybe you want to go whole hog and code entire homebrew titles from scratch. Either way, you have several available resources.

Section 1.7.1.1: Using 2600 custom level creation tools

If you just want to mess around with level design, Atari Age runs a series of excellent contests in which you can create new levels for games under development. Often, the finished and produced homebrew cart will include the winning levels. More importantly, entrants often make their tools available for others after the contest closes.
In particular, the Indy 500 XE Track Designer (http://www.atariage.com/features/contests/Indy500XE/index.html) is a lot of fun if you're a wannabe race driver. Figure 1-7 shows the "easy-to-use Windows-based track editor that allows the easy creation of new tracks, loading and saving of tracks . . . and the ability to generate a binary so you can immediately test your creations." The Combat Redux Playfield Design tool (http://www.atariage.com/features/contests/CombatRedux/index.html) works similarly. It's a whole lot of fun to block out a level and then test it straightaway in an emulator.
Figure 1-7: Designing a track with Indy 500 XE
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Play Classic PC Graphic Adventures
ScummVM is a cross-platform set of multiplatform game interpreters. The authors describe it as "a `virtual machine' for several classic graphical point-and-click adventure games." It's named after the Script Creation Utility for Maniac Mansion (SCUMM) engine used in classic LucasArts adventure games, including Maniac Mansion, Sam and Max Hit the Road, and Full Throttle, but it's diversified somewhat; it now handles Revolution games such as the Broken Sword series.
ScummVM is particularly clever because it interprets the original Scumm source files, whatever the platform. In other words, it doesn't try to emulate the original hardware platform, but like the Inform text adventures ( [Hack #85] ), it takes the information in the source files and interprets it independently of the platform. Obviously, each individual hardware platform's version of ScummVM then has the information necessary to turn that information into pictures and sounds.
Let's consider the Windows version of ScummVM. Download it from http://www.scummvm.org/downloads.php, install it, and then run ScummVM.exe. You'll see a straightforward windowed menu system to which you can add games by navigating to the directory the datafiles are in (even if they're on a CD). It's really as simple as that, although there are a host of command-line and in-game options.
To play a game, you need the original media. Sources for this vary: perhaps you have floppy disks stashed away in your closet from the DOS versions of some of these games, or perhaps you can hunt around online and pick up the CD versions on eBay or other online auction shops. We'll discuss ways to pick up multiple games a little later.
You won't need every file from the original media to play the game. The ScummVM site has a handy page that summarizes the necessary data for each working game (http://www.scummvm.org/documentation.php?view=datafiles). It may be wise to copy the files to your hard drive to prevent wear and tear on the floppies.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Play Old Games Through DOSBox
Run glorious old DOS classics on modern operating systems.
Every now and then the urge may strike to play the game that kindled your interest in computer gaming, perhaps X-Com, Master of Orion, or something from the Ultima series. Unfortunately, today's modern operating systems rarely play well with the relatively ancient games of the early to mid '90s. If you're lucky, you can convince some games to run without sound in Windows XP, but they may run far too fast to be playable. That's where DOSBox comes in.
DOSBox (http://dosbox.sourceforge.net/) is a four-person open source project that emulates an x86-based PC running DOS. The version used for this hack is 0.61 for Windows. Don't let the version number scare you; it features excellent support for many classic games and can provide Sound Blaster, General MIDI, or Gravis Ultrasound sound support. The DOSBox homepage has a freely downloadable installer as well as the source code and ports to various other platforms.
After you've downloaded DOSBox, run the EXE and pick a location to install to. There's no special setup required to kick off the program at this point. If you run it, you'll end up at a Z:\> prompt. DOSBox, by emulating a DOS PC, hands you a DOS environment just like the one you remember.
If this is your first time in DOS because you're boning up on your game history (commendable!) or if you just need a refresher, there are some commands you need to know. mount mounts a drive under a particular letter so that you can access it from within DOSBox. On startup, by default, DOSBox will put you on drive Z:, a virtual directory it creates to start itself up. You'll need to mount the drive in the computer on which your games reside before you can play them.
If your games are on drive D:, use the mount command as follows:
mount C D:\
This maps a C: drive within DOSBox to the contents of the current D: drive in your PC. It's important to know how this works, but you can simplify things by editing the
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Play Reissued All-in-One Joystick Games
Can't find your old Atari? An N-in-1 TV game collection may be worth your money.
In the last couple of years, the officially licensed N-in-1 TV Game genre has grown in popularity. These are small, battery-powered devices that contain conversions and emulations of classic games licensed from the original manufacturers—including Atari, Namco, and Intellivision. Add some batteries—generally four AAs—plug the device into your TV, and hey presto!, you have a complete retro gaming system for around $20. This is a neat hack from the manufacturer's point of view.
This approach seems successful, in that the TV games seem to sell well. What's out there? How faithful are the conversions? Are they hackable to play other games? I'll answer all these questions. Read on . . .
JAKKS's Atari 10-in-1 game was the first officially licensed, legitimate repackaging that really generated buzz when it hit the market in 2002. It comes in a replica of the original Atari 2600 joystick (officially called the CX-40) that immediately endeared it to retro fans.
The games include Asteroids, Adventure, Missile Command, Centipede, Gravitar, Yars Revenge, Breakout, Real Sports Volleyball, Circus Atari, and Pong. At first glance, this looks like a perfect conversion, but when Atari die-hards get a hold of it, they tear plenty of holes in its armor, as you can see in the BackNTime review (http://www.backntime.net/Atari%20Interactive/Teninone/Frame10in1.html).
Although the basic playability of the classic Atari games translates better than the review intimates, the reviewer does point out actual changes in some of the games. Grindle, the green dragon from Adventure, has mysteriously turned purple. Even worse, the previously well hidden dot (the first ever video-game Easter Egg) is deliberately obvious. Activating it leads to a screen that, instead of crediting Warren Robinett, the original coder, simply says TEXT. Is this a preproduction flub? In any case, these games are not straight emulations. Instead, they're probably recreations done by looking at the original cart, though they might theoretically involve partial emulation.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Play Arcade Games Without the Arcade
Unless you've been living in a classic-gaming bereft hobbit hole for the past few years, you've probably heard of MAME, the Multiple Arcade Machine Emulator. Nicola Salmoria started the project in late 1996 and early 1997. It's since expanded to an immensely popular 100-person hydra. As the official MAME FAQ (http://www.mame.net/mamefaq.html) explains:
When used in conjunction with an arcade game's datafiles (ROMs), MAME will more or less faithfully reproduce that game on a PC. MAME can currently emulate over 2,600 unique (and over 4,600 in total) classic arcade video games from the three decades of video games—'70s, '80s and '90s, and some from the current millennium. The ROM images that MAME utilizes are "dumped" from arcade games' original circuit-board ROM chips. MAME becomes the "hardware" for the games, taking the place of their original CPUs and support chips. Therefore, these games are NOT simulations, but the actual, original games that appeared in arcades.
MAME's advantages over the original hardware are obvious: you don't have to deal with bulky boards that may or may not work with your extremely bulky arcade machine and won't fit into your PC or portable PC-like devices. Even recent home conversions (or TV game versions; see [Hack #9] ) of classic titles aren't necessarily perfect versions of the original, due to controller constraints if adapting to consoles or, in the case of TV games, adapted, not emulated, conversions.
Let's start with the obvious steps. The latest versions of MAME for Windows and DOS live at the official MAME download page (http://www.mame.net/downmain.html). MAME runs on a whole host of other platforms, including such interesting options as the Dreamcast, OS/2, Sharp Zaurus, and even the Xbox, so see Mame.net's list of ports (http://www.mame.net/downports.html). Installation is a snap; uncompress the archive into your preferred directory.
To launch a game, fire up a command prompt and type mame
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Add and Manipulate a MAME Frontend
MAME is wonderfully simple ( [Hack #10] ); it's a nice, unified bundle of myriad emulators you'd otherwise have to download and configure individually. While launching it from the command line and typing the name of the ROM you want to run is sufficient, adding in options can make things a little more complex.
There's a dizzying array of frontend programs that bolt onto MAME. These provide sophisticated GUI-based menus with which the player can choose particular games to play and options to use. Some frontends also include handy game paraphernalia such as screenshots, cabinet photos, and even related audio and video, giving you a luxurious overview of your game before you even start the emulator.
With multiple platforms and myriad slightly different choices, where do you even start? My top choice of frontends is AdvanceMenu, though I'll also outline some alternatives.
The AdvanceMenu (http://advancemame.sourceforge.net/menu-readme.html) site describes the program as "a frontend for AdvanceMAME, MAME, MESS, RAINE and any other emulator . . . ." It uses the cross-platform SDL multimedia library (http://www.libsdl.org/), so it runs on Linux, Mac OS X, DOS, Windows, and a few other platforms. Because it's from the same team that developed AdvanceMAME, they play together nicely.
AdvanceMenu lacks the crazed 3D virtual reality arcade-roaming of other frontends, and because it's so portable, it doesn't rely on super-complex window layouts and doohickeys. It's not plain, though. You can easily set neat browsing options, as seen in the example screenshots page (http://advancemame.sourceforge.net/menu-snapshot.html, or Figure 1-9).
Figure 1-9: The AdvanceMenu page, showing frontend layouts
Here's how to use the program with the normal, vanilla version of MAME:
  1. Download the latest version. I use the Windows version from
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Keep Your ROMs Tidy and Organized
Keep your mass of homebrew emulated games tidy and safe.
One of the joys of collecting ROMs and disc images—even freeware and homebrew ones—is that your collection will soon grow. With that accumulation comes the issue of how to keep them in order. You might even have multiple copies of the same file with different naming conventions from different sources!
With ROM management tools and game databases such as the TOSEC database, you can autorename, checksum, and organize your game image files easily and efficiently.
Your first step is to pick a tool to use. Most of the best ROM managers are available for Windows, but there are decent managers for other systems too. We'll concentrate on the two leading Windows-based managers, CLRMamePro (http://www.clrmame.com/) and ROMCenter (http://www.romcenter.com/). Both are extremely fully featured.
CLRMamePro, although originally named after MAME, which deals only with arcade games, actually works for multiple DAT files—even those not for MAME.
Unfortunately, these two utilities have different datafiles, which makes metadata compatibility a little tricky. We'll discuss that later. For now the place to start is MrV2K's web-based CLRMame tutorial (http://www.mameworld.net/easyemu/clrmameguide.htm).
The .DAT files used in these management tools are basically standalone text files. You can download and import new versions and even customize your own copies. Their complexity varies greatly, but at the most basic level, they include the correct filename, the correct size, and the correct CRC checksum for each included game. The tools compare ROMs by checking their file sizes and CRCs. These checksums are alphanumeric values that are guaranteed to be unique for each individual ROM. This allows the system to detect duplicates, even if the filenames have changed.
Because running the tool may cause complex chains of renaming and deletion operations, you may want to back up your entire directory before starting up. Although these utilities generally behave well, most ROM files are small enough that it makes sense to keep your old configuration in case you like things better that way.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Learn Game-Specific MAME Controls
Stop scrabbling around to work out which key does what.
Have you ever loaded a MAME ROM for the first time and found yourself flailing around, trying to figure out which buttons it uses and what they do? Sometimes you'll play for a while before you realize you have a smart bomb button that'll wipe out the mass of enemies onscreen in one fell swoop. Other times you'll completely miss the point of the entire game because you're missing some vital details about keys or objectives scrawled on the cabinet itself, and, obviously, you don't have access to the cabinet.
The Controls.dat project (http://fe.mamehost.com/controls/controls.php) attempts to catalog the exact controls of every MAME-compatible title ever, along with names and directions. There are even extra fields for information about what to do during the game, in case there are particularly nonobvious game mechanics.
If Controls.dat supplies controls information for each title in the MAME library in an abstract dataset (much like the Catlist game listing in [Hack #14] ), then frontends and emulators can take advantage of it by providing a listing of buttons and their effects. You'll flail no more, at least in figuring out the controls. If you're running a MAME cabinet with light-up buttons, it may eventually even light up the buttons used by that particular game!
However, at press time, the Controls.dat project is still in progress and is actually in a reasonably heavy state of flux. Right now, and hopefully for the future, the FAQ page for the project (http://fe.mamehost.com/controls/faq.php) provides plenty of useful information.
In particular, the site's maintainers argue that "[there] are other sources for similar data, like MAME's listinfo, or KLOV (http://www.klov.org), but these sources are either inaccurate or incomplete."
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Filter Inappropriate MAME ROMs
When people think of MAME, they probably think of cute, fluffy, kid-friendly old-school titles such as Ms. Pac-Man. The truth is that, among the gigantic amount of MAME ROMs, quite a few titles have lots of nudity, from Arkanoid clones with topless women through Qix clones with topless women and all the way to Puzzle Bobble clones with topless or more extremely unclothed women.
If you have kids (or even parents) who like playing puzzle games, you may not feel comfortable leaving them alone with your unsorted MAME ROM sets. Many of the ROM names don't indicate that they cater to prurient interests. In fact, many have cutesy titles that attract the young. Sure, you could use existing frontends ( [Hack #11] ), but by fiddling with preferences, it's possible to find masked ROMs again.
Alternately, if you don't have any inappropriate ROMs, but you do want to categorize them better, you can use the same techniques. Better safe than sorry, eh?
Enter MARRT (http://www.timsarcade.net/news/marrt.html), a Windows utility that can move or delete all adult-themed ROMs from your MAME directory, using the gamelist in mature.ini as the basis for its categorization. You'll need Microsoft's .NET Framework installed to run this.
Thanks to the Catlist project's categorization of MAME ROMs (http://www.mameworld.net/catlist/), there's no need for you to identify the adult titles: just fire and forget. Obviously, with the Catlist adult game list, you can probably code a simple Linux or Mac script to do the same thing, but MARRT is nicely packaged already.
Figure 1-10 shows the GUI; here's how to use it:
  1. Install MARRT into the /MARRT subdirectory of your MAME install, using the handy and included Windows installer. Don't run it yet.
  2. The distribution includes only a test version of the mature.ini file, so download the MAME32 version of Catlist (
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Autoboot into MAME Heaven
Create a self-booting CD to run your arcade games on any PC.
Thanks to enterprising hackers, you can now run MAME on your PC without even touching the contents of the hard drive. How? By using self-booting, Linux-based CDs created exclusively to run the arcade emulator. There are several advantages to this method; for example, you can give copies to less computer-savvy friends without worrying about complex installation and setup problems. The disc is also easily portable; if you want to play at a friend's house, just take along your CD and pop it in her computer.
There are several MAME-loving Linux CD kits around, so you actually have a choice. Each comes with its own advantages and disadvantages, which often include some practical problems you may run into trying to make them work. The following section details the most popular.

Section 1.16.1.1: AdvanceCD

AdvanceCD is by far the most compact of the options; it packs a fully working autoboot MAME system into just 20 MB and leaves lots of room on the disc for ROMs. AdvanceCD uses the rather smart AdvanceMenu (http://advancemame.sourceforge.net/menu-readme.html) frontend ( [Hack #11] ), as well as the AdvanceMAME and AdvanceMESS emulators, which are particularly known for their custom code to produce the correct screen resolution. As the site explains:
The Advance versions are able to directly program the video board to always get a video mode with the correct size and frequency.
The AdvanceCD setup comes with three ROMs: Gridlee, Poly Play, and Robby Roto. The SYS2064 legal ROMs page (http://www.sys2064.com/legalroms.htm) describes these ROMs as freely distributable. If you're feeling particularly adventurous, you can build AdvanceCD from source in Linux (http://advancemame.sourceforge.net/doc-buildcd.html).
Overall, this is one of the most attractive autobooting MAME packages, not least because it has frequent updates to keep in step with the new AdvanceMAME and AdvanceMenu releases. Although it's not very customizable or full-featured in terms of the Linux side of things, you can switch to a Linux console by pressing Ctrl-Alt-F2 from within AdvanceCD.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Play Emulated Arcade Games Online
Can't find four friends to crowd around your home arcade cabinet? Look online for team play.
One of the few arcade features that consoles, PC ports, and emulation can't always provide is socialization. It's fun to have the high score in a shooter, to take on all comers in a fighter, and to enter battle with three friends in a quarter-eating adventure game. You can recreate the games, but unless you have your own arcade cabinet ( [Hack #58] ) or an appropriate emulator ( [Hack #10] ) and can convince your friends to play along, you might think you're stuck.
Fortunately, the clever Kaillera bridging software can play emulated titles online.
As the word "middleware" suggests, there's a key difference between Kaillera and the other retro emulators we've discussed. Kaillera software actually interfaces with existing emulators to allow multiplayer arcade games—not originally playable over any network—to play online. However, to make this work, the emulator developers must have incorporated Kaillera into their software.
The main Kaillera-enabled emulator is a MAME variant named MAME32k. It's available with the Kaillera client itself on the site's download page (http://www.kaillera.com/download.php). This is sufficient to play games. If you want to host games, you'll need a completely different Kaillera server. The server is a standalone application also available from the download page. In general, the client is embedded in the emulator in some way, but the server always stands alone.
Fortunately, as with many FPS games, you may be able to find a public server without having to run your own. The front page of Kaillera.com lists several such servers (see Figure 1-11). The biggest servers can hold up to 100 people. You may wish to host your own server for ping, ease of use, and privacy issues, however—but it's up to you.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Play Classic Pinball Without the Table
You too can play mean pinball on modern tables with this great emulation suite.
Suppose you want to play some of the classic pintables (pinball tables) from the '80s and '90s, before the market crashed (the only remaining pinball manufacturer seems to be the revitalized Stern). Visual Pinball ( [Hack #80] ) is an amazing start—a fully featured, freeware pinball-table-creation suite that's actually pretty easy to use. Thanks to this program and some reasonably complex setup instructions, Windows users can play emulated versions of their favorite old pinball machines in no time.
Although MAME is one of the most well-known, coolest emulators around, another project carrying the MAME name may be both lesser-known and cooler. VPinMAME combines the very cool Visual Pinball with MAME emulation of the dot-matrix display (DMD) on recent games. That's the area that keeps track of the score as well as the logic for controlling the more complex parts of the table, such as when to release multiball and actual mini-games you can play with the flippers.
The VPinMAME emulation uses the MAME codebase, but obviously, you can't play the pinball game ROMs in any standalone fashion because you need the table as an interface. By hooking up the amazing physics and layout tools of Visual Pinball to the MAME-style emulation of the DMD display, you can play pinball with relevant dot-matrix score and mini-game feedback at the same time. Smart.
The (Windows-only) installation is a little strange because VPinMAME must live in its own directory. Your Visual Pinball standalone executable is probably in C:\Program Files\Visual Pinball. When you install VPinMAME (from http://pinmame.retrogames.com/downloads.html), it should unzip into C:\VPinMAME. Run the installation program, and all should be fine and dandy for that part.
However, you will need a bunch of extra software before you can run the games. Unfortunately, since there's no commercial release, the installation process is tricky:
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Emulate the SNES on the Dreamcast
Make your Dreamcast act like an SNES, Neo-Geo, or even a home computer.
Although we've dealt with emulators for consoles in several other hacks, Dreamcast emulators really deserve a hack of their own. For one thing, it's easy to burn your own discs full of emulators and ROMs without having to use any legally dubious hardware hacks to boot unofficial discs. For another, the cheap, aging, and fairly easy to buy ( [Hack #50] ) Dreamcast has a relatively swift Hitachi SH-4 RISC 200-MHz processor, so it can run many faster emulators. However, the spartan 16 MB of main memory limits some of the larger ROMs that need more memory. This problem afflicts even the mighty 64-MB Xbox on some MAME ROMs.
Nevertheless, there's plenty of emulation fun available for your DC. Possibly the best example of Dreamcast emulators is DreamSNES, the Super Nintendo emulator.
Vying for the title of best emulator on the Dreamcast, this Super Nintendo emulator is a conversion of the seminal PC emulator SNES9X. Its features include the ability to save SNES games to your VMU; a handy and functional upfront menu; working four-player support; and mouse, keyboard, and lightgun support.
Making self-booting CDs isn't completely easy, but the DreamSNES creators have a custom application that allows you to add ROMs and burn the CD in one fell swoop. This clever move takes away all the hassle of finding compatible burning software. See the tutorial at http://www.lysator.liu.se/dreamsnes/tutorial/ for a little more insight. Here are the basic steps:
  1. Let Pike install. The ZIP file for Windows includes a copy of the Pike programming language (http://pike.ida.liu.se/). It'll take a little while to install unless you already have it.
  2. Check for ASPI drivers. If your CD-ROM drive doesn't show when you first load the utility, consult ASPI Drivers Explained (http://www.ncf.carleton.ca/~aa571/aspi.htm
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Chapter 2: Playing Portably
Nintendo's Game Boy series has enjoyed a 15-year lead as the portable gaming platform of choice. This has spawned an odd and occasionally bewildering array of add-ons, accessories, and modifications.
The Game Boy isn't the only portable out there, though, nor are you limited to conventional notions of what is and isn't a portable gaming system. For example, did you know that you can play and write simple choose-your-own-adventure-style games that run on the iPod? Have you ever wished your Nintendo were more portable? Why not pick up a battery-powered NES-compatible handheld?
If you're on the go and want a little bit more from your gaming fix, consider these alternate ways to play portably.
Make and add simple games to your playlist.
It's commendable of Apple to avoid the whole convergence idea by making the iPod a good music player and not an amazing portable video game system with PDA functions and a built-in phone. However, this move has annoyed those contrary types who want to play games on the iPod. Fortunately, the perverse rule is in full effect; you can now download and even create your own basic, choose-your-own-adventure homebrew games for the iPod.
The trick of playing new iPod games comes from subverting the Notes format, also known as Museum Mode. By design, this mode presents individual pages with hypertext-style links. The original intent may have been to store album information or perhaps reminder notes. Whatever the reason, it's easy enough to offer multiple-choice stories in a hyperlinked tree of pages.
Caveat hacker! At the time of writing, only the third-generation iPods and the mini-iPods officially support the Notes mode. It appears that you can update older hardware to newer firmware, although Apple will probably never support this. Otherwise, if you have an earlier version of the iPod, you won't have Notes mode, and you can't try out any of this stuff. D'oh.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Hacks 19-27
Nintendo's Game Boy series has enjoyed a 15-year lead as the portable gaming platform of choice. This has spawned an odd and occasionally bewildering array of add-ons, accessories, and modifications.
The Game Boy isn't the only portable out there, though, nor are you limited to conventional notions of what is and isn't a portable gaming system. For example, did you know that you can play and write simple choose-your-own-adventure-style games that run on the iPod? Have you ever wished your Nintendo were more portable? Why not pick up a battery-powered NES-compatible handheld?
If you're on the go and want a little bit more from your gaming fix, consider these alternate ways to play portably.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Play Games on Your iPod
Make and add simple games to your playlist.
It's commendable of Apple to avoid the whole convergence idea by making the iPod a good music player and not an amazing portable video game system with PDA functions and a built-in phone. However, this move has annoyed those contrary types who want to play games on the iPod. Fortunately, the perverse rule is in full effect; you can now download and even create your own basic, choose-your-own-adventure homebrew games for the iPod.
The trick of playing new iPod games comes from subverting the Notes format, also known as Museum Mode. By design, this mode presents individual pages with hypertext-style links. The original intent may have been to store album information or perhaps reminder notes. Whatever the reason, it's easy enough to offer multiple-choice stories in a hyperlinked tree of pages.
Caveat hacker! At the time of writing, only the third-generation iPods and the mini-iPods officially support the Notes mode. It appears that you can update older hardware to newer firmware, although Apple will probably never support this. Otherwise, if you have an earlier version of the iPod, you won't have Notes mode, and you can't try out any of this stuff. D'oh.
The iPodSoft site (http://www.ipodsoft.com/index.php?/istories) is the main free area for iPod gaming. They've compiled a list of the only free games available online right now. Particular highlights (yes, yes, I could only find two) include:
Who Wants To Be A Millionaire?
http://ipodsoft.com/files/xgamerx/istory/istories/Millionaire%20Vol.%201.zip
Okay, so it's not precisely an official license, and it has a paltry amount of questions, but this recreation of Regis Philbin's greatest suit-and-shirt-matching moment has sound, a clear objective, and works into the quiz format that seems to function best in the very limited Notes structure. In other words, it's kinda fun the first time.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Mod Your Game Boy
Hardware hacks for your favorite portable console.
What if you have an older-model Game Boy Advance and want backlighting? Suppose you have a newer Game Boy and miss the chunky bass sound of the older monochrome Game Boys. You're not stuck buying a newer or older machine; there are reasonably straightforward hardware modifications you can do to fix both problems.
First, let's be clear: if you decide to modify your Game Boy Advance (GBA) with a frontlight at this stage in the GBA's life, you're hardcore. When Nintendo saw the immense popularity of the AfterBurner frontlight add-on in 2002, they introduced the Game Boy Advance SP, which features frontlighting of its own.
You're also hardcore because there's a definite failure rate when it comes to the tricky frontlight installation. An acquaintance ruined more than one GBA before getting it right! It's also becoming difficult to find the AfterBurner kit because its creators at Triton Labs (http://www.tritonlabs.com/) have discontinued it in favor of composing music instead.
If all this doesn't put you off, it's still a challenging and interesting project.
Start by reading the Triton Labs FAQ (http://www.tritonlabs.com/?page=faq#11) to understand the requirements. You will need:
  • An AfterBurner kit. This comes with the light guide and source, electrical wire, and a dimmer switch you can choose to install or not. The dimmer switch can be a little unreliable if installed badly.
  • A soldering iron, solder, and wire strippers
  • A Dremel drill. You'll need to remove some of the plastic under the screen for the light to fit.
  • A can of compressed air. While you have the screen exposed, it may attract specks of dust. They will stay there forever after you reseal your GBA—not good.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Take and Print Photos with Your Game Boy
Fun things you can do with Nintendo's playful printer and camera peripherals.
Nintendo comes up with some cool geek toys. Many of them are in wide circulation right now, particularly the Game Boy Advance and the GameCube. Some of their older gems are still well worth buying to hack, exploit, and otherwise fiddle with; the Game Boy Camera and Game Boy Printer are foremost among these. Let's check out what you can do with them.
Many people have fallen in love with Nintendo's rudimentary Game Boy Camera, which shoots up to 30 pictures in four shades of grey at 128 112 pixel resolution, and stores everything in 128 KB of battery-saved SRAM. Originally released in 1998 in Japan and then in the West in the days of the black-and-white Game Boy, the camera still works with subsequent Game Boy models, including the Game Boy Advance and Game Boy Advance SP.
Due to its low-resolution, black-and-white look, the GB Camera feels even older than its actual vintage. While snapping, the camera lens itself either swivels to point toward the Game Boy user or faces outward to take pictures of your surroundings. It's surprisingly versatile, though. Not only can you take pictures and create simple stop-motion animations, the camera provides a large variety of stencils and silly add-ons (including fake noses, hats, and other accoutrements) that you can paste onto your picture. It even includes mini-games, as well as a musical DJ mode that allows very simple song composition, although this is nothing like the sophistication of Nanoloop or Little Sound Dj ( [Hack #22] ).
The best thing about the GB Camera is the price. They're spectacularly cheap nowadays, and you can find them in large quantities on eBay for anywhere between $5 and $10 plus shipping.
The fun Game Boy Printer, released concurrently with the Game Boy Camera, is geared toward printing out the pictures you've taken, especially on sticker paper. Although the Game Boy Printer paper is extremely cheap (small rolls of thermal paper cost as little as $1 per roll on eBay), the Printer itself is scarcer than the Camera, fetching $20 or more on auction sites. However, it's strictly optional for most of the fun you can have here.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Compose Music on Your Game Boy
When you can't take