As hackers and makers we are surrounded by accessible computing in an astonishing diversity. From tiny microcontrollers to multi-processor powerhouses, they have become the universal tool of our art. If you consider their architecture though you come to a surprising realisation. It is rare these days to interface directly to a microprocessor bus. Microcontrollers and systems-on-chip have all the functions that were once separate peripherals integrated into their packages, and though larger machines such as your laptop or server have their processor bus exposed you will never touch them as they head into your motherboard’s chipset.
A few decades ago this was definitely not the case. A typical 8-bit microprocessor of the 1970s had an 8-bit data bus, a 16-bit address bus, and a couple of request lines to indicate whether it wanted to talk to memory or an I/O port. Every peripheral you connected to it had to have some logic to decode its address and select it when you wanted to use it, and all shared the processor’s bus. This was how those of us whose first computers were the 8-bit machines of the late 1970s and early 1980s learned the craft of computer hardware, and in a world of Arduino and Raspberry Pi this now seems a lost art.
The subject of today’s review then provides a rare opportunity for the curious hardware hacker to get to grips with a traditional microprocessor bus. The RC2014 is a modular 8-bit computer in which daughter cards containing RAM, ROM, serial interface, clock, and Z80 processor are ranged on a backplane board, allowing complete understanding of and access to the workings of each part of the system. It comes with a ROM BASIC, and interfaces to a host computer through a serial port. There is also an ever-expanding range of further peripheral cards, including ones for digital I/O, LED matrixes, blinkenlights, a Raspberry Pi Zero for use as a VDU, and a small keyboard.
Opening the packaging, the components and boards are neatly packed in plastic bags. There was no printed documentation with our kit (Update 2016-09-09 – Our kit was supplied a few months ago, the designer tells us in the comments that the kits now come with printed instructions.), instead all documentation can be found on the project web site. The components are all easily identifiable, with through-hole passive components, sockets for the ICs, and large dual-in-line chips with clear markings. The modular nature of the kit means that each of the daughter cards has relatively few components, meaning that it splits the work into conveniently-sized units that are easy to build.
The exception to this convenience comes with the backplane, upon which are placed a series of long single-in-line sockets. It’s easy enough to solder 0.1″ pitch devices like these, but mildly tedious given the number of pins to be soldered. The outer two sockets have their data and address lines isolated by a set of jumpers which aren’t supplied, you will need to find and strip some hook-up wire to make these connections.
Part of the daughter board assembly is the attachment of a row of right-angle pins to mate with the backplane sockets. At this point during the assembly or our review system a flaw became obvious in the build. Different RC2014 daughter boards face in different directions, and by mistake we put the pins on the wrong side of a couple of the boards. It’s not an insurmountable problem but it slightly limits the order in which our modules can be placed. We’d suggest a very careful study of the online manual and photographs for each board, and not to be lulled into a false sense of security by the project’s relative ease of construction.
When all your daughter boards are ready it is a simple procedure to place them on the backplane. Pin 1 is clearly indicated on each board and can easily be aligned with the corresponding socket position. The only non-full-length board in the set is the clock oscillator, this is easily aligned not with pin 1 but with the GND pin marked on the backplane.
The build of our system was marred by the temperature controller on the soldering iron failing and the bit reaching a red-hot temperature. At the time this led to a Hackaday article on Weller tip availability, but for our RC2014 build it meant that on completion our system did not work. It exhibited a strange almost-functionality in which text sent from the RC2014 to the host computer could be read, but that sent from host to RC2014 was garbage.
With a lot of fault-finding with an oscilloscope, support from the kit’s designer, and continuity testing of connections failing to find an answer the kit languished until August’s EMF Camp, at which point it was possible to meet him face-to-face to get to the bottom of the problem once and for all. After an hour’s heroic customer support sitting amid the barbecue fumes of a festival hackspace village we finally traced the problem to an intermittent fault in one of the sockets. The extra-high soldering temperature had weakened a contact spring leaving it as a high enough resistance to cause problems but not enough to be detected as an open circuit. A quick replacement delivered instant results, and we had a working RC2014.
Up and Running
The build completed and a description of the hardware behind us, how about the software? Using the RC2014 could not be simpler, given an FTDI serial to USB lead you simply plug it into your host computer, configure the serial settings of your terminal software, press the reset button and away you go. The RC2014 is not an energy-hungry device, so happily takes its power via the FTDI from a USB slot.
The ROM BASIC comes courtesy of [Grant Searle], and is derived from one used in the Nascom computer kits of the late 1970s. It has a full implementation of a typical BASIC of the era, along with some custom keywords for conversion to binary and hex values. On start-up it gives you the option of using the existing memory contents if it has been reset, followed by that of specifying a custom memory limit. Those choices over, and you find yourself in a BASIC interpreter; ready to dredge up those half-forgotten tricks gleaned from hours of typing in listings as a teenager.
Happily many contemporary BASIC programs written for similar computers can be ported to the RC2014, and there is a GitHub repository with a lot of the hardware and ROM info as well as some BASIC examples. Loading code into the RC2014 without tediously typing can be done if your terminal supports sending text files to the serial port.
In a world in which we expect instantaneous computing it comes as something of a shock to run some software on the RC2014 and realise that it can take quite a while to complete. A BASIC interpreter on a few-MHz 8-bit microprocessor is hardly fast by today’s standards. But buyers of the RC2014 are after the 8-bit experience rather than the computing power it offers, so in that sense it offers an authentic peek into the past. Users of machines like this decades ago would have considered them to be startlingly quick, and minutes for a complex calculation would have seemed inconsequential compared to the hours required to do the same task by hand.
Do you Need One?
The RC2014 is probably the best way to get to grips with typical 8-bit microcomputer hardware of the era around 1980 that is available to the enthusiast some 35 years later. The modular design and clearly labelled bus probably make it more suitable for the experimenter than the single board designs of the day, when fault-finding the review board it was extremely easy to identify and trace signals with an oscilloscope. We certainly came away from this build knowing the machine at a much lower level than we would have with something more integrated.
If there is a gripe though with the RC2014 though it lies in
its lack of physical documentation (Update 2016-09-09 – Our kit was supplied a few months ago, the designer tells us in the comments that the kits now come with printed instructions.). Our experience with the faulty soldering iron was sheer bad luck, but we might have avoided the other minor wrong turnings we made had the information been more easily digested. This is however a minor issue as everything is there online if you are prepared to take it in and the support we received was of a very high quality, we would simply recommend to a would-be RC2014 builder that they take the time to really familiarise themselves with all the available information.
The RC2014 has full hardware information available on its website, and can be bought as a kit and with its ever-expanding range of peripheral boards through Tindie. If you have an interest in retro 8-bit microcomputer architectures then we can heartily recommend you take a look at it.