128 bytes of fun —

A slow Atari 2600 emulator is now inside Minecraft—and it’s pretty cool

3D interface, slow speeds expose the machinations of the ancient 6502C processor.

Video card data represented in this <i>Minecraft</i>-built emulator of the Atari 2600 console.
Enlarge / Video card data represented in this Minecraft-built emulator of the Atari 2600 console.
Seth Bling

The world's first functioning machine emulation of a game console has arrived within Minecraft. However, it's not exactly playable. The emulator renders Atari 2600 games at a refresh rate so slow, you can only see its games, including Donkey Kong and Space Invaders, animate by using a time-lapse camera.

What's cool here, in spite of its unplayability, is how project creator Seth Bling exposes the system's machinations in an easy-to-read way for programming newbies.

Atari 2600 machine emulation within Minecraft.

"The dirt is zeroes; the stones are ones," Bling says as he pans over a giant Minecraft field on the ground of his creation. That field is dedicated to the Atari 2600's RAM, and as Bling reminds us, while the 6502C processor could support up to 64KB of RAM (a size that's visually represented), the Atari only addressed 128 bytes of it. The far end of the field is where 4KB cartridge ROM is dumped (whose zeroes and ones are also represented by Minecraft dirt and stones). The demo has a few sample cartridges floating in space; tapping a button on any of them loads that game's data into the emulator's data field.

Another portion of the Minecraft world contains an Assembly language breakdown of the system's 6502C processor, built in Minecraft's command blocks. With a cartridge loaded and the system freshly booted, the emulator gets to work, sending the processor's screen-drawing functions to a little automated builder on a giant, vertical wall. This represents the game screen.

Little Marios in the <em>Donkey Kong</em> cartridge ROM for Atari 2600.
Enlarge / Little Marios in the Donkey Kong cartridge ROM for Atari 2600.

Bling estimates that his emulator can complete roughly 20 processor instructions a second, compared to the 2600's measure of roughly 510,000 a second (0.51 MIPS). But this is a processor that's attempting pure machine emulation, as opposed to hacked trickery, and it has been built in "vanilla Minecraft" with no mods or other external boosts added. That makes this Minecraft instance a fun way to share with kids and other programming novices who might want to do things like pick through old cartridge data (which, as Bling shows off, contains full sprites that can be seen when the zeroes and ones are unspooled in a Minecraft interface).

You can download Bling's Minecraft instance for yourself here.

Channel Ars Technica