tl;dr: Remove R95 and install R94 (10k ohm 0603) to configure the PSX chip for 50MHz operation.
Full story: I picked up one of my dream Macs a couple of weeks ago, a 5400/200. I met up with @dv- at Free Geek Twin Cities to collect it and return his battery-bombed Q650 motherboard I repaired some traces on. He blew me away with an incredibly generous thank-you gift: a Sonnet Crescendo G3 350/1M L2 upgrade from his parts stash! He mentioned that it would only run at 320MHz on the 5400 because of its 40MHz bus speed, and when I got it installed and working, I found that to be exactly correct. On Gazelle (5500/6500/TAM) and Tanzania-based systems with a 50MHz bus, the Sonnet upgrade runs at 350MHz, but because of my machine's slower bus, I was stuck at a lower CPU clock speed. I know that a 320MHz G3 still puts the 5400 head and shoulders above its original 200MHz 603ev in terms of processing power, but I wasn't satisfied. I wanted that extra 30 MHz!
I already had a Digi-Key cart started because I planned to recap the logic board, so I threw in some 48MHz and 50MHz crystals to try bumping up the bus clock speed. I read on the 6400 Zone that people didn't have a 100% success rate at 50MHz, so I figured 48MHz would be my backup option. While I was replacing the caps, I also replaced the original 40MHz crystal with the 50MHz part. I used a through-hole 50MHz crystal because I wasn't able to find one in a compatible surface mount package. I removed the plastic base from the original 40MHz surface mount crystal and put the legs of the new through-hole part through it, then bent them 90 degrees and cut them to length, which made it an almost perfect substitute for the surface mount part (sorry, didn't think to grab a picture at the time). Because I had no interest in overclocking the 603ev, I changed its multiplier from 5x to 4x using the table at Takashi Imai's old Mystic Room page so it would continue to run reliably at 200MHz.
The first test was to boot the machine on the 603ev, which was a success. Apple System Profiler reported the CPU speed as 160MHz due to the multiplier change from 5x to 4x, but the Sonnet Metronome utility showed the correct 50MHz bus speed and 200MHz clock speed. Upon trying the Sonnet accelerator, though, I hit a problem; the machine froze at the point in boot when the Sonnet extension loads. I did some more reading on the 6400 zone and learned that these Sonnet accelerators use a setting in the extension itself to configure the multiplier for the G3. Because mine was set to 8x based on the assumption of a 40MHz bus, it was now trying to run the G3 at 400MHz, which was apparently a no-go. I then found Sonnet Clocker, which can be used to easily create modified versions of the Sonnet extension with custom multipliers. I used it to create a 7x version of the extension that should result in the correct 350MHz clock speed on my G3, but it still failed with the same symptom, hanging during boot when the Sonnet extension loaded.
I was about ready to give up on 50MHz and swap in the 48MHz crystal, except for this tidbit I found on Geekdot's site: “One final problem is the main memory (DRAM) timing. If the firmware still thinks the bus clock is 40 MHz (25 ns), it won’t program enough access time (measured in clocks) at 50 MHz (20 ns). There are resistors to tell the firmware what the bus speed is, so that it can program the correct number of clocks into the PSX/PSX+ to get the required 60 ns access time. For the StarMax, this means removing R29 and installing it in the R28 location for 50 MHz operation.”
Because Apple System Profiler showed the speed of the 603ev as 160MHz with a 4x multiplier, I concluded that the PSX chip on my Alchemy logic board was still configured for 40MHz, with the associated (wrong for 50MHz) timings. Okay, so where are the configuration resistors? The 5400 schematic isn't available, but there's a copy of the 6500 schematic on MacDat. The lower left corner of page 21 shows the initialization settings for PSX. The relevant nets are RA(0) and RA(1). Both should be pulled up to logic high for 50MHz operation. There are 4 nets total that specify either a 10k pull up or a 2k pull down to configure them as a logic 1 or 0 respectively:
On the 6500, all 4 of these are pulled up. I searched the 5400 board under a microscope, looking for a similar set of 10k pull ups and 2k pull downs near PSX, and I found them on the top of the board:
Please excuse the dust. The resistors I'm talking about are R80/R81, R85/R86, R89/R90, and R94/R95. There's a via between each pair of resistors whose net is either pulled high by a 10k in the left position or low by a 2k on the right. These look like my target. As shown above, R95 has a 2k pull down installed, and the 10k pull up at R94 is not installed. By my logic, this must be either RA(0) or RA(1). So I removed R95, installed a 10k at R94, and...
Yes! That was it! ASP now shows the CPU clock speed as 200MHz instead of 160MHz, proving that it reads the bus speed setting from PSX, which is now correctly configured for 50MHz. But is this also going to fix the G3 upgrade?
Yes! I don't understand exactly why it didn't work before I changed the resistor, but with PSX correctly configured for 50MHz, the G3 upgrade now works at 350MHz as expected. Hopefully this information is useful to anyone else out there still playing with this family of Power Macs.
Full story: I picked up one of my dream Macs a couple of weeks ago, a 5400/200. I met up with @dv- at Free Geek Twin Cities to collect it and return his battery-bombed Q650 motherboard I repaired some traces on. He blew me away with an incredibly generous thank-you gift: a Sonnet Crescendo G3 350/1M L2 upgrade from his parts stash! He mentioned that it would only run at 320MHz on the 5400 because of its 40MHz bus speed, and when I got it installed and working, I found that to be exactly correct. On Gazelle (5500/6500/TAM) and Tanzania-based systems with a 50MHz bus, the Sonnet upgrade runs at 350MHz, but because of my machine's slower bus, I was stuck at a lower CPU clock speed. I know that a 320MHz G3 still puts the 5400 head and shoulders above its original 200MHz 603ev in terms of processing power, but I wasn't satisfied. I wanted that extra 30 MHz!
I already had a Digi-Key cart started because I planned to recap the logic board, so I threw in some 48MHz and 50MHz crystals to try bumping up the bus clock speed. I read on the 6400 Zone that people didn't have a 100% success rate at 50MHz, so I figured 48MHz would be my backup option. While I was replacing the caps, I also replaced the original 40MHz crystal with the 50MHz part. I used a through-hole 50MHz crystal because I wasn't able to find one in a compatible surface mount package. I removed the plastic base from the original 40MHz surface mount crystal and put the legs of the new through-hole part through it, then bent them 90 degrees and cut them to length, which made it an almost perfect substitute for the surface mount part (sorry, didn't think to grab a picture at the time). Because I had no interest in overclocking the 603ev, I changed its multiplier from 5x to 4x using the table at Takashi Imai's old Mystic Room page so it would continue to run reliably at 200MHz.
The first test was to boot the machine on the 603ev, which was a success. Apple System Profiler reported the CPU speed as 160MHz due to the multiplier change from 5x to 4x, but the Sonnet Metronome utility showed the correct 50MHz bus speed and 200MHz clock speed. Upon trying the Sonnet accelerator, though, I hit a problem; the machine froze at the point in boot when the Sonnet extension loads. I did some more reading on the 6400 zone and learned that these Sonnet accelerators use a setting in the extension itself to configure the multiplier for the G3. Because mine was set to 8x based on the assumption of a 40MHz bus, it was now trying to run the G3 at 400MHz, which was apparently a no-go. I then found Sonnet Clocker, which can be used to easily create modified versions of the Sonnet extension with custom multipliers. I used it to create a 7x version of the extension that should result in the correct 350MHz clock speed on my G3, but it still failed with the same symptom, hanging during boot when the Sonnet extension loaded.
I was about ready to give up on 50MHz and swap in the 48MHz crystal, except for this tidbit I found on Geekdot's site: “One final problem is the main memory (DRAM) timing. If the firmware still thinks the bus clock is 40 MHz (25 ns), it won’t program enough access time (measured in clocks) at 50 MHz (20 ns). There are resistors to tell the firmware what the bus speed is, so that it can program the correct number of clocks into the PSX/PSX+ to get the required 60 ns access time. For the StarMax, this means removing R29 and installing it in the R28 location for 50 MHz operation.”
Because Apple System Profiler showed the speed of the 603ev as 160MHz with a 4x multiplier, I concluded that the PSX chip on my Alchemy logic board was still configured for 40MHz, with the associated (wrong for 50MHz) timings. Okay, so where are the configuration resistors? The 5400 schematic isn't available, but there's a copy of the 6500 schematic on MacDat. The lower left corner of page 21 shows the initialization settings for PSX. The relevant nets are RA(0) and RA(1). Both should be pulled up to logic high for 50MHz operation. There are 4 nets total that specify either a 10k pull up or a 2k pull down to configure them as a logic 1 or 0 respectively:
Logic high | 10k pull up | 2k pull down | Logic low |
RA(0) = 1 | R75 | R76 | RA(0) = 0 |
RA(1) = 1 | R68 | R69 | RA(1) = 1 |
Burst ROM | R63 | R64 | No burst |
60ns DRAM | R70 | R71 | 70ns DRAM |
On the 6500, all 4 of these are pulled up. I searched the 5400 board under a microscope, looking for a similar set of 10k pull ups and 2k pull downs near PSX, and I found them on the top of the board:
Please excuse the dust. The resistors I'm talking about are R80/R81, R85/R86, R89/R90, and R94/R95. There's a via between each pair of resistors whose net is either pulled high by a 10k in the left position or low by a 2k on the right. These look like my target. As shown above, R95 has a 2k pull down installed, and the 10k pull up at R94 is not installed. By my logic, this must be either RA(0) or RA(1). So I removed R95, installed a 10k at R94, and...
Yes! That was it! ASP now shows the CPU clock speed as 200MHz instead of 160MHz, proving that it reads the bus speed setting from PSX, which is now correctly configured for 50MHz. But is this also going to fix the G3 upgrade?
Yes! I don't understand exactly why it didn't work before I changed the resistor, but with PSX correctly configured for 50MHz, the G3 upgrade now works at 350MHz as expected. Hopefully this information is useful to anyone else out there still playing with this family of Power Macs.
Last edited: