Emulate the Atari 7800

Bring a woefully ignored console back from the dead.

The poor thing never had a chance. Originally designed as the true successor to the incredibly successful 2600 VCS [Hack #34] , the Atari 7800 fell victim to all sorts of internal power struggles and botched management decisions. First, while the 7800 was still in development, Atari hacked its existing line of computer hardware, turning it into the quick-fix Atari 5200, to fend off the Colecovision in 1982.

Two years later, as the system that was supposed to be the next big thing was about to be released, Atari execs decided they didn’t want to be in the video games business anymore, and put the manufactured 7800 systems and games into storage. Only after Nintendo revitalized the video game market did Atari ship the 7800 in 1986. But they immediately followed it with the XE Game System, an incompatible console that played the same games as the company’s line of computers.

Thus bookended by competing hardware from the same company, the 7800 died an ignominious death. But in its short life span it amassed some software support that illustrates just how powerful a system it was (especially for 1984 tech, mind you!). It was even backwards compatible with the 2600 library. The only real problem with the system was its awful standard controller. Atari missed the D-pad revolution ushered in by Nintendo and Sega, sticking the 7800 with a pair of joystick controllers so antithetical to every principle of ergonomics that they could have been designed by the Marquis de Sade.

Which is an excellent reason to play 7800 games via an emulator, using your own preferred PC joystick. controllers: joystick: for Atari 7800;


Since I brought it up, I might mention that Atari did release a standard joypad for the system, but only outside the US—read more about it in an Atari Times piece titled “The Europeans Were Lucky” (http://www.ataritimes.com/7800/features/7800pad.html).

Do the MESS-Around

If you already use and love the Multi Emulator Super System (MESS; http://www.mess.com ), then you already have a 7800 emulator. Since it’s unlikely that you’ll do that much 7800 emulation (you can burn through the entire game library in a couple of days), this might be your best choice.

You can learn more about MESS basics, including where to get it and where to set it up, in the Adventurevision section of [Hack #33] . In fact, since the setup process is identical for both systems, you can just read that section and think 7800 in your brain whenever you see the word Adventurevision. (For the rest of this section, I am assuming that you are running the Windows-based GUI version of MESS, but you can easily adjust these instructions for Mac OS X and Linux.)

After you install MESS, but before you can play any games, you’ll need to download a ROM image of the 7800’s internal BIOS. This file is usually named 7800.rom, and is often found as a zipped archive called 7800rom.zip or a7800.zip. Games won’t run without it, but since it is a copyright-protected piece of software, it is not included with the emulators. You’ll have to find it on your own.

Once you do, save the Zip file, without extracting it, to the bios\ directory that was automatically created when you installed MESS. When you save it, you might have to rename it to a7800.zip since this is the filename that MESS searches for when you try to run the 7800 emulator. If the file isn’t zipped, is named anything else, or isn’t in the mess\bios\ directory, you won’t be able to run the emulator. If everything is set up correctly, you’ll be able to see the Atari 7800 listed in the Available tab when you start up MESS.


MESS is a little picky about BIOS files. Before it runs the emulator, it verifies the BIOS ROM to make sure it is correct. The 7800.rom file that I found didn’t agree with MESS, and so even though I had everything set up correctly, MESS refused to put Atari 7800 in the Available category. I had to scroll down and click the Console tab to find the Atari 7800 button. When I attempted to run it, it gave me a warning that the BIOS ROM may be bad, but the game ran perfectly.

Click on "Atari 7800,” and a list of ROMs that you downloaded will appear in the rightmost window. If nothing appears, check to make sure that you unzipped the ROMs and placed them into the directory mess\software\a7800\ (which you may have to create yourself). Also make sure that you have, in fact, downloaded some ROMs. If you haven’t but want to, you might try skipping ahead to “The Atari 7800 Homebrew Scene,” a tasteful little number that appears later in this hack.


On the other hand, if you’ve already got a directory full of 7800 ROMs on your PC but don’t want to copy them over, you can add additional directories that MESS will automatically check upon startup. Right-click on Atari 7800 in the middle window of the GUI, then click Properties. Click the Software tab, click Insert, and choose the directory in which you keep your ROM collection.

If you are successful at either of these things, a list of games should appear in the rightmost MESS window when you click on the Atari 7800 tab. Actually, MESS will list everything that appears in the directories it searches, and the working game files will be marked with a little computer-chip icon to the left of the filename. Double-click on one of them and you should be playing within seconds. A happy game of Space War is shown in Figure 4-14.

Standalone 7800 Emulators

If MESS is too messy for your tastes, and you’re looking for an emulator that is strictly for the 7800, you have a couple of options. One is called ProSystem Emulator (https://home.comcast.net/%7Egscottstanton/) and the other is EMU7800 (http://emu7800.sourceforge.net/). Of the two, ProSystem Emulator seems to be the most complete and compatible. The EMU7800 page has a brief list of incompatible games and other glitches.

Space War for the 7800, running in MESS

Figure 4-14. Space War for the 7800, running in MESS


EMU7800 also requires the Microsoft .NET runtime environment to function, so if you don’t have it installed and would rather skip the lengthy download and installation process, you might just use ProSystem Emulator instead.

There are a few advantages to going with a standalone, system-specific emulator: the file size of the program is smaller, installation is easier, and the menu system is not cluttered with options only necessary for other hardware. Another advantage specific to the Atari 7800 is that you can disable the use of the BIOS, a feature that the latest version of MESS (.095, as of this writing) lacks. The BIOS in the 7800 console was apparently only used to display a flashy Atari logo every time the system was turned on. If you disable it, the only consequence is that the logo will not display before each game.

In ProSystem Emulator, you can turn off the BIOS ROM by clicking Options, Emulation, Bios, then clicking Disable. The next time you pull down the menu you should see no checkmark next to the Bios button. If you want to enable it, you’ll have to find the 7800.rom file in the dialog box that pops up, then click Enable with the filename selected.

In EMU7800, enter the program’s internal Control Panel (not to be confused with Windows’ Control Panel!), click the Settings tab, then check the “Skip BIOS” checkbox.

Otherwise, there are not many secret tricks you’ll need to worry about. If you’re running EMU7800 and are trying to load ROMs, be aware that the Open dialog box will look for files that end in the extension .bin by default—in other words, Atari 2600 game ROMs (which the emulator also supports natively). To search for Atari 7800 ROMs, click the drop-down box on the bottom of the window and pick the .a78 extension.

The Atari 7800 Homebrew Scene

There isn’t much of one. The development tools for the platform only appeared a few years ago; and there’s not a whole lot of extra 7800 nostalgia floating around out there anyway. But if you check out the Downloads section of the excellent site Atari 7800.com (http://www.atari7800.com), you’ll find the two titles that have been released thus far: Space War and Senso DX.

Space War is a conversion of the seminal computer game of the same name. It is for two players only; each player controls a ship that moves just like the one from Asteroids: up to thrust, left and right to rotate. Players must avoid the gravity of the shining sun in the middle of the screen and fire on each other. (Oh—and it doesn’t work. Shots have no effect and the sun doesn’t kill you.) And Senso DX is a version of the electronic match-the patterns game Simon.

There is also hope for more games. The web site Static Gamer has announced an Atari 7800 homebrew development contest. The winner of the contest will have their game published by AtariAge (http://www.atariage.com) and sold in cartridge format on the web site, so there should be enough incentive for some decent entries.

AtariAge has also announced that Ken Siders (who created Atari 5200, eightbit, and 7800 versions of a Burgertime-like game named Beef Drop) will bring the classic arcade game Q*bert to the 7800. So with any luck, you’ll have much more to play on the 7800—whether emulated or on the actual console—by the time you read this.

Get Retro Gaming Hacks now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.