The thing is this driver works with integer only, calculating fsb from pll multiplier and divider.
The PLL register is b0/d0/f0 reg A4 (dword).
When 200FSB is set, clockgen shows 200.49.
Value of the register is 005BF81F, where 5B varies, so I assume this somehow represents the value after the floating point.
0xF8 is the multiplier, 0x1F is the divider and the FSB is calculated by this equation
Code:
fsb = 25 * multiplier / divider
This is exactly 200.
What is left is the 0.49, 49 in hex is 0x31 and I don't see that value with RW opened and auto-refresh enabled.
0x5B is 91 in DEC
CPUZ jumps between 200.42 and 200.40. The value jumps between 0x5B and 0x59 (91 and 89 in DEC), so maybe divided by 200 or current FSB in int?
Let me know if you have some ideas how to calculate the remainder.
PS: Nah, it's always jumping between 0x5B and 0x59. Maybe it's calculated from the cpu frequency.