• Published on | May 08, 2014 | by FozzTexx

Recovering long lost Mac files with an Apple II

 
A few months into my graphics class in high school, a couple of brand new Mac SE computers showed up, along with a LaserWriter printer. I had a great time discovering what they could do, and I felt right at home since the Apple IIgs I had been using at home for the previous year had a very Mac-like OS. Most of the files I created I made sure to keep on a couple of floppy disks. Since it was a graphics class, the things I created were generally drawings, although there were a few HyperCard stacks too.
 
Some time in college I was using a Mac to copy files back & forth from my Mac floppies and ProDOS floppies. At that time the Mac OS couldn’t read ProDOS floppies directly, you had to use a special program to do it. The Mac I was using only had a single drive and I was ejecting floppies back and forth while moving data. Before I knew it though, I had managed to corrupt one of my Mac floppies by accidentally overwriting it with the ProDOS directory blocks. I figured most of my Mac data was still there, but I had no way to recover the data. I quickly write protected the Mac disks to prevent any more accidental damage and put them aside to try to figure out how to fix them later.
 
Fast forward 20 years and I start wondering if I might finally be able to recover some of the files. I’ve been working with so much retro stuff lately that I’ve gotten quite good at converting physical floppies into disk image files and working with the raw data. I was thinking that if I could get a dump of the entire disk, I might be able to go through it block by block and find the files and extract them.
 
To make copies of the disks I used ADTPro on the IIgs (yep, the same one from when I was a kid). ADTPro didn’t care how the disks were formatted, it just reads every single sector and sends it over the wire to another computer. The Mac and the Apple II used the same GCR scheme for designating tracks and sectors on the floppies. ADTPro had no problem with sending the data from the corrupted Mac floppy that had some ProDOS blocks on it.
 
With the floppies copied, the next thing to do was to learn how HFS stores directory listings and files. My first couple of searches just led me to Wikipedia which surprisingly got into some of the details about how HFS blocks were arranged on the floppy. To my surprise it turns out there’s a backup Master Directory Block at the end of the disk! I checked my image and sure enough, it was still there intact. A quick bit of editing in emacs, and I had copied the AMDB from the end of the disk and replaced the ProDOS directory block. 
 
OSX was now happy to mount the image, and all of my files appeared to still be there! It didn’t seem to know what types all the files were though, so I fired up Basilisk II and mounted the image there. Not only did it work, it had the proper icons on all the files, and I was able to use it to copy all the files off and into a normal directory. Of course I had long forgotten the software I had done all my drawing in, but after getting the type/creator from the files and a quick Google, I found out it was SuperPaint.
 
I was able to download SuperPaint and install it under Basilisk. Surprisingly every single file was undamaged and I was able to load them. With my files intact, I really wanted to convert them so I could use them again. There’s no OSX software that I could find that would load SuperPaint draw files, and SuperPaint doesn’t have any kind of export. The next best solution seemed to be to use PrintToPDF on Basilisk and have SuperPaint print everything so that I could preserve all the vector artwork. That worked great and I can now essentially load my old SuperPaint files in Illustrator!
 

Commenting disabled for spambots