Diagnostic cartridges for the Commodore 64 / 128.

A bunch of diagnostic carts. Some of the material below is from the web and some of them are from my own collection.

You will probably be fine with the C64 Dead Test (Rev 781220) and C64 Diagnostic Kit 326070-1 (Rev 586220/588220) for the C64. Use the C64 Dead Test if you got a blank(black) screen, it will flash the border according to which RAM circuit is broken.

If you got a C128 with a blank(blank) screen you can use the C64 Dead Test to find faulty (low) memory. When the C64 side is working, use the C128 Diagnostics to verify the upper memory. It is also possible to rewire the high and low memory and then give the C64 Dead Test a second run. C128 Diagnostic Carts use the same harness as the C64 Rev.586220 (326070-01) but with a different keyboard adapter.

586220 Harness
Check out Sven’s page for an excellent resource about the harness! He has also remedied a problem where the keyboard dongle falsifying passes the user and control port tests. Otherwise you must run the test a second time without the keyboard dongle, this is not mentioned in the manual.

Testing in VICE
You can test the carts in vice:
C64: x64.exe -cartcrt [cartname].crt
C128: x128.exe -extfunc -extfrom [romname].bin

2014-11: I have now included both C128 and C128D keyboard connector schematics for Rev.785260 to avoid misunderstandings. There are also some notes about the connector at position 1.4.8 in the manual.
2015-01: Added disassembly of the C-64 Diagnostic Rev 4.1.0. This was a bit tricky to disassemble(reassemble) as it crossreferences code between $8000/$1000.
2015-01: Added C-64 Diagnostic (Box) (324528-02). Thanks to SLC and Zoran.
2015-01: Added C-128 DCR Integral Diag 1.0 and C-128 Diag Rev.588121. Thanks to Zoran.
2015-01: Thanks to Boulderdash for the info about the C128 Serial Adapter.
2015-10: On request, I made a disassembly of the C64 Diag 781220 deadtest.
2016-11: Added Rossmöller / Roßmöller Doctor64 diagnostic. Thanks to DOC64 and Sierohpätsch.
2018-12: Added C-64 Diagnostic Rev 4.1.1 and Import Test Diag.
2018-12: Added C-64 Diagnostic Rev 3.7.3. At a meeting held by the Dutch Commodore Club, Jeroen Vlasveld noticed a diagnostic harness not present on this page. He sent over the diagnostic Rev 3.7.3 ROM, a picture and a schematic of the harness. Thanks!
2020-04: Added information about the diagnostic falsifying passing tests due to the keyboard dongle and a link to Sven’s page for the 586220 harness. Thanks to Sinan and Sven for the information.
2020-05: Added download for C128 Diagnostic 588121B which will work as internal (U36) ROM and external function/cart ROM. Thanks to Bart (https://www.bartsplace.net/) for the update.
2020-05: Together with Bart, we patched more C128 diagnostics carts to work as internal (U36) ROM and external function/cart ROM. Added download for C128 Diagnostic Rev 789010JB.
2020-05: Added C64GS Diagnostic Rev 1.1 and Rev 2.0 ROM:s.
2020-09: Added 4 Burn-In ROMs.
2020-10: Added C64 Burn In R2.1. Thanks to Jeroen Vlasveld.


Don’t miss the updated Diagnostic 586220 with kernel detection and other fixes.

Additional credits:
Peter Schepers, Nicolas Welte, DLH’s Commodore Archive, SLC, Zoran, Doc64, Sierohpätsch, Jeroen Vlasveld (http://myoldcomputer.nl), Dutch Commodore Club, Bart (https://www.bartsplace.net/).


C-64 Dead Test Kit (CBM 314139-03)

dead test
Rev. 781220. Located at $E000 in memory(ultimax) and boots before kernal ROM.

Cartridge ROM: C64 Dead Test Rev 781220 Diagnostic Cartridge (314139-01)
Manual: C64 Dead Test Diagnostic Manual (314139-02)



C-64 Diagnostic Assembly Kit (CBM 326070-01)


Rev. 586220 (c64)  and 588220 (sx64)

Located at $8000 in memory and requires a harness (some tests work without the harness).
Note: There are atleast 3 variations of the schematic on the net, two of them are missing an interconnected wire in the casetteport.

Cartridge ROM: C64 Diagnostic Rev 586220/588220 Cartridge (314061-01)
Manual: C64 Diagnostic Instruction and Troubleshooting Manual (314061-05)
Harness Schematic: C64 Diagnostic Harness Schematic (314061-02/03/04)

I disassembled the cartridge for studying purposes. It can be compiled(assembled) with 64tass.



C-64 Diagnostic Rev 3.7.3, Rev 4.1.0, Rev 4.1.1 and Import Test Diag
C-64 GS Diagnostic Rev 1.0, Rev 2.0

Located at $8000- in memory and use harness 251169-02.

C-64/C-64 GS Diagnostic Rev x ROMs. I dug out all diagnostics visually alike and disassembled them, after aligning code and comparing routines it became obvious these four were from the same code base. Import Test Diag is modified to work without a harness. C-64 GS Diagnostics are also on the same code base, some tests omitted due to the fact it does not have all peripheral ports.



C-64 Diagnostic (Box) (CBM 324517-02)

Located at $8000- in memory and uses its own harness. See also Roßmöller Doctor64 below.
Cartridge ROM: Prog. for Diagnostic Box (324528-02)

Roßmöller Doctor64

Located at $8000- in memory and uses same harness as Diagnostic Box (324528-02).
The Roßmöller will give a false “Interrupt BAD” on C64C models. Interesting is that the Diagnostic Box (324528-02), which can be found on a Commodore spare parts list, has identical check routines as Doctor64 except for the Interrupt part.



C-128 Diagnostic Rev. 588121

Rev. 588121
Uses the same harness as the C64 Rev.586220 (326070-01).

Modified to work as internal (U36) and external (Cart) function ROM.



C-128 Diagnostic Assembly Kit (314060-01)


Rev. 785260
Uses the same harness as the C64 Rev.586220 (326070-01).

Cartridge ROM: C128/128D Diagnostic Rev 785260 Cartridge (314061-06)
Manual: C128 Diagnostic Instruction and Troubleshooting Manual (314061-09)
C128 Diagnostic Keyboard Adapter (314061-07).
C128D Diagnostic Keyboard Adapter (314987-01).
Note: C128 Serial Port Connector has Pins 1 and 5 connected.



C-128 Diagnostic Rev. 789010


Rev. 789010
Uses the same harness as the C64 Rev.586220 (326070-01).

Modified to work as internal (U36) and external (Cart) function ROM.


C-128 Diagnostic Rev 1.1 and 1.4 (325099-01)

C-128 Diagnostic Rev 1.x Uses its own Cart and harness.



C-128 DCR Integral Diag 1.0 (325109-01)

Cartridge ROM: C-128 DCR Integral Diag 1.0 ROM (325109-10)


C-64 “Burn In”
Burn-in is the process by which components of a system are exercised.

Even though the screenshot says diagnostic, these ROMs come from cartridges labeled “Burn In”. The basecode is the same but there has been a lot of patching/adding/omitting done.

C64 Burn In Cart – Screens 1,2,3. (Keys F1/F3 to loop/continue test).
C64 Burn In “Hot Burn In” – Screens 3,4,5. (F1/F3/F5-keys have been disabled).
C64 Burn In “Rev 7.2” – Screens 3,4,5. (F5 key to skip test).
C64 Burn In “Final Rev 3.0” – Screens 3,4,5,6. (F5 key to skip test). Diagnostic routines in this ROM are identical to the ones in “C-64 Diagnostic Rev 3.7.3”.


C-64 Burn In R2.1