Taking apart Rockford, a 1988 DOS game
Rockford: The Arcade Game came out for MS-DOS on floppy disk in 1987 and 1988. This project read the files on those disks and the program's instructions, worked out how the game ran, and rebuilt it from that. All the research is published here, and both rebuilds run in the browser.
Why this exists
It was my favourite game as a child, on an Amstrad PC 1640. I wanted to know how it worked, so I took it apart.
Daniel Grimes
Nothing here is for sale and nobody is paying for it. None of it is secret either. In another twenty years it would have been much harder to recover, because nobody was going to look.
The research
File formats
How the game stores its caves, pictures, cartoons and music, and what is inside the executable.
Original engine rules
The rules the simulation follows, read instruction by instruction instead of guessed from play.
Hidden worlds
Five worlds the 1988 menu cannot reach. Two shipped in 1987 and were withdrawn; the other three were never on the menu of a home release.
The caves, drawn whole
All forty caves at full size, which the game never shows.
Every object, ten ways
What each object does, and how each of the ten worlds draws it.
Music and sound
One tune, stored as a tracker, and no in-game score at all.
Sources and earlier work
What others found first, where this work agrees with them, and where they corrected it.
The C# rebuild
An engine written from the disassembly, one handler at a time.
VIP: art and sound
The enhanced build, with all ten worlds' sprites and the cartoons redrawn, and how it was done.
Aleksi Sahala's Rockford Remake Project, begun in 2006, worked from the game's data with a hex editor and by playing it. This project read the code. Where the two overlap they agree, which is about as close to proof as this work gets.
Ten worlds
The game has ten worlds of four caves each. The 1988 menu offers five, and the other five are still in the cave file. Each picture is a world's first cave, drawn whole in the enhanced build's art.
The enhanced build's pictures of the five hidden worlds are generated from Aleksi Sahala's reconstructions of their art. They are derived from his drawings, not this project's own work.
What the work involved
Three DOS releases were examined: EGA from November 1987, EGA from January 1988 and VGA from February 1988. A second build of the VGA executable, found later on 5.25-inch disks, differs only in its display code. The Amiga, Atari ST and Amstrad CPC versions were read for comparison.
The work came in four kinds:
- Reading the disks. Getting the files off and working out what each holds and how it is laid out, until every file accounts for itself to the last byte.
- Reading the program. The game ships compressed. Once unpacked, its instructions show the rules it actually follows, which are not always the ones it seems to follow in play.
- Writing it down with the evidence attached. Every statement on this site points at its proof.
- Building it again and checking that it behaves the same, which is what catches a misreading.
Keeping proven things apart from likely ones did most of the work. An early version reasoned from how the levels were designed and confidently got eleven rules wrong at once. Everything since has come from the program's own instructions.
Where it stands
The research is done, and both builds are built. What is still open is said on the page it belongs to: real play not yet compared against the original, whether VIP's music can ship, and whether more of the hidden worlds' art ever turns up.
The faithful build
Every routine in the original's handler table is now ported, the two worms included, along with the bonuses and the status row of lives, treasure count, points and clock. When a cave ends it plays the original's WIN, LOSE or TIME cartoon. It plays all ten worlds, the five hidden ones drawn with Aleksi Sahala's reconstructions. On 7 October 2026 he agreed to the use of his tilesets, on condition that he is credited with a link to his repository; the faithful build uses them as they are, and VIP's hidden worlds are generated from them.
The enhanced build, VIP
VIP draws all ten worlds in new art: 139 positions in each, 1,390 tiles in all. It plays the WIN, LOSE and TIME cartoons redrawn for the five 1988 worlds, 90 frames in all. The hidden five have none, because the art they come from has none. Its sound effects are eight procedural one-shots. Two things are left: whether the music can ship, and the name.
What you can do here
- Read all of it. All the research on this site is public.
- Both builds are served at /play/. Each plays the original forty caves, copied from the 1988 game, and the faithful build also uses the original artwork, cartoons and music. Permission to publish either has not been obtained. What the builds are.
- The enhanced build uses less of the original. Its sprites and cartoons were generated with the original's own as reference images, its hidden worlds from Aleksi Sahala's drawings, and its title art from a description. Its music is a remix of the 1987 theme. None of that establishes that it is cleared, and none of it covers the caves.
About and access explains that line, and what is deliberately left off the site.
Credit, and corrections
Rockford: The Arcade Game began in 1987 as an arcade game on Arcadia Systems' Amiga-based hardware. Icon Design ported it to the Amiga, and Synergistic Software adapted that version for the PC, published by Mastertronic. The PC program carries its own credits:
- MS-DOS version by Synergistic Software, programmed by John Conley
- adapted from the Amiga version by Fernando Herrera and Tony Manso, with assistance from Todd Weiss
- graphics by David Schroeder, Walter Meyers and David Johnson
- music by Nick Scarim
- game puzzles by Fernando Herrera and Peter Liepa
- based on Boulder Dash, by Peter Liepa with Chris Gray
Corrections are welcome. Several of the better findings here exist because an earlier confident statement turned out to be wrong. dan@dbhq.uk.