kararyougi/gpsp-sh4-jit — explained in plain English
Analysis updated 2026-05-18
Run Game Boy Advance games directly on a Casio fx-CG50 or fx-CG100 calculator.
Study how a JIT dynamic recompiler translates one processor's instructions into another's.
Use the testing harness to measure emulator performance and correctness over time.
| kararyougi/gpsp-sh4-jit | angree/openttd_amiga_68k | drakeee/samp-plugin-lua | |
|---|---|---|---|
| Stars | 4 | 4 | 4 |
| Language | C | C | C |
| Last pushed | — | — | 2015-07-22 |
| Maintenance | — | — | Dormant |
| Setup difficulty | hard | hard | hard |
| Complexity | 5/5 | 4/5 | 3/5 |
| Audience | developer | general | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires the fxSDK and gint toolchain plus a physical Casio calculator to run on.
This project lets you play Game Boy Advance games on a Casio graphing calculator, specifically the fx-CG50 and fx-CG100 models. Graphing calculators are normally used for math class, not gaming, but they have a small computer chip inside them capable of running simple software, and this project builds an emulator, a program that pretends to be a Game Boy Advance so it can run the same game files, tailored to that chip. The project is based on an existing Game Boy Advance emulator called gpSP, and adds a major performance upgrade on top of it built specifically for the calculator's SH-4 family processor. Emulating a game console normally takes a lot of processing power, more than a small calculator chip easily provides, so the author wrote what is called a dynamic recompiler, sometimes shortened to JIT, which translates the game's original processor instructions into instructions the calculator's chip can run directly and quickly, rather than interpreting them one at a time. According to the README, this brings well known games like Metroid Fusion up to a playable speed, roughly 30 to 40 frames per second in their testing. There is also a safer, slower interpreter mode that ships as the default, meant as a baseline for correctness while the faster JIT mode is treated as an optional, still developing feature. The project includes extensive internal documentation covering how the translator works, how certain calculator system calls are emulated, and how the project tests and measures its own performance over time. To actually use it, you build the calculator add-in using a provided script, copy the resulting file to the calculator along with a Game Boy Advance game file, and load it from an in-app menu on the device itself.
An experimental Game Boy Advance emulator with a speed boosting JIT compiler, built specifically to run on Casio graphing calculators.
Mainly C. The stack also includes C, SH-4, fxSDK.
No license information was found in the README.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.