Classic Mac OS Software (Discussions on Applications) > Hacking the System, Mac OS 9.3, and Beyond !

Any one want to help build a community made OS 9.3?

(1/39) > >>

So here's my idea.
We as a community create the necessary bits and pieces to get OS 9 running on all G3/G4 machines and possibly on G5 machines.
We would do this by basing it off the latest rom, extensions and drivers that already exist.
The internet archive has a 4 GB tar file of that contains a lot of developer information and hardware specs.  Between that and linux source code for these machines it's not unreasonable to be able create the right extensions, control panels and enablers to get the OS running on unsupported hardware.
I for one am going to attempt this and I'm curious if any one else want's to join in?
yes I am aware that this is a rather large undertaking with a lot of missing documentation, but I do strongly believe everything needed to do this is available, just not in one convenient location.

I am willing to use all my ppc machines to test it, if anyone is willing to initiate such a project. If there's anything in my archive i can contribute with, i'm more than willing to do so.

just one problem right away. how do you make sure it is compatible backward ? it is rather complicated to play with the filesystem. can you layout in detail what the idea is or do you plan something like rosetta ?

It wouldn't be like Rosetta as that was technically an emulator/runtime that did instruction translation between the PPC instruction set and the X86 instruction set.
The biggest issue is that of the hardware. 
Graphics card and bus architecture issues can be worked out through extensions. Basically you can look through the various open source graphics drivers for the various *nix's to figure out how the hardware is addressed and works.  From there you can take that knowledge and create extensions/drivers for OS 9.  Same thing for USB2, FW800, PCI-E, though because those are buses, a lot of additional hardware will not work there would be no drivers for those devices in OS 9, though if we get that far it would not be beyond the realm of reality to write drivers for some of those devices.
The other side of it is the ROM, which is what I believe is where you would have concerns with backwards compatibility.  There has been some great work done here already to get some machines to run existing ROM's by basically tricking the systems into a sort of backwards compatibility mode.  What I would suggest is rolling back to the latest official Apple released ROM.  Starting there we get compatibility with everything officially supported by Apple.
From there you start writing enablers for the various unsupported machines.  This is functionality was introduced with system 7 so and is still supported on the new world ROM's.  And actually the switching to the new world ROM probably makes this a bit easier as there are actually two ROM's.  One is the firmware ROM that would be within open frimware.  This is used to basically initialize all the hardware.  The second ROM is the toolbox ROM and this is what has been modified so far to get some unsupported machines running.  This rom is loaded via a CHRP script which i believe iMic, DieHard and some others (sorry if I left anyone's name off there that helped with that) have modified/worked with to get the machines running.  The CHRP script would need to be modified to load the toolbox, detect unsupported CPU's and load the enabler for them, then load the toolbox ROM, transfer control to that and allow it to continue booting.

Additionally there may need to be extensions written that detect the various motherboard ASIC's and provide patches to the toolbox rom to make them work so that the machine can be fully supported.

This is by no means a trivial task, and may end up going no-where, but it's something I for one am going to try to make happen.

I suspect there will be a lot of this may end up being written in assembly with a heft amount of C as well.

So in a nutshell that's my plan.

At the very minimum, I hope to at least create some graphics card drivers out of this so that we can at least add a few newer cards to the list available in OS 9 and possibly even a few other drivers such as class complaint drivers for USB Audio.

sounds like you need to plan that thing out very well. by the way you cant rely on nix code and would have to reverse a lot of the code. remember os9 has still a lot of pascal in it.


[0] Message Index

[#] Next page

Go to full version