hp 71b

here is the famous 71b a true hp classic. 

this really was a pocket computer and supersedes the abilities of rivals like the casio fx-700p and sharp pc-1350 in almost every way.

this unit was very generously given to me by tony duell and has enabled me to evaluate the hands on experience. for example, the 71b has a built-in calculator mode. although primarily a pocket computer, hp did not forsake the ability to pick up and calculate manually. this mode works well, with recall, editing and correction. interestingly for hp, the calculation mode is not rpn1

the unit is highly expandable, with four expansion ports. it has 16k ram as standard, which is adequate for useful programs right away. the unit programs in an extended variant of basic. all the usual suspects are there as expected, but nicely, there is also the ability to define functions with local variables and subprograms. the unit introduces the concept of a file system so that programs can be stored in logical files. this makes the management of basic programs simple otherwise things would, very quickly, become messy.

of special interest to me is the fact that this model has a number system based on ieee-854. this is the decimal floating point equivalent to ieee-754 (as used in most computers now). the advantage of the decimal version is of great importance to calculators that, in general, prefer to use bcd rather than true binary for their internal number systems. in accordance with ieee-854, numeric behaviour with regard to exceptions can be customised. for example underflow can be one of three choices; throw and exception (support by the language), underflow to 0 or denormalize first, before becoming zero. 

unfortunately ieee-854 does not yield the same 15 digit accuracy as 754, the mantissa is 12 digits and the exponent +/-499. making this the first calculator to have exponents larger than 99 but otherwise of comparable precision to most 10 digit models (who typically have 2 internal guard digits).

the implementation of the operating system is superb. there is even a real time clock and calendar. its even possible to switch itself off and wake up later and continue under software control. there is a hardware io interface which gave rise to many external peripherals.

my only reservations are that the screen could have benefited from being wider or even to have had two lines. also, why is the backspace key shifted. this felt a little odd.

the machine is greatly enhanced with the addition of the math rom. this rom adds native support for complex numbers to all scientific functions. in fact, the complex number support is even better than the 15c as matrices can also be complex and of larger sizes (memory permitting). root finding an numerical integration can be performed using formulae directly from the command line (eg integral(0,1,1e-5,sin(ivar)/ivar)). you can even nest integration and solving. it does quite well in the integration torture test, but a bit slow compared to modern offerings. naturally all the math rom additions can be used in programs and this combination of ability makes for a formidable machine.

(1) although you can never remember how to chain on calculations after not using the machine for some time which is really annoying.