Play

The reference emulator and a model's emulator, both running in your browser as the same WebAssembly the grader loads, fed the same input every frame. Replay the grader's own recorded playthrough, or play it yourself and see where the two machines stop agreeing.

Reference (RustyNES)
Emulator
Difference: differing pixels over the dimmed reference
Frame0
Frames that differ0
First difference—
Pixels off, this frame0

Keyboard: arrows or WASD, X = A, Z = B, Enter = Start, Shift = Select. Switch Input to "Your keyboard" to play; in "Grader replay" both emulators get exactly the inputs the grader used.

What you're looking at

This is the grader's lockstep loop, moved into the browser: each frame, both emulators get the same controller state, run one frame, and their 256×240 palette indices are compared. "Frames that differ" counts frames with any differing pixel, which is stricter than the score, since the video metric forgives differences too small to see. Nothing here is scored, and nothing leaves your browser.

Things to try:

The reference is RustyNES (GPL-3.0) built for the NES Eval ABI from reference/. Model emulators are the final commits of their attempt repositories. Homebrew games are redistributed under their own licenses, linked next to each game.