Overclock LC475/P475/Q605 without soldering or spicy-o-clock

Mustermann

Well-known member
b1 = 0 for external ADB handling, 1 to use BIOS's built-in ADB Master Cell (which doesn't work and didn't work until the G3 timeframe, at which point MacOS never used it anyway)
b0 = 0 for BCLK > 25 MHz, 1 for 25 MHz or less
register 0x50F1800 (BIOSConfig):

While switching CPU speed this parameter can be set to the wrong value.
Which is better (or less bad):

b0 = 0 at 20Mhz
or
b0 = 1 at 40Mhz

If it is like additional wait states, b0 = 1 at 40Mhz is better, because additional wait states are ok for a short time.
If it is like refresh cycle, b0 = 0 at 20Mhz is better, as additional refresh cycled are ok.

Any recommendations?
I will adapt my code if necessary.
 

Arbee

Well-known member
The info I have just says to set it to 0 below a 25 MHz BCLK and 1 for everything above that.
 

Mustermann

Well-known member
The question i tried to raise was:
You can not change clock frequency and BIOSConfig at once.

So you have to choose:
20MHz + b0 = 1 -> 20MHz + b0 = 0 -> 40MHz + b0 = 0
or
20MHz + b0 = 1 -> 40MHz + b0 = 1 -> 40MHz + b0 = 0

Start and end are fine in both cases, step in between is not.

Which is better (or less bad) for the intermediate step? (even if it is just set for some milliseconds)
20MHz + b0 = 0
or
40MHz + b0 = 1
 

Arbee

Well-known member
Oh, for safety I'd set BIOSConfig and then set the clock.

(I'm assuming you're only going to a faster setting than the machine is already at; if you're slowing down set the clock first then BIOSConfig).
 

Mustermann

Well-known member
Based on the discussion above I build an update of my PoC code:

- Moved BIOSConfig from setregistermin() to setregistermax()
Now UnknownMHz b0 = ? -> UnknownMHz b0 = 0 -> NewvalueMHz + b0 = 0 -> NewvalueMHz + b0 = Newvalue(accpording to NewvalueMHz)

- Wrapped Code in SwappMMUMode
So the code is expected to work in 24bit mode as well
Thanks to zigzagjoe for the code.

- Added procedure setsecurevalue()
Just for better reading

- Moved some printf into procedure printdisclaimer()
Just for better reading

- Added #define INTERACTIVE and some #ifdef in main() and printgestalt()
if INTERACTIV is not defined, no print and no scan from console but read desired clock frequency from source code int newvalue = 33;

- Added #define DRYRUN to encapsulate all read from or write to registers, as those access crashes Basilsk 2 imediate.
Usualy DRYRUN should not be defined.

- Added code of Phipli to calculate n,m,p from desired CPU frequency
void calculateLong( int MHz, char *n, char *m, char *p )

- Added setrefreshintervall() to set refresh interval appropriate for other frequencies than 20, 25, 33, and 40 MHz

- Updated GestaltID based on recommendation of Phipli

- Changed some pokes in setlong()
Some users reported that setlong() in V0.2 crashes the device.
It seems to be a race condition in V0.2 that occur at some but not all devices that have resistors changed for 33MHz

Testing and feedback are very welcome.
 

Attachments

  • LC475SetCPUClock V0.4.c.txt
    21.5 KB · Views: 15
Last edited:

opualuan

Well-known member
This is very cool! I tried it on my system but wasn’t able to show any change in CPU performance. I did the resistor change to 33mhz, speedometer shows 1.16. Soft 475 shows it booted with 40 mhz, but no change.

Am I missing something? 475 w/132mb ram, bluescsci v2, ethernet card.
 

Powerbase

Well-known member
This is very cool! I tried it on my system but wasn’t able to show any change in CPU performance. I did the resistor change to 33mhz, speedometer shows 1.16. Soft 475 shows it booted with 40 mhz, but no change.

Am I missing something? 475 w/132mb ram, bluescsci v2, ethernet card.
I had an instance where it showed it booted at 40 but benchmarks showed it was really only running at 33MHz. This only happened to be me once (the first time I booted up after benchmarking it at 40Mhz). It might have just been an issue with the program/extension thingie. Its since ran at 40MHz fine (just a smidge below a 840av).
 

Mustermann

Well-known member
This is very cool! I tried it on my system but wasn’t able to show any change in CPU performance. I did the resistor change to 33mhz, speedometer shows 1.16. Soft 475 shows it booted with 40 mhz, but no change.

Am I missing something? 475 w/132mb ram, bluescsci v2, ethernet card.
Check if you run at 32bit.
In general Phiplis extersion should detect 24bit and show error Icon.
I assume you don't use 24bit mode, as 132MB RAM doesn't make sense in 24bit mode.

Did you try to clock-down to 20MHz or 25MHz?
Maybe output of Clockometer is easier to use than Speedometer.

33 and 40 MHz are pushing MC88920 above it's specification.
So some of them are able to run at 40Mhz, others do not reach 40 (one of my 475 devices is not going above 38MHz, no matter what I set).

475 w/132mb ram, bluescsci v2, ethernet card should be fine.
 

opualuan

Well-known member
Clocking down to 25mhz still showed 1.16 in Speedometer.

Yes, running 32-bit, VM off, MacOS 7.5.5. I’ll try Clockometer.
 

dkjones96

Active member
Extension and control panel work great! Mystic Color Classic with fat 040' runs 40MHz at the click of a button.

That being said, the Daystar PowerCard PPC upgrade does not like reassignment. I can only guess that it has something to do with the modified bios on that card. I can OC that system with a spicy to 38MHz but in PPC mode it won't take anything but 33.
 

stynx

Well-known member
Thank you very much for everyone involved with this development.
It is quite fun to experiment with the CPU clock. I was able to get to 48MHz on my LC475, first try.
I had already installed a 40MHz 68040 with fan and heatsink, no problems there.

EDIT:
I have some strange results. It looks like the CPU will always OC to 40MHz at set speeds above 40MHz...

-Jonas
 
Last edited:

MrFahrenheit

Well-known member
Thank you very much for everyone involved with this development.
It is quite fun to experiment with the CPU clock. I was able to get to 48MHz on my LC475, first try.
I had already installed a 40MHz 68040 with fan and heatsink, no problems there.

EDIT:
I have some strange results. It looks like the CPU will always OC to 40MHz at set speeds above 40MHz...

-Jonas

I believe an updated version of Phipli's utility for overclocking is in the works (the system extension / control panel combo).
 

Mustermann

Well-known member
Thank you very much for everyone involved with this development.
It is quite fun to experiment with the CPU clock. I was able to get to 48MHz on my LC475, first try.
I had already installed a 40MHz 68040 with fan and heatsink, no problems there.

EDIT:
I have some strange results. It looks like the CPU will always OC to 40MHz at set speeds above 40MHz...

-Jonas
There is a known limitation:

MC88920 is involved into clock generation as well. Each MC88920 has an individual maximum frequency. This is usually around 36-40MHz.

No matter what you set in Soft Overclock extension this frequency cannot be exceeded.
System does not fail but frequency does not rise above the limit.

Only way out is replacing the MC88920 by a MC88916W80 (require advanced soldering).
 
Last edited:
Top