SC506, v1.0, User Guide

SC506 is a simple digital I//O card with 8 inputs and 8 outputs. Each input and each output has an LED to indicate its state.

Input signals are taken from both P4 and P5.

Output signals are available on both P2 and P3.

Input and output signals are nominally 0 volts (low/off) or 5 volts (high/on). The actually voltages for both input and output are 74HCT series logic compatible.

This card should be compatible with all Z50Bus systems.

Address

Header JP1 is a male header with 2 rows of 8 pins. These are the 8 address select jumpers and are labelled with their bit numbers.

The card responds to input/output addresses matching the address set with these jumpers. When a jumper shunt is fitted, that bit must be a 1 (high voltage). When the shunt is not fitted, that bit must be a 0 (low voltage). The card has tight address decoding and only occupies a single input/output port address.

If, for example, you wish to set the card to address 32 decimal, which is hexadecimal 20 or binary 00100000, then fit a single jumper shunt to bit 5.

The default address for a general purpose digital input/output card is currently 0xA0 (decimal 160, binary 10100000). This is selected by fitting a jumper shunt to bit 7 and another to bit 5.

If you wish to use the output port LEDs for status and diagnostic display then the port address should be set to match the software’s status port. For RomWBW this is currently 0x0D.
For LiNC80 SBC1 this is currently 0x30.

The default address is zero (0x00) when used with some legacy software. This is selected by having no jumper shunts fitted.

Many of these cards can be used at the same time providing the addresses are all different.

Outputs

The outputs can written from lots of software, including BASIC and SCM. With the card’s address set to zero (no jumper shunts fitted) the output port can be written to with the following commands.

From BASIC:
OUT 160, 1
Where ‘160’ is the port address and ‘1’ is the required decimal value to be written to the output port.

From SCM:
O A0 1
Where ‘A0’ is the port address and ‘1’ is the required hexadecimal value to be written to the output port.
Note: That’s the letter “O”.

Outputs are driven from a 74HCT series logic chip running at 5 volts. Each output can sink (output low) up to 4 mA and source (output high) up to 2 mA (after allowing 2 mA for the output LED).

Inputs

The inputs can be read from lots of software, including BASIC and SCM. With the card’s address set to zero (no jumper shunts fitted) the input port can be read with the following commands.

From BASIC:
PRINT INP(160)
The result will be the input port value shown in decimal.

From SCM:
I A0
That’s the letter “I”. The result will be the input port value shown in hexadecimal.

In both cases the result should be zero if there are no external connections to header P4 or P5.

Inputs are connected to a 74HCT series logic chip running at 5 volts and also an LED with current limit resistor. A high level input should be between 2.0 volts and the supply voltage (nominally 5.0 volts). A low level input should be between GND and 0.8 volts. A high level input signal needs to be able to source at least 2 mA to drive the input LED.

Homebrew 8-bit retro computing