
What was done
Claude Code helped build a native Virtua Fighter 3 port by measuring Model 3 behavior, implementing an interpreter and recompiler, then checking results against Supermodel. The author reports frame-by-frame, image and sound comparisons; users supply their own VF3 ROM.
Virtua Fighter 3 Recomp translates the arcade game’s PowerPC 603e program into native ARM64 or x86-64 code at startup. The project also implements the Model 3 hardware needed by the game, including the board, tile generator and Real3D graphics. MAME code supplies the sound-board CPU and synthesizer components.
How it was done
The author’s write-up says Claude Code produced nearly all of the code under human direction. The work began by instrumenting a Supermodel reference build to measure instruction execution and writes, then building a PowerPC interpreter that matched the reference before adding the recompiler. A lockstep tool runs the interpreter and recompiled code side by side and compares CPU state, memory and device state after each frame. The author also used scripted image and audio comparisons and manually reviewed the decisions and public release.
Results
The write-up reports matching CPU state and RAM across 173,234 reference frames, and matching interpreter/recompiler state on the scripted runs. It also documents image comparisons, audio measurements and known visual differences. The project supports macOS, Windows and Linux/Steam Deck, with widescreen, higher render scales and smooth motion. It is an alpha; online play and Virtua Fighter 3 Team Battle are not supported. The repository includes no ROM data.
Reproduce
Build with a C++20 compiler, zlib, SDL 3.4 and FreeType. Run make, then launch build/bin/vf3 path/to/vf3.zip with your own MAME vf3 set, Revision D. The repository also documents vf3lock for frame-by-frame interpreter/recompiler comparisons.
Reproduce it
Build with C++20, zlib, SDL 3.4 and FreeType; run make. Launch build/bin/vf3 path/to/vf3.zip using your own MAME vf3 set (Revision D). The repo contains no ROM. For the documented parity check, use the supplied scripted-run tooling, including vf3lock.