Visual6502wiki/6502TestPrograms
There are a number of test suites for 6502, each with their own intentions and peculiarities. (Instead of using a dedicated test suite, it can also be useful to run a monitor or BASIC interpreter, although the test coverage isn't very high and the run time is. Favourites are: Apple 1 monitor, Apple 1 integer BASIC, C64 BASIC, BBC OS and BASIC.)
For the most part these test programs aim to test emulators, which are subject to different bugs than CPU implementations, and therefore the effective coverage may not be as good as expected. Such tests are generally self-checking - there is no golden results file of bus activity - and generally assume some specific platform's I/O facilities.
Self-testing (6502 ROMs and programs):
- Klaus Dormann's test suite includes decimal mode, is standalone and can be assembled to a single image around 16k.
- Wolfgang Lorenz' C64 suite exhaustive, excluding decimal mode, uses C64 facilities to chain each program (stubbing instructions here by Christer Palm) (testsuite on Tom Seddon's site) (11kbyte total) (some description) (another version with sources)
- Ruud Baltissen's 8k test ROM from his VHDL 6502 core (includes source, but only a subset of files found in the previous version)
- NES test rom by Kevin Horton (24kbyte) (haven't found source for this, he says he hasn't got clean source to release)
- AllSuiteA.asm from the hcm-6502 (verilog) project. ROM available. Load at and reset to 0xf000 and set irq vector to 0xf5a4.
- Decimal mode tests by Bruce Clark ADC/SBC (exhaustive, tests all four affected flags.) Some specific Decimal tests here.
- Test code supplied with Rob Finch's 6502 core (archive.org) (1500 bytes)
- Acid800 by Avery Lee for 8-bit Atari emulators includes some 6502 tests. See Altirra page.
- ASAP tests by Piotr Fusik includes an exhaustive test for ADC, SBC and 0x6B as well as a few tests for other undocumented opcodes
- 64doc contains an exhaustive test for BCD mode, by Marko Mäkelä. The document was originally created by Jouko Valta and/or John West.
- Tim C. Schröder's Neskell project has a collation of test suites including a pair by Blargg which might not already be mentioned here.
- The VICE project has a collection of test suites.
Test harnesses:
- py65 tests by Mike Naberezny (python)
References:
- Nesdev forum topic: "req: nestest.asm"
- Emulator tests nesdevwiki page
- 6502.org topic "New 6502 core" For Ruud's announcement
- 6502.org topic "Running test6502.a65 on Py65"
- 6502.org topic "who knows a full test code for 6502?"
- 6502.org topic "Looking for test program"
- 6502.org topic "Op-code testing"
- 6502.org topic "Functional Test for the NMOS 6502 - request for verification"