My Ultimate RC2014 Workstation - The SC794

My Ultimate RC2014 Workstation - The SC794
Ultimate RC2014 Z80 Workstation. The SC794

This post is a bit of show and tell. I'll be introducing the latest design by Small Computer Central (the SC794) and the build I've implemented to showcase it. I'll describe its modules, peripherals, capabilities, and discuss what I'll use it for. Before we begin, let's take a look at the system:

sc794_cover_image
sc794_front_image
sc794_back_image
sc794_disassembled_image

Product Page

SC794 RCBus-80pin Z80 RomWBW & SCM Computer Kit by Stephen C Cousins on Tindie
A modular RCBus Z80 based computer designed to run RomWBW, SCM and CP/M

About My Build

You may have noticed the board contains more than the minimum number of modules required to constitute the SC794. In addition to the base system, which I will describe in detail shortly, my current build includes an i2c bus master module, a real-time-clock module, a combined SIO/2-CTC module (as opposed to SIO/2 alone,) a parallel I/O module, and an LED module.

Also present is the RP2040 VGA Terminal module by z80kits.com; the original designer of the RC2014. You can find the product page and documentation for this module below:

RP2040 VGA Terminal - Z80 Kits
RP2040 VGA Terminal uses PicoTerm software to use your Z80 based homebrew RC2014 computer totally standalone with 80 col mono or 40 col colour VGA display.

I plan to add a sound chip emulator or real sound chip to this board in the not-too-distant future but it is low priority for the time being. The backplane is even further extensible on either end by adding additional backplanes.

I am using the 12-slot, sc710 backplane for the build. This is so I can add all the functionality I'm interested in on the computer without needing to extend the backplane further.

For the time being, however, I consider this build complete. I have much to learn and much code to write for the modules currently present before I add more peripherals.

Base System Components

Extras

  • I2C Bus Master - SC704
  • PIO Module - SC717
  • Digital I/O module (LED module) - SC719
  • Real Time Clock (RTC) - SC727

On-the-way-additions

While this article was in progress, the following SD card module was released, with support from RomWBW: SC611. I have already ordered one, and may have it assembled before this article releases.

With the links above you can follow along and build your own, identical system, or modify my build how you wish. Perhaps you want to tinker with robotics, so you might prefer to add a PWM module and Servo Driver Module to support various robotics components. Each documentation page from SCC will thoroughly explain how to use each module; though it may also refer you to chip manufacturer documentation for further details.

Usage Goals

I do not presently have a deep knowledge on how to use all of these modules, though I have explored sample code for all of them and have done a bit of tinkering with each. As my understanding grows and I do interesting things with each peripheral, I should be able to provide better guidance on all of them.

The i2c bus master module is a major focus for upcoming work. The module is largely not supported in any real sense of the word, though there are example programs that can be used to create drivers. Unlocking the i2c module, which requires a bit-bang implementation of the protocol, will unlock a great deal of additional peripheral; including storage extensions, displays, more accurate real-time-clocks, environmental sensors, and anything else compatible with i2c.

The PIO module provides 2 separate 8-bit GPIO ports and can be used to arbitrarily support just about any peripheral you wish to plug into it. I'd like to use this to both drive LCD screens and other peripherals and to perform silly tricks with the Input pins on the Digital I/O modules, to create light shows and led games.

The Digital I/O module provides a set of unidirectional GPIO pins – 8 input pins and 8 output pins – and can likewise be used to arbitrarily drive any given peripheral. One important and out-of-box use of this module is for the diagnostic LED codes that various firmwares present during boot.

I'm still working on a vi port for CP/M, and this is the system I will largely be developing that on. I'm looking at extending the S editor but I've been inspired by recent work with VEDIT and may choose a different approach. This will depend, largely, on the ease with which I can add disk-swapping buffers to the current s source code. This is to allow for the opening and editing of files larger than TPA memory, or free ram. I also need to dramatically improve scrolling to prevent the display and cursor from going out of sync when scrolling upwards.

Other goals involve both graphical and text based gaming, with text based gaming working pretty well so far. Many of the included games in RomWBW, however, do not display properly without some further development of my configuration.

Other Systems and Conclusions

I still have several other systems, some of which have become redundant. I have packaged and am awaiting funds to ship a few of these systems to other developers so they may explore and code for them. The rest are specialized and will be kept around for their unique properties. In particular, I have the "big brother" of this system in the SC792, which is essentially identical except for the use of a Z180 MPU. This chip includes several built-in peripherals and an MMU, reducing the number of physical modules required to support the same peripheral loadout. Anything I write for the SC794 should run on the SC792; at a much faster pace.

I also have an eclectic, minimal, Z80 build based around the "Programmable ROM Kit" - SC523, which is useful for rapid-iteration testing of new firmware builds.

Lately I use my SC720 as a travel system. Its flat form-factor makes it easy to disassemble and slide into my laptop backpack. I use it often, though I mostly use it to play interactive fiction on the go. It has come in handy to impress people at tech conventions. You can do some very simple tasks on it, and people will "ooo" and "aaah." In fact, for the right crowd, you don't even need to boot the thing to get comments and compliments.

I also have the new ez80 based Green Machine from DinoBoards and I should have some content on that system soon. I believe I can run Agon-MOS on it with little or no modification, and it is supported by RomWBW out-of-box.

I've dedicated my SC100 system to collapseos exclusively, despite the fact that I can readily multiboot with CP/M. I only use it occasionally these days and may sell it or donate it to someone in the future.

Besides these RC2014 compatibles, I have the Zeal-8-Bit Computer and associated video card. I have the Agon-Light 2 and I have the MC68010 based Rosco-M68K computer, which is quite amazing and a whole separate topic of discussion for this blog and channel.

Stay tuned for more technical info on how to develop for and operate all of these systems.

MagesGuild by Magus Gaius Mycelius, Jocundus is licensed under CC BY 4.0