Add A Host Of 8-Bit Processors To Your Arduino

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.

14 thoughts on “Add A Host Of 8-Bit Processors To Your Arduino

    1. 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.

      1. “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)

  1. “..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.

    1. @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.

  2. “..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.

  3. 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.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.