The Museum of HP Calculators
The HP-29C was the top (and last) 20 series calculator. It had 98 program steps (with fully merged keycodes) and 30 storage registers. (16 were directly or indirectly addressable and the rest were only indirectly addressable.)
The HP-19C was functionally equivalent to the HP-29C with the addition of a built-in printer and a keyboard buffer. Unlike, the HP-67, the HP-29C did not provide "printing" commands in order to be completely program compatible with the HP-19C. This degree of interoperability wasn't required since programs couldn't be transported from an HP-19C to an HP-29C on magnetic cards. Users could simply add or delete printing commands as the program was entered. In fact HP's applications books were written for the HP-29C and had "***" in places where an HP-19C owner might want to insert a print instruction.
To the HP-25's set of programming features, the HP-29C/19C added subroutines (three levels), increment/decrement looping, and indirect addressing. Indirect addressing was achieved by storing the index in register 0 and then using an instruction like STO i which stored in the register indicated by the index in register 0. (In contrast the HP-67 provided a register named "i".) RCL, GTO and GSB could also use indirect addressing. In the case of GTO and GSB, if the number in R0 was between 0 and 9, then the calculators branched to that label. If the number was between -1 and -99, they branched backwards by that many program steps. (This method was faster and conserved labels.) In the case of STO and RCL the index in R0 had to be in the range 0-29 and the four basic math functions were allowed. (e.g., STO + i added the x register to the register indicated by the index in R0.)
The HP-29C/19C also used label addressing (labels 0-9 only) like the HP-65 which made instruction insertion easy. (And a DEL key was provided to remove excess instructions.) They also allowed the user to press GTO .line number for easy navigation while editing. (See the programming page for more information.)
The recently developed continuous memory allowed information to be kept intact even when the calculators were off. The entire program space, and the X register were continuous. (But the rest of the stack was volatile.) Memory registers were split. The 16 directly addressable registers were continuous whereas the other 14 indirectly addressable registers were volatile.
Except for lacking a card reader and soft keys, these machines were more powerful than the HP-65 which was introduced just 3 years earlier at 4 times the cost of the HP-29C.
HP-29C Price: $195
HP-19C Price: $345