Zx Spectrum Test Program Link ((new)) Now
When creating software for the ZX Spectrum today, the "test program" can range from a simple diagnostic tool to check your hardware to a sophisticated unit testing suite for new Z80 code. Recommended ZX Spectrum Diagnostic & Test Tools
If you are looking for a "test program" to verify if a physical machine is working correctly, several community-standard diagnostic ROMs and tools are available: Phil Ruston's Diagnostic ROM
: A widely used diagnostic tool (V1.54+) that performs deep hardware checks, including memory (Lower/Upper RAM), ULA functionality, and sound. It is often used with a replacement ROM cartridge Specasm Unit Test Suite
: For developers, this Z80 assembler for the ZX Spectrum includes built-in unit testing capabilities. You can build and run tests directly on a 48K, 128K, or Next machine using the unitzx.tap Brendan Alford's ZX Spectrum Diagnostics
: An open-source diagnostic project specifically designed to help troubleshoot faulty hardware components through a series of automated tests. Writing Your Own Test Program
If you want to write a custom piece of code to test specific features (like memory or graphics), you have two main routes:
To prepare a ZX Spectrum test program, you can use several utilities and resources depending on whether you need hardware diagnostics or software development tools. Diagnostic & Test ROMs
If you are looking for programs to test hardware functionality (RAM, ROM, keyboard, ULA), these are the primary links:
ZX-Diagnostics (GitHub): A comprehensive open-source diagnostic suite by Brendan Alford. It includes tests for the CPU, RAM, and keyboard [10].
Retroleum Diagnostic ROM: Created by Phil Ruston, this ROM is widely used for repairing original Spectrum models. It features automated RAM tests and a menu for manual component testing [11, 25]. zx spectrum test program link
Sinclair Official Test ROM: The original 1983 hardware test ROM used by Sinclair repair engineers [15]. Software Testing & Development Utilities
To create and test your own code as a "test program," these tools convert modern text files into Spectrum-compatible formats:
zmakebas: A utility that converts a plain text file containing BASIC code into a .tap file that can be loaded into an emulator or real hardware [9].
ZX BASIC Compiler (Boriel): An SDK that allows you to write programs in a BASIC dialect on a PC and compile them into Z80 machine code for the Spectrum [19].
World of Spectrum Archive: A massive repository where you can download official utility programs, including original I/O handling test programs [27, 43]. Emulators for Instant Testing
You can test your code or these diagnostic files immediately using these emulators:
Fuse (Free Unix Spectrum Emulator): A highly accurate and free emulator available for multiple platforms [9, 29].
ZEsarUX: A powerful emulator with built-in debugging features ideal for testing new code [17, 29].
Here’s a concise text you can use for a forum post, website, or description about a ZX Spectrum test program link: When creating software for the ZX Spectrum today,
Title: ZX Spectrum Test Program – Diagnostics & Hardware Check
Body:
If you’re repairing or restoring a ZX Spectrum (16K, 48K, 128K, or +2/+3), a proper test ROM or diagnostic program is essential to check memory, ULA, sound, keyboard, and ports.
Here’s a reliable link to a pre-built ZX Spectrum diagnostics test program (available as a .tap or .rom file):
🔗 [Insert your link here]
What this test does:
- RAM/ROM checksum verification
- ULA timing and screen border test
- Keyboard matrix test
- AY sound chip test (for 128K models)
- Joystick and peripheral port test
How to use:
- Load the test program via an emulator (e.g., Fuse, ZX Spin) or real hardware using a DivMMC, tape adapter, or programmer.
- Run with
RANDOMIZE USRor autoload. - Follow on-screen instructions.
Alternative source:
If the link above is offline, check the Sinclair ZX World forums or Planet Sinclair’s tools section for updated diagnostic files.
Let me know if you need a version for a specific Spectrum model!
For detailed documentation and the latest "ZX Spectrum Test Program" links, the most comprehensive "papers" are the technical manuals for modern diagnostic ROMs. These tools are the current standard for repairing and testing original Sinclair hardware. Primary Diagnostic Resources & Documentation Title: ZX Spectrum Test Program – Diagnostics &
The most cited "detailed papers" for ZX Spectrum testing are the user manuals for the Phil Ruston (Retroleum) and Brendan Alford diagnostic suites. Phil Ruston's DiagROM (Retroleum): Direct Link: Retroleum DiagROM Download Detailed Paper (PDF): DiagROM Technical Manual
Features: Includes deep testing for lower/upper RAM, ULA, Z80 features, keyboard, and sound. It provides a "bad bit to chip ID" table to help you identify exactly which IC on the board needs replacing. Brendan Alford / Dylan Smith (ZX Diagnostics): Project Repository: GitHub - zx-diagnostics Detailed Documentation : ZX Diagnostics Wiki/Manual Manual (Scribd): ZX Spectrum Diagnostics User Manual
Features: Uses "March" and random fill algorithms to detect complex memory faults. It also supports official 128k and +2 models. Official Sinclair Test Programs
If you are looking for the original factory test software from the 1980s: Diagrom | PDF | Random Access Memory - Scribd
Method 1: The Authentic Way (Real Tape Deck)
- Convert the
.tapfile to a real audio.wavusing Tapir or OTLA. - Connect your ZX Spectrum to a smartphone or laptop headphone jack (volume at 70-80%).
- Type
LOAD ""(press J, P, Symbol Shift+P). - Press play on your audio source.
- The screen will flash colored bars. If you see a stable border, the program is loading.
3. The DRAM Gauntlet: Row, Column, and Refresh
The 48K Spectrum uses 16 64kbit DRAM chips (4164 or equivalent). These chips are notorious for failure due to timing sensitivity. The test program runs a multi-pass algorithm:
- March C- pattern: A classic DRAM test writing 0, then 1, then 0 across all addresses.
- Stuck-at fault detection: Writes
0b10101010and0b01010101to each byte. - Row hammer (simplified): Repeatedly accesses the same row to test for charge leakage between cells.
- Refresh test: The Z80 has a built-in DRAM refresh mechanism (R register). The program disables interrupts and waits to ensure the ULA’s contention isn’t blocking refresh cycles.
A failure at any point outputs a specific memory address and failing bit pattern, often via a binary-coded border color or a simple text output on a working screen.
2. The Ultimate Test Cartridge (UTC) for 48K
Originally a cartridge for Interface 2, this has been converted to a TAP file. It is brutal on RAM—so if your Spectrum passes this, it is stable.
- What it tests: Exhaustive address line tests, stuck-at faults, and data bus conflicts.
- Best for: Intermittent crashes that happen after 20 minutes.
- 📥 Link:
https://worldofspectrum.net/pub/sinclair/games/u/UltimateTestCartridge.tzx.zip
5. FUSE Emulator Built-in Test ROM (For reference)
While not a hardware test, the FUSE emulator includes a virtual test ROM. You cannot run it on real hardware directly, but the source code reveals the memory patterns used. You can find the test patterns at:
https://sourceforge.net/projects/fuse-emulator/files/fuse-utils/