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

chelseayr

Well-known member
@Trash80toHP_Mini yeah I mean its not like if I could really want to find out what the board would actually think of trying to run a more simple windowed game at 1024x768 @ millions of colour .. but mm yeah that resolution+colour combination for texts&graphics was the main reason for regarding wisful vram bump (games being a secondary thinge there)
 

Trash80toHP_Mini

NIGHT STALKER
Uncoupling from onboard Video on my 6360 when it was my main production machine was the be all and end all in that day. Gladly gave up the built-in CD for my external burner in order to run a full length Radius PCI Vidcard Card up into the speaker cubic underneath the CD Bay.

I still ran MoBo video on the 20"/later 21" Radius Displays with ease by using the PCI VidCard hooked up to BNC inputs on the back. The pathetic, but VCR friendly 640x480 window at full size on the big screen across the VGA connector on the MoBo was available at the touch of the input menu. Also used the nifty CoAx input on the Video System of the 6360 to play the few games I did from the long lost Laser 128k! ;)

IMO, the 6360/6400 Alchemy platform is far superior to the ATI infested, PCI slot stealing boondoggle of the x500/TAM 4MB VRAM Gazelle architecture. With a 50MHz Clock, Alchemy would reign supreme! No nonsense getting multifunction I/O cards to run in Alchemy AFAIK? Might a 50MHz bus speed induce such problems?
_____________________________________

Side note: would drilling out the five rivets holding the two slot card cage of a 6400 drawer be a acceptable in order to install a three PCI slot riser bodge?
 

chelseayr

Well-known member
well technically a 6400/6500 logic board does fit into the desktop case but (as I have already thought about) the monitor-out and tv tuner bay both would have to be done away with tho to make use of a 2-pci riser instead of the 6360-default single-pci riser so its not exactly a "reversible hack" after all .. won't ever notice anything from toward the front hehe (as its only if you were to actually pull the computer out to look at the back that you would then notice the non-original rear cuts)

the only reason I'm not sure about seriously pursing this yet is due to with regarding to vram amount but mm say no more
[p.s both the german pci board site and everymac portal altogether says its either 1mb or 2mb for the 6xxx series so just curious as to where '4mb vram gazelle' is perhaps coming from?]
 

Trash80toHP_Mini

NIGHT STALKER
Not true at all about TwinSlot 6360. Tangential here, but custom riser fitment prototype is ready installed in my 6360. No modification needed for that form factor 5x00 or modified version of it for TAM.

My question above was about modification of the drawer sheet metal of a 6400. But thanks to your comments, I was just looking at modified/unmodified drawer panels. I've suddenly moved on to simply printing a modified face for 6400 TriSlot riser mod. Thanks! ;)

Back on topic with new question: @obsolete might the 50MHz system bus clock affect PCI timings? Hav you tested PCI function?

I've got a functional TriSlot adapter setup almost ready to go. Dying to benchmark it with ATA/133, UlltraSCSI and SATA cards installed. 50MHz will be icing on the cake!
 
Last edited:

obsolete

Well-known member
Back on topic with new question: @obsolete might the 50MHz system bus clock affect PCI timings? Hav you tested PCI function?

I've got a functional TriSlot adapter setup almost ready to go. Dying to benchmark it with ATA/133, UlltraSCSI and SATA cards installed. 50MHz will be icing on the cake!
I have a USB/Firewire combo card installed in the PCI slot on my 5400 and it's working just dandy at 50MHz bus speed. Well, the USB half is, at least; I haven't tested firewire yet. When I have time, I'll hook up an old iPod or CDRW and test it out.
 

trag

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.

The PowerSurge family (X500/X600) machines have 3 pins on the CPU cards which serve a similar purpose. The Bus clock chip is always on the CPU card, so the resistors that tell Hammerhead what Bus Speed to expect are also on the CPU card. The pins are CLKID[0 - 2] (pins 15 - 17 on the connector). My understanding is that they adjust the timing in 5 MHz increments -- in other words, pick the 5MHz setting in which your actual Bus Speed falls.

Early CPU cards didn't adjust the CLKID pins and so would not operate outside of the 40 - 45 MHz range. Later cards (which did adjust CLKID) could get some machines up to about 62 - 63 MHz bus speed.

The relevancy to the 6400/6500 is that this causes me to wonder if there isn't a third undocumented resistor on the 6400/6500. If they only ever expected to operate at 40 or 50 MHz and only one or two resistors needed changing, they might not have bothered to describe the third. I guess the 6500 schematic might shed some light on that.
 

trag

Well-known member
the only reason I'm not sure about seriously pursing this yet is due to with regarding to vram amount but mm say no more
[p.s both the german pci board site and everymac portal altogether says its either 1mb or 2mb for the 6xxx series so just curious as to where '4mb vram gazelle' is perhaps coming from?]

If you're discussing VRAM on the built-in 6500 video, I suggested a way to neatly take it to 4 MB, here:

https://68kmla.org/bb/index.php?threads/schematics-for-power-mac-7600.46119/post-545005

I have not tried it, but the 6500 schematic suggests that one could simply remove the old GRAM chips and drop in the higher capacity, double banked chips.
 

Trash80toHP_Mini

NIGHT STALKER
That'd be very cool, what max res might be available at 16bit with an 4MB available? Wondering if the 6400 might be amenable to a similar 2MB upgrade?

If only we had the Alchemy schematic . . . 🥺
 

Trash80toHP_Mini

NIGHT STALKER
I have a USB/Firewire combo card installed in the PCI slot on my 5400 and it's working just dandy at 50MHz bus speed.
That's good, I was hoping the PCI clock was independent of system bus. Wondering if there's an easy way to test it?

@trag is the PCI clock of Gazelle independent of, or a multiple of, the system clock? Thinking USB might be sloppy enough to work if overclocked by 25%, but not be a comprehensive test of PCI bus timings?
 

chelseayr

Well-known member
@Trash80toHP_Mini as far as I know of more or less for certain you need about 1.5mb (or round up to 2mb vram) to get 800x600 and 2.5mb (round up to 4mb as 3mb didn't seem to had been any sort of official size not surprisingly) to get 1024x768 in term of full million colour at either resolutions

of course I think 1280x960~1280x1024 could still fit within 4mb at full colour as well but someone else will have to check for sure
 

joevt

Well-known member
1280x960 x 4 bytes per pixel > 4 MB. You would need to switch to Thousands of Colors instead of Millions.

Below is a unix shell script to calculate max resolution for different color depths, aspect ratios, and RAM sizes.
Code:
for bytesperpixel in 4 2 1; do
    echo
    echo "bytesperpixel=$bytesperpixel"
    for aspect in 4:3 16:10 16:9; do
        ax=${aspect%:*} ; ay=${aspect#*:}
        echo "    $ax:$ay"
        for ram in 2 4 6 8; do
            x=$(bc <<< "scale=0; sqrt(($ram*1024*1024)*$ax/($ay*$bytesperpixel))")
            ((x=x & ~15)) ; ((y=x * ay / ax))
            echo "        $ram MB: $x x $y"
        done
    done
done

Results:
Code:
bytesperpixel=4
    4:3
        2 MB: 832 x 624
        4 MB: 1168 x 876
        6 MB: 1440 x 1080
        8 MB: 1664 x 1248
    16:10
        2 MB: 912 x 570
        4 MB: 1280 x 800
        6 MB: 1584 x 990
        8 MB: 1824 x 1140
    16:9
        2 MB: 960 x 540
        4 MB: 1360 x 765
        6 MB: 1664 x 936
        8 MB: 1920 x 1080

bytesperpixel=2
    4:3
        2 MB: 1168 x 876
        4 MB: 1664 x 1248
        6 MB: 2048 x 1536
        8 MB: 2352 x 1764
    16:10
        2 MB: 1280 x 800
        4 MB: 1824 x 1140
        6 MB: 2240 x 1400
        8 MB: 2576 x 1610
    16:9
        2 MB: 1360 x 765
        4 MB: 1920 x 1080
        6 MB: 2352 x 1323
        8 MB: 2720 x 1530

bytesperpixel=1
    4:3
        2 MB: 1664 x 1248
        4 MB: 2352 x 1764
        6 MB: 2896 x 2172
        8 MB: 3344 x 2508
    16:10
        2 MB: 1824 x 1140
        4 MB: 2576 x 1610
        6 MB: 3168 x 1980
        8 MB: 3648 x 2280
    16:9
        2 MB: 1920 x 1080
        4 MB: 2720 x 1530
        6 MB: 3344 x 1881
        8 MB: 3856 x 2169
 

chelseayr

Well-known member
btw @Trash80toHP_Mini sorry what with everything going on offline-wise lately I probably got a bit mixed up, I was thinking more about re the "comm slot bus" hack to somehow get a working additional pci card instead which very likely might had as well as cut into the monitor/tv frame above where the normal tray clearance is

either way as for adding to the pci clock topic itself I know that this has been talked about in various x86-related places (I won't be surprised if theres at least one heavy thread somewhere on that vogons forum for this too?) but the issue even applies to x86 motherboards too not surprisingly .. considering that for example a particular cpu overclock would cause the sdram chips to run at 70mhz instead and many brands didn't always like that
 

Trash80toHP_Mini

NIGHT STALKER
I was thinking more about re the "comm slot bus" hack to somehow get a working additional pci card instead . . .
Got that working well enough to identify a card in the CSII space when testing Slots A-C using a cable based single slot test riser. But that's not turning the CSII "slot" itself into PCI so much as jumpering four required lines from a nubbin card installed in the CSII slot to an additional (4th) connector on a custom PCI riser.

Can't find my test results/screen shots here or over at TD for the moment? But unless you want to do something besides fast ethernet there's really no point in hijacking CSII for PCI.

Interesting that you'd mentioned removing the "now useless" analog tuner bay from the 6360. I'd done that years back with one of my cases and it looks to allow use of a three slot riser. ;)
 

trag

Well-known member
@trag is the PCI clock of Gazelle independent of, or a multiple of, the system clock? Thinking USB might be sloppy enough to work if overclocked by 25%, but not be a comprehensive test of PCI bus timings?

I don't know. But we ought to be able to figure it out from the schematic. I don't have the attention to look right now.

On the X500/X600, there is clearly an independent 33.33MHz oscillator that drives the PCI bus. Every PCI slot receives a PCI clock signal, so I would trace back from the PCI slot Clock pin back to the circuitry to see where the clock originates.

If it goes through the PCX (PXC?) chip, then one would need to look around at what clock signals are going in to that chip.

On the X500/X600 the PCI bus is supported by three separate chips. The Bandit chip does the heavy lifting of translating from the CPU bus to the PCI bus. The 343S0182 chip arbitrates the PCI bus (decides which device, including Bandit) gets to talk. And there's also a clock buffer chip which takes that 33MHz oscillator and splits the signal into several low-skew (in phase) signals that are distributed to the slots and to Bandit. Which is how I know that the X500/X600 machines always run their PCI bus at 33MHz no matter what other clock speeds are running.

All these functions might be combined into one chip on Gazelle, which could make it more difficult to determine.
 

Fizzbinn

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:
View attachment 80654

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

View attachment 80655

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?

View attachment 80656

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.

This is really cool! I'm thinking about trying this on my Performa 6360/160 and/or a 6400/? logic board I need to test...

I think I get the resistor changes, restating: Remove the R95 2k Ohm resistor, marked "202" and add a 10k Ohm resistor, marked "103" to R94. (Neat SMD resistor value/marking calculator)

However looking at both my 6360 and 6400 boards I couldn't find a crystal oscillator marked 40MHz, just one marked 33.33MHz, one with some numbers (S0126 9545) and another kinda smudged 31.xxx? But looking at a 6500 board I did find one marked 50MHz so hear is my thinking I want to confirm:

IMG_6361.jpeg

I have a Sonnet G3 400/1MB L2 upgade card but I'm pretty sure it runs at 400Mhz in both my 6360 and 6500. I guess it must change the CPU bus clock multiplier by somehow detecting the CPU bus speed?
 
Last edited:

obsolete

Well-known member
This is really cool! I'm thinking about trying this on my Performa 6360/160 and/or a 6400/? logic board I need to test...

I think I get the resistor changes, restating: Remove the R95 2k Ohm resistor, marked "202" and add a 10k Ohm resistor, marked "103" to R94. (Neat SMD resistor value/marking calculator)

However looking at both my 6360 and 6400 boards I couldn't find a crystal oscillator marked 40MHz, just one marked 33.33MHz, one with some numbers (S0126 9545) and another kinda smudged 31.xxx? But looking at a 6500 board I did find one marked 50MHz so hear is my thinking I want to confirm:

View attachment 81377

I have a Sonnet G3 400/1MB L2 upgade card but I'm pretty sure it runs at 400Mhz in both my 6360 and 6500. I guess it must change the CPU bus clock multiplier by somehow detecting the CPU bus speed?

The crystal you are pointing to is the correct one to change from 40MHz to 50MHz. The markings on them aren't always intuitive. Yes, the Sonnet extension checks the bus speed and sets the multiplier for the G3 accordingly. If you don't also bump down the multiplier for the 603ev, though, your 160MHz CPU will run at 200MHz, which might work...but might not.
 

alectrona6400

Well-known member
right next to the CPU bus there appears to be a spot for a 4pin crystal, but im not so sure it would work the same. i have a 50mhz 4pin smd crystal but not a 2pin, otherwise i'd do this mod in a heartbeat ^^;
 

obsolete

Well-known member
right next to the CPU bus there appears to be a spot for a 4pin crystal, but im not so sure it would work the same. i have a 50mhz 4pin smd crystal but not a 2pin, otherwise i'd do this mod in a heartbeat ^^;
That footprint is labeled DL1, which suggests to me that it's for an inductor; maybe a common mode choke.
 

Fizzbinn

Well-known member
i have a 50mhz 4pin smd crystal but not a 2pin, otherwise i'd do this mod in a heartbeat ^^;

My crystals arrived, ordered off eBay. Doing the trick @obsolete described as I could only find through-hole 50MHz crystals, I ordered some SMD 48MHz to cannibalize. Links below.

Progression of stealing the plastic base from a SMD 48MHz crystal on the top and adding it to a through-hole 50MHz crystal on the bottom. (sniping off the excess leg length not pictured :p )

IMG_6374.jpeg

Through-hole 50MHz crystal (Qty 5) - $3 w/free shipping

SMD 48MHz crystal (Qty 20) - $4.99 + $3.50 shipping

If you are able to reuse the plastic piece from the original crystal or are able to solder it on directly you of course don't need the later to cannibalize.
 
Top