Showing results for 
Search instead for 
Did you mean: 

MCL65 open-source 6502 processor core now powers Atari 2600 VCS and Apple 2—runs on Spartan-7 FPGA. Download it now

Xilinx Employee
Xilinx Employee
0 0 27K


Previously, I wrote about MicroCore Labs’ cycle-exact MCL65 soft-core version of the venerable 6502 microprocessor, which found its way into many significant microprocessor-based designs in the 1970s, 1980s, and beyond. When I wrote about the core, instantiated in less than 1% of a Xilinx Spartan-7 S50 FPGA, it was operating a Commodore VIC-20 personal computer. (See “Cycle-exact 6502 processor clone fits in 0.77% of a Spartan-7 (and Spartan-3) FPGA, powers VIC-20 PC.”) Now, there’s further evidence of the core’s cycle-exactness: it’s running an Atari 2600 VCS (Video Computer System) and an Apple II personal computer. Both of these machines were introduced in 1977 and both are significant in the context of the MCL65 processor core because both of them rely entirely on instruction-level timing loops for critical functions.


The Atari 2600 VCS intimately ties its video to the NTSC timing of analog TV because it only had 128 bytes (not mega-, not kilo-, just plain old bytes) of RAM. That’s too small for a frame buffer so the processor had to generate a new screen 30 times a second and stay in sync with the TV’s horizontal line drawing and vertical refresh rate. (See’s fascinating “Racing the Beam: How Atari 2600's Crazy Hardware Changed Game Design.”)


Here’s a photo of MicroCore Labs’ MCL65 processor core running on a $109 Digilent Arty S7 Spartan-7 FPGA dev board and operating an Atari 2600 VCS:




MicroCore Labs MCL6502 processor running an Atari 2600 VCS.jpg


MicroCore Labs’ MCL65 processor core running an Atari 2600 VCS, using a Spartan-7 FPGA




Then there’s the Apple II personal computer. The legendary Steve Wozniak designed the Disk II floppy disk drive for the Apple II. After studying existing floppy-controller designs based on discrete TTL chips (North Star Computers) and the WD1771 floppy controller, he decided that he could do better with less hardware. His controller design was simpler in terms of hardware, relying on precise, instruction-level processor timing to encode data to be written to the disk and to decode the signals coming off the disk. According to Wikipedia, Wozniak call the Disk II project “my most incredible experience at Apple and the finest job I did", and credited it and VisiCalc with the Apple II's success.


Here’s a photo of MicroCore Labs’ MCL65 processor core on a $109 Digilent Arty S7 Spartan-7 FPGA dev board operating an Apple II personal computer and booting Apple DOS 3.3 from a Disk II drive:




MicroCore Labs MCL6502 processor running an Apple II PC.jpg


MicroCore Labs’ MCL65 processor core booting Apple Dos 3.3 from a Disk II drive for an Apple II computer, using a Spartan-7 FPGA




So far, this is all somewhat interesting on an intellectual level but what’s in it for you? How about downloadable source code for MicroCore Labs’ instruction-cycle and bus-cycle accurate MCL65 processor core? Click here.






Tags (1)