SC139 is a serial 68B50 module designed for the RC2014 bus.
An I2C bus master is a device that can control I2C slave devices on an I2C bus. In this case the module generates the I2C bus signals using big-bang code. This makes the module useful for interfacing to external electronics.
This module provides a 5 volt “TTL” asynchronous serial port, typically set for 115200 baud, 8 data bits, 1 stop bit, no parity.
Both a male and a female connector are provided for maximum flexibility. The optional USB to serial adapter provided with the kit can be plugged directly into the socket or it can be connected with a 6 way Dupont cable fitted to the header pins.
Port address selection
This module occupies 2 input/output port addresses. The base address is set with jumper shunt(s) fitted to the header pins labelled JPA, highlighted below in red. The 2 I/O addresses occupied are BASE ADDRESS and BASE ADDRESS + 1.
The address selection header is a block of 2 rows of 8 pins. These are the 8 address select jumpers and are labelled with their bit numbers. As the module occupies 2 I/O addresses the least significant bit, bit zero, is not used. All 8 address bits are provided for consistency, but only the most significant 7 bits are needed. You may wish to remove the bit zero pins as a reminder that bit zero is not used. The empty placeholder will act as a reminder.
The module responds to 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 default address for an RC2014 is 0x80 (decimal 128, binary 10000000). This is selected by having a single jumper shunts fitted to bit 7, as illustrated below.
The Small Computer Monitor (SCM) supports a seconds 68B50 ACIA serial port at I/O address 0x40 (binary 01000000).
This module is powered from the backplane or from the serial port. If a jumper shunt is fitted to JP5 then power (5 volts) is connected between the serial port and the backplane’s 5 volt supply. This results in the Z80 system being powered from the serial port and/or the serial port being supplied with power from the Z80 system.
You should only have one source of power to the system. If your backplane is powered then you should not also provide power from the serial port.
Typically, the serial port will be connected to a modern computer or terminal through a USB to serial adapter. These adapters are usually powered from the modern computer or terminal, and can provide enough power for a small Z80 system.
Baud rate clock
The official RC2014 ACIA serial module has its baud rate set by the main bus clock, typically 7.3728 MHz.
This module is more flexible, providing the option of using its on board crystal oscillator. This is selected by fitting a jumper shunt to JP4, as illustrated below.
Should you wish to use the main bus clock as the baud rate clock, fit a jumper shunt to JP3 instead of JP4.
Fitting a jumper shunt to JP3 and another to JP4 enables this module’s on-board oscillator to act as the baud rate clock and also the main bus clock. This could potentially mean you can save a bus slot as you do not need a separate clock module.
You should only have one clock source connected to the main bus clock signal, so do not fit both these jumpers at the same time if you have another clock source in your system.
Serial signals on the bus
The RC2014 bus allows serial transmit and receive signals to be connected to other modules through the backplane. This module’s transmit and receive signals can be optionally connected to the bus using jumpers JP1 and JP2. Fitting a jumper shunt to JP1 connects the transmit output from this module to the bus pin 35 and JP2 connects the receive input into this module from the bus pin 36.
These jumpers allow more than one serial port module to be fitted to the same backplane. Only one module should have these jumper shunts fitted.
This module is software compatible with the standard RC2014 firmware and software.
Source code for this firmware software is available. This is a good source of example code for this module. One example being the Small Computer Monitor.