Please login or register.

Login with username, password and session length
Advanced search  

News:

Pages: [1]   Go Down

Author Topic: USB 2.0 DRIVER: Fully integrated ROM/EXT release!  (Read 298 times)

UnexpectedBomb

  • 32 MB
  • ***
  • Posts: 42
  • Just a guy with too much Claude access
    • GitHub account
USB 2.0 DRIVER: Fully integrated ROM/EXT release!
« on: August 16, 2026, 02:37:48 PM »

Folks, this is the big one, the goal I had been striving towards since the very beginning:

USB 2.0 on Mac OS 9, fully and seamlessly integrated into the Mac OS ROM and a single system extension!

This is by far the most robust USB 2.0 release to date, and it has now been validated on THREE different machines:

- Mac Mini G4 (built from Elliot Nunn's modified Mini G4 ROM)
- Power Mac G4 MDD (built from the special MDD ROM from Apple's "OS9General.dmg") using NEC-chip USB 2.0 PCI card
- Power Mac G3 B&W (built from stock retail OS 9 ROM) using NEC-chip USB 2.0 PCI card

The B&W validation was notable because, unlike the Mini and MDD, it didn't involve a specialized machine-specific ROM; this gives me optimism that it could possibly also be used in some (or all) of the non-MDD G4 towers as well (Sawtooth, Gigabit, Digital Audio, Quicksilver). I don't own any of those towers, so I'd be very grateful if some intrepid souls out there could test this theory on those towers and report back!

INSTALLATION INSTRUCTIONS:

Step 0) Make a backup copy of your Mac OS ROM and store it somewhere safe (this step is NOT optional!!)
Step 1) Download and expand the correct ROM/extension pair for your machine
Step 2) Boot from an OS 9 CD
Step 3) Install the USB 2.0 ROM into your System Folder and the matching extension into your Extensions folder
Step 4) Reboot

...and that's it! When you boot up again, your USB 2.0 ports (whether on a PCI card or on-board) will now operate at USB 2.0 speeds with USB 2.0 drives in Mac OS 9, for the first time ever. NO MORE flaky, crash-prone desktop "helper apps". It's now a native-like experience, as it always should have been.

Changes/fixes since the last release include:

- Apple System Profiler no longer crashes when scanning "Devices and Volumes"
- Disk First Aid now shows correct bus information for mounted USB 2.0 drives
- Pulling a drive without ejecting now shows Apple's own warning message
- Drives connected at boot now mount at Hi-Speed automatically once the desktop loads (just like OHCI does)

Things you may notice (and what to do):

- "This disk is unreadable" at startup, sometimes, with a drive attached at boot. Intermittent and harmless: the drive was offered to the system a moment before its filesystem was readable. Click Eject (never Initialize, which would erase it). The drive mounts by itself a few seconds later.
- A pause of 15 to 45 seconds during startup, sometimes with the keyboard and mouse briefly dead, typically right when a Keychain or file-server dialog appears. That is Mac OS 9 itself trying to reach an AppleShare server from your Servers folder at boot; the whole system's input freezes during that window, including on stock machines. Wait it out; it recovers on its own. It is not the USB driver, and pulling cables during it can interrupt a mount in progress.
- A USB volume occasionally missing from Disk First Aid's list at its first launch after boot. The volume is mounted and healthy; DFA just did not pick it up while building its initial list. Eject and reinsert the drive (it pops into the running DFA immediately) or quit and relaunch DFA. Cosmetic only.

Current limitations to be solved in future updates:

- A maximum of four concurrently mounted USB drives (if you actually need to mount more than four at a time, I'm curious about your use case, haha)
- Full-speed and low-speed devices behind a Hi-Speed hub will not work
- MDD's Sleep function is still deactivated when the USB PCI card is installed (this is being actively investigated for a solution, hopefully fixed soon)
- non-NEC-chip PCI cards have not been tested and may not work
- Boot-from-USB is still not possible (and may never be, due to lack of support in Open Firmware)

Models that still need testing (because I don't own them):

- All non-MDD G4 towers (via USB 2.0 PCI card)
- Aluminum G4 PowerBooks, G4 iBooks, and late model G4 iMacs and eMacs (on-board USB 2.0)
- Beige G3 (this is OldWorld, a special case, and would require its own separate custom solution; I'd need a donor machine to develop one for it)

Projects/updates currently underway:

- CardBus USB 2.0 solution for G3/G4 PowerBooks
- eSATA drivers for LaCie PCI cards that will eventually unlock boot-from-external-SSD

For more technical details, please review the README and other technical documentation on the repo. Be sure to report back once you've had a chance to download, install, and test! This community rocks and I appreciate all of you. Hopefully this project brings you some Mac OS 9 joy.

-UB

https://github.com/UnexpectedBomb/MacOS9-USB2-EHCI/releases/tag/h97rel

*******************************************
USB 2.0 for Mac OS 9, by the numbers (approximated):

- Total calendar span of dev time: 38 days (repo created July 9)
- Development hours: 200
- Distinct test builds: 280
- Total boots: 600
- Total USB drive insertions: 1,000
- ROM images built: 40
- Driver log lines written: 300,000
- Sanity remaining: <45%
« Last Edit: August 18, 2026, 07:55:33 AM by UnexpectedBomb »
Logged

smilesdavis

  • 1024 MB
  • ******
  • Posts: 1268
  • ...
Re: USB 2.0 DRIVER: Fully integrated ROM/EXT release!
« Reply #1 on: August 16, 2026, 03:47:37 PM »

amazing  -afro- -afro- -afro- -afro- -afro-

Mat

  • 512 MB
  • *****
  • Posts: 738
Re: USB 2.0 DRIVER: Fully integrated ROM/EXT release!
« Reply #2 on: August 16, 2026, 08:54:02 PM »

What a great development! Thanks for all your efforts and the time and knowledge you put into it!

- Total calendar span of dev time: 38 days (repo created July 9)
- Development hours: 200
Thanks for that information as well! It is very interresting. I am wondering why we ever accepted – be it from Apple or the X-fanboys around the world – the statements that such a driver is impossible!? Afer 2 decades, it needed an unexpected bomb, and "just" 6 weeks of structured and purposeful work to prove all of them wrong.

Imagine what may (have) be(en) possible with an active community of 100 to 200 good developers!
Logged

IIO

  • Staff Member
  • 4096 MB
  • *******
  • Posts: 4856
  • just a number
Logged
insert arbitrary signature here

Jubadub

  • 512 MB
  • *****
  • Posts: 566
  • There is no Mac in OS X
Re: USB 2.0 DRIVER: Fully integrated ROM/EXT release!
« Reply #4 on: Today at 05:32:13 AM »

Really glad to see these developments. :) Thank you for doing this and getting this far.

I know I personally will find a real use for this once USB 2.0 booting on the mini becomes a thing.

By the way, make sure to always refer to this post for all the relevant mini & other ROMs. For the mini, both v8 and v9 ROMs are desirable, v10.2.1 (not the 9.6.1-based ones that came with the original v8/9 discs, which AFAIK are obsoleted). For System 7, the Rairii v8/v9 ROMs do the trick. The 1.33 GHz and 1.5 GHz mini models require the v8-based ROMs for proper functionality (but work on 1.25 GHz and 1.42 GHz minis, too, which makes it a universal solution unlike v9).

Also, about this:

Quote from: UnexpectedBomb
- A maximum of four concurrently mounted USB drives (if you actually need to mount more than four at a time, I'm curious about your use case, haha)

I don't (yet) use USB drives simply because, at least on the mini, there are only 2 "native" ports, and I personally have had bad experiences when connecting drives on USB hubs, even when externally powered (but sometimes I do, successfully). However, I certainly do use a hub on it which has 5+ devices connected to it, although they are not drives, usually for things that don't matter if power gets very briefly cut off, such as:

- 1 USB audio adapter (both input+output);
- 1 mouse;
- 1 keyboard;
- 1 PS1 controller adapter;
- Further controller and other adapters.

I do leave 1 USB port entirely unused, precisely when I do want to use a drive safely, though, such as for booting System 7. But doing so over USB 1.1 is still pretty slow. With USB 2.0, I think I would do this more often.

Is there some technical limitation limiting you to 4 drives, by the way? Also, are non-drives also benefitting from the USB 2.0 speeds? (Usually not important, but I was just wondering.)

For the record, on my only other computer (a Win7 rig), I do have 3 USB 3.0 drives connected all the time as backups of backups. The reason it's 3 is because each one is 4 or 5 TB each in capacity, and you will normally not find non-externally-powered drives exceeding that capacity. I can also deal with any of them a bit more smoothly if any of them fails, but the same wouldn't be true if I had a single 13 TB drive, and then the whole thing fails all at once. I can see myself using 4 or 5 drives at once in the future, and I definitely would find it encouraging if Mac OS, rather than Windows 7, could be one day used this way.

But to be perfectly honest, just plain USB 2.0 booting would be all I could need in practice right now. :) Multiple drives are in practice more of an edge case...
Logged
Pages: [1]   Go Up

Recent Topics