← Back to list

Nestest Binary Info

This is a conversion of the excellent nestest.nes. While the original nestest does a great job of testing CPU quirks, it can be a little…

EmulationOnline · 2025-11-15 17:07 · 0 claps · 0.8 min read
#retrocomputing #6502-assembly #6502 #programming
Open on Medium ↗
Wiki topics: 💻 · Programming

Nestest Binary Info

This is a conversion of the excellent nestest.nes. While the original nestest does a great job of testing CPU quirks, it can be a little hard to use for early CPU implementations. In order to run it, you need to support loading .NES formatted files.

I did not write the original nestest.nes, but I have found in incredibly helpful for the development of my own 6502 emulator.

In order to simplify early CPU emulator implementations, and also enable it to be used on other 6502 systems, I have extracted just the program from the .nes file, and provided it as a binary.

To use this program, load the .bin file into your emulator’s memory, starting at 0xC000. Then set PC to 0xC000, and let your emulator run.

You can check for testcase failures in memory, or compare your emulator’s state against the expected states in nestest.log to catch issues with each instruction.

Gotcha: Valid & Invalid Instructions

The nestest rom supports both valid and invalid instructions. You can see this if you look at nestest.log. The invalid instructions start at line 5004, with a illegal nop instruction.

If you just want to support valid/documented instructions, it is sufficient to ensure your emulator matches up to line 5003.

Here it is: nestest.prg.bin.

For more details see:

Originally published at https://www.emulationonline.com.


메타데이터
post_id
200027824db2
slug
nestest-binary-info-200027824db2
url
https://medium.com/@emulationonline/nestest-binary-info-200027824db2
canonical_url
https://medium.com/@emulationonline/nestest-binary-info-200027824db2
author_url
https://medium.com/@emulationonline
status
ok
fetched_at
2026-06-14 11:28:49