Open Firmware?

[ARCHIVED] About PearPC, a mostly obsolete PPC Mac emulator for Windows and Linux to run MacOS X 10.1 up to 10.4. Using QEMU is now recommended.

Moderators: Cat_7, Ronald P. Regensburg

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

Open Firmware?

Post by sentient06 »

Hi, I was wondering.. how does the open firmware work in a PPC mac?

I mean, it looks like PearPC has everything to run a Mac OS 9.2 setup, except the open firmware, correct? But how is this implemented in a real mac? Where are the instructions stored? In a ROM?
Is OF documented anywhere? How hard would be to implement that on PearPC? Did anyone try? If they did, what happened? If they didn't, why not? PearPC is old news, I think, how could it be stuck for so many years without OS 9 support?

Sorry to ask, I am really looking for the info elsewhere, but I'm afraid I lack some hardware knowledge at some point and it's been hard to understand the reason why this looks like such a big impediment for mac emulation.

Thanks!
User avatar
adespoton
Forum All-Star
Posts: 4279
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Open Firmware?

Post by adespoton »

Google helps here :)
http://en.wikipedia.org/wiki/Open_Firmware
http://osxbook.com/book/bonus/ancient/w ... _boot.html
http://pearpc.sourceforge.net/about.html

OpenFirmware runs OpenForth, which pulls the actual firmware image off of the first logical volume it sees. The specifics here are a bit tricky, but that's the simple answer. The image is actually in the form of a Windows PE file (.exe files on Windows) but that's just the container structure, not the contents, which on older macs are Forth bootstrap instructions.

Older PPC macs using OpenFirmware had a PROM image as the first logical volume, and the OF data was stored in there. This is what PearPC emulates, in a hacky sort of way. This could be updated with OpenBIOS code by someone determined to do so....

But all of this is besides the fact, as 9.2 requires a PMMU, which is the sticking point.

See qemu_ppc for something that has a nice OpenFirmware solution baked in, but will still not boot 9.1.x through 10.0.x.

Sorry.
neozeed
Apple Corer
Posts: 293
Joined: Sun Aug 25, 2013 3:25 am
Location: Hong Kong

Re: Open Firmware?

Post by neozeed »

What about OS 8.0-8.51?

The new world'ers load that Mac OS ROM file from disk, and kick into that right?

Sheep directly loads that and does it's patching thing to then continue.... or am I missing something?
don't do today what you can put off until tomorrow.
User avatar
adespoton
Forum All-Star
Posts: 4279
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Open Firmware?

Post by adespoton »

Nope, you've got it -- that Mac OS ROM file stands in for the nerwer PE-style blob This gets loaded by the Forth-based bootloader loaded in by OpenFirmware (which is in the ROM).

You could actually get it to run just about anything, as long as you have the right entry point value and name the file Mac OS ROM and put it in the right place on disk.
Locked