6502 by dbhqGitHub

About

This is a cycle-accurate 6502 and 65C02 core in C#, and the aim of implementing as many 6502-family machines as possible on it, each one proven. It is built in public: the design, the plan, the code and a journal of every step are in the repository.

What proven means

The core is checked against Tom Harte's SingleStepTests, a published record of every opcode's bus activity, cycle by cycle, against whole programs that check their own results, and against a model of the chip's transistors. A machine counts as implemented only when it runs in the browser and passes an automated test in CI. Where the work knowingly differs from a reference, that is written down on the status page.

Nothing typed by hand

The figures on the home and status pages are read from the test results of the latest build and from dated measurements. The build fails if a figure is missing.

Illustrations

The images here were generated. They are illustrations, captioned as such, and none is used as evidence. The die is a plausible one drawn by a model, not the 6502's real layout.

Licence

MIT. No ROM, no game and no third-party test program is committed to the repository.

This site uses Google Analytics to count how many people read these pages. No cookie is set unless you accept, and every page works exactly the same either way.