Mac OS X

Bouncing Files From Classic Macs To Ventura

I recently had two or three different projects that involved taking files from classic Apple computers and getting them up to modern Apple hardware; notably to my MacBook that runs Ventura. A few things make this a challenge. Let’s start with the file system on disks:

  • Apple II and Apple III: Classic Macs could read ProDOS volumes. That part is useful for getting files to go from Apple II and Apple III to a classic Macintosh operating system via sneaker net. Those computers didn’t have hard drives as we think of them today (they mostly used the old Shugart floppy enclosures – which later kinda’ evolved into Seagate after Al’s shenanigans selling the company with his name and needing to pick a new name). The ports for the floppy drives themselves can be adapted to work on later models, including the Mac.
  • Macintosh File System was introduced for early Macs and supported throughout Macintosh System 7 as a read-only volume, but stopped working in Macintosh System 8. Thus a floppy can’t be formatted and read by a modern-ish computer.
  • HFS as created in 1985 for System 2.1 but support was dropped to write to volumes in 10.6 and read from volumes in 10.15. Mac OS X could read floppies but would try to format them as HFS not HFS Plus, up to 10.5.
  • HFS Plus was created in 1998 and became the default for Mac OS X until APFS. This became the default format to format floppies in 10.6.

If a volume (usually a floppy) has an HFS filesystem then it can be mounted on some Macs without much fanfare, but not the latest. There is a collection of hfs tools that can be used to mount HFS on a Mac from Bob Leslie, at https://www.mars.org/home/rob/proj/hfs/. These can easily be installed through homebrew if that’s on a computer:

brew install hfsutils

From there, a drive can be mounted using the hmount command:

sudo hmount /dev/disknumber

If you don’t know the /dev/disknumber, run hdiutil and check the bottom section – look for the new one to appear when you insert the floppy by re-running the command:

hdiutil

The output looks as follows (ymmv with disks):

Once the volume is mounted, files can be copied around fairly easily. Now, if the disk is formatted as Macintosh File System (MFS), there might be a more challenging attempt to recover data. For this, it might be possible to format a disk as HFS if the machine is new enough, but floppies were usually formatted as MFS automatically up until System 7. I tried to get some of the virtual Macs online to read these, but the ones in browsers couldn’t and the ones like SheepShaver and Basilisk didn’t seem to like Ventura. So off we go to figure out new ways to access MFS. One way was through a machine that was early enough to have MFS support but late enough, provided there was an Ethernet or AAUI port, to access the Apple TCP/IP control panel. Macintosh System 7.5.3 turned out to be perfect.

Another thing to keep in mind is the density of disks. Macs could format 400k floppies until 7.1 and 800k and 1.4MB from System 3 until the end of the OS 9 era.

Note: One problem: B Trees. Some of these old disks have corruption. So Disk Warrior 1, released in 1998, is a perfect companion. I could only make this work on a PowerBook 530 I had sitting around so that’s where I recovered data. Before I recovered data I used a write blocker on a modern Mac and made an iso of the raw contents of the drive – just to be safe. For more on https://krypted.com/mac-os-x/create-disk-images-of-floppy-cd-dvd-or-disk-storage-to-recover-data-on-a-mac/

Getting Ethernet can be done via an Asante, a transceiver from Sonic Systems, or a number of different ways according to the model of Mac. Below are two ways I was able to achieve this: the first was a transceiver and the second a PowerMac 7200, which has built-in Ethernet.

The 7200 worked better. The TCP/IP Control Panel probably looks similar to anyone who’s used a static IP in a modern system. My DHCP server didn’t assign an address dynamically so I had to do so manually (the Control Panels were under the Apple menu, much as System Preferences and then System Settings are today).

There’s also a Sharing Control Panel where a username and password can be created and other machines can then mount the shared volume. One hitch: AFP. Apple Filing Protocol was the standard way to share files for Apple products for OS 9 and earlier – it also became TCP aware and wasn’t just a broadcast protocol. However, Apple began to phase it out in macOS 11 (although it stopped being the default a couple versions earlier). Therefore, we need one more computer – in my case I had an iMac running 10.2 that I could run Samba on (SMB is the File Sharing for Windows option).

It’s also worth mentioning that a Mac running 7.5.3 should also be able to write to a PC DOS floppy. So if there’s a USB floppy sitting around, there’s a chance that you could save files to the drive (keep in mind saving to the desktop is just what amounts to a symlink so drag files to the actual hard drive), write a new floppy running PC DOS, copy to it, and try to access it with different modern Macs, which I’ve tested as late as 10.11.

Ultimately, my hope was to virtualize each version of the Mac I needed and use .iso files to shuttle them between where I needed them to be, but there was one more issue – what’s in the files. UTF-8 became the default character encoding scheme in Mac OS X. Before that, all the files I have seen used Mac OS Roman, which began use in System 6 (in the US at least) and a new version in 8.5. While the modern Mac mostly reads this, some characters still get mangled and can even trick an app or text editor into reading an EOF and so truncating the end of the file where that character was encountered. So at each step I copied the contents of files to a modern version of the file for that stop along the way to mitigate encoding issues, which worked much better.

Next project: From the Amiga 500A and Apple II to a modern Mac…