This report outlines the primary diagnostic and test programs available for the Sinclair ZX Spectrum
. These tools range from official historical utilities used by repair engineers to modern diagnostic ROMs developed by the retro-computing community to troubleshoot hardware failures such as bad RAM, faulty ROMs, and keyboard issues. 1. Modern Community Standards The most recommended "test programs" today are typically Diagnostic ROMs
. These are flashed onto external cartridges or ROM replacement boards and are essential when a Spectrum won't boot into BASIC. Brendan Alford’s ZX Diagnostics:
This is currently one of the most popular functional testing suites for hardware clones and original machines. It is an open-source project available on
that tests memory banks, paging, and keyboard functionality. Retroleum DiagROM (Phil Ruston):
A widely used diagnostic image for the Spectrum 16/48 and 128K models. It can be found at
and provides visual border patterns and audio beeps to identify faulty RAM chips even if the screen is unreadable. 2. Historical & Official Test Programs
Sinclair Research produced several official utilities, some of which were originally restricted to authorized service technicians. Sinclair ZX Spectrum Test ROM (1983):
An unpublished ROM used by engineers for hardware verification. It occupies only 8KB and is a common target for those looking for the "original" diagnostic feel. Sinclair Test Program (1985): zx spectrum test program link
A later utility released by Sinclair Research for the 48K and Spectrum+. It was designed to check keys not present on the original models and was often supplied via Microdrive or cassette. World of Spectrum 3. Usage & Implementation
Test programs for the Spectrum are usually loaded in one of two ways: Sinclair ZX Spectrum Test ROM
For those maintaining or repairing classic Sinclair hardware, several essential ZX Spectrum test programs and diagnostic ROMs are available to troubleshoot memory, ULA, and other hardware issues. Top Recommended Diagnostic ROMs & Tools
These programs are the gold standard for identifying faulty RAM chips or hardware failures. Retroleum DiagROM (Phil Ruston)
: A highly regarded diagnostic tool for testing RAM (16K, 48K, and 128K), ULA, and other system features. It is often included in modern hardware like the Retroleum SMART Card Brendan Alford ZX-Diagnostics : Open-source firmware available on
designed for functional testing of ZX Spectrum hardware and clones. Official Sinclair Test Programs : Originally for repair engineers, these include the Sinclair ZX Spectrum Test ROM (1983) and the Sinclair Research Test Program (1985) for I/O handling. Alioth Spectrum Flash ROM & Diagnostics : Offers downloadable ROMs, source code, and TZX format files
for programming diagnostic tools directly into flash memory. Where to Download or Purchase
Depending on whether you prefer to run a digital file via an emulator or use physical hardware, you can find resources at these locations: This report outlines the primary diagnostic and test
ZX Spectrum 16k 48k 128k +2 +3 Diagnostic Test Cartridge - External Test ROM
A simple 48K Spectrum test program typically includes:
High-level steps to build such a program:
Example test routines (described, not code):
(If you want actual assembler source, say so and specify target machine: 48K, 128K, or a particular clone.)
In the modern retro-computing scene, the "Test Program Link" has evolved into a dedicated hardware tool known as the ZX Diag Board.
This is a physical cartridge that plugs into the Spectrum’s expansion port. It contains a test program that runs automatically, bypassing the potentially broken keyboard and fragile tape loading mechanism.
The Diag Board represents the ultimate realization of the test link concept. It doesn't just check RAM; it systematically tests: A small bootstrap in UDG-friendly ASCII or an
The output is often displayed on the screen in color-coded bars. If the screen is too corrupted to read, the Diag Board sometimes outputs a link to a speaker, beeping error codes like a Morse code distress signal from a silicon shipwreck.
A “test program” is a small piece of software designed to verify hardware, software interfaces, or specific system behaviors. On the Spectrum, test programs historically served several purposes:
A “test program link” commonly refers to a packaged or documented way to obtain, load, or chain (link) one or more test programs together — either as a loader that sequentially runs multiple tests, or as a link/reference (URL/archive) pointing to test program resources.
You have your link. You downloaded zx-tester-v23.tap. Now what?
Once the program loads (you will see a cyan screen with "ZX Spectrum Diagnostic v2.3"), follow this sequence:
RAM Test (The most critical)
40960). This maps directly to a chip. Example: $4000 error is usually IC23 or IC24.Keyboard Matrix Test
ULA vs. Contended Memory Test
Sound and Beeper Test
Video Output Test (The coloured bars)