saturnus
The saturnus command: a headless emulator of the HP Saturn calculators
(HP 48SX, 48GX, 49G, 38G, 39G, 40G and 42S), built on the
saturnus-core core. Part of
saturnus, which also has a web
page (https://ractive.ch/saturnus/) and a desktop app.
Prebuilt binaries for Linux, macOS and Windows are on the releases page.
ROMs
No ROM is included. saturnus rom fetch downloads the ROM images HP
allows for emulator use (48SX, 48GX, 38G, 49G, 39G/40G) from hpcalc.org
after asking, and checks size and SHA-256:
The HP 42S ROM was never released: dump your own calculator.
What it does
# Boot, run a key script, dump the screen (text or PNG), save the state.
# Serve the serial port (tcp:4841, for Kermit clients) and the control
# API (HTTP + JSON on 127.0.0.1:4840) until Ctrl-C.
# Drive a serving instance: keys, screen, stack.
# Look up a built-in command (48SX, 48GX, 49G): description, stack
# effect, menu, examples run on this emulator, manual pages.
# Disassemble ROM code.
A key script is one action per line:
# boot, answer "Try To Recover Memory?" with NO
wait-idle 60000
press f
press 2
press enter
The full documentation (options, the control API and its token, key names per model, the serial bridge) is in the repository's README.
Clean room
saturnus is written from public hardware documentation and observed
behaviour, not from the source code of other emulators. Parts of the code
were generated by AI systems under human supervision (see AI_NOTICE in
the repository).
Licence
MIT.