RAMless Pong for Atari 2600

In contrast to the amazing Galaga port to the Atari 2600 that I discussed in a previous post, here is an amazing accomplishment: a full implementation of Pong in 1kb of ROM, which uses 0 bytes of RAM at runtime.

This isn’t the first time I’ve heard of an old computer system being hacked in such a way that its program doesn’t use any RAM. Several years ago, I saw a talk by someone who had done something similar on the Commodore 64. They eschewed storing any data in RAM by using the CPU registers and directly accessing other hardware components such as the controller ports, and were able to make a working program that used no RAM at all.

It’s truly amazing what can be done under such constraints.

I think, in appreciating the accomplishment of projects like this, it’s easier to understand my relative “disappointment” in learning that Champ Games had used a 32-bit, 70MHz ARM CPU in their Galaga cartridge to augment the VCS system, rather than figured out some way to get the game to run on stock (or minimally extended, as some later contemporary releases for the VCS were) hardware.

I regret that it sounded as though I thought that the game itself was disappointing — far from it, it’s amazing, easily one of the best ports of an arcade game to the platform that’s ever been produced. And the technical accomplishment of getting the ARM CPU to mesh with the much slower Atari hardware is likewise amazing, in a different way. But knowing what’s possible to do with zero RAM, for a moment I thought that just maybe someone had figured out a way to squeeze all that performance and graphics into a standard Atari cartridge.

But really, there’s no reason to judge one of these projects as superior to the other. They should both be appreciated. One accomplishes something through extreme minimalism, and is beautiful in that way. The other accomplishes something through an extraordinary joining of old and new technology, and is beautiful in its own right.

Leave a Reply