Homebrew hacks

Galaga, Champ Games, and enhanced cartridges

Champ Games announced a new project, an Atari 2600 port of Galaga.

I have seen some of Champ’s other Atari 2600 homebrew projects, and they’re very impressive. They did a version of Scramble which is virtually indistinguisable from the arcade, which is an incredibly impressive accomplishment on hardware as limited as the Atari 2600.

Galaga is a classic arcade game, one of the most successful of its era, and can still be found in bars and arcades all over. It was one of my favorite arcade games as a kid, and I’ll still drop a quarter in one when I find one and have some time to kill.

I owned the Atari 7800 port of Galaga, and was glad I could play a version of it at home, even if it wasn’t quite exactly the same experience as playing the arcade version. What Champ has come up with, from what I can see in their video, it appears it feels closer to the arcade than the 7800 port, although the graphics are slightly inferior to the 7800 version.

As a Galaga fan, I really want a copy. As a game developer, I’m impressed with the effort and execution it takes to get a game looking and playing this good on such limited hardware. It simply shouldn’t be possible on an Atari VCS, which only has 5 hardware sprites plus backgrounds, and nowhere near enough CPU or memory to handle all the complex movement that is required to accurately re-create a Galaga experience.

How do they do it? Well, I asked them. And they were nice enough to answer: they build a cartridge with an ARM CPU in it, and it augments the Atari’s built-in hardware, and this is how they’re able to create games that are vastly superior to what should normally be possible with the 2600 console alone.

My response to this was disappointment, and I said as much. But I think it came off the wrong way and more than one person jumped on me for saying something negative about what is otherwise an exciting project for fans of the Atari and of Galaga. No one was particularly brutal toward me, but the creators behind the project were a bit nicer than their fans, and engaged with me and we had an interesting conversation on the philosophy of homebrew, and how their technology works. I want to thank them for that, and for creating such great games for the Atari 2600 in 2019, and keeping the system alive more than 40 years after it launched. I have a copy of Scramble and am really looking forward to playing Galaga and Zookeeper (another favorite classic arcade game) when they’re ready.

So, first things first, from a gamer’s standpoint, the only thing that truly matters is the game experience itself. It doesn’t matter what technology is inside of it, or how amazing, complicated, or messy the engineering is. The only thing that matters is the experience you have when you play the game. If it’s fun, if it’s polished, it’s a good game. End of story. And that’s exactly why I’m excited about buying a copy of this when it’s ready for release.

Now, as to my disappointment. At first I thought I was seeing something impossible, and I was really keen to hear how they had managed it. The solution of adding an ARM to the system architecture of the VCS is fine, nothing wrong with it. But it’s not amazing. My disappointment was from the vantage point of the programmer, who was mind-boggled at how this team had managed to get so much performance out of a 6507 CPU backed by 128 bytes of RAM. Well, they didn’t. They bolted on a 70 MHz ARM CPU, and got it to talk to the rest of the system, and while that also requires some neat engineering, it’s not magical in the way that somehow figuring out how to get 3x Zilog Z80’s worth of performance (which is what powered the original arcade machines) out of a MOS 6507.

That’s really all I meant by what I said. I don’t consider it “cheating” to augment the console hardware by packing in additional chips on the ROM cartridge circuit board. This was done back in the day, and was very necessary in order to extend the life of the Atari. All cartridge-based consoles that had a market life of more than a few years needed to use such tricks in order to keep their hardware competitive and relevant as computer technology doubled in speed every year.

The only real difference is that these augmentations were done using chips that were comparable (or at least within 1 generation) of the capability of the original hardware. They truly did augment the system. Whereas, with a 32-bit ARM CPU, you really could build a system around that chip alone, and do more than you could by interfacing it to a 40-year old system architecture that forces it to slow down and work within the constraints of its design. I mean, with a 70MHz 32-bit ARM CPU, it should be possible to do an arcade-perfect emulation of the original arcade hardware, or if not then to certainly come much closer to that than what you can get by running the I/O and video drawing through an Atari VCS. So, rather than the ARM augmenting the Atari, the Atari is kindof bringing down the ARM. This doesn’t matter if you’re nostalgic for the Atari and like the feel of a CX40 joystick in your hands and the crude graphical style just barely possible with the 6507-driven TIA. If you don’t know or don’t care about the engineering, it just looks and feels like the best damn Galaga port you could imagine, running on an Atari 2600, and actually quite a bit better looking than anything you would have thought possible if you did know the system’s capabilities.

But really, it’s almost all due to the ARM chip’s capabilities, which are many times the power of the rest of the system.

I suppose one could take an Atari 2600 controller, put a wifi chip in it, and have it interface with Google’s Stadia console-in-the-cloud, and run Assassin’s Creed, downsampled and graphically degraded, through the Atari, as well. And… actually hell yes, that would be cool as fuck. I want to buy that too. But it’s a different kind of cool to hook an Atari up to a cloud supercomputer platform than it would be to somehow squeeze Assassin’s Creed into 4 KB of ROM, if that were even possible.

I thought about how to express this properly, and the best analogy I could come up with is the stage magician David Copperfield. In 1983, David Copperfield performed a magic act where he made the Statue of Liberty “disappear”. Of course, he didn’t really make it disappear. It was an optical illusion done with misdirection, a rotating stage, and some very bright lights.

If he had somehow teleported the Statue of Liberty, and then brought it back, or if he had somehow made the Statue of Liberty disappear, how awesome would that have been? Whether by real “magic” or by some super-advanced technology that no one else had yet heard of, that would have been beyond amazing. It would have changed the world we lived in, in untold ways. But it didn’t. He just set up some elaborate rotating stage, hid everything behind curtains for over an hour while everything was being moved into position.

Eight year old me was captivated by the idea of a giant statue disappearing and reappearing, whether through magical or advanced technological means. A couple years later, though, I was old enough to realize it wasn’t “real” magic, and that it was some kind of cheap trick, and wasn’t as impressive as I had thought, and as a kid you really hate being lied to, you hate being fooled. It makes you feel embarrassed and dumb, and you want to hide the fact that you ever thought it was cool.

So for a long time after that, I kindof had this grudge against David Copperfield, and stage magic, and whenever I’d see someone pulling off some sleight of hand or optical illusion trick, I’d get annoyed and impatiently insist that magic is bullshit, and refuse to be impressed by it, because I wasn’t some fool. For maybe a year or two, I thought we were on the cusp of a Star Trek-promised future, with instant teleportation, or at least invisibility shields. That would have been so cool. But no, we didn’t get that.

Well, now that I’m 43, I’m back to being impressed at how convincing an optical illusion David Copperfield could create with just some mirrors and scaffolding and some cranes. Even if the entire trick required the cameras filming it to be positioned just right. That still took some serious engineering effort, and even for as limited as the result was as compared to true invisibility or teleportation, when you realize all the work and planning that had to go into it, that’s still pretty damn impressive. Just in a different direction completely than I had been (mis)lead in the first place.

So this is what I meant by “disappointed” when I found out that Champ Games puts an ARM CPU in a cartridge and through some impressive engineering hacks gets it to talk in sync with the console and run a game that blows most other Atari 2600 cartridges away. Sure, the game is impressive and it’s certainly fun to play. On the other hand, a ARM CPU is in a different “weight class” from a typical ROM cartridge with perhaps a little extra RAM or a sound chip soldered onto the board. This isn’t to take anything away from the experience of the game, or the technical wizardry required to build it.

But it’s a bit like putting a 1000cc engine into a go kart and then winning a go kart race with it against a bunch of stock go karts. It’s still a pretty cool project to put a 1000cc engine in a go kart, but when you find out that’s why that kart was so much faster than the others, it’s hard not to be a little disappointed that the secret wasn’t some method of suping up a 50cc lawnmower engine to get the performance of the 1000cc engine.

Leave a Reply