• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

sharing disk images between ZuluSCSI/BlueSCSI and modern Mac

bigmessowires

Well-known member
Is there a disk image file format for HFS+ that works for both ZuluSCSI/BlueSCSI (attached to a G4 Quicksilver with SCSI card) and for a modern Mac (Ventura 13.4 in my case)? Or a simple way to convert between supported formats?

ZuluSCSI supports .hda and .img images, although I'm not sure exactly what format specifications are implied by those extensions, or if they're just the same thing with a different extension. The modern Mac supports .dmg images. It refuses to open .hda or .img images, and simply changing the filename extension doesn't work. Meanwhile ZuluSCSI won't open .dmg images. The Disk Jockey utility program won't read .dmg images either, and does not seem to understand HFS+ but only HFS volumes.

It's frustrating because the modern Mac can definitely handle HFS+ volumes, which should allow for easy interoperability with the old G4. And it works nicely when an entire SD card is formatted as a partitioned disk device, containing an HFS+ partition, as with SCSI2SD or an IDE-to-SD adapter. But when that exact same data is stored in an .hda image file instead, as with ZuluSCSI and BlueSCSI, the modern Mac doesn't seem to know what to do with it.

Basically I'm looking for an easy way to create an HFS+ disk on an SD card that's usable by Zulu SCSI and can also be mounted/edited on a modern Mac with an SD card reader.

I've seen hints that it's possible to configure Zulu SCSI in passthrough mode, where it essentially operates like SCSI2SD and uses the whole SD card at a raw level, which might be one solution. But I'm not sure how to enable that or how to configure the SCSI ID in that configuration.
 

olePigeon

Well-known member
I think the .IMG file is a raw image format created by programs like WinImage. It's not the Disk Copy 6 kind. You should be able to mount them using a modern Mac. My M1 Pro running macOS 13 will mount them just fine if it's a file system it can read; which will be an issue if you're trying to read an HFS+ formatted disk image (should work fine in an emulator, though.)

For vintage Macs, one program that works well is Adaptec Toast. It can mount raw .IMG files. There may be others, but that's the only one I know of. I just tested it, and I was able to mount a 360K 5.25" DOS formatted PC .IMG file using Toast 4.1.3 on System 7.1 Pro, then reformatted it to HFS. I guess theoretically I could write it back to a 360K 5.25" disk. Not sure how I'd read it on a Mac. :)

So if you find a large .IMG file, you can then mount it with Toast on a MacOS 8+ machine and format it to HFS+.
 

zigzagjoe

Well-known member
.hda and .img in a scsi emulator context are generally raw disk image files with no additional structure. An entire hard drive read out into a file complete with partition map. You should be able to mount such a raw image using hdiutil on the command line on mac. Or, on linux, using a loop device.

For raw passthrough mode, I believe it's the default behavior. IIRC you need to blow away the FAT formatting & MBR then it will expose the entire SD directly.
 

olePigeon

Well-known member
@Phipli That was the first thing I tried, but it wouldn't mount the .IMG file I had downloaded (360K 5.25" DOS formatted ... it was the first one I found.) Do they have a specific Type and Creator? Mine was autofilled by either macOS or the emulator, and Shrinkwrap complained that it was corrupt.

Toast mounted it perfectly.

Edit: Maybe Shrinkwrap just doesn't know what to do with a 360K image.
Edit edit: Nope, won't mount a 1.4MB image, either.
 

bigmessowires

Well-known member
Sorry, I think this was user error. I believe that it does work to simply rename the .hda as .img. My problem was that I tried this with an .hda file containing an HFS volume, which isn't supported under recent versions of MacOS. But with an HFS+ volume (I assume that's what "Mac OS Extended" is), it seems to work OK.

My M1 Pro running macOS 13 will mount them just fine if it's a file system it can read; which will be an issue if you're trying to read an HFS+ formatted disk image
Did you mean "won't be an issue"? As far as I can tell HFS+ works OK. Disk Utility calls this "Mac OS Extended" so maybe I'm wrong about what HFS+ actually is.

.hda and .img in a scsi emulator context are generally raw disk image files with no additional structure. An entire hard drive read out into a file complete with partition map.
Thanks, that makes sense.

For raw passthrough mode, I believe it's the default behavior. IIRC you need to blow away the FAT formatting & MBR then it will expose the entire SD directly.
Any idea how you set the SCSI ID? Since this is normally done based on filenames or a config file, which won't be present.
 

Phipli

Well-known member
@Phipli That was the first thing I tried, but it wouldn't mount the .IMG file I had downloaded (360K 5.25" DOS formatted ... it was the first one I found.) Do they have a specific Type and Creator? Mine was autofilled by either macOS or the emulator, and Shrinkwrap complained that it was corrupt.

Toast mounted it perfectly.

Edit: Maybe Shrinkwrap just doesn't know what to do with a 360K image.
But... Why would he want to mount a DOS image?
 

zigzagjoe

Well-known member
Sorry, I think this was user error. I believe that it does work to simply rename the .hda as .img. My problem was that I tried this with an .hda file containing an HFS volume, which isn't supported under recent versions of MacOS. But with an HFS+ volume (I assume that's what "Mac OS Extended" is), it seems to work OK.


Did you mean "won't be an issue"? As far as I can tell HFS+ works OK. Disk Utility calls this "Mac OS Extended" so maybe I'm wrong about what HFS+ actually is.


Thanks, that makes sense.


Any idea how you set the SCSI ID? Since this is normally done based on filenames or a config file, which won't be present.
On a quick look through the source, it appears to be 1. You'd have to recompile to change.
 

bigmessowires

Well-known member
After further testing, the solution is to use a .img file and to format the partition inside it as "Mac OS Extended". The resulting .img file can be opened directly on a modern Mac and mounted as a volume, so you can copy files in and out. And the .img file can also be used as-is with ZuluSCSI, so it will appear as an extra hard disk on your vintage Mac, so long as your version of MacOS supports Mac OS Extended - I think this requires OS8.1. This method doesn't require renaming or converting anything, or using any third-party disk imaging tools.
 

Phipli

Well-known member
After further testing, the solution is to use a .img file and to format the partition inside it as "Mac OS Extended". The resulting .img file can be opened directly on a modern Mac and mounted as a volume, so you can copy files in and out. And the .img file can also be used as-is with ZuluSCSI, so it will appear as an extra hard disk on your vintage Mac, so long as your version of MacOS supports Mac OS Extended - I think this requires OS8.1. This method doesn't require renaming or converting anything, or using any third-party disk imaging tools.
Take care @bigmessowires - the file extensions are a little meaningless in this context. Multiple different things are called .img

What works for you is what you need, but just be aware that ".img" is... Just a high level description, not a full definition of the file format.
 

bigmessowires

Well-known member
Yes, the actual file format is just "raw" sectors from the imaged disk. But .img is the only extension that works directly for both ZuluSCSI and the modern Mac.
 

sfiera

Well-known member
so long as your version of MacOS supports Mac OS Extended - I think this requires OS8.1
8.1 by default, though there’s been some success with backporting as far as 7.5.5.
 

Phipli

Well-known member
8.1 by default, though there’s been some success with backporting as far as 7.5.5.
That was not a success - it is not a usable solution. It was just an experiment that never got beyond initial stages.

The stuff in that thread is not suitable for use on a system you plan to use for other stuff and will likely be unstable and corrupt data.
 
Last edited:

jmacz

Well-known member
For vintage 68k macs with hfs, I just use hfsutils on my modern macs. It’s command line only but can mount the image files (from ZuluSCSI, etc), copy files in/out, etc. No GUI.
 

joshc

Well-known member
For vintage 68k macs with hfs, I just use hfsutils on my modern macs. It’s command line only but can mount the image files (from ZuluSCSI, etc), copy files in/out, etc. No GUI.
This is what I tend to do. Pretty quick and easy way to get stuff on and off of the card. Works for SCSI2SD as well.
 

bigmessowires

Well-known member
That sounds useful, I hadn't heard of this. I have never managed to get my Mac set up with brew or whatever is needed to use utilities like these.
 

cgp

Active member
Homebrew is essential for all sorts of opensource dodads missing from modern MacOS. in addition to hfsutils, I use telnet, wget, qemu, minipro, minicom, jq, ... and I could go on and on.

And there's Tigerbrew for PPC Macs but it's a bit of a tease to install.
 
Top