My RC2014 Z80 Homebrew Computer

Introduction

This page describes my experience with RC2014external link 8-bit computer, based on famous Zilogexternal link Z80 processor.

Delivered

I ordered RC2014 Pro kit on Tindie external link and received bunch of PCB's and components ...

Assembling

... then I spent two afternoons and nights with soldering. Everything is perfectly documented and if you do assembling and soldering closely it works with any troubleshoting.

Assembling

RC2014 Pro consist from 7 boards:

Aditional modules

Digital I/O board

There is 'must have' module: Digital IOexternal link board, that contains 8 buttons and 8 LED's. It's perfect for learning basic I/O operations.

Z80 PIO, Z80 CTC

I have two Z80 PIO modules and one with Z80 CTC from Small Computer Centralexternal link.

PIO's are connected to LED's using ULN2803A Darlingtons. It's perfect for learning how shift and rotation instructions worksexternal link. For testing CTC module I wrote program that fires two independent interrupt routines. Those routines use RRCA / RLCA instructions to make rotation effectsexternal link. For correct function is necessary to connect IEO pin on SIO/2 module to spare line #38 on bus. This signal is connected to IEI pin to CTC module to make interrupt daisy-chainexternal link.

WiFi module

Another interesting toy is WiFi moduleexternal link. It's connected to channel B of SIO/2 module through enhanced bus. It allows connect to second channel remotely using Telnet session.

This videoexternal link shows controlling two power relays over WiFi using JAVA Telnet client. Here is my program that's testing buttons on I/O board and sends commands to SIO channel B, which is connected to WiFi module. On another PC is running Java telnet client, that's receiving those commands and switching ON/OFF my two power relays in my IOT solution. Also is possible read IOT sensors values and display it back on RC2014 console.

IOT sensors values

Z80 DMA

I built Z80 DMA module on Prototype PCBexternal link.

For testing DMA I wrote program that sends programming sequence to Write Registers and starts memory-to-memory transfer.

Running CP/M

I'm using puttyexternal link for connecting to CP/M terminal. On images you can see session setting.

MBASIC

On this archiveexternal link is possible download Microsoft BASIC Interpreter v5.21 for CP/M. To load any COM file is necessary use Binary to CP/M Packageexternal link It convert mbasic.com file to text and then it's possible to paste it to putty terminal and store file to CP/M disc using download.com command.

Developing software in Z80 assembler

For developing software for RC2014 I use following way. I try to describe it.

Development environment

TASMexternal link is assembler, that is able to compile code for many 8bit processors.

In source directory I have following files:

Editing ASM files

For editing sources I use Notepad++.

Developing

Compiling

I run script like this:

tasm -t80 -b hello.asm ./BIN/hello.com ./LST/hello.lst

If everything is OK, I can see result and compiled file is in Bin directory:

Compiling

Converting to text

To store binary file to RC2014 using terminal, I must convert it to text like this:

Converting

Open packaged file. You can see, that text contains three parts:

I copy file to clipboard and make right mouse click on putty terminal. DOWNLOAD.COM get file content from terminal and stores it to disc. It's work like a charm.

HI-TECH C Compiler 3.09 for CP/M

On this pageexternal link is info about C compiler for CP/M. I tried to compile and run only Hello word program and it seems as very promising way to develop software for CP/M. There is also info about ZDE 1.6 editorexternal link.

Buildilg and running AES-256 demo

In subdirectory examples/aes256 there is very interesting demo. I compiled it by following command:

c -v demo.c aes256.c

And here is screenshot that shows torturing Z80 CPU with this demanding computation:

Running AES256 demo

Borland Turbo Pascal

On this archiveexternal link is possible download Borland Turbo Pascal 3.0 external link for CP/M-80. Installation is same as mbasic, I used FilePackage and modified text file to have pascal in drive P:.

Turbo editor

Borland Turbo Modula

On thisarchiveexternal link is possible download Borland Turbo Modula-2external link for CP/M-80. Installation is same as mbasic, I used FilePackage and modified text file to have modula in drive M:.

Turbo Modula-2

Games

On this pageexternal link is possible to download games for CP/M. I can run CatChum (like "Pac-Man") and Worm ('ike "Snake"), but for CatChum it's necessary to slow down CPU speed to not be eaten in one second. Some games aren't compatible with terminal settings so I have look at it.

Playing Catchum game

Links

Conclusion

RC2014 is amazing project. I had a lot of fun while building it and exploring possibilities of retrocomputing. That brought me back 30 years to 8 bit era when I built my first computer.

RC2014 Pro fully boarded
Valid XHTML 1.0!