Mac OS 9 Lives

Mac OS 9 Discussion => Mac OS 9, Hacks & Upgrades => Topic started by: UnexpectedBomb on August 16, 2026, 02:37:48 PM

Title: USB 2.0 DRIVER: Fully integrated ROM/EXT release!
Post by: UnexpectedBomb 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

*******************************************
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%
Title: Re: USB 2.0 DRIVER: Fully integrated ROM/EXT release!
Post by: smilesdavis on August 16, 2026, 03:47:37 PM
amazing  -afro- -afro- -afro- -afro- -afro-