Thank you for supporting the continued development of the Free42 project!
![]() |
Free42 for WindowsPackage: Free42Windows.zipRequires Microsoft Windows 98 or later. |
![]() |
Free42 for Pocket PC and Windows MobilePackage: Free42PocketPC.zipRequires Pocket PC 2002 or 2003 (ARM) or later, or Windows Mobile for Pocket PC 5 or 6. I have also received reports that this version can be used on some Windows CE devices. This version does not run under Windows Phone 7. |
![]() |
Free42 for PalmOSPackage: Free42PalmOS.zipRequires 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 for Mac OS XPackage: Free42Mac.zipRequires Mac OS X 10.5 or later, Intel or PowerPC.
This is Free42 built as a Mac OS X application.
|
![]() |
Free42 for Mac OS X DashboardPackage: Free42MacDashboard.zipRequires Mac OS X 10.4 or later, Intel or PowerPC.
This is Free42 built as a Mac OS X Dashboard widget. It does not
support skin switching, printer emulation, and program import/export,
but it is otherwise a fully functional simulation.
|
![]() |
Free42 for iPhone, iPod touch, and iPadYou can get it from the iTunes App Store by clicking this link.Requires iPhone OS 3.0 or later. The current release does not yet have a functioning print-out window (but printing to files is implemented); it does not yet support import/export of programs from/to files on the device (but import/export directly from/to a PC or Mac is implemented, see here); and it does not yet support use of the pop-up keyboard for ALPHA mode text entry. These features will be added in future releases. There is another port of Free42, called 42s, created by Byron Foster, that includes some very nifty enhancements including unlimited-depth stack and 5-line display. These features are all optional, so you can still have the original HP-42S functionality for programs that need it. This port is also available from the iTunes App Store, here. |
![]() |
Free42 for Linux (x86)Package: Free42Linux.tgzBuilt in Fedora 6 with glibc 2.5, libstdc++ 4.1.2, GTK+ 2.10.13, and LessTif 0.95.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 Zaurus X/QtRuns 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 for Nokia 900Package: available at maemo.org.Runs on the Nokia 900 Internet Tablet. Source code, also for Nokia 770, 800, and 810, available at garage.maemo.org. Ports by Tatu Männistö. |
![]() |
Free42 Source CodePackage: free42.tgzThe GTK and Motif versions require 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); for the PalmOS/Windows Conduit, you need Microsoft Visual C++ 6.0; and for the iPhone versions, you need the iPhone SDK 3.0 or later. The Mac OS X Application and Dashboard versions can be built using the development tools that come with OS X; they require OS X 10.4 (Tiger) or later for the Dashboard version, and OS X 10.5 (Leopard) or later for the Application. |
![]() |
SkinsSome skins to use instead of the faceplates built into Free42. Separate packages for:
Windows, Unix, and Mac,
contains 20 skins, last updated March 28, 2010;
|
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 Code package. |
There is no manual for Free42 per se, but since it is an accurate
simulation of the HP-42S, an 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.
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 at
EmuWiki.
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 download packages available from this site include both the Binary
and Decimal versions, but the Free42 and 42s applications in
the iTunes App Store 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.
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/49/50 series calculators).
You can contact me, Thomas Okken, at
.