Firmware, SCM S3

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

NameSmall Computer Monitor
ConfigurationS3
Release2022-02-27
DownloadSCM S3 2022-02-27 (HEX)
Device Programming:
Code size32k bytes
Checksum (MiniPro 6.6)005B 1AD2 (AT27C256R)
01D9 9AD2 (SST39SF010A)
Recommended ICAT27C256R-45PU (32kB)
SST39SF010A (128kB)
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

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 display

At reset, the 8 LEDs next to the power LED are used to display the results of the self-test diagnostics. Each LED should light for a fraction of a second and the test should end with all 8 LEDs being turned off. Failures are indicated as follows.

DisplayIssue
Light sequence repeats indefinitelyRAM test failed
LED bit 0 remains onSerial port test failed
No light sequenceCPU not running, or
output port failed

Supported Devices

  • Z80 CPU (eg. Z84C00xx)
  • SIO #1 at 0x80 (eg. Z84C4xxx) [rc addressing]
  • SIO #1 at 0x80 (eg. Z84C4xxx) [zilog addressing]
  • SIO #2 at 0x84 (eg. Z84C4xxx) [rc addressing]
  • SIO #2 at 0x84 (eg. Z84C4xxx) [zilog addressing]
  • 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

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.

Homebrew 8-bit retro computing