the ultimate centris 650
I've been getting into software development for the classic Mac OS, and wanted a pre-PowerPC machine to play with. The Centris 650 (or the slightly later Quadra 650) is one of the last machines of the era, but also cheap, expandable, and hackable. As a bonus, it's capable of running the final version of A/UX. This page will document its current state, link reference material, and track plans for further work.
The Centris 650 runs a 68040 at a wimpy 25 MHz (or, if you're unlucky, a 68LC040 with no FPU). Mine came with a XC68040HRC25M, mask revision E31F, a 1993 chip manufactured on a 0.8um process, rated for 25 MHz. If we want to overclock, ideally we want a fastest-rated, latest-revision chip. Since the 68040 was sold from 1989 to 2005-ish, it underwent many updates and die shrinks; the final one, which runs the coolest with the most headroom, is the L88M mask revision. Unfortunately, these are pretty rare (I blame the Amiga fans), and any you see on ebay are probably fakes (usually older, relabeled chips). I ended up with a 40 MHz MC68040RC40A, mask revision E42K from 1999. Swapping in the new chip is fiddly but straight forward.
The clock speed is determined by the oscillator between the CPU and the closest Nubus slot, which is then multiplied by two. The stock part is a fairly large 4 pin plastic SMD at 12.5 MHz on 5V. It happens to have an enable pin, so it's trivial to disable by grounding. While I was buying parts for this project, an obscure item came up on ebay: a NewerTech MacClip Junior. It's an aftermarket clock generator that clips on top of the stock oscillator, with speed configuration via DIP switch. My particular model is labeled for the 800 and 804av, but it works fine on other Quadras. It also includes a cute heatsink with a tiny fan, though the stock heatsink is probably sufficient. For reference, here's the list of settings and the clock speeds I got:
- 0000: 25
- 0001: ??? (38?)
- 0010: 29
- 0011: 42
- 0100: 26
- 0101: ???
- 0110: 31
- 0111: 44
- 1000: ???
- 1001: ??? (39?)
- 1010: 30
- 1011: 43
- 1100: 28
- 1101: ??? (41?)
- 1110: 32
- 1111: ??? (45?)
I ran through the speeds and got the original chip running stably at 32 MHz. To get it going faster, we need a little more info about the motherboard.
Fortunately, there was a healthy Mac overclocking scene in the late 90s, and this site contains a goldmine of information on how to approach each machine. There are a few interesting tidbits about the Centris 650, specifically about the oscillators and the motherboard. The Centris 650, Quadra 800, and Quadra 650 all used the same motherboard (the "WOMBAT") with apparently identical components, except for one resistor and a jumper. Normally this would be an irrelevant curiousity, but if you try to clock a Centris 650 past 33 MHz, peripherals stop working properly. Apparently the chipset decides the correct clock configuration based on the motherboard ID. We take advantage of this by "converting" the machine into a Quadra 650, which involves desoldering resistor R151 and mounting a 1.2K 0805 resistor at R152. After this, the new chip was solid at 44 Mhz.
The clip is a convenient device, but feels very insecure, and I'm less than confident in its durability. Instead, I decided to solder a socket on top of the original oscillator, making it very easy to swap in faster ones. I've found 12.5, 16, 20, and 22 MHz oscillators to put in it, giving me a nice range for testing and stability.
Boot time is way shorter, and my SSH client connects almost twice as fast. This may be the fastest anyone has ever run a Centris 650?
I really wanted to crack 50 MHz, but I think this would require a Quadra 650. My unsubstantiated suspicion is that while the Quadra has functionally equivalent parts, Apple used ones with better tolerances, lower latencies, or higher speed ratings.
Officially, you can max out with four 32MB SIMMs, plus the 8MB of onboard RAM, for a total of 136MB. If you're unlucky, your Centris 650 may only have 4MB of onboard RAM, in which case you can look up the part number of the chips, hope they're available NOS on ebay, and solder them on. Mine has TI TMS44400DJ-70 chips.
However, 136MB would hardly be the ultimate 650. According to fantastic hacker bbraun, the Apple ROM in the 650 configures the memory controller to only handle 32MB per slot. He's written some great documentation on his experiments and the exact configuration registers used, and managed to create a modified ROM that configures the djMEMC controller for 128MB per slot. Unfortunately, the onboard ROM isn't writable. The 650 does have an unpopulated footprint for a ROM SIMM socket, so if you solder on the correct part, it can accept the same ones as many other 68k Macs. Some hobbyists have created modern flash SIMMs (Garret's Workshop ROM and the Mac ROM-inator II), so we can 'just' get one of those with the programming hardware, and load bbraun's hacked ROM.
I don't actually have a ROM socket or a flashable ROM card yet. I may hack up a simpler ROM SIMM design of my own, with more convenient on-board programming. Once I get one working, I'd like to experiment more with the register configurations. The most usable RAM bbraun got working was 8MB onboard + 128MB + 128MB + 64MB + 32MB (total of 360MB), which is definitely in the ultimate range.
the easy stuff
For disks, I'm using the stock floppy drive and caddy-loading CD. Rather than a traditional hard drive, I've got a SCSI2SD v6, which is reasonably fast and less likely to die suddenly. I designed a little 3D printed bracket to mount it onto the stock drive tray (files on github). I've tested out an enterprise SCA-2 15,000 RPM disk, which was faster and fun to listen to, but even that is fairly old, and I'd rather keep moving parts to a minimum. I don't think there's any more ultimate option than those two.
Display-wise, I'm using an Apple Multiple Scan 15 CRT. I wouldn't call it ultimate, but it's period-appropriate and completely adequate. I also maxed out the VRAM at 1MB.
I've got an Apple Extended Keyboard II, arguably the best keyboard Apple ever made, and a matching Apple Desktop Bus Mouse II, which fucking sucks (not quite the worst Apple mouse, but only because Apple has always made awful mice).
For connectivity, I have an AAUI to 10BASE-T adapter, which does fine on a modern ethernet network.
the other stuff
The PSU fan is kinda loud, so I may replace that. Maybe even replace the whole PSU with something newer and more efficient.
To really become ultimate, I think this machine needs a few more things, but unfortunately they don't exist yet:
- ADB bluetooth
- SCSI wifi
- Nubus video with HDMI output
Who can say what the future holds? ...I can, since I don't think anyone else is going to do these before I get around to them, even if it takes a year or two.