• Hello MLAers! We've re-enabled auto-approval for accounts. If you are still waiting on account approval, please check this thread for more information.

Repair of a basket case DiimoCache030

zigzagjoe

68060
At VCFMW, @Complexhvac came by my booth with a DiimoCache that had been terribly, terribly abused, a garage sale find. It looked to me like a write off, good for parts only. It was covered in blue painter's tape where it'd been attempted to be bodged by the prior owner. However, I couldn't resist giving it a go ... apparently I have a predilection for basket cases. Let's start peeling the onion and figure the damages.

painters tape.pngbodges before.jpg

Lot of magnet wire.... PDS connector has clearly been removed, poorly, and CPU swapped.

traces.jpgcrater.jpg
Yes, that is a whole trace hanging off the board. ☠

crater detail.jpg1760563697800.png

This is what I came up with.
  • The board is covered in gouges, cutting tracks.
  • 4/5 bulk capacitors had a pad ripped off.
  • The U24 GAL was attempted to be desoldered, leaving what I can only describe as a crater
  • The CPU has been replaced with a MC68EC030, which can't work with Mac OS due to lack of MMU
  • The PDS pass-through connector has been messily desoldered, damaging traces
  • The GALs are a motley lot; preprogrammed lattice parts, apple branded parts, and off the shelf GALs. Has someone been swapping?
The CPU is easy, that's socketed. Caps likewise are not problematic to bodge - clear the nearby via, clean the surfaces, stick a strand of solid wire through, solder. PDS will hopefully be a later problem, and the traces can be dealt with individually. Euuugh. It's bad, but it seems doable... let's tackle it, one by one.

1760563349030.png

The U24 GAL crater is an ugly mess but it only actually needs a few connections. Thanks to bolle's efforts the schematic for this board is known, and I'm quite familiar with it since I made a socketed clone of my own. U24 just conditions sterm and the clocks, little else. With so many NC pins that is likely why those pads came off when it was being desoldered. A total of 4 bodges are needed. Done. I reprogrammed U24 with the stock code just to be safe, this also serves as a way to validate the GAL is (probably) fine.

Incidentally, Bolle informed me the motley collection of GALs is normal; apparently micromac was scraping the bottom of the barrel with these cards and using whatever they could lay hands on. The PCB was dated 3rd week of 2000 so it's very late production indeed for a machine that ceased being relevant long before that.

GAL repair.jpg

Next comes the trace repairs. These are accomplished with a single strand from a 30 (?) AWG SCSI cable, around 40 gauge wire.

trace repair 1.jpgtrace repair 2.jpg

Now the card attempts to run - I can see the CPU coming out of reset and "twitching" on my blinkenPDS card. Closer to life, at least; it was stone dead before. I inspect the board further and find no obvious further trace damage. Further inspection finds the weak solder mask near one of the tantulums has given way and I caused a bridge - oops. This is something to watch out for when placing tantulums in place of electrolytics during recapping of any vintage boards, either use small replacement caps, or take care that the contact surfaces of the cap are not resting on/above traces.

1760563824983.png

Now the card walks the bus! Yes! A *lot* has to be working to get this far, but it still can't boot, either the Mac ROM or my bare metal test program. So the CPU is either reading wrong addresses in ROM (address lines) or getting bad data (data lines). Well, let's have a look at that PDS connector, there is a chance a trace passes in proximity to the damaged areas during desoldering. There could also be traces using a through-hole as a via up top.... weird, but you never know.

An aside on the board design: The trace routing on this board is neurotic, it doesn't have a coherent logic to the routing like you see on other period designs. Look at Daystar cards for an example: they were laid out with care and a certain logic to the routing. Per a friend of mine with period industry experience this is because the DiimoCache SE30 was autorouted with assistance from a human, leading to these strange "choices". This card is essentially the DiimoCache 030 for IIci jammed onto the same board as the DiimoCache SE30 adapter, late (1996), so it makes sense that it perhaps didn't receive as much care as it might have if designed when the SE30 was in its heyday.

An interesting tidbit is the card actually has 128KB of cache onboard but only uses half of it, the original card used 4 bit wide SRAMs and the SE30 design uses 8 bit wide chips due to availability. This is one of the few changes to the basic design with the SE30 version. Sadly, if Micromac's engineers had run a single additional address line to each SRAM they'd have been able to use the full 128K; I've performed this modification to my socketed variant. MicroMac also added a flipflop to halve the FPU's clock speed to 25mhz - I suspect this is due to the difficulty of sourcing PGA parts rated for 50mhz operation.

1760564275733.png

Destroyed traces near the desoldered connector is exactly what happened. Two bodges later - D8, and IPL2 - it boots! And the cache even works, great!

Now the next steps are to clean up, reinstall the PDS connector, and bodge that to life. So let's get to it. The card stops booting after the connector is reinstalled.... because loose trace ends have gotten soldered to other pins. Oops. I have to go clean all those off while consulting pictures of an undamaged card. OK, great: works, again. Let's tone out and see what pins are bad up top.

1760564481321.png

Yikes. Orange is good, yellow bad. (I grabbed the first two paint pens I had, sue me)

This is where things go awry. There's been no electrical changes since getting the PDS connector reinstalled and the bad hanging traces removed. Just some inspection and toning. It should still work, but it crashes when the cache is enabled. Ughhhhh. OK, well, I clearly messed something up, let's remove things one at a time and eliminate variables.

In order of desperation, this is what I did, all without a change in behavior. Instant lock when cache turns on.
  1. Re-do all trace bodges
  2. Remove all caps.
  3. Remove the top connector.
  4. Test the oscillator, replace it anyways
  5. Tone-out portions of the internal address and data busses
  6. Replace all cache data and tag SRAMs.
  7. Remove the FPU.
  8. Ultrasonic clean the board
  9. Remove and re-verify U24.
  10. Despair
  11. Buy a new microscope and re-inspect the board and all bodges
  12. Scan and tone around randomly
At this point I've burnt 4 days and have run out of ideas. It *just* worked, so clearly it's my fault, but what changed? At this point I give up and decide that I'll one by one swap and reprogram GALs and see if anything floats up. I thought I had some spare GALs, but apparently not. This finally hits on something useful: The U5 GAL is intermittantly triggering overcurent events while programming....Odd. I put it back on the board anyways, and the cache worked - once. Then stopped again, until it was directly heated. Well then. I swap that for a single spare ATF16V8 and what do you know: the card lives again!

Now I have to undo every (unneccisary) change made during troubleshooting. Reinstall the FPU, original cache, PDS connector, oscillator, caps. Yay. Perform all this and the cache still works. What a faff that was.

At least getting a new microscope was long overdue. The mount isn't perfect and the accessories are junk, but the camera and scope lens are fantastic. My review of the microscope is here. Time to make good use of it....

repaired PDS.jpg

Turns out working under a microscope is fun! My prior pluggable scope really wasn't good enough for this, nor did it have a long enough working distance (distance between lens and item) to allow me to manuver my hands and soldering iron around. I didn't realize I could make these fine movements, this makes it almost easy. I enjoyed this.

The card is now fully repaired and functionally tests OK. Finally. Time to slather all bodges in conformal coating, especially that poor U24 GAL that's held on by 5 pads only, and the caps.

20250925_134847.jpg20250925_134906.jpg

It will never be a looker but it works. I don't know that I'd ever really trust it - that GAL 'death' is concerning - but I was looking for something to tinker with and certainly got that. I still don't have a theory as to what happened with that GAL, maybe some kind of shock damage. There's certainly evidence enough of that.

I still have no idea what the thought process behind the previous owner's work was but I can almost admire the sheer bloodymindedness that went into it. Though I dare say I wasn't far off that myself by the time it was done....
 
Well done work and very nicely documented. Wonder what they were trying to accomplish with... whatever all that was. Just trying to narrow down the GAL failure? Or somehow trying to make it work with some other system?
 
Thanks for the tip on that microscope. I picked up a stereo optical scope several years ago, but found it very cumbersome to use. This looks like a better solution.
 
I am not sure the "why" of all this still. The particularly weird thing to me still is the U5 GAL was fine at first and the knocked-off U24 GAL was also fine, so the card was fully functional at some point. I came up with two theories, the first being the card was found in a box of random parts and it took the heavy mechanical damage from storage over the years, or two, perhaps they wanted to swap the top connector for some reason, causing the card to stop booting, then started trying to repair and just caused more damage as they went?

The CPU was swapped with the wrong part, definitely a problem, perhaps PO thought it bad or being ceramic maybe it was physically broken? The U24 was clearly damaged as part of trying to remove it, so that came later, but the gouges and other damage I can't figure if that was before or after the PDS connector removal which definitely would have caused the card to stop working.

I'm definitely happy with the scope - the imager and lens are great, and with a little bit of tinkering I've got the mount to a point where I'm happy with it. With glasses and quirks of my vision I can't really use an optical scope so digital was the only option. The little pluggable $25 scope I was using did some work but this was a huge upgrade. I tried one of the units with a built in display previously but I found it to be very cumbersome. Difficult to get odd angles (needed for inspecting joints), the mounts are mediocre, and the displays also poor.
 
You have far more dedication than me, I would have said "screw it" and asked Bolle for a new PCB about half a hour in!

It should still work, but it crashes when the cache is enabled.
That gives me PTSD from my ThunderCache experiments. I still can't get my original card working with all the original parts let alone my clones..... Both are now one the "problem for some indeterminate time in the future" pile.....
 
Back
Top