Commodore VIC-20 Diagnostic Cartridge
The left-hand picture above shows the loopback dongle with wiring harness (sometimes referred to as an 'octopus cable') and the diagnostic cartridge below. The dongle's black box connects into the user port and sends the signals from the rest of the dongle connectors back to the diagnostic cartridge for reporting. The small black connector plugs into the keyboard socket on the VIC's PCB. There are also serial, audio, and control port connectors. The VIC-20 diagnostic cartridge has its own ROM and RAM, as can be seen in the right-hand picture above.
When the cartridge is inserted and the VIC-20 is switched on, it automatically starts running its diagnostic tests. The dongle is not essential for some of the tests to function, but since the cartridge is designed primarily to locate problems with I/O circuitry on the VIC-20 board, it is a very useful thing to have. For a wiring diagram of the dongle harness, click here (picture courtesy of Ray Carlsen). Note that the serial port diagram is not connected to the user port - it's just a simple loopback that you plug into the serial port.
Once all tests are complete, the diagnostic program pauses for about 10 seconds, and then restarts. At the bottom of the screen the current test number is shown, along with the amount of time the tests have been running since power-up.
The cartridge firmware will run fine without the dongle, but bear in mind some tests will return 'BAD' since it does not have knowledge of whether a dongle is attached, and hence it cannot skip tests that require the dongle.
Several diagnostic cartridges have been produced for the Commodore 64 and Commodore 128 machines.
It's worth noting that if you get hold of a diagnostic cartridge it may not be an original Commodore part. The firmware ROM is readily available for download from the web, and can be burned to an EPROM with relative ease.
Commodore Dead Test Cartridge
The Commodore 64/128/D Dead Test Cartridge Rev 781220 (see above) allows some tests to run even on a non-booting C64 or C128. Ultimax mode bypasses the kernal, so even if the machine's kernal ROM is unresponsive the cartridge will still run. It works with no RAM, ROM, SID, or CIA chips. If the RAM test fails, the border colour changes. Tests conducted include testing of the Zero Page, Stack Page, Screen RAM, Color RAM, and sound.
Commodore 64 Final Test Diagnostic Cartridge Rev 586220
The Commodore 64 Final Test Diagnostic Cartridge Rev 586220 was used on the production line to conduct final testing of C64s before shipping. It requires a bootable C64 to function, and works similarly to the VIC-20 Diagnostic cartridge, where a loopback dongle is employed to report the status of several I/O ports on the C64. The cartridge firmware will run fine without the dongle, but bear in mind some tests will return 'BAD' since it does not have knowledge of whether a dongle is attached, and hence it cannot skip tests that require the dongle.
Note that some users have successfully tried the same dongle cable designed for the C64 on a 128 as it seems to work ok.
Some further information on the use of the Diagnostic Cartridge on a Commodore 128 can be found in the Commodore 128 Diagnostic and Troubleshooting Manual.
There was also a Commodore 64/128 Keyboard Dual Diagnostic Cartridge which tests the keyboard, and a Commodore 64/128 Dual Diagnostic Cartridge.
Other third parties have also produced diagnostic carts, including one from Poland called 'Blackbox'.