I have been doing a lot of testing on VIC20's recently, with the test machines often running all day. I have been using various different machines which spreads the load, but also will hopefully pick up any oddities with particular machines (i.e. The VIC20 that didn't like Cheese and Onion).
So each day I have been picking a different VIC20 from the "untested" pile of VIC20s I have aquired over the years, in various states or health.
Today I picked one that had a fault. Oh good, I get to fix it.
I tried a few things out, and the games all seem to be running, but there was clearly a problem with the display.
I also tried BASIC, which initially looked OK, until I noticed the cursor was black.
OK, time for DeadTest+.
It might not look very promising at the start, how are you going to be able to read the results like that?
Well, usually either by the colour or the character shape, you should see the item that has failed. All the rest looks OK, but the colour RAM is reporting bad. Which makes sense given the corruption on the screen.
It looks like quite a clean VIC20, although on further inspection, telltale flux residue around the legs of a couple of chips suggest they have been replaced.
Looks like one 6522 has been removed and replaced, which is slightly odd as the date code is the same as the one in the socket?
The 6522's should not be the problem here. The colour RAM fault is usually down to the 2114 RAM chip. I says "usually" as if I were foreshadowing.....
There are three 2114 RAM chips in this VIC20, the later CR model (the original 2 pin VIC20 has hundreds of the things). You can tell which one it is as it is the one next to the 4066.
The 2114 is 4 bits by 1K, so the colour RAM is only 4 bits wide. Here is the colour RAM, UE1, on the schematic. It shares the address lines with the other two 2114 chips which form the first 1K of RAM. The colour RAM databus is connected separately to the VIC chip, as data bits 8-11. To allow the 6502 to write to the colour RAM, this is multiplexed with bits 0-3 of the main databus using a 4066.
When the colour RAM is bad, replacing the 2114 should fix it. #foreshadowing again.
I am not a fan of the way some people repair things by cutting out chips (even worse when they then poke at the severed legs with an iron until the pads are clear). There are times when that is necessary, if the chip is corroded, or if it is a poor quality or particularly valuable PCB, but these boards are pretty good quality, and the solder is fine, so no reason it cannot be cleanly desoldered.
One colour RAM chip successfully removed.
One 18 pin socket fitted. Time to find a replacement. Since the colour RAM is out on it's own, I don't think it is as important to match the part of speed grade, as it would be if it were part of a bank of similar chips.
I went for a known good 2114 of a slightly faster speed grade (since it is being used in the video circuit), and confidently turned the VIC20 on.
That hasn't fixed it.
I double checked I had put in the new chip (and not just refitted the old one). Yes, it was the new one. I also double checked I had replaced the right chip. Yes I had.
When I said "should" and "usually" above, I meant that in most cases that would have fixed it.
Just not this one.
Let's look at the other options. There aren't really that many.
- The 2114 colour RAM chip (we know it is not that)
- The 4066 multiplexor
- Various chips used in the chip select, there is a 244, a 138, and 04, and I think another 138
- The VIC chip (let's hope it is not that).
So the next logical thing to look at is the 4066 that switches the databus from the VIC chip to the 6502.
I desoldered the 4066 and fitted a socket and a new chip. I used a 74HC4066, which should be fine, but I may see if I can find a CD4066 plain CMOS part later on.
Success! We have a menu.
I tried a few passes of DeadTest+ and is passed all of them.
At this point, I could have left it, but since replacing the 2114 didn't fix the problem, does that mean the original was OK?
Yes, the original 2114 is fine (good job I didn't cut it out eh?)
I've left that running quite a while, and all seems well. I will use that for the rest of today's testing, and move onto another VIC tomorrow.
The other good thing about not cutting chips out is that you can test the ones you removed and get confirmation from an IC tester that the chip is indeed bad.
The VIC20 Penultimate+ Cartridge is available from The Future Was 8 bit.
You can support me via Patreon, and get access to advance previews of posts like this and behind the scenes updates. These are often in more detail than I can fit in here. This now includes access to my Patreon only Discord server for even more regular updates.