- Casio fx-CG/CP overclocking insights
- 02 Jun 2025 06:38:10 am
- Last edited by CalcLoverHK on 29 Mar 2026 09:52:56 am; edited 3 times in total
Hello, this is my first post here and I will put my findings on Casio calculator overclocking so far. In particular, this post focuses on Casio calculators that come with an SDRAM, namely fx-CG50, fx-CP400 and recently released fx-CG100.
As you may know, there is an overclocking utility for fx-CG50 named Ptune3. It contains pre-loaded presets (F1-F5) that are considered as the standard by gint. For fx-CG50, the fastest 2 presets are F4 and F5.
F4 preset
F5 preset
F4 preset prioritizes the CPU speed, while F5 preset focuses on the bus speed. The benchmark result indicates that F5 is faster than F4 despite having a slower CPU speed. This is because the bottleneck of fx-CG is on the memory bus. Changing BFC is more beneficial to changing IFC as it increases the memory data throughput, thereby improving the performance on display update rate and cache-enabled tasks.
However, it was widely believed that this model cannot withstand a bus frequency of more than 110 MHz, unlike fx-CG10/20 which could do over 130 MHz with appropriate memory latency. To be fair, an fx-CG50 with F5 preset is still faster than an fx-CG10/20 with a bus speed of 117.96 MHz (115 FPS), but the current F5 preset loses the ability to communicate with a non-overclocked calculator as its peripheral bus speed does not match with the default one. You either had to choose F4 preset to preserve the serial communication with little gain on performance, or go for the overall fastest preset while sacrificing such ability. Even worse, for the past years some users reported that their fx-CG50 cannot withstand the original v0.24 F5 preset (PLL x26), notably this and this.
Clearly the limiting factor of the memory speed is its latency, and it is indicated by the raR (CS2WCR.WR) and raW (CS2WCR.WW) for fx-CG10/20. As fx-CG50 switches from SRAM to SDRAM though, raR and raW no longer have effects on SDRAM speed. Instead it is now affected by the CS3WCR registers which manage Area 3 memory timings, since Casio designated Area 2 as SRAM space and Area 3 as SDRAM space. Besides, it was confirmed that the register structure for CS3WCR in SH7305 actually derives from the SH7730 MPU, and the registers in this area are TRP (Row Precharge time), TRCD (Row to Column Delay time), A3CL (CAS Latency), TRWL (Write to Precharge time?) and TRC (Row Cycle time). Later Ptune3 versions adapted this structure, but no further experiments were conducted at that time because fx-CG50 was relatively new, and thus not much information on it was known. Moreover, the Ptune3 author (Sentaro21) shifted the focus on developing C.Basic for fx-CG50 once Ptune3 was stable for use.
In February this year, the MPM team released a community mod tool for Graph Math+ that restores the ability to run add-ins. As such, I ordered a Graph Math+ on Amazon.de for around 61 β¬ to develop and test Ptune4. At the time I received my Math+ (and as of this writing) MPM only supported gint add-ins, so I had to port Ptune3 to gint. After spending a few weeks on implementing core features of Ptune3, I started playing around the BSC registers, and this was where I discovered the CS3WCR.TRC to be the major limiting factor of fx-CG50 overclocking.
With a negligible compromise on dupdate frame rate, the maximum RAM frequency my fx-CG50 can achieve is increased from 115 MHz to 128 MHz, while my modded Math+ goes up from 105 MHz to 146 MHz. This is done simply by increasing TRC from 4 (default) to 6 cycles. Due to this finding, I began to collect the overclocking data of all Casio SDRAM-based calculators to design a new F5 preset for gint. You can take a look at my database below.
https://docs.google.com/spreadsheets/d/11qrHZEN-EYLNgX7dHmkdP5AYmgjlWpMc_l9V8aF0qpE
From the database, 2 fx-CG50 have the red background in TRC_4 column, which means they cannot operate under Ptune3 v0.25 F5 preset. With TRC_6, both of them have a huge leap from 87/92 to 132 MHz, taking them from worst to best overall in the fx-CG50/Graph 90+E category.
What's more interesting however is the results of Graph Math+. Despite having the worst results under TRC_4, they are much stronger with TRC_6 or above, and even faster than fx-CG50 and Graph 90+E. Supposedly the SDRAM in Graph Math+ should be the same as fx-CG50, so I took my fx-CG50 and Math+ apart, and confirmed that they indeed use the same SDRAM and variant (ESMT M12L64164A-7TI). A reason I can think of is that Math+ has a better PCB design, where the place for SDRAM is more spacious than fx-CG50's one.
Although this is the case for my Graph Math+, I looked at Critor's Graph Math+ review on Planète Casio and found out his Math+ uses the 5TI variant unlike mine. This was never seen before because Casio has only used the 7TI and 6TI variant for fx-CG50 and fx-CP400 respectively since 2013. From the SDRAM manual, 5TI/6TI/7TI are rated at 200/166/143 MHz respectively.
Compared to 7TI Math+, most 5TI Math+ can achieve over 150 MHz under TRC_9, as well as having a significant difference between TRC_6 and TRC_9. A similarity I noticed among these 5TI Math+ is that all of them have "A3C" (March 2024) on their own serial number, while for 7TI Math+ it is "A4C" (April 2024). For some reason Casio decided to use 5TI on the new calculator and changed back to 7TI a month after. Funnily enough, a while back in r/calculators subreddit I requested for some photos of fx-CG100 PCB and one of them uses the 5TI variant again. Its S/N contains "A2C", which means it was manufactured in February this year. I am very interested to see how fast the fx-CG100 can be overclocked once MPM supports it, especially since 5TI fx-CG100 exists.
If you want to try Ptune4 (and CPtune4), you can download them by clicking the below link for now.
https://git.planet-casio.com/CalcLoverHK/Xtune/releases
You can also report the SDRAM test result by filling out this form. For fx-CG50 and fx-CG100, I designed a new F5 preset that is intended to replace the current one in Ptune3 and gint. Let me know if your calculator crashes with it π
https://forms.gle/QAer6MkXkXvcDN4A6
As you may know, there is an overclocking utility for fx-CG50 named Ptune3. It contains pre-loaded presets (F1-F5) that are considered as the standard by gint. For fx-CG50, the fastest 2 presets are F4 and F5.
F4 preset
F5 preset
F4 preset prioritizes the CPU speed, while F5 preset focuses on the bus speed. The benchmark result indicates that F5 is faster than F4 despite having a slower CPU speed. This is because the bottleneck of fx-CG is on the memory bus. Changing BFC is more beneficial to changing IFC as it increases the memory data throughput, thereby improving the performance on display update rate and cache-enabled tasks.
However, it was widely believed that this model cannot withstand a bus frequency of more than 110 MHz, unlike fx-CG10/20 which could do over 130 MHz with appropriate memory latency. To be fair, an fx-CG50 with F5 preset is still faster than an fx-CG10/20 with a bus speed of 117.96 MHz (115 FPS), but the current F5 preset loses the ability to communicate with a non-overclocked calculator as its peripheral bus speed does not match with the default one. You either had to choose F4 preset to preserve the serial communication with little gain on performance, or go for the overall fastest preset while sacrificing such ability. Even worse, for the past years some users reported that their fx-CG50 cannot withstand the original v0.24 F5 preset (PLL x26), notably this and this.
Clearly the limiting factor of the memory speed is its latency, and it is indicated by the raR (CS2WCR.WR) and raW (CS2WCR.WW) for fx-CG10/20. As fx-CG50 switches from SRAM to SDRAM though, raR and raW no longer have effects on SDRAM speed. Instead it is now affected by the CS3WCR registers which manage Area 3 memory timings, since Casio designated Area 2 as SRAM space and Area 3 as SDRAM space. Besides, it was confirmed that the register structure for CS3WCR in SH7305 actually derives from the SH7730 MPU, and the registers in this area are TRP (Row Precharge time), TRCD (Row to Column Delay time), A3CL (CAS Latency), TRWL (Write to Precharge time?) and TRC (Row Cycle time). Later Ptune3 versions adapted this structure, but no further experiments were conducted at that time because fx-CG50 was relatively new, and thus not much information on it was known. Moreover, the Ptune3 author (Sentaro21) shifted the focus on developing C.Basic for fx-CG50 once Ptune3 was stable for use.
In February this year, the MPM team released a community mod tool for Graph Math+ that restores the ability to run add-ins. As such, I ordered a Graph Math+ on Amazon.de for around 61 β¬ to develop and test Ptune4. At the time I received my Math+ (and as of this writing) MPM only supported gint add-ins, so I had to port Ptune3 to gint. After spending a few weeks on implementing core features of Ptune3, I started playing around the BSC registers, and this was where I discovered the CS3WCR.TRC to be the major limiting factor of fx-CG50 overclocking.
With a negligible compromise on dupdate frame rate, the maximum RAM frequency my fx-CG50 can achieve is increased from 115 MHz to 128 MHz, while my modded Math+ goes up from 105 MHz to 146 MHz. This is done simply by increasing TRC from 4 (default) to 6 cycles. Due to this finding, I began to collect the overclocking data of all Casio SDRAM-based calculators to design a new F5 preset for gint. You can take a look at my database below.
https://docs.google.com/spreadsheets/d/11qrHZEN-EYLNgX7dHmkdP5AYmgjlWpMc_l9V8aF0qpE
From the database, 2 fx-CG50 have the red background in TRC_4 column, which means they cannot operate under Ptune3 v0.25 F5 preset. With TRC_6, both of them have a huge leap from 87/92 to 132 MHz, taking them from worst to best overall in the fx-CG50/Graph 90+E category.
What's more interesting however is the results of Graph Math+. Despite having the worst results under TRC_4, they are much stronger with TRC_6 or above, and even faster than fx-CG50 and Graph 90+E. Supposedly the SDRAM in Graph Math+ should be the same as fx-CG50, so I took my fx-CG50 and Math+ apart, and confirmed that they indeed use the same SDRAM and variant (ESMT M12L64164A-7TI). A reason I can think of is that Math+ has a better PCB design, where the place for SDRAM is more spacious than fx-CG50's one.
Although this is the case for my Graph Math+, I looked at Critor's Graph Math+ review on Planète Casio and found out his Math+ uses the 5TI variant unlike mine. This was never seen before because Casio has only used the 7TI and 6TI variant for fx-CG50 and fx-CP400 respectively since 2013. From the SDRAM manual, 5TI/6TI/7TI are rated at 200/166/143 MHz respectively.
Compared to 7TI Math+, most 5TI Math+ can achieve over 150 MHz under TRC_9, as well as having a significant difference between TRC_6 and TRC_9. A similarity I noticed among these 5TI Math+ is that all of them have "A3C" (March 2024) on their own serial number, while for 7TI Math+ it is "A4C" (April 2024). For some reason Casio decided to use 5TI on the new calculator and changed back to 7TI a month after. Funnily enough, a while back in r/calculators subreddit I requested for some photos of fx-CG100 PCB and one of them uses the 5TI variant again. Its S/N contains "A2C", which means it was manufactured in February this year. I am very interested to see how fast the fx-CG100 can be overclocked once MPM supports it, especially since 5TI fx-CG100 exists.
If you want to try Ptune4 (and CPtune4), you can download them by clicking the below link for now.
https://git.planet-casio.com/CalcLoverHK/Xtune/releases
You can also report the SDRAM test result by filling out this form. For fx-CG50 and fx-CG100, I designed a new F5 preset that is intended to replace the current one in Ptune3 and gint. Let me know if your calculator crashes with it π
https://forms.gle/QAer6MkXkXvcDN4A6




