My Mac SE/30 Part IX: System 7.5 Boot Floppy

In Part VIII of this series, I finished prepping a 2 GB SD card for the SCSI2SD that will serve as the primary disk for my vintage Macintosh SE/30. Now it’s time to get that disk formatted and a working system installed, but to do so I’ll need to create a boot floppy first.

As a quick recap, at this point I have a Macintosh SE/30 with a working floppy drive. I’ve installed 64 MB of RAM along with a GGLABS MACSIMM ROM replacement. I’m using the aforementioned SCSI2SD to simulate a single 1.75 GB hard drive, on which I intend to install System 7.5.5.

Formatting plan

The first thing I want to do is format that 1.75 GB drive with an HFS filesystem. The usual process is to boot from a floppy and use either the Apple HD SC Setup (for System 6) or Drive Setup (for System 7) program to format the drive. However, I’ve found that those programs don’t work well with the SCSI2SD. They don’t recognize the non-Apple drive by default, and even if you get a “patched” version which does, the resulting disk will have data corruption problems.

The solution is to use the third-party disk formatter Lido 7.5.6. It works perfectly fine with the SCSI2SD, however it doesn’t come preinstalled on a bootable floppy. So the actual first thing I need to do is to make a bootable floppy.

Creating the boot floppy

While there are many methods for doing this, I decided that since I’m planning on installing 7.5.5, that I wanted a 7.5.5 boot floppy. However by this time system CDs were becoming the norm, so the closest I could find was Apple’s System 7.5 Network Access Disk.

It’s provided as a disk image stored in a MacBinary-encoded self-extracting archive, so the first step is to download it onto a working classic mac and extract the disk image with Stuffit Expander. Then you can use the Disk Copy program to write the extracted “Network Access.image” file to a real floppy.

This is where having a bridge machine, like the Power Macintosh 8600/200 I previously restored, comes in handy. I could have easily done the whole process, from download to physical floppy, right there. But let’s assume for a moment that you don’t have a bridge machine, is it still possible to create a vintage mac boot floppy? Yes!

Note: Okay, technically, if your vintage mac only accepts 400/800k disks, then the answer is no. You’ll need a real, already working vintage mac to write one of these older floppies.

What you’ll need to do is create a bridge machine in emulation, with something like Mini vMac. To be honest, I use Mini vMac as a bridge machine way more often than I use my PowerMac. Other than the lack of networking and CDs, it covers most of my needs quite well.

Now, I’m not going to detail how to get Mini vMac set up. There are already plenty of tutorials out there for that and it’s worthwhile to get comfortable with the program before continuing. What I’ve got set up is a Macintosh II running System 7.5.5 with Stuffit Expander and Disk Copy (as above), along with the apps ImportFI and ExportFI to get files into and out of the emulator.

Creating a raw DSK image file

Without access to a real mac floppy drive, what we want is a raw DSK image of the Network Access disk. That is, we want a file with a 1-to-1 copy of the bits of that bootable floppy, without any extraneous headers or metadata. To start, we’ll need to use Mini vMac to get the Disk Copy image out of the archive:

  1. Download the Network_Access_Disk_7.5.sea.bin archive to your PC.
  2. Use ImportFI to import the archive file into Mini vMac.
  3. Use Stuffit Expander within Mini vMac to extract the archive’s contents.
  4. Use ExportFI to export the “Network Access.image” file out of Mini vMac back to your PC.

Now, the file we’ve exported is almost what we need. It’s a Disk Copy 4.2 image with all of the data we want, but it’s still wrapped up in some metadata we don’t. To strip that metadata we’re going to use a tool called Convert2Dsk.

Convert2Dsk is a small command-line tool I wrote to convert Disk Copy 4.2 images into raw DSK images on modern PCs. It works on Windows, OSX, and Linux, can even handle image files that are BinHex (.hqx) or MacBinary (.bin) encoded. Simply pass it an image file (or folder of image files) and it’ll convert them into DSK files.

On Windows, it’s as simple as dragging the “Network Access.image” file onto convert2dsk.exe, which will then create the “Network Access.image.dsk” file we want.

Writing the raw DSK image to a floppy

Now that we have a raw DSK image, it’s time to write that file to a floppy disk. Obviously that means you’ll need a floppy drive and at least one 1.4 MB floppy disk. You can get an external USB floppy drive on eBay, though a pro-tip is to avoid the new stuff from China, and instead pick up an older used drive made by one of the big PC manufacturers. They may cost a little more but they’re of higher quality and less likely to give you problems. I bought an old Dell floppy drive for $20 and it works perfectly.

Software-wise, you’re going to need a program to read and write the disk images, and I use dd (for Windows). It’s a powerful command-line utility for utility (also on OSX and Linux) for reading and writing directly to a drive by sectors. So from a command-prompt I’ll call dd.exe like so:

dd.exe if=<image file> od=<floppy drive letter> --progress

Which, with the file we created earlier, and my USB floppy registered as the A: drive, looks like:

dd.exe if="Network Access.image.dsk" od=a: --progress

Running with a floppy inserted will overwrite its entire contents with the contents of the DSK file. If you see “80+0 records in” and “80+0 records out”, then the write worked and the floppy is ready to use. Pop the disk into the SE/30, flip the switch, and… it doesn’t boot.

Fixing a 7.5 disk to boot a SE/30 with an upgraded ROM

It turns out that the combination of a SE/30 with the MACSIMM ROM replacement (which is based on the IIsi ROM) isn’t recognized by System 7.5 and above as a valid Macintosh computer. Thankfully this problem can be solved by making a minor patch to the system files, as detailed in this post: Mac SE/30 with Upgraded ROM.

However, I found that post to be a little overzealous in its instructions. Their goal is to setup a machine with each and every system version, using a tool called System Picker to let you switch between them. While it works, it’s a tedious process, and as I’ve stated, I only want System 7.5.5. So, simplifying their steps, here’s what I did in Mini vMac:

  1. Mount the raw DSK image as a floppy “Network Access.image.dsk” in Mini vMac.
  2. Use ResEdit to open the “System” file in the “System Folder” on the disk.
    1. Open the “gusd” resource.
    2. Open “ID 1”.
    3. Go to the 4th line (offset 000018) and change the end from 03 to 05. That is, the line should have changed from 0008 0003 0009 0003 to 0008 0003 0009 0005 as per below:
Modifying the System file in ResEdit
Modifying the System file in ResEdit
  1. Save and close the file.
  2. Eject the disk from Mini vMac.

Now if you write the modified disk image to a floppy using dd (as above), it should be bootable on the upgraded SE/30.

So that’s it, that’s how to create a System 7.5 boot floppy that will work on an SE/30 with an upgraded ROM. Stay tuned for Part X, where we’ll finally switch to the SE/30 and start setting up its disk drive.

/jon

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

My Mac SE/30 Part VIII: SCSI2SD Setup #2

In Part VII of this series, I planned out the configuration for the SCSI2SD I’ve installed in my vintage Macintosh SE/30. Now it’s time to actually set everything up.

As described in my last post, I plan to divide up a 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 1HFS67,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)

Creating the FAT partition

The first step is to create the 32 MB partition at the start of the card. Usually SD cards come with an existing file system, so the first thing we need to do is remove it. On Windows 10 you can launch the Disk Management control panel by bringing up the Start menu, typing “disk management” and selecting Create and format hard disk partitions.

Disk Management - New 2GB SD Card
Disk Management – New 2 GB SD Card

On my PC, the card is mounting as the F: drive, and you can see it already has an existing FAT file system that spans the entire card. The first task is to delete that file system. This is as simple as right-clicking on that F: drive at the bottom of the window and selecting Delete Volume….

You’ll be prompted that this will delete everything – go ahead and click Yes. Afterwards it should look something like this:

Disk Management – Unallocated 2 GB SD Card

Now we want to add our new 32 MB FAT file system. Right-click on the unallocated space for F:, select New Simple Volume…, then click Next >. Here’s where you’ll set the size to 32 MB:

New Simple Volume Wizard – Specifying Volume Size

After clicking Next > again, you’ll be prompted to pick the new drive letter. It’s annoying that you can’t keep using F: here, but don’t worry, you can change it later if you really want to. On my computer it picked K:. I just took a note of the new drive letter and clicked Next > again. Here’s where you’ll be prompted to pick the type of file system and give the volume a name.

As per my table above, I’ve picked FAT and set the label to “SCSI2SD”:

New Simple Volume Wizard – Specifying File System and Label

Click Next > and then Finish to create the new partition. Afterwards, Disk Management looked like this:

Disk Management – New 32 MB FAT Partition

Perfect! I now have my 32 MB FAT partition and an approximate 1.84 GB of unallocated space for SCSI2SD to use. More importantly: I have the peace of mind that I can insert this card into any computer without risking an accidental format which corrupts my vintage mac data.

Configuring the SCSI2SD

The next step is to configure the SCSI2SD, which means we’re done with the Disk Management tool and can return the SD card to the SCSI2SD. Then we’ll need to go and download the latest scsi2sd-util6 and (if you’re out of date) the latest firmware file for your model.

There’s a quick start guide (at the link above) that details installing the PC driver, connecting your PC to the SCSI2SD via a USB cable, and flashing the latest firmware file. Once you’ve done all that, it’s time to use the scsi2sd-util6.exe tool to configure the SCSI2SD.

For my model SCSI2SD (a 2020 V6), installed in my SE/30, this is how I configure the General Settings tab:

scsi2sd-util6 – General Settings

Next it’s time to set up the virtual SCSI devices. I select the Device 1 tab and configure it accordingly:

scsi2sd-util6 – Device 1

Now, you might be asking, “Why am I setting up the 32 MB FAT partition” as a SCSI device? Will the classic mac be able to use it?

Unfortunately, no. While various vintage mac utilities will see that the device exists, they won’t be able to access any files on it. However, the SCSI2SD V6 has an interesting feature, where, when you plug it into your PC with the USB cable, it will try to expose the SCSI devices to the computer as USB drives. So by setting this virtual device up, the 32 MB FAT drive appears on my PC and files can be managed directly without having to to remove the card. It’s not strictly necessary, but it is a nice bonus perk.

Anyway, on to the Device 2 tab, where again I set the values according to the table above:

scsi2sd-util6 – Device 2

You’ll notice that I haven’t done anything to “spoof” a particular drive by modifying the values for Vendor, Product ID, etc. Other guides often recommend using particular settings here, so that you can use the official Apple tools to format the new drive. The official tools only support specific drive models, and so must be tricked into thinking that’s what’s connected.

However, after much painful experimentation, I’ve found that neither Apple HD SC Setup (for System 6) nor Drive Setup (for System 7) works properly for this, even if you trick it into running. The newly setup drive will report its capacity incorrectly and suffer from constant data corruption and loss. I tried many times and was never even able to install a fresh system onto it.

In the end, I found that the only working way to set up the mac drive was to use the 3rd-party formatting tool Lido, which has no restrictions on what drives it can format, and works flawlessly.

But I’m getting ahead of myself. After setting this all up, the next step is to save it to the device, by selecting File > Save to device. I’ve also found it prudent save a backup of this configuration to my PC by doing File > Save to file… and naming it scsi2sd.xml. After that you’re ready to (safely) eject and disconnect the USB cable. Now the SCSI2D is ready to be used on my SE/30.

Some finishing touches

But before we switch to the SE/30, I have a couple more “quality of life” tricks I’d like to share, revolving around the card’s little FAT partition. I’ve curiously described as for “Backup Utils” and that’s what I use it for: backing up copies of all PC-side files I used to set up the device.

So, reinserting the card back into my PC, my drive now looks something like this:

SCSI2SD 32 MB FAT Drive Contents

You can see copies of the scsi2sd-util6 tools, the latest firmware, the quick start guide PDF, and the configuration backup scsi2sd.xml we just created. But there’s also two other files: dd.exe and manage.cmd.

If you’re familiar with common Unix utilities, dd.exe is just dd for Windows. It’s a small but powerful utility for reading and writing directly to a drive by sectors, making it very useful tool for creating and restoring backups as disk images.

The other file, manage.cmd, is something I whipped up myself. It’s a small script which makes it easier to use dd.exe to backup and restore the SCSI2SD virtual devices as individual image files.

Launching it provides this menu:

manage.cmd Menu

This is part of the reason why I saved my SCSI2SD config as the file scsi2sd.xml. Manage.cmd reads this file to determine which sector ranges on the disk correspond to virtual devices. This is also why I explicitly added the FAT partition as a device in the SCSI2SD config – so this script would be able to see it.

Now typing “1” and pressing enter, the script will prompt me, for each virtual drive, where to save a backup disk image. Then it will invoke dd.exe with the proper arguments to save off the image files:

manage.cmd Backup

To restore those image files, it’s as simple as entering “2” at the menu, and you’ll be walked through the reverse – prompting for the image files you wish to write back to the SD card. It’s not the most sophisticated system, and still doesn’t give me direct access to files within those images, but it’s a little nicer than having to run dd.exe by hand.

Note: The manage.cmd script expects to be run from the actual SCSI2SD SD card, as it uses that location to determine which disk to read and write from. If you use it, make sure that you also keep a backup copy of your scsi2sd.xml file in a place other than the actual SD card.

Well, that’s it for this post. Stay tuned for Part IX, where we’ll get back onto the SE/30 and start setting up a working system!

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