In my childhood, the only calculator(also my only electronic device with screen and keypad) I have is a CASIO fx-991ES PLUS, which is a non-programmable scientific calculator. I had a lot of fun playing around its exploits, during which I started to imagine how it solves math problems inside.
Now I have multiple graphing calculators, but I still miss the old days exploring all possibilities of that little scientific thingy. One day I saw a thread on Universal Casio Fourm describing the low-level mechanism in detail. I got attracted immediately and tested all of these hackstrings one by one.
Finally, I came up to an idea: Writing an emulator to realize my childhood dream. So I started working on it a few days ago.
Well, story time is over!
What is this?
This is a calculator emulator running on another calculator. To be more specific, this is a CASIO fx-ES PLUS series calculator emulator running on TI-83 Plus and its variants.
What is it capable of?
It is currently unfinished, but the planned features are:
The emulation speed is not guaranteed, because the emulated core is a 3-stage-pipelined RISC running at ~125kHz. Emulating such a processor on a z80 @6MHz might not be the best solution.
How to use it?
I may not publish an executable directly since ROM of the emulated calculator is probably copyrighted by CASIO, so you may need to build the executable by yourself. No much worrying though, it only involves 3 steps:
After these, you can just send the application to your calculator.
Current progress?
I'm still working on the emulation part, thus unable to be built currently.
As you can see, it's still on the very early stage of developmenting I doubt if I can finish it in this year since I'm really not familiar with z80, nor implementing emulators.
This is my first serious calculator programming project, also it is my dream(implementing a calculator emulator on something). Hope I can improve my programming skills and eventually finish it, also hope that it will be useful to calculator comminity.
I want to thank everyone helped me in chat: Zeroko, calc84maniac, Tari, fghsgh and others. I also want to thank Cemetech for this amazing community!
If you have any idea, problem, suggestion, don't be hesitate posting it here! Also the source code is available on Github, you can open an issue/pull request if you have any idea correcting/improving the code!
Now I have multiple graphing calculators, but I still miss the old days exploring all possibilities of that little scientific thingy. One day I saw a thread on Universal Casio Fourm describing the low-level mechanism in detail. I got attracted immediately and tested all of these hackstrings one by one.
Finally, I came up to an idea: Writing an emulator to realize my childhood dream. So I started working on it a few days ago.
Well, story time is over!
What is this?
This is a calculator emulator running on another calculator. To be more specific, this is a CASIO fx-ES PLUS series calculator emulator running on TI-83 Plus and its variants.
What is it capable of?
It is currently unfinished, but the planned features are:
- Precise emulation based on community-made documentation
- Configurable key mapping
- Memory and core registers view
- Savestate files
The emulation speed is not guaranteed, because the emulated core is a 3-stage-pipelined RISC running at ~125kHz. Emulating such a processor on a z80 @6MHz might not be the best solution.
How to use it?
I may not publish an executable directly since ROM of the emulated calculator is probably copyrighted by CASIO, so you may need to build the executable by yourself. No much worrying though, it only involves 3 steps:
- Put your ROM dump file into the directory
- Assemble it with a PC program(currently SPASM)
- Sign the produced binary to get a .8xk file
After these, you can just send the application to your calculator.
Current progress?
I'm still working on the emulation part, thus unable to be built currently.
- Fetching
- Decoding (finished)
- Executing
- Interrupts
- LCD
- Keyboard
- Memory view
- Savestates (finished)
Core
External hardware
Utilities
As you can see, it's still on the very early stage of developmenting I doubt if I can finish it in this year since I'm really not familiar with z80, nor implementing emulators.
This is my first serious calculator programming project, also it is my dream(implementing a calculator emulator on something). Hope I can improve my programming skills and eventually finish it, also hope that it will be useful to calculator comminity.
I want to thank everyone helped me in chat: Zeroko, calc84maniac, Tari, fghsgh and others. I also want to thank Cemetech for this amazing community!
If you have any idea, problem, suggestion, don't be hesitate posting it here! Also the source code is available on Github, you can open an issue/pull request if you have any idea correcting/improving the code!