ROM-based hardware diagnostics for the TS2068, with RAM chip and bit reporting and a simplified replacement HOME ROM. Version 0.3, with a cartridge manual.
Diagnostic Lab is a cartridge for checking a TS2068 and tracking down hardware faults. It offers a guided Full test and a menu of individual tests, and can leave RAM and bank-switching tests running to catch intermittent faults. Its code runs from ROM without needing a RAM stack, so it keeps testing and reporting when RAM is unreliable. It tests all 48K of internal RAM and tries to name the suspect chip or chips by their board references (U6, U7, U12, U13, U17 and U18) and the data bits involved, reporting on screen where the display still works and otherwise through codes of beeps and border flashes. The manual warns that faulty wiring or control signals can look like a bad RAM chip, so a chip report is a lead, not proof.
Other tests cover cartridge bank switching, optional HOME ROM and EXROM checksums, selected Z80 and address-line checks, the SCLD interrupt, the beeper, and the AY sound chip’s registers and playback. The video screens show colour bars, FLASH, the second display file, an extended-colour gradient and colour disc, high-resolution patterns and 128 attribute combinations. Keyboard and joystick screens show the keys and directions as they are pressed.
Using it
- At power-up it runs a short baseline: Z80 register and arithmetic checks, a check of the cartridge’s eight ROM chunks, a 00/FF fill of all 48K and 16 address-line pair checks, then opens the menu (about 9 seconds in an emulator).
- Holding R while booting runs the complete RAM test: eight patterns, walking bits, March C−, address-derived and random data, and a write/hold/read test, about 84 seconds, ending “All 6 RAM chips PASS” if successful.
- Holding F runs the Full sequence: complete RAM, 100 bank-switching cycles, beeper, AY checks and sound demonstration, six video screens and the keyboard test, about 4 minutes to the keyboard. ROM checksums, the extended CPU and address tests, interrupt checks, joysticks and the continuous soak are separate menu items.
The simplified HOME ROM edition replaces the ROM at U16 and starts at reset without the original operating system or a cartridge start-up. It has fewer tests (it omits banking and video from Full) and reports RAM faults by sound and border codes. A 27128 EPROM needs an adapter, so it is not a direct plug-in replacement. The cartridge itself still needs enough of the machine’s own start-up circuitry and firmware to work before it can take over.
By Jon Becker; the README calls it a new Codex-generated tool and credits Carl Miles’s TS2068 Diagnostics Cartridge documentation and the ZX Spectrum Diagnostics ROM by Dylan Smith and Brendan Alford as inspiration. It has passed emulator checks and has been tried with PicoROM, but physical hardware validation is still pending and the author asks for beta testers.
Release files
- TS2068-Diagnostic-Lab-Cartridge-Manual.pdf
- TS2068DiagnosticLab-v0.3-HOME-ROM.zip
- TS2068DiagnosticLab-v0.3.zip
- DiagnosticLab2068-diagnostic-lab-v0.3-source.zip (source code)
According to the README, the release ZIP holds the .dck cartridge image, raw images for EPROM and PicoROM, programming and installation instructions, and the manual in PDF and web form. Source and documentation: github.com/jon0x0/ts2068.
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.