saturnus by @ractive.ch (opens in a new tab)

saturnus: classic HP calculators, in your browser or as an app

saturnus emulates the HP 48SX, HP 48GX, HP 49G, HP 38G, HP 39G, HP 40G, HP 42S, HP 27S, HP 17BII, HP 17B, HP 28S and HP 19BII. Open it in your browser, or install the app on Mac, Windows or Linux.

The docs describe each model, every command, the Saturn processor and how to move files to a real calculator.

Open saturnus Download for Mac Download for Windows

Free and open source (MIT). Your ROM and your work stay on your device. No ROMs included.

An HP 48 calculator, drawn flat, showing a sine plot

Twelve calculators

HP's graphing, scientific and business calculators from 1988 to 2000, each running its own ROM. Pick one to read what was new about it.

HP 48SX 1990

The 28S's RPL, with card ports, infrared and a serial port.

Launch price $350

Introduced
March 1990
Language
RPL
Display
131 × 64 pixels
Memory
32 KB RAM (up to 288 KB with cards), 256 KB ROM
Ports
Two card slots, a 3-wire serial port, two-way infrared

What was new

  • The RPL of the HP 28 (symbolic maths, named variables, structured programs) in a case with expansion ports.
  • The EquationWriter and the MatrixWriter: formulas and matrices entered as they look on paper.
  • Units that work throughout the system, the solver included.
  • Two-way infrared between calculators, and Kermit over the serial port.

Its story

The card slots took RAM cards and many application cards, such as HP's Solve Equation Library card with more than 300 equations. The infrared range was kept short at teachers' request.

The serial port arrived as the internet spread. Owners shared programs in large numbers, in the comp.sys.hp48 newsgroup and on many web sites.

Start it ROM: sxrom-j (opens in a new tab) More about the HP 48SX

HP 48GX 1993

Input forms, and the Equation Library built in.

Launch price $350

Introduced
June 1993
Sold
1993 to 2003
Memory
128 KB RAM, 512 KB ROM
Port 1
Cards up to 128 KB, which can be merged with user memory
Port 2
Cards up to 4 MB, seen as 128 KB ports 2 to 32

What was new

  • Input forms and choose lists throughout the applications.
  • The Equation Library built in: more than 300 equations in 15 subjects. On the 48SX it was a card.
  • Four times the RAM of the 48SX and twice the ROM.

Its story

The 48GX was sold for about ten years, from 1993 to 2003. By 1999 its price had come down from $350 to $179.95.

Its second port took cards of up to 4 MB, of which 3968 KB could be used. The calculator showed them as 128 KB ports, numbered 2 to 32.

Start it ROM: gxrom-r (opens in a new tab) More about the HP 48GX

HP 49G 1999

Computer algebra built in, and a ROM you can update yourself.

Launch price $180

Announced
21 May 1999, at the OpenHP conference in Paris
Entry
Algebraic or RPN
Memory
512 KB RAM, 2 MB flash (1 MB ROM, 1 MB for you)
Ports
10-wire serial; no infrared, no card slots
Case
Ice blue, rubber keys

What was new

  • A computer algebra system built in, with step-by-step solving.
  • The ROM sits in flash memory, so owners can update it themselves.
  • Algebraic or RPN entry.
  • Cut, copy and paste, and find and replace.

Its story

Bernard Parisse wrote most of the computer algebra, from his Erable library, with code from ALG48 by Fiechter and Heiskanen inside.

HP said the 49G had three times the memory of other calculators on sale at the time. It also left things out: the 48's infrared, its card slots and the Equation Library.

Start it ROM: rom.49g (opens in a new tab) More about the HP 49G

HP 38G 1995

A graphing calculator designed with eight teachers.

Launch price $79.95

Introduced
April 1995
Entry
Algebraic, not RPN
Display
131 × 64 pixels
Memory
32 KB RAM, 512 KB ROM
Links
Two-way infrared, RS-232 to a PC

What was new

  • Aplets: small applications for one topic each, seen in three views: symbolic, graphic and numeric.
  • Aplets built in for functions, parametric and polar curves, sequences, statistics and solving.
  • A split screen, implied multiplication and a numeric table view.

Its story

HP made the 38G for maths and science in secondary school, with an advisory committee of eight teachers. A teacher builds an aplet and beams it to the students by infrared, so the whole class starts from the same setup.

Its software is based on the 48G's. It has a sliding cover, and an accessory put its screen on an overhead projector.

Start it ROM: 38G_A167.ROM (opens in a new tab) More about the HP 38G

HP 39G 2000

The 38G's successor, with eight times the memory.

Launch price $79.99

Introduced
2000
Display
131 × 64 pixels, as on the 38G
Memory
256 KB RAM
Links
Two-way infrared; prints to HP infrared printers
Computer algebra
None

What was new

  • The Inference aplet: hypothesis tests and confidence intervals.
  • The Trig Explorer and the Quadratic Explorer.
  • A memory manager.
  • Values read straight off a plot.

Its story

The 39G follows the 38G. The screen stayed the same size; the RAM grew from 32 KB to 256 KB.

39Gs pass aplets, lists and matrices to each other by infrared. It has no computer algebra: that came with the 40G.

Start it ROM: rom.39g (opens in a new tab) More about the HP 39G

HP 40G 2000

The 39G with the 49G's computer algebra.

Launch price $79.99

Introduced
2000
Computer algebra
The same system as the 49G's
Links
PC adapter and a cable between two units; no infrared

What was new

  • A computer algebra system, the same one as in the 49G.

Its story

The 40G is a 39G with computer algebra added: the system Bernard Parisse wrote for the 49G.

It has no infrared. It connects to a PC with an adapter and to another unit with a cable, and it cannot print to HP's infrared printers.

Start it ROM: rom.39g (opens in a new tab) More about the HP 40G

HP 42S 1988

The HP-41's functions, on a two-line display.

Launch price $120

Introduced
October 1988
Discontinued
1995 or 1996
Entry
RPN
Display
Two lines of 22 characters (131 × 16 pixels)
Memory
About 7.2 KB
Input and output
Infrared printing to the HP 82240A, nothing else

What was new

  • All the programmable functions of the HP-41C and 41CV, so their programs run (keyed in by hand: there is no card reader). Not every 41CX function is there.
  • Menus, and custom menus of your own.
  • Complex numbers, in polar notation too, and vectors.
  • Matrices with an editor and a linear solver; a solver, numeric integration and base arithmetic.

Its story

The 42S was made until 1995 or 1996. Its design lives on in SwissMicros' DM42 of 2017. The DM42 runs Free42, an independent re-implementation, not a copy of HP's ROM.

Start it ROM: from your own 42S More about the HP 42S

HP 27S 1988

HP's first algebraic scientific: menus, no RPN.

Launch price $110

Introduced
January 1988
Entry
Algebraic, no RPN
Menus
Six menu keys
Programming
None: equations go into the solver

What was new

  • HP's first scientific calculator with algebraic entry.
  • A solver for the equations you type in (HP Solve).
  • Statistics, time value of money and base conversions.
  • A clock with appointments, and date arithmetic.

Its story

HP launched the 27S together with the 17B, the 19B and the 28S, all four with HP Solve and printing by infrared. It belongs to HP's Pioneer family and shares its hardware with the 17B.

It has no keystroke programming: equations go into the solver instead.

Start it ROM: from your own 27S More about the HP 27S

HP 17BII 1990

Business maths in RPN or algebraic: your choice.

Launch price $110

Introduced
January 1990
Entry
RPN or algebraic
Memory
6.5 KB
Successor
The 17bII+, from September 2003 ($120)

What was new

  • With the 19BII, the first HP calculators that let you choose RPN or algebraic entry.

Its story

It covers time value of money, interest conversion, cash flows with NPV and IRR, bonds, depreciation, business percentages and statistics. It has a clock with appointments and a solver for your own equations.

It replaced the 17B, which had algebraic entry only. In September 2003 HP followed it with the 17bII+.

Start it ROM: from your own 17BII More about the HP 17BII

HP 17B 1988

Business maths with a solver for your own equations.

Launch price $110

Introduced
January 1988
Entry
Algebraic only, in chain order (no precedence)
Display
Two lines, with menus and prompts
Memory
6.5 KB
Printing
By infrared

What was new

  • A two-line display with menus and prompts.
  • A solver for your own equations, which the manual calls easier than programming.
  • A clock with appointments.

Its story

HP launched the 17B in January 1988 with the 27S, the 19B and the 28S. It handles time value of money, cash flows, bonds, depreciation and statistics.

It works in chain order: 2 + 3 × 4 gives 20, not 14. In 1990 the 17BII replaced it and added RPN.

Start it ROM: from your own 17B More about the HP 17B

HP 28S 1988

Symbolic algebra in a case that opens like a book.

Launch price $235

Introduced
January 1988
Discontinued
1992
Language
RPL
Memory
32 KB RAM (the 28C had 2 KB)
Case
Opens like a book; a letter keyboard on the left half

What was new

  • 32 KB of RAM instead of the 28C's 2 KB.
  • Directories to organise your variables.
  • Graphics objects.

Its story

Its forerunner, the 28C of January 1987, was the first calculator with computer algebra. Most of its operating system was written in RPL.

The 28S does symbolic algebra and calculus, HP Solve, complex numbers, vectors, matrices, plots, units, statistics and binary arithmetic. The calculator is its own case: it opens and closes like a book. Its RPL went on into the HP 48.

Start it ROM: from your own 28S More about the HP 28S

HP 19BII 1990

HP's last clamshell: a business calculator with letter keys.

Launch price $175

Introduced
January 1990 (the 19B: January 1988)
Entry
Algebraic or RPN
Display
Four lines of 23 characters
Case
Clamshell with a letter keyboard
Languages
Six display languages

What was new

  • RPN beside algebraic entry. The 19B already had the letter keyboard, the clock and the solver.
  • With the 17BII, the first HP calculators with a choice of entry logic.

Its story

HP called both the 19B and the 19BII the Business Consultant II. They have a solver, time value of money, cash flows, statistics, a clock with appointments, date arithmetic and text lists.

The 19BII was HP's last clamshell calculator.

Start it ROM: no download, and it cannot be read out of the calculator More about the HP 19BII

What you can do

The memory view, the editor and pasting work on the 48SX, 48GX and 49G.

Install

Web: nothing to install

Open saturnus in a browser. It works offline after the first visit and can be added to a phone's home screen to install it.

You need your model's ROM: download it from hpcalc.org (opens in a new tab) (the app links each model's page), unzip it, and choose the file or drop it onto the page. A ROM you already have works the same way. The browser keeps it, so you choose it only once, and the ROM and your work never leave your device.

Open saturnus

The saturnus app in the browser: an emulated HP 48GX showing the saturnus logo on its screen; on the left its settings, on the right its memory with the variables NOTES, PAR, AREA, PTS, G and the directory GAMES, and the program AREA listed (opens larger)

Desktop app

For Macs with Apple silicon (also with Homebrew), and for Windows and Linux on Intel, AMD or ARM processors.

Download for Mac Download for Windows

# macOS, Homebrew
brew trust --cask ractive/tap/saturnus-app
brew install --cask ractive/tap/saturnus-app

Also: Windows on ARM · Linux and more under all downloads (opens in a new tab)
If Windows says "Windows protected your PC", click "More info", then "Run anyway".

Command-line tools

Two programs without a window:

  • saturnus runs a calculator from its ROM in the terminal: it presses keys listed in a text file, saves the screen as text or a PNG, opens its serial port to other programs and looks up commands. It is made for automated tests and scripts, not for using a calculator by hand: for that, use the web or desktop app.
  • satx sends and receives files with a real HP 48 or 49 over a serial cable, by Kermit or XModem, and with a calculator running in saturnus the same way.
# Rust
cargo install saturnus satx
# macOS and Linux, Homebrew
brew trust --formula ractive/tap/saturnus
brew trust --formula ractive/tap/satx
brew install ractive/tap/saturnus ractive/tap/satx
# Windows, Scoop
scoop bucket add ractive https://github.com/ractive/scoop-bucket
scoop install saturnus satx

Also as archives, .deb and .rpm on the releases page (opens in a new tab) (the packages saturnus and satx).

The ROMs are not included

saturnus runs the calculator's own ROM, which is HP's software. hpcalc.org (opens in a new tab) hosts the ROM files with HP's permission for use with emulators, and saturnus does not host or pass them on. Download the ROM for your model there, unzip it and drop the file into the app; the desktop app and saturnus rom fetch download it for you. The 42S, 27S, 17BII, 17B and 28S ROMs were never published, but you can read the ROM out of your own calculator with an HP 48 as the infrared receiver: Christoph Gießelink's Emu42 page (opens in a new tab) points to the tools and the steps. The 19BII's was never published either and cannot be read out: saturnus runs it only from a file you already have.

File transfer

The app's Files view moves files between a calculator and your computer: an emulated one running in the app, or a real HP 48 or 49 on a serial cable (in Chrome or Edge on a computer). Copy files both ways, back up the whole memory, or serve a folder to a 38G, 39G or 40G. On the command line, satx does the same.

Files with two panes: on the left an emulated HP 48GX, its HOME directory holding the directories GAMES and UTILS and the variables AREA, G, M, NOTES, PAR and PTS; on the right a folder HP48 on the computer with the folders BACKUP and GAMES and files such as SOLVE.hp and UNITS.hp (opens larger)

AI apps

Let an AI app such as Claude, ChatGPT, Claude Code, Codex or Cursor use the calculators you have open in saturnus: it reads the display, presses keys, runs RPL, stores programs on the 48 and 49 models and looks up commands. You see each key it presses on the calculator, and the app asks you before its tools store or delete a variable. To start, choose Connect your AI app… in the app. In the browser the connection goes through tab-mcp (opens in a new tab), an open-source relay that lets a web page offer tools to AI apps, so any AI app can connect, Claude and ChatGPT included. In the desktop app the connection stays on your computer, so only AI apps on the same computer can use it.

saturnus in Firefox beside the Claude app: asked to create a program that draws the saturnus logo, Claude wrote one, stored it on the emulated HP 48GX and ran it, and the logo shows on the calculator's screen (opens larger)

In the picture: asked to draw the saturnus logo, Claude writes an RPL program, stores it on the emulated HP 48GX as SATRN and runs it.

Written from the documentation

saturnus was written from HP's manuals, the hardware literature and the behaviour of the ROMs themselves, not from other emulators' source code. Every fact it relies on is in a public knowledge base with its source: the Saturn CPU, the display, the timers, the serial port, the memory layout and the transfer protocols. The docs tell what was learned along the way: each model's history, every command with examples, how the Saturn processor works and how files reach a real calculator.