If you're interested in what's been going on with Free42 in the past,
see the project history.
For my thoughts about future improvements, check my to-do list.
For questions or comments, visit the Free42 forum at Google
Groups.
Thank you for supporting the continued development of the Free42 project!
![]() |
Android (ARM)Get it at Google Play, or if you prefer the manual approach, download Free42Android.apk for side-loading.Requires Android 1.5 or later. |
![]() |
iOSGet it from the iTunes App Store.Requires iOS 4.3 or later. |
![]() |
WindowsDownload: Free42Windows.zipRequires Windows XP or later. |
![]() |
OS XDownload: Free42Mac.zipRequires OS X 10.6 or later. |
![]() |
Linux (x86)Download: Free42Linux.tgzBuilt in Fedora 6 with glibc 2.5, libstdc++ 4.1.2, and GTK+ 2.10.13. It should work on any Linux (x86) with those or similar libraries. |
|
|
![]() |
SkinsSome skins to use instead of the faceplates built into Free42. Separate packages for:
Android,
contains 3 skins, last updated June 11, 2011;
|
![]() |
HP-42S/Free42 programsA small collection of HP-42S/Free42 programs. |
txt2raw.plA 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. |
|
rom2rawA 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 package. |
|
![]() |
Free42 Source CodeDownload: free42.tgzDownload for GTK only, no HP logo, for building Linux packages: upstream.
• Building the Android version requires the Android SDK 1.5 and NDK r4b or later.
|
|
|
![]() |
Pocket PC and Windows MobileDownload: Free42PocketPC.zip (1.4.71)Requires Pocket PC 2002 or 2003 (ARM) or later, or Windows Mobile for Pocket PC 5 or 6. This version does not run under Windows Phone 7 or later. (But this one does.) Additional skins |
![]() |
PalmOSDownload: Free42PalmOS.zip (1.4.71)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 Windows and the Free42 filesystem on your PalmOS device. The Binary 68k version requires the MathLib floating-point library; in case you don't already have it, you can get it here. The Decimal 68k, Binary ARM, and Decimal ARM versions do not require MathLib. Additional skins |
![]() |
OS X 10.5Download: Free42Mac.zip (1.4.74)Requires OS X 10.5 or later, Intel or PowerPC. |
![]() |
OS X DashboardDownload: Free42MacDashboard.zip (1.4.70)Requires OS X 10.4 or later, Intel or PowerPC. |
![]() |
Linux (x86) with MotifDownload: Free42LinuxMotif.tgz (1.4.71)Built in Fedora 6 with glibc 2.5, libstdc++ 4.1.2, and LessTif 0.95.0. It should work on any Linux (x86) with those or similar libraries. |
![]() |
Source for the Old and No Longer Supported VersionsDownload: free42old.tgz• For building the Pocket PC version, you need Microsoft eMbedded Visual C++ 3.0. • For the PalmOS version, you need PRC-tools (with Ton van Overbeek's multi-segment debugging patches applied). • For the PalmOS/Windows Conduit, you need Microsoft Visual C++ 6.0. • Building Free42 for OS X 10.5 for PowerPC requires the OS X SDK 10.5 (not 10.4 or earlier because the code won't build; not 10.6 or later because those versions won't generate PowerPC code). • For the Mac OS X Dashboard version, you need the OS X SDK 10.4 or later. • The Motif version requires Linux, or any reasonably Unix-like environment, with X11, Motif/Lesstif, and the usual development tools and libraries. |
Loading and saving programs is possible in all Free42 versions except OS X
Dashboard. The exact process is pretty straightforward in the desktop versions
(Windows, OS X, Linux), but it is a bit more complicated on mobile devices.
For instructions for all versions, see here.
There is no manual for Free42 per se, but since it is an accurate
simulation of the HP-42S, the original HP-42S manual should be adequate for
most purposes. The functionality that is specific to Free42, e.g. printer
emulation, skin switching, etc., is fairly simple and should be
self-explanatory -- except perhaps for program import/export, which is documented
here, and the accelerometer, GPS, compass,
and time/date functions, which are documented here.
You can obtain a copy of the original HP-42S manual, in English, German, or
Portuguese, in PDF format, on CD-ROM or DVD-ROM, at The
Museum of HP Calculators. Look for the CD/DVD offers here.
If you're looking for something to help you get started without spending
any money, I 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. There is also
an EPUB version of this manual, suitable for most e-book
readers; provided by Koen De Vleeschauwer.
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 Binary uses each platform's native floating-point support. On PCs and Macs, this means the hardware FPU, while on hand-helds, it usually means FPU emulation or a floating point library. All platforms supported by Free42 use IEEE-754 compatible floating point, and Free42 uses double precision, which consumes 8 bytes per number, and gives an effective precision of nearly 16 decimal digits, with exponents ranging from -308 to +307. Free42 Binary also supports IEEE-754 denormal/subnormal numbers, so even smaller exponents are possible, but such numbers do not have the full precision of numbers within the normal exponent range.
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.
The binary version has the advantage of being much faster than the decimal version; also, it is smaller and uses less memory. However, numbers such as 0.1 (one-tenth) cannot be represented exactly in binary, since they are repeating fractions then: 1/10 is exactly 0.1 decimal, but 0.00011 binary. 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.
For questions and feedback, you are encouraged to use the Free42 forum
at Google Groups.
If you prefer, you can also contact me, Thomas Okken, via email at thomas_okken@yahoo.com.
NOTE: These links are for informational purposes only; I provide no support for them, but I believe they may be of interest to RPN and HP-42S fans.