Finally…
0xb4560c45 sceSysregPllGetOutSelect
0xdca57573 sceSysregPllSetOutSelect
I’ve been trying to crack these 2 nids for awhile. These are used to get/set the PLL index that multiplies with the base frequency to change the PLL freq (to change cpu & bus freq). The index is as follows:
-
const float pll_table[0×10] =
-
{
-
1/9.0, // 0.1…
-
4/9.0, // 0.4…
-
4/7.0, // 0.571428…
-
6/9.0, // 0.6…
-
4/5.0, // 0.8
-
9/9.0, // 1.0
-
0.0,
-
0.0,
-
-
1/18.0, // 0.05…
-
4/18.0, // 0.2…
-
4/14.0, // 0.285714…
-
6/18.0, // 0.3…
-
4/10.0, // 0.4
-
9/18.0, // 0.5
-
0.0,
-
0.0
-
};
Although the index is from 0-15, sceSysregPllSetOutSelect limits it to 0-5 only. The default is 3 (ie. 0.666666…). So default PLL freq is (multiplier*BASE_FREQ) * pll_table[index] = 9*37 * 0.66666 = 222MHz. To set to 333MHz just call sceSysregPllSetOutSelect(5) (which will also make the cpu freq 333MHz).
EDIT: For completeness, here’s what I had originally written about it: http://lan.st/showthread.php?t=854
Leave a Reply