Case study
Project Arwing (2): Star Fox 2 recompiled from a matching disassembly
Rebuilds Star Fox 2 from a coverage-seeded 65816 and SuperFX disassembly that reassembles to the original ROM, then translates it statically to C for native Windows, macOS and Linux builds. Unreached code and RAM code that differs from the ROM run through an interpreter, and the README reports identical per-frame hashes against interpreted runs. It accepts the SNES Classic release image, not the 1995 prototypes; results remain project-reported.
- Targets
- Game
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
Requirements & limits
- Prerequisites: Supply your own Star Fox 2 ROM from the SNES Classic / Mini release, matching the SHA-1 in README; the 1995 prototypes will not work. Graphics, models and music are extracted from it at build time, and battery saves are written beside the rebuilt ROM. No game data is included.
- Prerequisites: Releases target Windows x64, macOS 11+ (not notarized) and Linux x86_64/ARM64 AppImages. Source builds need Python (3.10+ on Windows) with Visual Studio 2022 Build Tools, Xcode command-line tools and SDL2, or gcc, SDL2, FreeType and DejaVu fonts; tools/build.py chains extraction, assembly, recompilation and compilation.
- Scope: README reports a byte-identical ROM rebuild, 66,520 65816 and 23,186 SuperFX instructions, and 99.7% CPU / 100% SuperFX dispatches running recompiled over 20k gameplay frames, listing intro, title, menus, map and missions as playable. Labels are auto-generated, unreached code stays as interpreted data, and audio was checked only indirectly. README says Smooth mode removes slowdown but, unlike the Star Fox project, adds no interpolated 60 fps frames yet.
- Testing evidence: tools/build.py compares the reassembled ROM’s SHA-1 but only warns on a mismatch, and the documented contributor check diffs --hashlog output from recompiled and --interp runs. HD 3D hooks one of several projection routines and recovers sub-pixel positions for about 66–90% of vertices.
- License: MIT covers tools/, src/, installer/, res/ and the build scripts; LICENSE excludes asm/, a disassembly of Nintendo's Star Fox 2 code, and anything extracted from a ROM. This is an unofficial fan project unaffiliated with Nintendo.
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · carlosrmz009/arwing2 · Revision 15af0bf
- LICENSE GitHub · carlosrmz009/arwing2 · Revision 15af0bf
- tools/build.py GitHub · carlosrmz009/arwing2 · Revision 15af0bf
More in Games
- Project Arwing: Star Fox recompiled from a matching disassembly · Case study
- RaceWave46: an AI-assisted Wave Race 64 recompilation for Windows · Case study
- Saints Reborn: a ReXGlue static recompilation of Saints Row · Case study
- Savage Wind Recomp: statically recompiling The Legend of Zelda: Breath of the Wild · Case study
- SF2Recomp: statically recompiling Shadow Fight 2 for native platforms · Case study
- Sin & Punishment: a work-in-progress N64 static recompilation · Case study