Fitting Big Disks to G3s and G4s

joevt

Tinkerer
Mar 5, 2023
352
136
43
I don't know of any reason why any Mac with an IDE connector can't support LBA-48 except for the drivers. Drivers can be replaced.

The Open Firmware driver needs to be updated for Mac OS X to load "BootX" unless it's on a helper partition (setup by XPostFacto for example).

The Open Firmware driver needs to be updated for Mac OS 9 only for New World Macs to load the "Mac OS ROM" file. I don't think OS 9 has a helper partition concept which would allow "Mac OS ROM" to be loaded from a reachable partition but have the rest of the system on a different partition. But "Mac OS ROM" has Open Firmware code that can be modified, so maybe it's possible?

One can load a newer Open Firmware driver from a reachable partition. I've done this for Beige G3 with Open Firmware 2.4.

BootX loads a Mac OS X driver. For OHare and Heathrow and Paddington IDE (also CMD646 IDE), the Mac OS X driver needs to be replaced. I've created the replacement kext but haven't tested it yet.

For partitioning large disks, I would use Mac OS X Leopard which still has the "Install Mac OS 9 Drivers" option.

https://github.com/dingusdev/dingusppc/issues/177#issuecomment-4417830475
https://forums.macrumors.com/threads/cant-boot-from-firewire-drive.2478368/post-34454141
https://tinkerdifferent.com/threads/bondi-blue-imac-restoration.5481/post-48786

For testing, the drive should be partitioned on a computer that supports LBA-48. Then you have to see if the older computer can access all the partitions in Open Firmware, Mac OS 9, and Mac OS X.

Macs with OHare (can boot Mac OS X with XPostFacto?)
- Alchemy: 5400, 6400
- Gazelle: 5500, 6500, TAM

Macs with Heathrow:
- Gossamer: Beige G3
- Lombard G3

Macs with Padington:
- iMac Bondi Blue
- Yosemite B&W G3, G4 Yikes

Macs with CMD646:
- Yosemite B&W G3, G4 Yikes

How to verify that LBA 48 is supported? I'm not sure. You could try writing the block number to every block of a disk, then read them back. That is the surest way.

Third party IDE controllers may have LBA-28 limit. Some may have a LBA-48 patch (some Sonnet cards). If they don't have source code, then it would difficult to update them yourself.
 

phipli

Active Tinkerer
Sep 23, 2021
377
255
63
I don't know of any reason why any Mac with an IDE connector can't support LBA-48 except for the drivers. Drivers can be replaced.

The Open Firmware driver needs to be updated for Mac OS X to load "BootX" unless it's on a helper partition (setup by XPostFacto for example).

The Open Firmware driver needs to be updated for Mac OS 9 only for New World Macs to load the "Mac OS ROM" file. I don't think OS 9 has a helper partition concept which would allow "Mac OS ROM" to be loaded from a reachable partition but have the rest of the system on a different partition. But "Mac OS ROM" has Open Firmware code that can be modified, so maybe it's possible?

One can load a newer Open Firmware driver from a reachable partition. I've done this for Beige G3 with Open Firmware 2.4.

BootX loads a Mac OS X driver. For OHare and Heathrow and Paddington IDE (also CMD646 IDE), the Mac OS X driver needs to be replaced. I've created the replacement kext but haven't tested it yet.

For partitioning large disks, I would use Mac OS X Leopard which still has the "Install Mac OS 9 Drivers" option.

https://github.com/dingusdev/dingusppc/issues/177#issuecomment-4417830475
https://forums.macrumors.com/threads/cant-boot-from-firewire-drive.2478368/post-34454141
https://tinkerdifferent.com/threads/bondi-blue-imac-restoration.5481/post-48786

For testing, the drive should be partitioned on a computer that supports LBA-48. Then you have to see if the older computer can access all the partitions in Open Firmware, Mac OS 9, and Mac OS X.

Macs with OHare (can boot Mac OS X with XPostFacto?)
- Alchemy: 5400, 6400
- Gazelle: 5500, 6500, TAM

Macs with Heathrow:
- Gossamer: Beige G3
- Lombard G3

Macs with Padington:
- iMac Bondi Blue
- Yosemite B&W G3, G4 Yikes

Macs with CMD646:
- Yosemite B&W G3, G4 Yikes

How to verify that LBA 48 is supported? I'm not sure. You could try writing the block number to every block of a disk, then read them back. That is the surest way.
Thank you Joevt, although I'm slightly confused as I think you've misinterpreted my post a little. I wasn't having problems, I was documenting ways to solve / manage the problems. You seem to have replied to my comments about how to get a LBA 48 supporting driver onto a disk in Classic Mac OS on an affected machine, by telling me to do some experiments to see if I can install an LBA 48 supporting driver on a disk for Classic using another operating system, possibly running on another computer. 🤣 Perhaps I've misunderstood.
Third party IDE controllers may have LBA-28 limit. Some may have a LBA-48 patch (some Sonnet cards). If they don't have source code, then it would difficult to update them yourself.
A number of products present to the OS as a SCSI interface as I mentioned in my post, circumventing the issue to my understanding.
 
Last edited:

joevt

Tinkerer
Mar 5, 2023
352
136
43
Thank you Joevt, although I'm slightly confused as I think you've misinterpreted my post a little. I wasn't having problems, I was documenting ways to solve / manage the problems. You seem to have replied to my comments about how to get a LBA 48 supporting driver onto a disk in Classic Mac OS on an affected machine, by telling me to do some experiments to see if I can install an LBA 48 supporting driver on a disk for Classic using another operating system, possibly running on another computer. 🤣 Perhaps I've misunderstood.
Your solutions to the problem basically amount to avoiding the problem - either by not using LBA 48 disks to their full potential or by not using the affected IDE controllers.

I was just saying that the problem (drive size limits, etc) is not hardware related but firmware or software related and therefore can be eliminated.

Actually, one of your solutions involved using software from Intech Software. I wonder if they rewrote the Mac OS X Heathrow ATA driver from scratch or just modified it from Apple source like I did. Anyway, their solution doesn't include an Open Firmware fix for the Open Firmware part of the boot process. Need to look at their kexts to see what devices they work for.

The note I made about testing was for describing a method to detect if the problem exists. The other computer is necessary if you don't have a solution for the vintage computer to partition the entire LBA 48 hard disk.

I think classic (Mac OS 9) has drivers that already support LBA 48? If not for booting, then at least for file storage.
 

phipli

Active Tinkerer
Sep 23, 2021
377
255
63
Actually, one of your solutions involved using software from Intech Software.
Which gets you 95% of the way there by giving you everything other than the ability to boot partitions beyond 128GB. I also mentioned formatting the disk in their Mac OS 9 utility which gives you their hard disk driver in Classic Mac OS. (Actually, how does that work on Power PC macs - if the 68k emulator is resident on the disk in the ROM File, how is it loaded to interpret the 68k portions of the disk driver? Guess it must load the ROM File using generic Open Firmware drivers prior to loading the more "Macintosh" driver from the disk).
I think classic (Mac OS 9) has drivers that already support LBA 48? If not for booting, then at least for file storage.
Hum, not sure where the issue lies, but I've had problems even formatting disks bigger than 128GB on a Beige G3, and also I think my Pismo under OS 9.x.
Anyway, their solution doesn't include an Open Firmware fix for the Open Firmware part of the boot process.
I'd be happy to add a link once you've written and validated a fix for the Open Firmware and provide a way for a beginner user to apply it without having to compile it or dig into the depths of Open Firmware.
Your solutions to the problem basically amount to avoiding the problem
Avoiding a problem sounds like a solution to me 🤣 - I was giving options, some of which were for the built in interface, others which were to use an alternative interface. Sil3112 based cards have a lot of advantages and can still be found for good prices if you hunt around. Even if there was a Firmware fix, for many people it would still be the best answer as it opens the door for faster disk speeds, cheaper disks, bigger disks, newer disks...
 
Last edited:

joevt

Tinkerer
Mar 5, 2023
352
136
43
Which gets you 95% of the way there by giving you everything other than the ability to boot partitions beyond 128GB. I also mentioned formatting the disk in their Mac OS 9 utility which gives you their hard disk driver in Classic Mac OS. (Actually, how does that work on Power PC macs - if the 68k emulator is resident on the disk in the ROM File, how is it loaded to interpret the 68k portions of the disk driver? Guess it must load the ROM File using generic Open Firmware drivers prior to loading the more "Macintosh" driver from the disk).
"Mac OS ROM" file is for New World Macs. It contains Open Firmware code which means it's loaded by Open Firmware. Once the ROM is setup, then it can load the Mac OS 9 drivers from the driver partitions of the disk just like Old World Mac ROMs do.

Old World Mac ROMs are like the "Mac OS ROM" file - contains toolbox ROM (first 3 MiB), exception table, HWInit, 68K emulator. "Mac OS ROM" file doesn't include Open Firmware.

Hum, not sure where the issue lies, but I've had problems even formatting disks bigger than 128GB on a Beige G3, and also I think my Pismo under OS 9.x.
Formatting is a separate issue from actually using a disk that has already been formatted. For your Beige G3, can Mac OS 9 (installed to the first 8 GB if necessary) access all the partitions of a big disk formatted by Mac OS X 10.5.8? I think the answer is yes.

I'd be happy to add a link once you've written and validated a fix for the Open Firmware and provide a way for a beginner user to apply it without having to compile it or dig into the depths of Open Firmware.
One day I'll continue work on that. I would like to make a version for my B&W G3 and Power Mac 8600.

Avoiding a problem sounds like a solution to me 🤣 - I was giving options, some of which were for the built in interface, others which were to use an alternative interface. Sil3112 based cards have a lot of advantages and can still be found for good prices if you hunt around. Even if there was a Firmware fix, for many people it would still be the best answer as it opens the door for faster disk speeds, cheaper disks, bigger disks, newer disks...
I would like to see USB 3 and NVMe attempted one day. That would be fun.
 

Froggy814

Tinkerer
May 6, 2026
155
43
28
Squaw Valley, CA
I don't think that the hardware inside a G3 would allow USB-3. Maybe if you hacked into the airport card slot or the 2 minnanzanee slots on the iMac G3. But I don't know if it's even feasible.

I don't mean to be a party pooper. If it is possible, I would love to see it done.
 

Certificate of Excellence

Active Tinkerer
Nov 1, 2021
980
684
93
48
United Sates
I don't think that the hardware inside a G3 would allow USB-3. Maybe if you hacked into the airport card slot or the 2 minnanzanee slots on the iMac G3. But I don't know if it's even feasible.

I don't mean to be a party pooper. If it is possible, I would love to see it done.
There’s a funny T-shirt in this somewhere, I just haven’t sussed it out yet LOL 😂
 

phipli

Active Tinkerer
Sep 23, 2021
377
255
63
I don't think that the hardware inside a G3 would allow USB-3. Maybe if you hacked into the airport card slot or the 2 minnanzanee slots on the iMac G3. But I don't know if it's even feasible.

I don't mean to be a party pooper. If it is possible, I would love to see it done.
So we're mostly talking about desktop computers with PCI slots.

There are adapters that let you plug PCI-e cards into PCI slots (so for example, a USB-3 card, or NVMe adapter). This is probably more what joevt means than an iMac (although the mezzanine slot is just PCI electrically, but not mechanically). Potentially you could also create a custom PCI card with USB-3 to avoid needing a stand alone adapter.

joevt is very competent at low level firmware / ROM work and so only electrical compatibility is needed as the fun part is sorting out software compatibility where nothing is impossible.

USB-3 would be super useful as it would let you transfer files easily from a modern computer. NVMe might be less of a benefit because even original SATA already saturates the PCI bus in a Beige G3 (theoretical maximum of 33MHz, 32bit gives 133MB/s ignoring overheads, vs original SATA speeds of 150MB/s and most modern SATA drives being capable of more than 400MB/s).

One place where NVMe or SATA-300 might be good is if you place the card in the fast 32bit/ 66MHz "graphics" slot in a blue and white G3 or Yikes! - I have actually done this with a SATA-150 card and seen some small speed gains, but there are bottlenecks. I forget how much better than the 33MHz slots it benchmarked.

We could also create a 64bit card for the 64bit slots if there is a 64bit interface and / or adapter chip perhaps? But as always, software is always the difficult bit with any plans.
 
  • Wow
Reactions: Froggy814

joevt

Tinkerer
Mar 5, 2023
352
136
43
One place where NVMe or SATA-300 might be good is if you place the card in the fast 32bit/ 66MHz "graphics" slot in a blue and white G3 or Yikes! - I have actually done this with a SATA-150 card and seen some small speed gains, but there are bottlenecks. I forget how much better than the 33MHz slots it benchmarked.
The 66 MHz slot of B&W G3 and Yikes is weird because it's basically an overclocked slot that can't run at 33 MHz like a normal PCI slot can. So if a card works in that slot then you know for sure that it's working at 66 MHz.

We could also create a 64bit card for the 64bit slots if there is a 64bit interface and / or adapter chip perhaps?
32 bit PCI to PCIe bridges are obtainable. 64 bit PCI to PCIe bridge are less so. You might have to make your own:
https://www.facebook.com/groups/retrocomputers/posts/26777579455178582/

But as always, software is always the difficult bit with any plans.
Relatively modern Linux distributions exist for 32-bit and 64-bit Power Macs? Wouldn't they have NVME and XHCI and Thunderbolt drivers already? I've never researched that.