Skip to content

About

CardBus and PC Card support for the 17-inch aluminium PowerBook G4 under Mac OS 9. Patched ROM, diagnostic tool, and the full research record.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CardBus for the 17-inch aluminium PowerBook G4 under Mac OS 9

The PC Card slot on a 17-inch aluminium PowerBook G4 (PowerBook5,1) has never worked under Mac OS 9. Insert any card and nothing happens: no icon, no driver, no error. This repository contains a patched Mac OS ROM that fixes it, the diagnostic tool used to find the fault, and the complete research record.

It works. On a PowerBook5,1 running this ROM, measured by the people who tested it:

card result
FirmTek SeriTek/1SM2 (eSATA) volumes mount, 98.34 MB/s read, 95.84 MB/s write sustained
RME Hammerfall DSP (audio) mixer runs, DSP settings adjust, audio plays through ASIO
Adaptec CardBus SCSI card enumerates and publishes
NEC USB 2.0 card enumerates, drivers attach, root hubs come up

Credit where it is due

This ROM is darthnVader's work plus three patches. The base is his modified Mac OS ROM 10.2.1 from MacOS9Lives, which is what makes Mac OS 9 boot on these machines at all. Without it there is nothing here to patch. Everything in this repository sits on top of that.

  • darthnVader (MacOS9Lives) for the modified ROM this is built on.
  • DieHard (MacOS9Lives) for the original report that the CardBus slot was dead.
  • vectrex and LarsG5 (MacOS9Lives) who did every piece of hardware testing here, on their own machines, across dozens of reboots. Every measured result in this repository is theirs.
  • Elliot Nunn for tbxi, the toolchain that takes these ROMs apart and puts them back together.
  • The Linux drivers/pcmcia/ti113x.h authors, whose register definitions decoded the TI CardBus controller for us.

What was wrong, in three parts

The slot was dead for three separate reasons, each of which had to be found and fixed before the next became visible.

  1. The ROM's CardBus parcel was keyed to the wrong chip. It matches pci104c,ac1a (TI PCI1210) and pci104c,ac50 (TI PCI1410). The AlBook has a PCI1510, pci104c,ac56, so no socket driver was ever attached. Fixed by matching the generic cardbus-bridge name instead.

  2. The socket driver's own whitelist rejected the chip. ti1210-1.0d1.pef carries a list of device IDs and returns error -9070 for anything else. Fixed by repointing one unreachable entry at ac56.

  3. Card Services switched itself off before doing anything. This was the real blocker and the hardest to find. PCCard.pef's initialiser reads the machine's ProductInfo record and tests one capability bit. If the bit is clear it returns success having initialised nothing, registering no Gestalt selector and reporting no error. On the AlBook that bit is clear.

Across all 96 capability bits, a Titanium PowerBook where CardBus works and an aluminium PowerBook where it does not differ in exactly one bit, and it is that one. The fix sets it.

Contents

path what
docs/ALBOOK17-CARDBUS.md the full research record, including every wrong turn
probe/cardbus_compat.c CardBusCompat 3.0, the read-only diagnostic
scripts/ the ROM build and verification tooling
logs/tibook/ 34 runs on a Titanium PowerBook, the known-good reference
logs/field/ 31 runs from testers on real aluminium PowerBooks
dist/MacOSROM.albook-cb2.hqx the patched ROM
dist/CardBusCompat_v30.hqx the diagnostic, ready to run

Installing

⚠ Back up your existing Mac OS ROM first. It lives in the System Folder. If anything goes wrong, hold Option at the chime, start up from Mac OS X, and put the original back.

  1. Back up System Folder:Mac OS ROM.
  2. Decode dist/MacOSROM.albook-cb2.hqx (StuffIt Expander handles BinHex) and put the result in the System Folder, replacing the existing file.
  3. Restart.

CardBusCompat is read-only and safe to run at any time. It writes a log called CardBus Compatibility Log to your startup disk.

What is still untested

  • Sleep and wake with a card inserted. Nobody has tried it.
  • Booting Mac OS 9 from a CardBus drive. The SeriTek publishes an AAPL,boot-cookie, so it advertises itself as bootable, but this has not been attempted.
  • Any card not in the table above.

A note on the diagnostic

CardBusCompat went through four wrong answers before it was right, and every one was caught by running it on a machine where the answer was already known rather than by reading the code. Three different ways for a driver to claim a card turned up, one per new card class tested. The research record documents each mistake, because the mistakes are most of what was learned.

Licence

MIT, see LICENSE. The Mac OS ROM itself is Apple's and is redistributed here as a patched binary in the same spirit as the MacOS9Lives community ROMs it is built from.


Research and tooling produced with Claude (Anthropic) assisting.

About

CardBus and PC Card support for the 17-inch aluminium PowerBook G4 under Mac OS 9. Patched ROM, diagnostic tool, and the full research record.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages