A Contra fan port checks 40,000 frames against the NES original
The C and WebAssembly port compares game state, pixels and sound, with stages one through four reported identical.

Contra’s jungle can look right while a shot, jump or enemy timer behaves differently. This fan port compares what happens behind the pixels as well as the pixels themselves.
The project README says its C core is checked against a Mesen 2 recording. Each frame compares RAM, graphics tables, palette, sprite data, graphics registers, sound state and the final image. Its stated result is “Stages 1–4 are identical” across the recording, including sound.
The translation starts with an annotated 6502 disassembly credited to vermiceli and earlier work by Trax. From there, the game became C, then WebAssembly. The repository also retains the assembly and documentation.
The browser player requires your own Contra US ROM. The maker says the ROM stays local, and no game data ships in the repository. Keyboard controls include arrows, A to fire and S or Space to jump. Two-player mode uses WebRTC lockstep.
Forty thousand matching frames describe that recording and those stages. They do not establish every possible input sequence or the later levels. This is the developer’s parity claim; this desk check did not rebuild or replay it.
Stages 5 onward and inputs outside that recording remain the interesting boundary. A familiar jungle is easier to trust when the project shows where its comparison stops.