Tag Archives: Overclock

Overclocking a Tanzania

The Tanzania and Tanzania II logic boards were designed by Apple and mainly used by clone makers in machines such as Motorola’s StarMax series of computers. Apple released their own budget “clone” style computer in the form of the Power Macintosh 4400 (the 7220 in some markets).

My Power Macintosh 4400/200

Tanzania based machines came in a verity of configurations with various speeds and a mixture of 603 and 604 family CPUs. What is interesting though is that Motorola variants have the PLL strap settings detailed on the silkscreen! The PLL strap options are what sets the multiplier for the CPU clock speed.

Silkscreen CPU Speed Table (thankyou to the unknown source, friend of a friend of a friend)

Note that the speeds shown in the “Mode” column are from a 40MHz bus machine. If you have a Tanzania II with a 50MHz bus, scale all of those speeds by multiplying them by 1.25 to get the equivalent speed for a 50MHz bus computer.

The numbers correspond to the pin numbers on the 12 pin header labelled “CPU Option” in the corner of the board closest to the CPU. By default the header is unpopulated and the clock speed is set by four pull up / pull down resistors on four of eight available positions around the header.

CPU Option Header Showing Default Resistors for 200MHz (Click to View)

The pin numbering can be see around the footprint, and then populating R24 and not R23 is the equivalent of jumpering pins 1+2, while populating R23 and not R24 is equivalent to jumpering pins 2+3. This pattern repeats for pins 4 to 6 with resistors R21 & R22, 7 to 9 with R8 & R9, and lastly 10 to 12 with R1 & R2.

Each set of three pins can be thought of as a toggle switch, for example if you jumper 1+2 together you get one setting, and if you jumper 2+3 together, you get the other.

The resistors set the default and should be removed before jumpering or bridging the corresponding appropriate pairs in the 12 pin header (especially in the case of 51 ohm resistors). Never bridge all three pins in a set of three within the header or you will cause a short and possibly cause damage. Ideally, fit a pin header and use jumpers to change settings. You could even wire in a single pole double throw switch to each set of pins.

Target Speeds

Generally, I’ve found that most processors in various computers (but not all) overclock happily by 20% (I’m not specifically talking about Tanzania based computers, but vintage computers in general). Higher speeds might be achievable, but this is my personal rule of thumb for a ‘more likely than not’ stable overclock. This means that if you have a 160MHz machine, you can likely achieve the 180MHz setting. If you have a 200MHz machine, 240MHz is likely possible.

I haven’t worked out what the best way might be to do it, but given the CPU heatsink on the PM4400 is a little small, some additional cooling may be beneficial – either a larger heatsink similar to the one used on higher end Tanzania based clones, or a fan pointed at the CPU and powered from a spare molex (my PM4400 has several spare molex connectors, but you could always use a ‘Y’ splitter).

If your 160MHz can cope with 200MHz, a simple upgrade would be to remove resistor R1, and then bridge pins 10+11 on the CPU Option header, perhaps with a blob of solder. Removing the bridge and refitting the resistor would set it back to 160MHz.

Changing Resistors

The following table shows what resistors to put where to set the speed of your Tanzania. You should never fit more than four resistors, but if you misplace one of the resistors, they look to be 0603 size, 4.7 kilo-ohm and 51 ohm resistors.

Resistor Settings for Various Speeds

Fitting a Header

If you instead choose to fit a pin header and use jumpers to set the speed, you will first need to remove the resistors and then the existing solder from the footprint. To remove the resistors, I put a large blob of solder on the tip of my iron and used it to heat both sides of the resistor at once and brush them off the pads one at a time. To clear the solder filled through holes, I’d recommend using flux and solder wick (aka solder braid). I’d set my soldering iron to about 350°C, paint on some liquid flux, wick out some solder while not keeping the iron on a pin hole for more than about eight seconds at once, and always lift the iron and wick off at the same time to avoid the wick sticking and potentially causing damage.

If the solder doesn’t clear, try again from the other side. If it still doesn’t, add a little fresh solder and try again.

That is the tricky bit. Once cleared, solder in a 6×2 2.54mm pitch header, or two 6×1 headers.

Jumper Settings for Various Speeds

The following representations show how jumpers should be fitted for a few common speeds.

Note that the difference between 160MHz and 200MHz is only a single change, which is why, as mentioned previously, if you remove resistor R1 and then bridge pins 10 and 11 (for example with a blob of solder), your machine will be speed bumped to 200MHz from 160MHz, as long as it is able to run at 200MHz (the increase is 25%, which in general terms is quite a big speed increase for an overclock, especially without extra cooling).

Results

I removed the four resistors and cleared out the solder from the holes.

Then I soldered in a header, and fitted some green jumpers in the arrangement required for 240MHz. Reassembled my computer and powered it on.

It booted happily and Apple System Profiler (in Mac OS 8.6) reports the CPU as a 240MHz 603ev, which is what was expected.

I ran some CPU benchmarks with the computer set to 240MHz and 200MHz (in that order, by powering down and swapping the jumpers around – I’d forgotten to get the “before” benchmarks) with Norton System Info from Norton Utilities 6 and got an 11% increase in the overall CPU score from the 20% overclock.

Looking at the detailed breakdown, we can see that tests that heavily use the RAM scored less well, with very RAM intensive tests seeing almost no change, moderately RAM intensive tests showing intermediate improvements and things like multiply and divide showing the full 20% uplift.

(Click to View)

I checked through the other benchmark categories (Video, Disk and FPU), Video saw almost no change, likely because most actions are been undertaken by the built in ATI mach64 video chip, with the exception of Ovals and drawing images, which I assume are both dependant on the CPU. Disk saw no significant change (except for random write, which I don’t fully believe and so am going to assume was due to a hiccup during the 200MHz benchmark).

FPU scales almost exactly with clock speed as usual, so we basically see a 20% uplift across the board.

In my specific machine, the CPU heatsink is cool enough to comfortable touch (indefinitely) while overclocked to 240MHz, even with the stock heatsink. Interestingly at 200MHz the heatsink is actually cool to touch, it cant be much different in temperature to my hand. I feel like with a bigger heatsink this computer would have a lot of overclocking potential, although I’m already at the maximum speed in the table.

Upgrading to a 604e

The board is technically able to use either a 603e (/ 603ev) or a 604e BGA chip. To do this, you would have to at least adjust the CPU core voltage by changing components in the voltage regulation circuit near the speaker connector. You almost certainly would also have to change some other resistors on the board as this is usually the case. Unfortunately as I don’t have the schematics, I don’t know what or where these would be.

It may be possible to meticulously compare a 604 based board with a 603 board to document the differences, but I don’t envy the individual that does that. A good place to start is probably at the “CPU ID” header, which also seems to be surrounded by four strap resistors.

CPU ID Header

If I remember correctly, the Performa 6400 schematics are available, and this is a sort of similar machine in some ways, so probably contains some clues regarding changes needed to fit a 604 to a machine that shipped with a 603. The Beige G3 schematics might also help as the design includes allowances for the 603 and 604.

Bus Speed

I’ve not done any investigation, but glancing at the board, it looks like the chips “U10” and “U11” are clock sources. The “U10” style of clock is usually set to one of several speeds based on resistors on some of the pins, but given its location, it might be controlling something in the chipset as “U11” has a 40MHz clock and is closer to the CPU. U11 looks like a shift register – I’m not sure what the circuit is doing exactly. I’d have to look into it, but hopefully these comments are a helpful starting point for someone else.

An old 68kmla post with a dead link mentions a need to move a resistor from R29 to R28 (next to the VRAM slot). But I don’t know anything about that. Well, it actually says the reverse, but mine is already like that, so I’m assuming they got it backwards, or perhaps my machine is already set like that. Sadly the website they’re referencing didn’t get archived by the wayback machine.

Update – Good news, I seem to have found an archive of an alternative version of the page in question here : http://web.archive.org/web/20040120030611/http://home.t-online.de/home/andreas.kann/44002.htmlhttps://68kmla.org/bb/index.php?threads/tanzania-to-tanzania-ii-upgrade.34251/

Further information is that they had trouble with the rating of their L2 cache… The good news is I have a 50MHz cache from my 6500!

Looks like I just need to find myself a 50MHz crystal.

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.