Tag Archives: 40MHz

Making a Wombat Fast

Making a Wombat Fast

Or, how to bump your Centris 650, Quadra 650 or Quadra 800 to 40 MHz with minimal effort.

A 40 MHz Quadra 650 (“Current System”)

Traditionally, the way we have overclocked the Wombat family of Macs (the 650s and the 800) is to desolder the CPU clock “G3” and replace it with a faster part, or alternatively, use a commercial product that “clips” onto the clock, disables it, and injects its own clock signal. Through a mixture of experimentation and, let’s be honest, the sudden availability of the schematics, I made the most awesome discovery, I’ve found that 40 MHz is easy without messing with the clock. This is great news, because…

  • The clock is a surface mount part, meaning if you want to swap between speeds, you need to make a socket / adapter.
  • The clock is right up hard against a NuBus slot meaning you have to be very careful when desoldering and soldering in the area.

It actually turns out that the logic board in these machines has a built in function that lets you select the clock source, either from G3, or a clock derived from the NuBus clock. Selecting the NuBus clock as a source just straight up runs your computer’s bus at 40MHz without having to do any particularly fiddly mods.

There are a number of “levels” of effort you can put in, each with different advantages and disadvantages. You can either just hard set your computer to 40MHz and overclock in terms of the timings (because the ROM still runs with 25 or 33MHz timings), change the timings to the correct ones for 40MHz by swapping resistors, or by adding an extra resistor and two jumper headings, make it that by just removing or fitting two jumpers, you can select (independently) the RAM/ROM/VRAM timings and the CPU clock speed (between either 20 and 25 MHz, or between 33 and 40 MHz).

Basic 40 MHz Overclock

This is the simplest overclock with the minimal effort.

Advantages – This is effectively an overclock, so you’ll get super fast video performance as well as fast RAM and ROM.

Disadvantages – This uses whatever timings you already have, so almost certainly be unstable if you have a machine that shipped as 25 MHz, and possibly unstable if you have a 33 MHz machine.

How to do the Basic 40 MHz Overclock…

  1. Remove the logic board from your computer and place it on a heat-proof and static safe surface suitable for soldering.
  2. Find the pair of pads next to the CPU called “J29” on the silkscreen.
  3. Bridge the two pads, either with a blob of solder, or a little length of wire soldered between them. Alternatively, fit a two pin male header (2.54mm pitch) for a jumper.
  4. Reassemble your computer and test to see that everything works.
J29 on the Schematic

The modification works because U71 is wired to select between two clock sources depending on if J29 is fitted or not. As shipped, J29 is always open, ClkSel is always “high” and so the clock signal (half the bus speed) is always taken from G3. If you short J29, ClkSel goes low and the chip switches to using C20M – a 20MHz clock used by things like the SCSI and EtherNet chip, sourced from the NuBus circuit. Whichever clock is selected is doubled by the MC88916 chip before being fed into the CPU. Don’t worry that R235 isn’t fitted – it isn’t needed.

The Location of J29

I recommend leaving a CPU in the socket while soldering to protect the socket from slips. In the photo above I’ve used solder wick / braid and flux to remove the solder that was in the through holes. You only need to do this if you want to fit a jumper (so you can select between the stock speed and 40 MHz by removing and fitting a jumper. The following shows my setup.

J29 with a Header and Jumper Fitted

If you don’t already have a CPU heatsink, consider fitting one.

Adding 40 MHz Timings

This is a more stable solution that requires a little more soldering. This mod is required if your computer originally shipped as a 25 MHz machine.

Advantages – This reduces the overclock on systems such as RAM, ROM and VRAM, likely making the system more stable at 40 MHz. Doing this change will make a 25 MHz machine work at 40 MHz.

Disadvantages – Benchmarks will score a bit lower than using 33 MHz timings at 40 MHz (in line with a real 40MHz machine if Apple had ever released one). The machine ID (gestalt) will change to an unreleased Mac – 7.6.1 will boot OK (but might not install without tricking the installer), but 7.1 won’t boot unless you can find a hacked System Enabler. (Update – I believe I’ve managed to make the required changes and have the magic System Enabler working now. Drop me a message and I’ll send you a copy).

How to select 40MHz timings…

  1. Remove the logic board from the case and place it somewhere suitable to do some soldering.
  2. If there is a resistor fitted to R152, remove it.
  3. If there is a resistor fitted to R151, remove it.
  4. Save any resistors in case you want to put them back.
  5. Reassemble your computer and test to see that everything works.
Setting 40 MHz Timings

The way I remove 0805 surface mount resistors is by putting a little flux on them, and then placing the iron on one end for about 3 seconds, before quickly moving the iron to the other pad and pushing the resistor off. Sometimes it takes a couple of tries, but it is easier than faffing with other methods and I usually already have my iron set up. It is especially helpful if there is plastic parts nearby on the board that hot air might damage.

The Ideal Setup

This last modification is closest (see the “Other Tweaks” section) to how I have my system configured as it gives the best flexibility. It lets you have jumpers to select CPU speed and timings. Removing both jumpers gives you the stock CPU speed (whatever it is on your machine), with (always) 33 MHz timings, while fitting both jumpers gives you 40 MHz and 40 MHz timings. You can also mix and match.

Advantages – Flexibility – you can change the CPU clock between stock (hopefully 33 MHz) and 40 MHz, and also the timings between 33 MHz and 40 MHz settings. All without even removing the logic board from the case (once the modification has been done).

Disadvantages – If you have a machine fitted with the original 12.5MHz clock for 25MHz, it will be slower than as shipped when you pick 25MHz by jumpers, because you will only be able to select timings designed for higher clocks.

If you have a 25MHz machine, I recommend just doing the first two mods above and basically hard wiring it to 40MHz. Make sure you have a heatsink fitted and consider finding a 33MHz grade CPU.

Dual Jumpers

To fit dual jumpers…

  1. Remove the logic board to somewhere you can do soldering.
  2. Make sure no resistor is fitted at location R151.
  3. Fit a 1.2k 0805 resistor (usually labelled 122) at location R152.
  4. Fit a 330 ohm 0805 resistor (usually labelled 331) at location R233.
  5. Fit a header at location J28.
  6. Fit a header at location J29 if you didn’t previously.
  7. Reassemble your computer and test to see that everything works.
J28 in Situ – This Selects 40MHz Timings when Fitted
R151, R152 (I didn’t have a 1.2k Resistor so used a 1.5k) and R233

At this point, as described above and if you started with a 33MHz board, you will be able to select 33 MHz with 33 MHz timings by removing both jumpers (I store them by placing them so they are on only one pin of the header), or 40 MHz with 40 MHz timings by fitting both jumpers. If you fit J29 and not J28, you will get a 40 MHz bus / CPU speed, with 33 MHz timings. This is an overclock with regards to the timings, so you will have boosted video, RAM and ROM performance. Most noticeable in the video benchmarks like the following :

Video Benchmark Score at 40 MHz with 33 MHz Timings

Note that while 40 MHz timings are selected, you will have the machine ID (gestalt) of an unreleased Mac, and System 7.1 won’t boot as mentioned above. If you want to boot in 7.1, just remove jumper J28.

Other Tweaks

  • Fit a 40 MHz Grade CPU and a heatsink.
  • Fit a socket for trying other clock speeds.
  • Fit a 25MHz clock to aim for 50 MHz.
  • Spoof a Quadra 800 power LED by shorting the appropriate two pins on the LED connector location. This makes your computer think it is a Quadra 800, which shipped with faster RAM, so I believe the ROM sets up slightly faster RAM timings.
  • Install the Wish I Were control panel to override the machine ID gestalt and reduce (but not completely) the number of issues from running a machine with an unreleased ID.
  • Replace the MC88916DW55 with an MC88916DW80 as this makes 50 MHz more likely in combination with a faster clock at G3. Fitting J29 still selects 40MHz, but removing it selects the faster clock at G3. Remember G3 is half the bus speed.
  • Remove onboard RAM and fit a single stick of very fast RAM (50ns EDO).
  • Fit a PowerPC Upgrade Card. Some will run at 80 MHz using the modifications described on this page.

I have personally done all the mods listed above to my machine, although I can’t promise they’ll all work for you, or are worthwhile.

Further Research

I worked out how to modify the System Enabler so that 40MHz works with System 7.1! Drop me a message if you want a copy. I might have previously posted it on Tinker Different – I forget.

Additionally, if your board shipped from factory with J28 and or J29 fitted, and especially R233 fitted, I’d be interested to hear from you. It’s likely that such a board would be a prototype and it would be great to check some component values.

This page is making a record of information I originally posted on 68kmla.

Overclocking the LC 475 in Software

Overclocking the LC 475 in Software

If you want to dive right in, it is recommended that you download and install the Control Strip Module version as this has the most up to date version of the software. The Control Strip Module version works in Systems from 7.1 through to 8.1, and supports overclocks in 24 bit addressing mode (my extension currently doesn’t). It also has better memory timings, and can often overclock slightly faster. It even has slightly different timings for the LC 475 and LC 575, to account for the difference in onboard memory speed. You can find a copy of the latest version on Macintosh Garden : https://macintoshgarden.org/apps/control-strip-475-overclock

The overclock is specifically designed to work with the stock 80ns RAM and VRAM in an LC 475 (etc.) And 70ns RAM in an LC 575.

A little while ago Mustermann posted on the 68kmla forums that he was doing some experiments relating to overclocking the LC 475 without any hardware modifications. This was being achieved by controlling the LC 475’s programmable clock from the LC’s memory controller. The same process is possible on similar hardware such as the Q605 and LC 575.

Mustermann was kind enough to share his source code, and so zigzagjoe made an extension version for a fixed speed of 40MHz. Using Mustermann and zigzagjoe’s code as a basis, plus code from cheesestraw’s github, I started extending the functionality of the extension, including adding boot-time status icons, the ability to dynamically generate parameters based on a target clock speed and the ability to read instructions from the resource fork. I then made a control panel (actually a small application programme) to present user friendly interface for changing the extension’s settings.

An initial version apparently worked on some people’s 475s, but only allowed 20, 25, 33 and 40MHz on my own LC 475. After much digging, Mustermann was able to work out that I was providing values in an incompatible format to his magic sauce function that set the arbitrary speeds. This was fixed and now means I’m happy that the extension works as expected and so find enclosed the current version of the software installer :

Download Soft 475 Overclock

(Updated to Version 0.5.2 on 23rd October 2024)

The latest version, 0.5.2, is mostly identical to version 0.5.1, other than it contains a bug fix in the Advanced mode, where previously the Max and Min values were not being correctly saved.

Requirements

  • An LC 475, Performa 475, Quadra 605, Performa 476, LC 575 or Performa 577
  • Mac OS 7.5 or later.
  • Do not use this software if you have replaced the speed setting resistors on your logic board with blobs of solder. You really shouldn’t do this, and I don’t expect people have, but if someone has, it may cause damage (not limited to in conjunction with this software).

Optionally…

  • A heatsink for your CPU.
  • Move the zero ohm resistor at R96 to the R95 position to adjust the SCSI clock for 33MHz and above on LC 475 style logic boards. Not on the LC 575 type board, it already is set up for faster speeds.
  • A faster grade CPU.

Using the Software

This .bin file contains an installer to run on your LC / Performa. It is pretty self explanatory. Once you’ve installed it, the software is “off” by default, so you’ll need to go to the “Soft 475 OC Setup” control panel and select what speed you want to try to run your computer at. This software will only work on the LC 475, Quadra 605, LC 575 and their Performa Equivalents. It may also work on the Apple STB. For an initial test, try selecting 33MHz from the menu, click “Set”, and then restart. Use Newer’s Clockometer software to verify the speed has taken. If this works, try 40MHz. If the computer crashes, or otherwise shows signs that it isn’t able to run at 40MHz, power off the computer, and power back on while holding the shift key to disable extensions. Once the computer has booted, use the control panel to set the overclock back to 33MHz or another speed known to work.

With some additional hardware modifications, namely changing the SCSI clock, replacing the clock multiplier with a higher grade chip and swapping in a higher grade CPU, I was able to get my LC 475 to run at 50MHz.

Selecting “Custom” from the “Select Speed” popup menu allows you to enter an arbitrary speed, recommended to be between about 20 and 40MHz, but depending on your exact configuration you might be able to go outside these bounds. You can enter fairly granular speeds, for example 37.6MHz, although Clockometer and other speed calculating software often isn’t accurate to this degree.

The “Advanced” option isn’t recommended unless you’ve read and understood the clock generator chip’s datasheet, but is there for users who want to exactly tweak parameters. Entering values in this dialogue box without understanding them will very likely just crash your computer.

LC 475 SCSI Clock Modification

For best compatibility while overclocking the LC 475 and other machines with the same logic board (not the LC 575 etc., which shipped with this modification as stock), it is beneficial to move the resistor located at R96 to the empty R95 position. This divides the SCSI clock by two and brings it back within specification. Note that this does not halve the performance of your SCSI bus. If you don’t do this modification, some people find that their computer crashes during large file copies, even at speeds as low as 33MHz. With this modification, the SCSI clock is within specification all the way up to 50MHz… if your computer still crashes, the issue is more likely your RAM (including onboard), VRAM or CPU grade. The good news is that all of these can be replaced with faster parts, although replacing the soldered RAM is a little tricky.

Potential Issues

When overclocking, sooner or later you will hit the limits of your hardware.

The first limit you reach is likely to be the SCSI clock on the LC 475 (not the LC 575, which is already set for higher speeds), meaning you’ll need to do the SCSI clock modification identified above. After that, you might want to fit a faster CPU, VRAM and RAM. Removing the RAM soldered to the logic board can help, and you don’t need to solder new RAM onto the board if you don’t want to, as long as you have a SIMM fitted. Remember the LC 475 can work with SIMMs up to 128MB in size, so the onboard RAM isn’t too critical.

I have also fitted an MC88916DW80 in place of the original XC88920 to hopefully improve performance at high speed. These can be bought from your favourite Chinese online retailer, although be cautious of re-labelled parts.

Once you exceed 40MHz, there will come a point at which you may have issues with the serial ports and floppy drive. I haven’t done extensive testing of this myself yet.

Note that most 25MHz 68LC040 CPUs will happily overclock to at least 33MHz, although it is always good to fit a heatsink. It is generally not a good idea to run an LC 475, and especially an overclocked one, with the lid off as the lid helps ensure airflow over the CPU and other components.

Future Development

Moving forward I’d like to add some more features and tidy up the user interface. Things I’d like to add include…

  • On the fly clock speed changes.
  • Estimated current speed display.
  • Holding numeric keys during boot sets predefined clock speeds.

Coming Soon… Cancelled

Version 0.6 was undergoing testing and has some cool new features, including the ability to set independent speeds for your 68040 and PPC601 if you have a PowerPC upgrade… which I don’t.

1728563016567.png
  • On the fly clock setting.
  • Independent speeds for 68040 and PPC.
  • Built in speed estimation.
  • Hopefully improved user interface.
  • Included speed change XCMD for use in your own projects.
  • Reduced file size for easy install from 800k floppy disks (possibly even 400k, depending on how much formatted space they have).
  • Technical improvements to ensure you don’t accidentally run the wrong control panel with the wrong extension.
  • A shutdown item that sets the speed back to the default for your computer, or you could just leave it on your desktop to reset to the baseline frequency manually.
  • Some pretty icons.
  • A visual indication of whether you are currently booted as a 68k or PPC Mac.

Sadly I’ve been unable to get the PowerPC upgrade specific code tested, as multiple months have passed I’m moving on from the project.

However…

… I made a Control Strip Module which allows on the fly speed switching (i.e. without needing to restart). I found this very helpful template to use.

The control strip module can be downloaded here. https://macintoshgarden.org/apps/control-strip-475-overclock

Thank you to the author of CSShell for permission to release it.

Feedback

Please let me know if this software works well for you. The github project can be found here the actual download for the software is near the top of this page and you’ve scrolled past it. Feel free to use the software as the basis of your own projects.

Upgrading the Radius Rocket 25i

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.

Processor Removal Tool

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.

What FPU

Cloning a Full Fat ROM

EPROM Reader

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.

FPU Enabled at 25MHz

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.

FPU Benchmark at 25MHz 01

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.

FPU Benchmark at 25MHz 02

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.

Clock Socket

I plugged in a 64MHz clock (the closest I could find to my target of 66.666MHz) and booted up the computer.

64MHz Clock

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.

32MHz Benchmark

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.

40MHz DualClock

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!

40MHz Crash

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.

Unknown Jumper

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.

Rocket at 33.3MHz