Casiomania
Demo for Casio fx-9860G graphical calculators
What is it?
█████████ ███ ███
███░░░░░███ ░░░ ░░░
███ ░░░ ██████ █████ ████ ██████ █████████████ ██████ ████████ ████ ██████
░███ ░░░░░███ ███░░ ░░███ ███░░███░░███░░███░░███ ░░░░░███ ░░███░░███ ░░███ ░░░░░███
░███ ███████ ░░█████ ░███ ░███ ░███ ░███ ░███ ░███ ███████ ░███ ░███ ░███ ███████
░░███ ███ ███░░███ ░░░░███ ░███ ░███ ░███ ░███ ░███ ░███ ███░░███ ░███ ░███ ░███ ███░░███
░░█████████ ░░████████ ██████ █████░░██████ █████░███ █████░░████████ ████ █████ █████░░████████
░░░░░░░░░ ░░░░░░░░ ░░░░░░ ░░░░░ ░░░░░░ ░░░░░ ░░░ ░░░░░ ░░░░░░░░ ░░░░ ░░░░░ ░░░░░ ░░░░░░░░
The first ever demoscene release by KittenLabs. Written in C, released at Revision 2026
Tech internals
Audio playback through UART/Serial link port
- 19000Hz @ 8bit PCM, played using DMA-based PWM
- real ProTracker/Amiga 4-channel .mod playback
- fully async (interrupt-driven) playback, no main loop interaction required
- UART being driven in synchronous mode (without start/stop bits) to avoid distortion
Grayscale support through timer/interrupt-driven multiplexing
- 2-bit grayscale rendering
Overclocking through SH7305 CPG/PLL manipulation
- CPU clock -> 29 MHz -> 236 MHz
- Bus clock -> 29 MHz -> 118 MHz
- Battery current increases from ~1mA -> 110mA
Hardware requirements
Hitachi SH-4 CPU required! Won’t work on SH-3 CPUs!
SH-4 CPUs can be identified by software version “2.02.xxx” (instead of “2.01.xxx”)
Tested/developed on a (modded) fx-9750GII.
Might work on:
- fx-9860GII (only the SH-4 variants)
- fx-9860GIIs
- fx-9860G AU+ (australian model)
- Graph 35+E/75+/75+E
- Graph 35+/75/95 (only the SH-4 variants)
Graph 35+E have different displays (T6K11 rev. 2), untested, might glitch at start/crash.
Links
- Sourcecode: GitHub project
- .g1a binary: Release file
- demozoo