Previous Casio Calculator Learns New Tips



[George Stagg] just lately discovered himself stung by the burden of free time whereas in lockdown. Needing a challenge to maintain him occupied, he determined to improve his 90s Casio CFX-9850G calculator to run customized machine code.

All [George] actually needed was for his classic calculator to grasp Reverse Polish Notation (RPN). The calculator in query can already run its personal model of BASIC, nevertheless the bespoke Hitachi CPU struggles performance-wise with complicated packages, and wouldn’t be a practical manner of utilizing RPN on the calculator. An RPN interpreter written in meeting language could be a lot quicker.

Step one in cracking this calculator vast open was a ROM dump, adopted by writing a disassembler. Extremely, the MAME framework already featured a ‘partial implementation’ of the calculator’s CPU, which was a a lot wanted shot within the arm when it got here time to put in writing a full-featured emulator.

With the complete calculator emulated in software program, the plan from right here concerned changing one of many BASIC instructions in ROM with new code that will bounce to an handle in RAM. With 32KB of RAM there ended up being loads of room for experimentation, and importing a program into RAM was simplified by utilizing Casio’s authentic backup software program to dump the RAM onto a PC. Right here, the contents of RAM may very well be simply modified with customized code, then uploaded again into the calculator.

With RAM to burn, new routines have been created to put in writing customized characters to the display, and a brand new font was created to squeeze extra characters onto the show than regular. [George] ended up porting a Forth interpreter, which defaults to RPN fashion, to lastly obtain his humble goal. He additionally managed to get a model of Conway’s Recreation Of Life operating, try the video after the break.

We are able to’t get sufficient of our calculator hacks right here, so ensure that to take a look at the CPU transplant on this classic Soviet calculator.

[Many thanks to Adrian for the hot tip]