Jump to content

Most Liked Content

#56005 We Have Been Hacked

Posted by flyingfisch on 19 November 2012 - 11:49 AM

Posted Image
  • MicroPro, Casimo, naib864 and 1 other like this

#60412 FX-82/-83GT/-115/-991ES PLUS Hacking

Posted by SopaXorzTaker on 21 August 2016 - 06:27 PM

We with @kaikun97 are trying to find glitches on these calculator models that would allow executing arbitrary code.


Known so far:

  1. CFX-9850, fx-82ES, -115ES and -991ES (including the PLUS models) presumably share the same chipset architecture, with the CPU being SH-1 or SH-2 (however there are some doubts). This was deduced by looking up the forensic result (9.00000000733343) and finding that these and 10 other Casio calculators have it the same.
  2. CFX-9850 has a custom-built Hitachi HCD62121 CPU as proven by the Service Manual.
  3. There is an emulator for that CPU in MAME. See this GitHub repository.
  4. When compared to a SuperH instruction list, some instructions from the emulator match the listed ones. That probably isn't the case, as many instructions still don't.
  5. There is a bug in fx-82ES, -115ES and -991ES (including the PLUS models) which allows the user to corrupt the calculator's RAM via abruptly interrupting the process of saving data to the EEPROM, please see this thread.
  6. Perhaps crafting strings that produce arbitrary bytes is possible. See the thread linked above. Also, this character map might help.


If you want to help us with our research, feel free to reply!


UPDATE: fx-991ES's chip found! According to this forum thread at hpmuseum, the calculator uses an OKI (now Lapis Semiconductor) ML610901 chip. Need more research.

- Datasheet found! See this (Japanese) and this (English).


The CPU's architecture is nX-U8.


My fx-991ES PLUS has the following checksum:

GY455X VerE
SUM 8928 OK
Pd- Read OK
Press AC

In comparsion, kaikun97's fx-83GT PLUS says:

GY465X VerG
Pd- Read OK
Press AC 

Not all calculators use the OKI chip.

You can identify the chip used in your calculator by the forensic result (see above).

Calculators based on the Hitachi HCD62121 or a similar chip have this result:    9.00000000733343.

The newer calculators based on the OKI ML610901 have this one:                      9.00000000733338.

You can find the remaining digits by subtracting 9 and multiplying the number by, say 1000000000.


We have an IRC channel now, click here to join. (irc.purplesurge.com #casioes)

  • flyingfisch, Viliami and user202729 like this

#59479 Casio Prizm Mandelbrot Explorer

Posted by ProgrammerNerd on 12 September 2014 - 12:41 AM

The Mandelbrot fractal is quite a sight.
Such wonder and amazement that can be found while viewing the Mandelbrot fractal can now be had on the Casio Prizm graphing calculator.
In addition this program can also be compiled for the PC assuming SDL is installed.
Just run make and it will be up and running.
There is very little difference in function between the PC version and the casio prizm version, the resolution is higher but that is it.

The controls are
Left, right, up, down moves the window in that direction
Menu key or ESC on the PC, exits to the menu or exits the program (PC)
F1 sets maximum iterations to 65535
F2 sets the maximum iterations to 224 (this is the default upon starting the program)
F3 toggles deep mode which is on by default. This means you can zoom in deeper with a slight performance hit.
I do not notice the difference
1 subtracts one from the maximum iterations
2 adds one to the maximum iterations
3 subtracts ten from the maximum iterations
4 adds ten to the maximum iterations
5 subtracts 100 from the maximum iterations
6 adds 100 to the maximum iterations
Shift zooms in
Alpha (ALT on PC) zooms out
Source code https://github.com/C...-Prizm-Explorer
Binary https://github.com/C.../mandelbrot.g3a
Screen shots (from the PC version which gets very similar output differing only in resolution).
Anyways if you have any bug report(s), feature request(s), pull request(s), patch(es) or whatever relates to this I would be happy to hear about them.

  • MicroPro, flyingfisch and Viliami like this

#57683 Using The Sdk

Posted by preb on 10 February 2013 - 07:26 PM

There are tutorials to write programs in Casio-Basic on here. Just use the search bar to find them :)
  • MicroPro, flyingfisch and abdelrahmanmostafa like this

#57532 Introduce Yourself

Posted by flyingfisch on 04 February 2013 - 11:32 PM

Name: Daniel, just call me Hyuji.

Birthday: 15 Feb

Age: 17(For now...)

Hobbies: Biking, Video Games (RPGs), Anime & Manga, Mathematics, Computers, Music(Rap)

Where you got your username: I'm lazy so I just took some grouped letters on the keyboard, that made sense, into a username. If you look on a QWERTY keyboard, you will see the letter H-Y-U-J-I all grouped together for easy typing. My password follows a similar principal.

O.o You sure you want to say that much about your password?

Anyway, welcome to UCF!

Hope you enjoy your stay. In the meantime, Ice Cream!

Posted Image
  • MicroPro, Casimo and naib864 like this

#60648 FX-82/-83GT/-115/-991ES PLUS Hacking

Posted by user202729 on 06 November 2016 - 08:05 AM

@SopaXorzTaker Sorry I forgot to mention that the ROM is of fx-570/991SP X emulator, its language is not English. Perhaps I will send you an English version (not on this site)

On this site there are two images of calculators with checksum.

EDIT too bad that those do not have emulator.


@kaikun97 Can you delete the video in your quote? It has a lot of Casio calculator emulator which may be copyrighted.

  • flyingfisch and kasio like this

#60636 FX-82/-83GT/-115/-991ES PLUS Hacking

Posted by flyingfisch on 04 November 2016 - 02:21 PM

Hi guys,


Unfortunately, we can't allow linking to copyrighted material on this forum. This is because our main source of revenue for keeping the site online is Google ads, and they have a strict policy regarding copyrighted material. I've removed the illegal links from this thread.


I don't think any of you intended to be malicious, so I'm not issuing any bans or warnings, just letting you guys know what's going on.


To clarify, pictures of PCBs, "hackstrings", and discussion about reverse engineering the calculators is still allowed, it's just the copyrighted material that isn't.


Thank you for your cooperation, and happy hacking! :)

  • SopaXorzTaker and user202729 like this

#60511 Conway's Game of Life fx-9750GII/9860GI/II

Posted by frankmar98 on 24 August 2016 - 11:58 AM

Hi, yesterday, I was bored and I've programmed a Conway's Game of Life port to fx-9750GII (hacked or not), fx-9860G and fx-9860GII.


Code in pdf from FA-124: 







It is programmed in Casio Basic 2, and I use a 20x20 matrix filled in start with random binaries. You must have at least 45min to play it and enjoy viewing how this little universe evolves.


It is programmed from scratch and it is very slow. If you have any idea for making it more fast, please, feel free to post



  1. Create a program in the calculator
  2. Transfer it to FA-124
  3. Copy the pdf content in the program and save it.
  4. Overwrite it to the calculator

  • flyingfisch and Viliami like this

#60381 Casio Fx-9860G Sdk Tutorials (2016 Avaiable)

Posted by Viliami on 09 August 2016 - 07:55 AM

The Fx-9860gii SDK uses C by default (it also supports C++, SH4A and SH3 ASM), the SDK just uses the standard C with some extra functions for I/O and drawing. 



In the "fxlib.h" header file, there are a bunch of Bdisp functions, these functions deal with drawing pixels to the screen and clearing them.

e.g Bdisp_PutDisp_DD() is the function used to draw a pixel to the screen and Bdisp_AllClr_DD() is the function used to clear all the pixels from the screen.


There is a good tutorial created by Fez and reformatted by Helder7 about the Bdisp functions and basic I/O over here: http://www.casiopeia...php?f=20&t=1420


You can also download the official Casio docs on the fxlib library over here: http://edu.casio.com...greement.html#2



Here is a hello world program, most of this is auto-generated by the SDK when you create a new project:

/*                                                               */
/*   CASIO fx-9860G SDK Library                                  */
/*                                                               */
/*   File name : [ProjectName].c                                 */
/*                                                               */
/*   Copyright (c) 2006 CASIO COMPUTER CO., LTD.                 */
/*                                                               */

#include "fxlib.h"

//  AddIn_main (Sample program main function)
//  param   :   isAppli   : 1 = This application is launched by MAIN MENU.
//                        : 0 = This application is launched by a strip in eACT application.
//              OptionNum : Strip number (0~3)
//                         (This parameter is only used when isAppli parameter is 0.)
//  retval  :   1 = No error / 0 = Error

int AddIn_main(int isAppli, unsigned short OptionNum)
    Bdisp_AllClr_DDVRAM();          // clear screen
    PrintXY(1,1,"Hello World!",0);  // print "Hello World!" to the VRAM
    Bdisp_PutDisp_DD();             // copy pixels from the VRAM to the actual display
    return 1;

//**************                                              ****************
//**************                 Notice!                      ****************
//**************                                              ****************
//**************  Please do not change the following source.  ****************
//**************                                              ****************

#pragma section _BR_Size
unsigned long BR_Size;
#pragma section

#pragma section _TOP

//  InitializeSystem
//  param   :   isAppli   : 1 = Application / 0 = eActivity
//              OptionNum : Option Number (only eActivity)
//  retval  :   1 = No error / 0 = Error
int InitializeSystem(int isAppli, unsigned short OptionNum)
    return INIT_ADDIN_APPLICATION(isAppli, OptionNum);

#pragma section

As you can see from above, there is no main() function, unlike standard C our entry point to the program isn't the main() function, it is the AddIn_Main() function.

  • flyingfisch and frankmar98 like this

#60369 Irc Bot Is Down!

Posted by PsySc0rpi0n on 07 July 2016 - 12:08 AM

The IRC bot is down for a while now! Please fix it! Thanks

  • Viliami and frankmar98 like this

#59640 Entering A Number In N, Then Enter Numbers N Times

Posted by Sheepolution on 30 October 2014 - 01:33 AM

"How many rows"?->N

For 1->I to N

"X"?->Matrix A[I,1]

"Y"?->Matrix A[I,2]



Something like this?


I think you need to define the length of the matrix before hand, but I forgot how to do that at the moment.

Something like N->Dim Mat A


I think.

  • jasonphan and Ata.H.D like this

#59473 Lost The Sdk D:

Posted by shinolife63 on 11 September 2014 - 10:05 PM

Ok, so this is a pretty simple thread, bassically the computer I had the 9860 sdk on died, along with the hdd, and now I cant find where I got it from casio's website.
If anyone could link me to a download (from casio or otherwise), that'd be supurb.


  • flyingfisch and shinolife63 like this

#59472 Nested If Statement Syntax Error

Posted by TeamFX on 11 September 2014 - 06:07 PM

Every 'If' needs an 'IfEnd' and there are quite a few missing in your program.
You can also use the conditional jump command "=>" (Shift + VARS / F3 / F3) as an 'If-Then' replacement.

Instead of writing...
If A=2
Then A+1->A

You write...

The conditional jump command does not allow more than one statement to be executed.

  • MicroPro and shinolife63 like this

#59409 Help! Touchscreen On Classpad 330 Not Working!

Posted by soulsurvivor on 03 August 2014 - 07:43 PM

Hi guys,

i found a solution for the touchpad problem. By simply heating up the display with a hair dryer!

hope it works also for you
  • Valdis and squonk like this

#59215 Complex Numbers Calculations

Posted by PsySc0rpi0n on 22 March 2014 - 02:00 PM

I got it...

Calculator automatically converts negative angles in their complementary values, meaning -102.7 = 257.3-360
  • MicroPro and flyingfisch like this

#58739 Calc Function In Fx-Cg10

Posted by Anandks on 11 September 2013 - 05:25 AM

Dear 3298,
Thanks for the reply and sorry for adressing casio fan, As the site says, "Newbie"
Yours is good solution and thanks for that.

Also a Gentleman from CASIO managed to answer this question and i would like to post his reply to me for those who interested.

Hello Anand,
If I understand your needs correctly, I believe the best option for you is to use the 'Equation' application on the fx-CG10. Once in 'Equation', select <F3> (Solver) and enter an equation something like Y = X + 2B + 6A - 20C. After you finish and press <EXE> you should see the entered variables appear beneath the equation, Y, X, B, A, C. Enter each value you know (A, B, C, X) and then highlight the value you would like to calculate (in this case, that's probably Y) and press <F6> (Solve).
I do hope that resolves your issue, but if you need further assistance or screenshots, please let me know.

Kind Regards,
Nathan T. Austin
Curriculum & Online Training Manager
Education Division


  • abdelrahmanmostafa and Anandks like this

#58737 Calc Function In Fx-Cg10

Posted by 3298 on 10 September 2013 - 10:59 AM

So you want a "while true do" loop asking for variables and printing the result? Simply write that into a program, everything you can write in RUN-MAT is also valid in a program. For example:
While 1
...where \Disp is the small triangle you find in Shift VARS. This program keeps asking for variables and displays the value of the function at the end of each iteration. AC/on quits the program.

Alternative solution if you already have all your variables in a table on a piece of paper: Go to the STAT menu, type all the values for your first variable into List 1, the values for the second variable into List 2, and so on. The lists should now look just like your table on the paper. Then move the cursor onto the top position of an unused list ("List xy" must be high-lit, not the name field or the cell for the first value), and type your formula while replacing each variable with the list that holds its values. Your example function would look like this:
2List 1+2List 2+6List 3-20List 4
The result is that this list will now hold all the results. Parallel processing with lists FTW :)

That number is really my nickname, "Casio Fan" is just a title that will change when I have more posts, just like it currently says "Newbie" for you.

  • abdelrahmanmostafa and Anandks like this

#58590 Program In A Visual Basic Ide For Classpad

Posted by MicroPro on 29 May 2013 - 09:34 AM

Seems this is getting some attention; so let me answer this before more misconceptions arise.

First off, the screenshots are almost made up by me, for example the toolbar is simply an screenshot of VB6's toolbar (someone remembered VB here ;) ) and the property editor is fake...

But wait, the project is real! Most of the UI and some of the designer part are already made. Actually I hope I can complete the compiler part as the thesis for my B.Eng degree this year.

Considering the above, this program may become ready and be released this summer (hopefully!). Releasing the screenshots soon was a way to push me forward; because I am so lazy!

btw thanks for crossposting back then, flyingfisch!
  • jinzihao and Casimo like this

#58486 Introduce Yourself

Posted by flyingfisch on 06 May 2013 - 02:03 AM

Hi Thief_Of_Heart :)

Do you know any programming languages already?

Here is a good tutorial to start you out with programming on casio calcs: http://community.cas...1798#entry31798

And for news and help, feel free browse the forums or check out my blog, which has some helpful resources and a budding tutorials section. ;)
  • Casimo and Thief_Of_Heart like this

#58094 Windows 8?

Posted by MicroPro on 07 March 2013 - 06:50 PM

Actually Windows 8 is a transitional operating system. So we'd better wait and see what will Microsoft do with itself in the next version.
Without the start menu, it looks weird. There are already 3rd party start menu's out, though.

Generally, as someone who can confuse others by working with the computer very fast (look at my humility :blah: ), I find mouse much faster and convenient than touch screen. In my case, with touch screen, I have to jam my index finger while gazing at the screen to make it work. With mouse, you just move your wrist (and at the worst case your forearm) and everything gets done.
  • flyingfisch and Casimo like this