Asteroids Disassembly

Asteroids EPROMS

The following files make up the code that runs the game and stores the vector data. The top file is the include file that provides human readable names to all the registers. No actual code is generated by the file, but it is required by the assembler.

The second file is the actual game code and can be reassembled to make a working copy of the firmware. The file assembles into a single binary image but can be broken into three equal parts and fit into the original three EPROM chips that were on the Asteroids PCB. A hex editor can easily divide the file into pieces. The top third of the assembled file is the EF2 EPROM(035145-04). The middle third is the H2 EPROM(035144-04) and the bottom third is the J2 EPROM(035143-02).

The third file is the vector ROM. This contains the graphics for the game and some data tables. I included information about the structure of the vector generator commands at the top of the file for convenience. When assembled, this file is the NP3 EPROM(035127-02).

Asteroids Disassembly Repository Disassembled Firmware
Asteroids Arcade Game
Asteroids Arcade Game

Helper Programs

I also built some little Java programs to help decode the vector data and language data. Decoding and formatting the data by hand would have been error prone and time consuming. Below are those programs. AST_VectConvert reads through arrays of data and converts it into the vector data format used in the vector ROM file. AST_Text formats the language sections of the code.

Asteroids Java Helpers