• Hello MLAers! We've re-enabled auto-approval for accounts. If you are still waiting on account approval, please check this thread for more information.

PPC740L G3 CPU Daughterboard For Blackbird Powerbooks

I still do have it sitting here indeed.. I think we briefly talked about getting it back your way and lost track of actually doing so again with real life or a forum crash or something getting in the way.

Happy to send it over to @Daniël if you want... or back your way obviously :)
 
@CC_333 Awesome! I'd happily give the whole G3 experiment one last try with the 740L/745 chips, and repatriate it back to you either with a working G3, or worst case scenario a 603e put back in place :-)
 
I still do have it sitting here indeed.. I think we briefly talked about getting it back your way and lost track of actually doing so again with real life or a forum crash or something getting in the way.
Yes, I think something like that must've happened. No worries, though! I haven't really needed it anyway.
Just wanted to remind you to whom it belongs :)

Awesome! I'd happily give the whole G3 experiment one last try with the 740L/745 chips, and repatriate it back to you either with a working G3, or worst case scenario a 603e put back in place :)
By all means! I had lent it to Bolle in the first place because he wanted to try something similar, but didn't have lots of time to sort it tout when (as I recall) he found that a simple CPU swap didn't work.

It's too bad I don't have two of them (I only acquired this one by sheer luck (it was installed in a machine, and the seller, as I recall, didn't know what it was), as I'd never be able to afford one if I were to buy it outright.

During the course of your experimentations, if there's a way to non-destructively reverse engineer it, please feel free to do so! That way maybe clones can be made :)

I don't generally contribute much in the way of rare or exotic stuff, so I'm pleased that I can here (there was one thing: if anyone can recall the first generation custom ROM SIMM programmer that @dougg3 developed back in 2012 or 2013, you might remember that there was a special PPC build of the programmer app with a neat icon. I'm the one who made that :) )

c
 
This is exciting, I’m keen to see what you can do with the CPU card @Daniël

Very much so!
One of things I want to try and figure out, is if the vCore can be adjusted through changing resistors or such on the card.
Even if it's not possible (which is unlikely), the 2.5V it's likely set to is the absolute maximum rating of the 745, meaning the CPU swap's not a write-off at that point either, though even there I'd ideally want to drop the vCore by at least a couple hundred millivolts.

I do know the 745 was written off earlier due to the BVSEL signal being on a pin used for something cache related on the 603e(v) and 604e(v) chips, but all Mac schematics I've checked that use these CPUs, don't seem to use those signals, leaving them NC.
And BVSEL is internally pulled up, so it defaults to 3.3V bus signaling, which is what we want on the Blackbird card (see page 49 of this datasheet):

BVSEL and L2VSEL are assigned to two unused BGA positions on the MPC755’s 360-pin and MPC745’s 255-pin BGA footprint.
Internal pullups are provided to default to MPC750-compatible I/O voltages if unconnected

If the vCore can be adjusted, then the next step is to use a CPU interposer to fit a 750GX/GL chip.
I know @herd has such an interposer in development, to go from the 603e(v)/604e(v)/740 footprint to the 750FX/FL and 750GX/GL footprint.

That would give you a "full" 750 CPU in the case of the GX/GL, as those have a full 1MB of on-die L2 cache, bringing the L2 cache up to snuff with the PowerMac G3 cards (while being even faster than backside cache).
That would also be a great upgrade for other PBX PowerBooks with BGA chips, where a BGA chip + interposer PCB stack would fit.

During the course of your experimentations, if there's a way to non-destructively reverse engineer it, please feel free to do so! That way maybe clones can be made :)

That would be really cool, but it's well outside of my abilities.
And the fact the card needs the PBX IC, which you'd likely only find in sacrificial PowerBooks, makes it less feasible without reimplementing PBX in an FPGA.
 
The card arrived yesterday, and I did get to some tinkering.
After confirming it powers up with the 603e, I went ahead and removed it:

PXL_20241010_161237348.jpg
PXL_20241010_162238639 (1).jpg

Now, looking at the BGA grid, what jumped out at me is that it does appear like not all data bus lines are attached, which would confirm we're likely operating in a 32-bit mode, but it seems like both Data High and Data Low are connected, but each presumably half.

I mapped out some, green marked pads are DL, red marked pads are DH:

image (11).png

Some go to vias, some don't... which I can't quite understand, as that's not how the 32-bit mode on the 603e is supposed to work, as the 603e User's Manual states:

The 603e supports an optional 32-bit data bus mode.
The 32-bit data bus mode operates the same as the 64-bit data bus mode with the exception of the byte lanes involved in the transfer and the number of data beats that are performed.
When in 32-bit data bus mode, only byte lanes 0 through 3 are used corresponding to DHO-DH31 and DPO-DP3.
Byte lanes 4 through 7 corresponding to DLO-DL31 and DP4-DP7 are never used in this mode.
The unused data bus signals are not sampled by the 603e during read operations, and they are driven low during write operations.

Whatever it's doing, it's still 32-bit, and the 740ARX was unlikely to ever work with it.
Next, I did look at the vCore situation, and have come to the conclusion that it can be adjusted, but only down to 2.42V, putting it out of range for the 740L and (through adaptation) the 750GX.

The card uses an adjustable LT1507 500KHz 1.5A buck converter to generate the 2.5V vCore for the CPU, which uses an internal reference voltage of 2.42V, which is used to generate the right output voltage with two resistors adjusting it.

PXL_20241010_162355243.jpg

The two resistors can be found below the diodes and coil, with a 162 Ohm resistor at R818 (R1 for the buck converter), and a 4.99 KOhm resistor at R819 (R2 for the buck converter).

PXL_20241010_165023634~2.jpg

Throwing that into a feedback resistor calculator, confirms this to generate 2.5V as expected:

Schermafbeelding 2024-10-11 164242.jpg

Now, the 2.42V reference voltage, as I understand is, is the lowest voltage the buck converter could put out, so that's a definite problem for chips that require lower voltages, such as the 740L.
I've been looking into possible drop-in replacements with a lower voltage, and I think the CS51413 from onsemi might work, if it being 520KHz and requiring slightly different diodes aren't showstoppers.

This uses an internal reference voltage of only 1.27V, so that's well below what would be needed.
If anyone has an idea if this would work, or if there's a better replacement, let me know!

Now, I did try the 745BPX chips I have, but they didn't work, the PowerBook would power on but never POST/chime.
However, the chips also didn't get remotely warm, so I'm rather suspect of them actually working in the first place, as even if they aren't executing code, they should start to consume power and get at least slightly warm to the touch.

But to safely try a 740L, I really would want to lower the vCore, as even 2.42V is a bit much above its max rated 2.2V for comfort.
So, replacing the buck converter might be a necessary next step, along with the diodes in question if required.

I have a 603e BGA card for a PB1400 coming at some point from Japan, which I'll be able to check those 745BPXs on, as I don't have any 603e BGA Macs around that I want to pull the CPU on again.
To be continued!
 
The card arrived yesterday, and I did get to some tinkering.
After confirming it powers up with the 603e, I went ahead and removed it:

View attachment 79483
View attachment 79482

Now, looking at the BGA grid, what jumped out at me is that it does appear like not all data bus lines are attached, which would confirm we're likely operating in a 32-bit mode, but it seems like both Data High and Data Low are connected, but each presumably half.

I mapped out some, green marked pads are DL, red marked pads are DH:

View attachment 79485

Some go to vias, some don't... which I can't quite understand, as that's not how the 32-bit mode on the 603e is supposed to work, as the 603e User's Manual states:



Whatever it's doing, it's still 32-bit, and the 740ARX was unlikely to ever work with it.
Next, I did look at the vCore situation, and have come to the conclusion that it can be adjusted, but only down to 2.42V, putting it out of range for the 740L and (through adaptation) the 750GX.

The card uses an adjustable LT1507 500KHz 1.5A buck converter to generate the 2.5V vCore for the CPU, which uses an internal reference voltage of 2.42V, which is used to generate the right output voltage with two resistors adjusting it.

View attachment 79486

The two resistors can be found below the diodes and coil, with a 162 Ohm resistor at R818 (R1 for the buck converter), and a 4.99 KOhm resistor at R819 (R2 for the buck converter).

View attachment 79487

Throwing that into a feedback resistor calculator, confirms this to generate 2.5V as expected:

View attachment 79488

Now, the 2.42V reference voltage, as I understand is, is the lowest voltage the buck converter could put out, so that's a definite problem for chips that require lower voltages, such as the 740L.
I've been looking into possible drop-in replacements with a lower voltage, and I think the CS51413 from onsemi might work, if it being 520KHz and requiring slightly different diodes aren't showstoppers.

This uses an internal reference voltage of only 1.27V, so that's well below what would be needed.
If anyone has an idea if this would work, or if there's a better replacement, let me know!

Now, I did try the 745BPX chips I have, but they didn't work, the PowerBook would power on but never POST/chime.
However, the chips also didn't get remotely warm, so I'm rather suspect of them actually working in the first place, as even if they aren't executing code, they should start to consume power and get at least slightly warm to the touch.

But to safely try a 740L, I really would want to lower the vCore, as even 2.42V is a bit much above its max rated 2.2V for comfort.
So, replacing the buck converter might be a necessary next step, along with the diodes in question if required.

I have a 603e BGA card for a PB1400 coming at some point from Japan, which I'll be able to check those 745BPXs on, as I don't have any 603e BGA Macs around that I want to pull the CPU on again.
To be continued!
I enjoyed reading that and look forward to the next step of this interesting puzzle.
 
I have ordered the onsemi buck regulator, after @LightBulbFun informed with someone he knows, who designs power supplies for a living, and they confirmed the slight differences shouldn't make a difference.

While we wait for that to arrive from China, I did tinker with my 100MHz PPC card, and I have deduced the PLL_CFG settings on these cards.
Note, the R31/R32 pair is in a slightly different orientation on the 100MHz and 117MHz cards, but given the proximity, I doubt the 167MHz card is much different:

PLLCFG.jpg

Basically, it goes as such:

PLL_CFG0:
  • R24: Low (jumper with very low to zero ohm resistor)
  • R11: High (jumper with 1K ohm resistor)
PLL_CFG1:
  • R32: Low (jumper with very low to zero ohm resistor)
  • R31: High (jumper with 1K ohm resistor)
PLL_CFG2:
  • R34: Low (jumper with very low to zero ohm resistor)
  • R33: High (jumper with 1K ohm resistor)
PLL_CFG3:
  • R36: Low (jumper with very low to zero ohm resistor)
  • R35: High (jumper with 1K ohm resistor)

Following this, this card is set to 1011, which results in 5x on both the 603e, as well as the 740L, which on a 33.33MHz bus gives you 166.65MHz.
The only thing of note is that both R31 and R32 are fitted with resistors, but the low side "wins" in this case, so to speak.

On my 100MHz card, following the same logic, you get 1000, or 3x, which on a 33.33MHz bus gives you 99.99MHz.

PXL_20241012_152845197.MP.jpg

This picture of a 117MHz card shows that it's set to 1110, or 3.5x, which gives you 116.65MHz.

i-img1200x900-1701897325pmecam129809.jpg

I confirmed this by changing the PLL_CFG1 and PLL_CFG2 resistors to match the 117MHz card, which gave me the correct overclock:

PXL_20241012_204247716.MP.jpg

I then changed to PLL_CFG0 resistor setting to low, which results in 0110, or 2.5x on the 603e, resulting in 83.32MHz:

PXL_20241014_172150356.jpg

This at least confirms to me that the 167MHz card does not have a clock doubled CPU bus as seemingly mentioned before in this thread, as in that case, it would have been set to 2.5x, which would give you the 166.65MHz on the 66.66MHz CPU bus.
That in turn would be problematic, as the 603e's 0110/2.5x multiplier was repurposed as 10x on the 745 and 740L, which would have pushed it to a devilish 666.66MHz.

But, clearly this isn't a concern, and now we should be able to adjust the clock speed to match the CPU's rating as close as possible :-)
 
I have ordered the onsemi buck regulator, after @LightBulbFun informed with someone he knows, who designs power supplies for a living, and they confirmed the slight differences shouldn't make a difference.

While we wait for that to arrive from China, I did tinker with my 100MHz PPC card, and I have deduced the PLL_CFG settings on these cards.
Note, the R31/R32 pair is in a slightly different orientation on the 100MHz and 117MHz cards, but given the proximity, I doubt the 167MHz card is much different:

View attachment 79594

Basically, it goes as such:

PLL_CFG0:
  • R24: Low (jumper with very low to zero ohm resistor)
  • R11: High (jumper with 1K ohm resistor)
PLL_CFG1:
  • R32: Low (jumper with very low to zero ohm resistor)
  • R31: High (jumper with 1K ohm resistor)
PLL_CFG2:
  • R34: Low (jumper with very low to zero ohm resistor)
  • R33: High (jumper with 1K ohm resistor)
PLL_CFG3:
  • R36: Low (jumper with very low to zero ohm resistor)
  • R35: High (jumper with 1K ohm resistor)

Following this, this card is set to 1011, which results in 5x on both the 603e, as well as the 740L, which on a 33.33MHz bus gives you 166.65MHz.
The only thing of note is that both R31 and R32 are fitted with resistors, but the low side "wins" in this case, so to speak.

On my 100MHz card, following the same logic, you get 1000, or 3x, which on a 33.33MHz bus gives you 99.99MHz.

View attachment 79597

This picture of a 117MHz card shows that it's set to 1110, or 3.5x, which gives you 116.65MHz.

View attachment 79596

I confirmed this by changing the PLL_CFG1 and PLL_CFG2 resistors to match the 117MHz card, which gave me the correct overclock:

View attachment 79598

I then changed to PLL_CFG0 resistor setting to low, which results in 0110, or 2.5x on the 603e, resulting in 83.32MHz:

View attachment 79599

This at least confirms to me that the 167MHz card does not have a clock doubled CPU bus as seemingly mentioned before in this thread, as in that case, it would have been set to 2.5x, which would give you the 166.65MHz on the 66.66MHz CPU bus.
That in turn would be problematic, as the 603e's 0110/2.5x multiplier was repurposed as 10x on the 745 and 740L, which would have pushed it to a devilish 666.66MHz.

But, clearly this isn't a concern, and now we should be able to adjust the clock speed to match the CPU's rating as close as possible :)
Thanks for the detailed update, I'm following this thread with much interest.
 
Good to see there has been some progress on this. On a related note, on YouTube a user called dosdude1 has successfully swapped a 740 onto Action Retro's TAM. Any chance one or both of them are members here and can be asked what went on for that swap? Supposedly it was done at one of the VCFs just out on the floor, so it can't have involved anything too outrageous other than a chip swap and maybe a new resistor or two.
 
Good to see there has been some progress on this. On a related note, on YouTube a user called dosdude1 has successfully swapped a 740 onto Action Retro's TAM. Any chance one or both of them are members here and can be asked what went on for that swap? Supposedly it was done at one of the VCFs just out on the floor, so it can't have involved anything too outrageous other than a chip swap and maybe a new resistor or two.

There was a thread on it here:


Also, been there, done that :-)


On the Gazelle logic board, it only involves adjusting the resistors for PLL (if your chip is differently clocked from the original 603ev), and adjusting the resistors for the vCore voltage regulator.
There is an odd 2.2V limit, setting it with resistor values that should result in a lower voltage still nets about 2.1V to 2.2V, no lower.

Which is safe for a PPC740L, but if an interposer for the 750GX is made, it definitely needs to be lowered to 1.6V or lower.
That said, as the Gazelle is a 64-bit board, there's no issue in using the 740ARX chip, as I have also done before :-)
 
Some go to vias, some don't... which I can't quite understand, as that's not how the 32-bit mode on the 603e is supposed to work, as the 603e User's Manual states:

OK, never mind that, just realized I stuck to my tradition of getting BGA/PGA grid orientation wrong, correcting that does make it seem like it is following the 603e 32-bit mode (DH lines connected, DL lines left unconnected).
So that at least confirms the theory that the card is running in 32-bit mode.

In the meantime, I did get the BGA PowerBook 1400 CPU card, and can confirm it too is only wired up for 32-bit.
That makes it more likely that PBX is a 32-bit data bus only device, in lieu of datasheets, pinouts or schematics.
 
Small but annoying update on the buck converter swap... it doesn't work, and I don't know why.
The 740L still wouldn't go with the voltage set correctly on the replacement buck (and measured to be correct), and then the 603e also wouldn't boot with again the voltage set and measured correctly.

I swapped back to the old buck converter, set it to 2.5V as before... and it's working again.
Not sure why it won't work with the other one, seeing as the voltage is correct (and not dropping significantly or such).

I'm also growing a bit worried about those AliExpress 745BPXs, they are a dark shade of green to the point of seeming black... but this one on AliExpress is much, much more obviously green, which makes me wonder if mine aren't cooked to hell and back...

NEW-MPC745BPX300LE-MPC745B-PX300LE.png_.webp


Not much progress made so far, I'm afraid...
 
Small but annoying update on the buck converter swap... it doesn't work, and I don't know why.
You're talking about swapping from LT1507 to CS51413? Could it be that the CS51413 has too much ripple noise on its output, or perhaps just noise at a different frequency that affects the CPU operation? It seems unlikely that a ripple noise problem would be severe enough to completely stop two different CPUs from working, but stranger things have happened. Without checking with a scope, it's hard to say.
 
Does the newer chip select 32-bit data bus mode in the same way as the 603? You might need to add or move a resistor on one of the mode pins. I would also check the other config pins, like 3.3v bus, etc.
 
Last edited:
Does the newer chip select 32-bit data bus mode in the same way as the 603? You might need to add or move a resistor on one of the mode pins. I would also check the other config pins, like 3.3v bus, etc.

Doesn't seem like they changed the behavior for selecting the 32-bit data bus mode, when reading both the 603ev's User Manual, and the 750L/740L's User Manual:

603ev User Manual said:
Start-Up: TLBISYNC is sampled at the negation of HRESET to select the 32-bit data bus mode; if TLBISYNC is negated at start-up, the 32-bit mode is disabled and the default 64-bit mode is selected.

750L/740L User Manual said:
The 750 selects 64-bit or 32-bit data bus mode at startup by sampling the state of the TLBISYNC signal at the negation of HRESET. If the TLBISYNC signal is negated at the negation of HRESET, 64-bit data mode is entered by the 750.
If TLBISYNC is asserted at the negation of HRESET, 32-bit data mode is entered.

As for the 3.3V bus mode, on the 745 the signal BVSEL pulled high sets it to either 2.5V or 3.3V, while pulling it low is an "invalid setting".
If I'm not mistaken, BVSEL is internally pulled up anyway.

You're talking about swapping from LT1507 to CS51413? Could it be that the CS51413 has too much ripple noise on its output, or perhaps just noise at a different frequency that affects the CPU operation? It seems unlikely that a ripple noise problem would be severe enough to completely stop two different CPUs from working, but stranger things have happened. Without checking with a scope, it's hard to say.

Yes, it was that swap I was referring to.
It probably will have to be something like that, knowing the 603e works just fine at the same voltage, coming out of the LT1507.

As mentioned, LBF did ask a PSU designing friend of his whether the frequency difference would matter, they said it probably wouldn't.
Then again, that person didn't know the full schematic and such, so there could be "obvious" problems to an expert that they simply couldn't know of.

I might want to shift focus back to the 745, knowing it won't need a buck regulator swap, but I need to verify mine actually work.
This might take a bit as I currently don't have hardware ready to go for that (I don't want to pull the 500MHz 740L out of my 6500).
 
Last edited:
I might want to shift focus back to the 745, knowing it won't need a buck regulator swap, but I need to verify mine actually work.
This might take a bit as I currently don't have hardware ready to go for that (I don't want to pull the 500MHz 740L out of my 6500).
You were going to try it out on a PowerBook 1400 series CPU card that you recently acquired, I think?
 
Back
Top