STAR RAIDERS is a seminal computer game, published by Atari Inc. in 1979 as one of the first titles for the original Atari 8-bit Home Computer System (Atari 400 and 800).
During the last years, as a hobby afterhours project, I reverse engineered a complete, extensively documented assembly language source code of STAR RAIDERS. I reverse engineered the source code directly from the binary file of the ROM cartridge, finishing it in September 2015.
This GitHub repository contains both the reverse engineered
- assembly source code input (StarRaiders.source.asm.txt) and
- assembly source code output (StarRaiders.source.txt).
You may find this useful if you are curious about the internals of STAR RAIDERS or if you are planning to make your own, modified version.
After very positive reader feedback on the initial release of my reverse engineered source code I reviewed it again, resulting in a minor update.
Enjoy — Lorenz
PS: I was absolutely thrilled to learn that in October 2015 scans of the original STAR RAIDERS source code re-surfaced.
To my delight, an inspection of the original source code confirmed the findings of my reverse engineered version and caused only a few trivial corrections.
Even more, the documentation of my reverse engineered version could add a substantial amount of information to the understanding of the often sparsely commented original (quite expected for source code never meant for publication) – from overall theory of operation down to some tricky details. So, if you are interested in learning how STAR RAIDERS works, my reverse engineered source code could be of help to you.
The picture below shows the “genome sequence” of the reverse engineered STAR RAIDERS 8 KB ROM (which I prepared for a publication). I created it as follows: First, I stacked the 8192 bytes vertically. Each byte is represented by a tiny, solid horizontal line of 8 pixels. Then, I split the stack into strips of 192 bytes and arranged them side-by-side. The bytes are color-coded:
- Code (main game loop and subroutines) is in alternating shades of blue .
- Data (lookup tables, texts, etc.) is in alternating shades of green .
- Bitmap data (Player-Missile shapes and character set) is in alternating shades of purple . The solid line of a byte is replaced by its actual bit pattern.
- Star Raiders Tribute Page
- Atari Wiki - Star Raiders
- Atari Wiki - Star Raiders source code by Lorenz Wiest
- AtariAge Forum - Star Raiders Source Code to be released?
- AtariAge Forum - Fully documented, reverse-engineered STAR RAIDERS source code available
- Wikipedia "Star Raiders"
- ANTIC The Atari 8-bit Podcast
- Brainwagon - Deconstructing the Classic Atari Game: Star Raiders
- Article "Reverse Engineering Star Raiders", PoC||GTFO 0x13, p. 5-20, October 2016