Today I fixed a 250407 board Commodore 64 with multiple issues. At the beginning, the good old blank screen was greeting me as usual.
As I could see the vertical bars generated by the VIC-II chip, I came to the conclusion that at least the clock circuit should be working. I tried to insert a Dead Test Cartridge, but nothing changed. Both +5V and 9V AC lines were OK, so I started this repair job by desoldering the PLA chip.
After soldering a socket and installing a good known PLA, I finally got a screen. But, the “OUT OF MEMORY in 0” error was shown. That usually means that at least one RAM chip is damaged.
The Dead Test Cartridge this time would be helpful. The screen was flashing and I was able to replace the right RAM chip. After that, I finally got the usual start up message.
But, there was still something bad. The machine couldn’t access the disk drive. I got a “DEVICE NOT PRESENT” error. As the 7406 chip was a MOS version, the 7707, I suddenly suspected it was bad. In facts, MOS versions of generic TTL logic chips usually suffer from premature failures. So, I didn’t desolder the CIA U2 but I desoldered the 7707 instead. My guess was right, after installing a good known 7406 the computer could access the disk drive with no problem.
Still, while testing this Commodore 64 with the Doctor 64 cartridge by Trilogic, I realized there was something wrong with the Cassette Switch Sense line. The PLAY button would be reported as pressed even if no Datassette unit was connected! The Diagnostic software reported a problem to the 6510 CPU. Actually, bit 4 of register 1 of the 6510 is used to detect if a Datassette button is pressed or not.
This bit is 1 if no datassette button is pressed, it is 0 if pressed.
If I connected a Datassette, if I issued the command “LOAD” the screen would blank without waiting for the PLAY button to be pressed, even if no Datassette button was actually pressed. Still, the machine was able to load programs properly.
I noticed that the CPU was not original. Someone had previously replaced it and soldered it directly on the board. A 6510 from 1986 was installed. So, the problem could be also a bad solder joint, but after inspection I made the conclusion that solders were OK.
So, I desoldered the CPU and I carefully checked the traces (all OK). Desoldering operations by previous owner were done perfectly, I was happy there was no damage to fix. So, it was clear that the problem was on the CPU at this point.
Then, I soldered a socket for a new CPU. After installing a good known CPU, I finally got everything working.
So, this machine had two I/O problems: it couldn’t access the disk drive, and it could not detect if a Datassette button was pressed properly. Despite those I/O problems, both CIAs were fine.