Repairing a vintage Macintosh SE/30

0.00 avg. rating (0% score) - 0 votes

The Macintosh SE/30 is probably the most wanted Compact Macintosh computer due to its various upgrade options, especially the ability to support up to 128MB of RAM with the right SIMM configuration.  Unfortunately my SE/30 has refused to boot up, showing the notorious checkerboard screen, after having been powered off for a couple of years:

IMG_20170313_152110_HDR

I opened up the case and immediately found out a potential cause – the 3.6V PRAM lithium battery has leaked all over the place:

IMG_20170228_205025

I removed the battery, cleaned the motherboard thoroughly and soldered in a new 3.6V battery purchased from eBay:

IMG_20170228_210520

On the next attempt to power on the machine, the symptoms changed. The checkerboard pattern was no longer shown, instead I experienced the classic Simasimac screen as described here:

IMG_20170312_142747_HDR

The same symptoms persisted even with all the RAM, ROM and video ROM removed, so it was probably not a problem with the ROM or RAM as mentioned on the website. The only thing I could do at this stage was a recap, e.g. to remove all the leaky SMD electrolytic capacitors on the board and replaced it with new ones. But before that, my curiosity led me onto a different path, that is to investigate why many SE/30 end up with the exactly same Simasimacs screen, down to the pixels. Perhaps there is a common fault somewhere that can easily be fixed?

The first thing to try was to download the logic board and analog board schematics of the SE/30 and many other similar compact Mac on this site. They are in GIF format and not high resolution, but good enough to get me started. You can also download a hosted ZIP file with all the schematics from here. For a start, check out the SE30_P5.GIF file for the video section. Without going into the details, the schematics shows several 74F253 (4-input Multiplexer with Tri-state Output) connected to two D41264C (64K X 4 Video DRAM), which is then connected to UK6, a 2764 serving as the video ROM.

This is the photo of another SE/30 logic board – click on it to view the high-res version:

IMG_3880_Mac_SE_30_Motherboard

An educated guess would be that some of the data bits feeding into the video RAM were not having the correct values, probably due to broken PCB traces or vias resulting from the leak. This resulted in dead pixels on what would otherwise be a perfect raster screen typically showed when the SE/30 boots up, hence the Simasimac display. To prove this theory, I used a piece of wire and connected some of the data pins on UC6 and UC7 to ground, causing the Simasimac pattern to change. This proved that I was on the right track.

But why would many SE/30 die in exactly the same way, showing the exact Simasimac screen down to the pixels? I guess this is because the leaky battery would usually damage the same set of nearby traces and components, causing the same data bits to be lost, hence showing the same screen. Obviously I do not have the time to verify which trace or which component would need to be dead to show the typical Simasimac screen.

The next step, as you might have guessed, was to recap the board. For this, I used a plier and my hands to remove the leaky caps. Those old electrolytic capacitors simply fell off easily with just a bit of force. There is no need to do any fancy desoldering at this stage, which might just ended up lifting traces and cause more damages. After that, I cleaned the board again, waited until it dried and soldered in new capacitors. I used through-hole capacitors, which should work, as SMDs are too small for me to handle.

Upon first boot after the recap, I could hear the startup chime and the grey screen was crisp with no distortion. I thought I have done well when I realized that the machine would actually hang at the grey screen without proceeding to ask for boot disk. To my knowledge, the machine should still boot even when the internal floppy drive as well as the hard disk drive have been removed, with no keyboard or mouse attached.

IMG-20170302-WA0003

There was no mouse cursor on the screen and pressing the interrupt button would generate the chime of death. Pressing the reset switch would just cause a reboot, followed by the startup chime, and then the machine would freeze again.

My guess was that the machine hung at the RAM test phase. With 8MB of RAM installed I could expect it to take at most 15-30 seconds to complete the RAM test, but I waited for 5 minutes and nothing happened. Most online sources describe similar symptoms (hang at grey screen, but with mouse cursor) and say that this has to do with the network filter at the serial port or the SCSI chip. My symptoms were different as there was no cursor. Regardless I checked the connectivity near the SCSI chip and the network filter and all seems to be good. The 30-pin RAM modules tested good on another machine so I did not think it is DRAM issues. So what should I do next?

It was actually time for creativity. Checking through the commented ROM source code listing for the Macintosh Plus (not SE/30, but both should share similar ROM routines) here (see a hosted copy here in case the original link is dead) , I did not see why the Bourns network filter responsible for the serial port had to come into the picture. The bootup routine starts with the check of timing signals, followed by the VIA and IWM. After that, the screen buffer is cleared and the RTC is tested by writing a byte and reading it back. If everything is OK at this point, then the ‘bong’ sound is played. After that, the RAM content is initialized, CPU type is checked (whether 68000 or 68010), and the typical grey screen boot screen is drawn. At this point, the boot disk icon is plotted and the machine starts to look for a boot disk. There is no reference to the serial port anywhere in the boot process.

I then cross-checked the documented boot up process with my Mac SE/30, which hung after a loud bong and a crisp raster screen with no disk icon. From the ROM code, the machine only starts to look for a bootable disk drive after the disk icon is plotted, so one can say that the hangup was not due to external peripherals (e.g. issues with floppy or SCSI bus), but rather something that prevented the ROM source code from continuing to execute.

Guessing that this could be due to corrosion near the ROM data lines, I checked the motherboard thoroughly again and indeed found some corrosions beneath the ROM sockets. I then removed all RAMs and socketed chips and let the entire board sit in white vinegar (5% concentration, according to the label on the bottle) for around 2 hours. When the board was removed from the vinegar, I could observe some residue and the water no longer looked clear. The pins on several ICs which used to look corroded now looked much cleaner. After that, I used a hard tooth brush to clean the entire board, especially near the IC pins and rinsed the board thoroughly with tap water. I then used a cloth to wipe the board dry and hung it near my window for two days. When the board was finally dry I used compressed air to spray at the board to remove any foreign particles and attempted to power it on.

The first bootup attempt after the somewhat evasive procedure ended up with a chime followed by a question mark asking for boot disk, which was a relief to me:

IMG-20170304-WA0001

However, the next few attempts still resulted in mysterious sad Mac codes or chimes of death, probably due to some remaining moisture on the board. The sad Mac codes vary, but were something similar to 0000000F / 00000013:

IMG_20170304_134241

Fortunately after around half an hour, things became more stable and I could install System 7.1 through a spare floppy drive with Amigakit SCSI2SD. The machine has now been working for a long time with no weird behaviours observed:

IMG_20170326_214946_HDR

I guess the issues I encountered were not related to the Bourne filter at all, but had more to do with ROM inaccessbility. As for the observations that the Bourne filter is responsible, I think it’s because having a shorted Bourne filter may affect the sound section (which is nearby) causing no startup bong and other related issues. Fixing the Bourne filter could certainly require cleaning up the PCB in the process and may fix other corrosion-related issues, hence the filter is wrongly attributed as the cause through trial-and-error.

For those who are also repairing their Macintosh SE/30, observe carefully the behaviour of the raster screen upon boot up. The mouse cursor only appears once the machine starts to look for boot disk. As soon as it finds a boot disk, the mouse cursor disappears again, the smiley Mac icon appears and the corners of the screen become rounded (it was square right after the startup chime). By following these symptoms you will be able to have some ideas where during the boot stage your Mac hangs and isolate the issue. Also take note that not all electrolytic capacitors on the board are critical, at least for short term operation of the machine. Some of the capacitors are simply for decoupling – the SE/30 would probably still work fine for a while without them. During my repair I accidentally lifted off a trace near capacitor C6 in the sound section. Having no time to trace the connection, I leave the machine running without this capacitor, and yet everything, including sound, SCSI and the serial port, still works fine! So do not just panic if you have lifted a trace – just trace it to the nearest point where you can solder onto. Or if you are lucky like me, the board can probably still work with a missing capacitor.

Interestingly I could not find where the death chime is stored in the ROM. The startup bong can however be easily located and changed if you can flash the ROM. What still puzzles me is how the machine still manages to draw various patterns on the screen even with no ROM present. I wonder if this behaviour is hard-coded somewhere in the video ROM or related chips. Feel free to leave a comment here if you have any ideas on this :)

 

0.00 avg. rating (0% score) - 0 votes
ToughDev

ToughDev

A tough developer who likes to work on just about anything, from software development to electronics, and share his knowledge with the rest of the world.

7 thoughts on “Repairing a vintage Macintosh SE/30

  • February 23, 2018 at 4:10 pm
    Permalink

    I’m having a very similar problem with my SE. It was working fine– I replaced the battery for good measure. On startup, I get your 4th image. A reset started the computer fine.

    Then I started getting this long delay with the disk with the question mark on it. After a time– half hour or so, it boots. Nothing is wrong. I can run most of the day without issue.

    If I load a bootable floppy, the system boots. External SCSI drive with the system loaded– system boots.

    I was thinking the hard drive was dying. So I replaced it. Same issue. It’s very intermittent.

    I’m thinking there might be a cap going bad that needs to recharge that’s in the internal SCSI chain. I don’t know enough about the architecture on these boards, however. but waiting for the thing to recharge could be an issue. But the motherboard looks practically brand new. Not a sign of aging anywhere.

    I also think perhaps the PRAM battery I bought was bad. I bought it new, but it could be NFG.

    It’s curious. The system likes any other drive except the internal HD. I’ve ordered a new SCSI cable. I’ll try that first. Also I’ll replace the PRAM battery again while I have it opened.

    Reply
  • February 23, 2018 at 4:13 pm
    Permalink

    Oh– I also thought it could be low power to the hard drive– the power supply is dying. So I used a separate power supply, but got the same result. That potential problem is not the case.

    Reply
  • ToughDev
    February 23, 2018 at 7:15 pm
    Permalink

    Hi,

    A few suggestions

    (1) Do you have a multimeter? If not, you can get a cheap $5 multimeter from your local electronics store. Measure all voltage rails (12V, 5V, 3.3V) and make sure that they are within ranges. Do this without load (e.g. power supply alone) and with load (with the machine powered on). If you have a scope, check to make sure that the voltage rails are clean with no excessive ripples. Aging power supply may be marginal which might result in failure to boot when there is high load (e.g. when the hard disk starts to draw a lot of power upon first power-on)

    (2) Measure the PRAM battery, although it’s unlikely to cause the symptoms. The board can boot fine with no PRAM battery connected.

    (3) A long delay followed by a question mark could be from the SE’s attempt to detect the SCSI hard drive. Check that your SCSI drive is jumpered and terminated properly. Improper SCSI termination may cause intermittent issues.

    Let me know how it goes.

    Reply
  • February 24, 2018 at 6:32 pm
    Permalink

    Wow thanks for the suggestions!

    I think I’m facing a few issues. First, the drive I put into the machine was a 4GB drive, and I think the system is having a problem reading a drive of that size without the drivers loaded (out of BIOS).

    Second, I think the 50 pin drive cable was perhaps bad. Replaced it.

    Third, I think the drive power cable is not making clean contact with the pins. I will have to hunt one down.

    The 4GB drive is now in a SCSI external enclosure and working fine.

    Reply
  • March 21, 2018 at 10:32 am
    Permalink

    Well quite a bit has happened in the last month. I checked all the voltages, they are accurate. Replaced the drive with an SSD SCSI emulator, brilliant. Put in a silent fan. The computer worked, and then it would stall unexpectedly. The morning boot ups were taking 45 minutes sometimes.

    The volume out of the speaker was getting feint– so I decided to go ahead and re-cap the computer. I did the power supply and analog boards first, then reassembled the computer and booted it to make sure… I wasn’t an idiot.

    That went well.

    Then I re-capped the logic board. I got stuck on that exact herringbone pattern you had above. So I washed the board, dunk style and did some toothbrushing. Same result. So I ran it through the dishwasher– but the new caps looked awful after– either there was a lot of residual electrolyte on the board, or I had a lot of flux– either way, my new caps looked horrible after washing. So I ripped them off, rewashed the board, put all new caps on it (again) and everything started. I ran the computer for 8-hours yesterday, no problem. In fact– the sound was loud, compared to what it was. All seemed fine…

    Then this morning– wouldn’t you know the same boot issue recurred? So I’ve got something else going on. I checked an Ohm meter across the pins of the Bourns filters. They’re supposed to all overload but the first and last pins on each chip. Not the case. So something is shorting somewhere, or the Bourns are bad– unlikely. I also notice when it sits on the disk drive question mark-y thing, the drive LED keeps blinking– like it’s trying to access the drive. So maybe it’s a screw up coming off the SCSI connector– the computer keeps polling for data — the drive reacts– and it’s not getting anything back.

    I have a new oscilloscope. I don’t know exactly how to use it yet, but I am going to teach myself to debug this computer. One painful lesson at a time.

    Oh– soldering. That was another adventure. I learned 2 valuable lessons: 1) Always use fine solder wick. The course solder wick doesn’t work well. That would have saved hours. 2) Leaded solder from now on. I struggled in pain with the lead-free stuff. My welds looked like tomatoes in some cases. Same technique with leaded solder, beautiful shiny volcanos. Never lead-free again.

    Reply
    • ToughDev
      March 22, 2018 at 12:36 pm
      Permalink

      Thanks for sharing your adventure with you Mac :)

      Just an idea, does the machine have a working floppy drive? If so, can you remove the SCSI hard drive and try to boot from floppy and see what happens?

      The Bourns filters are unlikely to be bad, unless they were subjected to unreasonable voltages or prolonged heat. Most likely there was some residual moisture from your dishwasher attempts that causes the short. Try to dry the board with a hair dryer (at a distance) for a few minutes, and then boot it again.

      Did you measure the filters with the SCSI drive connected or disconnected? Try to measure it with nothing connected and see if there’s still a short.

      With an oscilloscope you can probe the various DC voltage rails (12V, 5V, 3.3V) to see if there are excessive noises that may cause the boot failure. On a more advanced level, you can probe the TTL voltage at the various chips to see if they are indeed doing what they are supposed to do.

      Good luck and let me know if you have any questions :)

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>