flickr
seen from Canada
seen from China
seen from Germany
seen from Germany
seen from United States
seen from Russia
seen from Japan

seen from United Kingdom
seen from United States
seen from United Kingdom

seen from Russia
seen from Japan
seen from Singapore

seen from Canada
seen from Germany

seen from United States
seen from Canada
seen from Czechia
seen from Russia

seen from United States
flickr
Apple PowerMac G4 press photo 1999 (x)
Bringing an Old Machine Out of Retirement
I need a better PowerPC development toolchain. What I've been using is broken and incomplete. Were my main computer running … well basically anything other than Windows, getting a cross-compiler running would be pretty straightforward. But I'm not in a position right now to switch to something else.
Sure, I could easily spin up a VM and set up a cross-compiler that way. But — what if it didn't have to be a cross-compiler? If I'm developing for PowerPC, why not use a native PowerPC toolchain running on a PowerPC system? I have this collection of old machines just gathering dust; why not let them be useful again?
I want something that's going to perform well and not slow me down too much. I also want to be able to use modern tools, not fight with period-appropriate software.
So I think there's one clear way to go here: my old PowerMac G4 (Sawtooth, 450MHz) and NetBSD.
When it was first released, the PowerMac G4 was an incredibly powerful machine and it is still very capable. And NetBSD not only runs on everything, it has no problem maintaining current support for ancient architectures long since abandoned by everyone else.
But that doesn't necessarily mean getting it running will be easy. The install kernel on the most recent release ISO was crashing just after initializing video, so I had to drop back to 9.4. I didn't set up my hard drive partitions right the first time, so Open Firmware had no way reach the bootloader and I had to start over. The OS X install disk I used to format and initialize an HFS boot partition wouldn't let me open Terminal, so I couldn't copy the bootloader before install. The BSD disklabel setup process is confusing, to say the least, so my next install attempt failed with an out of disk space error. The install kernel's embedded root image doesn't include HFS partition support, so I couldn't copy the boot loader after installing NetBSD. The MacOS 9.2 install disk won't eject if it's the boot disk (unlike earlier MacOS versions), and I only have one optical drive so I had to install a minimal copy of MacOS 9 onto the HFS partition to boot from long enough to copy the NetBSD bootloader. And then it was a matter of finding the right Open Firmware incantation to boot the NetBSD system instead of MacOS.
I did get there in the end though. I've since been able to set up some essentials — like sudo, my preferred text editor, samba sharing, etc. — with relatively little fuss. So far, it seems to be running just fine; much better than one might expect for an operating system 24 years newer than the hardware!
I haven't quite decided what my development workflow will be like yet. I'm hoping I can put together a relatively smooth process. Something a little more automated than a manual git pull then make, but perhaps less than a full CI server like Jenkins (which is out anyway due to lack of PPC Java support).
“Three Macs” (2007)
Well that was easy to open
Power Mac G4
Early Hacks
Here we see a hack I did more than fifteen years ago, when I lacked much of the knowledge, experience, and materials I have at my disposal now. I overclocked my PowerMac G4 Sawtooth. Stock it ran at 450MHz; I was able to get it to run stable at 500MHz.
The CPU card for these old G4s used a few resistors to set the bus multiplier. For this old Sawtooth model, it was R7, R9, R11, R13.
I removed the resistors that were there originally and soldered some enameled magnet wire in their place. On the other end, I soldered a set of DIP switches to allow me to experiment with the multiplier without a lot of effort. I only had this bank of six switches, so two are unused. And then, lacking anything better, I wrapped it in tons of electrical tape.
I tried setting the multiplier up to 5.5x to get it up to 550MHz, but it wasn't stable enough to boot. At 600MHz it wouldn't even power on. I believe it could be set down to 3.5 or 3.0, should I ever have any reason to underclock the machine.
I used this computer, overclocked to 500MHz and running MacOS 10.5 for years before passing it on to a family member who used it for several more years. Never once had an issue with the overclock or my crude hack.
In the 15 years since, the tape has obviously collected a lot of dust, but the computer still runs fine. I'm just a extra cautious when it comes to working around those fine wires.