To get around the fact that the Mac files, such as boot.efi, don't provide a straightforward way of booting the emulator, I followed this post and had a UNIX-like system format the disk image files, which essentially turns it into a disk image such as that of a live CD .
In fleshing out the emulator, I took the Apple emulators I had written for SheepShaver for 68K (68KOS) and SheepShaver for PowerPC (PPCSHEV) and ported them to QEMU. There's a couple of reasons this is a bit more difficult than porting traditional emulators: - Parts of Mac files, such as startup path and screen paths are defined in the flat hex strings rather than files
This also meant that I could do away with the more "modern" support snippets for the Mac, such as those for redirection of the screen to KVM's STDIO. I also had to deal with the fact that data files are defined in the disk image file, normally a BSD version of UFS IIRC, rather than the standard version used by other emulators, which means we need to open it up and figure out how to read it properly. d2c66b5586