saturnus
Core library of saturnus, a
headless emulator of the HP Saturn calculators: HP 48SX, 48GX, 49G, 38G,
39G, 40G and 42S. It models the Saturn CPU, the bus with its
memory-mapped modules, the display, keyboard, timers and serial port, and
the per-model machine wiring. No I/O and no threads: the crate builds for
wasm32-unknown-unknown and has no dependencies.
It is a clean-room implementation, written from public hardware
documentation and observed behaviour, not from the source code of other
emulators. No ROM is included: you supply the ROM image of a calculator
you own, or one HP allows to be downloaded for emulator use (the
saturnus command-line tool from the
saturnus-cli crate fetches
those from hpcalc.org and verifies them).
Usage
use Key;
use ;
Related crates: saturnus-objects
reads RPL objects and the user memory of a paused machine;
saturnus-drive drives a
machine from a native host (key scripts, idle waits, screen dumps).
Licence
MIT. Parts of the code were generated by AI systems under human
supervision; see the repository's AI_NOTICE.