Author Topic: Free42 is a desktop replica of the HP-42S RPN scientific calculator / printer  (Read 47 times)

0 Members and 1 Guest are viewing this topic.

Software Santa

  • Administrator
  • *****
  • Posts: 4455
  • OS:
  • Mac OS X 10.12 Mac OS X 10.12
  • Browser:
  • Firefox 68.0 Firefox 68.0
Free42 is a desktop replica of the HP-42S RPN scientific calculator and HP-82240 printer with HP-41 Time Module Functions!

For Mobile OSes (iOS - Android) ----> Go Here.

Free42 : An HP-42S Calculator Simulator

What it is:
Free42 is a re-implementation of the HP-42S Scientific Programmable Calculator and HP-82240 Printer.

It is a complete rewrite, not using any HP code. It does not require an HP-42S ROM image.
Free42 is an Open Source project. The executables and source code are released under the terms of the GNU General Public License, version 2.

All third-party code used in Free42 is either in the public domain, or licensed under terms compatible with GPLv2, or used with the authors' permission.

Project Status:
The latest release is 2.4.2.

If you're interested in what's been going on with Free42, see the project history.

If you have questions or comments about Free42, you can contact me, Thomas Okken, via email at [Ik spreek Nederlands.] [Ich spreche Deutsch.] [I speak English.]
You can find answers to some frequently asked questions in the Free42 FAQ.

If you like Free42 and use it regularly, or if you simply want to sponsor the Free42 project, please make a donation.
You may donate any amount you wish, large or small.
Donations are processed by PayPal.


There is no manual for Free42 per se, but since it is an accurate simulation of the HP-42S, the original HP-42S Owner's Manual should be adequate for most purposes. I also recommend the Alternative HP-42S/Free42 Manual, written by José Lauro Strapasson and Russ Jones; you can get it here, in PDF and Word formats. Finally, the HP-42S Programming Examples and Techniques book is a great source of advanced programming advice and inspiration.

The User Interface functionality that is specific to Free42, e.g. printer emulation, skin switching, etc., is fairly simple and should be self-explanatory, but Free42 also has extended functionality in the calculator simulation: program import/export, time and date functions, configurable word size for BASE functions, enhanced debugging functions, local variables, and access to the accelerometer / GPS / compass on Android and iOS devices. These are all documented below.

Loading and Saving Programs:

Loading and saving programs is possible in all Free42 versions. The exact process is pretty straightforward in the desktop versions (Windows, MacOS, Linux), but it is a bit more complicated on mobile devices.
For instructions for all versions, see here.

Starting with release 2.0, you can use Copy and Paste to get programs into and out of Free42. In PRGM mode, Copy puts a text representation of the current program onto the system clipboard, and Paste takes a text representation of a program from the clipboard and loads it as the last program. This works in all Free42 versions, including mobile.

Binary and Decimal Floating-Point
While Free42 originally used Binary math exclusively, all releases starting with 1.4 have come in two versions, Binary and Decimal. The two look and behave identically; the only difference is the way they represent numbers internally.
All the Free42 versions on this site include both the Binary and Decimal versions, except for the iOS and Android versions, which are Decimal only.

Free42 Decimal uses the Intel Decimal Floating-Point Math Library; it uses IEEE 754-2008 quadruple precision decimal floating-point, which consumes 16 bytes per number, and gives 34 decimal digits of precision, with exponents ranging from −6143 to +6144.

Free42 Binary uses the PC's FPU; 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 +308.

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 do not fully understand the above, it is best to play safe and use Free42 Decimal.

Free42 Extensions to the HP-42S Instruction Set:
Time and Date Functions
Free42 provides a number of functions for working with times and dates, and getting the current time and date from the system's real-time clock. These functions are a subset of the functions from the HP-41 Time Module: ADATE ATIME ATIME24 CLK12 CLK24 DATE DATE+ DDAYS DMY DOW MDY TIME, and one additional function, YMD.

These functions are documented in detail in the HP-82182A Time Module Owner's Manual and the HP-41CX Owner's Manual, both of which can be viewed on-line here, here, and here, or you can get them in PDF on CD-ROM or DVD-ROM here.

Note: the date functions handle dates between October 15, 1582, and September 10, 4320. The former is the first day of the Gregorian Calendar, and the latter is 999,999 days later.
The format in which the date functions accept and return dates is MM.DDYYYY when in MDY mode, DD.MMYYYY when in DMY mode, and YYYY.MMDD in YMD mode.

HP-42S users manual (PDF): HP-42S Users Manual


This Site was Opened on January 1st, 2007

Welcome Visitor:

Spam Harvester Protection Network
provided by Unspam

The Software Santa Privacy Policy