Author Topic: The lowest hanging fruit.  (Read 1941 times)

Offline darthnVader

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 513
  • New Member
The lowest hanging fruit.
« 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.

Offline Daniel

  • Gold Member (200+ Posts)
  • *****
  • Posts: 268
  • Programmer, Hacker, Thinker
Re: The lowest hanging fruit.
« Reply #1 on: February 22, 2018, 08:14:54 AM »
I want to help.

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: The lowest hanging fruit.
« Reply #2 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.

Offline macStuff

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 1365
  • http://www.OldschoolDAW.com
    • OldschoolDAW.com
Re: The lowest hanging fruit.
« Reply #3 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?)

Offline darthnVader

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 513
  • New Member
Re: The lowest hanging fruit.
« Reply #4 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.


Offline macStuff

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 1365
  • http://www.OldschoolDAW.com
    • OldschoolDAW.com
Re: The lowest hanging fruit.
« Reply #5 on: February 22, 2018, 03:16:04 PM »
another thought;
2d Accelleration for the Geforce 6200??

Offline macStuff

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 1365
  • http://www.OldschoolDAW.com
    • OldschoolDAW.com
Re: The lowest hanging fruit.
« Reply #6 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

Offline darthnVader

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 513
  • New Member
Re: The lowest hanging fruit.
« Reply #7 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.

Offline Daniel

  • Gold Member (200+ Posts)
  • *****
  • Posts: 268
  • Programmer, Hacker, Thinker
Re: The lowest hanging fruit.
« Reply #8 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.

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.

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.

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: The lowest hanging fruit.
« Reply #9 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.

Offline darthnVader

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 513
  • New Member
Re: The lowest hanging fruit.
« Reply #10 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.

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.

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.

Offline macStuff

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 1365
  • http://www.OldschoolDAW.com
    • OldschoolDAW.com
Re: The lowest hanging fruit.
« Reply #11 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