bigmessowires
Well-known member
In another thread, I was lamenting the lack of good cross-platform tools for working with HFS Macintosh disk images. Thanks to @NJRoadfan for pointing me to CiderPress 2, which is currently in 'alpha' development but is already very capable. The original CiderPress only handled Apple II disk images, and I hadn't realized CP2 was adding support for Mac formats. If you haven't tried it yet, CP2 is definitely worth checking out.
The software runs on Windows, Mac, and Linux. At the moment it's primarily a text-based command line program. There's a work-in-progress version of a Windows GUI, with more GUIs planned eventually. I warmed up to the idea of structuring the program this way, because in theory anybody could write a GUI wrapper around the command line program that's tailored for specific purposes. There are a ton of features in CP2, so for example I could imagine a Mac-focused GUI that hides all the Apple II functions for simplicity's sake.
For alpha software, the documentation is good. Here are the installation instructions, and the manual. Installation on a modern Mac was a little bit rough, and required a command to manually remove the quarantine attribute from the downloaded files, but after that it was mostly smooth sailing.
cp2 catalog System7Tools.dsk
Will print a nicely-formatted list of the contents of the disk image.
Earlier I had proposed making a tool to "explode" an HFS disk image and export all its files to the host filesystem. Ciderpress 2 has that covered:
cp2 extract System7Tools.dsk
Will extract everything from the disk as-is, with no fancy business. Resource forks will be ignored.
cp2 extract --preserve=adf System7Tools.dsk
Will extract everything using Apple Double format to preserve resource forks and filesystem metadata.
cp2 extract System7Tools.dsk:Fonts
Will extract everything from the Fonts directory in the disk image
cp2 extract System7Tools.dsk:Fonts:Chicago
Will extract just the Chicago font.
cp2 add System7Tools.dsk:Fonts ComicSans.as
Will add the ComicSans font (which is stored in Apple Single format) to the Font directory in the disk image
There's a lot more that the program can do! But if you're mainly interested in getting files in and out of a disk image, that's all you really need to know.
The only problem I found was with creating new Mac disk images. In theory you should be able to create a new 800K floppy-sized Mac-formatted disk image with:
cp2 create-disk-image testdisk.dsk 800K hfs
But this gives an error complaining that (.dsk) is ambiguous or not supported. The manual explains that .dsk is "ambiguously ordered", which I think refers to DOS3.3 or ProDOS ordering, which isn't relevant to a Mac disk. I didn't find any command line option to explicitly specify the ordering. I also tried:
cp2 create-disk-image testdisk.img 800K hfs
This gives an error complaining that images of this size "must use ProDOS block order". Hmm, tell me again why ProDOS is relevant to my Mac disk?
cp2 create-disk-image testdisk.hdv 800K hfs
Works as expected and produces a formatted but empty disk image that can be mounted with Mini vMac. After creating the image, you can rename it to *.dsk instead of *.hdv if you wish, as this business about ambiguous block ordering only seems to apply to disk image creation. I suspect this is just a minor oversight and could be addressed with a few lines changed in CP2's code, so it's not a big deal.
For Macintosh disk images, CP2 currently supports raw "unadorned" disk images with an extension of .dsk, .img, or .image, or Disk Copy 4.2 images. I think it also supports partitioned device images with an embedded Apple Partition Map, like the images used with Zulu SCSI and Blue SCSI, but it wasn't clear to me from the documentation and I haven't tried it. Neat! I'm looking forward to seeing this tool evolve.
The software runs on Windows, Mac, and Linux. At the moment it's primarily a text-based command line program. There's a work-in-progress version of a Windows GUI, with more GUIs planned eventually. I warmed up to the idea of structuring the program this way, because in theory anybody could write a GUI wrapper around the command line program that's tailored for specific purposes. There are a ton of features in CP2, so for example I could imagine a Mac-focused GUI that hides all the Apple II functions for simplicity's sake.
For alpha software, the documentation is good. Here are the installation instructions, and the manual. Installation on a modern Mac was a little bit rough, and required a command to manually remove the quarantine attribute from the downloaded files, but after that it was mostly smooth sailing.
cp2 catalog System7Tools.dsk
Will print a nicely-formatted list of the contents of the disk image.
Earlier I had proposed making a tool to "explode" an HFS disk image and export all its files to the host filesystem. Ciderpress 2 has that covered:
cp2 extract System7Tools.dsk
Will extract everything from the disk as-is, with no fancy business. Resource forks will be ignored.
cp2 extract --preserve=adf System7Tools.dsk
Will extract everything using Apple Double format to preserve resource forks and filesystem metadata.
cp2 extract System7Tools.dsk:Fonts
Will extract everything from the Fonts directory in the disk image
cp2 extract System7Tools.dsk:Fonts:Chicago
Will extract just the Chicago font.
cp2 add System7Tools.dsk:Fonts ComicSans.as
Will add the ComicSans font (which is stored in Apple Single format) to the Font directory in the disk image
There's a lot more that the program can do! But if you're mainly interested in getting files in and out of a disk image, that's all you really need to know.
The only problem I found was with creating new Mac disk images. In theory you should be able to create a new 800K floppy-sized Mac-formatted disk image with:
cp2 create-disk-image testdisk.dsk 800K hfs
But this gives an error complaining that (.dsk) is ambiguous or not supported. The manual explains that .dsk is "ambiguously ordered", which I think refers to DOS3.3 or ProDOS ordering, which isn't relevant to a Mac disk. I didn't find any command line option to explicitly specify the ordering. I also tried:
cp2 create-disk-image testdisk.img 800K hfs
This gives an error complaining that images of this size "must use ProDOS block order". Hmm, tell me again why ProDOS is relevant to my Mac disk?
cp2 create-disk-image testdisk.hdv 800K hfs
Works as expected and produces a formatted but empty disk image that can be mounted with Mini vMac. After creating the image, you can rename it to *.dsk instead of *.hdv if you wish, as this business about ambiguous block ordering only seems to apply to disk image creation. I suspect this is just a minor oversight and could be addressed with a few lines changed in CP2's code, so it's not a big deal.
For Macintosh disk images, CP2 currently supports raw "unadorned" disk images with an extension of .dsk, .img, or .image, or Disk Copy 4.2 images. I think it also supports partitioned device images with an embedded Apple Partition Map, like the images used with Zulu SCSI and Blue SCSI, but it wasn't clear to me from the documentation and I haven't tried it. Neat! I'm looking forward to seeing this tool evolve.