Page 1 of 1

Emulating Mac OS with bespoke components

Posted: Fri Sep 06, 2019 3:54 pm
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.

Re: Emulating Mac OS with bespoke components

Posted: Wed Sep 18, 2019 12:15 am
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.