Firmware, SCM, S9

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

NameSmall Computer Monitor
ConfigurationS9
Release2023-08-25
DownloadSCM S9 2023-08-25 (HEX)
Device Programming:
Code size32k bytes
Checksum (MiniPro 6.85)07D2 268B (39SF040)
Recommended ICSST39SF040
Core Components:
MonitorSCM version 1.3.1
BIOSRC/Z180 version 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

This version of SCM supports the following devices.

DeviceI/O Address
Z180 CPU (eg. Z8S180xx), including:
* Two asynchronous serial ports
* Clock serial I/O for SD card
* Timer
0xC0 (to 0xFF)
Memory: (linear, no MMU)
512k Flash, 512k RAM
n/a
Status LED0x0E
Diagnostic LEDs0x00
SIO serial #1 (SIO, but no CTC)0x80 (to 0x83)
SIO serial #2 (SIO, but no CTC)0x84 (to 0x87)
ACIA serial #10x80 (to 0x81)
ACIA serial #20x40 (to 0x41)
8-bit IDE direct on CPU bus
Compact Flash controller
0x10 (to 0x17)

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

This version of RomWBW supports the following 80-pin RCBus modules (SC700 series).

RCBus-80pin
(700 series)
FunctionI/O address
SC722Z180 processor, including:
* SD card enable bit
* Status LED
* Internal registers

0x0C
0x0E
0xC0 to 0xFF
SC7211MB linear memory
* 2 x 512kB Flash ROM
* 1 x 512kB RAM
n/a
SC715Compact Flash interface0x10 (to 0x17)
SC719
Digital I/O module
(used for diagnostic LEDs)
0x00
SC716Z80 SIO/2 dual serial0x80 (to 0x83)
SC716Z80 SIO/2 dual serial0x84 (0x87)
SC705ACIA serial0x80 (to 0x81)
SC705ACIA serial0x40 (to 0x41)

It also supports the following older modules (SC100 series)

RCBus
(100 series)
FunctionI/O address
SC111Z180 processor, including:
* Internal registers
0xC0 to 0xFF
SC1191MB linear memory
* 2 x 512kB Flash ROM
* 1 x 512kB RAM
n/a
SC145Compact Flash interface0x10 (to 0x17)
SC129Digital I/O module
(used for diagnostic LEDs)
0x00
SC104Z80 SIO/2 dual serial0x80 (to 0x83)
SC104Z80 SIO/2 dual serial0x84 (to 0x87)
SC132Z80 SIO/0 dual serial0x80 (to 0x83)
SC132Z80 SIO/0 dual serial0x84 (to0x87)
SC139ACIA serial0x80 (to 0x81)
SC139ACIA serial0x40 (to 0x41)

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

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.

Incompatible modules

Modules not compatible with this configuration:

DeviceComment
SC706
SC708
SC108
SC153
Only one CPU supported
and it needs to be a Z180
SC725Z80 SIO serial + CTC
sort of works but problematic with Z180
SC707
SC714
SC143
SC150
SC151
SC152
Only 1MB linear memory supported
SC110Serial module requires bus clock 7.3728MHz

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

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.

Release Notes

The Z180’s internal I/O is set to the range 0xC0 to 0xFF.

Homebrew 8-bit retro computing