SC516, v1.0, Circuit Explained

The SC516, Z80 Processor card is part of a modular computer based on the Z50Bus. With the addition of power and a reset signal, it can also be used in a modest way as a Single Board Computer (SBC).

C1 to C7

These capacitors provide power supply decoupling (or bypass). The fast switching in digital circuits creates spikes on the power supply lines which are suppressed with decoupling capacitors placed at key points on the circuit board.


This jumper allows the card’s 5-volt power rail to be connected to the Vcc (5-volt) pin of the serial port (P2). Fitting a jumper shunt here connects the power between the two. Not fitting a shunt isolates the power between them.

There are two scenarios where you may want to fit the shunt:

  1. If the serial device needs power from the processor card
  2. If you are powering the Z80 system from the serial port.

You should not connect two power sources together, so do not fit the shunt if both the processor card and the serial device have independent power supplies.


This LED is a simple status indicator. It is normally on when the power is connected, but it can be controlled by software if required. At reset is will turn on, even if the processor is not running.

When using the recommended firmware it will then turn off and on again, indicating the processor is running. If a suitable serial port module is not found in any of the bus sockets, the LED will turn off and on again to indicate the built-in serial port is being used. A startup message is then sent to the terminal via the serial port indicated.


This is the standard Z50Bus connector.


The card includes a simple bit-bang 5 volt, FTDI style, serial port. The connection to this is the 6-pin header, P2. You can either fit straight or right-angled header pins. The angled connector is usually more convenient. If the card is to be supported by guides, as suggested in the Z50Bus specification, then straight pins must be fitted.

This port is very basic, providing only a software generated 9600 baud, 8 data bit, 1 stop bit, no parity serial interface. It is designed to provide a very low-cost ‘starter’ port to get the system up and running as easily and cheaply as possible. It is suitable for simple applications, but a more capable serial module should be added for sophisticated applications such as running CP/M.

The pin-out, below, describes signals with respect to the SC516 card, so an output is a signal from the card to a computer or terminal.

6Clear To Send (CTS) input (not connected)
5Transmit Data (TxD) output
4Receive Data (RxD) input
3Vcc (5V)
2Request To Send (RTS) output
1Ground (GND)


R1 limits the current from the serial receive input of P2.


This resistor sets the LED current. You may change this value from about 330R to 1K depending on the type of LED you fit and your preference for brightness. A value of 1k will work fine with just about any LED, so if in doubt use this value.


This resistor network provides pull-ups for bus signals that may otherwise be left floating, or are used with open collector signals.


This integrated circuit is the Z80 Central Processing Unit (CPU). A minimum of an 8 MHz rated part is required, but a faster part can also be used. The CPU is the brains of the board. It is able to execute instructions stored in the read-only memory (ROM) chip U3 or programs downloaded or written to the random access memory (RAM) chip U2.
For further details see the Zilog CPU datasheet.


This is the motherboard’s Random Access Memory (RAM). Although this is a 128k byte RAM chip, the Z80 CPU can only ‘see’ 64k bytes at any given time. The second 64k bytes can be selected in software, but it is quite difficult to use. In practice, it is likely that only 64k will generally be used.


This is the motherboard’s Read-Only Memory (ROM). The specific type listed is a Programmable Read-Only Memory (PROM), meaning it can have its contents (Firmware) programmed in with a PROM programmer. The contents then remain fixed even when power is removed. The device specified above cannot be erased and re-programmed.

In order for a computer to do anything useful, it needs some program code to execute. Even reading a program from a disk drive requires program code to perform that read. Thus a computer needs some program code permanently available to execute when it is first switched on. This is the function of the ROM chip.

This card has been designed to have the Small Computer Monitor installed in the ROM chip, although any compatible code can be used instead.


This integrated circuit is an 8-bit addressable latch. It has eight outputs that can be individually turned on and off. These are all cleared to a low level (logic zero) by a hardware reset. The partially decoded port address signal from U5 is used to enable the latching of data to this chip. The required output is determined by the address lines A3, A4, and A5, and the signal latched to that output is determined by data line D0. The output port addresses, expressed in binary, are thus:

7654 3210
Address in
00XX X0XXPartially decoded address enabled U5
0000 00XX0x00 to 0x03Not used
0000 10XX 0x08 to 0x0B Status LED (low = on)
0001 00XX 0x10 to 0x13 Not used
0001 10XX 0x18 to 0x1B Not used
0010 00XX 0x20 to 0x23 Serial port, request to send (RTS)
0010 10XX 0x28 to 0x2B Serial port, transmit data (TXD)
0011 00XX 0x30 to 0x33 RAM bottom 64k selected (active low)
0011 10XX 0x38 to 0x3B ROM selected (active low)


This forms part of the address decoding and RAM/ROM paging circuit. The integrated circuit contains three 3-input OR gates. Two of them are combined to partially decode the output port addresses used by this card. The third decodes an active low ROM select signal. The partially decoded output port address is 00XXX0XX, expressed in binary with ‘X’ indicating a bit that can be in either state. This signal is further refined by integrated circuit U4.


This oscillator provides the main 7.3728 MHz processor and bus clock.

Homebrew 8-bit retro computing