Michael Fogleman

Projects • About • Resume • More

Asteroids Emulator June 2024

Go Emulator Vector

An emulator for the original 1979 Atari Asteroids arcade machine, written in Go.

Asteroids is interesting because it used a vector display. Instead of drawing pixels, the game steered an electron beam around the screen to draw lines directly. The arcade machine has a 6502 CPU, so I was able to reuse the CPU code from my NES emulator. The other major component is the Digital Vector Generator, which has its own little instruction set for moving the beam, drawing lines, and even calling subroutines. My code interprets these instructions and renders the resulting line segments using gg.

It runs the original ROMs, but it's far from finished. It boots up and runs the attract mode, as shown in the animation, but there's no input or sound yet. So you can't actually play it. I mainly did this to pair it up with some Formlabs hardware to draw the game using 3D printing galvos and a laser pointer!