SC104, v1.0, Troubleshooting

This page aims to help identify problems with SC104, Z80 SIO module.

The default SIO address is 0x80, as illustrated to the right.

Ensure the address DIP switch is set as illustrated above.

Jumper shunts should be fitted in the positions shown below. If powering the system from the serial port, fit a shunt at JP3.

With a digital meter, check the supply voltage reaching the module is between 4.75 and 5.25 volts. Ideally check this voltage on the power supply pins on each IC.

The Small Computer Monitor (SCM) should automatically identify SC104 if it is connected either the RC2014 standard bus, the RC2014 enhanced bus, or an extended RC2014 bus, such as BP80, provided the module is set to address 0x80.

Activity on TXD

If you have a logic probe or oscilloscope you should see a very brief burst of activity on the TXD line at connector P2 just after the reset button is released. This is the SCM start up messaging being transmitted. You are unlikely to be able to detect this with a volt meter.

If this activity is seen then things are looked very good as the SIO has been identified, configured, and data is being transmitted. If not, then continue with the tests below.

Clock signals

The SIO requires five clock signals on the pins illustrated below. These can be all the same signal or they can be independent. The main bus clock should be present on U2 pin 20. The serial data clocks should be present on U2 pins 13, 14, 27, and 28.

The clock signals can be checked with a digital meter by measuring the voltages on these pins. The voltage should be between 2 and 3 volts.

Address decoding

With a digital meter, measure the voltage at U1 pin 19 (illustrated below). This should be at least 4 volts.

This signal is the chip select signal, which should also reach the SIO pin 35. If this signal is not correct the SIO will not be selected and will thus not work.

If you have an oscilloscope or logic probe you should see the pin is either:

  • regularly pulsing low but slower than once every 5 microseconds, indicating the SIO has been recognised.
  • steady logic high, indicating the SIO has not been recognised.

Use SCM to enter the following test program.

8000:  DB 80    IN A,(80)
8002:  18 FC    JR 8000

Run the program with the command “G 8000” and measure the voltage at U1 pin 19 again. The voltage should now be at least 0.5 volts lower than the first measurement.

If you have an oscilloscope or logic probe you should see the pin is pulsing low once every couple of microseconds.

If this signal is not correct the address decoding would appear to be faulty. Address decoding involves U1, RP1 and SW1. The function of each switch in SW1 can be checked by measuring the voltage at the appropriate pin on U1.

A further test you can perform to check the address decoding and also the response from the SIO, is the read from the input port addresses associated with the SIO. Use the SCM input command “I” (that’s’I’ not ‘L’) to read an input port. Read each address from 80 to 87. For example: “I 80”. The SIO should be seen from 80 to 83, while there should not usually be a device from 84 to 87. Typically, 84 to 87 will read 78 but that is not guaranteed. Address 80 to 83 will be the SIO registers. There should be an obvious difference in the values from these two ranges. If 80 to 83 looks the same as 84 to 87 then the SIO is either not begin selected or is not working.

Homebrew 8-bit retro computing