Skip to content

A photograph of a chip, running

The 6502 was not the best processor of 1975. It was the one an engineer could afford out of pocket, and that turned out to matter more than everything else combined.

One chip was destroyed to make this

The visual6502 team decapped a 6502, photographed the die, traced every polygon by hand, and gave the result away. Everything below stands on that.

The die as it came out of the package, metal still on. The ring of dark circles is the 40 bond pads; the “65 0” near the left edge is etched into the silicon itself.
The same die with the metal and polysilicon stripped off, exposing the diffusion. Aligning this to the surface shot is what makes buried contacts recoverable.
Photograph of the 6502 die surface at the register and ALU section, metal traces running over the circuitryregister & ALU section
The die as photographed, metal still on. Aluminium routing hides most of what is underneath, which is why one photograph is not enough.

3,510 transistors that moved the industry

The partMOS Technology, 1975
Debut
WESCON, Chuck Peddle's team at MOS Technology
Sept 1975
Price
against $179 for the 8080 and the 6800
$25
Transistors
counted off the traced die, not the datasheet
3,510
Package
8-bit data, 16-bit address, 64 KB of space
40-pin DIP
Clock
2 MHz for the 6502A; two phases per cycle
1 MHz
Instructions
151 documented opcodes, 13 addressing modes
56
Registers
plus S, PC and the P status byte
A · X · Y
Zero page
reachable in one byte, so it acts like 256 registers
256 bytes
Still shipping
as WDC's 65C02, 50 years on
Today

The instruction set

56 mnemonics, 151 documented opcodes, 13 addressing modes. An 8-bit opcode has room for 256, and the decoder answers to most of the rest as well, because it decodes bit patterns rather than consulting a table. The leftovers have been load-bearing in demoscene code for forty years.

ADCANDASLBCCBCSBEQBITBMIBNEBPLBRKBVCBVSCLCCLDCLICLVCMPCPXCPYDECDEXDEYEORINCINXINYJMPJSRLDALDXLDYLSRNOPORAPHAPHPPLAPLPROLRORRTIRTSSBCSECSEDSEISTASTXSTYTAXTAYTSXTXATXSTYA

Where the part landed

YearMachinePart
1976MOS KIM-16502
1977Apple II · Commodore PET · Atari VCS6502 / 6507
1979Atari 400 & 8006502
1980Commodore VIC-20 · Acorn Atom6502
1981BBC Micro6502A
1982Commodore 646510
1983Nintendo Famicom / NESRicoh 2A03
1986Apple IIgs65C816

Same polygons, new engine

The die geometry comes from the visual6502 trace untouched. What changed is how fast it can be solved and how it gets drawn.

It lights up

A node lights when it is logically high. That is not an animation: it is 3,510 switches being solved to a fixed point twice per clock cycle, and then painted.

It is connected

Tap a trace and it highlights what it is connected to at that instant. The connected group changes as transistors open and close, which is the entire point.

It is fast

About 28,500 half-cycles per second natively, roughly 94 times the original JavaScript, and the renderer redraws in six draw calls regardless of zoom, because the layout never changes.

How it is checked

Verificationagainst the original

A headless harness runs the original visual6502 JavaScript and dumps the level of all 1,725 nodes at every half-cycle. This engine matches bit for bit. Matching registers would only show agreement about the 6502; matching every node shows agreement about the silicon.

Then the datasheet oracle: documented cycle counts including page-crossing and branch penalties, the read-modify-write double write, JSR and RTS stack layout, ADC and SBC flags, decimal mode. A shared misreading of the die data would pass the first test and fail this one.

The archive is one hosting bill from gone

visual6502.org runs, but it has not been touched since January 2012, it is reachable over plain HTTP only, and browsers increasingly disagree with that. The chip collection index and the user guides are readable only through the Internet Archive.

None of that is a complaint. The team gave the work away under terms that let anyone carry it forward, which is exactly what this page is: a second copy, on hardware I control, with the links checked.

Everything 6502, in one place

43 resources in 7 groups. Anything with a warning chip has a problem you would otherwise have to discover yourself.

The source material

visual6502.org itself: the site, the simulators, the die shots, and the polygon data everything else is built on. It runs, but it has not been touched since 2012, and it is HTTP only.

ResourceWhat it isState
visual6502.orgThe project home. Last content update: January 8, 2012.http only
JSSim · the original simulatorThe 2010 in-browser transistor-level 6502. Kiosk mode: play, step, reset.ok
JSSim · advancedNode search, memory editing, logged traces, arbitrary programs. Where the real work happens.ok
Visual 6800The same treatment applied to Motorola's competitor.ok
Visual ARM1The first ARM, simulated the same way. The 6502's most consequential descendant.ok
visual6502 on GitHubsegdefs, transdefs, nodenames and chipsim: the geometry and the solver, MIT licensed.ok
6502 die shotsThe high-resolution photographs of the decapped die that the polygons were traced from.ok
The visual6502 wikiThe chip collection, the user guides, the working notes. The MediaWiki behind it now returns a 500.down · 500
Wiki, via the Internet ArchiveThe chips-in-our-collection index as it stood before the wiki fell over.mirror
visual6502 blogDecapping write-ups, new chips, and the reconstruction work as it happened.ok
6502 in Action · SIGGRAPH 2010 slidesThe talk that introduced the project. Still the best short explanation of the method.pdf
SIGGRAPH 2010 abstractTwo pages on modelling a chip as polygons instead of behaviour.pdf
FAQWhy not just write an emulator, how long a chip takes to preserve, and what the tooling is.ok
DownloadsNetlists, polygon data and images, straight from the source.ok
The original links pageThe team's own bibliography, circa 2011. Several entries have rotted; most have not.ok
15 resources

This rebuild

The same die data, re-rendered on the GPU and re-solved in a faster engine, verified node-for-node against the original.

ResourceWhat it isState
Visual 6502 · run itPan, zoom, tap a wire to trace its connected group, and watch the registers fall out of the silicon.ok
tinymachines/6502Source for the renderer, the solver, and the verification harness.ok
perfect6502Michael Steil's C port of the same netlist: the reference for how fast this simulation can go.ok
3 resources

Reference and primary documents

What MOS actually shipped to engineers, plus the modern reference sites that superseded it.

ResourceWhat it isState
MCS6500 Family Hardware Manual (1976)The original manual: pinouts, timing diagrams, bus behaviour, interrupt sequences.pdf
MCS6500 Family Programming Manual (1976)MOS teaching you its own instruction set, addressing modes and idioms.pdf
6502.org documentsThe deepest single archive of datasheets, app notes and errata for the whole family.ok
6502 instruction set (mass:werk)The cleanest opcode reference on the web: per-instruction flags, cycles and modes.ok
Obelisk 6502 referenceAndrew Jacobs' tutorial-style architecture and instruction reference, rehoused at 6502.org.ok
c64ref · 6502 tablesSide-by-side comparison of how a dozen sources document each opcode. Excellent for settling arguments.ok
MOS 6502 on WikipediaThe history, the variants, the lawsuit, and the part where it never really died.ok
7 resources

The opcodes MOS never documented

56 mnemonics were published. The decoder responds to plenty more, because it decodes rather than looks up, and demoscene coders have been mining the leftovers ever since.

ResourceWhat it isState
How MOS 6502 illegal opcodes really workMichael Steil derives the undocumented instructions from the decode ROM instead of cataloguing them.ok
Extended opcode matrix (oxyron)All 256 opcodes on one page, legal and otherwise, with cycles and flags.ok
Opcode decoding logicNeil Parker on the aaabbbcc bit pattern that makes the whole instruction set fall into place.ok
NMOS 6510 Unintended OpcodesThe definitive community document on the unstable ones, down to which are safe at which temperature.ok
4 resources

Learn it, write it, build one

The 6502 is still the best first CPU, and it is still buyable new.

ResourceWhat it isState
Ben Eater's 6502 computerBuild a working 6502 machine on breadboards, one video at a time. The modern on-ramp.ok
easy6502Nick Morgan's tutorial with an assembler and simulator embedded right in the page.ok
mass:werk disassemblerPaste bytes, get source. Handles the undocumented opcodes too.ok
6502.org tutorialsDecimal mode, interrupts, multiplication, 16-bit arithmetic: the hard-won practical notes.ok
forum.6502.orgStill active, still answering questions, still the place homebrew designs get reviewed.ok
Western Design CenterBill Mensch, co-designer of the original, has been selling CMOS 6502s continuously since 1981.ok
6 resources

The chips it shared a board with

A 6502 on its own does nothing visible. The machines people remember are the 6502 plus one strange custom chip.

ResourceWhat it isState
NESdev · CPUThe Ricoh 2A03: a 6502 with decimal mode fused off and a sound engine bolted on.ok
C64-Wiki · 6510The 6502 with an I/O port grafted into zero page, which is how the C64 banks its memory.ok
StellaThe Atari 2600 emulator. The 2600 had 128 bytes of RAM and no framebuffer: the CPU drew the picture.ok
AtariAgeTIA schematics, the STELLA programmer's guide, and thirty years of 2600 programming threads.ok
Apple II FPGAStephen Edwards rebuilds an entire Apple II, 6502 included, in reconfigurable logic.ok
5 resources

Worth reading properly

Three pieces that explain why anyone bothers tracing polygons off a 50-year-old die.

ResourceWhat it isState
Simplicity BetrayedGeorge Phillips on why emulating a simple machine accurately is so much harder than it looks.ok
The 6502 and the best layout guy in the worldRuss Cox on hand-drawn layout, and how much of the 6502's elegance is physical rather than logical.ok
Intel 4004 35th anniversary projectThe reconstruction effort that visual6502 explicitly took its cue from, and diverged from.ok
3 resources

Credit

This exists because the visual6502 team decapped a 6502, photographed the die, traced it by hand, and gave it away: Greg James, Brian Silverman, Barry Silverman, Ed Spittles, Segher Boessenkool, Achim Breidenbach, and everyone else who contributed.

Code is MIT. The die geometry is CC BY-NC-SA 3.0, attributed to Greg James and www.visual6502.org, and those terms carry to this deployment and to anything you take from it.