Normally when we bring you news of a retrocomputing design, it will centre around a single processor. At its heart will be a 6502, a Z80, or perhaps a 6809. There will be a host of support chips, some memory as RAM or ROM, and a bunch of interfaces. [Erturk Kocalar]’s RetroShield project for the Arduino Mega breaks all of those rules, because it supports all three of those classic processors, has no support chips, no memory, and no external interfaces beyond the shield connection to the Mega. What on earth is going on!
A closer look reveals that the project is a set of shields that use the Mega’s power to emulate all the support chips and peripherals you’d have seen on the original hardware. And while it would be impressive to have a single board with support for all three CPUs, in fact there is a PCB for each one. But that makes it no less interesting a project for those with an interest in 8-bit processors, because the focus becomes the software rather than a quest to find out-of-production silicon.
So far there is some limited demo software, and his website goes into some detail on the interfacing and code required. The Arduino can only clock the 8-bit CPU at 95kHz in software which may sound a bit low to those familiar with 1980s home computers, but it’s best to think of this as an experimentation platform and give up dreams of playing Elite. An exciting prospect comes in giving the 8-bit machine access to Arduino shields, if improbable hardware is your bag.
If this has captured your interest, you might also wish to take a look at the $4 Z80 single board computer which has a similar ethos.
very usefull topic
The phrase “retrocomputing design, it will centre around a single processor” triggered me. I am working on a TTL computer that has microcode in flash memory, so it can be easily re-flashed to change to a totaly different instruction set. The other goals for the project are a minimum number of parts, memory space larger than 64K, and good video capabilities. Go and see: https://hackaday.io/project/164897-kobold-retro-ttl-computer !
The hard part will be the VGA. I normally do this in CPLD.
With limited gates, I would use bitmaped pixels or tiled chr.
Clock the ram fast enough so you have alternate access between CPU and video.
NCR 53(C)80? Anyone?
Seems that is a SCSI controller, not a CPU ?
If it’s not an SCSI controller, then it’s a USART. It’s been a while since such things were common, my memorydoesn’t refreshas easily.
“Seems that is a SCSI controller, not a CPU ?”
The PIC began as a Peripheral Interface Controller until someone perverted it…
(I’m not sure if I want to insert a smiley here)
“..rather than a quest to find out-of-production silicon.”
Huh? The W65C02, W65C22 and W65C51 are all still in production. In DIP no less, though the latter has a bug in the silicon affecting interrupt driven transmission. RAM and ROM are also still in production last I checked.
Then there is the 3v3 to 5v issue
The W65C51 requires 5V though the W65C02 and W65C22 operate down to 1.8V (at reduced clock rates).
@Neil, I think that you might be mis-understanding which silicon the article is referring to as ‘out of production’. The article intended that you associated the emulated support chips with the ‘out-of-production’ phrase. Not the processors themselves. This article is about a product that fully expects you to provide a microprocessor, but lets you emulate the support chips within the microcontroller.
And now I see that I mis-read *your* response, and didn’t notice that you listed support chips in addition to the processor. sorry.
“..95kHz in software..”
There should be the potential to improve there. My own experiment with an ATmega1284P ran at 250 kHz with the supervisor written in C. 1 MHz has been done with PICs and might be possible on the AVR with assembly.
Wouldn’t this be a doddle of a project for an Parallax P8X32A? 8 cores, 80-120MHz, native VGA/VIDEO/S-VIDEO and I think HDMI outputs? C/C++ support, and tons of libraries.