Emulation is a facinating and incredible capability. Using the tools presented
here, you can accurately test your 6502 code and perfect it before ever
loading it into an actual machine. Emulators allow your computer to simulate
the functions of a 6502 microprocessor (and in some cases the support chips)
right on your computer, entirely through software. By eliminating the delays
of transferring and testing your code on a "real" 6502 machine, emulators can
dramatically speed up your development process.
Web-based 6502 Emulators
This website by Stian Søreng is a small assembler and emulator written entirely in
Easy 6502 -
Nick Morgan built on Stian Søreng's work to create an online 6502 tutorial. It introduces
the 6502 in several lessons, starting from the basics and building up to a working
game. Each lesson presents example code that can be run in an emulator on the same page.
Visual Transistor-level Simulation of the 6502 CPU -
photographing a 6502 chip die, converting those images to vector
polygons, then building maps of transistor connections from those. It
is an accurate representation of the 6502 in its most intricate details.
assembler, disassembler, and emulator that runs in your browser. Its
CPU code is based on
C-code for Macintosh by Earle F. Philhower III and available under the GPL. This
page also includes a 6502 instruction set reference.
Desktop-based 6502 Emulation and Simulators
6502 Emulation Core for 680X0 -
Leslie Ayling has written this emulation core for 68020 and higher processors.
While written for the Amiga to emulate the OSI Superboard II, it can be easily
adapted to other applications.
65C02 Emulator for Windows -
This Windows 95 program will emulate a 65C02 microprocessor in a basic system.
It includes a simple ROM monitor to get started with. One of its interesting
capabilities is the ability of the emulated processor to access PC resources
like the LPT port.
6502 Macroassembler & Simulator -
Michal Kowalski has created this integrated development environment for
Windows that allows your to write, assemble, debug, and simulate your 6502
Aaron Mell has written a 6502 emulator in C# and WPF (Microsoft .NET). It allows
you to load a program into memory and step through it, watch registers, and
Dan Boris's "6502 Processor Page" features his 6502 simulator for MS-DOS.
cl-6502 - Brit Butler
has written a 6502 emulator, assembler, and disassembler in Common Lisp.
go6502 - Paul Annesley
has written an emulator and debugger in go for the
pda6502 homebrew computer.
go6502 features a stepping debugger with breakpoints on instruction type,
register values and memory location
Hardware Console Design -
As a project for Princeton University, Ian Buck developed a hardware
simulation of the original 6502-based Nintendo game console.
i6502 - Ariejan de Vroom has written
a 6502 emulator in Golang.
lib6502 - Ian Piumarta's
tools for emulating a 6502 microprocessor include lib6502, a C library, and
run6502, a command line tool. (Download from 6502.org)
Mac 65C02 Simulator -
Ron Kneusel's "The Incredible 6502" page includes a few tutorials, portable
'C' source code for a simple 6502 assembler, and the first simulator for
My Little Simulator -
Mertkan YILDIRIMLI is developing a 6502, 65C02, and 65C816 macroassembler
and simulator for Windows using Delphi 7.0. This is a work in progress and
includes full source code.
Py65 - Mike Naberezny has written a
Python package that simulates the 6502 and 65C02. It includes a monitor program.
Sheldon Simms' 65C02 simulator and debugger for Linux/GTK systems can load
binary images or S-record files containing 65C02 code and execute it. Sim65
allows you to see and alter registers & memory, set breakpoints, single step,
Charles R. Bond has written a 6502 simulator for Windows that resembles the
early 6502 single board computers such as the KIM-1.
Symon - Seth Morabito has written an NMOS 6502
simulator in Java. It simulates a system with 32KB of RAM, 16KB of ROM, a 6551 ACIA, and a 6522 VIA.
SYS8 Platform & Simulator -
SYS8 is an imaginary 6502 platform by Markku Alén. This page contains a simulator for it
with full assemble and disassemble features that is capable of running Synertek Basic 1.1.
Rich Whitehouse has built a multi-purpose emulator for the NMOS 6502 microprocessor
that runs under Win32. Some of its features include a plugin system, disassembler,
and debugging functionality.
6502 Test programs (for emulators and re-implementations)
Klaus Dormann's test suite -
portable, includes decimal mode, is standalone and can be assembled to a single image around 16k. Binaries
are in a subdir.
(See also this forum thread.)
Wolfgang Lorenz' C64 suite -
exhaustive, excluding decimal mode, uses C64 facilities to chain each program. 11kByte total.
There's some description of the suite here.
Christopher Palm offers stubbing advice here.
(A different revision with sources.)
Ruud Baltissen's 8k test ROM -
from his VHDL 6502 core (includes source, but only a subset of files found in the
NES test rom -
by Kevin Horton (24kbyte) (no sources, but some information here)
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 and several CPU versions.)
(Some additional tests here
in the visual6502 project.)
Rob Finch's tests -
from his 6502 core (now offline, so link is to archive.org) (1500 bytes)
by Avery Lee for 8-bit Atari emulators includes some 6502 tests.
See Altirra page.
ASAP tests -
by Piotr Fusik include exhaustive tests for ADC, SBC and 0x6B as well as a few tests for other undocumented opcodes.