Monday, January 18, 2010

Hardware Hacking 101

DISCLAIMER: Yes, this IS another post about my C64 :P Get over it :) .

My C64, recently, has been overheating, which is pretty unfortunate...so I wanted to fix it :) .

And by the way, my girlfriend Courtney took a couple of pictures while I was working on it and I like them :) . So, here those are:





Anyways, back to the Commodore. I opened 'er up and started feeling which chips might be the ones getting hot and causing the screen to fill with random characters. I knew it was obviously one that shares the same data bus as the VIC (yeah, THAT narrows it down, considering they all share the same bus :P). At first, I suspected the PLA, since that chip seems like a pretty common one to fail...however, that chip was the coolest one there!!

On later inspection, I noticed the PLA was actually made 5 years after the rest of the system, which means it was replaced at some point.

To my surprise, it was the SID. Also, the CPU and CIA chips were a bit warm, but not enough to really worry about it. So, how to fix it?

I could replace the chip, but it sounded just fine when it ran. Not garbled, all 3 voices played correctly...this seemed fine. Then I checked my power supply, since I thought it might be pumping out too much voltage for the system. Foiled again!! Both the DC5V and the AC9V outputs were consistently putting out their ratings (with an error margin of about 1/100th of a volt). I was actually pretty happy about this, since I'd hate to have to replace anything :) .

Yet the problem was still there...So I decided to go a modern route: add a fan :) . I had a small DC12V fan lying around from ripping apart dead computers at some point. Then, I just had to figure out where to mount it and where to wire it...And on top of that, adding a fan gave me a green light to do some other aesthetic mod's to the machine :) . More on those later...here's the fan I wanted to use:



As it turns out, I figured I could steal some power from the SID for the fan. This should drop the voltage to the chip, which would be good since overheating is usually a sign of too much power input. Also, the fan would pump some air through the system, which would be good for the other warm chips aswell.

I checked the pinouts for the SID. I got them from my copy of the Commodore 64 Programmer's Reference Guide, but to show you, I also found this one on Wikipedia:



The chip has one ground lead (GND; pin 14) and two voltage input leads: VCC (pin 25) and VDD (pin 28). I checked the voltages on these, and VCC is for the logic circuits, running at 5V. VDD is for the rest of the chip, and it runs at 12V.

I turned the C64 on and touched the fan first to GND and VDD, since my fan was rated at 12V. BAD IDEA. The screen went brighter and there were weird characters all over the screen...apparently this line is shared with the VIC's voltage input, so by somewhat shorting this line, the VIC seemed to get overloaded. I could be completely wrong with what really happened, but this explanation makes sense to me :) .

So, I reset the system - nothing broken, whew. So I tried it again :) . Don't worry; I used the 5V VCC this time...success :) . C64 still ran fine, and the fan went at a nice (and quiet) speed. So, I left the C64 going with clips holding the wires in place, and the fan just sitting on top of the SID for about an hour. Usually, the machine craps out in about 20 minutes, but not this time!! It lasted the full hour, with the SID still at a decent temperature :) Ladies and gentlemen, we've solved our problem :D .

Now for those aesthetic mod's I mentioned earlier :) . My main desktop is black with blue lights...see where I'm goin' with this ;) ? Why not make them match? I went out and bought some semi-gloss black spraypaint (I chose semi-gloss after a long internal debate between high gloss and flat black :P), and some blue painter's tape. I figured I'd start the painting first since I could do everything else as it dries.



I have to admit that taping off the two C64 logos and the model sticker on the bottom of the case was pretty annoying and/or difficult to do...but it was worth it :)

The LED replacement was pretty trivial, so no need for the details...just a picture :) :



Blue LED's kick so much tuchus :D .

Now, when I installed the fan, I ended up just soldering the fan wires directly to the pins of the SID. I figured it'd be the right thing to do since my test had the wires held there anyways :) . Here's how it looked running without the case (I couldn't resist; I had to play some games while the case dried!!):



Next I just had to permanently mount the fan. I figured I'd just hot glue it on top of the chips that it was already resting on :) . This would be quick and easy...so I taped it down and took care of that. Oh, and one more thing - at some point when I was prodding around with a multimeter I had it on a DC setting instead of AC, and it blew the C64's fuse :P . Anxious to get it back together and working again, I ended up just bridging the connection by soldering a normal wire to it...NEVER FOLLOW THIS EXAMPLE. Hehe :) .





The rest of the project was pretty much just reassembling and some minor details...then testing, and still to this day the C64's been functioning happily :) .









As you can see, the mod was pretty straightforward and went really nicely. I mean, as far as mod's go, it's pretty amateur; but I solved the problem and really enjoyed doing it. Something about playing with code or wires or anything like that just gets me...expect some more mod's in the future to my C64 and my other systems I have laying around :) . Until next time!!

1 comments:

  1. Great mod and explaination. Thanks mate.

    The breadbox looks great in black.

    ReplyDelete