WP34s - a work in progress - Part I
The wp34s is a DIY attempt to replicate (and even improve upon) the HP42s, probably the best RPN calculator ever. Perhaps a little history is in order.
Hewlett-Packard created the programmable calculator market from scratch. The Hp65 first, and then the HP67, were the best calculators of their age, and they were the first to provide mass storage (if I remember correctly, "mass storage" means here a meagre 256 bytes. It is important to grasp the magnitude of this value: it is 1.000.000.000 times smaller than the hard disk of my Mac.
You really needed to be quite compact in your coding to be able to do something with that amount of memory. Well, in any case these were the best available handheld devices of their time and made their way to many spaceflights. There is even a website devoted to the HP calculator space history.
Then, the alphanumeric HP41c arrived.
It was purported as a handheld computer, and it was expandable - there was an enormous amount of peripherals and options, which made it able to do most handheld work of that time. Every one at that time wanted to have one - but not many could. On the other hand, the hp41c was barely pocketable; and the fact that many of its functions had to be addressed from the XEQ button made it less of a calculator. You really had to know the function catalog by heart to be able to take it to the maximum. Even though, and when you mastered, you had to type XEQ Alpha function keys Alpha - not very user-friendly.
In that respect, and in my humbler opinion, it was not as good as a pure calculator as its predecessors. As it was 100% customizable, you could reassign the hidden functions to the keys of your choice, and you even had removable keyboard overlays to show them - but it always left me with a feeling of DIY.
It also was limited in the number of functions and how they were implemented. Matrices and complex numbers come up to mind. Complex in particular were implemented in several HP and third party modules - but these were not compatible among themselves and in many cases led to just 2 stack levels available - not the right thing when you're calculating circuits!
Then the HP15c came. In many areas a step back from the HP41c (not expandable,not alphanumeric, programs stored as key codes, small memory area), it was a true handheld pure calculator. It had matrices and complex numbers done right, all functions were accessible from the front panel, and it could really fit in your shirt pocket.
Still, many of us perceived it as second rate compared with the HP41c. We were comparing real world (hp15c) with potential capabilities when expanded (hp41c). Now, with perspective, I see that the 15c is the better calculator (not the better computer, not the better lab device, but the better calculator)
Then, HP released the HP71c - a true BASIC computer in calculator size, and later the HP28c, which was the first RPL device, and the distant root of both the Pioneer and HP48 families. Still, the HP41c remained the workhorse of the HP calculator family. Adding complexity to devices made them more suitable for class use - not necessarily for professional use.
When confronted with the aging but still bestseller HP41c, HP thought that there should be a software-compatible calculator, based in modern hardware, but still appealing to the HP41c calculator base. It should still be RPN, as opposed to the new series of calculators; and it should offer a better way of reaching the additional functions that the XEQ method.
The answer to that need was the HP42s. It had nearly total software compatibility with the HP41c, but it also had a menu-driven interface for the additional functions, and it integrated complex mathematics and matrices in a seamless way - much better even than with the hp15c; in fact, in my opinion, better than any other calculator, past or future. It had also a way of using the solver function and menus in normal programming. It also allowed techniques for keeping your stack safe when you were using programs.
(It was an irony, though, that the little machine, the zenith of RPN, was itself programmed in SysRPL)
Later, the HP48 family appeared, but it was already a different animal: unlimited stack, different object types, a more complex programming environment (elegant, but too different from the current programming mainstream to be able to grab attention). It was expandable, but not in the same way as the HP41c was. In fact, that kind of expandability has not been reached later. The fact that Agilent was spun off later made impossible to add instrument connectivity.
So that left us without continuation to the top RPN line. Later HP RPN calculators (like the HP32 in their various guises, the HP33s and the HP35s) do not hold a candle to the HP42s)
When HP issued the HP12c running as an emulation in an ARM processor, there was hope for us that HP could release a follow up of the HP42s. However, the kind of screens that could be driven from this processor were not as complex as the dot-matrix one used in the pioneer series like the HP42s. I questioned HP about their likelihood to produce an HP42s, since both the screen and the keyboard live on the HP17bII+. It seems that this is a closed avenue, since the processor used in that series could not seriously run the HP42s firmware; and the whole enterprise would be a significant R&D commitment, not worth in the current scheme of things.
Simultaneously, HP had issued a number of calculators using the SRM processor, and a way to modify it through a serial connector on the back: the HP20b and 30b. These were financial models, and quite powerful at that: as they are programmed in "native" code, and not running an emulator, they are the fastest HP calculators around, even faster than the HP50g in RPL.
It was in this situation that Paul Dale and Walter Bonin set to produce a RPN calculator (to be continued in part II)