The latest release of this Firmware is detailed in the table below.
Name | Small Computer Monitor |
Configuration | S8 |
Release | 2022-12-16 |
Download | SCM S8 2022-12-16 (HEX) |
Device Programming: | |
Code size | 32k bytes |
Checksum (MiniPro 6.85) | 01D9 6040 (39SF040A) |
Recommended IC | SST39SF010A |
Core Components: | |
Monitor | Version 1.3.1 |
BIOS | SCZ80 1.3.1 |
Included Apps: | |
– ROM BASIC | Version 4.7b.1 |
– CP/M loader from CF card | Version 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 display | Issue |
LEDs always off | CPU not running, or Output port failed, or Reset failure |
LEDs always on | Output 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 display | Issue |
LED always on | CPU not running, or Output port failed, or Reset failure |
LED always off | Faulty LED, or Output port failed |
LED goes off and stays off | RAM 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
- Processor:
- RC2014, Z80 CPU module
- SC149, Z80 CPU module
- Serial port
- RC2014, serial module, Classic 1 (68B50 ACIA) – retired
- RC2014, serial module, Classic 2 (68B50 ACIA)
- Karl’s #61, serial and storage (ACIA & CF)
- SC104, serial module (Z80 SIO/2)
- SC110, serial and timer module (Z80 SIO & CTC)
- Baud rate generation:
- CP/M storage:
- RC2014, compact flash module
- Karl’s #10, compact flash module
- Karl’s #61, serial and storage (ACIA & CF)
- Karl’s #72, compact flash module
- Karl’s #73, compact flash module
- SC145, compact flash interface module
- and others
- Self-test status display:
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.