Review: The RC2014 Micro Single-Board Z80 Retrocomputer

At the end of August I made the trip to Hebden Bridge to give a talk at OSHCamp 2019, a weekend of interesting stuff in the Yorkshire Dales. Instead of a badge, this event gives each attendee an electronic kit provided by a sponsor, and this year’s one was particularly interesting. The RC2014 Micro is the latest iteration of the RC2014 Z80-based retrocomputer, and it’s a single-board computer that strips the RC2014 down to a bare minimum. Time to spend an evening in the hackerspace assembling it, to take a look!

It’s An SBC, But Not As You Know It!

The kit contents
The kit contents

The kit arrives in a very compact heat-sealed anti-static packet, and upon opening was revealed to contain the PCB, a piece of foam carrying the integrated circuits, a few passives, and a very simple getting started and assembly guide. The simplicity of the design becomes obvious from the chip count, there’s the Z80 itself, a 6850 UART, 27C512 ROM, 62256 RAM, 74HCT04 for clock generation, and a 74HCT32 for address decoding. The quick-start is adequate, but there is also a set of more comprehensive online instructions (PDF) available.

I added chip sockets and jumpers to my kit.
I added chip sockets and jumpers to my kit.

Assembly of a through-hole kit is hardly challenging, though this one is about as densely-packed as it’s possible to make a through-hole kit with DIP integrated circuits. As with most through-hole projects, the order you pick is everything: resistors first, then capacitors, reset button and crystal, followed by integrated circuits.

I’m always a bit shy about soldering ICs directly to a circuit board so I supplemented my kit with sockets and jumpers. The jumpers are used to select an FTDI power source and ROM addresses for Grant Searle’s ROM BASIC distribution or Steve Cousins’ SCM 1.0 machine code monitor, and the kit instructions recommended hard-wiring them with cut-off resistor wires. There was no row of pins for the expansion bus because this kit was supplied without the backplane that’s a feature of the larger RC2014 kits, but it did have a set of right-angle pins for an FTDI serial cable.

Your Arduino Doesn’t Have A Development Environment On Board!

Having assembled my RC2014 Mini and given it a visual inspection it was time to power it up and see whether it worked. Installing the jumper for FTDI power, I attached my serial cable and plugged it into a USB port.

A really nice touch is that the Micro has the colours for the serial cable wires on the reverse side of the PCB, taking away the worry of getting it the wrong way round. A quick screen /dev/ttyUSB0 115200 to get a serial terminal from a bash prompt, hit the reset button, and I was rewarded with a BASIC interpreter. My RC2014 Micro worked first time, and I could straight away give it BASIC commands such as PRINT "Hello World!" and be rewarded with the expected output.

The SCM ROM monitor.
The SCM ROM monitor.

So I’ve built a little Z80 single board computer, and with considerably less work than that required for the fully modular version of the RC2014. Its creator Spencer tells me that the Micro was originally designed as a bargain-basement RC2014 as a multibuy for workshops and similar activities, being very similar to his RC2014 mini board but without provision for a Pi Zero terminal and a few other components. It lacks the extra hardware required for a more comprehensive operating system such as CP/M, so I’m left with about as minimal an 8-bit computer as it’s possible to build using parts available in 2019. My question then is this: What can I do with it?

So. What Can I Do With An 8-bit SBC?

My first computer was a Sinclair ZX81, how could it possibly compare this small kit that was a giveaway at a conference? Although the Sinclair included a black-and-white TV display interface, tape backup interface, and keyboard, the core computing power was not too far different in its abilities from this RC2014 Micro — after all, it’s the same processor chip. It was the platform that introduced a much younger me to computing, and straight away I devoured Sinclair BASIC and then went on to write machine code on it. It became a general-purpose calculation and computing scratchpad for repetitive homework due to the ease of BASIC programming, and with my Maplin 8255 I/O port card I was able to use it in the way a modern tech-aware kid might use an Arduino.

The RC2014 Micro is well placed to fill all of those  functions as a BASIC and machine code learning platform on which to get down to the hardware in a way you simply can’t on most modern computers, and though the Arduino represents a far more sensible choice for hardware interfacing there is also an RC2014 backplane and I/O board available for the Micro’s expansion bus should you wish to have a go. Will I use it for these things? It’s certainly much more convenient than its full-sized sibling, so it’s quite likely I’ll be getting my hands dirty with a little bit of Z80 code. It’s astounding how much you can forget in 35 years!

The RC2014 Micro can be bought from Spencer’s Tindie store, with substantial bulk discounts for those workshop customers. If you want the full retrocomputer experience it’s a good choice as it provides about as simple a way into Z80 hardware and software as possible. The cost of simplicity comes in having no non-volatile storage and in lacking the hardware to run CP/M, but it has to be borne in mind that it’s the bottom of the RC2014 range. For comparison you can read our review of the original RC2014, over which we’d say the chief advantage of the Micro is its relative ease of construction.

A Curiously Strong Z80 In Your Pocket

Like many hackers, [Tom Szolyga] has soft spot for the venerable Z80. The number of instructions and registers made it relatively easy to program in ASM, and he still has fond memories of the refreshingly straightforward CP/M operating system he used to run on them back in the day. In fact, he loves Z80 computers so much he decided to build one that he could carry around in his pocket.

The result is the Minty Z80, so-called because it lives inside a tin formerly inhabited by every hacker’s favorite curiously strong mint. But the goal of this build wasn’t just to make it small, but also make it convenient to work with. [Tom] is using a ATmega32A to help interface the Z84C0008 microprocessor with the modern world, which allows for niceties such as support for a micro SD card. There’s no onboard USB-to-serial capability, but with an external adapter connected to the Minty’s header, it’s easy to use log into this microcosm of classic computing with a terminal emulator running on a computer or mobile device.

[Tom] has provided the schematics and Bill of Materials for the Minty Z80 on the project’s Hackaday.io page, but as of the latest update, he’s holding off on releasing the board files until he’s sure that all the bugs have been worked out. There’s no word yet if he found any show stoppers in the first iteration of the board design, but he’s posted a picture of the fully assembled miniature retrocomputer in all its glory which seems like a good sign.

The design of the Minty Z80 is similar to that of the Z80-MBC2 by [Just4Fun], but on an even smaller scale. It’s encouraging to see several projects leveraging modern design and components to prevent classic computing from becoming little more than a distant memory.

Four Chips To Retro Perfection

Over the years, we’ve seen many people build a computer from the ground up. It’s always great, but this one takes the cake. I’m not just saying that because there’s a cute little ‘Z80 Inside’ logo on the silk screen, either. It’s a four IC Z80 computer, a tiny board, and [Just4Fun]’s entry into this year’s Hackaday Prize.

This single board computer is only four chips, the most important being the CMOS Z80 CPU. This is the same CPU as was found in the TRS-80 and the ZX Spectrum, both classics from the early days of computing. In addition to the PCU, there’s a Toshiba SRAM with 128 whole kilobytes of random access memories. A 74HC00 is thrown into the mix for glue logic, and everything else happens through a specially-programmed ATMega32A. This last chip provides a universal I/O subsystem, the EEPROM, and the 4/8MHz clock for the CPU.

Those four chips are really all you need for a fully functional computer, but you can do so much more with this little board. There’s a uCom board, or basically a ‘transparent’ USB-to-serial emulator that will allow you to upload a hex file to the board. Of course this means you can also connect it to a terminal, and with FuzixOS, there’s Unix for the Z80. It’s a wonderment of retrocomputing, and one of the best ways to build an old computer today.

Continue reading “Four Chips To Retro Perfection”

Retrocomputing For The Masses Hack Chat

Join us on Wednesday 29 May 2019 at noon Pacific for the Retrocomputing for the Masses Hack Chat!

Of the early crop of personal computers that made their way to market before IBM and Apple came to dominate it, few machines achieved the iconic status that the Sinclair ZX80 did.

Perhaps it was its unusual and appealing design style, or maybe it had more to do with its affordability. Regardless, [Sir Clive]’s little machine sold north of 100,000 units and earned a place in both computing history and the hearts of early adopters.

Spencer Owen is one who still holds a torch for the ZX80, so much so that in 2013, he hatched a seemingly wacky idea to make his own. A breadboard prototype of the Z80 machine slowly came to life over Christmas 2013, one thing led to another, and the “RC2014” was born.

The RC2014 proved popular enough to sell on Tindie, and Spencer is now following his dream as a retrocomputing mogul and working on RC2014 full time. He’ll be joining us to discuss the RC2014, how it came to be, and how selling computing nostalgia can be more than just a dream.

join-hack-chatOur Hack Chats are live community events in the Hackaday.io Hack Chat group messaging. This week we’ll be sitting down on Wednesday May 29 at 12:00 PM Pacific time. If time zones have got you down, we have a handy time zone converter.

Click that speech bubble to the right, and you’ll be taken directly to the Hack Chat group on Hackaday.io. You don’t have to wait until Wednesday; join whenever you want and you can see what the community is talking about.

 

Pitting 8-Bit Chess Games Against Modern Foes

UltraChess is a vintage chess game for the 8-bit MSX platform, running on the Z80. [flok] wondered just how capable the game really was, and set forth to test it against a variety of other chess engines.

Having been designed in the 1980s, UltraChess is far from up-to-date as far as the chess software world is concerned. By using the OpenMSX emulator to run the game, [flok] was able to implement scripts to read and write the gamestate in UltraChess, and make it compatible with the Universal Chess Interface. This would allow UltraChess to be played off against a variety of other chess engines to determine its approximate ELO rating.

The scripts worked well, and are available on Github for those who wish to tinker further. Unfortunately, [flok] has thus far been unable to determine a rating for UltraChess, as it has lost every single game it has played against other chess engines. This is unsurprising given the limited processing power available, but we’d love to see a tweaked and hotrodded Z80 chess program take on the same challenge. If you’ve done such a thing, let us know, or alternatively  you might like to try playing like Harry Potter.

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.

Writing A Very Tiny Chess Program

When programming for modern platforms, the restraints are different to those of 30 years ago. Back in the dawn of the microcomputer age, storage and RAM were measured in kilobytes. It simply wasn’t possible to store large amounts of graphical data, and even code had to be pared back at times. [reeabgo] found out some of these limitations first hand, when coding a tiny chess program for the Sinclair ZX81.

[reeabgo]’s project goes by the name ChesSkelet, and is truly tiny. Measuring in at just 377 bytes in its smallest version, the entire program takes up less space than this very article describing it. To achieve these feat requires certain sacrifices, of course. The tiniest edition contains no graphics whatsoever, representing the game state with simple characters and featuring no adornments whatsoever. The full-fat version comes in at 477 bytes and adds quite a lot of functionality. There’s a proper checkerboard, along with move legality checks and pawn promotion.

Unfortunately, advanced chess play isn’t quite possible – castling is not implemented, and the AI doesn’t yet handle check situations properly. Despite this, it’s a solid approximation of the real game, all packed into an impressively small space.

We see plenty of chess hacks around these parts – including the robotic variety.