The Museum of HP Calculators
The HP 9815A was HP's third generation high end RPN desktop. It was much smaller, lighter and less expensive than its predecessor. It provided only a single line display but replaced the earlier card drives with a tape drive.
The HP 9815A used the version of RPN used on the handheld calculators with a four-level stack with all results in the x register and implied pushes. This was well suited to this model's single line display. However, it retained the numeric input style of the other 9xxx machines.
It was also more like the handhelds in its keyboard design. It used an enlarged version of the low-profile keys and snap contacts used by the handheld calculators instead of the earlier full travel "typewriter style" keys. The calculator also provided the engineering display mode but called it SCI 3.
The HP 9815A, improved on its predecessors by storing programs and data on tape rather than magnetic cards. Each DC-100 mini-cartridge held 94K bytes and the average time to find and read a file was just 9 seconds. If a switch was set on the calculator's keyboard, it automatically loaded and ran the first program on the tape whenever the machine was turned on. The tape cartridge and tape drive were designed and developed by HP. 3M manufactured the cartridges.
The HP 9815A included much of what was optional on the HP 9810. The printer, alphanumeric printing, mathematical functions, basic statistics, user definable keys, tape control and tape drive were all built in. Additional software was available on tape cartridges rather than ROM blocks.
A major difference between the 98xx models and the handhelds of the same period were the I/O devices and peripherals available. The HP 9815A could take data points from digitizers, plot data on pen plotters, print to thermal or daisy wheel printers and could read/write paper tape.
A BCD interface was available to allow the calculator to take samples from lab instruments and/or control them. An HP-IB interface allowed the calculator to be a controller of up to 14 instruments on the HP-IB bus. A general 8 bit I/O interface was also available.
The HP 9815A came with 472 program steps with an option to expand to 2008 steps. Program steps were merged so GOTO 0003, for example, required one line. Because of keystroke merging, programs required about 30% less memory than previous models.
The calculator returned to sharing memory between programs and data like the HP 9100A/B, however, it required an explicit command to change the memory allocation rather than using overlapping addresses. The calculator powered up with storage registers A-J and 000-009. The number of registers could by changed by entering the desired number and pressing SHIFT STORE. (It was not always necessary to enter the leading zeros on the numbered registers. The user could, for example press RECALL 4 X to recall register 004 and multiply it by Y.)
The HP 9815A allowed both label and absolute (line number) addressing with 115 label names (00-99 and A-O). When programs were printed, the printer added a line of dashes next to each label to make it easy to find. Labels A-O could be called directly from the user-defined keys and blank keyboard overlays were supplied with the calculator.
New on the HP 9815A was automatic adjustment of all line number addresses whenever an instruction was inserted or deleted. Also new on the calculator were computed branches to labels or line numbers. GOTO X branched to the line number in the x register. GOTO LABEL X branched to the label indicated in the x register.
FOR/NEXT loops were also new. These could use any of three register pairs. For two of the pairs, the loop counter would start at the first register, be incremented by one and end when the value of the second register was reached. The third register pair allowed the value to be added to be specified in an additional register. FOR/NEXT loops could be nested up to three levels deep.
Indirect addressing was accomplished by adding an extra recall to the instruction sequence. For example, to store and recall the register indicated by the contents of register A, the sequences STORE RECALL A and RECALL RECALL A would be used. To add the x register to the register indicated by the contents of register B, the user could use STORE + RECALL B.
Subroutines could be nested seven levels deep and eight flags were available. One of the flags allowed the program to continue if an error occurred. (In which case another flag was set to indicate this.) Another flag indicated that data had been entered. This could be used to allow a user to enter an arbitrary amount of data and terminate the list by pressing RUN without data entry.
HP later introduced the HP 9815S which included 3800 total program steps and two I/O channels standard.
Picture of HP 9815A
Closeup up on the keyboard
Close up on the tape drive mechanism
Dimensions and Weight
Weight: 12 lbs
HP 9815A $2900
HP 9815S $3950
Introduction: 9815A:1976, 9815S: 1980