Casio Prizm software
When I was in high school, I learned a lot about embedded systems and reverse engineering by building add-ins for the Casio Prizm series of graphical calculators (fx-CG 10/20/50/whatever new models they’ve released since then). These “add-ins” were third-party software, not sanctioned by Casio, running native code on proprietary purpose-built hardware and firmware, interacting with APIs reverse engineered by hacker communities. My projects were quite ambitious; if you are curious about what they were, you can see their READMEs ([1], [2], [3]). These were my first serious experience with the C programming language and with embedded systems programming.
As of 2025, all of that took place over ten years ago. Since then, Casio released multiple, very different, OS versions, and even new calculator models which may use similar OS platforms. I don’t know for sure – I haven’t kept up with the subject in, quite literally, a decade.
All of my Prizm add-ins are now unsupported, especially on current OS versions and calculator models. They have not been tested on these versions and I am sure that nasty, dangerous things are happening behind the scenes which could damage your calculator. I know for sure that this is the case, only because sometimes I receive emails from lost souls complaining about unexpected behavior that definitely wasn’t occurring back when I made these add-ins, and sometimes they even mention calculator models that I have never heard about. It is possible to permanently brick these calculators through the use of incompatible or improperly programmed add-ins (I know from first-hand experience, why do you ask?).
To reflect this, the downloads for these add-ins are no longer available from my websites. They may still be floating around on the internet, on third-party websites to which they were uploaded by me or others. I strongly discourage their use for the reasons detailed above.
I do not wish to receive further communications about these add-ins. While I am proud of the work I did at the time, and am happy to reminisce and discuss the general work and challenges that went into building them, I can not and will not help you regarding any concrete problems with them, including:
- Bugs, crashes, slowness, incompatibilities, missing features or any other technical or emotional problems you may have encountered while using or attempting to use them;
- Trouble finding where to download these add-ins;
- Trouble compiling or understanding their source code.
I have stopped developing for the fx-CG series years ago, I no longer follow the custom add-in development scene, my add-ins will not receive further updates, and I can’t help you. Their source code is available on GitHub for anyone who wants to be inspired by their code, subject to the terms of their respective licenses. Unfortunately, the development platform / compiler stack that was in use at the time I built them was quite fragile and honestly janky, and much of the code wouldn’t work right if e.g. compiled with slightly wrong linker settings. I have no idea how to fix the code to work with whatever SDK is used nowadays, nor with recent compiler/linker versions, nor how to find the ancient SDKs and settings used to compile them, etc.
After years explaining all of the above in my replies to the occasional email about these add-ins, I have recently decided to care even less and just leave these emails unanswered. Please realize that even if I were to reply, it would be out of courtesy – those replies would not contain any useful information.
Thank you for your understanding.