Skip navigation.

Rants & Ramblings

Posts tagged with "Apple"

PowerBooks, G3s and such

, , , ...

Just some updates. I had a chance to play with a PowerBook 3400c so I had to do some work on NetBSD support:
  • the built-in Ethernet interface didn't work because OpenFirmware lied about the IRQ line it used - fixed that.
  • turns out that said IRQ line is connected to a 2nd interrupt controller that the old interrupt handling code was blissfully unaware of - rewrote half of it to support multiple PICs. Now I need a PowerBook G3 to add support for the 2nd Heathrow found in some of those...
  • wrote a console driver for the built-in graphics controller - thumbs up to Intel for still offering docs for the C&T 65550 for download
  • fixed a few weirdnesses in XFree86's 'chips' driver - apparently nobody ran it on big endian hardware so far
  • added some experimental code to properly set up the CardBus bridges - OpenFirmware can't pe arsed to do so for some reason


Then I got a beige G3, 1st generation, worst Apple OF ever. Without firmware patches it can't load anything from an IDE disk or CDROM so I had to netboot it to get anything installed. Ran into the following issues:
  • the onboard audio chip doesn't produce any sound. Turns out there is an additional mixer chip controlled via i2c which also supports bass and treble controls. Wrote a 'driver' for it.
  • said i2c bus is controlled by Cuda, which also controls the ADB bus, real time clock, power etc. - turns out the existing ADB code is an unholy mess, no sane way to add i2c support there so I would up to write my own.
  • the new ADB code ( not committed yet but will soon ) supports the same kind of ADB hardware, is much smaller than the old code and should be a lot cleaner. Got rid of a lot of weirdnesses like phantom scancodes following caps-lock, fixed LED control on full-size external keyboards, sane support for mouse button emulation ( since ADB mice tend to have only one button )
  • clear separation between Cuda / PMU and ADB since newer Macs don't have ADB anymore and at least the PMU is extremely bitchy regarding commands it doesn't understand - instead of spitting an error like Cuda does it just powers down the machine. Very annoying.
  • the PMU driver is unfinished - no support for brightness/volume control, battery and power management so far but that's easy to add.


General changes in NetBSD/macppc:
  • now we can use other console drivers than ofb. Namely machfb ( for most mach64-based graphics controllers ), radeonfb ( most radeons ), chipsfb ( C&T 65550 ) and voodoofb ( 3Dfx Voodoo3 ) - all use the blitter whenever possible.
  • added 24bit audio support to the snapper driver
  • bugfixes, bugfixes, bugfixes