Coder Social home page Coder Social logo

starraiders's Introduction

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

starraiders's People

Contributors

lwiest avatar

Stargazers

 avatar  avatar Jez Tucker avatar Michael Letterle avatar  avatar Artifex Maximus avatar  avatar  avatar Ken Miller avatar  avatar Glenn Goldenberg avatar Ralph Caraveo avatar Giovanni Micalizzi avatar Marc-Alexandre Espiaut avatar Timo de Kort avatar Greg Gallardo avatar  avatar Francis avatar Boris Rusev avatar Yarpen Wong avatar  avatar Masanori Ogino avatar Jeffrey H. Johnson avatar Filip Grujoski  avatar André L. Alvares avatar Nicolas Sauzede avatar veganaiZe avatar Haroldo de Oliveira Pinheiro avatar  avatar Alexandre Lehmann Holzhey avatar Brad Polant avatar P. Todd Decker avatar seclorum avatar Paul Bunn avatar Plucky Porcupine avatar Todd Bartholow avatar SteveC1331 avatar  avatar  avatar Aaron Wright avatar  avatar Jason Boyer avatar Adam Eberbach avatar  avatar Jeff Glasse avatar Jon Mayo avatar Joshua Mason avatar  avatar John Tsombakos avatar Sylvain Glaize avatar Vladimir Janković avatar W. Garrett Mitchener avatar Michael Nelson avatar Hrushikesh Turkhade avatar RaycatWhoDat avatar Roland avatar Steve Lemuel avatar NaturalTangent avatar Rodrigo Falcetta Laperuta avatar shekk avatar Ken Jennings avatar  avatar dmnlk avatar Steven K avatar Endrigo Antonini avatar Eli Simpson avatar Micky Gough avatar Jonathan Thomas avatar rys avatar Khralkatorrix avatar Tennn avatar Maciej Miszczyk avatar Lou Rinaldi avatar Gareth avatar Dylan McNamee avatar John Pyper avatar Cole Hudson avatar Christoph Flügel avatar Carrotsrc avatar Robert Swierczek avatar Saad Inam avatar superzazu avatar  avatar Milo Mirate avatar NellyRH avatar Andrei Dragomir avatar Stephen Kitt avatar Stefan avatar  avatar Wei Wu avatar Yueping Qian avatar Frank avatar Zou Guangxian avatar ::1 avatar Yohanes Nugroho avatar Marcin Siepetowski avatar José J. Cabezas Castillo avatar  avatar Josh Kopin avatar Liam Cottam avatar

Watchers

MooZ avatar Dylan McNamee avatar James Cloos avatar Joshua Mason avatar  avatar Jeff Glasse avatar Steve Mynott avatar  avatar Joseph Carter avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.