Post by Cube Inc. on Mar 15, 2023 13:58:33 GMT -7
At the last CCUG meeting, Blaine lent me his CMD RAMDrive to see if I could bring it back to life. We opened it in the meeting with the aide of Phil's bicycle toolkit (a more resourceful bunch you're rarely find...) and could see that the batteries inside it had all leaked a bit of acid. I took it home to assess and diagnose further, and here is a little progress report on Blaine's CMD RAMDrive.
I've successfully removed the old, leaking Ni-Cad batteries from the RAMDrive and got the parts of the board that are accessible cleaned up. The solder mask is peeling off in some places, which doesn't affect operation necessarily, but does go to show that the PCB is aging. (Being exposed to battery acid doesn't help either.)
There is possibly some more solder flux / resin residue between the two PCB's from its original assembly, but because of bodge wires laying between them and some discreet components that have been added, the only way to clean it up safely would be to separate the two PCB's by desoldering all of the interconnecting pins, and the risk of damage to the boards from the acts of desoldering and re-soldering that many connections is probably not worth the negligible benefit of some minor housekeeping so I am going to leave them be for now.
Without batteries on the board and the RAMDrive plugged into one of my C64's, the board immediately illuminates the red ERROR LED and at first would do nothing further - the C64 itself staying at a black screen. After cleaning up the card edge contacts I was able to get the 64 to boot to the regular Basic screen, but there was no JiffyDOS or any other initial evidence that the RAMDrive was even being detected by the computer.
Queue the Manual!
Guess what? All of what we'd call firmware today is not stored on any of the chips on either PCB inside the RAMDrive - instead, when it has been completely reset (all power removed from the unit), you have to load them into the RAM on the RAMDrive! I did not know this about the RAMDrive. However, a quick download of the necessary software tossed onto my Pi1541 and I was running the setup utility in no time.
This loaded four image files onto the RAMDrive, and once complete the tool automatically restarted the C64 whereupon I was greeted with the blue Basic screen - this time toting the JiffyDOS banner! The RAMDrive showed up as Device #16 as expected, and I was able to see the directory of the newly formatted memory:
I'm not going to lie - that was pretty exciting for me to see that. Allowing myself only a few moments' celebration, I thought I'd see how far I could push my luck. On the utility disk there are two tools, one called "RAM TEST" and the other called "HARDWARE TEST". The former checks the integrity of the RAM inside the drive itself, which I discovered uses the most bizarre type of RAM IC's I have ever seen: There are four Hitachi chips providing the all of the data storage space in the unit for the disk operating system, the JiffyDOS kernal ROM image for both the C64 and C128, and then whatever else you actually want to use the drive for.
This differs from the RAMLink, for example, which contains the DOS and Kernal images inside EPROMS within the cartridge. The plus side to having everything in RAM is that the firmware is easy to upgrade (if anyone ever created newer versions of it) but the downside is that every time the power is removed from the unit and the batteries die, you have to re-load all that software into the RAMDrive's RAM from disk, which takes several minutes. Annoyingly, because JiffyDOS is part of what is now missing from the unit, you can't perform that initial load using JiffyDOS speeds! Even loading from the CMD hard drive is done at the painful stock C64 transfer speed.
Speaking of power, remember how I'd removed the old batteries from the RAMDrive? This means that it is now 100% reliant on the power coming in through the barrel jack to maintain its own firmware and storage memory, and it did not tolerate even the most minute of power interruptions. For one, there are almost no capacitors inside the RAMDrive to filter or store power on the internal side of the voltage regulator. I found out very quickly that even rotating the barrel connector in the jack caused enough of a power fluctuation to CORRUPT THE ENTIRE UNIT! This device was clearly designed to run with the batteries helping to maintain stable power internally, even when not relying on them exclusively for keeping the data in the RAM!
Bearing that in mind, I got everything reloaded several times and was able to run the RAM test. I wanted to make sure that the ICs themselves were still good after all this time, and to find out if there were any other faults before proceeding any further. The good news is that the RAMDrive passed it's RAM TEST software:
That is fantastic news! It confirms that all of the logic and memory in the unit is good.
Of course, I'd love to end there, but there are a few problems I've run into:
For one, none of the LEDs apart from the Swap and ERROR indicators appear to be working. I copied an entire disk onto the RAMDrive but the Activity and BBG LEDs did not light. The BBG LED is supposed to light when the batteries are charged enough to support the memory. (Battery Backup (is) Good) The manual did say it would light as long as the power was connected, but it also probably assumes you have batteries installed, which, at present, I do not. Perhaps with new batteries that would resolve itself. The activity LED should have lit whenever the drive was read from or written to though, so I am not sure why that did not happen.
There are a few other LEDs inside (which would not be visible outside the case under normal operation). I don't know what their function is but I haven't seen any of them light up either - this could be normal though.
There was another test on the utility disk, "HARDWARE TEST", which I mentioned earlier. This program checks to see whether your computer's timing is compatible with the RAMDrive. Evidently timing can be a big issue with these drives, as concluded by the 6-or-so page disclaimer at the beginning of the RAMDrive manual! It claims that if the hardware test fails, you need to install a jumper wire, and provides the instructions on how to do this. When I tried it, I found no difference in the test results, though I'd want to test it out on a couple more C64's just to make sure it isn't something with this particular computer. Who knows, perhaps having batteries installed would improve the timing? If they are helping to clean up the power, it certainly falls within the realm of plausibility...
I picked up four new batteries for it and should likely get those installed tonight - From there, we shall see where the troubleshooting goes next! All in all though, I'm pretty optimistic.
I've successfully removed the old, leaking Ni-Cad batteries from the RAMDrive and got the parts of the board that are accessible cleaned up. The solder mask is peeling off in some places, which doesn't affect operation necessarily, but does go to show that the PCB is aging. (Being exposed to battery acid doesn't help either.)
There is possibly some more solder flux / resin residue between the two PCB's from its original assembly, but because of bodge wires laying between them and some discreet components that have been added, the only way to clean it up safely would be to separate the two PCB's by desoldering all of the interconnecting pins, and the risk of damage to the boards from the acts of desoldering and re-soldering that many connections is probably not worth the negligible benefit of some minor housekeeping so I am going to leave them be for now.
Without batteries on the board and the RAMDrive plugged into one of my C64's, the board immediately illuminates the red ERROR LED and at first would do nothing further - the C64 itself staying at a black screen. After cleaning up the card edge contacts I was able to get the 64 to boot to the regular Basic screen, but there was no JiffyDOS or any other initial evidence that the RAMDrive was even being detected by the computer.
Queue the Manual!
Guess what? All of what we'd call firmware today is not stored on any of the chips on either PCB inside the RAMDrive - instead, when it has been completely reset (all power removed from the unit), you have to load them into the RAM on the RAMDrive! I did not know this about the RAMDrive. However, a quick download of the necessary software tossed onto my Pi1541 and I was running the setup utility in no time.
This loaded four image files onto the RAMDrive, and once complete the tool automatically restarted the C64 whereupon I was greeted with the blue Basic screen - this time toting the JiffyDOS banner! The RAMDrive showed up as Device #16 as expected, and I was able to see the directory of the newly formatted memory:
I'm not going to lie - that was pretty exciting for me to see that. Allowing myself only a few moments' celebration, I thought I'd see how far I could push my luck. On the utility disk there are two tools, one called "RAM TEST" and the other called "HARDWARE TEST". The former checks the integrity of the RAM inside the drive itself, which I discovered uses the most bizarre type of RAM IC's I have ever seen: There are four Hitachi chips providing the all of the data storage space in the unit for the disk operating system, the JiffyDOS kernal ROM image for both the C64 and C128, and then whatever else you actually want to use the drive for.
This differs from the RAMLink, for example, which contains the DOS and Kernal images inside EPROMS within the cartridge. The plus side to having everything in RAM is that the firmware is easy to upgrade (if anyone ever created newer versions of it) but the downside is that every time the power is removed from the unit and the batteries die, you have to re-load all that software into the RAMDrive's RAM from disk, which takes several minutes. Annoyingly, because JiffyDOS is part of what is now missing from the unit, you can't perform that initial load using JiffyDOS speeds! Even loading from the CMD hard drive is done at the painful stock C64 transfer speed.
Speaking of power, remember how I'd removed the old batteries from the RAMDrive? This means that it is now 100% reliant on the power coming in through the barrel jack to maintain its own firmware and storage memory, and it did not tolerate even the most minute of power interruptions. For one, there are almost no capacitors inside the RAMDrive to filter or store power on the internal side of the voltage regulator. I found out very quickly that even rotating the barrel connector in the jack caused enough of a power fluctuation to CORRUPT THE ENTIRE UNIT! This device was clearly designed to run with the batteries helping to maintain stable power internally, even when not relying on them exclusively for keeping the data in the RAM!
Bearing that in mind, I got everything reloaded several times and was able to run the RAM test. I wanted to make sure that the ICs themselves were still good after all this time, and to find out if there were any other faults before proceeding any further. The good news is that the RAMDrive passed it's RAM TEST software:
That is fantastic news! It confirms that all of the logic and memory in the unit is good.
Of course, I'd love to end there, but there are a few problems I've run into:
For one, none of the LEDs apart from the Swap and ERROR indicators appear to be working. I copied an entire disk onto the RAMDrive but the Activity and BBG LEDs did not light. The BBG LED is supposed to light when the batteries are charged enough to support the memory. (Battery Backup (is) Good) The manual did say it would light as long as the power was connected, but it also probably assumes you have batteries installed, which, at present, I do not. Perhaps with new batteries that would resolve itself. The activity LED should have lit whenever the drive was read from or written to though, so I am not sure why that did not happen.
There are a few other LEDs inside (which would not be visible outside the case under normal operation). I don't know what their function is but I haven't seen any of them light up either - this could be normal though.
There was another test on the utility disk, "HARDWARE TEST", which I mentioned earlier. This program checks to see whether your computer's timing is compatible with the RAMDrive. Evidently timing can be a big issue with these drives, as concluded by the 6-or-so page disclaimer at the beginning of the RAMDrive manual! It claims that if the hardware test fails, you need to install a jumper wire, and provides the instructions on how to do this. When I tried it, I found no difference in the test results, though I'd want to test it out on a couple more C64's just to make sure it isn't something with this particular computer. Who knows, perhaps having batteries installed would improve the timing? If they are helping to clean up the power, it certainly falls within the realm of plausibility...
I picked up four new batteries for it and should likely get those installed tonight - From there, we shall see where the troubleshooting goes next! All in all though, I'm pretty optimistic.