Commodore Test Cartridge Index

Commodore made diagnostic cartridges and test ROMs for its service centres. This index covers the ones with a surviving Commodore manual or a ROM image in the zimmers.net firmware archive, with the part and revision numbers as they appear there.[1]
Commodore 64
[edit | edit source]C64 diagnostic kit, assembly 326070-01
[edit | edit source]326070-01 is the assembly number of the complete kit. Commodore's manual for it is dated 1992.[2] The zimmers.net archive holds the kit's cartridge ROM as revision 586220, together with this manual and two harness schematics redrawn in 2009 by Peter Schepers.[3]
| Item | Purpose |
|---|---|
| Diagnostic Program Cartridge | The ROM that runs the tests |
| User Port Hardware Adapter | Loop-back for the user-port test; also ties the paddle inputs to +5 V through 110K resistors for the control-port test |
| Keyboard PCB | Loop-back for the keyboard test |
| Cable Harness Assembly | Connects the adapter to the cassette port, serial port and both control ports |
The cartridge sits at $8000-$9FFF. At power-on the C64 reads $8004-$8008, and if those locations hold "CBM80" the cartridge's program runs. It exercises the 6510, system RAM, ROM and the internal I/O, and shows the test being run, an OK or BAD status and the probable failed IC in a red box. A BAD that later passes still leaves the IC named in the box, as a record of an intermittent fault.[2]
| Test | What it covers |
|---|---|
| Zero page, stack page | Internal to the 6510; a failure points at the CPU (U7 on the long board) |
| Screen RAM | $0400-$07FF, read back after a short delay to check refresh |
| RAM test 1 | $0800-$7FFF. One RAM named BAD usually means a stuck bit in that chip; several mean a fault in the RAM area |
| RAM test 2 | $3000-$FFFF, after the program copies itself down to $1000-$2FFF |
| PLA | Selects the BASIC, KERNAL and character ROMs and the colour RAM in turn |
| Colour RAM | $D800-$DC00; a BAD result points at the 2114 at U6 |
| KERNAL, BASIC and character ROM | Checksum of each ROM (U4, U3, U5) |
| Cassette port | Sense, read, write and motor lines through the harness |
| Keyboard | With the Keyboard PCB fitted, counts looped between CIA U1 ports A and B. Without it, OPEN means no key is down and BAD means a key or the matrix is shorted |
| Control port | Paddle inputs first, then the joystick lines |
| Serial port | DATA, ATN and CLK lines through the harness |
| User port | Port B, PC2/FLAG2 and SP1/SP2 through the adapter |
| Timers 1-A, 1-B, 2-A, 2-B | CIA timers, run at 60 Hz from the TOD inputs on pin 19 |
| Interrupt | IRQ from U1, NMI from U2, the CIA alarms and the data-line interrupt |
| Sound | Audible only: three voices at three volumes, then three bursts of noise |
Two notes in the manual matter on older boards. On some early 5-pin video boards the control-port test always reports BAD and names the SID, because C48 and C93 at SID pins 23 and 24 are not the 1800 pF Commodore later standardised; this does not affect paddle use and the capacitors need not be changed. And the clock troubleshooting has a separate procedure for the C-64 revision B PCB.[2]
C64/C128/C128D Dead Test, rev 781220
[edit | edit source]The Dead Test is for a machine that gives no usable picture. Its cartridge sits at $E000 and takes over from the KERNAL at reset, so it runs without the machine's ROMs, and Commodore says it will run with every socketed IC removed except the CPU, PLA and VIC-II. It first tests RAM from $0100 to $1000 with a black screen for about ten seconds. A RAM fault there is reported by flashing the screen in a repeating count, which identifies the failed chip by data bit; Commodore's chart translates the count for the C64 Rev A/B, B-3 and E boards and for the C128 and C128D. If nothing flashes and no screen appears within 20 seconds, Commodore lists the power supply, reset or clock circuits, the CPU, the PLA and the VIC-II as the suspects. Once running, it tests zero page, stack, screen RAM, colour RAM and $0800-$1000, then plays the sound test.[4]
| Flashes | Data bit | C64 Rev A/B | C64 B-3 | C64 E (C64C short board) |
|---|---|---|---|---|
| 1 | 7 | U12 | U9 | U11 |
| 2 | 6 | U24 | U9 | U11 |
| 3 | 5 | U11 | U9 | U11 |
| 4 | 4 | U23 | U9 | U11 |
| 5 | 3 | U10 | U10 | U10 |
| 6 | 2 | U22 | U10 | U10 |
| 7 | 1 | U9 | U10 | U10 |
| 8 | 0 | U21 | U10 | U10 |
Commodore adds that a stuck data line can come from any IC on that line as well as from the RAM; that several bad RAMs may mean a bad power supply or power switch; and that most misleading results show as one flash (bit 7) when the real fault is a RAM on bit 0 or 1.[4] If the Dead Test passes everything and the machine still will not run the standard diagnostic, Commodore points at a bad ROM or PLA.[4]
Other C64 test ROMs
[edit | edit source]The zimmers.net archive also holds C64 burn-in test ROMs (7.2 and "final burn-in" 3.0, both marked 5.6.89) and two diagnostic ROMs for the C64GS, taken from loose EPROMs.[3] No Commodore manual for these is hosted here.
Commodore 128
[edit | edit source]The archive lists a "Commodore 128 Diagnostic" ROM 325099-01, a C128DCR diagnostic 325109-10, diagnostic ROMs revs 588121 and 789010 that use the 586220 harness, and a set for rev 785260, PN 314061-06, with its manual and harness schematic.[1] The Dead Test above covers the C128 and C128D RAM as well.[4]
Commodore 16, 116 and Plus/4
[edit | edit source]The archive lists ROM 325062-01, "C16/C116/plus4 Diagnostic Test 1.5 UK/PAL", ROM 325201-01, a TED diagnostic rev 1.1 for PAL machines, and the community Diag264 test by Ron Clarke.[1]
VIC-20
[edit | edit source]A Commodore VIC-20 diagnostic cartridge labelled "DIAGNOSTIC-TEST VIC 20/VC 20 324159-01" carries an EPROM 324173-01 on PCB 324171-01, mapped to BLK5 ($A000), and comes with a set of test plugs. The archive has its ROM, the contributor's notes and photographs of the cartridge and harness.[5] No Commodore manual for it is hosted here.
PET and CBM
[edit | edit source]The archive holds PET diagnostic ROMs for the original 2001 (socket H7), for 40- and 80-column machines in the kernal socket, a 2001 diagnostic ROM 901447-30 at $9000, and the PETTESTER ROM by David Roberts, with notes on Commodore's diagnostic clip.[1] André Fachat describes the clip: a 40-pin clip over the CPU, cabled to a small board with a ROM and a reset switch, which forced the address bus to $9xxx so the machine started from the clip's ROM.[6]
Amiga
[edit | edit source]For the Amiga, the actively maintained community tool is DiagROM by John "Chucky" Hertell, a Kickstart-replacement diagnostic ROM. Version 2.0, a rewrite with new init code, was released in March 2026; the source is published read-only, and downloads come from the project's own site.[7]
Related pages
[edit | edit source]- Commodore 64
- Commodore 64 Diagnostic Instruction and Troubleshooting Manual (326070-01)
- Commodore 64 Troubleshooting Guide
- Commodore 64C Troubleshooting Guide
- Commodore VIC-20 Troubleshooting Guide
- Commodore PET 2001 Troubleshooting
- C64 Dead Test Diagnostic Manual
References
[edit | edit source]- ↑ 1.0 1.1 1.2 1.3 Commodore firmware archive, file list—link(accessed 2026-10-01) Directories misc/c64diag, misc/c128diag, misc/264diag, misc/vc-20diag and misc/petdiag, with the archive's own descriptions of each file.
- ↑ 2.0 2.1 2.2 2.3 2.4 Commodore, C64 Diagnostic Instruction and Troubleshooting Manual, Assembly #326070-01, © 1992 Commodore Electronics Limited, hosted at Commodore 64 Diagnostic Instruction and Troubleshooting Manual (326070-01). Section 1: kit contents, basic diagnostic theory, installation, operation and test descriptions 5.1 to 5.17. Section 2: basic troubleshooting guide for the long boards (power supply, reset, clocks, video, RAM, ROM and I/O), with all measurements "within a +/-10% tolerance".
- ↑ 3.0 3.1
misc/c64diag—link(accessed 2026-10-01)
File
c64_diag_rev586220-pn326070-01.zip: the 326070-01 manual, the ROM asdiag-c64_586220.bin, and user-port and harness schematics by Peter Schepers (2009). The archive also describes a later C64 diagnostic ROM, rev 410, as using "harness 586220". - ↑ 4.0 4.1 4.2 4.3 4.4 Commodore, Diagnostic Manual, C-64 Dead Test, PN-314139-02, January 1988, "C64/C128/C128D Diagnostic Dead Test Rev 781220", 16 pages, hosted as File:C64 Dead Test Diagnostic Manual (314139-02, 1988 Jan).pdf. Section 1, pp. 1-1 to 1-2: overview, $E000-$ECA8 start, installation. Section 2, pp. 2-1 to 2-7: power-up RAM test and data table, RAM error flash-code chart, system RAM chart, the test descriptions and the lower-screen clock chart.
- ↑ vc-20-diag.txt—link(accessed 2026-10-01) Notes on the VIC-20 diagnostic cartridge: EPROM labelled 324173-01 "VC 20 DIAG" on PCB 324171-01, cartridge labelled 324159-01.
- ↑ André Fachat, PET repairs—link(accessed 2026-10-01)
- ↑ John Hertell, Amiga DiagROM—link(accessed 2026-10-01) "DiagROM V2.0 - STABLE", 20 March 2026: rewritten init code with the main code moved to C; source published read-only at github.com/ChuckyGang/DiagROMV2.