Jump to content

Commodore Test Cartridge Index

From RetroTechCollection
C64 Logic Board
A Commodore 64 logic board. The diagnostic cartridges report faults by IC position, so the board's own numbering matters.

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]

What the kit contains[2]
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]

Tests in the 326070-01 diagnostic[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]

Dead Test RAM error flash codes, C64[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]

[edit | edit source]

References

[edit | edit source]
  1. ↑ 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. ↑ 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. ↑ 3.0 3.1 misc/c64diag—link(accessed 2026-10-01) File c64_diag_rev586220-pn326070-01.zip: the 326070-01 manual, the ROM as diag-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. ↑ 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.
  5. ↑ 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.
  6. ↑ André Fachat, PET repairs—link(accessed 2026-10-01)
  7. ↑ 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.