Skip to content

How emulators are tested

We run an emulator only when a question needs a real answer. That is an issue, a fix we send to a project, or a check before a release.

A page that relies on a run says so in a Proof line. Every run is on the Measurements page.

  • A script runs the emulator with no window and no sound.
  • It starts a game and runs it for a set time.
  • A test that compares files runs each case at least twice.
  • It compares the screens with ones we checked by eye.
  • It reads the emulator's log to see which BIOS it ran.
Result Meaning
works the game reached a screen it shows when it works
works on its built-in BIOS it worked, but the emulator refused the file and ran its own BIOS
BIOS error the emulator said a BIOS is missing or wrong
crash the emulator stopped
hang the screen stayed blank, or the run never ended
unknown none of these could be shown
no verdict an older test that only compared screens
  • It shows the first minutes of one game, not the whole game.
  • It sees the files the emulator opened on this path, not every path.
  • Some emulators run their own BIOS when yours is refused. The game still works.
  • The app you play in may change settings the test left as they were.

The game runs with no BIOS and with the BIOS alone. Then it runs with a wrong file under the BIOS name: zeros, half the file, or another region's BIOS.

  • Required: no BIOS fails, the BIOS alone works.
  • Built-in stand-in: no BIOS still works.
  • Checked: a wrong file is refused.

Each result is a full record in the measurements/ folder of this project. It names its method, the computer and the exact build of the emulator. A record is never changed once added.

The results so far ran on these computers:

Computer Tests
13th Gen Intel(R) Core(TM) i9-13900K, 12 CPUs, x86_64 Linux 6.18.54.1-microsoft-standard-WSL2, Python 3.12.3 224