Firmware, SCM S8

The latest release of this Firmware is detailed in the table below.

NameSmall Computer Monitor
ConfigurationS8
Release2022-12-16
DownloadSCM S8 2022-12-16 (HEX)
Device Programming:
Code size32k bytes
Checksum (MiniPro 6.85)01D9 6040 (39SF040A)
Recommended ICSST39SF010A
Core Components:
MonitorVersion 1.3.1
BIOSSCZ80 1.3.1
Included Apps:
– ROM BASICVersion 4.7b.1
– CP/M loader from CF cardVersion 1.0

The firmware is supplied (above) as an Intel HEX format file, which is suitable for use by most PROM programmers. Intel HEX files are a text format, not a binary format. As a result, they are larger than the stated code size in the table above.

The Small Computer Monitor’s Components and Apps are described here.

Source code can be found in the Small Computer Workshop download.

Diagnostic and Status display

At reset, the system performs a self-test. The results are shown on the set of 8 diagnostic LEDs, if present, and the single status LED, if present.

Diagnostic LEDs: These should be off when the reset button is being pressed. Once released from reset, each LED should light in sequence for a fraction of a second and the test should end with all 8 LEDs being turned off. Failures are indicated as follows.

Diagnostic LED displayIssue
LEDs always offCPU not running, or
Output port failed, or
Reset failure
LEDs always onOutput port failed
Light sequence repeats
indefinitely
RAM test failed
Light sequence then
LED bit 0 remains on
Serial port test failed

Status LED: This should be ON when the reset button is being pressed. Once released from reset, the LED should flash OFF for a fraction of a second and then stay on. Failures are indicated as follows.

Status LED displayIssue
LED always onCPU not running, or
Output port failed, or
Reset failure
LED always offFaulty LED, or
Output port failed
LED goes off and stays offRAM test failed

Supported Devices

  • Z80 CPU (eg. Z84C00xx)
  • SIO #1 at 0x80 (eg. Z84C4xxx)
  • SIO #2 at 0x84 (eg. Z84C4xxx)
  • CTC #1 at 0x88 (eg. Z84C30xx)
  • CTC #2 at 0x8C (eg. Z84C30xx)
  • ACIA #1 at 0x80 (eg. 68B50)
  • ACIA #2 at 0x40 (eg. 68B50)
  • CF Card at 0x10 for loading CP/M
  • Diagnostic LEDs and digital I/O at 0x00
  • Status LED at 0x08

The SIO can either use the RC2014 addressing scheme or the typical Zilog scheme (as used by Dr. S. Baker’s SIO module)

The addresses of the official RC2014 SIO and ACIA modules clash, so they can’t both be installed at the same time. Third-party modules often have address options to avoid this problem.

The official RC2014 SIO module does not have tight address decoding so it appears as an SIO at both 0x80 and 0x84.

The lack of specific support does not exclude the use of other hardware. It just means the ROM does not do anything specific with it.

Supported Modules

The lack of specific support does not exclude the use of other hardware. It just means the ROM does not do anything specific with it.

Release Notes

When using a bit-bang serial port, the Small Computer Monitor’s software timed idle events run very slowly. This is due to the time the processor spends handling the serial port. When a Z80 CTC is present, the timing of idle events is not dependent on software delays and therefore runs at the correct speed.

Homebrew 8-bit retro computing