Bill Zissimopoulos' 6502ctl Lets an Arduino Mega Take Control of a Classic MOS 6502 Microprocessor
Bill Zissimopoulos has developed a platform designed to make it easy to play around with the classic MOS Technology 6502 processor — by replacing the rest of a functional microcomputer system with an Arduino board.
Developed by Chuck Peddle and colleagues, the MOS 6502 launched in 1975 as the cheapest microprocessor on the market — a feature that undeniably helped popularize its use in a range of projects, from games consoles including the Atari 2600 and Nintendo Entertainment System to the Apple II, Commodore 64, and BBC Micro. Amazingly, for a microprocessor soon to reach its 50th anniversary, the part's still in production today — making it a tempting target for tinkerers looking for a vintage experience.
"The 6502ctl project is an Arduino controller for the 6502 CPU," Zissimopoulos explains of his project. "The controller controls all 6502 pins, including the clock signal and interrupts, and simulates an address and data bus with attached memory and an output peripheral. The controller includes a clock-cycle debugger with disassembler. An assembler is also included with the project."
Designed for an Arduino Mega 2560 board, and designed for use with Western Design Center's modern W65C02S CMOS 40-pin PDIP version of the chip, the 6502ctl takes the place of all the other components you'd usually need to build a working microcomputer from a 6502. Simulated address and data buses are provided, alongside a 16kB ROM and 4kB RAM, and there's support for peripheral interrupts.
The project also provides access to a debugger using the Arduino IDE's Serial Monitor, or any other serial terminal, but it's not designed for direct development: While many 6502-based microcomputers would have a programming language, usually BASIC, in ROM, the 6502ctl relies on development taking place on a connected host computer for compilation to a ROM file.
The 6502ctl project is available on GitHub under the permissive MIT license.