SCM App, Compact Flash Test

This App tests a compact flash card. This should help identify card compatibility issues and also hardware issues.

Not all Compact Flash cards work with typical Z80 bus based Compact Flash interfaces. Read about Compact Flash Reliability here.


Version 1.2 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 writes test data to a compact flash card and verifies it.
For each sector:
Fill sector+0 with 0xFF, 0xFF, 0x00 (repeating)
Fill sector+1 with 0xAA, 0x55, 0xF0 (repeating)
Verify both sectors contain the correct data
Increment sector number

Each sector is only written 2 times during this test, so flash wear should not be a concern.

The program pauses if an error occurs, giving you the choice to continue
or end the test.

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


Older version (1.1)

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 writes test data to a compact flash card and verifies it.
For each sector:
Fill sector+0 with 0x00
Fill sector+1 with 0xFF
Fill sector+2 with 0x55
Fill sector+3 with 0xAA
Verify all 4 sectors contain the correct data
Increment sector number

Each sector is only written 4 times during this test, so flash wear should not be a concern.

The program pauses if an error occurs, giving you the choice to continue
or end the test.

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


Older version (1.0)

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_Test_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_Test_Z80_CFx90_code8000.hex
Version 1.0 (2022-03-02)
Source code
SCM_CF_Test.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 test v1.1 by Stephen C Cousins

Card at address $10:
Number of sectors on card: $00007A80
Card size: 16MB
Card's self diagnostic test passed

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

Sector: $00000000 passed
Sector: $00000001 passed
Sector: $00000002 passed
Sector: $00000003 passed
Sector: $00000004 passed
Sector: $00000005 passed
Sector: $00000006 passed
Sector: $00000007 passed
Sector: $00000008 passed
Sector: $00000009 passed
Sector: $0000000A passed
Sector: $0000000B passed
Sector: $0000000C passed
Sector: $0000000D passed
Sector: $0000000E passed
Sector: $0000000F passed
Sector: $00000010 passed
Sector: $00000011 passed
Sector: $00000012 passed
Sector: $00000013 passed
Sector: $00000014 passed
Sector: $00000015 passed
Sector: $00000016 passed
Sector: $00000017 passed
Sector: $00000018 passed
Sector: $00000019 passed
Sector: $0000001A passed
Sector: $0000001B passed
Sector: $0000001C passed
Sector: $0000001D passed
Sector: $0000001E passed
Sector: $0000001F passed
Sector: $00000020 passed
Sector: $00000021 passed
Sector: $00000022 passed
Sector: $00000023 passed
Sector: $00000024 passed
Sector: $00000025 passed
Sector: $00000026 passed
Sector: $00000027 passed

Homebrew 8-bit retro computing