Jon Thysell

Father. Engineer. Retro games. Ukuleles. Nerd.

My Mac SE/30 Part IV: Upgrade Plans

In Part III of this series I took out (and cleaned) the motherboard and disk drives of my Macintosh SE/30. At that point, I was stuck waiting for the upgrades I’d ordered to arrive. But what upgrades exactly?

As I’ve mentioned before, the SE/30 is one of, if not the, most popular model of compact mac ever made. That’s largely due to its speed and expandability – the SE/30 is essentially a powerful Macintosh IIx crammed into the smaller Macintosh SE case. Both the SE/30 and the IIx use the Motorola 68030 processor running at 16MHz with a 68882 FPU coprocessor.

However, despite the many hardware similarities, the SE/30 has one decided limitation: its ROM is “32-bit dirty”, while the ROM of the IIx is “32-bit clean”. What does that mean? Well, the ROM in a classic mac is essentially a bit of permanent software on a (ROM) chip that’s responsible for booting the machine and interfacing between the system and with the hardware.

I won’t get into the history, but having a “32-bit dirty” ROM means the system is limited to a maximum 8MB of RAM. So the SE/30 can only use 8MB of RAM, while the identically powered IIx can use up to 128MB. This doesn’t matter much if you’re running System 6 (which itself is “32-bit dirty” and can only use 8MB of RAM), but if you’re running System 7, it’s an annoying limitation.

But there’s good news! As it turns out, while the software in the SE/30’s ROM can not be updated, the chip itself is actually on a small removable SIMM board. Same with the IIx. So it didn’t take long for enterprising mac enthusiasts to trying putting IIx ROM boards into their SE/30s, and voila, it actually works! With the swapped ROM the SE/30 can see up to 128 MB of RAM. From what I understand, it was a very popular upgrade, and a big part of why the SE/30 became so popular.

My SE/30’s RAM

With that, let’s return to me and my SE/30. While I want the machine to look cosmetically as original as possible, I do want to upgrade the internals a bit, especially the RAM.

As I mentioned in the last post, my SE/30 has the max factory configuration: 4MB spread across four 1MB RAM sticks. I also mentioned that the original seller claimed that the other four RAM slots weren’t functional. Right off the bat, it seems that I’m already at the limit for this particular machine.

Now, if I could get my hands on a IIx ROM board, I could swap out my four 1MB sticks for four 16MB sticks, bumping the RAM to 64MB. Not the absolute max of 128MB, but still a very worthy upgrade.

However, if it’s hard and expensive to track down vintage macs in good shape, it’s even harder and more expensive to find upgrade parts, especially for popular upgrades and especially for parts taken from other vintage macs. But there’s more good news – we don’t actually have to track down an original IIx ROM board.

Modern ROM Replacements

Enter modern enterprising mac enthusiasts, who have created new replacement ROM boards. There are two options in the market today: the GGLAB MACSIMM and the BMOW Mac ROM-inator II. Both are relatively cheap ROM boards that can be installed in SE/30s, as well as other compatible models. Furthermore, both provide useful “customization” options for how the ROM works.

One useful thing they do is path the ROM to disable the memory test at boot. While the 68030 processor is a beast for its time, running a full memory test on 16, let alone 64 or 128 MB of RAM at boot can take up to a full minute. (For reference, when rebooting my SE/30, as-is with System 6, the machine is back to the desktop almost before the startup chime finishes.)

Another patch adds HD20 support, which is a useful (but older) protocol for hard drives that connect via the external floppy port. While I don’t plan on getting or using an HD20 hard drive, it’s useful to have because my Floppy Emu can emulate such an HD20 hard drive, giving me an easy way to transfer large files to and from the machine via SD card.

Now, it’s here that the two products take different philosophical approaches. The base MACSIMM model stops with just the two patches – no memory test plus HD20 support. There’s also a “deluxe” model which adds a built-in, bootable “recovery” disk, so even if you have no other disks installed, or none of them are booting properly, you can still boot into a working system to troubleshoot your machine.

The Mac ROM-inator II on the other hand, comes in only one model, which includes the recovery disk functionality, but also a lot of other customizations as well. The startup chime, a classic hallmark of vintage macs, has been replaced with their own custom tune. The “Happy Mac” startup icon is replaced with a custom “Pirate Mac”, and the startup menu displays some info like the amount of RAM installed, how to boot the recovery disk, etc. Price-wise, it’s also cheaper than both models of the MACSIMM.

My SE/30’s ROM

I want to upgrade my SE/30’s RAM to at least 64MB and I want the HD20 support. With the Floppy Emu and the SCSI2SD, I don’t think I really need the recovery disk. Also, in keeping with my desire for the machine to look and feel original, I was actually turned off by all of the Mac ROM-inator II’s customizations.

In the end, despite having to pay a higher price, I went with the MACSIMM. It helped a little that the Mac ROM-inator II was out of stock at the time. Also, when I contacted GGLAB to confirm that the MACSIMM did not include similar “stylistic” customizations, he explained that he too preferred the basic setup, though he’d happily reflash his board with whatever alternate ROM image I gave him.

So I ordered the basic MACSIMM module and started looking for more RAM. Thankfully, unlike with the protracted ordeal I had finding RAM for the Power Mac 8600/200, I found a seller with 16MB sticks of compatible RAM quite quickly, and at a price within my remaining budget. Still, I limited myself to only ordering four sticks – I reasoned that without any guarantees that all eight slots worked, I didn’t want to waste any money up front. Plus, other than it being really cool, I still wasn’t even sure I’d find a way to use 64MB at once, let alone 128MB.

Alright, now that the plan’s in place, stay tuned for Part V, where I start actually upgrading my machine.

/jon

Want to read from the beginning? Start at Part I.

My Mac SE/30 Part III: Motherboard and Drives

It’s #MARCHintosh, a time for retro-computing enthusiasts to celebrate their passion for classic macs.

In Part II of this series I took my first look at my newly acquired Macintosh SE/30. I’d cleaned the external surfaces and even took off the case for a quick peek inside, but I hadn’t taken anything out yet.

The next thing I wanted to do was to take a closer look at the motherboard. It’s located on the very bottom of the machine, which you can see once I’ve removed the RFI shielding:

To remove the motherboard, you first need to disconnect the power, speaker, and drive cables. It’s a fiddly bit of work because you have to reach in past the monitor yoke and hard drive and pull out the cables from the top. But once that’s done the board slides completely out:

Overall the board was in pretty good shape. The PRAM battery hadn’t exploded, and you can see that yes, the capacitors have already been replaced as per the original listing. Zooming in however, you can see that there’s still a good deal of grime and dried capacitor goo:

The first order of business was to try and clean things up a bit. I got out a toothbrush and a bowl of isopropyl alcohol and started meticulously scrubbing away. At first I was annoyed that the previous owner hadn’t bothered when they’d recapped the board – but after an hour of hard scrubbing I decided to give them the benefit of a doubt. That goo (technically electrolytic liquid) is pretty nasty stuff, so I shudder to think what it could have looked like before.

Anyway, after the cleaning, I decided to take a look at the RAM slots:

There’s eight total slots, currently populated with four 1MB sticks. According to the original listing the other four slots don’t work, but I don’t have any other sticks to verify that. I gave a cursory look over the traces to see if any were damaged, but I didn’t see any obvious problems. The only thing left to do at this point was install to a new PRAM battery and move on:

Next I turned to the drives. The hard disk is mounted in a caddy on top of the floppy drive, and with the cables already detached I simply removed both as a single unit:

With the caddy removed I separated the two drives so I could give them both a cleaning with a wet cloth and some compressed air:

I don’t have much hope for the hard drive. Even if I knew how to repair it, it would only be worth doing if it contained personal data I was trying to recover. I do however intend on keeping the floppy drive in good working order. I know at some point I’ll need to give it a thorough overhaul and lubricate all the moving parts, but I’ll save that as a project for another day.

Well, that’s enough for this post. Stay tuned for Part IV, where I start planning our the upgrades!

/jon

Want to read from the beginning? Start at Part I.

My Mac SE/30 Part II: First Look

It’s #MARCHintosh, a time for retro-computing enthusiasts to celebrate their passion for classic macs.

In Part I of this series I wrote about how I acquired my first compact mac in September 2020, the highly-coveted titular Macintosh SE/30. I’d only just gotten it out of the shipping package and verified it was indeed as advertised.

My plan is to fully restore this machine inside and out. I want it to work, so I can both play games and write software on it, but I also want it to look like new, like it just rolled off the factory floor.

The first step was to document some “before” photos.

My Macintosh SE/30 (Outside)

Externally the machine is in very good condition. No cracks, breaks, or major scratches on the plastic. It’s a little dirty but that’s to be expected. I gave all the external surfaces a good clean with some isopropyl alcohol and a soft rag.

The included keyboard and mouse were in pretty good shape too:

The mouse has a small but noticeable melted spot, probably from a soldering iron or cigarette. I gave them both a quick wipe down, but they’ll need to be taken apart at some point for a proper clean.

Everything suffers from some definite yellowing, which is a little hard to see in these photos, but it’s not the worst I’ve seen. It’s uneven on the front and top where someone had applied stickers or decals. Overall, the yellowing is more apparent when you place it all side by side with my 8600, which has practically no yellowing at all:

Well that’s the outside, time to open this machine up. I placed a towel underneath so I wouldn’t scratch up the case.

My Macintosh SE/30 (Inside)

To get into these compact macs you need an unusually long Torx T-15 screwdriver, affectionately known as a “Mac Cracker”. Four screws and the case slides right off the back:

At the bottom you can see where the rear ports are attached to the motherboard, and at the top you have the power supply and fan. The white rectangle in the center is actually a little card to protect the circuit board attached to the delicate “yoke” at the back of the monitor.

Turning the machine, on the right-hand side is the “analog board”, the circuitry that drives the monitor. You can see it’s covered by a cardboard sheet with high voltage warnings:

It’s on this board where you can adjust the picture, calibrating the dimensions, brightness, focus, etc. Definitely something I’ll need to look into later.

It seems now would be a good time to remind everyone that CRTs use high-voltage capacitors, which can retain their charge for a long time even after being unplugged. You have to be super careful when dealing with these things. Touch the wrong part and you can kill yourself.

Now, later compact models like this SE/30 should have a “bleeder” resistor to safely drain those capacitors when the machine is turned off. But remember, we’re talking about a 30 year old computer here – no guarantee that resistor is still working.

There is a technique to discharge the capacitors, but it involves getting past the protective insulation to reach the high-voltage parts, and I wasn’t mentally prepared to try that yet. So in the meantime, I just avoided touching anything monitor-related.

Turning the machine 180 degrees, here’s some shots of the inside, where you can see the back of the monitor and some closeups of the top of the analog board:

Everything looks okay for now, but I already know the analog board hasn’t been recapped yet, and that can wait for another day.

Moving away from the analog board, the next thing to grab my attention is the currently not-working hard drive:

It’s a Seagate ST1480N, boasting a whopping 426 MB and manufactured in March 1994. Since stock SE/30s only came with a 40 or 80 MB hard drive (or none at all), and the SE/30 was discontinued in 1991, this is a later upgrade. I don’t have much hope I’ll be able to get it working, but that’s okay, I’m planning on replacing it with my SCSI2SD anyway.

Well, this is pretty much all you can see before actually taking things apart. Stay tuned for Part III, where I start doing just that. 🙂

/jon

Want to read from the beginning? Start at Part I.

My Mac SE/30 Part I: Acquisition

In 2020 I decided to get into restoring classic macs. I started by acquiring a Power Macintosh 8600/200 and transforming it into a powerful crossover machine – a tool to help transfer files to and from older macs and my modern computers.

You can read the story of that restoration beginning here: Adventures in Macintosh restoration Part I.

That mac was the first of two classic macs I worked on that year, but I found that writing the posts for that 8600 restoration so time consuming that I never got around to posting about the second mac I worked on.

Well it’s March 2021 now, and some in the retro-computing community are calling it the first annual #MARCHintosh – a time for enthusiasts to celebrate their passion for classic macs. So I thought it was high time I posted about that second mac.

See, my goal last year wasn’t to restore a PowerMac – what I really wanted to do was to restore a 68k machine like the ones I had in my youth. Even better, I wanted to restore one of the compact B&W macs I’d lusted after but never owned.

So while I worked on the 8600 I kept an eye out on eBay for good deals on compact macs. With the 8600 up and ready to transfer files (along with a SCSI2SD and a FloppyEMU for good measure), the biggest challenge was finding a decent compact model at a reasonable price, not necessarily already working but at least with working potential.

Now the top of line, most sought-after compact model is the Macintosh SE/30. It’s the fastest and most expandable compact mac ever made – and the market knows it. You can (and I did) spend years trolling eBay trying to find one, and even if you do, they’re often upwards of $500 to $1000, especially if they include even harder-to-find upgrades.

So I kept my sights low, and aimed for a more reasonable Macintosh SE FDHD or Macintosh Classic. But to my complete surprise, in September I stumbled upon a listing for this:

The listing’s description read:

Apple/Macintosh SE/30 – Working Condition – Some TLC Needed.

Computer is in good cosmetic condition with some yellowing. I have personally recapped the motherboard. I have not yet recapped the analog board. The computer is complete and includes it’s hard drive, floppy drive, motherboard, keyboard, and mouse as pictured. The computer was nonfunctional when I bought it. After I installed new capacitors it boots from floppy but only recognizes the first four banks of ram. The internal hard drive spins up but is not recognized by the system. Computer will need some additional attention before being fully operational, but I am confident that it can be repaired. I simply do not have the time to work on it any further. I’ve included a picture of the motherboard to give you a sense of its condition. There is 4mb of RAM installed. Sold As-IS for further repair.

Shipped with care via FedEx.

I couldn’t believe my luck – a half restored machine would be a much easier project than starting with something completely untested. I eagerly put in my bid and won! I paid about $200 with shipping – more than I wanted on my first compact, but a steal given what it was.

With the computer in the mail, and already some idea of the upgrades I wanted to make, I started putting in orders for parts. When the box finally arrived, I couldn’t wait to unpack it and verify that everything had survived shipping:

You can see it there right next to the 8600, which I was still working on at this point. I hooked it up and powered it on – as listed, the SE/30 booted right up but the hard drive wasn’t responding:

The screen was also dimmer than I expected. At the highest brightness it was just usable, though things were a little out focus. But no matter, I connected my trusty FloppyEMU and started up a System 6 boot disk.

Again, 4MB of RAM, just as listed. Confident the seller had been honest and it had survived shipping, I turned everything off and started clearing the desk. I set it up as-is with the keyboard and mouse it came with.

It took everything I had to not get started right away. There was a good deal of cleaning ahead of me, and the parts I ordered were still on the way, but I simply loved how it looked on my desk.

That’s it for now! Stay tuned for Part II, where I start taking it apart and photographing everything.

/jon

State of Mzinga, March 2021

Mzinga is my collection of open-source software to play the board game Hive, and I last posted about it back in November 2018.

A lot has happened since then, so this feels almost like a re-launch than anything. Essentially, Mzinga development stalled at the end of 2019. I made a variety of internal performance improvements, but the biggest changes were polishing the UI of the Viewer, including adding the ability to save and review games later, in a new review mode.

Nothing happened for Mzinga in 2020, though I did spend some time getting acquainted with .Net Core and Avalonia, an exciting cross-platform UI framework similar to WPF.

I did some smaller projects with this “new” way to write C#, and when Avalonia released their big 0.10.0 update in December 2020, I decided it was time to try porting one of my bigger apps to this new platform.

So in January of this year I ported Mzinga to .NET 5, and rewrote the Viewer in Avalonia instead of WPF. The end result has been more than worth the effort.

I got to keep 99% of my existing code, and with a just couple weekends of work, starting with Mzinga v0.10.0, the entire project is cross-platform, with releases on Windows, MacOS, and Linux.

Here’s the announcement on BoardGameGeek: Mzinga, open-source Hive, now cross-platform (Windows, MacOS, Linux)

Having the code cross-platform really opens up the opportunity for getting other developers working on their own AIs. By having the Viewer available on Mac and Linux, more developers are willing to invest in writing their own UHP engines and Hive AIs, which was the whole point of Mzinga in the first place.

I’m in conversations with several such developers- one even found a bug in Mzinga that’s been there for years! They all appreciate the level of documentation and tools I’ve provided to help give them a place to get started.

To that end, I’ve also taken some stabs at building some more engines myself. I started a UHP Sample Code repo, with simple sample engines to get people started. They only implement the base game (no expansions), have no AI, and are not optimized, but they meet the minimum requirements for an engine, and therefore are yet another starting point for developers. I’ve got versions in both C++ and C#, and I’ll probably also create versions in Python and JavaScript too.

For Mzinga itself, it’s a big, complicated codebase, and I don’t see any “easy wins” for making it faster or the AI stronger.

So on top of everything else, I’ve also started MzingaCpp, which is a brand new engine written completely in C++. Here I’m taking all that I’ve learned and focusing on making the fastest possible engine, with hopefully the strongest AI. Right now it’s got the base game and expansions up and running, and while it doesn’t have any AI yet, its move generator is already 1.5x -2x the speed of Mzinga, which is a great start.

That’s all for now! I’ve you’re interested in playing a game of Hive on your computer, give Mzinga a try. If you’re interested in developing your own Hive AI, drop me a line!

/jon