Emulating Mac OS with bespoke components

Anything about Mac emulation that does not belong in the above categories.

Moderators: Cat_7, Ronald P. Regensburg

Post Reply
User avatar
sentient06
Mac Mechanic
Posts: 188
Joined: Tue Mar 29, 2011 8:57 pm
Location: London, UK

Emulating Mac OS with bespoke components

Post by sentient06 »

Hello, I was just wondering...

Recently I came across this Mac OS 9 Lives community and I noticed there is an ongoing effort to modify Mac OS 9 by patching new world roms and even some attempts to reverse engineer Mac OS.

Take this github user, for example, this is one of his many repositories on the subject: https://github.com/elliotnunn/cdg5

I wonder whether these modified systems can be emulated. Is anyone here aware of changes that were already attempted (on a real mac or emulator) and successful?

For example, there seems to be a modified ROM (http://macos9lives.com/smforum/index.ph ... 386.0.html) that allows booting from an ATA HD. Emulating that might be pointless, but is it doable with our current tools?

Interesting stuff.
elliotnunn
Student Driver
Posts: 11
Joined: Sun Sep 11, 2016 6:35 am

Re: Emulating Mac OS with bespoke components

Post by elliotnunn »

When I’m hacking later NewWorld ROM versions, I build my patched version of the SuperMario source, and wrap it up in an Open Firmware bootinfo file using my tbxi script. Then, using hfsutils, I copy the ROM file into a 9.2.2 disk image and fire it up in Qemu. Alternatively, I use Target Disk Mode to copy the ROM to my Mac mini to test it there.

When I’m hacking on System 7.1 (less often), I similarly shoehorn the built System file into a disk image and try it out in Mini vMac.

So yep, some of this stuff can be emulated nicely.

As for the patches that you mention, I set up the tbxi-patches repo because I realised that it was helpful to patch any System Software version with a well tested binary patch, instead of trying to RE one particular version thoroughly enough to patch it at the source level. There is some pretty funky Python that achieves this. The patch that enables 9.2.2 to boot on the Mac mini was the first working one.
Post Reply