Author Topic: Any one want to help build a community made OS 9.3?  (Read 167456 times)

Offline nanopico

  • Moderator
  • Platinum Member
  • *****
  • Posts: 767
Any one want to help build a community made OS 9.3?
« on: September 01, 2015, 08:40:04 AM »
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 developer.apple.com 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.
If it ain't broke, don't fix it, or break it so you can fix it!

Offline Graveyard

  • Enthusiast Member
  • ***
  • Posts: 75
  • I don't do Windows! said the janitor...
Re: Any one want to help build a community made OS 9.3?
« Reply #1 on: September 01, 2015, 09:01:53 AM »
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.
27" iMac Intel Core i5 3,1 GHz, 16GB ddr3, 1TB hdd, Radeon HD 6970 1GB gddr5
MacPro 8 core Xeon 2,8 GHz
PowerMac G5 Dual Core 2,3 GHz
17" iMac G5 1,6GHz
PowerMac G4 Quicksilver dual 800MHz
PowerMac G4 MDD, Dual 1,25GHz
PowerMac G3 B&W 400MHz
iMac G3 Ruby 400MHz
IMac G3 Blueberry 400MHz
PowerBook G3 400MHz, AirPort
Macintosh Quadra 610
Macintosh Classic II
SGI O2 R10000SC 175MHz, 192 MB ram, 4GB hdd
Other stuff:PS4 slim, PS3 slim, Xbox classic, Xbox 360, Nintendo 64, Nintendo DSi XL, Gameboy Advance, Original GameBoy, GameBoy color.

Offline devils_advisor

  • Platinum Member
  • *****
  • Posts: 752
Re: Any one want to help build a community made OS 9.3?
« Reply #2 on: September 01, 2015, 09:11:29 AM »
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 ?

Offline nanopico

  • Moderator
  • Platinum Member
  • *****
  • Posts: 767
Re: Any one want to help build a community made OS 9.3?
« Reply #3 on: September 01, 2015, 11:17:26 AM »
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.
If it ain't broke, don't fix it, or break it so you can fix it!

Offline devils_advisor

  • Platinum Member
  • *****
  • Posts: 752
Re: Any one want to help build a community made OS 9.3?
« Reply #4 on: September 01, 2015, 11:44:05 AM »
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.

Offline nanopico

  • Moderator
  • Platinum Member
  • *****
  • Posts: 767
Re: Any one want to help build a community made OS 9.3?
« Reply #5 on: September 01, 2015, 11:51:22 AM »
*nix code would not be used, but referenced for communication specification and register information of various cards.
Pascal was used up to System 6.  7 started a migration to C.
Most of 8 and 9 where C.  There may be pascal, but in the end it's all binary machine instructions.
If it ain't broke, don't fix it, or break it so you can fix it!

Offline devils_advisor

  • Platinum Member
  • *****
  • Posts: 752
Re: Any one want to help build a community made OS 9.3?
« Reply #6 on: September 01, 2015, 12:09:03 PM »
i think you are wrong about that. the pascal heritage is a big part of it because they reused to much of the old code instead of rewriting it.

Offline nanopico

  • Moderator
  • Platinum Member
  • *****
  • Posts: 767
Re: Any one want to help build a community made OS 9.3?
« Reply #7 on: September 01, 2015, 12:24:04 PM »
Possible, but really the language they used is fairly irrelevant honestly as the approach I am looking at is through extensions, enablers and control panels and those can be written in c, assembly, pascal, whatever...
If it ain't broke, don't fix it, or break it so you can fix it!

Offline devils_advisor

  • Platinum Member
  • *****
  • Posts: 752
Re: Any one want to help build a community made OS 9.3?
« Reply #8 on: September 01, 2015, 12:37:31 PM »
so what software is used to work on it? have you looked at the transition between 9 and x ? i think that was copeland or something like that it looked like 9 but had already a lite taste of x. maybe that should be analyzed. i would like to have a real multitasking and a way to free the memory when you close the app.

Offline nanopico

  • Moderator
  • Platinum Member
  • *****
  • Posts: 767
Re: Any one want to help build a community made OS 9.3?
« Reply #9 on: September 01, 2015, 12:43:38 PM »
Right now I'm still researching all the piece and bits, and this is more a call out to anyone who has any low level knowledge they want to contribute.  There was rhapsody which might be what you are thinking of. It looked like 9, but it was the core of the first version of x and I believe it went on to be released as os x server 1.0 which ran on PPC and Intel oddly enough.
Yes multitasking would be awesome and could definitely be added to the wish list of features along with freeing memory. though keep in mind I'm not completely sure all this can happen.
The memory one might be easier to implement though as memory managers are slightly easier to implement then task schedulers when dealing with OS level items.
If it ain't broke, don't fix it, or break it so you can fix it!

Offline devils_advisor

  • Platinum Member
  • *****
  • Posts: 752
Re: Any one want to help build a community made OS 9.3?
« Reply #10 on: September 01, 2015, 12:46:24 PM »
may not be able to do all of that since you need to keep a level of compatibilitie. most old apps on os9 dont expect such a drastic change and may crash.

Offline nanopico

  • Moderator
  • Platinum Member
  • *****
  • Posts: 767
Re: Any one want to help build a community made OS 9.3?
« Reply #11 on: September 01, 2015, 12:48:33 PM »
Agreed completely there.
If it ain't broke, don't fix it, or break it so you can fix it!

Offline Protools5LEGuy

  • Global Moderator
  • Platinum Member
  • *****
  • Posts: 2762
Re: Any one want to help build a community made OS 9.3?
« Reply #12 on: September 01, 2015, 01:42:21 PM »

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.


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.

There is only a few machines left out: All iBooks G4 and all Alu Powerbooks that donĀ“t play OS9. All PM G4 now run native OS9. The lack of OS9 drivers in those machines is the trouble where iMic left his work. The search should start on those graphics cards and also the G4 AGP cards "OSX" compatible. ATI's 9200 and up and Gforce 5200 and up. I would love ATI 9650 and 9800 working in OS9... In fact, any  CoreImage card going OS9 with 2D and 3D accel would be a gift.

I think ALL USB 1.1  class complaint work with Ploytec drivers...

Good luck with that. I have already posted most of the info from Apple developer in the age of MacOS8.5 and 9 via wayback machine on other post. I will put them back here on this later.
Looking for MacOS 9.2.4

Offline nanopico

  • Moderator
  • Platinum Member
  • *****
  • Posts: 767
Re: Any one want to help build a community made OS 9.3?
« Reply #13 on: September 01, 2015, 01:48:57 PM »
I saw your post on the driver dev stuff on the other thread.  I think there were a few pdf's missing on the way back machine.
I did find them last night in some of my own archives as well.  I will share them here as soon as I get a chance.
Graphic drivers are where I do plan on starting as it did look like that is the biggest hangup on most machines remaining that need support.
If it ain't broke, don't fix it, or break it so you can fix it!

Offline Philgood

  • Gold Member
  • *****
  • Posts: 413
Re: Any one want to help build a community made OS 9.3?
« Reply #14 on: September 01, 2015, 02:53:25 PM »
Would love to be able to boot OS 9 with my alu PowerBook.
I think having a graphic card driver for these machines is all what's needed beside of the work already done on hacking unsupported machines?
*G4 MDD 1.25GHz (Single 2003)* with 2x 80Gb harddrives, 1Gb RAM, Tascam US-428 and Edirol FA-101 USB/Firewire soundcards-*iMac G3 DV 400MHz* with installs from OS 8.6-OSX Tiger on different harddrives-*Powerbook G4 1.67Ghz* with new SSD ! Love it.

Offline MacTron

  • Global Moderator
  • Platinum Member
  • *****
  • Posts: 2116
  • keep it simple
Re: Any one want to help build a community made OS 9.3?
« Reply #15 on: September 03, 2015, 09:11:09 AM »
Trying to recompile Linux drivers to make it work in Mac Os 9 is a real hard an very complex task.
- Most of linux drivers are in the kernel, and there, the source code is an actual nightmare, (unless we found one of the Intel programmers that work on it...)
- Most of the Linux hardware work with "generic drivers" that aren't enough reliable.
- Some of the Linux drivers lack of source code, only binaries are provided (nVidia drivers)
I have place Here a early PowerMac G5 block diagram as an example of how many alien devices Mac Os 9 can find if trying to boot on such computers:

Please don't PM about things that are not private.

Offline nanopico

  • Moderator
  • Platinum Member
  • *****
  • Posts: 767
Re: Any one want to help build a community made OS 9.3?
« Reply #16 on: September 04, 2015, 08:52:29 AM »
Yes I am aware of the issues you outlined with linux/unix drivers and porting.
I do have a bit of experience in this area which is why I'm even willing to attempt this.
Those block diagrams are helpful as well.  I have a many of them also.
Yes the binary only nature of many drivers does make such things very difficult.
But even if we get some generic drivers for this hardware to work and get the systems booting and running (even sub optimally) that would still be an interesting feat.
If it ain't broke, don't fix it, or break it so you can fix it!

Offline MacTron

  • Global Moderator
  • Platinum Member
  • *****
  • Posts: 2116
  • keep it simple
Re: Any one want to help build a community made OS 9.3?
« Reply #17 on: September 04, 2015, 09:01:56 AM »
Yes I am aware of the issues you outlined with linux/unix drivers and porting.
I do have a bit of experience in this area which is why I'm even willing to attempt this.
Those block diagrams are helpful as well.  I have a many of them also.
Yes the binary only nature of many drivers does make such things very difficult.
But even if we get some generic drivers for this hardware to work and get the systems booting and running (even sub optimally) that would still be an interesting feat.

In my opinion, porting a U3 driver from Debian PPC to Mac Os 9, to try to boot a G5 with Mac Os 9, will be a good starting point.
Just a suggestion :)
Please don't PM about things that are not private.

Offline nanopico

  • Moderator
  • Platinum Member
  • *****
  • Posts: 767
Re: Any one want to help build a community made OS 9.3?
« Reply #18 on: September 04, 2015, 11:14:55 AM »
I will definitely take that suggestion and any others for sure.
If it ain't broke, don't fix it, or break it so you can fix it!

Offline IIO

  • Platinum Member
  • *****
  • Posts: 4462
  • just a number
Re: Any one want to help build a community made OS 9.3?
« Reply #19 on: September 04, 2015, 12:28:30 PM »
In fact, any  CoreImage card going OS9 with 2D and 3D accel would be a gift.

you wont even get those to run under OSX, because all of them are aready x8. i think it is possible to use the PCI version of the geforce 5 in a G4, but it would run slower than a geforce 3 in a x4 slot and it would probably not support any kind of acceleration under OS9. you could as well use no graphics card at all.
insert arbitrary signature here