Skip to content

A reverse engineered, complete, and fully documented assembly language source code of STAR RAIDERS

Notifications You must be signed in to change notification settings

lwiest/StarRaiders

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Reverse Engineered And Fully Documented STAR RAIDERS Source Code

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

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.

Genome Sequence

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.

References to This Project

About

A reverse engineered, complete, and fully documented assembly language source code of STAR RAIDERS

Resources

Stars

Watchers

Forks

Packages

No packages published