My Mac SE/30 Part VII: SCSI2SD Setup #1

In Part VI of this series, I replaced the dead hard drive in my vintage Macintosh SE/30 with a modern SCSI2SD.

Next I’ll need to set up and configure the SCSI2SD to meet my needs. Now, despite the wonderful versatility of the device, its configuration is not for the faint of heart, especially when used in a vintage Macintosh. Thankfully this isn’t the first time I’ve tangled with configuring a SCSI2SD – when I initially restored my Power Macintosh 8600/200, I also used a SCSI2SD instead of a standard hard drive. In fact, I used this exact SCSI2SD!

See Adventures in Macintosh restoration Part VI: Booting up and jacking in for that story.

In short, the power of the SCSI2SD is that it can be set up to emulate one or more virtual drives all on a single SD card. However classic macs (or at least, the official disk tools needed to set up a new drive) are picky about the brands and models of drives they support. So while you can set up your SCSI2SD virtual drives to “spoof” those blessed drives, the configuration software is not very user friendly.

Sectors not files

The biggest annoyance with the SCSI2SD is how it stores these drives on the SD card. You’d expect that it would just use a standard formatted SD card with each virtual drive stored as a separate “image file”, like with the Floppy Emu. Instead the SCSI2SD writes directly to a range of raw sectors on the SD card, ignoring anything else about how the card is set up.

So if you pop the SD card into your PC, you won’t see obvious files like “Disk 1.dsk” or anything. In fact the default SCSI2SD configuration is a 2 GB virtual drive written to sector zero at the very beginning of the card. Which is actually kind of a problem.

Now, this is a simplification, but sector zero is usually where the filesystem information (the names and locations of each file) is stored. A PC will look at sector zero for a filesystem it understands, which these days is typically FAT, FAT32, exFAT, or NTFS. It won’t recognize a vintage filesystem that may be there. So when it doesn’t find the data it expects, it’ll assume the disk needs to be formatted, and will prompt you to do so.

Accepting that prompt will, in all likelihood, completely corrupt or destroy the data on your card. Yikes!

With this setup, the best you can do is always remember to say no to formatting, which will preserve your data, but also severely limit how you can interact with it. You can still use modern disk imaging utilities to back up the entire SD card to an image file on your computer. However you won’t be able to easily separate out multiple virtual drives, let alone transfer individual files in or out of them.

A better setup

While complete disk images are useful (and better than no backup), I’ve found a better setup which makes life a little easier on myself.

The trick is to put a modern filesystem on the card, starting at sector zero, but not take up the entire disk with it. If I only create a small 32 MB FAT partition, and leave the rest of the disk “unallocated”, then when I stick the card into a PC, it’ll see that small filesystem and not prompt me to format anything. The PC will ignore all of the unallocated space after the partition, so that’s where I’ll configure the SCSI2SD to write its data.

By keeping them separated in this way, neither the PC nor the SCSI2SD will ever interfere with one another in regular, everyday usage. You can add or remove files on that small FAT partition without ever worrying that you’re corrupting the vintage data managed by the SCSI2SD.

Okay, but why only a 32MB FAT drive? Why so small?

While my space needs for this vintage SE/30 are small, I don’t really intend to use the FAT partition for all that much. So there’s no need to take away a bunch of space that the SCSI2SD could be using. In fact, as we’ll see later, I only intend on using the FAT partition to store some useful tools relevant for using the SCSI2SD.

Disk planning for my SE/30

Speaking of my SE/30, my original plan was to have two virtual drives for this machine, one with System 7.5.5, and another with System 6.0.8 for older, “32-bit dirty” applications. For more information about what “32-bit dirty” means, see My Mac SE/30 Part IV: Upgrade Plans.

However, while people may have “dual-booted” back in the day, in my experiments I found that keeping a System 6 setup was completely unnecessary. There’s really nothing I can’t do in System 7 – if I need to run “32-bit dirty” apps, it’s easy enough to just toggle the switch in the Memory control panel and reboot. Actually switching between System 6 and 7 meant toggling the switch and letting each system “rebuild the desktop file” on the disk every time it restarted, which was annoying.

Ultimately, I found it much easier to just keep a set of System 6 images on my Floppy Emu, and plan on booting from floppy if I ever really need to run System 6. With that decision made, the biggest question now was how big of a disk did I need for System 7.5.5?

The maximum size of a classic mac drive (using the vintage HFS filesystem partition) is 2 GB. Realistically, I’ll probably never need that much space on this machine. I mean, the old drive in this machine wasn’t even 0.5 GB and would have been crazy expensive at the time. At my first pass, since I only want to manage one virtual drive, my first instinct is to create a 2 GB disk on a 2 GB SD card.

However, just because an SD card is advertised as being 2 GB, doesn’t mean it can literally store 2,147,483,648 bytes of data. Beyond the regular manufacturer marketing shenanigans of memory bytes vs storage bytes, different SD cards from different manufacturers may have different numbers of actual bytes available.

Which means, rather than use all of the unallocated space for my virtual drive, it’s safer for me to make the disk smaller and leave a decent safety buffer at the end. That way if my card dies and needs to be replaced with a new one that happens to be slightly smaller, I won’t have to worry about my backups not fitting.

Anyway, in the end, I decided to set up my 2 GB SD card like this:

Partition NameDescriptionTypeSector OffsetSize (Sectors)Size (Bytes)
SCSI2SDBackup UtilsFAT065,53633,554,432 (32 MB)
Unallocated65,5362,0481,048,576 (1MB)
Macintosh SDSCSI 0HFS67,5843,670,0161,879,048,192 (1.75 GB)
Unallocated3,737,600184,32094,371,840 (90 MB)
Total3,921,9202,008,023,040 (1.87 GB)
My partition setup for a 2 GB SD card (1 sector = 512 KB)

I have two main partitions: the 32 MB FAT drive at the start to satisfy modern machines, and a 1.75 GB HFS drive for my SE/30. I’ve also put a small 1 MB buffer between the partitions for a little extra safety and separation, and finally there’s some 90 MB of buffer at the end of the disk.

With that plan in mind, stay tuned for Part VIII, where I’ll walk through the steps of actually setting up the SD card in this fashion.

/jon

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

P.S. My thoughts on how to plan, execute, and document setting up my SCSI2SD was largely influenced by these two blog posts: SCSI2SD: Using a SCSI2SD adapter to setup your 68k Macintosh and Apple IIe Card and SCSI2SD: How I have my SCSI2SD setup for my Apple IIe card in my LC 475. Enormous thanks to the folks at savagetaylor.com for all of their detailed posts on classic macs and the SCSI2SD.

My Mac SE/30 Part VI: SCSI2SD Installation

In Part V of this series I upgraded the RAM and ROM in the vintage Macintosh SE/30 that I’ve been restoring. In this post, I replace the old dead hard drive with a modern SCSI2SD.

As mentioned in Part II, the hard drive that came in this machine was a 426 MB Segate ST1480N, an upgrade from a previous owner. It doesn’t boot anymore but that’s no surprise – it’s 27 years old at this point. I tried hooking it up to my bridge Power Mac 8600/200, but it didn’t even recognize a drive was connected.

In any case, my plan was always to replace the drive in this SE/30 with a SCSI2SD, which, if you aren’t aware, is a modern device that can simulate one or more SCSI drives using an SD card for storage:

Mounting options

I’ll cover setting up the software side of the SCSI2SD in a later post, for now, the goal is just to get it physically installed and hooked up where the old hard drive used to be. At first glance, it seems pretty straight-forward, but there’s a few minor problems.

First off, the original hard drive screws into the sides of SE/30’s metal drive caddy, and the SCSI2SD only has bottom mounting screw holes. Given that the SCSI2SD is just an exposed circuit board, even if you could mount it, you wouldn’t want the metal caddy to short anything underneath the board.

Secondly, the original hard drive was oriented such that the side with the SCSI port was to the rear of the machine. If I mount the SCSI2SD the same way, then the side with the SD card and USB port will be pointing inside. One of the main reasons I want to use the SCSI2SD is to be able to easily access the SD card to transfer files, make backups, or even swap it out for testing alternate cards. As-is, I’d have to take the case off every time to get to the card, or to connect a USB cable to configure the device itself.

Thankfully, Colin from This Does Not Compute solved both of these problems by designing a custom SCSI2SD Bracket for the Mac SE/30. Instead of mounting to the drive caddy, the 3D-printed plastic bracket mounts to the back of the SE/30’s chassis, and aims both the SD card slot and the USB port out the rear of the case. As detailed in his video, the SE/30 supports expansion cards, and so there’s a small opening in the rear of the case to expose any extra ports those expansion cards might have.

Since I have zero plans for adding any expansion cards, I decided to go with his bracket. He doesn’t sell them but he open-sourced the design, and since I don’t have a 3D-printer of my own, and since this was my first ever time needing a 3D-printed part for a project, I finally got to see what it takes to get someone else to make it for me.

The process was easier than I expected. After getting a little lost looking at sites that handled bulk orders, I found makexyz, an on-demand service that will forward your job to a local printer to print your one-off part. I just uploaded the STL file, kept the default settings, and in a week or so I got the bracket in the mail:

Extending the LED wire

While I waited for the bracket to arrive, I set to solving another problem. The SE/30’s case has small LED in the front that wires to two pins on the hard drive in order to show disk activity. The SCSI2SD does have pin holes for an activity LED, however with the SCSI2SD flipped around, the original wire doesn’t reach.

Wanting that LED to be functional, and not wanting to modify the original wires in any way, I finally invested in a set of various connectors and crimps and made a custom “extension wire”:

I also added a matching header to the SCSI2SD board. Hooking up the LED is very much optional, but I was positively ecstatic to see it flashing when all was said and done. But I’m getting ahead of myself.

Minor bracket adjustments

When the bracket arrived, it came time to actually install it into the machine. However I hadn’t noticed that in Colin’s setup he had removed the original hard drive caddy in order for his bracket to fit. I, on the other hand, intended on leaving the empty caddy in so I wouldn’t ever misplace it.

This was almost a non-issue, except for one tiny little spot where the bracket and caddy intersected. So I busted out my Dremel and cut a small groove in both the bracket and the SCSI2SD board itself:

Installation

With the grooves cut, the bracket cleared the caddy and installed quite easily:

The LED extension wire I made reached perfectly, and looking at the back of the machine, you can see where the bracket mounts to the expansion port slot to expose the SD card and USB port.

But now there was another problem. The SCSI port on the motherboard is near the rear of the machine, very close to the original hard drive’s port. As such, the original SCSI cable was very short, and though it’s kind of hard to see, it’s now stretched to its absolute limit to reach the port on the backwards SCSI2SD.

Not wanting to add any unnecessary strain on the parts, I went and ordered a new longer cable. And by new, I actually mean new! I assumed since SCSI cables aren’t used anymore I’d have to buy an old one, but I was happy to find someone making brand-new SCSI cables in various lengths. It worked perfectly:

The last thing to do was connect power. Now, the SCSI2SD can be powered one of three ways: directly over the SCSI cable (if the motherboard supports it), via USB (if you really want to run a cable there) or via a standard floppy power-cable.

While technically the device draws way less power than a traditional hard drive, and could therefore probably run off just the SCSI cable, I wasn’t sure that the SE/30 motherboard supported and I happened to have a spare Molex-to-floppy power adapter handy. So it was easy enough to continue using the existing hard drive power cable to power the SCSI2SD instead:

With the SCSI2SD installed, my planned hardware upgrades were complete. While there’s still work to be done inside, such as re-capping the analog board and completely cleaning and greasing the floppy drive, for now, it was finally time to close up the case.

I popped off the small door to the rear expansion slot (and taped it inside the case so I wouldn’t lose it), so here you can see the final result from the rear:

I think it looks quite clean, and since it’s recessed inside the case, it’s not immediately obvious that it’s even in there. The SD card sticks out a bit but doesn’t clear the case, so there’s little risk of accidentally bumping it.

That’s it for now, stay tuned for Part VII, where we finally turn to the software-side of restoring this machine.

/jon

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

My Mac SE/30 Part V: New ROM, New RAM

In Part IV of this series I laid out some of my plans for upgrading the vintage Macintosh SE/30 I’ve been restoring.

I’d ordered a new GGLABS MACSIMM ROM replacement, to raise the system’s max RAM from 8MB to potentially 128MB. I’d also ordered 64MB of RAM, because as far as I knew only half the slots in my machine were functional, and I didn’t want to waste the money until I’d tested it out.

Installing the MACSIMM

Installing the MACSIMM is as easy as swapping RAM: gently unlock the clips that hold the original ROM SIMM in place to pop it out, then pop in the replacement. Here’s the original ROM SIMM:

Here’s the new MACSIMM:

And here’s it is installed in the SE/30’s motherboard:

The next order of business was to verify that the new SIMM worked. So I put everything back together and tried booting up the machine.

It didn’t work.

Instead of a pleasant chime and a Happy Mac, the machine made an awful sound and the display was staticky, snowy mess, commonly referred to as a “simasimac”. In my complete panic I didn’t think to take photos, but here’s some examples. This was the first time I’d started the machine since taking it apart and cleaning it, so it while it could have been a problem the MACSIMM, I couldn’t be sure.

I took everything back apart, reinstalled the original ROM, put it all back together, and was ecstatic that the machine came right back to life. So it was a problem with the MACSIMM, but what? I redid the whole process, and again, simasimac.

After some more research, I discovered in the installation guide for the Mac ROM-inator II (the competitor ROM that I didn’t buy) that there’s an extra hiccup when replacing the ROM on a SE/30. While the SIMMs are electrically compatible across a variety of classic mac models, the SE/30’s ROM board just happens to be physically thicker than normal. So the thinner replacement board doesn’t always make good electrical contact with the slot on the motherboard.

The solution, it turns out, is to ensure good contact by applying pressure to the back of the SIMM (the side without the chips). Since the SIMM is on the edge of the motherboard it’s still accessible even when installed, so I reached in, pressed as specified, then powered up.

It worked! Rather than the standard compact mac monotone startup sound, I was greeted by the II-era chime of my childhood.

Now, obviously leaving the case off and holding the ROM SIMM in place isn’t a long term solution, so time to find some other way to make sure it stays in place. Some users have 3D-printed special brackets to hold the SIMM, but I went with the simpler rubber-band approach:

It looks silly, but having rubber bands pull the SIMM in place is a common fix for this problem, and it works perfectly.

Upgrading the RAM

With the new ROM installed and tested, the next step was to upgrade the RAM. As I said before, I’d been lucky enough to find a good deal on four 16MB sticks, allowing me to bump this machine from its current 4MB to 64MB of RAM. Now in theory, if all of the RAM slots are actually working on this machine, I should be able to put in all the RAM I have and end up with 68MB.

Since older machines (especially the SE/30) can be picky about the order that RAM is installed, I decided my first test would be to install all 68MB of RAM with the new larger sticks in the known good slots and the old smaller sticks in the potentially bad slots.

First I popped out the old 4MB of RAM:

Here’s the new 16MB RAM SIMMs:

And together, here’s all 68MB installed:

Unfortunately it didn’t work. The machine booted to a Sad Mac image with an error code, complaining about the RAM. I tried different combinations of SIMMs, taking some out, putting them in different orders, but it didn’t help.

In the end, it seems the seller was right, there’s something wrong with four of the RAM slots. Rather than attempt a potentially tedious debugging and repair process right away, and glad that I hadn’t wasted the money on a full 128MB of RAM, I settled on just the straight 64MB:

As expected, with the broken slots left unpopulated, the machine booted straight away, confirming my upgrade to 64MB was a success:

As you can see, even though System 6 can only use 8MB of RAM, it still recognizes that there’s 64MB installed in the machine. It just makes it unavailable to running applications by claiming that the system is already using it.

Next Steps

With the new ROM, I’ve made the first of two planned upgrades to this machine. The only other upgrade I plan to make is to replace the dead hard drive with the SCSI2SD. Other than that, it is still my intent to restore everything else (case, CRT, floppy, etc.) to original specs, with the goal to make this machine look and operate like a brand new SE/30 from 1989.

Well, okay, except for this:

I mean, it’s just the power cable right? Who says I can’t have a green power cable?

Stay tuned for Part VI, where I replace the hard drive with the SCSI2SD.

/jon

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

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 GGLABS 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 GGLABS 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.