Mac OS 9 Lives

Classic Mac OS Software => Hacking the System, Mac OS 9.3, and Beyond ! => Topic started by: darthnVader on February 22, 2018, 08:02:08 AM

Title: The lowest hanging fruit.
Post by: darthnVader on February 22, 2018, 08:02:08 AM
Seem OS 9 is working in some state on all the G4 models now.

I'd just like to gage the interest in getting it to work better.

I think the lowest hanging fruit is:

1. Writing an OS 9 EHCI driver.
2. USB TracPad support for some iBook's/PowerBooks.
3. A wifi driver for 802.11/G
4. Sound support some Mac's
5. PMU support for some Mac's

If we can get a few people working on this, we maybe able to produce something useful. However if no one else has a keen interest, I don't really either. I've got a few projects I'm working on and I'm really only interested in OS 9 as it pertains to Qemu.

You know, whatever, I'm retired, so I just like to have a project to pass the time, but if I can't get a few people to contribute to it, it soon bores me.
Title: Re: The lowest hanging fruit.
Post by: Daniel on February 22, 2018, 08:14:54 AM
I want to help.
Title: Re: The lowest hanging fruit.
Post by: MacOS Plus on February 22, 2018, 12:24:22 PM
  There are a few guys on here that are probably up to the task.  I'm sure they will speak up, as did Daniel.  Personally, I don't have the skill set for driver writing, but I've got plenty of hardware available for testing.  I'm very interested in seeing any of this list accomplished, so I'm happy to contribute to testing at least.
Title: Re: The lowest hanging fruit.
Post by: macStuff on February 22, 2018, 01:50:14 PM
wifi driver g would definately get used by alot of people!
but my top of the list would have to be related to getting working 2D Accelleration on any 275Mhz+ card that is widely available (and/or a Dual Link DVI card?)
Title: Re: The lowest hanging fruit.
Post by: darthnVader on February 22, 2018, 02:21:09 PM
wifi driver g would definately get used by alot of people!
but my top of the list would have to be related to getting working 2D Accelleration on any 275Mhz+ card that is widely available (and/or a Dual Link DVI card?)

That's a little harder, we just don't have any cards still being built with Fcode roms to work from.

I don't remember what cards supported Dual Link DVI NV6600/NV7800 ATI 9600? 9800? X800 XT1900.

Of all of those the XT1900 Agp would be the best card that people could still get, but even then the odds of getting one that was in bad shape are too high.

It could be done, but it's a matter of putting x amount of hours into a project than not many people are ever likely yo use.

People are just throwing away these old PPC systems, I've got a Quicksilver I paid $20 for. I just paid another $20 for a Mini, I paid $17 for an iBook G4.

It's really sad, but there just isn't a modern web browser that works very well on these old PPC systems. No Youtube, no Facebook, and no Netflix.

Those three things and email are most of what people use these days.

We could build a better Webkit browser for OS 9/X on PPC, the trouble is an MMU side channel attack. The G3/G4/G5 is fundamentally flawed and there is no way to fix it. So web browsing on these systems is not really a good idea.

Really, keeping them offline, and using them to run old apps is best.

Title: Re: The lowest hanging fruit.
Post by: macStuff on February 22, 2018, 03:16:04 PM
another thought;
2d Accelleration for the Geforce 6200??
Title: Re: The lowest hanging fruit.
Post by: macStuff on February 22, 2018, 03:19:36 PM
I don't remember what cards supported Dual Link DVI NV6600/NV7800 ATI 9600? 9800? X800 XT1900.
Of all of those the XT1900 Agp would be the best card that people could still get, but even then the odds of getting one that was in bad shape are too high.
**your getting too far into OSX land here ;) but 2d acell for the r300/r350 would be amazing, so i wouldnt have to switch between radeon 9800 pro + 2d capable os9 card

It could be done, but it's a matter of putting x amount of hours into a project than not many people are ever likely yo use.

People are just throwing away these old PPC systems, I've got a Quicksilver I paid $20 for. I just paid another $20 for a Mini, I paid $17 for an iBook G4.
It's really sad, but there just isn't a modern web browser that works very well on these old PPC systems. No Youtube, no Facebook, and no Netflix.
**thats fine by me, more hardware for specialized users, who needs to do that stuff on a computer when we can do youtube, facebook + netflix on our cell phones now !


Those three things and email are most of what people use these days.

We could build a better Webkit browser for OS 9/X on PPC, the trouble is an MMU side channel attack.
The G3/G4/G5 is fundamentally flawed and there is no way to fix it. So web browsing on these systems is not really a good idea.
**exactly why they are great to use with proprietary hardware for Audio/Video/Programming Purposes!

Really, keeping them offline, and using them to run old apps is best.
**Yup! apps that interact with other old hardware
Title: Re: The lowest hanging fruit.
Post by: darthnVader on February 22, 2018, 03:31:24 PM
I want to help.

So I started looking at it, the PCIDDK 3.0 only comes with a SCSI diver for example code, we really need some example code for a PCI device for OS 9.

I've never written a PCI driver for the Classic Mac OS, just a few for OS X.

So look about and see if you can find any Classic Mac OS PCI drivers that are open source, or any example code Apple may have produced.

The USB2 is a PCI device, so we need to start with a PCI driver.
Title: Re: The lowest hanging fruit.
Post by: Daniel on February 22, 2018, 04:12:15 PM
Well, macStuff recently posted the guide on native drivers here: http://macos9lives.com/smforum/index.php/topic,4260.msg29259/topicseen.html#new (http://macos9lives.com/smforum/index.php/topic,4260.msg29259/topicseen.html#new).

The USB DDK is availible here: http://www.staticky.com/mirrors/ftp.apple.com/developer/Development_Kits/USB_DDK_1.5.1f1.img.sea.hqx (http://www.staticky.com/mirrors/ftp.apple.com/developer/Development_Kits/USB_DDK_1.5.1f1.img.sea.hqx).

A quick look through my system folder indicates that there are quite a few libraries and extensions related to USB. I am hoping most of them link to USBServicesLib without going directly to the driver.

We need to understand how drivers work in the general case. Then we need to disassemble the usb Expert (no clue where that is) and a few drivers to figure out what the API for usb devices is.

We also need to know how EHCI works and how it is implemented on the chipset level.

Then we can figure out how to add code to the USB drivers and IO Expert to make them handle EHCI without breaking compatability with the old code.

Yes, this is rather easy compared to other things we want to do.
Title: Re: The lowest hanging fruit.
Post by: MacOS Plus on February 22, 2018, 04:18:50 PM
  One thing I'd like to know is how much of this can be extracted, at least in part, from OS X kext's.  I seem to recall mention that a lot of the code is identical, perhaps moreso in the earlier versions of OS X.  USB 2.0 could be a bit of a pain because, as I understand it, the issue is more about an additional layer of peripheral device negociation than it is about the low-level PCI driver layer.  I would liken it to what would be needed to add the WPA wifi security layer ability to Airport.  That said, 'adjustment' of the low-level PCI drivers may play a part.

  Perhaps your knowledge, combined with the expertise of the the OS 9 'experts' here, can sort this out.
Title: Re: The lowest hanging fruit.
Post by: darthnVader on February 23, 2018, 04:57:49 AM
Well, macStuff recently posted the guide on native drivers here: http://macos9lives.com/smforum/index.php/topic,4260.msg29259/topicseen.html#new (http://macos9lives.com/smforum/index.php/topic,4260.msg29259/topicseen.html#new).

The USB DDK is availible here: http://www.staticky.com/mirrors/ftp.apple.com/developer/Development_Kits/USB_DDK_1.5.1f1.img.sea.hqx (http://www.staticky.com/mirrors/ftp.apple.com/developer/Development_Kits/USB_DDK_1.5.1f1.img.sea.hqx).

A quick look through my system folder indicates that there are quite a few libraries and extensions related to USB. I am hoping most of them link to USBServicesLib without going directly to the driver.

We need to understand how drivers work in the general case. Then we need to disassemble the usb Expert (no clue where that is) and a few drivers to figure out what the API for usb devices is.

We also need to know how EHCI works and how it is implemented on the chipset level.

Then we can figure out how to add code to the USB drivers and IO Expert to make them handle EHCI without breaking compatability with the old code.

Yes, this is rather easy compared to other things we want to do.

I was kind of wondering how we could implement EHCI without breaking or causing a conflict with Apple's OHCI drivers. The code I was thinking of going from is the EHCI driver from EDK II, as anything that has a 768k kernel can't be that hard to figure.

Hopefully we can find a way to add only one Extension, USB EHCI, that can interface with OS 9's native HID, Mass Storage, etc. That would work for Mac's with builtin USB2 ports and generic PCI cards.
Title: Re: The lowest hanging fruit.
Post by: macStuff on February 23, 2018, 05:21:08 AM
  One thing I'd like to know is how much of this can be extracted, at least in part, from OS X kext's.  I seem to recall mention that a lot of the code is identical, perhaps moreso in the earlier versions of OS X.

this is a key point i was trying to make a few years ago..
that is.. that there was a point in which things very much were overlapped..
ie: osx + os9; with component software updates for X requiring you to run/install them in 9
and vice versa, driver code from x being relevant to 9 etc

i also like the topic "the lowest hanging fruit" meaning lets focus on the easiest ACHIEVABLE goal to push the limits + boundaries
:)

i often hoped for some old ex-apple developers to come out of the wood work and solve things like the uSB 2.0 compatibility, graphics card compatibility being updated to support proper 2D acell on R300 Radeons + Geforce 6/7 cards

usb2.0 support still would be pretty dramatic change
Title: Re: The lowest hanging fruit.
Post by: LarsG5 on November 21, 2020, 07:10:35 PM

I think the lowest hanging fruit is:

1. Writing an OS 9 EHCI driver.
2. USB TracPad support for some iBook's/PowerBooks.
3. A wifi driver for 802.11/G
4. Sound support some Mac's
5. PMU support for some Mac's


I 100% agree with that, although in my opinion we, as a community, should really focus on finishing the ongoing projects, like f. ex. the 17" 1GHz G4 Powerbook.
I mean it's really not that far away from becoming the holy grail of portable OS 9 machines.
If we could somehow focus on resolving its power management issues (like lack of a sleep function and getting a little bit toasty) and resolving the sound issue (so you don't have to plug something into the headphone jack to get the sound from the internal speakers, I mean it's absurd) we would already have the best OS 9 portable ever.
If we could also make the Cardbus slot operational and make the Ethernet port work at its full speed on top of that, then we would not only have the very best OS 9 portable, but an ultimate one.

If somehow, in the unforeseeable future, a support for the 802.11g Airport card, USB 2.0 and FW800 came out... well, we would have ourselves a truly epic OS 9 portable then...

Although I am not able to provide any help regarding coding itself, I'm able to test everything new basically on the spot, with instant feedback.

On top of that, I was thinking for some time now we, as a community, should go the MorphOS way, by which I mean crowdfund bounties for people supplying some specific updates/drivers/rom etc. This way the incentive is there to not only make OS 9 bootable on unsupported machines, but to make OS 9 fully operational on those.
Title: Re: The lowest hanging fruit.
Post by: Front 424 on November 23, 2020, 11:30:47 PM

On top of that, I was thinking for some time now we, as a community, should go the MorphOS way, by which I mean crowdfund bounties for people supplying some specific updates/drivers/rom etc. This way the incentive is there to not only make OS 9 bootable on unsupported machines, but to make OS 9 fully operational on those.

That concept sounds interesting.  Like setting monetary rewards for a completed goal I'm assuming?  I've wondered about what funding scheme might make progress on something like USB 2.0 compatibility.  Which by the way I never thought would be too difficult since they can obviously exist side by side on OS 9/X machines, but I've not seen a whole lot of detailed discussion about, at least not recently.

Know almost nothing about MorphOS other than I've heard and seen a few screenshots of the system, but do you have some examples of advances achieved using crowdfunding methods?
 
Title: Re: The lowest hanging fruit.
Post by: teroyk on November 24, 2020, 12:43:18 PM
I 100% agree with that, although in my opinion we, as a community, should really focus on finishing the ongoing projects, like f. ex. the 17" 1GHz G4 Powerbook.
..
If we could also make the Cardbus slot operational and make the Ethernet port work at its full speed on top of that, then we would not only have the very best OS 9 portable, but an ultimate one.

Does somebody know why Cardbus slot doesn't work? What cards are tested?
Title: Re: The lowest hanging fruit.
Post by: LarsG5 on November 25, 2020, 04:16:02 PM

That concept sounds interesting.  Like setting monetary rewards for a completed goal I'm assuming?  I've wondered about what funding scheme might make progress on something like USB 2.0 compatibility.

Exactly, we could simply crowdfund a (small) bounty for f. ex. making Cardbus work on G4 Powerbooks or whatever. Whoever makes it true, gets the money. As simple as that.
IMHO this gives a small incentive for people who know how to code that stuff to do so.
It works that way in MorphOS community, for example they reward a small bounty to whoever writes a specific driver etc.
Title: Re: The lowest hanging fruit.
Post by: Hopfenholz on January 03, 2021, 02:41:42 AM
I would love to see NVIDIA graphics support and USB trackpad support. Would definitely commit funds to those!

For me it's not about getting web browsers to work. As said above, there are a ton of devices for that these days, too many if anything.

It's about preserving this great old hardware to do what it's best at - creative work, be that songwriting, recording or writing. OS9 "gets out of the way" and lets you focus in a way totally absent from all modern computers.

As Steve Jobs said, you go to a computer to turn your brain on, you go to the TV to turn your brain off. That. was 20 years ago, and sadly it's no longer true.