Found the 50MHz bus switch on Alchemy (5400/6400)

obsolete

Well-known member
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:
Logic high10k pull up2k pull downLogic low
RA(0) = 1R75R76RA(0) = 0
RA(1) = 1R68R69RA(1) = 1
Burst ROMR63R64No burst
60ns DRAMR70R7170ns 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:
IMG_20241123_180704.jpg

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...

5400_50MHz.png

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?

5400_G3.png

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:

dv-

Well-known member
Damn, I'm glad that card still worked after all that time in storage! Nice fix, too!
 

Byrd

Well-known member
Excellent, some nice sleuthing you do wonder if Apple hobbled the 5400 bus speeds at the time to not compete with higher end desktop/tower Macs.
 

obsolete

Well-known member
Damn, I'm glad that card still worked after all that time in storage! Nice fix, too!
It needed a little pencil eraser treatment on some of the contacts, and I should probably re-paste the heatsink at some point, but yeah, it's good! I thought it was flaky at first, because apparently the Sonnet software sticks something in PRAM, and I was running without a PRAM battery, so every time I removed the logic board and put it back in, the accelerator didn't work anymore! That drove me nuts for a while until I finally figured out what was happening and installed a battery. Thanks again for your amazing generosity! If you ever need help with another one of your projects, don't hesitate to reach out.
 

obsolete

Well-known member
Excellent, some nice sleuthing you do wonder if Apple hobbled the 5400 bus speeds at the time to not compete with higher end desktop/tower Macs.
Thanks. It kinda looks that way, doesn't it? I wonder how many of the issues people had back in the day at 50MHz can be attributed to the PSX being misconfigured. I only have a sample size of one, though, so I encourage more people to try this modification on theirs and report back :)
 

obsolete

Well-known member
I suppose I should tag @GeekDot in case it will inspire him to do the same investigation on his UMAX. Thanks for posting the information that led me to find this!
 

chelseayr

Well-known member
wonder how come I never heard of this before but hmmm interesting, might make me rethink about these 6400 boards again if they indeed can handle 50mhz .. only if it wasn't for the vram but mm ah well say no more
 

Powerbase

Well-known member
wonder how come I never heard of this before but hmmm interesting, might make me rethink about these 6400 boards again if they indeed can handle 50mhz .. only if it wasn't for the vram but mm ah well say no more
I suppose back in the day, with plentiful more-upgradeable Macs (of that era), people just didn't bother looking too far into it and just assumed those Macs were permanently handicapped by Apple. Just like with the software-based overclocking done on the LC475/Q605 recently.
 

chelseayr

Well-known member
mm yeah @Powerbase can't argue with you, even then I kinda have to wonder.. 50mhz system bus, with 4mb vram, and either the default 2-pci or that "hack-in" 3-pci being all filled up one way or another = very blazing mac yet its still a desktop so it seem smaller than what it really is :)

*me maybe should go get a friendly small shot of whiskey and ponder this over*
 

Burgertrench

Well-known member
This is pretty amazing work. I have a 5400 with a 400 MHz sonnet G3 upgrade, this has got me wondering if I can squeeze a bit more performance out of it with the 50mhz mod.
 

Powerbase

Well-known member
I'll have to spelunk my Powerbase's motherboard and see. My Z-force card lets me set the bus speed but it doesn't run at 50Mhz, but getting it to set the ram correctly might just get it booting.
 

obsolete

Well-known member
Thanks everyone! Yeah, this is the kind of reverse engineering I love seeing, which is why I'm happy to be able to contribute a little bit every once in a while. I am really just standing on the shoulders of the giants in this community who provided all the resources I used to figure this out. All the pieces were there, I just put them together.

@Burgertrench, if you have a 400MHz upgrade in a 5400, it must be a later one with a 10x multiplier, so you might be lucky enough to go to 500MHz with this mod if you dare, or any of the 25MHz steps in between.

I have since tried 375MHz and 400MHz on my card and it seems to work okay at both of those frequencies with the 50MHz bus and correct memory timings, though I haven't really stress tested it for stability/overheating yet. I think this further proves that configuring PSX correctly is vital for anyone running at G3 upgrade at a higher bus speed, and still a good idea even if sticking with the 603.
 

obsolete

Well-known member
I was just pondering this today...2 bits implies that there could be 4 valid bus speed settings. We know 11 = 50MHz, and either 01 or 10 = 40MHz (not sure which). So, what are the other two settings? It would be nice if someone with a 5500, 6500, or TAM would be willing to try them out and report their results.
 
Top