Achieve 250+ FPS on your Graph 90+E/Graph Math+!
Posté le 01/04/2025 12:51
This tutorial is intended for overclocking enthusiasts who wish to push their Graph 90+E/Graph Math+ towards the hardware limits. If you are new to overclocking, this article from Lephenixnoir is a good starter
The short answers
In Ptune4:

Press [SHIFT] and [+] to raise TRC to 6.

Press [VARS]/[VARIABLE] to enter BSC settings. Switch to WCR mode by [F5]/[⇥], and set WW/HW registers in CS5AWCR section to 0/0.5 cycles respectively.

Press [SHIFT]+[MENU]/[SETTINGS] to enter Ptune4 settings. Select "Bus Clock Max" and raise the limit by [+]/[RIGHT].
You can now push the PLL to x32 or more to gain even more FPS than the current F5 preset for Graph 90+E/Graph Math+.
What are the magic sauces?
- Culprit 1: Spread spectrum
Spread spectrum is enabled in Graph 90+E/Graph Math+ by default. This not only slightly slows down the performance, but also causes problems when PLL is above x32, where
x33 has the same performance as x1. This caused Ptune3's maximum PLL to be hardcoded to x32 as a result, when spread spectrum was not known at the time of fx-CG50/Graph 90+E launch.
Ptune4 automatically disables spread spectrum when you enter the add-in, so that you can raise PLL to the maximum value of x64 like Ptune2. 👍 However, if you plan to do benchmarks (especially on Casio Basic and Casio Python) with speed presets in Ptune4,
make sure you indicate the state of spread spectrum (or before/after using Ptune4) for your results. This is because the results you get after using Ptune4 are under the condition of spread spectrum being off. Even if your calculator switches to normal speed preset there, it may still result in slightly faster time. There is currently no way to re-enable it in Ptune4 because of
the way gint's clock calculation function works.
- Culprit 2: Default SDRAM timings are suboptimal
If you take a closer look at the registers in CS3WCR, you may recognize that most of them are the common SDRAM timings used in the PC overclocking community. Timings are one of the major factors that determine the maxmium frequency you can achieve. Suitable timings allow the RAM kits to go even further and boost performance, whereas inappropriate settings cause instability and crash your system.
Typically, they are indicated in
CL-tRCD-tRP-tRAS format. In our case, the first three timings are all 2 cycles by default. tRAS is not available for modification, but we can calculate it based on this formula:
tRAS = CL + tRCD. There is also a formula for calculating recommended minimum value of tRC which is modifiable in Ptune4:
tRC = tRP + tRAS.
This is where the problem lies. tRC defaults to 4 cycles, but using the above formulas the minimum value should be 6 cycles. Setting tRC to 6 extends the maximum bus frequency to 130+ MHz, as indicated by Ptune4's SDRAM test:
- Culprit 3: Slower LCD timings
LCD timings are managed by CS5ABCR and CS5AWCR. Here we only concern IWW, WW and HW registers as they affect the performance the most.
The default values for fx-CG10/20 are IWW=1, WW=0 and HW=0.5. However, Graph 90+E/Math+ use WW=1 and HW=1.5 instead, which hinders the screen update. By using the same settings as the previous generation, we see a 38.1% improvement from the normal preset.
With IWW=0 the percentage increase goes even further to 67.9%, but it is not recommended to tighten IWW along with WW and HW because such settings cause screen glitches when the bus frequency is 105 MHz or above.
Important! LCD timings will be reset once you turn off your calculator. This is dangerous because they are known to limit the maxmium bus frequency that LCD (not the RAM itself!) can withstand. If you set a bus frequency that is inappropriate for the default values, the screen may become distorted the next time you wake up your calculator. If that happens, press the RESTART button on the back to reset the bus frequency to its default value.
Closing remarks
There are more BSC registers that can improve the performance, but they are quite minor when comparing to the above culprits. If you are keen to extract a bit more speed, you can take a look at my overclocking notes on the Planète Casio bible server. Most of them will also be present in the Ftune/Ptune Wiki once I finished porting the rest of the Ftune/Ptune editions to gint.
https://bible.planet-casio.com/calcloverhk/overclocking-notes/
As a side note, I propose the following CPG and BSC parameters (shown in the screenshot below) as the new F5 preset for Graph 90+E/Graph Math+. You can try this experimental configuration starting from Ptune4 v0.06, by pressing [SHIFT]+[F5] (Graph 90+E) or [SHIFT]+[NEXTTAB] (Graph Math+) in the main menu. If it causes system error, please let me know!
Have fun overclocking and feel free to share your results in the comment section!
Citer : Posté le 01/04/2025 13:39 | #
That's a nice improvement, it's really cool.
Can you do an article on improving the input latency?
I find that my inputs lag behind when the screen updates 250 times per seconds.
Citer : Posté le 01/04/2025 13:45 | #
(The keyboard driver in gint runs at 128 Hz so you'll never get a response time below 8-10 ms to an input)
Citer : Posté le 01/04/2025 14:25 | # |
Fichier joint
As requested, I have released and attached Ptune4 v0.06 that contains the experimental F5 preset.