I said I'd try and provide my little Apple Partition Map tool for editing Partition entries. So, here it is (ApmTool.c). I compiled it on my Raspberry PI 3+ using: gcc -Os ApmTool.c -o ApmTool.
I first copied the entire 750MB hard disk using dd from the Pi's command line, by plugging it into an USB - IDE enclosure.
The drive auto-mounted on the PI, I guess some form of HFS Utils is supported. I unmounted it, and then did something like:
dd of=Pb1400Hd750.img if=/dev/sda1
I think I chose the root drive, rather than /dev/sda1s1.
After a while I had the image of the drive. Then I could use ApmTool to inspect the image with commands like:
./ApmTool Pb1400Hd750.img 0
To get the "ER" boot sector, which tells you the whole size of the drive.
./ApmTool Pb1400Hd750.img 1
To get the first "PM" sector, which, I think is the partition for all the partitions (it goes up to sector 63). Although I quote the same image from here, in fact I copied the APM partition map to another .img file using dd so that I didn't wreck my original .img.
Then
./ApmTool Pb1400Hd750.img 2
etc up to ./ApmToolPb1400Hd750.img 5, which are various drivers (some of them said they were written in 68000 code).
./ApmToolPb1400Hd750.img 6 was the actual HFS partition (that's the one that will come up with HfsUtils).
./ApmToolPb1400Hd750.img 7 was a small 10 sector empty partition.
So, the first thing I did was to add a function to make the 7th partition another 750Mb partition:
./ApmToolPB1400Hd750.img 6 7 0
So, this copies the partition information from partition 6 to partition 7; but leaves the start sector of partition 7 as it was. It also updates the whole size of the drive in the iPartitions field in the "ER" boot sector by subtracting the old size of partition 7 (10 sectors) and then adding the new size of partition 7.
I had also checked that ./ApmTool Pb1400Hd750.img 8 etc were in fact empty partitions; and that they were part of the first partition's partition. So, then I could add partitions. So, I wrote a partition cloning feature so I could do:
./ApmToolPB1400Hd750.img 7 8 2
./ApmToolPB1400Hd750.img 8 9 2
./ApmToolPB1400Hd750.img 9 10 2
Function '2' generates a clone of the previous partition, and makes it start at the sector after the last sector of the previous partition. APM partitions don't have to be aligned on any kind of power of 2 (but they do have to be aligned on the block size for the partition, which is why I didn't add arbitrary partitions as I wasn't prepared to work out how to do that).
And that's where I stopped, because I only wanted to use up half the SD card.
So, the way you'd use it on a real drive, or an SD card would be to copy the beginning of the SD card (or CF card) up to the end of the APM partitions (usually 64 sectors) to a .img file; then update the .img file as you see fit and when you're happy with it; copy it back again using dd. Again, that means you're less likely to wreck the original image, because you're just working with a copy.
ApmTool does things that I couldn't see were obvious from HfsUtils, nor Disk First Aid, and certainly not the Mac OS X DiskUtil program. Importantly, it can add partitions without having to erase anything. It's crude, but it'll do what I needed.
Finally, when I had created the partitions; I put the SD card (using an SD to IDE adapter and then to the IDE to USB adapter) into my iBook running Mac OS 10.2 (Jagwire ;-) ) and then used DiskUtil to format each new partition as HFS Standard (not Extended).
In the future I hope to put Mac OS 8.1 on Partition '7'; then I think I can group the other partitions as a single HFS+ partition. It'll still give me about 600MB of space for HFS data and over 3GB of HFS+ space.
This tool would fix the problem that Mr Action Retro had when trying to re partition his CF card:
Hope this is helpful.
-cheers from Julz