Project Commodore: 8-bit Insanity!

Discussion in 'Project Depot' started by Mossman, Jan 9, 2020.

  1. Mossman

    Mossman Well-Known Member

    Joined:
    Apr 4, 2008
    Messages:
    6,597
    Likes Received:
    8,058
    Trophy Points:
    113
    Location:
    I only know my speed
    Well, I'm at a stand-still with this repair... I got some more RAM chips, but I started thinking that I really have no reason to believe the new chip I installed is bad. These weren't yanked from a dead machine, these chips are NOS. Not that it's not possible for a NOS chip to be bad, but I wanted to make sure there wasn't anything else I was missing, so I went back to the Dead-Test manual to see if there wasn't anything I overlooked, and came across this paragraph that I hadn't noticed before:

    "Some RAM failures may cause the Dead Test to display incorrect results. The majority of these will display a One (1) Flash Code (which is the code I started getting after I replaced the cooked chip) indicating a Defective Data Bit [7]. If the associated RAM is replaced (which it was) and the results remain the same (which they have), the real failure normally turns out to be a Defective RAM IC associated with Data Bits [0 or 1].

    Flash Codes are normally an indication of the Data Line being held either high or low. Although this is usually caused by a defective RAM IC, it is also possible for any IC associated with the Indicated Data Line to be at fault."
    Without an oscilloscope, the only option I seem to have is to start replacing the rest of the RAM chips until it works, and hope that it's a RAM chip and not a processor. I'm not really hip to that... Nor am I hip to investing in an oscilloscope, for this one task. If anyone has any ideas, please feel free.

    I also took a picture of the traces that had some of its insulation worn away. I don't think it's causing the problem, but I thought I'd throw it up here so that more experienced eyes can have a look at it.

    bare traces both rs.JPG
     
  2. bleys21

    bleys21 Well-Known Member

    Joined:
    Apr 2, 2011
    Messages:
    398
    Likes Received:
    424
    Trophy Points:
    63
    Location:
    Lancaster, CA
    Do you have a multimeter? If so, try and test continuity across both of those questionable traces... they should both lead somewhere where you can test to see if you're getting anything across that trace. The bottom one looks like a problem to me, the top one doesn't look too bad, but I'd test it anyway. The top one obviously goes to one of the pins from your RAM chip, I can't see where the bottom one goes, as it gets dark in the picture over to the right, and I think the trace continues to the right of the picture.
     
    Mossman likes this.
  3. Mossman

    Mossman Well-Known Member

    Joined:
    Apr 4, 2008
    Messages:
    6,597
    Likes Received:
    8,058
    Trophy Points:
    113
    Location:
    I only know my speed
    I tested continuity across all the chips early on, and they all had continuity. Even the fried one. I'll try to test the traces themselves, but I have examined them under high magnification, and there's no visible breaks... Just a little missing insulation. I am concerned about those exposed spots oxidizing, though. Any ideas on what I can do to prevent that?

    I looked around on Amazon for oscilloscopes, and I found one that goes down to 5v for about $40. That's not too steep of an investment for me. It beats pulling every chip on the board until I find the bad one.

    I did break down ans buy another C64, so I'll have a machine to use while I'm working on this. I was thinking about picking up a second machine as a backup anyway. It should be here today.
     

  4. bleys21

    bleys21 Well-Known Member

    Joined:
    Apr 2, 2011
    Messages:
    398
    Likes Received:
    424
    Trophy Points:
    63
    Location:
    Lancaster, CA
    If you've got some super glue that has the brush applicator, that will work to cover up the exposed trace. You can also use hot glue, its just more difficult to apply other than the blob method :)

    And while I don't know the test routines for the C64 (I owned one when I was like 10, and never took it apart) if your tests of the ram chips all pass, it sounds like it jumped past that. Do the C64's have a memory controller chip, or is that handled by the cpu? From your previous description of the test codes, the test cart sure made it sound like it could be any chip in the series, which makes me wonder if the ram is all wired in series, similar to the old banks of Apple IIe's and PC XT's and AT's. We'd have to swap out groups of ram chips to determine which one's bad, which isn't too bad on socketed ram, but in your case, it means a lot of soldering. Unless you feel like buying sockets for your ram locations? ;-)
     
    Mossman likes this.
  5. Mossman

    Mossman Well-Known Member

    Joined:
    Apr 4, 2008
    Messages:
    6,597
    Likes Received:
    8,058
    Trophy Points:
    113
    Location:
    I only know my speed
    If I have to replace a bunch more chips, I just might socket them. The RAM chips haven't all passed (except the first one that I replaced). According to the manual, the flash code I'm getting indicates one of the RAM chips could have a bad data line, but that doesn't rule out any other chips. RAM in the C64 is divided into four banks, and memory management is shared between the VIC II (video chip), the CPU and two CIA (Complex Interface Adapter) chips. I don't know for sure if they're wired in series, but that's the assumption I've been working under.

    I ordered that oscilloscope from Amazon earlier today, so I should have that by Friday. I think then, all will be revealed.
     
  6. Mickey

    Mickey Gandalf the Intonationer

    Joined:
    Jun 8, 2007
    Messages:
    34,526
    Likes Received:
    23,138
    Trophy Points:
    113
    Location:
    Wausau, Florida
    If you install sockets, save yourself a bunch of future trouble and use "machined" sockets.
    Machine socket example.
     
    Mossman likes this.
  7. Mossman

    Mossman Well-Known Member

    Joined:
    Apr 4, 2008
    Messages:
    6,597
    Likes Received:
    8,058
    Trophy Points:
    113
    Location:
    I only know my speed
    Aw, but all the cool kids are using ziff sockets! :)

    Seriously, though, what's the difference between a machine pin socket and a solder tail socket?
     
    Mickey likes this.
  8. Mickey

    Mickey Gandalf the Intonationer

    Joined:
    Jun 8, 2007
    Messages:
    34,526
    Likes Received:
    23,138
    Trophy Points:
    113
    Location:
    Wausau, Florida
    Long term quality of the connection betwixt the chip and the socket pins.
    Machined sockets win hands down.
    With your standard solder tail sockets you will get corrosion between betwixt the chip & the pins of a standard solder tail socket.
    That doesn't happen with machined sockets.
    Dunno the why of it, just have decades of experience using both.
     
    Mossman likes this.
  9. Mossman

    Mossman Well-Known Member

    Joined:
    Apr 4, 2008
    Messages:
    6,597
    Likes Received:
    8,058
    Trophy Points:
    113
    Location:
    I only know my speed
    Well here's some progress.... of sorts. I think I've discovered all the bad RAM chips, but I'm still getting a black screen.

    Since I'm waiting for the oscilloscope to arrive, I decided to do what I haven't done since I got the Dead Test/Diagnostic cartridge, and that's power up the board and see if any other chips get hot. And we had a winner... RAM chip U10 was hot as blazes after being on for about 20 minutes. Instead of removing the chip, though, I just took a new chip and piggy-backed it on top of the faulty chip. Then I ran the dead test... Yes! I finally got a different flash code, which indicated that the next chip over (U9) was also faulty, so I piggy-backed that one too, and now, no more flashes from the dead test (it only tests RAM).

    piggyback.jpg

    I tried the diagnostic program, and got a messed up display, but that's more than I was getting before. Up till now, the diagnostic wouldn't run at all.

    jacked diagnostic.jpg

    So this means I could have a bad VIC II, PLA, or CIA. Could be the CPU, too... Though they say that's rare. 6510s are easy to get, so it won't be terrible if it's that. PLAs (programmable logic array) are hard to come by, so I hope it's not that! VIC IIs aren't exactly growing on trees, either, but I can get CIA chips all day long. All the chips feel pretty warm, actually, but I would say the CPU and the SID chip feel the warmest. A faulty SID won't stop the computer from working, but I hope it's ok. Those things are expensive and I need at least two working SIDs for my evil plan. :sneaky:

    So now I'm back to waiting for the oscilloscope.
     
  10. bleys21

    bleys21 Well-Known Member

    Joined:
    Apr 2, 2011
    Messages:
    398
    Likes Received:
    424
    Trophy Points:
    63
    Location:
    Lancaster, CA
    Nice, I totally forgot about the piggybacking trick. I used it a few times way back in the day.

    I'd think even a 6510 cpu is going to run a little warm, so that may not be out of the ordinary. Not sure on the other chips...on modern motherboards, a lot of the secondary chips have heatsinks nowadays, as they get pretty damn hot. But back in the C64 days, I'm not sure they used heatsinks for anything lol. Although that would be an interesting idea to try if you had a chip that was overheating...
     
    Mossman likes this.
  11. Mossman

    Mossman Well-Known Member

    Joined:
    Apr 4, 2008
    Messages:
    6,597
    Likes Received:
    8,058
    Trophy Points:
    113
    Location:
    I only know my speed
    Well this segues neatly into my next post... It would seem like Commodore didn't give a second thought to over-heating issues, but they were trying to hit a price point with these machines, so adding things like heat-sinks and cooling fans would have driven the cost up. Say what you want about Jack Tramiel, but he sincerely believed in delivering the best computer for the lowest price (it's just too bad he didn't believe in things like advertising, and marketing :) ). To make matters worse, they covered the entire board with a piece of foil-coated cardboard that served as an RF shield. All it really did was trap more heat inside the computer, but it was an FCC requirement. To their credit, though, they did use a heat-sink on the VIC II chip, since that has more voltage going through it than any other chip in the box, and gets crazy hot.

    As a result of Commodore failing to future-proof their own machines, I'm going full over-kill with heat mitigation. I got a 100-piece kit of various-sized aluminum heat-sinks, thermal paste, thermal glue, etc... and I installed a cooling fan.

    fan install close.jpg

    This will be powered internally by the spare 5V line, instead of the Pi-Drive.

    Speaking of which, I also cut a fairly neat hole in the back of the case for access to the Pi-Drive. First I made a paper template that allows for access to all the ports, and used that to mark the location of the opening inside the case.

    pi access plot.jpg

    I drilled two holes at the bottom from the inside for a reference, then positioned the template on the outside of the case to drill the rest of the corner holes.

    pi access template.jpg

    With reference holes drilled, I used an X-acto knife to roughly score the outline that will serve as a guide for Dremel cutting. Dead-on accuracy isn't really important at this stage, as the hole will be cut a little smaller than necessary to allow for smoothing and sanding of the edges.

    pi access score.jpg

    At this point, I was kinda starting to think: "My god!! What have I done??!"

    pi access rough.jpg

    The Dremel made the plastic kinda melty... And yes, this was on the lowest speed setting.

    pi access melty.jpg

    Fortunately, I have years of experience in hand-shaping and correcting pickguards to draw on. I started off using a sanding block and 120 grit sandpaper to knock off all the melty bits and smooth the edges of the hole. Then I got the idea to use the blade edge of a pair of cheap, dollar-store scissors to shave the edges down. I basically tried it on a whim to see how it would do, and it worked like a charm! Saved me a lot of sanding time, and inhalation of plastic dust.

    pi access fin.jpg

    Here it is with the Pi-Drive mounted inside. If I had to do this all over again, I would have only cut a slot for the USB/HDMI ports and another opening for the two serial ports on the bottom, but oh well... I wasn't 100% sure how everything was going to line up when it was all screwed down, so this allowed for the widest margin of error. As it was, I had to build up a platform inside the case (above the Pi) so that the "top" ports would clear the hole. The back of the case is also angled out slightly, so I put a slant on it, to get the Pi flush with the back of the case. I wasn't able to get it perfectly flush (without bending the screws), but the ports are a lot closer than they were before I angled it. I also had to shave down the bottom of the hole a little more in order to accommodate the plastic casing on the serial cable connector.

    pi drive mounted.jpg

    pi access plugged in.jpg
     
    Last edited: Mar 1, 2020
  12. Mossman

    Mossman Well-Known Member

    Joined:
    Apr 4, 2008
    Messages:
    6,597
    Likes Received:
    8,058
    Trophy Points:
    113
    Location:
    I only know my speed
    Oh yeah, that other C64 I bought? Well that machine worked the first time I turned it on, but subsequent attempts only resulted in this:

    garble.jpg

    This may be a simple fix though, so I decided to contact the seller and arrange for a partial refund. Even if I don't fix it, and it just ends up being a donor machine for harvesting parts, it's a lot cheaper to acquire parts this way than to buy them individually.
     
  13. bleys21

    bleys21 Well-Known Member

    Joined:
    Apr 2, 2011
    Messages:
    398
    Likes Received:
    424
    Trophy Points:
    63
    Location:
    Lancaster, CA
    Lol, I was thinking the same thing when I saw the original cut out. Came out nice after the "smoothing" job :)

    And I swear I remember seeing that graphics error pattern before... what do you think is the problem?
     
    Mossman likes this.
  14. Mossman

    Mossman Well-Known Member

    Joined:
    Apr 4, 2008
    Messages:
    6,597
    Likes Received:
    8,058
    Trophy Points:
    113
    Location:
    I only know my speed
    I'm pretty sure it's a logic chip. It could be a faulty RAM chip too. I'm now getting a black screen instead of garbled characters, and I get nothing at all from the Dead Test, so that tells me if a RAM chip is faulty, it's not just a RAM chip.

    This image is from the "C64 Fault Guide" under "logic chip", and it looks identical to what I was getting before the screen went black.

    u27_1b.jpg
     
    Last edited: Mar 3, 2020
  15. bleys21

    bleys21 Well-Known Member

    Joined:
    Apr 2, 2011
    Messages:
    398
    Likes Received:
    424
    Trophy Points:
    63
    Location:
    Lancaster, CA
    Bummer. How available are the logic chips? I assume they're fairly replaceable, since most everything could be desoldered back then...
     
    Mossman likes this.
  16. Mossman

    Mossman Well-Known Member

    Joined:
    Apr 4, 2008
    Messages:
    6,597
    Likes Received:
    8,058
    Trophy Points:
    113
    Location:
    I only know my speed
    Technically, all the chips are replaceable, but on these early boards, only the VIC chip is socketed. That's the hottest chip in the house, and I guess they figured they'd get a lot of warranty repairs because of it.

    If it is the logic chip, I'm not worried about it. Between the two computers, I should have enough chips to make one working machine (and those chips are pretty cheap and easy to find if I don't). The PLA chip is my biggest worry. Those are scarce. There was a guy who made a chip called "The PLAnkton" that is supposed to perform exactly like the original PLA, but I don't even know if he's still making them anymore. They say you can use two EPROMs and program them like a PLA, but that's way out of my league, and they say it doesn't really work 100%.

    I was kinda kicking myself last Friday... I was on ebay, and the guy I bought the first computer from (the one that I botched) had a mess of newly restored C64 mainboards for sale... cheap... only missing the SID and VIC chips (all the boards are like that. It's more profitable to sell those guys separately... like pickups). That guy's work is legit, and his prices are very reasonable... And he's not that far away from me. Instead of buying another C64 and hoping it didn't crash and burn, I should have just have just bought another board from him... But, I had no way of knowing if or when he would have more boards for sale. That's the problem.

    So I bought a board from him... :) I still want to have a C64 to use while I'm fixing this other one! It arrived today, so I popped the VIC off of the most recently acquired machine, and I had a free SID chip that I bought a few weeks ago, so I plugged that in (did I mention that all the main chips are socketed? Very tony... ), and Viola! Instant computer...

    I wired the fan to the outgoing 5V line and discovered something weird... That thing's got power even when the computer is turned off. (n)

    Since it's outgoing (and I still have no idea why they have 5V going out through the power input jack), I assumed that that pin wouldn't get any juice unless the computer was turned on. I understand why there's juice on the 5V and 9V inputs with the power off, but how is there 5V going out? I know for a fact that nothing is going to that pin from the power supply... I only wired 4 pins, and that ain't one of 'em.

    Anyway, the fan works, but now I'm going to have to wire a switch for it, otherwise it will run as long as the computer is plugged in.
     
  17. Mossman

    Mossman Well-Known Member

    Joined:
    Apr 4, 2008
    Messages:
    6,597
    Likes Received:
    8,058
    Trophy Points:
    113
    Location:
    I only know my speed
    Ok, I decided to shine on powering the fan off the outgoing 5V line and wiring a switch to it, because I didn't like the idea of having to remember to turn the fan on and off every time I use the machine. I'd much prefer it to turn on and off automatically with the computer. Also, it occurred to me that if I wired the switch directly to the power input, then the top half of the computer case would be permanently attached to the motherboard, and that will make it awkward if/when I have to take the computer apart again.

    The cord coming out of the fan has a female connector on it, and it came with an extension cord with a male connector on one end and a female connector on the other. I cut the female connector off, so I could solder the wires to the power source, and I would have had to cut off the other connector to wire it to a switch. I'd much prefer to plug the fan into the extension cord connector so it can be disconnected when I take the computer apart.

    fan connector.jpg

    Since I've never, ever used a cassette drive on the C64 (I don't even want to use a floppy drive!), I decided to power the fan from the cassette port instead.

    cassette port power.jpg

    And I placed heat sinks on all the major chips. I used thermal paste at first, but when I went to put the computer back together, I realized that between the keyboard connector, the fan and the power light, there was going to be quite a lot of wires laying across the motherboard, and I was concerned about the heat sinks getting pushed off the chips by the wires and causing shorts, so I cleaned off all the chips and used thermal glue instead... Except for the SID chip... I kept the thermal paste on that one. I'm going to be mounting a daughterboard for dual SID action, and I don't know how high that's going to elevate the chips. Ordinarily, I wouldn't worry about it. There's a lot of vertical space in the back of the case, but on this board, the SID is positioned right under the fan. I don't want to find out that the heat sink is preventing the top of the case from going back on, when it's permanently attached to the chip.

    heat sinks.jpg
     
  18. bleys21

    bleys21 Well-Known Member

    Joined:
    Apr 2, 2011
    Messages:
    398
    Likes Received:
    424
    Trophy Points:
    63
    Location:
    Lancaster, CA
    So, if I understand you correctly, you're saying that you've got 5V headed out from the PCB back to the AC adapter? So there's 5V and 9V headed into the PCB, and 5V returning back on one of the pins? Weird. Can you tell whether that is just flipping a U-turn right at the connector, or is it going into the board somewhere and then back out?

     
    Mossman likes this.
  19. Mossman

    Mossman Well-Known Member

    Joined:
    Apr 4, 2008
    Messages:
    6,597
    Likes Received:
    8,058
    Trophy Points:
    113
    Location:
    I only know my speed
    Yeah, weird, huh? The signal goes from the DIN connector, to the switch, to 3 power regulators, and then out to their respective circuits. Some of the 9VAC gets regulated to 12VDC and 5VDC, and 9VAC goes to the cassette port. I can't see how the 5VDC is making an immediate U-turn from the power input to a different pin. Especially when the power is not turned on. My assumption has always been that the 5V returns after it has made its way around the board... But that's just an assumption. I could understand it if that 5 volts went to a separate output to power future peripherals, but sending it to a power input doesn't make any sense. And where is it coming from if the power's not on? There's only one 5VDC and one 9VAC line coming in from the PSU, and that shouldn't be going anywhere if the power switch is off.
     
  20. Mossman

    Mossman Well-Known Member

    Joined:
    Apr 4, 2008
    Messages:
    6,597
    Likes Received:
    8,058
    Trophy Points:
    113
    Location:
    I only know my speed
    Here's a look at all the connectors at the back of the computer... What a clusterphuck! :ROFLMAO::

    rear connectors.jpg

    If you remember, I was going to power the Pi from the 5V out, but since all the inputs/outputs are sticking out the back of the computer, I decided to just plug it in to a USB hub. Fortunately, I had a couple of USB cables with a switch (actually, I could just turn it on and off at the USB hub, but I wasn't doing anything with that cable, so I used it).

    I also happened to have one of these lying around, so I decided to run the HDMI video out from the Pi into the composite input of the monitor.

    HDMI2AV.jpg

    The reason why I need to do that is because there's a file browser for the Pi-Drive that runs on both the C64 and the Pi, but if you're running a multi-disk program or game, and you need to load another disk, you have to do it from the Pi-Drive directly, because there's no way to go back to the file browser on the C64 to load the second disk. There's a small OLED display and navigation buttons on the HAT, but I won't have access to that with the drive inside the computer, so I need another way to access the browser on the Pi. I'll also have to use a mouse to select and load files in the Pi browser, so I'm either going to have to figure out how to get the Bluetooth working (I think I have a Bluetooth mouse around here somewhere), or get a cable that has a micro USB connector on one end, and a female USB A connector on the other end, and plug that into the remaining USB port on the Pi.
     
    Last edited: Mar 5, 2020

Share This Page