Skip to content

saturnus 0.5.0

Choose a tag to compare

@ractive ractive released this 14 Oct 13:32
· 492 commits to main since this release

saturnus 0.5.0 adds the HP 19BII, makes held keys work on the Lewis
models, lets saturnus tx work the emulator's calculator without SERVER
mode, and keeps the desktop saturnus tx app to the folders you allow.

Get it

  • On the web, nothing to install: the emulator at
    https://ractive.ch/saturnus/emulator/, saturnus tx at
    https://ractive.ch/saturnus/transfer/ (Chrome or Edge for a serial
    cable; every browser for the emulated calculator).
  • The desktop apps: saturnus_0.5.0_… (the emulator, on Linux
    saturnus-app) and saturnus-tx_0.5.0_…: .dmg (macOS, Apple
    silicon, signed and notarised, or brew trust --cask ractive/tap/saturnus-app and brew trust --cask ractive/tap/saturnus-tx once, then brew install --cask ractive/tap/saturnus-app or ractive/tap/saturnus-tx), .msi or
    -setup.exe (Windows x86_64), .deb, .rpm or .AppImage (Linux
    x86_64), each app's with a -SHA256SUMS file beside them. On Linux,
    add yourself to the dialout group to use a serial port.
  • The command-line tools saturnus and satx: cargo install,
    Homebrew ractive/tap, Scoop ractive, or the archives and Linux
    packages below.
  • Libraries on crates.io, all at 0.5.0: saturnus-core,
    saturnus-objects, saturnus-host, saturnus-drive, kermit-proto,
    xmodem-proto and satx-core. 0.5 changes the public API of
    saturnus-objects (its own error types instead of anyhow),
    satx-core (file names, new errors) and saturnus-host (the emulated
    serial wire); CHANGELOG.md lists what to adapt.

Breaking for satx scripts

satx get X now writes X.hp (or X.txt with --ascii) instead of a
file named X, with odd characters escaped as saturnus tx does
(A?B becomes A%3FB.hp); satx put A%3FB.hp stores A?B. The same
for XModem get, xserv get and the REPL's :get. -o still names the
file. There is no flag for the old behaviour.

New calculator

  • HP 19BII, in the browser, the desktop app and on the command line
    (--model 19bii), with a drawn skin of the open clamshell. Its ROM
    was never published and the calculator cannot read it out: choose a
    file you have. saturnus tx does not offer it (no serial port).

Emulator

  • Held keys on the 42S, 27S, 17B, 17BII, 28S and 19BII act as held
    keys: the 42S previews a function and shows NULL, the 27S shows MEM
    while the key is down.
  • "Set the clock" lands on the second, at any speed.
  • The 39G and 40G no longer drop a repeated key (1133 typed as 13).
  • Drop a calculator file on the drawn 48SX, 48GX or 49G to store it
    in the current directory.
  • "Transfer files" opens saturnus tx with the running calculator
    already connected, and the two pages bring each other's tab forward
    instead of opening another.

saturnus tx

  • The emulator's calculator without SERVER. tx reads and writes the
    calculator's memory directly, between the emulator's own keys: no
    waiting after ATTN or with a command line open, and a variable typed
    in the emulator shows in tx at once.
  • The desktop app changes files only in your home folder and in
    folders you chose
    with "Open a folder…" (remembered across runs). It
    never deletes your home folder or a folder directly in it.
  • Recent folders: the last 8 folders a pane showed, one click away.
    In the browser, choose your folder once more.
  • The desktop app offers the emulator app's ROMs under "Add an
    emulated calculator" and for the aplet server.
  • Serving a folder to a 38G, 39G or 40G no longer overwrites your other
    files of the same name.
  • A Kermit transfer that makes no progress ends with "no progress for
    N s" instead of running on (also in satx).

Fixes behind the scenes

  • The web pages say "The calculator stopped; reload the page." instead
    of waiting forever on a crashed calculator.
  • Two tabs without a shared worker no longer overwrite each other's
    saved calculator.
  • saturnus run --serial stays off the serial line while the control
    API writes memory.

See CHANGELOG.md for the full list.

The Windows installers are not signed

SmartScreen says "Windows protected your PC": click "More info", then
"Run anyway".

ROMs are not included

saturnus ships no ROM. saturnus rom fetch --model <m>, the web page and
the app download the images hpcalc.org offers for use with emulators,
after asking. The ROMs of the 42S, 27S, 17BII, 17B, 28S and 19BII were
never released: dump your own calculator (see the README); the 19BII
cannot read its own ROM out.

Clean room and AI notice

saturnus is written from public hardware documentation and the observed
behaviour of the calculators' own ROMs, not from the source code of other
emulators, and contains no HP logos or wordmarks. Parts of the code were
generated by AI systems under human supervision; see AI_NOTICE. MIT
licence.