SCM App, Compact Flash Format

This App formats a compact flash card ready to be used for CP/M. Note this is based on Grant Searle’s implementation of CP/M and is not the same format used by RomWBW. This format is compatible with the official distributions for RC2014 systems, LiNC80 systems, and Z50Bus systems.

Version 1.1 supports Z80 and Z180 processors, and CompactFlash cards at addresses 0x10 and 0x90. It is therefore compatible with RC2014 and Z50Bus systems.

This program is written as an App for the Small Computer Monitor v1.0 and later.

This program formats a Compact Flash card for use with CP/M. It works with cards of 8MB or more. Only the first 128MB of large cards is used for CP/M. Although a wide range of card sizes can be formatted, the current versions of CP/M CBIOS are only configured for 64MB and 128MB. Other sizes can be used, but a mismatch with the CP/M CBIOS may result in some drives being unavailable or give errors when you try to access a non-existent drive.

The program implements the recommended status checks and tests for errors reported by the Compact Flash card. It also verifies the format. As a result, it should be reliable. It is also informative if problems are detected.

Compact Flash cards in binary multiples from 1MB to 2TB should be correctly identified and described. So 1MB, 2MB, 4MB, 8MB, 16MB, 32MB, 64MB should be correct, but a 48MB card will likely be reported as 32MB. It was much easier to deal with just the binary multiples than all possible sizes, so I took the easy way out. My bad!


Older versions

Recommended for RC2014 and LiNC80 systems
Requirements:
Small Computer Monitor (SCM) v1.0 or later
Z80 or Z180 processor
Compact flash card at address 0x10
SCM_CF_Format_Z80_CFx10_code8000.hex
Version 1.0 (2022-03-02)
Recommended for Z50Bus systems
Requirements:
Small Computer Monitor (SCM) v1.0 or later
Z80 or Z180 processor
Compact flash card at address 0x90
SCM_CF_Format_Z80_CFx90_code8000.hex
Version 1.0 (2022-03-02)
Source code
SCM_CF_Format.asm
Version 1.0 (2022-03-02)

Below is an example of the terminal output when loading and running the App.

Small Computer Monitor - RC2014
*         <<< send hex file here >>>
*Ready
*
*g8000
Compact Flash card format v1.1 by Stephen C Cousins

Card at address $10:
Card size: 128MB
Number of logical drives to format: 16

WARNING: Format will erase all data from the card
Do you wish to continue? (Y/N)

Formatting drives: ABCDEFGHIJKLMNOP
Verifying drives:  ABCDEFGHIJKLMNOP

Formatting complete
*

Homebrew 8-bit retro computing