Commodore 64 Tester using MCL64

I developed a tester for the Commodore 64 using the MCL64 which allows the user to replace the computer’s MOS6510 with the MCL64 board and run an extensive set of tests on the motherboard. The system generates the 6510 bus cycles to allow it to access all of the C64’s components the same way the original CPU does while communicating with the user via the Serial Console built into the Teensy 4.1!

Some more information on the MCL64 hardware is here: https://microcorelabs.wordpress.com/2021/04/16/mcl64-mos-6510-emulator-works-in-commodore-64/

The idea was to leverage the ability to write tests in simple C code to quickly debug and isolate motherboard faults on the Commodore 64. Other test programs for the C64 like Dead Test are usually written in 6502 assembly so difficult to maintain and extend, are not very large or extensive, and rely on the CPU to be functional to run them. This MCL64-based tester requires only power and clocks to be working for it to be able to generate bus cycles and begin testing components.

There are around fifty tests which include an isolated test for the PLA, extensive checks of individual address and data signals, DRAM and Color RAM storage ability, ROM contents, and VIC-II and SID register accesses. It should at least allow the user to diagnose and fix a non-booting Commodore 64.

The hope is that these tests can be used to quickly and easily identify faulty components on the vintage Commodore 64 machines.

The source code on GitHub: https://github.com/MicroCoreLabs/Projects/tree/master/MCL64_Tester

Here is a Serial Terminal capture of the tests:

MicroCore Labs
MCL64  -- Commodore 64 Board Tester
-----------------------------------

Menu
----
0) Initial tests user can perform with a handheld voltmeter or oscilloscope
1) Run basic test of all chips
2) Test PLA
3) Test KERNAL ROM 
4) Test BASIC ROM 
5) Test CHARACTER ROM 
6) Test DRAM
7) Test Color RAM
8) Test VIC-II
9) Toggle SIC Sound ON/OFF

Commodore 64 Tester using MCL64