Commodore 64 (ASSY 250407) Board Repairs

Alongside purchasing complete systems, over the past few years I’ve also accumulated a large quantity of incomplete circuit boards for “spares and repairs”, primarily from Commodore computers (VIC-20, VIC-20CR, C64, C64C, C16, Plus/4, C128, etc).

I got these for cheap in various job lots, with the intention of fixing up as many as possible and selling the working ones on for those who needed a fully-tested board (for swapping into a system, for use as a test board, etc). This meant I could focus on my favourite part of my work – the electronics restoration – without having to worry about case and keyboard cleaning, which is fun but can get quite tedious; also, a reliable supply of original spare parts from irreparable boards.

I recently finished my restoration of the salvageable boards, which has taken a VERY long time (bit by bit for the past year or so) because of both the quantity of the boards and the amount of work involved in testing, repairing, and cleaning each one.

This article focuses on a set of C64 boards I worked on, specifically a large number of ASSY 250407 boards – an early revision longboard which followed the ASSY 326298.

Commodore 64 250407 Board #1

The first board would output video but would not boot up correctly, displaying a border screen with the error message “?UNDEF’D STATEMENT”.

Board #1 initial testing.

I tried again with a dead-test cartridge installed, which can indicate potential hardware issues (i.e. bad ROM, bad RAM) – the screen flashed three times, indicating a fault with data bit 5 which is associated with U11 (4164 DRAM IC).

I removed the RAM IC at U11 using my desoldering station (a Duratool D00672) and tested it in my RAM tester, and it had indeed failed. I then installed a socket, which allows the quick removal of ICs (i.e. for testing) without the need for rework.

I always use high-quality double-sided sockets, which are more reliable than cheap single-sided sockets as they contact the IC legs on both sides – a lot of people push the use of turned-pin sockets, but I don’t like using them as they make swapping ICs difficult, they are difficult to desolder, and they are visibly obviously non-standard.

I installed a new-old-stock 4164 DRAM IC (available to buy from Retroleum) and tried again – the board still wouldn’t boot correctly, but the symptoms had changed, and it displayed a series of random characters instead of error messages.

Board #1 after replacing the first bad RAM IC.

I tried the dead-test cartridge again – the screen flashed twice this time, indicating a fault with data bit 6 which is associated with U24 (4164 DRAM IC). I therefore repeated the same process as above and the symptoms changed slightly again, with different characters appearing this time, but the board still wouldn’t boot.

Yet again I tried the dead-test cartridge – the screen now flashed eight times, indicating a fault with data bit 0 which is associated with U21 (4164 DRAM IC). Yet again I repeated the same process as above, and the board now seemed to boot correctly for the first time (with flashing cursor and correct amount of RAM showing).

Board #1 boots correctly for the first time.

It also passed all tests with a diagnostic cartridge and loopback harness installed.

All of the 4164 DRAM ICs on this board were Micron-brand (uT 4264), which are commonly used in the C64, C128, and Plus/4, and are known to be particularly unreliable for whatever reason, potentially due to their manufacturing process.

Fully tested with diagnostic harness; composite video output OK; luma/chroma video output OK; audio output OK; cleaned ports, power switch, and edge connectors.

Commodore 64 250407 Board #2

The second board would output video but would not boot up correctly, displaying only a blank black screen with no border or text.

Board #2 initial testing.

In the C64, a black screen fault is a common failure mode which can indicate all kinds of problems: typically, a missing or improper signal, a data or address bus conflict, an addressing problem, or a stack page fault, all of which can be caused by a power issue or a failed IC. Most of the ICs on the board are connected to the data or address bus, so there are a large number of potential problems that need to be worked through.

The first thing to check with any repair is that power is being correctly received on the board, which may indicate a problem with the power socket, power switch, or fuse – I checked for 9Vac and 5Vdc at the user port, and both were OK; I also checked the 5Vdc and 12Vdc supply to the VIC-II, and both were OK.

A constant reset can also cause a black screen – I checked the reset signal at the user port and it worked as expected, staying low (around 0Vdc) for about a second at power on, then going high (around 5Vdc).

I checked for signs of previous rework which could indicate a potential problem (flux residue, non-factory sockets, etc), but there was none; I also checked for physical damage on the board which could be causing connection problems, including scratches or cold solder joints, but the board was pristine.

I reseated all of the socketed ICs and cleaned all sockets, ports, and switches with contact cleaner, however there was still no change in symptoms. I also replaced the corroded VIC-II socket in case this was causing contact problems, but to no effect.

I tried the machine using a dead-test cartridge, which can indicate potential hardware issues (i.e. bad ROM, bad RAM) – however, there was no change in symptoms. I tried the same with a diagnostic cartridge, with the same result.

At this point I decided to aim my investigation at the ICs themselves, starting with the MOS 906114-01 PLA (Programmable Logic Array) chip, which is responsible for all kinds of miscellaneous control and addressing in the Commodore 64, and is particularly unreliable due to its manufacturing process and because it runs hot.

I removed the PLA IC (U17) using my desoldering station (a Duratool D00672) and installed a socket. With a PLAnkton CPLD-based PLA replacement installed (available to buy from Retroleum), the board still only displayed a blank screen – however, with a dead-test cartridge installed the screen now flashes once, indicating a problem with data bit 7.

Board #2 dead-test cartridge flash code.

The dead-test cartridge manual says to suspect the DRAM IC at U12 on this board revision, however there are lots of potential causes of a stuck data bit, as I know from experience – addressing problems due to bad ICs (such as the RAM multiplexers and PLA) can cause this, as can stuck output drivers on ICs (in particular, the ROMs). Therefore, I wasn’t going to start pulling RAM ICs until I’d investigated a little further.

I decided to pull out my IR thermometer to measure the temperature of all of the soldered ICs, to check for any outliers. IC failures often lead to gates shorting or pulling on inputs or outputs, which draws more current, which increases die and package temperature – this can range from a subtle difference to something that could quickly burn your finger (i.e. RAM ICs damaged by overvoltage).

The Kernal ROM was running particularly hot so I removed it and tested it in my C64 test board, but it seemed to be working OK – I installed a socket and reinstalled the original IC.

No other soldered ICs seemed to be running hot, so I turned my attention to the RAM multiplexer ICs at U13 and U25. These were both MOS-brand versions of the 74LS257, the MOS 7708 – MOS versions of their 74-series counterparts are notoriously unreliable due to their manufacturing process, and the RAM multiplexers could cause an addressing failure leading to the dead-test identifying a stuck data line.

As such, I removed U13 and U25 (MOS 7708s) and tested them using my MiniPro TL866II – both had (unsurprisingly) failed, so I installed sockets and replaced them with new-old-stock 74LS257 ICs (available to buy from Retroleum). After this, the board now seemed to boot correctly for the first time (with flashing cursor and correct amount of RAM showing).

Board #2 boots correctly for the first time.

It also passed all tests with a diagnostic cartridge and loopback harness installed.

Fully tested with diagnostic harness; composite video output OK; luma/chroma video output OK; audio output OK; cleaned ports, power switch, and edge connectors.

Commodore 64 250407 Board #3

The third board would only output video intermittently and would not boot up correctly when it did, displaying only a blank black screen with no border or text.

Board #3 initial testing.

In the C64, a black screen fault is a common failure mode which can indicate all kinds of problems: typically, a missing or improper signal, a data or address bus conflict, an addressing problem, or a stack page fault, all of which can be caused by a power issue or a failed IC. Most of the ICs on the board are connected to the data or address bus, so there are a large number of potential problems that need to be worked through.

The first thing to check with any repair is that power is being correctly received on the board, which may indicate a problem with the power socket, power switch, or fuse – I checked for 9Vac and 5Vdc at the user port, and both were OK; I also checked the 5Vdc and 12Vdc supply to the VIC-II, and both were OK.

A constant reset can also cause a black screen – I checked the reset signal at the user port and it worked as expected, staying low (around 0Vdc) for about a second at power on, then going high (around 5Vdc).

I checked for signs of previous rework which could indicate a potential problem (flux residue, non-factory sockets, etc), but there was none; I also checked for physical damage on the board which could be causing connection problems, including scratches or cold solder joints, but the board was pristine.

I reseated all of the socketed ICs and cleaned all sockets, ports, and switches with contact cleaner, however there was still no change in symptoms.

I tried the machine using a dead-test cartridge, which can indicate potential hardware issues (i.e. bad ROM, bad RAM) – however, there was no change in symptoms. I tried the same with a diagnostic cartridge, with the same result.

At this point I decided to aim my investigation at the ICs themselves, starting with the MOS 6569 VIC-II video chip, which is responsible for generating video in the Commodore 64. I was using a known-good IC for testing, so wanted to make sure that the correct signals were being received by the chip – I tested all its pins using my logic probe, and many were erratic or floating, indicating a contact problem.

The factory sockets on the VIC-II, CPU, and CIAs were of a very poor quality, so could have been causing these problems. I removed all these using my desoldering station (a Duratool D00672) and installed replacement sockets – after this, the board now seemed to boot correctly for the first time (with flashing cursor and correct amount of RAM showing).

Board #3 boots correctly for the first time.

It also passed all tests with a diagnostic cartridge and loopback harness installed.

Fully tested with diagnostic harness; composite video output OK; luma/chroma video output OK; audio output OK; cleaned ports, power switch, and edge connectors.

Commodore 64 250407 Board #4

The fourth board would output video but would not boot up correctly, displaying only a blank black screen with no border or text.

Board #4 initial testing.

In the C64, a black screen fault is a common failure mode which can indicate all kinds of problems: typically, a missing or improper signal, a data or address bus conflict, an addressing problem, or a stack page fault, all of which can be caused by a power issue or a failed IC. Most of the ICs on the board are connected to the data or address bus, so there are a large number of potential problems that need to be worked through.

The first thing to check with any repair is that power is being correctly received on the board, which may indicate a problem with the power socket, power switch, or fuse – I checked for 9Vac and 5Vdc at the user port, and both were OK; I also checked the 5Vdc and 12Vdc supply to the VIC-II, and both were OK.

A constant reset can also cause a black screen – I checked the reset signal at the user port and it worked as expected, staying low (around 0Vdc) for about a second at power on, then going high (around 5Vdc).

I checked for signs of previous rework which could indicate a potential problem (flux residue, non-factory sockets, etc), but there was none; I also checked for physical damage on the board which could be causing connection problems, including scratches or cold solder joints, but the board was pristine.

I reseated all of the socketed ICs and cleaned all sockets, ports, and switches with contact cleaner, however there was still no change in symptoms. I also replaced the corroded VIC-II socket in case this was causing contact problems, but to no effect.

I tried the machine again with a dead-test cartridge installed, which can indicate potential hardware issues (i.e. bad ROM, bad RAM) – the screen flashed three times, indicating a problem with data bit 5.

The dead-test cartridge manual says to suspect the DRAM IC at U11 on this board revision, however there are lots of potential causes of a stuck data bit, as I know from experience – addressing problems due to bad ICs (such as the RAM multiplexers and PLA) can cause this, as can stuck output drivers on ICs (in particular, the ROMs). Therefore, I wasn’t going to start pulling RAM ICs until I’d investigated a little further.

I therefore decided to start with the MOS 906114-01 PLA (Programmable Logic Array) chip, which is responsible for all kinds of control and addressing in the Commodore 64, and is particularly unreliable due to its manufacturing process and because it runs hot.

I removed the PLA IC (U17) using my desoldering station (a Duratool D00672) and installed a socket – I tested it in my C64 test board, and (surprisingly) it seemed to be working fine.

Now that the PLA was ruled out, I decided to trust the dead-test cartridge manual – I removed the RAM IC at U11 and tested it in my RAM tester, and it had indeed failed. I then installed a socket, which allows the quick removal of ICs (i.e. for testing) without the need for rework.

I installed a new-old-stock 4164 DRAM IC (available to buy from Retroleum) and tried again – the board still wouldn’t boot correctly, but the symptoms had changed, and with a dead-test cartridge installed it displayed a screen with garbled and flashing characters.

Board #4 garbled dead-test cartridge screen.

The tests seemed to be running in the background (though I couldn’t tell their outcomes), so the problem was likely related to video addressing.

My initial suspect was U15 (74LS139), which is involved in VIC-II bank switching so could be at fault, and was originally a MOS 7711 part – as I mentioned earlier, MOS versions of their 74-series counterparts are notoriously unreliable due to their manufacturing process. However, after removing, socketing, and testing it using my MiniPro TL866II, it was OK.

I did the same for U26 (74LS373) which can cause graphical glitches, however this also tested OK; I did the same for U27 (74LS08) which can cause graphical glitches and was originally a MOS 7712 part, however this also tested OK; I did the same for U14 (74LS258) which is involved in VIC-II memory access, however this also tested OK..

I turned my attention to the RAM multiplexer ICs at U13 and U25, which were both MOS-brand versions of the 74LS257, the MOS 7708, and cause an addressing failure leading to the graphical distortion that was apparent.

I removed U13 and U25 (MOS 7708s) and tested them using my MiniPro TL866II – both had (unsurprisingly) failed, so I installed sockets and replaced them with new-old-stock 74LS257 ICs (available to buy from Retroleum). After this, the board now seemed to boot correctly for the first time (with flashing cursor and correct amount of RAM showing).

Board #4 boots correctly for the first time.

It also passed all tests with a diagnostic cartridge and loopback harness installed.

Fully tested with diagnostic harness; composite video output OK; luma/chroma video output OK; audio output OK; cleaned ports, power switch, and edge connectors.

Commodore 64 250407 Board #5

The fifth board would output video but would not boot up correctly, displaying only a blank black screen with no border or text.

Board #5 initial testing.

In the C64, a black screen fault is a common failure mode which can indicate all kinds of problems: typically, a missing or improper signal, a data or address bus conflict, an addressing problem, or a stack page fault, all of which can be caused by a power issue or a failed IC. Most of the ICs on the board are connected to the data or address bus, so there are a large number of potential problems that need to be worked through.

The first thing to check with any repair is that power is being correctly received on the board, which may indicate a problem with the power socket, power switch, or fuse – I checked for 9Vac and 5Vdc at the user port, and both were OK; I also checked the 5Vdc and 12Vdc supply to the VIC-II, and both were OK.

A constant reset can also cause a black screen – I checked the reset signal at the user port and it worked as expected, staying low (around 0Vdc) for about a second at power on, then going high (around 5Vdc).

I checked for signs of previous rework which could indicate a potential problem (flux residue, non-factory sockets, etc), but there was none; I also checked for physical damage on the board which could be causing connection problems, including scratches or cold solder joints, but the board was pristine.

I reseated all of the socketed ICs and cleaned all sockets, ports, and switches with contact cleaner, however there was still no change in symptoms. I also replaced the corroded VIC-II socket in case this was causing contact problems, but to no effect.

I tried the machine using a dead-test cartridge, which can indicate potential hardware issues (i.e. bad ROM, bad RAM) – however, there was no change in symptoms. I tried the same with a diagnostic cartridge, with the same result.

At this point I decided to aim my investigation at the ICs themselves, starting with the MOS 906114-01 PLA (Programmable Logic Array) chip, which is responsible for all kinds of control and addressing in the Commodore 64, and is particularly unreliable due to its manufacturing process and because it runs hot. I removed the PLA IC (U17) using my desoldering station (a Duratool D00672) and installed a socket – I tested it in my C64 test board, and (unsurprisingly) it had failed.

With a PLAnkton CPLD-based PLA replacement installed (available to buy from Retroleum), the board now displayed a border screen with garbled characters and no cursor.

Board #5 garbled character fault.

The character ROM (MOS 901225) is a common cause of character display issues, so I decided to remove it and install a socket – I tested the original IC in my C64 test board, and it had indeed failed. With a known-good replacement installed, the board now seemed to boot correctly for the first time (with flashing cursor and correct amount of RAM showing).

Board #5 boots correctly for the first time.

It also passed all tests with a diagnostic cartridge and loopback harness installed.

Fully tested with diagnostic harness; composite video output OK; luma/chroma video output OK; audio output OK; cleaned ports, power switch, and edge connectors.

Commodore 64 250407 Board #6

The sixth board was missing its fuse and was completely missing U3 (BASIC ROM), U5 (character ROM), and U14 (74LS258) – I installed a new fuse and installed sockets on all these missing ICs, which allow the quick removal of ICs (i.e. for testing) without the need for rework, as well as a new-old-stock 74LS258 (available to buy from Retroleum).

After testing, the board would output video but would not boot up correctly, displaying only a blank black screen with no border or text.

Board #6 initial testing.

In the C64, a black screen fault is a common failure mode which can indicate all kinds of problems: typically, a missing or improper signal, a data or address bus conflict, an addressing problem, or a stack page fault, all of which can be caused by a power issue or a failed IC. Most of the ICs on the board are connected to the data or address bus, so there are a large number of potential problems that need to be worked through.

The first thing to check with any repair is that power is being correctly received on the board, which may indicate a problem with the power socket, power switch, or fuse – I checked for 9Vac and 5Vdc at the user port, and both were OK; I also checked the 5Vdc and 12Vdc supply to the VIC-II, and both were OK.

A constant reset can also cause a black screen – I checked the reset signal at the user port and it worked as expected, staying low (around 0Vdc) for about a second at power on, then going high (around 5Vdc).

I checked for signs of previous rework which could indicate a potential problem (flux residue, non-factory sockets, etc), but there was none; I also checked for physical damage on the board which could be causing connection problems, including scratches or cold solder joints, but the board was pristine.

I reseated all of the socketed ICs and cleaned all sockets, ports, and switches with contact cleaner, however there was still no change in symptoms.

I tried the board using a dead-test cartridge, which can indicate potential hardware issues (i.e. bad ROM, bad RAM) – the cartridge would boot up OK while the board was cold, but the colour RAM test would fail and the U22 DRAM IC was indicated as faulty. After a short while of being powered on, the cartridge would crash to a black screen, then a purple screen, then the screen would flash six times, indicating a problem with data bit 2, which is associated with the 4164 DRAM IC at U22 on this board revision.

Because U22 was also marked as faulty when the cartridge booted, I decided to trust the dead-test cartridge manual – I removed the 4164 DRAM IC at U22 using my desoldering station (a Duratool D00672), installed a socket, and tested it in my RAM tester, but it tested OK, so I reinstalled it.

Although the dead-test cartridge manual said to suspect the DRAM IC at U22 on this board revision, there are lots of potential causes of a stuck data bit, as I know from experience – addressing problems due to bad ICs (such as the RAM multiplexers and PLA) can cause this, as can stuck output drivers on ICs (in particular, the ROMs). Therefore, I wasn’t going to start pulling any more RAM ICs until I’d investigated a little further.

I decided to move onto the MOS 901227-03 Kernal ROM chip, the only ROM present during testing, which is particularly unreliable due to its manufacturing process and because it runs hot. I removed the Kernal ROM and re-tested using the dead-test cartridge, which doesn’t require ROMs installed to work – the cartridge now booted up correctly and reliably, and all tests now passed, so the Kernal ROM was definitely the problem.

Board #6 starts up correctly with a dead-test cartridge installed.

I installed a socket, as well as a known-good IC for test purposes – I tried the board without a cartridge installed, and the board now seemed to boot correctly for the first time (with flashing cursor and correct amount of RAM showing).

Board #6 boots correctly for the first time.

It also passed all tests with a diagnostic cartridge and loopback harness installed.

Fully tested with diagnostic harness; composite video output OK; luma/chroma video output OK; audio output OK; cleaned ports, power switch, and edge connectors.

Commodore 64 250407 Board #7

The seventh board was missing its fuse and U13 and U25 (74LS257s), and was completely missing U26 (74LS373) – I installed a new fuse and a socket on U26, which allow the quick removal of ICs (i.e. for testing) without the need for rework, as well as two new-old-stock 74LS257 ICs and a new-old-stock 74LS373 IC (available to buy from Retroleum).

After testing, the board would output video but would not boot up correctly, displaying only a blank black screen with no border or text.

Board #7 initial testing.

In the C64, a black screen fault is a common failure mode which can indicate all kinds of problems: typically, a missing or improper signal, a data or address bus conflict, an addressing problem, or a stack page fault, all of which can be caused by a power issue or a failed IC. Most of the ICs on the board are connected to the data or address bus, so there are a large number of potential problems that need to be worked through.

The first thing to check with any repair is that power is being correctly received on the board, which may indicate a problem with the power socket, power switch, or fuse – I checked for 9Vac and 5Vdc at the user port, and both were OK; I also checked the 5Vdc and 12Vdc supply to the VIC-II, and both were OK.

A constant reset can also cause a black screen – I checked the reset signal at the user port and it worked as expected, staying low (around 0Vdc) for about a second at power on, then going high (around 5Vdc).

I checked for signs of previous rework which could indicate a potential problem (flux residue, non-factory sockets, etc), but there was none; I also checked for physical damage on the board which could be causing connection problems, including scratches or cold solder joints, but the board was pristine.

I reseated all of the socketed ICs and cleaned all sockets, ports, and switches with contact cleaner, however there was still no change in symptoms.

I tried the board using a dead-test cartridge, which can indicate potential hardware issues (i.e. bad ROM, bad RAM) – the screen flashed once, indicating a problem with data line 7, which is associated with the 4164 DRAM IC at U12 on this board revision.

Because the PLA, RAM multiplexers, and ROMs were all known-good parts, I decided to trust the dead-test cartridge manual and start with U12. I removed the 4164 DRAM IC at U22 using my desoldering station (a Duratool D00672), installed a socket, and tested it in my RAM tester, but it tested OK, so I reinstalled it.

Board #7 black screen fault.

Although the dead-test cartridge manual said to suspect the DRAM IC at U22, it also makes it clear that flash codes can be inaccurate, particularly with the upper and lower data lines, bit 0 and 7 respectively; also, that faults with data lines 0 (associated with the DRAM IC at U21) and 1 (associated with the DRAM IC at U9) can also cause a one-flash fault code.

At this point, I just decided to remove and socket all of the 4164 DRAM ICs (U9-U12 and U21-U24), as this would take less time than removing, socketing, and testing them one by one. After doing so, I installed a full set of new-old-stock 4164 DRAM ICs (available to buy from Retroleum) for testing purposes and tried again – there was no change in symptoms, so I reinstalled all of the original DRAM ICs.

I noticed that the 7406 buffer IC at U8, which drives the enable lines on the RAM multiplexer ICs, was a MOS-brand chip – the MOS 7707. MOS versions of their 74-series counterparts are notoriously unreliable due to their manufacturing process, and the RAM multiplexers could cause an addressing failure leading to the dead-test identifying a stuck data line, so this IC was suspect.

I removed U8 and tested it using my MiniPro TL866II – several gates had (unsurprisingly) failed, so I installed a socket and replaced it with a new-old-stock 7406 IC (available to buy from Retroleum). After this, the black screen fault remained but the dead-test cartridge booted with weird video distortion, then seemed to crash.

Board #7 video distortion with dead-test cartridge.

I tested all of the original 4164 DRAM ICs in my RAM tester, and one of them had failed – after installing a known-good replacement, the dead-test cartridge worked correctly.

Board #7 works with dead-test cartridge.

With the dead-test cartridge removed, the board now seemed to boot correctly (with flashing cursor and correct amount of RAM showing).

Board #7 boots correctly for the first time.

It also passed all tests with a diagnostic cartridge and loopback harness installed.

Fully tested with diagnostic harness; composite video output OK; luma/chroma video output OK; audio output OK; cleaned ports, power switch, and edge connectors.

Commodore 64 250407 Board #8

The eighth board was missing U25 (74LS257), and was completely missing U3 (BASIC ROM) and U7 (6510 CPU) – I installed a socket on U25, which allow the quick removal of ICs (i.e. for testing) without the need for rework, as well as a new-old-stock 74LS257 IC (available to buy from Retroleum).

After testing, the board would output video but would not boot up correctly, displaying only a blank black screen with no border or text.

Board #8 initial testing.

In the C64, a black screen fault is a common failure mode which can indicate all kinds of problems: typically, a missing or improper signal, a data or address bus conflict, an addressing problem, or a stack page fault, all of which can be caused by a power issue or a failed IC. Most of the ICs on the board are connected to the data or address bus, so there are a large number of potential problems that need to be worked through.

The first thing to check with any repair is that power is being correctly received on the board, which may indicate a problem with the power socket, power switch, or fuse – I checked for 9Vac and 5Vdc at the user port, and both were OK; I also checked the 5Vdc and 12Vdc supply to the VIC-II, and both were OK.

A constant reset can also cause a black screen – I checked the reset signal at the user port and it worked as expected, staying low (around 0Vdc) for about a second at power on, then going high (around 5Vdc).

I checked for signs of previous rework which could indicate a potential problem (flux residue, non-factory sockets, etc), but there was none; I also checked for physical damage on the board which could be causing connection problems, including scratches or cold solder joints, but the board was pristine.

I reseated all of the socketed ICs and cleaned all sockets, ports, and switches with contact cleaner, however there was still no change in symptoms; I also replaced the poor quality PLA and SID sockets, however there was no change in symptoms either.

I tried the board using a dead-test cartridge, which can indicate potential hardware issues (i.e. bad ROM, bad RAM) – the screen flashed seven times, indicating a problem with data line 1, which is associated with the 4164 DRAM IC at U9 on this board revision.

Although the dead-test cartridge manual said to suspect the DRAM IC at U9, it also makes it clear that flash codes can be inaccurate, particularly with the upper and lower data lines, bit 0 and 7 respectively – however, unlike all the other 4164 DRAM ICs on this board, U9 was Micron-brand (uT 4264), which are known to be particularly unreliable for whatever reason, potentially due to their manufacturing process. This seemed unlikely to be factory but there wasn’t any sign of rework underneath the chip, so I’m not sure.

I removed the 4164 DRAM IC at U9 using my desoldering station (a Duratool D00672), installed a socket, and tested it in my RAM tester – it had indeed failed, so I replaced it with a new-old-stock 4164 IC (available to buy from Retroleum). After this, the board now seemed to boot correctly (with flashing cursor and correct amount of RAM showing).

Board #8 boots correctly for the first time.

With a diagnostic cartridge and loopback harness installed, the keyboard and user port tests both failed, even with the keyboard loopback connector disconnected (it should indicate “OPEN” in this case), indicating the U1 CIA.

Board #8 fails diagnostic tests.

I socketed and removed the U1 CIA, and installed a known-good chip for testing purposes – then, the board passed all tests with the diagnostic cartridge and loopback harness.

Fully tested with diagnostic harness; composite video output OK; luma/chroma video output OK; audio output OK; cleaned ports, power switch, and edge connectors.

Commodore 64 250407 Board #9

The ninth board was missing U4 (Kernal ROM), and completely missing U13 and U25 (74LS257) and U27 (74LS139) – I installed sockets on all the missing chips, which allow the quick removal of ICs (i.e. for testing) without the need for rework, as well as a new-old-stock 74LS139 IC and two new-old-stock 74LS257 ICs (available to buy from Retroleum).

I also did some preventative maintenance before testing the board, including repairing a broken trace on the underside of the PCB below the VIC-II socket (presumably from damage during storage), replacing the loose and corroded PLA (U17) socket, and socketing and replacing U27 (74LS08), which was an unreliable MOS 7712.

After testing, the board would output video but would not boot up correctly, displaying only a blank black screen with no border or text.

Board #9 initial testing.

In the C64, a black screen fault is a common failure mode which can indicate all kinds of problems: typically, a missing or improper signal, a data or address bus conflict, an addressing problem, or a stack page fault, all of which can be caused by a power issue or a failed IC. Most of the ICs on the board are connected to the data or address bus, so there are a large number of potential problems that need to be worked through.

The first thing to check with any repair is that power is being correctly received on the board, which may indicate a problem with the power socket, power switch, or fuse – I checked for 9Vac and 5Vdc at the user port, and both were OK; I also checked the 5Vdc and 12Vdc supply to the VIC-II, and both were OK.

A constant reset can also cause a black screen – I checked the reset signal at the user port and it worked as expected, staying low (around 0Vdc) for about a second at power on, then going high (around 5Vdc).

I checked for signs of previous rework which could indicate a potential problem (flux residue, non-factory sockets, etc), but there was none; I also checked for physical damage on the board which could be causing connection problems, including scratches or cold solder joints, but the board seemed to be fine (except for the trace I’d already repaired).

I reseated all of the socketed ICs and cleaned all sockets, ports, and switches with contact cleaner, however there was still no change in symptoms.

I tried the board using a dead-test cartridge, which can indicate potential hardware issues (i.e. bad ROM, bad RAM) – the screen flashed six times, indicating a problem with data line 2, which is associated with the 4164 DRAM IC at U22 on this board revision.

I removed the 4164 DRAM IC at U22 using my desoldering station (a Duratool D00672), installed a socket, and tested it in my RAM tester – it had indeed failed, so I replaced it with a new-old-stock 4164 IC (available to buy from Retroleum). I also decided to remove and socket the BASIC ROM (U3) and the character ROM (U5) while I was at it, as these can also cause stuck data lines. After this, the dead-test cartridge (which doesn’t need ROMs installed to function) worked OK.

Board #9 boots with dead-test cartridge.

I installed a set of known-good test ICs and removed the dead-test cartridge, then tested again – the board now seemed to boot correctly (with flashing cursor and correct amount of RAM showing).

Board #9 boots correctly for the first time.

The board also passed all tests with the diagnostic cartridge and loopback harness.

Fully tested with diagnostic harness; composite video output OK; luma/chroma video output OK; audio output OK; cleaned ports, power switch, and edge connectors.

Commodore 64 250407 Board #10

The tenth board had a lot of problems that needed to be rectified before it could even be powered on: it was missing its power switch, and was completely missing U3 (BASIC ROM), U4 (Kernal ROM), U5 (character ROM), and U8 (7406).

Given all the evident rework and the fact that the board had started to be broken down for parts, I was expecting this one to be problematic.

Firstly, I installed a spare working power switch, a socket on U8 (allowing the quick removal of ICs (i.e. for testing) without the need for rework), and a new-old-stock 7406 IC (available to buy from Retroleum).

I noticed that the 556 timer IC at U20 had previously been replaced poorly, so I removed it using my desoldering station (a Duratool D00672), installed a socket, and replaced it with a new-old-stock 556 timer IC (available to buy from Retroleum).

I also noticed that several RAM chips (U11, U21, U22, and U24) had previously been replaced poorly – with Micron-brand ICs, nonetheless – so I removed all of these, installed sockets, and replaced them with new-old-stock 4164 DRAM ICs (available to buy from Retroleum). During this process, I had to repair some bad vias underneath U21 (caused by the previous owner) with wrapping wire. I tested the original RAM ICs in my RAM tester, and all of them had (unsurprisingly) failed.

Before I installed the ROMs and ROM sockets, I tried the board using a dead-test cartridge, which can indicate potential hardware issues (i.e. bad ROM, bad RAM) and doesn’t require the onboard ROMs to be installed for it to work– the cartridge booted up OK, and all tests passed, which was a very good sign.

Board #10 works with dead-test cartridge installed.

I replaced the missing ROM sockets, installed a set of known-good test ROMs, and removed the dead-test cartridge, then tested again – the board now seemed to boot correctly (with flashing cursor and correct amount of RAM showing).

Board #10 boots correctly for the first time.

The board also passed all tests with the diagnostic cartridge and loopback harness.

Fully tested with diagnostic harness; composite video output OK; luma/chroma video output OK; audio output OK; cleaned ports, power switch, and edge connectors.

Commodore 64 250407 Board #11

The eleventh board had a lot of problems that needed to be rectified before it could even be powered on: it was missing its fuse, and was completely missing U1 (6526 CIA), U2 (6526 CIA), U3 (BASIC ROM), U4 (Kernal ROM), U5 (character ROM), U7 (6510 CPU), and U17 (PLA).

Given all the evident rework and the fact that the board had started to be broken down for parts, I was expecting this one to be problematic.

I installed a spare fuse of the correct type, and sockets on all of the missing ICs (allowing the quick removal of ICs (i.e. for testing) without the need for rework); I also re-soldered the power socket, which I noticed was very loose.

With only the minimum number of required socketed test chips installed (CPU, PLA, VIC-II), I tried the board using a dead-test cartridge, which can indicate potential hardware issues (i.e. bad ROM, bad RAM) and doesn’t require the onboard ROMs to be installed for it to work– the cartridge booted up OK, and all tests passed, which was a very good sign.

Board #11 works with dead-test cartridge installed.

I installed all of the missing socketed ICs using a set of known-good test chips, and removed the dead-test cartridge, then tested again – the board now seemed to boot correctly (with flashing cursor and correct amount of RAM showing).

Board #11 boots correctly for the first time.

The board also passed all tests with the diagnostic cartridge and loopback harness.

Fully tested with diagnostic harness; composite video output OK; luma/chroma video output OK; audio output OK; cleaned ports, power switch, and edge connectors.

Commodore 64 250407 Board #12

The twelfth board was missing its fuse, and was completely missing U8 (7406) and U15 (74LS139). I installed a spare fuse of the correct type, sockets on the missing ICs (allowing the quick removal of ICs (i.e. for testing) without the need for rework), and a new-old-stock 7406 IC and 74LS139 IC (available to buy from Retroleum).

After testing, the board wouldn’t even output video – there was no signal on the monitor, on both the composite video output and the luma/chroma video output.

Board #12 initial testing.

In the C64, a no video fault is an uncommon failure mode which typically indicates one of two potential causes: either video is not being generated by the video circuit correctly (due to a bad VIC-II chip, power problems with the VIC-II chip, or lack of a clock signal to the VIC-II chip), or the video signal is not reaching the display (bad trace or video connector).

The first thing to check with any repair is that power is being correctly received on the board, which may indicate a problem with the power socket, power switch, or fuse – I checked for 9Vac and 5Vdc at the user port, and both were OK.

The VIC-II also has its own “clean” 5Vdc and 12Vdc supply rails, which are derived from the 9Vac input via a bridge rectifier and two voltage regulators, a 7805 and a 7812 – I checked its 5Vdc and 12Vdc supply and both were sitting around 1.5Vdc, which was a problem.

I checked the board for physical damage which could be causing connection problems, including scratches or cold solder joints, but everything seemed to be OK; I also checked for signs of previous rework which could indicate a potential problem (flux residue, non-factory sockets, etc), and there was lots – it looks like someone was trying to resolve this fault previously, as there was via damage under the bridge rectifier, one of the legs on the 7805 voltage regulator had been cut and resoldered (probably to check for a short), and there was rosin flux residue underneath a lot of the power components.

I checked the bridge rectifier with my multimeter: the input was OK (approx. 11Vac between the AC pins), and the output was OK (approx. 18Vdc between the DC pins).

I replaced both the 7805 and the 7812 voltage regulators using new parts from Retroleum, in case they were the problem (although I now realise that this was unlikely) and because they had been damaged anyway – however, there was no change in symptoms.

I checked the input to the 7805 voltage regulator, from which the 12Vdc rail is also derived, but it was not present. This comes directly from the bridge rectifier, so I checked its connections – there was continuity between the 7805 input and the output of the bridge rectifier, but the DC ground pin of the bridge rectifier was floating. It looked as though the bridge rectifier had been removed (and possibly replaced) in the past, and damage to the via on its ground pin meant that it wasn’t connected.

The damage was on the top side of the PCB, under the bridge rectifier, so it would have to be removed to fix the trace – the bridge rectifier has thick pins and the vias had already been weakened, so I didn’t want to remove it in case I’d cause further damage. Instead, I installed a short bodge wire to a ground pin under the power switch.

I tested the board again, and it would now output video but it would not boot up correctly, displaying only a blank black screen with no border or text.

Board #12 black screen fault.

In the C64, a black screen fault is a common failure mode which can indicate all kinds of problems: typically, a missing or improper signal, a data or address bus conflict, an addressing problem, or a stack page fault, all of which can be caused by a power issue or a failed IC. Most of the ICs on the board are connected to the data or address bus, so there are a large number of potential problems that need to be worked through.

A constant reset can also cause a black screen – I checked the reset signal at the user port and it worked as expected, staying low (around 0Vdc) for about a second at power on, then going high (around 5Vdc).

I reseated all of the socketed ICs and cleaned all sockets, ports, and switches with contact cleaner, however there was still no change in symptoms.

I tried the board using a dead-test cartridge, which can indicate potential hardware issues (i.e. bad ROM, bad RAM) – the screen flashed a seemingly random number of times, which changed with each power cycle and sometimes even in the same cycle.

I suspected that this was some kind of intermittent contact issue, and I noticed that the two RAM multiplexer ICs, U13 and U25 (74LS257s) – which are responsible for RAM addressing – had very poor quality sockets installed. These ICs are common causes when the dead-test cartridge is acting weirdly.

I removed the sockets on U13 and U25 using my desoldering station (a Duratool D00672) and installed new sockets; I also tested the two original 74LS257 ICs using my MiniPro TL866II and both seemed OK, so I reinstalled them. I tested the board again with the dead-test cartridge and it now booted up OK, and all tests passed.

Board #12 boots with dead-test cartridge.

I installed a set of known-good test ICs and removed the dead-test cartridge, then tested again – without the cartridge installed, the board was still showing a black screen fault.

Board #12 black screen fault.

The dead-test cartridge bypasses the onboard system ROMs, so can operate without them installed – therefore, if a system seems to work correctly with a dead-test cartridge and won’t boot up otherwise the ROMs are a good place to start.

I removed all three ROMs – the BASIC ROM (U3), the Kernal ROM (U4), and the character ROM (U5) – and tested them in my C64 test board, and the Kernal ROM had indeed failed. I installed sockets on each ROM and fitted known-good test ROMs, then re-tested the system – now, the board booted to a border screen with garbage characters.

Board #12 garbage screen without cartridge installed.

I noticed that, weirdly, physically holding down on the PLA (Programmable Logic Array) chip (U17) while the board was displaying this garbage screen seemed to show readable text, so there was likely another contact issue. On closer inspection, the PLA socket was not a factory-fitted part, so alarm bells were ringing.

I removed the PLA socket, and found that two via eyelets underneath it were damaged – I ran two small jumper wires from the end of each affected trace and down through each via, then installed a new socket as a precaution. I also replaced both of the corroded and damaged CIA sockets (U1 and U2) for improved reliability.

I installed all of the missing socketed ICs using a set of known-good test chips, then tested again – the board now seemed to boot correctly (with flashing cursor and correct amount of RAM showing).

Board #12 boots correctly for the first time.

The board also passed all tests with a diagnostic cartridge and loopback harness installed.

Fully tested with diagnostic harness; composite video output OK; luma/chroma video output OK; audio output OK; cleaned ports, power switch, and edge connectors.

Commodore 64 250407 Board #13

The thirteenth board had a bypassed fuse, and all of the RAM ICs (U9-U12, and U21-U24). I installed a spare fuse of the correct type, and a set of eight new-old-stock 4164 DRAM ICs (available to buy from Retroleum).

After testing, the board would output video but would not boot up correctly, displaying only a blank black screen with no border or text.

Board #13 black screen fault.

In the C64, a black screen fault is a common failure mode which can indicate all kinds of problems: typically, a missing or improper signal, a data or address bus conflict, an addressing problem, or a stack page fault, all of which can be caused by a power issue or a failed IC. Most of the ICs on the board are connected to the data or address bus, so there are a large number of potential problems that need to be worked through.

The first thing to check with any repair is that power is being correctly received on the board, which may indicate a problem with the power socket, power switch, or fuse – I checked for 9Vac and 5Vdc at the user port, and both were OK; I also checked the 5Vdc and 12Vdc supply to the VIC-II, and both were OK.

A constant reset can also cause a black screen – I checked the reset signal at the user port and it worked as expected, staying low (around 0Vdc) for about a second at power on, then going high (around 5Vdc).

I reseated all of the socketed ICs and cleaned all sockets, ports, and switches with contact cleaner, however there was still no change in symptoms.

I checked for signs of previous rework which could indicate a potential problem (flux residue, non-factory sockets, etc), and although it was obvious that the board had already been significantly worked on, nothing stood out as immediately wrong; I also checked for physical damage on the board which could be causing connection problems, including scratches or cold solder joints, but it seemed to be OK.

I tried the board using a dead-test cartridge, which can indicate potential hardware issues (i.e. bad ROM, bad RAM) – however, there was no change in symptoms.

The socket on the PLA (U17) was extremely loose, so I removed it using my desoldering station (a Duratool D00672) and installed a new socket, but there was no change in symptoms; I removed the 7406 at U8 and tested it using my MiniPro TL866II but it was OK, so I installed a a socket and refitted the original IC; I also tested the socketed 74LS257 at U25 and that was OK too, but I noticed that its socket was corroded, so I replaced it; I also removed the other 74LS257 IC for testing and all gates had failed, so I installed a socket and fitted a new-old-stock 74LS257 IC (available to buy from Retroleum).

I tested the board again, and it would now display a garbage screen.

Board #13 garbage screen fault.

I tested again with the dead-test cartridge installed, and the screen flashed a seemingly random number of times, which changed with each power cycle and sometimes even in the same cycle. I suspected that this was some kind of intermittent contact issue, and I decided to investigate the previous owner’s work on the RAM ICs.

On closer inspection, the rework on the RAM ICs had been done poorly, and some of the address and data lines were lacking continuity in some places – some of the sockets also had some quite bad corrosion. I removed all of the RAM sockets to start afresh, and was able to see any via and trace damage clearly – I ran some small jumper wires wherever necessary on the top side of the board and installed a full set of new RAM sockets over the top, then checked continuity again, and everything now seemed OK.

I reinstalled all of the missing RAM ICs, then tested again – the board now seemed to boot correctly (with flashing cursor and correct amount of RAM showing).

Board #13 boots correctly for the first time.

The board also passed all tests with a diagnostic cartridge and loopback harness installed.

Fully tested with diagnostic harness; composite video output OK; luma/chroma video output OK; audio output OK; cleaned ports, power switch, and edge connectors.

Commodore 64 250407 Board #14

The fourteenth board needed a lot of work before it could even be powered on: it was missing its fuse, its power switch, and the crystal oscillator by the VIC-II. I installed a spare fuse of the correct type, a spare power switch, and a spare oscillator.

I initially tested the board with only the minimum number of required socketed test chips fitted (CPU, PLA, VIC-II) and a dead-test cartridge installed, which can indicate potential hardware issues (i.e. bad ROM, bad RAM) and doesn’t require the onboard ROMs to be installed for it to work– the cartridge booted up OK and all tests passed OK.

Board #14 works OK with dead-test cartridge installed.

With a full set of known-good test ICs installed, the board seemed to boot correctly for the first time (with flashing cursor and correct amount of RAM showing).

Board #14 boots correctly for the first time.

The board also passed all tests with a diagnostic cartridge and loopback harness installed.

Fully tested with diagnostic harness; composite video output OK; luma/chroma video output OK; audio output OK; cleaned ports, power switch, and edge connectors.

Published by themightymadman

My name is Adam Wilson - I'm an electronics engineer based in the North East of England, UK, and I like tinkering with old junk. In my spare time, I collect, repair, refurbish, and (sometimes) sell vintage computer systems and peripherals, typically from the 1980s (the likes of Commodore, Sinclair, Acorn, Apple, Amstrad, and Atari).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: