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!
Open Firmware?
Moderators: Cat_7, Ronald P. Regensburg
- sentient06
- Mac Mechanic
- Posts: 188
- Joined: Tue Mar 29, 2011 8:57 pm
- Location: London, UK
- adespoton
- Forum All-Star
- Posts: 4279
- Joined: Fri Nov 27, 2009 5:11 am
- Location: Emaculation.com
- Contact:
Re: Open Firmware?
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.
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.
Re: Open Firmware?
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?
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.
- adespoton
- Forum All-Star
- Posts: 4279
- Joined: Fri Nov 27, 2009 5:11 am
- Location: Emaculation.com
- Contact:
Re: Open Firmware?
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.
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.