Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

pete1

macrumors regular
Original poster
I just wanted to show how I’ve successfully modded an iMac G3 trayloader to run a 100MHz bus.

Now I don't actually own an iMac but I acquired a Rev. A logic board and 233MHz daughtercard and rigged up some harnesses to run it headless.

The first step once I got it up and running was to swap the 233MHz PPC750 for a 350MHz 750L along with its cache chips, and then swap the 66MHz rated XPC106 chip with a 100MHz rated part. This went smoothly.

IMG_5698.jpeg


Next, I adjusted the MPC932 clock generator to set the bus multiplier to 3x. It takes a 33.33MHz reference from the SC608 clock generator on the main logic board, so I knew that a 3x setting should drive the CPU and RAM at 100MHz.

fsb.png


Move R10 to R11:

IMG_5702.jpeg


This change to 3x needs to be reflected in the Grackle PLL configuration. The four 1K resistors in the following photo are linked to GRKLPLL(0) to (3) on the XPC106.

Move R19 to R18 and R16 to R17:

IMG_5713.jpeg


In my case, no change was needed to the CPU clock multiplier, because the 3.5x stock setting runs the 350MHz replacement chip at its stock speed with a 100MHz bus.

Here’s a Gauge Pro screenshot of the modded machine up and running:

IMG_5695.jpeg


I (and another user who carried out the mod) noticed that at 100MHz the iMac is more picky about booting with certain larger RAM modules, particularly in its top slot. Sometimes, it would chime but the display wouldn't come on. However, using two matched Crucial PC133 modules with low density chips I seem to have no problems running stable at 512MB:

IMG_6328.jpeg


Here are the modules I used:

ram.png


Just for fun, I bumped the PCI clock to get to a bus speed of 110MHz, which is pretty impressive for a machine originally designed to run only at 66MHz. (Note: You can get to 105MHz just by setting the SC608 logic board clock generator to 35MHz PCI, but beyond that you need to install a faster reference crystal. This introduces problems with video and USB.)

IMG_5814.JPG


I reckon the same mod could be applied to the Wallstreet and Lombard PowerBooks, whose CPU card is similar.
 
Last edited:
That's really descriptive overview of the work that's involved. 🙂

How much of a performance boost is gained from increasing the bus speed to 100Mhz?
 
  • Like
Reactions: pete1
That's really descriptive overview of the work that's involved. 🙂

How much of a performance boost is gained from increasing the bus speed to 100Mhz?

I haven’t benchmarked the setup yet and you can’t really tell during casual use.
What sort of performance testing would you like to see? Maybe Norton System Info & MacBench 5 under OS9 and Xbench under OS X? I don’t think Quake3 will run on the lowly Rage IIc chip, so no timedemo possible.
 
  • Like
Reactions: TheShortTimer
I haven’t benchmarked the setup yet and you can’t really tell during casual use.
What sort of performance testing would you like to see? Maybe Norton System Info & MacBench 5 under OS9 and Xbench under OS X? I don’t think Quake3 will run on the lowly Rage IIc chip, so no timedemo possible.

Whichever takes your fancy. 🙂

If you're willing to test all/some of those then please do so. I'll be interested to seeing whatever you share. I'm also curious as to what tempted you to experiment with increasing the bus speed?
 
Whichever takes your fancy. 🙂

If you're willing to test all/some of those then please do so. I'll be interested to seeing whatever you share. I'm also curious as to what tempted you to experiment with increasing the bus speed?

I'll do it, since I'm interested to see the difference too. I'll run the CPU at 300MHz at both 66 and 100MHz bus speeds in order to keep the test fair. My 350 chip won't do 400.

As to why, well like many of us here, I enjoy unlocking the full potential of my favourite vintage machines. I'm not a special fan of the original iMac, though I recognise and appreciate its status as an iconic machine. I got involved as a kind of side quest of the [so far unsuccessful] 100MHz bus mod experiments for the Beige G3. The architecture is really similar, so I was interested to see what I could learn from modding the iMac to advance the Beige project.
 
I'll do it, since I'm interested to see the difference too. I'll run the CPU at 300MHz at both 66 and 100MHz bus speeds in order to keep the test fair. My 350 chip won't do 400.

Thanks, I appreciate this and I'm sure others will too. 🙂

As to why, well like many of us here, I enjoy unlocking the full potential of my favourite vintage machines.

Same here and I've bought gear a few times just for the challenge of seeing what I could with them/how far they can be pushed beyond their original design remit. To paraphrase Walter Bagehot, the greatest pleasures in life come from doing what others say cannot be done.

I'm not a special fan of the original iMac, though I recognise and appreciate its status as an iconic machine. I got involved as a kind of side quest of the [so far unsuccessful] 100MHz bus mod experiments for the Beige G3. The architecture is really similar, so I was interested to see what I could learn from modding the iMac to advance the Beige project.

I bought a 350Mhz iMac G3 for similar reasons and I've great fun pushing it beyond what Jobs and Apple's engineers would've ever conceived. Oh and by the way, it's always nice to encounter a fellow Londoner. 😀
 
Here, as promised, are my benchmark results. Each test has a pair of graphs, the first is a linear comparison of all configurations tested, the second shows a more focused bus speed comparison with L2 cache on and off.
I'll follow up with some comments and conclusions tomorrow - it was already so much work just to get these graphs done.

Table.png
Graph1.png
Graph2.png
Graph3.png
Graph4.png
Graph5.png
Graph6.png
Graph7.png
Graph8.png
Graph9.png
 
Last edited:
@pete1 Thanks for sharing these results - this is fantastic work that demonstrates the significant contrasts in performance. I for one appreciate the amount of time and effort that this must've entailed. 🙂

Thanks for the kudos, I’m glad you’ve enjoyed the benchmarks.

I've tried to organise the most important data into a new table in an attempt to make the results more easy to digest:


TaskResultsIncrease
Xbench benchmark7.78 --> 8.488.3%
iTunes import52s saved on 1333s3.9%
Handbrake import106s saved on 1715s6.2%
System Info benchmark799 --> 8000.1%
Photoshop actions15s saved on 279s5.4%
Disk Copy checksum1s saved on 61s1.6%
Unstuff large file10s saved on 353s2.8%
Unstuff large file (RAM Disk)13s saved on 326s4.0%
Unreal Tournament11.36 --> 12.13 FPS6.8%
Gauge Pro benchmark65.5 --> 89.3 MB/s36.3%

The difference between a 66MHz and 100MHz bus on this machine is marginal (4-5% real world - excluding Gauge Pro) and hardly noticeable in real world use. For a 50% increase in bus speed, I do find this surprising. But the reason for this is mostly the G3's large 1MB L2 backside cache – when disabled the bus speed then becomes a lot more important:


ConfigurationSystem BusAvg. Real World GainBottleneck
1MB L266 --> 100MHz~4.3%CPU Clock Speed (300MHz)
L2 Disabled66 --> 100MHz~14.0%RAM Latency/Bus Bandwidth

Apple likely had a greater rationale for going to a 100MHz bus on the Blue and White G3. You could have up to 4x PCI cards – with 66MHz for the graphics card and 64-bit for the other three peripherals – as well as a couple of fast drives on an ATA/33 interface. With multiple high-speed peripherals competing for the same data path, a 66MHz system bus would have created a bottleneck, leading to significant bus contention and slowing down the entire system.
 
100% and you're very welcome. 🙂



An attempt? You've succeeded. This is terrific - you've got enough material here to hold a seminar or a lecture on the topic!

Ah, thanks again. Very kind words.

What format do you most like the results in, and is there any other way you’d present the data?

What do the results tell you, and have you learned anything from them? Is the project interesting even considering the outcome is marginal?

BTW, the PLL pads have started to fall off on my CPU card from the number of times I’ve adjusted the clock multiplier!
 
Last edited:
  • Like
Reactions: TheShortTimer
What format do you most like the results in, and is there any other way you’d present the data?

They're fine as they stand. 🙂

What do the results tell you, and have you learned anything from them? Is the project interesting even considering the outcome is marginal?

The results tell me a lot about Apple's engineering choices and I've learned that the stats which are thrown at consumers don't always tell the full story. A project doesn't have to yield a substantial outcome to be interesting - the fact that they're marginal doesn't negate the project's worth. It has something to say on a subtle level.

BTW, the PLL pads have started to fall off on my CPU card from the number of times I’ve adjusted the clock multiplier!

Ooops! Can this be fixed?

Here’s a shot of my test setup for most of the benchmarking.

View attachment 2619313

Cool! I like your collection. Quite the little laboratory. 😀
 
  • Like
Reactions: pete1
I wonder if some switches would've been better for this than doing the board modification every time. 😵
 
  • Haha
Reactions: pete1
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.