Free42 -- An HP-42S Calculator Simulator

Free42 is a complete re-implementation of the HP-42S calculator and the HP-82240 printer. Free42 was written from scratch, without using any HP code. You do not need any ROM images in order to use it, yet it is fully HP-42S compatible.

Supported Platforms

With each release, I build ready-to-run executables for Pocket PC, Microsoft Windows, PalmOS, and Linux (x86). There are also versions for MacOS X Dashboard and Sharp Zaurus / Nokia 770, contributed by fellow HP-42S enthusiasts, available via this site; see below for details.
Even if your favorite operating system is not in this list, you may still be able to get Free42 to work by building it from source (see below).
To check if you're up to date with the latest release, look here.

Donations

If you like Free42 and use it regularly, or if you simply want to sponsor the Free42 project, a donation would be appreciated.
The suggested donation amount is US $30, or 25 euros -- but you are free to donate a different amount if you wish.
Please support the continued development of the Free42 project.
Donate US $30:
Donate 25 euros:
Donate a different amount:
Thank you!

Downloads

Free42 for Pocket PC

Package: Free42PocketPC.zip
Requires Pocket PC 2002 (ARM) or later.

Free42 for Windows

Package: Free42Windows.zip
Requires Microsoft Windows 98 or later.

Free42 for PalmOS

Package: Free42PalmOS.zip
Requires PalmOS 3.0 or later.

This package contains 68K and ARM versions of the PalmOS application, and a HotSync conduit that allows you to transfer files between your PC and your hand-held.

The 68K version of Free42 Binary requires the MathLib floating-point library; in case you don't already have it, you can get it from Rick Huebner's MathLib page.
Free42 Decimal, and the ARM version of Free42 Binary, do not require MathLib.

Free42 for Linux (x86)

Package: Free42Linux.tgz
Runs on Fedora Core 5 with glibc version 2.4, libstdc++ version 4.1.1, GTK+ version 2.8.20, and Open Motif version 2.3.0. It should work on any Linux (x86) with those or similar libraries.

This package contains GTK+ and Motif versions of Free42. The only difference between the two is the look and feel of the menu bar and dialog boxes; other than that, they are identical.

Free42 for MacOS X Dashboard

Package: Free42MacDashboard.zip
This is Free42 version 1.4.36, built as a MacOS X Dashboard widget, for PowerPC and Intel-based systems. Decimal and Binary versions included.
Contributed by D. Jeff Dionne.

Free42 for Zaurus X/Qt

Runs on the Sharp Zaurus with X/Qt installed (and possibly also with the native GTK GUI (GPE), although this has not been tested), and on the Nokia 770 Internet Tablet.
Maintained by Egan Ford; more information and downloads are available on his web site at http://sense.net/zc/free42/.

Free42 Source Code

Package: free42.tgz
Requires Linux, or any reasonably Unix-like environment, with X11, GTK+ or Motif/Lesstif, and the usual development tools and libraries. For the Windows version, you need either Microsoft Visual C++ 6.0 or MinGW; for the Pocket PC version, Microsoft eMbedded Visual C++ 3.0; for the PalmOS version, you need PRC-tools (with Ton van Overbeek's multi-segment debugging patches applied); and for the PalmOS/Windows Conduit, you need Microsoft Visual C++ 6.0.

Skins

Some skins to use instead of the faceplates built into Free42.
Separate packages for Pocket PC, Windows and Unix and PalmOS.
 

HP-42S/Free42 programs

A small collection of HP-42S/Free42 programs.
 

txt2raw.pl

A Perl script that converts HP-42S program listings, such as those generated by the PRP and LIST commands, to Free42/Emu42 compatible "raw" program files.
Written by Vini Matangrano; look here for documentation and the script itself.
 

rom2raw

A C program that converts HP-41 ROM images to Free42/Emu42 compatible "raw" program files.
Download rom2raw.zip; source code and Win32 console executable included.
NOTE: the source code for this program is also included with the Free42 Source Code package.

Documentation

Free42 does not come with a manual (yet). Since it is an accurate simulation of the HP-42S, an HP-42S manual should be adequate for most purposes, since the Free42-specific functionality is fairly simple and (I hope!) self-explanatory.
You can obtain a copy of the original HP-42S manual (in English) in PDF format, on CD-ROM or DVD-ROM, at The Museum of HP Calculators. Look for the CD/DVD offers here.
Alternatively, there is a new HP-42S/Free42 manual, written by José Lauro Strapasson; you can obtain it from my web site here, or get the most up-to-date version from the author's web site here.

Decimal and Binary floating point

Starting with version 1.4, Free42 comes in Decimal and Binary versions. The two look and behave identically; the only difference is the way they represent numbers internally. All the download packages include both the Decimal and the Binary versions.

Free42 Decimal uses Hugh Steers' 7-digit base-10000 BCD20 library, which gives 25 decimal digits of precision, with exponents ranging from -10000 to +9999. Transcendental functions are evaluated to at least 20 digits. Each number consumes 16 bytes of memory.

Free42 Binary uses the PC's FPU, if available; it represents numbers as IEEE-754 compatible double precision binary floating point, which consumes 8 bytes per number, and gives an effective precision of nearly 16 decimal digits, with exponents ranging from -308 to +307 (actually, exponents can be less than -308, but such small numbers are "denormalized" and don't have the full precision of "normalized" numbers).

The binary version has the advantage of being much faster than the decimal version; also, it uses less memory. However, numbers such as 0.1 (one-tenth) cannot be represented exactly in binary, since they are repeating fractions then. This inexactness can cause some HP-42S programs to fail.

If you understand the issues surrounding binary floating point, and you do not rely on legacy software that may depend on the exactness of decimal fractions, you may use Free42 Binary and enjoy its speed advantage. If, on the other hand, you need full HP-42S compatibility, you should use Free42 Decimal.

If you don't fully understand the above, it is best to play safe and use Free42 Decimal.

Project Status

Latest release: 1.4.36, released 12 May 2007.
Development HISTORY.

Links

The ultimate source for HP calculator enthusiasts: The Museum of HP Calculators.
Other HP-42S emulators: Christoph Gießelink's Emu42 (for Windows and Pocket PC); HrastProgrammer's HP-42X (for the HP-48 and HP-49 series calculators).

You can contact me, Thomas Okken, at .


Back to Thomas Okken's Projects home page