Firmware, SCM S2

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

NameSmall Computer Monitor
ConfigurationS2
Release2022-10-16
DownloadSCM S2 2022-10-16 (HEX)
Device Programming:
Code size32k bytes
Checksum (MiniPro 6.6)005A 94B7 (AT27C256R)
01D9 14B7 (SST39SF010A)
Recommended ICAT27C256R-45PU
SST39SF010A
Core Components:
MonitorVersion 1.3.1
BIOSSCZ80 1.3.1
Included Apps:
– ROM BASICVersion 4.7.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 either:
1/ Flash off once for a fraction of a second and then stay on (ON, OFF, ON) indicating it has detected and is using a separate serial module, or
2/ Flash off twice for a fraction of a second each and then stay on (ON, OFF, ON, OFF, ON) indicating it has not detected a separate serial module and is using the bit-bang serial port.
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)
  • Bit-bang serial port at 0x28
  • 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.

Older Releases

NameSmall Computer Monitor
ConfigurationS2
Release2022-02-27
DownloadSCM S2 2022-02-27 (HEX)
Device Programming:
Code size32k bytes
Checksum (MiniPro 6.6)005A B317 (AT27C256R)
Recommended ICAT27C256R-45PU
Core Components:
MonitorVersion 1.3.0
BIOSSCZ80 1.3.0
Included Apps:
– ROM BASICVersion 4.7.1
– CP/M loader from CF cardVersion 1.0

Homebrew 8-bit retro computing