Based on this document:Now I'm wondering if I keep running this extension should I add a CPU heatsink?
See this post: https://68kmla.org/bb/index.php?thr...-soldering-or-spicy-o-clock.47946/post-539573OMG i love this!! Is there a compiled INIT already?
I would love to bench this against my q650-700@40mhz
Sweet find. Here's a quick and dirty extension to set 40mhz based on the code posted by @Mustermann. It loads as early as possible during the boot process to get running fast ASAP. Seems to work correctly: Clockometer reports 40mhz & corresponding speed improvement in Speedometer.
Also includes Symantec C project to compile. It's all hardcoded, if you want to try something else you'll need to pick different parameters and stick them in there.
What version of Symantec C did you use to compile this?
I believe I used 7.
As there is no 575 with me I just can guess:@Mustermann : Would this hack work on a 575 board?
@zigzagjoe Are you able to let me know, how to make an extension from an standard app (output of C compiler/Linker)?It loads as early as possible during the boot process to get running fast ASAP. S
How to tell the extension what to do?How about some oddball frequencies too: 35Mhz, 37Mhz. Just to try, I'm not sure how far my LC040 could go anyway.
@zigzagjoe Are you able to let me know, how to make an extension from an standard app (output of C compiler/Linker)?
I noticed, you removed all "print" statements from code. This might be a prerequisite but if I compile it is still and standard app.
How to distinguish between early and late load?

Probably worth the classic hold-space-to-disable-at-boot as well, or something of the like.I think these two specific functions would be essential in a cdev.
A value-add would be a simple timing loop to estimate current clock speed based on CPU type as Clockometer does, since most apps seem to detect the frequency reported by toolbox calls rather than actual.
- Allow setting arbitrary clock from the control panel, but make sure saving the clock frequency to apply at boot (if enabled) is a separate deliberate action so bad experiments don't get saved.
- While applying clock during boot, verify that the system didn't hang during boot by setting a persistent check value somewhere (in PRAM?) and only clearing it later, probably when finder completes loading would be good.
That's a good question on the frequency change. Looks like it doesn't persist across soft reboots; held shift on the reboot and it was back to 25 on the subsequent reboot.Probably worth the classic hold-space-to-disable-at-boot as well, or something of the like.
Does a hot-boot keep the frequency change, or does the ROM reset it to stock? If the former, holding space or what-have-you should really force it to stock again.
Also that's a curious note about the toolbox calls for frequency. Rocket IIs always claim to be 33MHz in basic tools (but Clockometer refuses to measure them) and I've wondered where they're getting that from...is that guessing from the TimeDBRA delay or something else?
In the last days I got an additional Performa 475 in my hands showing exact the results described above. Clock speed up didn't work.Confirmed it does change all the other registers but doesn't touch the actual clock chip registers for some reason.
It will always report b00000000 for the clock chip and always tells me it's going to set it to b00000000...
View attachment 76211
If I let it run again all the other "old values" match what it set before, so I believe that part does work just fine. It just isn't touching the clock chip for me for some reason.
In the last days I got an additional Performa 475 in my hands showing exact the results described above. Clock speed up didn't work.
This Performa has "343S0161" soldered to the board.
Based on the MEMCjr datasheet my first assumption was that "343S0161" is not a Gazelle but a DP8534.
There is bit 8 of Register $F980000C to distinguish. First read display bit set for DP8534 in place.
Some tests later I noticed that the bit flips when changing other values. Very strange.
At the end I noticed that upper 6 bits were not set according to the register but keep the value read before.
Long story short: F980000C did not contain valid data because computer was set to 24bit addressing.
after changing to 32bit Clock speed up was working well.
Learning: Current code is not working in 24bit mode.
We need to find out, how to tell between 24 and 32 bit mode and where the registers were mapped in 24bit mode.
char busMode = 1;
SwapMMUMode(&busMode); // go 32 bit, if in 24 bit
(register stuff);
SwapMMUMode(&busMode); // return to original MMU mode