65F02 Is a 100 MHz Drop-In Replacement for Vintage 8-Bit Computers
FPGA on a 40-pin package boosts performance on the C64 and Apple II.
Microprocessors like the 8-bit 6502 from MOS Technologies were at their height of popularity during the 1980s and 1990s. A modern variant of the original design is still available today that runs up 14 MHz. However, Jürgen Müller's latest project advances that number by an order of magnitude. The 65F02 is a 6502 pin and instruction compatible processor replacement that runs at 100 MHz!
65F02's 40-pin DIP compatible PCB fits directly into a socket designed for a 40-pin IC. The top side has the Spartan-6 FPGA, flash memory, configuration switches, and an LED. The bottom side of the board contains decoupling capacitors, regulators, and logic level shifters.
The part number "65F02" fits nicely into the 6502's lineage. When MOS Technology first developed the 6502, it licensed the design to other chip manufacturers. Some of those had process variants. Later, the 65c02 emerged, which was a CMOS version. That particular style is still available today from Western Design Center (WDC), the last remnants of the original MOS company. That chip, however, "only" runs up to 14 MHz. Somewhat slow compared to today's clock speeds, but blazing fast to the original 2 MHz limit.
(Side note, WDC is often confused with the drive manufacturer with a similar name. However, there is no connection between the two companies.)
Internally the 65F02 runs at 100 MHz. However, external bus access operates slower to accommodate system buses that are not ready for 40 years of computing advancements. In addition, 65F02 mirrors external video memory to internal fast RAM to make video operations faster.
Addressing RAM on older systems did present a challenge. The original 6502 had a 16-bit address bus, which means it could only access 64 kilobytes of memory space. As a result, most computers implemented bank switching to address more memory. However, each computer design took a different approach.
For example, the Commodore 64 used a modified 6502 with I/O pins dedicated to selecting banks. The Apple II, on the other hand, used "soft switches," which could reconfigure the memory map entirely from software. So, to accommodate bank switching, 65F02 has to have machine-specific implementations when you want more than 64K of RAM. (Even with today's advances, there are still trade-offs when working 8-bit hardware!)
Müller made all of 65F02's design files available. For the schematic and PCB, there are Eagle files. You need Xilinx WebISE 14.7 if you want to modify the FPGA code. And to program the FPGA, Müller used the same programming hardware used in the TinyFPGA project. Head over to "The 100 MHz 6502" on Müller's site for all of the details.