Below are detailed instructions on how to install CP/M 2.2 on a CompactFlash card using the Small Computer Monitor (SCM).
Once CP/M is installed, programs and files can be copied to the CompactFlash using Grant Searle’s DOWNLOAD.COM utility.
This method involves using SCM Apps, as described in detail here:
Detailed instructions for loading SCM Apps
Once you have CP/M installed you will probably want some classic CP/M software from the CP/M software library.
It is also worth reading this information about CompactFlash reliability.
First, you need to download the Apps to match your hardware.
There are sets of Apps for a number of popular combinations of hardware. It is important to use a set that matches your hardware. The tables below should help you identify the appropriate version.
Sets of Apps to download:
CPM-A CPM-B CPM-C CPM-D CPM-E CPM-F CPM-G CPM-H
Z50Bus compatible systems
The newer range of Z50Bus compatible designs (the SC500 series) is supported by the following CP/M Apps:
CP/M Apps | Hardware requirements |
CPM-E | Z80 CPU running at 7.3728 MHz ROM/RAM paging at port 0x38 bit 0 A 9600 baud bit-bang serial port at 0x20 + 0x28 CompactFlash card at 0x90 SCM F1 v1.2.1 (2022-02-16) or later |
CPM-F | Z80 CPU (typical clock speed 7.3728 MHz) ROM/RAM paging at port 0x38 bit 0 Z80 SIO at 0x80 + CTC at 0x88 (at 1.8432 MHz) Z80 SIO at 0x80 with 7.3728 MHz clock CompactFlash card at 0x90 SCM F2 v1.3 (2022-02-27) or later |
CPM-G | Z80 CPU (typical clock speed 7.3728 MHz) ROM/RAM paging at port 0x38 bit 0 68B50 ACIA at 0xA2 with 7.3728 MHz clock CompactFlash card at 0x90 SCM F2 v1.3 (2022-02-27) or later |
CPM-H | Z180 CPU running at 18.432 MHz CompactFlash card at 0x90 SCM F3 v1.3 (2022-02-27) or later |
Examples of compatible hardware:
Processor (CPU+Memory) | Serial Port(s) | CompactFlash Interface | Apps Set Download |
SC516 | SC516 | SC504 @ 0x90 | CPM-E (Z80+BB9600) |
SC516 | SC511 @ 0x80 SC521 @ 0x80 | SC504 @ 0x90 | CPM-F (Z80+SIO) |
SC516 | SC520 @ 0xA2 | SC504 @ 0x90 | CPM-G (Z80+ACIA) |
SC518+SC519 | SC511 @ 0x80 SC521 @ 0x80 | SC504 @ 0x90 | CPM-F (Z80+SIO) |
SC518+SC519 | SC520 @ 0xA2 | SC504 @ 0x90 | CPM-G (Z80+ACIA) |
SC503 | SC503 | SC504 at 0x90 | CPM-H (Z180+ASCI) |
The older range of Z50Bus compatible designs (the SC100 series) is supported by the following CP/M Apps:
CP/M Apps | Hardware requirements |
CPM-A | Z80 CPU running at 7.3728 MHz ROM/RAM paging at port 0x38 bit 0 A 9600 baud bit-bang serial port at 0x20 + 0x28 CompactFlash card at 0x10 SCM F1 v1.2 (2020-05-27) or earlier |
CPM-B | Z80 CPU (typical clock speed 7.3728 MHz) ROM/RAM paging at port 0x38 bit 0 Z80 SIO at 0x80 + CTC at 0x88 (at 7.3728 MHz) CompactFlash card at 0x10 SCM F1 v1.2 (2020-05-27) or earlier |
CPM-H | Z180 CPU running at 18.432 MHz CompactFlash card at 0x90 SCM F3 v1.3 (2022-02-27) or later |
Examples of compatible hardware:
Processor (CPU+Memory) | Serial Port(s) | CompactFlash Interface | Apps Set Download |
SC118 | SC118 | SC117 @ 0x10 | CPM-A (Z80+BB9600) |
SC118 | SC125 @ 0x80 | SC117 @ 0x10 | CPM-B (Z80+SIO) |
SC140 | SC140 | SC117 @ 0x90 | CPM-H (Z180+ASCI) |
The older range can be updated to be compatible with the SC500 series CP/M Apps by replacing the SCM ROM with v1.3 or later, and changing the CompactFlash address from 0x10 to 0x90.
RC2014 bus compatible systems
The SC100 series of RC2014 bus compatible designs, along with standard RC2014 systems, is supported by the following CP/M Apps:
CP/M Apps | Hardware requirements |
CPM-A | Z80 CPU running at 7.3728 MHz ROM/RAM paging at port 0x38 bit 0 A 9600 baud bit-bang serial port at 0x20 + 0x28 CompactFlash card at 0x10 SCM S2 v1.0 (2018-04-30) or later |
CPM-B | Z80 CPU (typical clock speed 7.3728 MHz) ROM/RAM paging at port 0x38 bit 0 Z80 SIO at 0x80 + CTC at 0x88 (at 7.3728 MHz) Z80 SIO at 0x80 with 7.3728 MHz clock CompactFlash card at 0x10 SCM S2 v1.0 (2018-04-30) or later, or SCM S3 v1.0 (2018-04-30) or later |
CPM-C | Z80 CPU (typical clock speed 7.3728 MHz) ROM/RAM paging at port 0x38 bit 0 68B50 ACIA at 0x80 with 7.3728 MHz clock CompactFlash card at 0x10 SCM S2 v1.0 (2018-04-30) or later, or SCM S3 v1.0 (2018-04-30) or later |
CPM-D | Z180 CPU running at 18.432 MHz CompactFlash card at 0x10 SCM S5 v1.0.2 (2019-06-02) or later, or SCM S6 v1.1 (2019-07-15) or later |
Examples of compatible hardware:
Processor (CPU+Memory) | Serial Port(s) | CompactFlash Interface | Apps Set Download |
RC2014 Mini+ Z80 CPU | RC2014 Mini+ (68B50 ACIA) | RC2014 Mini+ CompactFlash | CPM-C NOT TESTED |
RC2014 Pro Z80 CPU | RC2014 Pro (Dual serial) | RC2014 Pro CompactFlash | CPM-B (Z80+SIO) |
RC2014 ZED Z80 CPU | RC2014 ZED (Dual serial) | RC2014 ZED CompactFlash | Not available |
SC108 | SC104 @ 0x80 SC104+SC102 SC110 SC132 @ 0x80 | SC145 | CPM-B (Z80+SIO) |
SC108 | SC139 @ 0x80 | SC145 | CPM-C (Z80+ACIA) |
SC111+SC119 | SC111 | SC145 | CPM-D (Z180) |
SC114 | SC114 | SC145 | CPM-A (Z80+BB9600) |
SC114 | SC104 @ 0x80 SC104+SC102 SC110 SC132 @ 0x80 | SC145 | CPM-B (Z80+SIO) |
SC114 | SC139 @ 0x80 | SC145 | CPM-C (Z80+ACIA) |
SC126 | SC126 | SC145 | CPM-D (Z180) |
SC203 | SC111 | SC145 | CPM-D (Z180) |
SC204 | SC114 | SC145 | CPM-A (Z80+BB9600) |
The following steps use an SC204 system as an example. SC204 is a minimal CP/M system, formed from an SC114 Z80 SBC/motherboard plus an SC145 CompactFlash interface module. SC114 includes a very basic 9600 baud serial port which we use for all communications to a Windows 10 PC running Tera Term v4.96. You will need the CPM-A set of Apps or an equivalent set for your hardware.

Tera Term is set to :
9600 baud, 8 data bits, 1 stop bit, no parity, and hardware (RTS/CTS) flow control.
Most systems use 115200 baud.
When the system running SCM is reset, the terminal should look something like this:

The first thing we need to do is format the CompactFlash card. This will erase any files on the card. Note that this format is not the same as used by RomWBW or by a modern computer.
Select “Send File” from Tera Term’s File menu and locate the appropriate Compact Flash Format App. In this case:
CPM-A_SCM_CF_Format_code8000.hex
If all goes well the display should show “Ready”. You shouldn’t see the contents of the file being displayed in the terminal window. If you do it means SCM has not detected the start of the file.

The program is now in memory and is executed with the SCM command “g 8000”. This means GO to location 8000 hex.

The next step is to install the CP/M 2.2 operating system onto the CompactFlash card. To do this, ‘send’ the appropriate PutSysPlus App. In this case, the file is:
CPM-A_SCM_PutSysPlus_128MB_code8000.hex

Again, execute the App with the SCM command “g 8000”

CP/M can now be started with the SCM command “CPM”
WARNING: Some systems will require you to press the reset button before CP/M is started with the SCM command “CPM”

CP/M is now installed but there are no files on the CompactFlash card.
The method described here to copy files to the CompactFlash card is Grant Searle’s DOWNLOAD.COM program.
Reset the SCM system to return to the SCM prompt.
Now send the SCM_Install_Download App. Execute the App with the SCM command “g 8000” and follow the on-screen instructions.

The system is now ready to accept files packed with Grant’s FilePackage program for Windows.
Now send pre-packaged programs to the CP/M system in the same way SCM Apps were sent.
In this example, the MBASIC.COM package file (pkgMBASIC.txt) is sent.

Now a quick test of MBASIC.

WARNING: It is important to select SCM Apps that are compatible with your hardware. There are many different systems available and this means some programs need to be versioned for each.