Macintosh IIfx – history & restoration

Restoring the Macintosh IIfx actually started with a desire to run A/UX on the machine. When I found out just how badly degraded my IIfx had become, I set out to preserve it… hopefully for a long time to come.

Macintosh II reference image from Wikipedia

The Macintosh II was released to the public in March of 1987. It was based on a Motorolla 68020 CPU running at 16Mhz paired with a 68881 math co-processor. This beast of a machine (by 1980’s standards) was a departure from the original monochrome Macintosh line resembling something more like the PCs and workstations of the era.

Like those machines, the Mac II was expandable with add-in cards and required both a display card and separate monitor. Apple would update the design twice, first with the Macintosh IIx which upgraded the CPU and co-processor to the 68030/68882 respectively, and lastly the Macintosh IIfx. The Macintosh IIfx was released 2 years after the IIx in 1990 and was Apple’s attempt to see just how much performance they could squeeze out of the Motorolla 68030-based Macintosh IIx platform.

The Macintosh IIfx was still based on the 68030, but ran at over twice the speed of the IIx clocking in at 40Mhz. Apple didn’t stop there though. 72-pin SIMMs weren’t quite ready in time, so Apple crafted bespoke 64-pin SIMMs that were essentially DIMMs in the shape of a 32-pin SIMM module. This gave the Mac IIfx much faster memory speeds than could be achieved with standard memory of the time, but they didn’t stop there either. The Mac IIfx supported anywhere from 4MB to 128MB of RAM, an eye-watering amount in those days. The downside was it had a price to match these specs, coming with a base price of $9k up to $12k depending on the configuration. (that’s in 1990 dollars… what would cost roughly between $22k and $29k in today’s money) That’s solidly in serious workstation territory, and the IIfx would be used as such for graphics work in the television and movie industry.

My example was given to me by a colleague who was cleaning out some of their things and asked if I wanted any of this old computer junk. It was a Macintosh II and I was happy to have it. What I didn’t know at the time was how special this machine was. While it had originally been sold as a Macintosh II, Apple reused the same case and power supply for the IIx and later IIfx. After the release of the IIfx, Apple offered the bare IIfx logic board as an upgrade path for Macintosh II and IIx customers. This Macintosh II was one of those machines that had been upgraded and came complete with 16MB of RAM installed, a pair of floppy drives and a couple of external SCSI hard disks. (something common with these machines at the time)

As detailed in my last post, the logic board and both floppy drives needed repair. The logic board wouldn’t even power up initially, but that was easily resolved by replacing 2 failed SMD capacitors and a little board cleaning. With that out of the way, I attempted to boot from a MacOS 7.5.0 install disk. This worked, but I noticed that not only did the auto-eject feature of the Superdrive (Apple’s name for the 1.44MB floppy) no longer function, but the drive mechanism wasn’t working entirely as it should either.

leaky 47uF 16v cap caused some minor corrosion

A later boot on the disk utility floppy revealed the older 800k floppy drive wasn’t working at all. Adrian Black covered the entire process of repairing the 800k drives in this video, so I won’t go through all the details. However, the 2 main problems are accumulated dust/lack of lubrication and a separate issue with degrading plastic gears in the eject motor assembly.

booting up after initial remediation of the logic board

Another issue that can be seen here appears to be a problem with the graphics card. There are white vertical lines at specific intervals that may indicate a fault. So far this old NEC Multisync display is the only VGA monitor I have that will work with the older macs. I’ve ordered a display output adapter that may help, but I’m not confident that it will resolve the issue.

I’ve ordered some replacement parts and have begun the process of disassembling some of the other Macs in my collection as well. All of the floppy drives, even into the PowerPC era are breaking down, likely due to the same issues. Hopefully I’ll be able to get the IIfx back up and in good working condition. To be continued…

All of the classic Macs are falling apart

Somehow over the years, I collected a number of Apple Macintosh machines. One I’d been meaning to get back to was a legend in it’s time, the Macintosh IIfx. This machine was a powerful workstation for the day and I was interested in seeing if it would be up to the task of running a period correct copy of A/UX. (Apple’s UNIX distribution) I pride myself on keeping all of my collection in working order, but I hadn’t used any of the classics in a couple of years and probably hadn’t touched this one in at least 4 or 5 years. I got the IIfx down from the shelf and set it up, but it wouldn’t even turn on. Strange I thought… I hadn’t used this one in a while and I’d even removed the batteries recently to keep them from leaking and damaging anything. What else could be wrong I wondered. As it turns out, quite a bit.

I knew of a range of common issues that seem to have occurred to many of these machines in the community, but mine had always worked flawlessly, so I’d assumed just taking good care of them had been enough. The Macintosh II came out in 1987 and the IIfx followed 3 years later. Mine was originally purchased as a Mac II, but has the IIfx logic board upgrade fitted. At 35yrs old, this machine is now starting to show it’s age, and as I’d find out, so are many others of this vintage and beyond. The primary issue plaguing my machine was a pair of surface mount capacitors that failed and leaked onto the logic board. This was resolved easily enough by removing them, cleaning the board and then soldering on a new set. Once it was all back together, I whipped out a set of MacOS install disks and found the next problem. While the machine did start up, the floppy drive wasn’t working quite right. The disks didn’t go in the way they were supposed to and the drives no longer even attempted to eject the disks. (one of the coolest features back in the day that made the Macs feel so special)

As it turns out, there are multiple reasons for these issues. Some are related to material science issues as the polymers used in the casing and some internal parts have destabilized and are starting to degrade. (the source of the eject issue is a plastic gear that becomes brittle and crumbles away) Others are due to electrical components that have passed their shelf life and are starting to give out. 2 of my other Macs, a Performa 550 and a PowerMac 5500/225 (both all-in-one machines) have cases that have become brittle to the point I hesitate to work on them. The Performa is severely yellowed over the entire case and is only held together with a few screws. (the mounting posts for most of them have disintegrated on the inside) The PowerMac isn’t as bad, but the floppy drive just broke and I’m hesitant to remove the front cover to extract it because it’s also in the same condition. It’s too bad really because they are interesting and unique machines that I’d really like to keep in good condition.

One good thing that’s come of all this is I’m nearly done with repairing the IIfx I initially set out to restore, but it’s also made me realize that my Mac gear and software is living on borrowed time. I’ve started disassembling several other machines and all of them are showing the same symptoms or worse. I’m also starting to archive as much of the software as I can, but some of this will have to wait until I have at least one of these Macs fully restored. (GCR encoded 800k floppies are a strange beast and archiving them on anything but a Mac is a dark art I haven’t quite mastered) These and more deserve an entry of their own, so I’ll come back and do that another time.

A 16-bit bus does not a 386 make…

If you were very young in the early 1990s, or were born after that time, you may have gotten the impression from some retro enthusiasts that certain CPUs labeled “486” aren’t really a 486 at all. Many will point to the fact that these chips have a 16-bit external interface to the mainboard and conclude that they can’t really be a 486. Others may point to their performance being in-between that of a 386 and a i486DX and conclude it’s just a tweaked 386. So what makes a 386, or a 486 for that matter, and are these retro enthusiasts right?

History & Technical Specs

Intel introduced the 80386 in 1985. The 80386, later called the i386 was a huge step forward from Intel’s previous generation of 16-bit microprocessors, the 8086, 8088 and the 80286. Intel extended the architecture & instruction set of the 80286 to 32-bits and added additional features such as a 6-stage pipeline, and an on-chip memory management unit. Intel also added 2 new operating modes (real mode, virtual mode) and extended the existing protected mode to allow for addressing up to 4GB of memory. Like the 80286, the 80386 did not have an internal floating point unit and instead had the option of adding an external math co-processor. Intel also added 16 new instructions to the instruction set of the 80386: BSF, BSR, BT, BTS, BTR, BTC, CDQ, CWDE, LFS, LGS, LSS, MOVSX, MOVZX, SETcc, SHLD, SHRD.

As soon as the 80386, (later rebadged the i386) was in production, Intel began work on the i486 microprocessor. The i486 was released in 1989 and was a more incremental improvement to the i386 design. Like it’s predecessor, the i486 was a 32-bit microprocessor based on the same instruction set, but with a few extensions and improvements. Intel added only 6 new instructions to the i486, ( XADD, BSWAP, CMPXCHG, INVD, WBINVD, INVLPG) but there were many other improvements. An 8k on-chip cache memory, what we now refer to as level 1 greatly enhanced performance. Intel also included an improved version of the memory management unit which further enhanced memory performance. Another improvement was tight pipelining which allowed for simple instructions to complete in a single clock cycle as opposed to 2 on the i386. The one change the i486 (DX) is remembered for is the integration of an on-chip FPU which did away with the need for an external math co-processor. This not only simplified mainboard design, but further enhanced the performance of the floating point unit.

Enter the competition

A relative newcomer to the x86 microprocessor market named Cyrix released their first 486 compatible CPU in 1992, just 3 years after Intel’s i486. Cyrix had previously produced a range of math co-processors known as “FasMath” for the 80286 and later i386. This new processor, the Cx486SLC was intended to be pin-compatible with the i386 and thus had some compromises made to fit the older CPU’s design. Like the lower end i386SX chips it was intended to replace, this meant it was connected via a 16-bit external bus and had a 24-bit address bus. Like Intel’s i486, the Cyrix chip also included an on-chip L1 cache, but unfortunately this was cut down to 1k in the initial version. The Cx486SLC did have a 32-bit internal data bus and supported 8, 16 and 32-bit data types as well as a fully i486 compatible instruction set. 1 month later, in April 1992 Cyrix introduced the Cx486DLC in a 132-pin package that was pin-compatible with the i386DX. This was a fully 32-bit chip, both internally and externally and thus wasn’t subject to some of the performance limitations of the earlier SLC design. While not intended as a direct drop-in replacement for the i386, the Cyrix chips could be used in older mainboards with some minor modifications. (Cyrix did later manufacture upgrade chips like the Cx486DRx2) What this really achieved was the production of Cyrix compatible boards that were cheaper to manufacture than i486 boards because they used older components common with earlier i386 systems. In 1992 Cyrix did not have an i486 (socket 3) pin-compatible chip available. This wouldn’t happen until a year later when the company launched the Cx486S and Cx486DX which included an on-chip FPU as well.

A 386 or a 486?

While the Cyrix Cx486SLC certainly bears some similarities to the earlier i386 due to their pin-compatible design, the chip is clearly not a 386. It has all of the instructions and features of the Intel chip, but in a cost-reduced, low-power design. Certain aspects of the MMU and FPU design on the Cyrix chips were ultimately inferior to the i486, hurting their performance, but this alone does not make them a 386. The form factor and physical limitations of the i386 SX packaging and performance taken together is likely what formed these opinions among many. However, taking a closer look at the architecture, it’s clear the Cyrix 486SLC/DLC and later 486 designs were true 4th generation x86 CPUs, though somewhat lower performing budget options. (clock for clock)

Put another way, calling a Cyrix 486 a “386” would be like calling the 8088 a “fancy 8080.” If you don’t get my reference, stick with me for a sec. The 8008, 8080 (and later 8085) were Intel’s earlier 8-bit line of microprocessors. They were much simpler than Intel’s first 16-bit CPU, the 8086, but used a similar base microarchitecture. The original IBM PC XT used the 8088 which was a 16-bit CPU like the earlier 8086, but was constructed with an 8-bit data bus similar to the earlier 8080 and 8085. This made it possible to build a system around the 8088 using much cheaper components than would be possible with an 8086. (see the similarities?) The 8086 was a far superior chip, clocked at double the speed of the 8088 and with a 16-bit data bus, but both chips were capable of running the same software. While the 8086 famously appeared in several popular systems like the original Compaq Deskpro and the Tandy 1000 SL/RL, it was the PC XT’s 8088 that kicked off the PC revolution.