DOS Game "F-15 Strike Eagle II" reversing project needs DOS test pilots
Key takeaways
- (This post is part of a series on the subject of my hobby project, which is recreating the C source code for the 1989 game F-15 Strike Eagle II by reverse engineering the original binaries.)
- I must admit the rate of progress currently experienced in the project is a little overwhelming.
- The tooling makes sure that the opcodes stay faithful to the original as we continue to make changed, but it cannot catch all bugs, particularly not the ones that have to do with data layout.
(This post is part of a series on the subject of my hobby project, which is recreating the C source code for the 1989 game F-15 Strike Eagle II by reverse engineering the original binaries.)
I must admit the rate of progress currently experienced in the project is a little overwhelming. A little over a month ago it seemed that we had several more years of laborious rewritting of assembly into C before the second game executable (egame) started looking like something, and the third one (end) still to go for dessert. Meanwhile, as of the time of writing this, all C code has been reconstructed for all executables, all data has been moved from assembly into C, most of the assembly-only code has functional replacements written in C, most routines and data structures have been assigned meaningful names, and we’re looking at forking off the repo for a porting project in the near future.
However, this explosive growth in completeness and capability also means that we’re abandoning the relatively peaceful domain of just looking at whether the reconstructed opcodes match, and we actually need to maintain a running game going forward. The tooling makes sure that the opcodes stay faithful to the original as we continue to make changed, but it cannot catch all bugs, particularly not the ones that have to do with data layout.