saturnus docs
Open the app

HP 28S

The HP 28S is a scientific calculator that Hewlett-Packard sold from 1988 to 1992. It does symbolic algebra and calculus, and it is programmed in RPL, the language HP went on to use in the HP 48. It replaced the HP 28C of 1987 with 16 times the memory, and its case opens like a book, with a letter keyboard on the left half.

HP 28S
The 28S's display half as saturnus draws it.

At a glance

Released4 January 1988, at $235
DiscontinuedApril 1992, then at $195
Code nameOrlando
ProcessorTwo of HP's Lewis chips with a Saturn core, about 1 MHz; one chip's CPU is not used
Memory32 KB RAM, 128 KB ROM
Display137 × 32 pixels, four lines of 23 characters
KeyboardA letter keyboard on the left half, the calculator keys on the right
Input and outputInfrared output to HP's 82240A printer, beeper
PowerThree N cells
LanguageRPL
ROM revisions2BB, the only one

History

The 28C

In January 1987 HP introduced the HP 28C. The Hewlett-Packard Journal of August 1987 opens its article on it with the claim that it "provides the most extensive mathematical capabilities ever available in a handheld calculator": symbolic algebra and calculus, a numeric solver, vectors and matrices, plots, unit conversions and binary arithmetic. Wikipedia calls it the first handheld calculator able to solve equations symbolically.

The 28C shares its case with the HP 18C Business Consultant of 1986: two halves that fold like a book, joined by a hinge that carries the connections between the two keyboards. The 28C had 2 KB of RAM, about 1,600 bytes of them for the user.

The 28S

A year later, on 4 January 1988, the 28S replaced it at the same price, $235. It has 32 KB of RAM, and HP added directories to organise variables, a custom menu of your own commands, and commands to read and write the display as a graphics string. Finseth's data lists smaller changes: a standard memory chip, a "Power Lost" message, foam in the battery compartment, a non-glare display glass and improved printing.

HP launched the 28S together with three other calculators: the 17B, the 19B and the 27S. All four have HP Solve and print by infrared, as an electronics magazine reported in March 1988.

The 28S was also the end of a naming habit. From the HP-25C of 1976, a "C" in the model name had stood for continuous memory. By 1988 every serious calculator kept its memory, and with the 28S, 17B, 19B and 27S HP switched to a letter for the market instead: S for scientific, B for business.

Finseth's data notes a special edition of the 28S made for the 100th anniversary of the American Mathematical Society.

RPL

Behind the 28C is a new operating system. Charles M. Patton's article in the same HP Journal issue says HP started designing it in 1984, for future calculators and handheld computers. The team looked at BASIC, Forth and Lisp, and took features from Forth and Lisp. The article calls the result "ROM-based procedural language, or RPL".

Bill Wickes of HP wrote in 1991 that this was not the real name. The team had called it RPL for Reverse Polish Lisp, a play on RPN and a nod to Forth and Lisp. At the time of the journal article there was an attempt to find "a less whimsical name", and "ROM-based procedural language" kept the initials. The HP 18C already used RPL inside, but the 28C was the first calculator to let its users program in it.

SYSEVAL

The 28C's manual documents one dangerous command, SYSEVAL: it runs the system object at an address, and the manual warns that general use "can corrupt memory or cause memory loss". The manual's only example shows the calculator's version. The Museum of HP Calculators notes that not every owner heeded the warning: System RPL programming by users was born.

Problems and successors

The 28S has no connection to a computer: programs and data go in through the keyboard and cannot be backed up. Its battery cover is weak as well. Wikipedia describes how the springs of the three batteries press the lid against thin notches in the case, which crack, so many surviving calculators hold the cover with tape or a rubber band.

The HP 48 series, which started with the 48SX in 1990, replaced it and grew out of its RPL and menus. The 28S was discontinued in April 1992.

What makes it special

Symbolic algebra

The 28S works with expressions as well as numbers. You can expand, collect and rearrange terms, solve an equation for a variable symbolically, and take derivatives and integrals. A name with no value stays a name, so an expression can wait for its numbers. These results come from saturnus's 28S:

'(X+1)*(X+2)' EXPAN    gives '(X+1)*X+(X+1)*2'
'X+2*X+3-1' COLCT      gives '2+3*X'
'2*X+3=7' 'X' ISOL     gives 2

The stack and objects

The HP Journal article describes what changed from earlier RPN calculators. The stack is no longer four registers: it grows as you put objects on it, limited only by memory. Each level holds one object: a real or complex number, an array, a string, a list, a binary integer, a name, a program or an algebraic expression. Variables replace the numbered registers, and a variable holding a program runs it when you type its name, like a built-in command.

HP Solve

HP Solve lets you type an equation and solve it for any of its variables: the menu keys show the variables, a key stores a value, and the shifted key solves for that variable. The solver first tries algebra, and if that fails, searches numerically.

The idea came from Chris Bunsen, an HP engineer. In a sidebar in the HP Journal he tells how he worked it out one evening after midnight, to escape the boredom of debugging a software package for the HP-71B. The HP-12C's financial keys showed him the way: one key per variable to store or solve. A row of menu keys under a display could do the same for any equation.

The rest

In saturnus

saturnus runs the 28S with ROM revision 2BB:

What it does not do: the memory view and the RPL editor are for the HP 48 and 49, because saturnus cannot read the 28S's memory. The 28S has no serial port, so Files has nothing for it, and the infrared printer output is not emulated. It has no clock.

The command reference lists the 28S's 260 commands with their stack effects, and examples for 230 of them, run in saturnus.

Open the HP 28S in saturnus

Sources