Hewlett Packard 9810A Programmable Calculator
The Hewlett Packard 9810A was the first in the 9800-series of IC-based machines that followed on after the historical HP 9100A and 9100B transistorized electronic calculators. The first round of 9800-series machines (the 9810, the 9820 and the >9830) all shared in the advantages of small and medium-scale integrated circuit technology for the logic of the machines, as well as large-scale integration devices for Read-Only Memory (ROM) and Random Access Memory (RAM). In fact, the HP 9800-series electronic calculators were the first commercial computing device that used Intel's brand new 1103 (introduced in October of 1971) Dynamic RAM chip, a 1024-bit Random Access Memory device on a single chip. The 1103 was the very first commercially-available Dynamic RAM (DRAM) chip. The 1103 chip marked a revolution in integrated circuit memory capability, such that the technology had finally attained a storage density and price point that would make IC-based memory systems competitive in cost as compared to magnetic core memory technology, which took more space, power, and required significantly more complex circuitry to operate than new Intel 1103 chip. The only downside to IC-based RAM at the time was that it forgets whatever is stored in it when the power is removed from the device, whereas magnetic core memory inherently remembers its content, which is stored as a magnetic field that does not change when the power is removed. However, for desktop calculating machines like these, the fact that the memory was lost when the calculator was turned off was not that big of a concern, because the 9800-series calculators provided an easy-to-use means built into the machines that made it a snap to quickly load programs and data into the calculator. Along with this, the calculators could interface to a wide range of peripheral devices, including actual removable hard-disk systems that could hold large volumes of data, and provide nearly instantaneous access to it. Integrated circuit technology in the 9800-series calculators served as a foundation for smaller (though the 9800-series calculators are still a rather large machines) and more powerful programmable calculating machines than earlier transistorized calculators made by Hewlett Packard and other manufactures. Gone was the core memory, wire-rope core microcode sequencer, and the complex diode and resistor-packed logic circuit board, as well as the extremely complex multi-layer circuit board ROM that served as microcode store for the 9100A/B calculators. All of these technologies (though totally amazing for their time) were replaced with integrated circuits. The truly amazing aspect of this is that all of these technologies were effectively made obsolete by integrated circuits in the period of time of just a few years. This is an exemplary example of the rate of speed of the advancements in electronic technology in the early 1970's.
The 9800-series calculators from Hewlett Packard proved to be the undoing of one of HP's major competitors in the high-end calculator business, Wang Laboratories. The predecessors to HP's 9800-series machines forced Wang Labs to come up with a new series of high-end calculators to regain the market share that the 9100-series calculators took away from Wang's earlier 300-series calculators (an example being the Wang 360SE. Wang Labs' 700-series calculators, such as the Wang 720C were this response. While the Wang 700-series calculators were very powerful, just as Wang Labs' new machines got solidly into the marketplace, HP hit Wang hard with the introduction of the 9800-series calculators. While Wang did introduce some less-expensive follow-on machines to the 700-series calculators, Wang Laboratories never really recovered in the calculator marketplace, and quietly exited the calculator marketplace in the late 1970's, moving into word processing and small computer systems. Today, Hewlett Packard is one of the few survivors in the calculator business, a testimony to their strategy and innovation back in the early days of the high-end calculator wars.
The 4-board CPU engine common to the 9810, 9820, and 9830
By 1971, when the HP 9810A was introduced, the reign of the transistorized calculator had ended. Later, other machines in the 9800-series were introduced, such as the 9815 and the 9825. These later calculators further leveraged the rapidly-changing state-of-the-art in integrated circuit technology, resulting in higher levels of integration. Though the 9810A was the first, the 9820A and 9830A shared the same 16-bit CPU, made up of four plug-in circuit boards crammed with small and medium-scale integrated circuit logic. The major difference between the 9810, 9820, and 9830 was the firmware embedded in the machine's ROMs, the amount of RAM, and differences in display technology and keyboard layouts.
Even though the 9810A is a technically more advanced calculator than the transistorized 9100A and 9100B calculators it superseded, surprisingly, the base 9810A is actually somewhat less capable in terms of built-in math functions than its predecessors. Out of the box, the 9810A only provides functions to raise a number to a power, calculate square roots, square a number, and calculate reciprocals, along with the standard four math functions. Hewlett Packard opted to make the 9810A expandable with ROM modules that plug into three slots in the top panel of the machine. These ROM slots, in conjunction with a ROM-definable 3x5 array of keys on the left end of the keyboard, allowed more flexibility for customizing the function of the machine to the customer's needs. ROM modules were available which provided advanced mathematics (e.g., trigonometric, logarithmic, statistical), alphanumeric capabilities for the (optional) thermal printer, and extensions for input/output devices. The 9810A also provides four slots in the back panel for plugging in input/output interfaces that allow the calculator to interface with a myriad of devices including plotters, printers, mass storage devices, and instrumentation controllers. This combination of modular ROM firmware and I/O interfaces made the 9810A a very capable general purpose computing device in it's time. It wasn't quite a computer in the true sense, but it came very close, and in fact was a heck of a lot less expensive than the minicomputers of the day, with a base introductory price of around $2,500. At the time of the 9810's introduction, about the least-expensive minicomputer system that could be had would be Digital Equipment's PDP 8/e, which sold in base form with 4K of core memory for $6,500.
The 9810A's LED Display Circuit Board
One obvious difference between the 9810A and the earlier 9100 machines is that Light Emitting Diode (LED) display elements were used versus the oscilloscope-like CRT display of the 9100 calculators. Hewlett Packard developed and manufactured the LED display modules for the 9810A expressly for the function of replacing the expensive and complex CRT electronics of the 9100 calculators. The displays form digits by the familiar "pieces of eight"' seven-segment arrangement, however, the segments are formed of lines of tiny LED dots. At some point during the production of the 9810A, the display was redesigned to use modular (five digits in one module) display elements, similar to that used in HP revolutionary HP 35 calculator. These display elements had somewhat smaller digits than the original display. The 9810A exhibited here uses the earlier individual LED displays.
The LED Display of the 9810A in Operation
Three rows of fifteen each of the LED modules allow the RPN stack to be shown in full. The digits are smaller than those that were drawn on the CRT of the 9100 calculators, but are bright and very readable.
A View of the 9810A with Top Cover Removed
The 9810A displays ten digits of precision, the same as the 9100 calculators, and, like the 9100's, had extra digits that were calculated but not displayed, in order to improve the accuracy of the machine. The display format on the 9810A is changed by keystrokes, with a [FLOAT] key setting the machine to display all registers in scientific notation (with a discrete LED indicator under the FLOAT key lighting to remind the user), and a [FIX()] key, which, when pressed, causes the machine to accept the next digit (zero through nine) from the keyboard as the number of digits to display behind the decimal point, and set the display to operate in fixed decimal point mode (lighting another discrete LED under the [FIX()] key). If a number is too large to display in fixed-decimal point mode, the machine will display it in scientific notation. The 9100, by contrast, used a thumb-wheel switch to set the fixed decimal point location, and a toggle switch on the keyboard to select between scientific and fixed decimal point display modes.
A Magnetic Card for HP9810A Calculator
The 9810, unlike the 9100 calculators, has separate RAM for storage of memory registers and program steps. On the 9100 machines, the core storage was shared across these two functions. The 9810A in base form has access to 51 memory registers. Two of the memory registers are directly accessible by the [a] and [b] keys. The remaining memory registers (000 through 048) are accessed via pressing a memory function key followed by a three digit address of the desired memory register. Additional memory register RAM can be added as an option, expanding the total number of memory registers to 111. A powerful feature was added to memory register access on the 9810: Indirect addressing. This feature made it possible to use a memory register as a pointer to access other memory registers. This made programs like array and list processing functions much easier to write. Program step memory was also expandable, with up to 2036 steps available. Each key press when in program mode consumes a single step of program memory, in contrast to newer HP calculators, which can encode multi-key sequences (such as "GTO 0648") as a single program step. When the calculator is in programming mode, the LED display changes to show the previous two memory locations and their content, as well as the current memory location and its content. [BACK STEP] and [STEP PRGM] keys can be used in programming mode to step through the memory to view or edit program code. If the "PRINTER ALPHA" ROM pack is installed, and the 9810A is equipped with the optional thermal printer, programs can be listed out in mnemonic form, with alphanumeric codes describing each step in the program. If the "PRINTER ALPHA" ROM isn't available, programs are listed out using key code numbers which must be looked up in a table. Programming the 9810A is very similar to programming on the 9100, but with a few additions. Most notably the 9810A has the notion of branching labels. Rather than having to use absolute step numbers when performing branching operations, various points in a program can be marked with a label that can be referred to later by GOTO or branching instructions. This makes programs easier to develop, and also makes it easier to edit programs, as inserting an extra instruction in the middle of a program does not disturb the labels. Given that the program memory on the 9810A is volatile (e.g., the memory content is lost when the power is turned off, as contrasted to the non-volatile core memory on the 9100s), the 9810A has more of a need for a magnetic card reader for offline storage of program and memory registers. The magnetic cards are physically larger than those on the 9100, mainly because the capacity for program steps and memory registers is larger than on the 9100's, requiring more magnetic real-estate.
The 9810A is a very fast calculator, in fact, it is significantly
faster than many of today's electronic calculators. Part of the reason
the machine can run as fast as it does is that it doesn't have to rely
on batteries for power. One way to extend battery life on portable
computing equipment is to reduce the speed at which the circuits operate.
Faster-running circuits require more power. Because the 9810A doesn't
have to rely on batteries (and has a very beefy power supply), compromises
on the speed of components were not as important.
The simple program below (Showing the address, mnemonic and key code, with
comments following for descriptive purposes) simply loops over and over
again, adding one to the X register at each loop:
0000-- CLR---20 Clear the stack
0001-- 1 ---01 Enter a '1'
0002-- UP---27 Push onto the stack
0003-- UP---27 ..again
0004-- UP---27 ..and again, now the stack is full of 1's
0005-- LBL---51 Create a branch label..
0006-- 1 ---01 ..called 1
0007-- + ---33 Add the X and Y registers together, put the result in X
0008-- GTO---44 Loop back..
0009-- LBL---51 ..to label..
0010-- 1 ---01 ..1
This program will count approximately 300 loops per second, showing that the 9810A runs quite quickly. In calculator mode, most math functions return virtually instantaneous results, with some of the advanced math functions taking a barely detectable time to return an answer. During calculation, and also while programs are running, the display is blanked. A "PAUSE" instruction can be inserted into programs which causes the display to show the current content of the stack for approximately 1/2 second. A "PRINT" instruction can cause the content of the X register of the stack to be printed under program control.
This particular 9810A was made in the early part of 1973, based on date codes stamped on circuit boards, and also on integrated circuits within the machine. This machine is optioned with OPTION 002, which expands program memory to 1012 steps, and OPTION 004, which adds the thermal printer. The machine also has the 11210A Mathematics ROM pack, and the 11211A Printer Alpha ROM.
For much more detailed and comprehensive information on the HP 9810A
and other HP calculators, Dave Hicks'
Museum of HP Calculators
is considered by many (including myself) as the authoritative source for
information on Hewlett Packard calculating machines.