The Free42 application was designed to be 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.
The calculator integrates both the binary and decimal versions, which look identically, but represent the numbers internally in different ways.
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.
What's New in This Release: [ read full changelog ]
· All versions except iPhone: the links in the About boxes now actually work.