Zx Spectrum Test Program Link ((better)) May 2026

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].

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].

The ZX Spectrum Test Program, specifically the version published by Sinclair Research Ltd in 1985, is a legacy utility designed for internal diagnostics and Input/Output (I/O) handling on the 48K ZX Spectrum. Overview & Utility

Developed by Ian Logan, this software was primarily intended as a functional test for the machine's hardware capabilities. Unlike modern diagnostic ROMs that target deep chip-level failures, this program focuses on validating the visible and audible functions of the 48K hardware.

Primary Function: Utility for testing I/O handling and hardware responsiveness. Target Hardware: 48K ZX Spectrum.

Controls: Supports standard Cursor keys, Kempston joysticks, and Interface 2 (left/right ports). Key Features zx spectrum test program link

While official documentation for this specific 1985 release is sparse compared to the 1983 "Test ROM" (which was restricted to official Sinclair Repair Engineers), it typically covers:

Visual Calibration: Verifying the standard 256 x 192 pixel resolution and the 15-color palette (including bright and non-bright variations).

Input Testing: Checking the functionality of the "dead-flesh" rubber keyboard and attached peripherals like joysticks.

Audio Verification: Testing the single-channel buzzer used for sound effects and music. Availability & Access

The program remains archived and accessible for enthusiasts using original hardware or modern emulators:

Downloadable Archives: It is currently listed as available on major community repositories such as World of Spectrum and Spectrum Computing.

Modern Alternatives: For more intensive hardware repair, many hobbyists now prefer the Diagnostic ROM by Phil Ruston (Retroleum), which provides automated RAM and ULA analysis, or firmware-based solutions like zx-diagnostics on GitHub.

If you are trying to repair a physical unit, I can recommend which modern diagnostic tools are best for pinpointing specific chip failures. Or, if you need help loading the program, just let me know which emulator or hardware you're using. A ZX Spectrum Diagnostic ROM by Phil Ruston - Retroleum

For those seeking to maintain or repair original hardware, finding a reliable ZX Spectrum test program link is essential. These tools range from modern diagnostic ROMs that can pinpoint faulty RAM chips to official vintage test utilities originally used by Sinclair technicians. Top Diagnostic Software & Links

Modern developers have created highly sophisticated diagnostic tools that far surpass the original factory tests in detail and accuracy.

Retroleum DiagROM (Phil Ruston): One of the most popular community-created diagnostic tools. It can identify specific bad bits in RAM through on-screen messages and beep codes. Download: Retroleum DiagROM v1.71

ZX Diagnostics (Brendan Alford): A comprehensive open-source suite that includes ROM checks, hardware tests, and tape interface testers. Source/Download: Brendan Alford's GitHub

Sinclair System Test ROM: The official diagnostic tool used by Sinclair in the 1980s. It is available as a ROM dump for use with emulators or external interface cartridges. Archive Link: World of Spectrum Utility Archive Hardware Diagnostic Tools

If your Spectrum's internal ROM is dead, you will need hardware to "override" it and run these test programs. ZX Spectrum Diagnostic Test Cartridge Go to product viewer dialog for this item.

: A "4-in-1" external cartridge often sold on sites like eBay or Etsy. It typically includes the Retroleum, Smith & Alford, and official Sinclair test ROMs. To prepare a ZX Spectrum test program, you

SMART Card (Retroleum): A multi-purpose interface that includes the DiagROM firmware and an NMI button to trigger a keyboard tester at any time. Diagnostic ROM ICs

: For those comfortable with soldering, you can buy pre-programmed EPROM chips like the Logan RAM Test ROM Go to product viewer dialog for this item. to permanently replace a faulty internal ROM. Common Tests Performed

These programs typically execute a sequence of checks to identify hardware failures: ZX Spectrum 48K - How to replace the ROM with an EPROM

You're referring to the ZX Spectrum, a classic British home computer from the 1980s!

A "test program link" likely refers to a type of diagnostic or testing software used to verify the functionality of the ZX Spectrum. Here are some features that might be related to a test program link for the ZX Spectrum:

  1. Memory Testing: A test program link might include a memory test to verify that the ZX Spectrum's RAM is functioning correctly. This would involve writing and reading data to and from memory locations to ensure that the RAM is working as expected.
  2. ROM Testing: Similarly, a test program link might include a test to verify that the ZX Spectrum's ROM (Read-Only Memory) is functioning correctly. This would involve checking the contents of the ROM against known good values.
  3. Peripheral Testing: A test program link might also include tests for various peripherals connected to the ZX Spectrum, such as the keyboard, joystick ports, or cassette interface.
  4. Display Testing: The test program link might include tests for the ZX Spectrum's display, such as checking for correct color output, border color, and screen resolution.
  5. Sound Testing: A test program link might also include tests for the ZX Spectrum's sound capabilities, such as checking the AY-3-8912 sound chip.

Some examples of test programs for the ZX Spectrum include:

  • ZX Spectrum Diagnostic ROM: This is a diagnostic program developed by Sinclair Research Ltd. to test the ZX Spectrum's hardware.
  • The Complete Test Program: This is a comprehensive test program developed by a third-party company to test various aspects of the ZX Spectrum's hardware.

If you're looking for a specific test program link, please provide more information or context about what you're trying to achieve or the error message you're encountering. I'll do my best to help!

If you are looking for a "ZX Spectrum test program link," you are likely trying to troubleshoot hardware issues like bad RAM or corrupt ROMs. There are several professional-grade diagnostic tools available for free to help you identify these faults. Top ZX Spectrum Diagnostic & Test Programs

Retroleum DiagROM: One of the most popular modern diagnostic ROMs. It tests internal RAM, ROM checksums, keyboard matrix, sound (BEEP and AY-chip), and ULA video output.

Sinclair Official Test Program: Originally used by Sinclair repair engineers, this utility tests I/O handling and hardware components.

Brendan Alford's ZX-Diagnostics: An open-source firmware designed for functional testing of original Spectrum hardware and its various clones.

Fruitcake Spectrum ROM Tester: Specifically designed to check for corrupt internal ROMs and the presence/health of a ZX Interface 1.

Spectrum Flash ROM & Diagnostics: Provides TZX format files for testing 128K models and flashing diagnostic software directly into a Spectrum. How to Use These Tools Test Program - World of Spectrum


Where NOT to look for test program links (Avoiding dead ends)

When searching for a “ZX Spectrum test program link”, you will encounter many dead ends. Avoid these:

  • Geocities/ Angelfire archives – Most links are pre-2005 and lead to 404 errors.
  • Old forum posts without updates – If the last post is from 2007, the file is likely gone.
  • RapidShare/ MegaUpload links – Those file hosts no longer exist.

Stick to GitHub, World of Spectrum, and Planet Sinclair mirrors for reliable, virus-free content. Memory Testing : A test program link might

Architecture of a Diagnostic: What It Tests, and How

The test program is a masterclass in constrained debugging. It must run without relying on the very subsystems it is testing. Here is a deep look at its core modules:

Review: The Essential ZX Spectrum Diagnostic Tools

If you are looking to test a Spectrum (16k, 48k, Plus, or 128k), these are the standard programs used by the community.

4. Creating a Test Program: Minimal Example Outline

A simple 48K Spectrum test program typically includes:

  • A small bootstrap in UDG-friendly ASCII or an assembler source (.asm)
  • Initialization that sets up the screen and clears attributes
  • A memory test routine that writes known patterns (0x00, 0xFF, 0x55, 0xAA) across RAM and verifies reads
  • A basic tape save/load roundtrip test: save a short block to tape and attempt to load it back
  • A keyboard echo or port test
  • An options menu to run specific tests

High-level steps to build such a program:

  1. Choose assembler (z80asm, sjasmplus, Pasmo, or WinAPE built-in tools).
  2. Implement test routines in Z80 assembly (or compile from Sinclair BASIC with machine code).
  3. Create a TAP/ZIP or TZX image using tools (MakeTZX, tapir, or emulator export).
  4. Document expected results and known limitations.

Example test routines (described, not code):

  • Memory test: write 0x55 then read back; write 0xAA then read back; report first failing address.
  • Border timing: toggle border on each frame and count frames with a loop to estimate frame timing.
  • Beeper test: POKE to the speaker port with a delay loop to create a tone; verify audible output.
  • Keyboard matrix: poll each row and display pressed keys; used to confirm keyboard wiring.

(If you want actual assembler source, say so and specify target machine: 48K, 128K, or a particular clone.)

Step-by-Step: Running the Diagnostics

Once the program loads (you will see a cyan screen with "ZX Spectrum Diagnostic v2.3"), follow this sequence:

  1. RAM Test (The most critical)

    • The program will test RAM banks 0-7 (up to 128K).
    • Pass: Displays green "OK" for each bank.
    • Fail: Displays a red address (e.g., 40960). This maps directly to a chip. Example: $4000 error is usually IC23 or IC24.
  2. Keyboard Matrix Test

    • A grid appears representing each key press.
    • Short every key with your finger. If a key doesn't light up, you have a membrane failure—not a ULA issue.
  3. ULA vs. Contended Memory Test

    • This checks the "contention" timing unique to the Spectrum. A failure here means your ULA (socketed on Issue 2 and 3 boards) is dying.
  4. Sound and Beeper Test

    • It will play three tones. If you hear nothing, check the EAR/MIC socket or the internal transistor (TR1, TR2 on 48K boards).
  5. Video Output Test (The coloured bars)

    • The program cycles through the eight Spectrum colours. If you see missing colours or snow, your composite mod or RF modulator needs attention.

7. Debugging and Test Reporting

  • Visual reporting: Use clear on-screen text with addresses and error codes. Example: "MEM ERR @ 32768: expected 0x55 saw 0x00"
  • Audible/LED signals: Use the beeper or border flashes to signal pass/fail if the display is unusable.
  • Serial/log output: On setups with serial or printer interfaces, send test logs for external capture.
  • Automated pass/fail: Create non-interactive modes that return specific byte values to a host loader so an external harness can parse results automatically.
  • Logging to disk/tape: Save a small text or binary log after tests conclude.

Testing across multiple machines:

  • Keep a matrix of target machines (48K, 128K, +2, +3, Timex, clones) and expected behaviors.
  • Note hardware differences: memory map, ROM routines, AY sound chip presence, port mappings, and bank-switching quirks.

1. What is a “Test Program” for the ZX Spectrum?

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:

  • Hardware diagnostics — verifying RAM, ROM paging (on 128K machines), keyboard matrix, display output, ULA timings, and I/O ports
  • Loader test — confirming that tape or disk loading routines work reliably under various conditions
  • Peripheral tests — checking Kempston/Ajnar/Interface 2 joystick ports, printers, parallel/serial interfaces, disk interfaces (e.g., Beta Disk, Opus Discovery), and modern AT interfaces
  • Sound tests — exercising the beeper or AY-3-8912 chip (on 128K models)
  • Performance benchmarks — measuring CPU speed, memory copy throughput, or rendering rates
  • Development harness — quick harnesses to exercise new routines or modules during development
  • Format and compatibility tests — ensuring programs will load across different Spectrum variants, clones, and emulators

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.