Casiomania by KittenLabs [web]
ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûê ΓûêΓûêΓûê ΓûêΓûêΓûê
ΓûêΓûêΓûêΓûæΓûæΓûæΓûæΓûæΓûêΓûêΓûê ΓûæΓûæΓûæ ΓûæΓûæΓûæ
ΓûêΓûêΓûê ΓûæΓûæΓûæ ΓûêΓûêΓûêΓûêΓûêΓûê ΓûêΓûêΓûêΓûêΓûê ΓûêΓûêΓûêΓûê ΓûêΓûêΓûêΓûêΓûêΓûê ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûê ΓûêΓûêΓûêΓûêΓûêΓûê ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûê ΓûêΓûêΓûêΓûê ΓûêΓûêΓûêΓûêΓûêΓûê
ΓûæΓûêΓûêΓûê ΓûæΓûæΓûæΓûæΓûæΓûêΓûêΓûê ΓûêΓûêΓûêΓûæΓûæ ΓûæΓûæΓûêΓûêΓûê ΓûêΓûêΓûêΓûæΓûæΓûêΓûêΓûêΓûæΓûæΓûêΓûêΓûêΓûæΓûæΓûêΓûêΓûêΓûæΓûæΓûêΓûêΓûê ΓûæΓûæΓûæΓûæΓûæΓûêΓûêΓûê ΓûæΓûæΓûêΓûêΓûêΓûæΓûæΓûêΓûêΓûê ΓûæΓûæΓûêΓûêΓûê ΓûæΓûæΓûæΓûæΓûæΓûêΓûêΓûê
ΓûæΓûêΓûêΓûê ΓûêΓûêΓûêΓûêΓûêΓûêΓûê ΓûæΓûæΓûêΓûêΓûêΓûêΓûê ΓûæΓûêΓûêΓûê ΓûæΓûêΓûêΓûê ΓûæΓûêΓûêΓûê ΓûæΓûêΓûêΓûê ΓûæΓûêΓûêΓûê ΓûæΓûêΓûêΓûê ΓûêΓûêΓûêΓûêΓûêΓûêΓûê ΓûæΓûêΓûêΓûê ΓûæΓûêΓûêΓûê ΓûæΓûêΓûêΓûê ΓûêΓûêΓûêΓûêΓûêΓûêΓûê
ΓûæΓûæΓûêΓûêΓûê ΓûêΓûêΓûê ΓûêΓûêΓûêΓûæΓûæΓûêΓûêΓûê ΓûæΓûæΓûæΓûæΓûêΓûêΓûê ΓûæΓûêΓûêΓûê ΓûæΓûêΓûêΓûê ΓûæΓûêΓûêΓûê ΓûæΓûêΓûêΓûê ΓûæΓûêΓûêΓûê ΓûæΓûêΓûêΓûê ΓûêΓûêΓûêΓûæΓûæΓûêΓûêΓûê ΓûæΓûêΓûêΓûê ΓûæΓûêΓûêΓûê ΓûæΓûêΓûêΓûê ΓûêΓûêΓûêΓûæΓûæΓûêΓûêΓûê
ΓûæΓûæΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûê ΓûæΓûæΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûê ΓûêΓûêΓûêΓûêΓûêΓûê ΓûêΓûêΓûêΓûêΓûêΓûæΓûæΓûêΓûêΓûêΓûêΓûêΓûê ΓûêΓûêΓûêΓûêΓûêΓûæΓûêΓûêΓûê ΓûêΓûêΓûêΓûêΓûêΓûæΓûæΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûê ΓûêΓûêΓûêΓûê ΓûêΓûêΓûêΓûêΓûê ΓûêΓûêΓûêΓûêΓûêΓûæΓûæΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûê
ΓûæΓûæΓûæΓûæΓûæΓûæΓûæΓûæΓûæ ΓûæΓûæΓûæΓûæΓûæΓûæΓûæΓûæ ΓûæΓûæΓûæΓûæΓûæΓûæ ΓûæΓûæΓûæΓûæΓûæ ΓûæΓûæΓûæΓûæΓûæΓûæ ΓûæΓûæΓûæΓûæΓûæ ΓûæΓûæΓûæ ΓûæΓûæΓûæΓûæΓûæ ΓûæΓûæΓûæΓûæΓûæΓûæΓûæΓûæ ΓûæΓûæΓûæΓûæ ΓûæΓûæΓûæΓûæΓûæ ΓûæΓûæΓûæΓûæΓûæ ΓûæΓûæΓûæΓûæΓûæΓûæΓûæΓûæ
===================================================================================================
### Release info
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.
### Credits
Code: Manawyrm, Enfys, juvi
### Third-party credits
Fonts:
Vexed - Logic Loop
Libraries:
Lephenixnoir - fxSDK / gint
a1k0n - arduboy3d
avaneev - lzav
jfdelnero - hxcmod
SDL2 (for internal PC development version)
Music:
Jester - dazzler.mod
xneko: Masayuki Koba
### Notes
DSD/"1-bit DAC" audio playback would've been easily possible in software
but the output driver/serial hardware of the Casio seems to have very low
drive strength / slow rise times.
Using a DSD-routine resulted in very poor audio.[ back to the prod ]
