HP-42S | |
Type: | Programmable scientific |
Entry: | RPN |
Manufacturer: | Hewlett-Packard |
Introduced: | 1988 |
Discontinued: | 1995 |
Processor: | Saturn (Lewis) |
Precision: | 12 display digits (15 digits internally), exponent ±499 |
Display Type: | LCD dot-matrix |
Display Size: | 2 lines, 22 characters, 131×16 pixels |
Prog Lang: | RPN key stroke (fully merged) |
Memory Step: | 7200 |
Memory Rom: | 64 KB of ROM |
Ports: | IR (Infrared) printing |
Supply: | 3×1.5 V button cell batteries (Panasonic LR44, Duracell PX76A/675A or Energizer 357/303) |
Weight: | 6oz |
Dimensions: | 148×80×15 mm |
The HP-42S RPN Scientific is a programmable RPN Scientific hand held calculator introduced by Hewlett-Packard in 1988.
Perhaps the HP-42S was to be released as a replacement for the aging HP-41 series as it is designed to be compatible with all programs written for the HP-41. Since it lacked expandability, and lacked any real I/O ability, both key features of the HP-41 series, it was marketed as an HP-15C replacement.
The 42S, however, has a much smaller form factor than the 41, and features many more built-in functions, such as a matrix editor, complex number support, an equation solver, user-defined menus, and basic graphing capabilities (the 42S can draw graphs only by programs). Additionally, it features a two-line dot matrix display, which made stack manipulation easier to understand.
Production of the 42S ended in 1995.
The HP-42S is keystroke-programmable, meaning that it can remember and later execute sequences of keystrokes to solve particular problems of interest to the user. The HP-42S uses a superset of the HP-41CX FOCAL language.
The HP-42S supports indirect addressing with which it is possible to implement a Universal Turing machine and therefore the programming model of the HP-42S can be considered Turing-complete.
This is a sample program which computes the factorial of an input integer number (ignoring the calculator's built-in factorial function). The program consumes 18 bytes. No memory registers are used.
Step | Instruction | Comment | |
---|---|---|---|
01 | Start of program "FAC" | ||
02 | 1 is put into X, hence the value to be calculated upon (which was initially in X) is lifted (pushed) into stack register Y | ||
03 | Define label 00 | ||
04 | Recall stack register Y and multiply with X | ||
05 | Decrement stack register Y and if not zero ... | ||
06 | ... go back to label 00 | ||
07 | or | Returns control (and result in X) to either the user or to a calling program. |
An open-source software version of the HP-42S (Free42) was developed by Thomas Okken that runs on iOS, Android, Windows, MacOS, and Linux. Its source code has been released under the GNU General Public License.In May 2017, SwissMicros released pre-production samples of an RPN calculator closely resembling the HP-42S, the DM42. The final product was released on the 9 December 2017. Even though slightly smaller (144×77×12 mm, 180 g) than the original HP-42S (148×80×15 mm, 170 g), the calculator comes with an additional top row of keys for soft menus, a keyboard layout supporting direct alpha character input, a much larger high-contrast display (Sharp low power transflective memory LCD with a resolution of 400×240, protected by Gorilla Glass) showing all four stack levels at once (configurable), ca. 75 KB usable RAM, a beeper, a callable real-time clock as well as an infrared port for HP 82240A/HP 82240B printer support and a USB interface (with Micro-B connector) emulating a FAT16-formatted USB mass storage device for easy program transfer and state backup / transfer as well as for firmware updates. The calculator, which comes in a stainless steel case with matte black physical vapor deposition (PVD) coating, supports keyboard overlays and is based on a modified version of Thomas Okken's GPLed Free42 simulator with Intel's decimal floating-point math library for higher precision (decimal128) running on an STM32L476RG processor (ARM Cortex-M4 core, 128 KB RAM, 1 MB internal flash) with another 8 MB of external QSPI flash (of which ca. 6 MB are available to users). It is powered by a CR2032 coin cell or via USB and clocked dynamically at 24–80 MHz.Since 2021, Free42 version 3 (and Plus42 version 1) optionally supports a dynamic RPN stack only limited by the amount of available memory instead of the classical four-level stack. This feature was incorporated as a selectable function into the DM42 since firmware DMCP-3.21/DM42-3.18.[1] [2]
The DM42 is also the hardware basis for the community-developed WP 43S calculator (called WP43 in more recent revisions since 2022), a successor to the WP 34S. The WP43 is supporting measurement system analysis (MSA) for the first time in a calculator. Expanding on the WP43 software and also based on the DM42 hardware, there are also variants with a considerable different keyboard and user interface called WP 43C (2011) / C43 (2022) / C47 (2023).
Another project based on the DM42 hardware is Christophe de Dinechin's DB48X (2022) to recreate an RPL environment from scratch.