The Small Computer Monitor supports a range of hardware and options. These are determined at compile time and are identified by a configuration code. The current configurations are listed below.
Only a few of these have been ported from SCM v1.0 to SCM v1.1
Config. | Description | ROM | RAM |
00 | Complete custom build | ||
C1 | Z80sc, standard ROM SCM, BASIC, CP/M loader Maintained by SCCousins | 1 bank of 32k | 32k or 64k paged |
F1 | Z50Bus, standard ROM SCM, BASIC, CP/M loader Maintained by SCCousins | 1 bank of 32k | 32k or 64k paged |
L1 | LiNC80 SBC1, standard ROM SCM, BASIC, CP/M loader Maintained by SCCousins and Jon Langseth | 2 banks of 16k | 48k or 64k paged |
R1 | RC2014, official image 9 SCM only Maintained by SCCousins | 1 bank of 8k | 32k no paging |
R2 | RC2014 SCM and BASIC Maintained by SCCousins | 1 bank of 16k | 48k no paging |
R3 | RC2014 SCM, BASIC, CP/M loader Maintained by SCCousins | 1 bank of 32k | 32k or 64k paged |
R4 | RC2014, official image 88 SCM, BASIC, CP/M loader Maintained by SCCousins | 1 bank of 16k | 32k or 64k paged |
S1 | SC101, standard ROM SCM, BASIC, CP/M loader Maintained by SCCousins | 1 bank of 8k | 32k or 64k paged |
S2 | SC114, standard ROM SCM, BASIC, CP/M loader Maintained by SCCousins | 1 bank of 32k | 32k or 64k paged |
S3 | SC108, standard ROM SCM, BASIC, CP/M loader Maintained by SCCousins | 1 bank of 32k | 32k or 64k paged |
S4 | SC111, Z180 CPU SCM, BASIC, CP/M loader Maintained by SCCousins | 1 bank of 32k | 32k or 64k paged |
S5 | SC111+SC119, Z180 system SCM, BASIC, CP/M loader Maintained by SCCousins | 512k Z180 MMU | 512k Z180 MMU |
S6 | SC126, Z180 Motherboard SCM, BASIC, CP/M loader Maintained by SCCousins | 512k Z180 MMU | 512k Z180 MMU |
T1 | Tom’s SBC revision C SCM, BASIC, CP/M loader Maintained by SCCousins | 1 bank of 16k | 48k or 84k paged |
Z1 | Z280RC by Bill Shen Maintained by Bill Shen | ||
Z? | Z80SBC64 by Bill Shen Maintained by Bill Shen |
Notes
S4
This configuration is designed as a stepping stone from a working Z80 based RC2014 to a Z180 processor. Simply replace the Z80 CPU with a Z180 CPU and install this version of SCM. All I/O is provided by the existing external hardware (not the Z180) and any required memory management is also provided by existing external hardware.
S5
This configuration is used when a complete Z180 design is required. Z180 internal peripherals, such as serial, are used instead of external ones.
Supported Hardware
The following hardware is specifically supported, and used, by SCM. Other hardware may also exist in the system, but SCM does not provide support or use it. However, software loaded and run from SCM might make use of such hardware.
Config. | Supported hardware |
F1 | Z80 CPU (eg. Z84C00xx) SIO #1 at 0x80 (eg. Z84C42xx) CTC #1 at 0x88 (eg. Z84C30xx) Bit-bang serial port Digital I/O at 0x52 Compact Flash at 0x10 for loading CP/M |
L1 | Z80 CPU (eg. Z84C00xx) SIO at 0x00 (eg. Z84C42xx) CTC at 0x08 (eg. Z84C30xx) Digital I/O at 0x30 |
R1 & R2 | Z80 CPU (eg. Z84C00xx) ACIA #1 at 0x80 (eg. 68B50) ACIA #2 at 0x40 (eg. 68B50) SIO #1 at 0x80 (eg. Z84C42xx) Digital I/O at 0x00 |
R3 & R4 | Z80 CPU (eg. Z84C00xx) ACIA #1 at 0x80 (eg. 68B50) ACIA #2 at 0x40 (eg. 68B50) SIO #1 at 0x80 (eg. Z84C42xx) Digital I/O at 0x00 Compact Flash at 0x10 for loading CP/M |
S2 | Z80 CPU (eg. Z84C00xx) ACIA #1 at 0x80 (eg. 68B50) ACIA #2 at 0x40 (eg. 68B50) SIO #1 at 0x80 (eg. Z84C42xx) Bit-bang serial port (as SC114) Digital I/O at 0x00 Compact Flash at 0x10 for loading CP/M |
S3 | Z80 CPU (eg. Z84C00xx) ACIA #1 at 0x80 (eg. 68B50) ACIA #2 at 0x40 (eg. 68B50) SIO #1 at 0x80 (eg. Z84C42xx) CTC #1 at 0x88 (eg. Z84C30xx) Digital I/O at 0x00 Compact Flash at 0x10 for loading CP/M |
S4 | Z180 CPU (eg. Z8S180xx) ACIA #1 at 0x80 (eg. 68B50) ACIA #2 at 0x40 (eg. 68B50) SIO #1 at 0x80 (eg. Z84C42xx) CTC #1 at 0x88 (eg. Z84C30xx) Digital I/O at 0x00 Compact Flash at 0x10 for loading CP/M |
S5 | Z180 CPU (eg. Z8S180xx) Z180’s asynchronous serial ports Z180’s internal timer (for idle events) Digital I/O at 0x00 Compact Flash at 0x10 for loading CP/M |
S6 | Z180 CPU (eg. Z8S180xx) Z180’s asynchronous serial ports Z180’s internal timer (for idle events) Digital I/O at 0x00 Compact Flash at 0x10 for loading CP/M Status / self-test LEDs at 0x0D |
Hardware Identification Codes
These are hardware identifiers used within SCM and returned as part of the SCM version details.
Config. | Description | ID | Name | Hardware |
0# | Custom | 0 | <custom> | — |
C# | Z80sc | 13 | Z80sc | SC121 |
F# | Z50Bus | 14 | Z50Bus | SC118 |
L# | LiNC80 | 5 | LiNC80 | SBC1 |
R# | RC2014 | 3 | RC2014 | Z80 |
S1 | SC_S1 | 4 | SC101 | SC101 |
S2 | SC_S2 | 8 | SC114 | SC114 |
S3 | SC_S3 | 10 | SC3 | SC108 |
S4 | SC_S4 | 11 | Z180 | SC111 |
S5 | SC_S5 | 12 | Z180_RC | SC111+119 |
S6 | SC_S6 | 12 | SC126 | SC126 |
T1 | TomsSBC | 6 | TomsSBC | SBC vC |
W# | Simulated | 1 | Simulated | — |
Z1 | Z280RC | 7 | Z280RC | Z280RC |
Z2 | Z80SBC64 | 9 | Z80SBC64 | Z80SBC64 |
— | SCDevKit01 | 2 | SCDevKit01 | — |
Hardware Flags Summary
Hardware identified by SCM is indicated by the flags described below. These flags are returned as part of the SCM version details.
SCM Config. | bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 | bit 0 |
Z80sc C# | Z180 serial | CTC 0x8C | SIO 0x84 | CTC 0x88 | Bit- bang | ACIA 0x40 | SIO 0x80 | ACIA 0x80 |
Z50Bus F# | n/a | CTC 0x8C | SIO 0x84 | CTC 0x88 | Bit- bang | n/a | SIO 0x80 | n/a |
LiNC80 L# | n/a | n/a | n/a | n/a | n/a | n/a | n/a | SIO 1 0x00 |
RC2014 R# | Z180 serial | CTC 0x8C | SIO 0x84 | CTC 0x88 | Bit- bang | ACIA 0x40 | SIO 0x80 | ACIA 0x80 |
RC2014 S# | Z180 serial | CTC 0x8C | SIO 0x84 | CTC 0x88 | Bit- band | ACIA 0x40 | SIO 0x80 | ACIA 0x80 |
TomsSBC T1 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | SIO 1 0x00 |
Hardware Flags for RC2014 Systems
Hardware flags for other configurations of SCM may indicate different hardware.
Flag bit | Hardware for SCM configurations R# and S# |
Bit 0 | ACIA #1 at 0x80 |
Bit 1 | SIO #1 at 0x80 |
Bit 2 | ACIA #2 at 0x40 |
Bit 3 | Bit-bang serial, or SIO #1 in RC2014 addressing compatibility mode |
Bit 4 | CTC #1 at 0x88 |
Bit 5 | SIO #2 at 0x84 |
Bit 6 | CTC #2 at 0x8C |
Bit 7 | Z180’s internal serial ports |
Hardware flag for each configuration are detailed below.
SCM Config. | bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 | bit 0 |
RC2014 R1 to R4 | 0 | 0 | 0 | 0 | 0 | ACIA 0x40 | SIO 0x80 | ACIA 0x80 |
RC2014 S2 | 0 | 0 | 0 | 0 | Bit- bang | ACIA 0x40 | SIO 0x80 | ACIA 0x80 |
RC2014 S3 | 0 | 0 | 0 | CTC 0x88 | SIO 1 mode | ACIA 0x40 | SIO 0x80 | ACIA 0x80 |
RC2014 S4 | 0 | 0 | 0 | CTC 0x88 | SIO 1 mode | ACIA 0x40 | SIO 0x80 | ACIA 0x80 |
RC2014 S5 | Z180 serial | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
RC80 S6 | Z180 serial | 0 | 0 | 0 | 0 | 0 | 0 | 0 |