F-15 Strike Eagle II Reverse Engineering Project Reaches v0.9.1 Milestone
F-15 Strike Eagle II Reconstruction Reaches C-Code Completion
The reverse engineering project for the 1989 DOS game F-15 Strike Eagle II has successfully reconstructed the C source code for all game executables. This milestone marks a transition from static analysis of opcodes to active functional testing, as the project now seeks "test pilots" to identify bugs in the reconstructed binaries.
Technical Progress and Methodology
The project follows a rigorous multi-step reconstruction process to ensure the reconstructed game remains faithful to the original logic:
- Assembly Reconstruction: The first phase involved a full reverse engineering of the original binaries into assembler.
- C Conversion: The assembler is then converted into binary-equivalent compiled C code. This process continues on DOS until all assembly code is replaced by C.
- Verification: Tooling is used to ensure that reconstructed opcodes match the original binaries exactly, preventing regression during the rewriting process.
As of the current milestone, all C code has been reconstructed for all executables (including egame and end), all data has been migrated from assembly to C, and most assembly-only routines have functional C replacements. Meaningful names have also been assigned to most routines and data structures to facilitate future development.
v0.9.1 Release and Testing Requirements
The latest release, v0.9.1, is now available for testing. This version is designed to work with the original game's version 451.03 and the Desert Storm expansion pack.
Installation and Configuration:
- Replace the original executables in the game folder with the new ones (backups are recommended).
- Remove the original
f15.comto ensure the newf15.exeis launched. - The current build bypasses the setup screen and defaults to an MCGA/VGA display with no sound and no joystick support.
Testing Goals: Testers are asked to report crashes, graphical glitches, and input failures via GitHub issues. Because this is a "bug-for-bug" reconstruction, testers should only report issues that are not present in the original game. Known original bugs—such as 3D objects disappearing or the aircraft falling toward the sky when inverted and out of fuel—must be preserved in the current reconstruction.
Future Roadmap
Once all assembler code has been fully replaced and the DOS version is stabilized, the project intends to fork the repository for a porting project. This will enable the game to run natively on modern operating systems, including Linux and Windows, without the need for DOSBox or original DOS hardware.
Community Perspectives
Community members have highlighted the historical significance of the simulation and the technical challenge of decompilation. While some questioned the necessity of decompiling games that can be run in emulators like DOSBox, the project's goal is to secure the "four freedoms" of the software and enable native ports.
"Communities for these old games do an incredible job securing the four freedoms for their favourite titles, and it’s truly inspiring."
Other users recalled the high complexity of the original simulation, noting that the game was nearly impossible to play without the original manual, while others reminisced about the depth of the simulation, such as the use of doppler maps for shooting SLAMs.