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:
I opened up the case and immediately found out a potential cause – the 3.6V PRAM lithium battery has leaked all over the place:
I removed the battery, cleaned the motherboard thoroughly and soldered in a new 3.6V battery purchased from eBay:
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:
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:
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.
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 socket. 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:
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:
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:
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