Here’s the latest email newsletter I receive every few weeks from James Bowman, silicon IC and J1 Forth CPU designer.
James started his professional career in the UK writing 8-bit computer games in the early to mid 1980s.
He now lives in Northern California, but spends several months a year working in a south-east Asian IC design and Fab plant.
His designs are mainly for video generation hardware devices, having previously spent some time working for Nvidia on GPU designs.
In the 8-bit era, the 6502 was incredible popular microprocessor. Enough people got to know it very well that there is now a powerful nostalgia-fuelled movement to keep the 6502 going. Not necessarily in a physical form, though that is popular too, but mostly through emulation and simulation.
To be clear, the 6502 is incredibly puny by today’s standards. For comparison, a 6502 running Steve Wozniak’s floating point code might achieve 10 Kflop/s (10 thousand operations per second). Spending $180 on a current desktop graphics card will get you 4 Tflop/s. That’s half-a-billion times faster. Easily noticeable.
I was looking at 6502 options this weekend, when I saw that the CMOS 6502 - the W65C02 - is actually 3.3 V tolerant, and amazingly is actually available to buy on Amazon! What a wonderful opportunity - the Dazzler has 27 available IOs. This is just enough to interface to the W65C02 address, data and control busses. No tricky level-shifting. No additional components at all, in fact, because the FPGA can even supply the 6502’s clock.
From the 6502’s point of view, memory and peripherals all function normally. The FPGA provides all these things, so just by changing the contents of onboard FPGA RAM it can load a program into the 6502.
This is the hastily-made board I came up with to try out this idea. The Dazzler will go into the socket on the left, and the 6502 goes into the 40-pin socket on the right.
As you can see, it’s just an enormous connection of every 6502 pin to one of the Dazzler’s IOs. Two of the Dazzler pins go to the UART header on the left so I can communicate with it. Power is from a USB socket, lower left.
(The Gerbers are here, if you want to make your own: 6502.zip)
If it works, the next step is to use it as a test platform to make a 6502-to-Dazzler interface. The idea is to make a proper 8-bit peripheral for the 6502 (yes and 65816, Z80, 68K, 8086) that interfaces to the BT815 GPU. This will be about 50X faster than banging out serial over SPI, so should let these old machines produce some quite respectable HD graphics. I haven’t written a line of 6502 assembly language in 25 years, so it will be nostalgic “fun”.
If all goes well, the disembodied 6502 could be drawing sprites quite soon.
Thanks for reading - the Dazzler crowdfunding campaign is in full swing. Please spread the word if you can.