Upgrading the Radius Rocket 25i
In the early 90s before Apple was able to release the first 68040 based Quadra system, Radius, mostly known for their video cards and monitors but also a manufacturer of products including accelerator cards, released a 68040 accelerator card called the Rocket.
Unlike most processor upgrades which tended to fit in a PDS (Processor Direct Slot) or into the processor socket itself, the Rocket is unusual in that it fits into a NUBUS expansion slot. The Rocket was designed to work in the Macintosh II family, and later, the Macintosh Quadra and first generation PowerPC families.
Initially the Radius Rocket was purely an accelerator board using the RocketWare software and acted as a substitute for the logic board’s processor, as well as to some extent the logic board itself. The Rocket is almost a complete Macintosh on a card, with integrated RAM, graphics acceleration, and a PDS connector of its own for additional plug in boards. The host logic board’s processor remains active and handles I/O. The primary issue with this setup seems to be that sound becomes troublesome, bordering on unusable.
After a period of time, Radius released additional software called RocketShare. RocketShare enabled the user to boot an additional copy of the Macintosh System Software within a window, very much like a modern virtual machine with a dedicated processor core. As many simultaneous sessions could be run as the user had cards installed in their computer.
The Radius Rocket relied heavily on the System Software’s networking capabilities, I believe implementing a very high speed network using the NUBUS expansion bus itself. Apparently, apple took issue with the suspected loss of sales of new machines caused by people choosing to upgrade older machines to to the latest speeds, without having to buy a new Mac. Apple, apparently, intentionally crippled AppleTalk in System 7.5 to prevent System 7.5 from being used on the Rocket.
Radius offered a number of cards at 25, 33 and 40MHz. The 25i card (25MHz) was sold as a lower cost option with no FPU (Floating Point Unit, aka Maths Co-processor). I believe the 40MHz version was only available as a “Stage II Rocket” which only works with RocketShare, meaning it was not possible to use the card as an Accelerator.
Today, I have been playing with my Radius Rocket 25i, with the intention to see by how far I could extend its performance beyond its position at the bottom of the product range. In stock form, the Rocket 25i gives performance marginally ahead of the Quadra 700 in CPU benchmarks with the exception of functions that use the Quadra’s FPU. It is worth also remembering that the Quadra’s video hardware will usually exceed the performance of an upgraded computer, despite the Rocket’s QuickDraw acceleration. While I use an accelerated Radius brand video card, my Macintosh IIx still can not match the video performance of the Quadra 700.
Adding a FPU
My first plan was to add a hardware FPU by swapping out the current processor for one purchased from China via eBay (I have quite good luck buying chips like this, and suspect fake chips aren’t as much of an issue as people make out – just one observation, if you pay unbelievable prices, it probably isn’t real).
It proved quite difficult to remove the existing processor as the Rocket’s processor socket is a little brittle, so I bought a special removal tool which spreads the load more evenly than a screwdriver, and can apply more force than a plastic tool. The Rocket’s socket was extremely stiff and I ended up having to use a screwdriver anyway, and I’m not proud.
In the now vacant processor socket, I fitted a 33MHz 68040. Given that the replacement processor is a 33MHz part, I didn’t bother immediately applying a heatsink, especially as I wanted to confirm that it was capable of running at 33MHz, and running without a heatsink is a reasonable way to test its capabilities. I monitored temperatures with my non-contact infrared thermometer – I find most of my 33MHz 68040s run between 50 and 60 degrees centigrade when operating without a heatsink.
Booting into RocketShare on my Macintosh IIx, I launched Norton System Info (a benchmarking tool included with Norton Utilities) and was shocked to find that it listed the card as not having an FPU. This suggests that the Rocket itself controls whether the FPU is reported or not. This was disappointing, but interesting.
Wait a Minute, it Already Had One
As installing a 68040 which included an FPU hadn’t provided an FPU, I got suspicious and closely inspected the original processor from the Rocket 25i. I was only able to see the very top of the characters of the part number, but it was possible to work out that it actually said “XC68040RC25A” – wait a minute, a chip without an FPU would be labelled something like “XC68LC040RC25A”! The “non-FPU” Radius Rocket was sold with a full, FPU included processor! That’s… frustrating.
Cloning a Full Fat ROM
Using my EPROM reader / writer I wrote a copy of the ROM from a 33MHz Radius Rocket (which has the FPU enabled) to a 27C256 EPROM, similar to the chip that was already in the Rocket 25i. I also ripped the contents of the ROM from the 25MHz board to compare the two, and found them to be only three bytes different, although I’m not smart enough to understand exactly what the differences mean.
Interestingly, the ROM has very little data in it, less than 1KB in the 32KB ROM. It may just contain settings and not much more. The size of the chip seems wasteful considering this, so perhaps there were plans which never came to fruition, or it was a “just in case”.
I swapped in the newly written “33MHz” EPROM into the Rocket 25i and booted it up to see what would happen. Success! The FPU is now recognised, although I am running a 33MHz processor at only 25MHz in this configuration.
I’d object to the fact that System Info thinks that I have a 33MHz clock, except that weirdly, even with the 25MHz ROM, it sill reported itself as 33MHz. Not sure if this is evidence of someone having previously done something odd with this card, an error from the factory, or perhaps it is just something that System Info, or the Operating System, gets wrong.
Increasing the Clock Speed
Now that my curiosity was satisfied and I had seen that yes, the 33MHz board’s ROM would function happily on the Rocket 25i, I decided to try to take advantage of the newly installed 33MHz processor.
First I desoldered the existing 50MHz clock (divided by two for the 25MHz speed). I don’t recommend doing this unless you’re feeling extremely brave as I had difficulty getting enough heat into the PCB to work the clock free and it would be easy to damage your Rocket. I then fitted a 16 pin DIP socket, with all but the corner pins pushed out. This is to allow me to more easily swap in different clocks.
I plugged in a 64MHz clock (the closest I could find to my target of 66.666MHz) and booted up the computer.
After the host machine had started, I booted RocketShare and ran a benchmark in System Info – performance was exactly as expected for a 32MHz Rocket! Interestingly, possibly due to an excellent memory architecture, the Rockets tend to score slightly better than Quadras of the same clock speed in processor benchmarks. As such, even though the clock speed was slightly lower, the now 32MHz Rocket scores a couple of points (1 point = 1% of a Quadra 700) ahead of the 33MHz Quadra 950, and exactly equal to a 33MHz Quadra 650.
Trying for More
Enthusiastic from my success, I decided to see if the card would run overclocked to 40MHz, although I wasn’t confident as I don’t believe that this variant of the PCB was offered with a 40MHz processor, suggesting that the Stage II was a redesign necessitated by wanting to increase speeds.
I fitted one of my homemade DualClocks, with switchable clock speeds of 60 & 80MHz, set it to 80MHz…. and the computer crashed when I started the Rocket. Never mind!
The processor was cool at the time, had a heatsink fitted and crashed almost as soon as it started trying to boot. This makes me think that the inability to run at 40MHz is a result of the PCB design, or logic speeds/ timing elsewhere on the board, or possibly a programmed hard limit (the latter being less likely).
The Future
I thought I had a 72MHz clock spare, but sadly I have used them up in other projects (there is one in my Acorn A3010 and the other I sent to someone). I’ve ordered some more, and hopefully they’ll arrive in a couple of weeks. This will enable me to test the Rocket’s stability at 36MHz, which feels like a nice middle ground between the stable 32MHz and the crash at 40MHz.
There are two Jumpers on the board, J5 and J6. The 25i has a jumper fitted at location J6, while 33MHz boards have a jumper at J5 and J6. At this point I don’t know what these jumpers do (note the RAM speed jumper is elsewhere). Please contact me if you know anything about these jumpers.
Conclusions
- To upgrade a Radius Rocket 25i to have an FPU requires both a processor with an FPU, and a ROM from an FPU enabled Rocket.
- The processor in a Radius Rocket 25i may physically already have a FPU!
- Increasing the Rocket 25i’s clock speed is possible by replacing the 50MHz clock with a higher speed clock, but it is tricky to desolder.
- My Rocket 25i will not run at 40MHz, even when the processor is cold.
Update…
After waiting for a 72MHz and then a 66.667MHz clock in the post, I can confirm that while the board works fine at 33.33MHz, it will not boot at 36MHz. Given how it is completely reliable at 33.33, but crashes instantly at 36MHz, it feels almost like there is a programmed hard limit. I’m unlikely to buy and try a 68 or 70MHz clock for 34 or 35MHz, although might give it a go if I happen to find one or build a programmable clock. The following shos the Norton System Info processor benchmark for the Rocket 25i running at 33.33Mhz. Possible further spees gains could be made if I fitted 8 identical, fast, RAM sims, as the Rocket performs best in this configuration.