+Home | Museum | Wanted | Specs | Previous | Next |
Hewlett Packard 9825A Programmable Calculator
Updated 12/18/2021
The Hewlett Packard 9825A was HP's
high-technology replacement for the earlier
9820A. The 9825 carried on and
improved on many of the features and ideas that were introduced with the 9820.
In many ways, the 9825 is more a desktop computer than a calculator.
In fact, a document published in February of 1979 (over two years after
the 9825A was introduced) was entitled
"9825A/S Desktop Computer
Specifications", clearly stated that HP considered this machine
to be a computer rather than just a calculator.
Interior of HP 9825A with Top Cover and Keyboard Assembly Removed
Among its computer-like features, the 9825 is programmable via a high-level
language rather than the learn mode programming
methods used on earlier calculators. HPL, a language similar to the popular
BASIC language (HPL was often said to be "BASIC without the vowels"), is
the native language used to program the 9825. Another
very computer-like attribute of the 9825 is the ability to easily add
a pretty wide range peripheral devices to the machine; including a floppy-disc
drive subsystem that featured a filesystem with named files, as well as
printers, plotters, and the ability to interface just about anything else
via various interface modules such as 16-bit parallel interfaces, and a
Serial I/O interface.
The Back Side of the Keyboard Assembly
The 9825 also provides a built-in 16
column thermal printer, a magnetic cartridge tape drive, a built-in 32 column
LED dot matrix alphanumeric display, and a full QWERTY layout keyboard.
All of these characteristics combine to create a machine that truly blurs the
line between a calculator and a computer. Remember, though, that this
machine was introduced during the time when microcomputers were just
becoming available. While the 9825 was significantly more capable than
any of the early microcomputer systems such as the MITS Altair,
Processor Technology SOL, Apple II, and Commodore PET,
it was considerably more expensive, at a base price of nearly $6,000, putting
it out of reach of most early computer hobbyists. However, compared to the
cost of an equivalent minicomputer system, a maxed-out 9825 system was a
serious bargain. While perhaps not as fast, nor having quite the level of
I/O expansion of a minicomputer system, the machine had tremendous capability
for a device that sat on a desktop versus consuming the good part of a
6-foot tall rack that a minicomputer would come in.
The 16-Bit Hybrid CPU Module
Even though early single-chip microprocessors like the Intel 4004 and 8008
were available in 1976 when the 9825A was introduced, Hewlett Packard
used their own superior technology to provide calculating equipment that was
"Best of Show" when it came down to performance, reliability, and capability.
The 9825 uses a multi-chip LSI hybrid module for its Central Processing
Unit(CPU). This hybrid module consists of three main LSI chips
(Math Unit, I/O Processor, and Main Processor Control) combined on a
ceramic substrate with gold interconnect traces along with a number of
smaller support chips for interfacing the CPU to the outside world.
The whole assembly is packaged together with an integrated heat sink
to dissipate the heat from the NMOS-based logic chips inside.
This combination of chips works together to form a full 16-bit CPU,
with an instruction set and register organization similar to that of
HP's first minicomputer, the
,
which was the first 16-bit commercial minicomputer on the market when it
was introduced in 1966. HP also continued its tradition of
innovation by building the 9825 in a truly modular fashion, for ease of
service, and also to make the machine easily field-expandable. Most
of the main circuit boards in the machine are interconnected by a
ribbon cable backplane. The boards are mounted on a clever hinged
arrangement, that, by virtue of the flexible ribbon cable backplane, allows
the boards to be swung up and away from each other while still allowing
the machine to operate. This made service and troubleshooting much easier,
and did not require things like extender boards as were required on
traditional backplane-based systems. The main Read-Only-Memory(ROM) code
that makes up the 9825A's operating system is located in a plug-in module,
allowing easy field-updates should they be necessary.
This plug-in module also allowed for different operating systems to be run
on the 9825A by simply swapping the module. A different ROM module
was available for the HP 9825A that provided a BASIC
(Beginners All-Purpose Symbolic Instruction
CCode)-language operating system instead of the HPL language OS that
was the default operating system for the 9825A, although finding this
module is next to impossible today, as HP management ended up mandating
that HPL be the officially supported language for the 9825.
The 32-Character 5X7 Dot Matrix Display
As a calculator, the 9825 operates in a similar manner to its predecessor,
the 9820. The machine operates in full algebraic mode, meaning that
math problems are typed into the machine as pretty much as they would be
written on paper. The keyboard includes a numeric keypad area with dedicated
keys for the four basic math functions, along with parenthesis keys.
The math expression evaluator follows the standard mathematical order
of precedence, with division and multiplication performed before addition
and subtraction, with parentheses used to override the precedence
rules. Parentheses can be nested to nearly any level, though any
expression must fall within the 80-character line length limit that the
machine imposes. The 9825 has a comprehensive set of mathematical functions,
most of which are accessed by including a keyword representing the function with
the argument to the function following the keyword, enclosed by parentheses.
For example, to calculate the sine of 45 degrees, the user would
type in SIN(45) and press the [EXECUTE] key to have the result calculated
and displayed. The printer can be used to keep a printed log of calculations
when enabled via a keyboard press-on/press-off key. The machine calculates
results to between 13 and 14 digits of accuracy. The reason that the
accuracy varies is that the 9825 represents numbers internally as binary
floating-point numbers. This representation of numbers is much more like
the way that computers handle numbers than calculators. Calculators
generally represent numbers in BCD(Binary Coded Decimal), which is
a way of coercing binary numbers to behave more like decimal numbers.
BCD has limitations, though. BCD representation is more suited
to the hard-wired electronics of early calculators, being
easier to translate from internal form to a displayed human-readable
number, and also requires less complex logic to manipulate the
numbers internally. Being as the core of the 9825 is a true general
purpose computer with a full 16-bit word length, the floating-point binary
representation is much easier to represent and process, however, the
translation between binary floating point and a human-readable number
results in a dynamic range that doesn't relate directly to a fixed number
of digits of accuracy. In BCD-based calculators, the numbers involved in a
problem can determine the time it takes to solve the problem. In many of
my other pages, you'll note that I mention the time it takes to solve
the all-nines divided by one problem. The reason this test is used is that
on a BCD-based calculator, such a problem gives a notion of the speed of
the machine. BCD calculators perform math similar to the way we do on
paper, just faster. As with humans performing math, bigger numbers in
a problem take longer for us to figure out. In the all-nines benchmark,
the result is obtained on a BCD calculator by repeatedly subtracting
the divisor from each digit position (starting at the most significant digit)
until an overdraft occurs, keeping track of how many subtractions occur,
until all digits of the divisor have been processed. The larger the digits
of the dividend, the more subtractions are required, and the longer the
calculation takes. In the case of floating-point binary math, the numbers
are represented in a much more computer-friendly form, and most basic math
operations take a relatively consistent amount of time no matter the magnitude
of the operands.
Profile view of HP9825A
When it comes to programming, the 9825
is significantly easier to program than earlier HP programmables. With
the HPL programming language, it is possible to write much more complex
programs without getting bogged down in the details of RPN stack management
and memory register allocation, and keeping track program step number branches,
just a few of the tedious things that programmers of earlier calculators
had to deal with. On the 9825, variables are stated by name (e.g.:
A through Z), expressions are evaluated in algebraic form, branches are
referenced by name, and memory is allocated dynamically and transparently.
Entering a program is simply a matter of typing in the program statements
followed by the [STORE] key. Once a statement is entered and the [STORE]
key is pressed, the syntax of the statement is checked, and if an error
found the machines beeper chirps and an error code is displayed. If the
line of code passes muster, the statement is translated into an internal
representation, and is then stored in program memory. The 9825 provides
a nice set of functions for editing programs, including listing out the
program on the printer, scrolling through a program on the display,
as well as insert and delete line functions and character editing within
a given statement.
An example of a ROM Pack for the 9825A
The base 9825A provides basic scientific
calculator functions along with the ability to run HPL programs. With the
addition of ROM(Read Only Memory) packs that plug into four slots across
the front edge of the machine beneath the keyboard, the capabilities of the
machine can be extended. These ROM modules extend the language of the
9825 to provide access to additional capabilities, as well as providing
code to talk to external device interfaces. Examples of the additional
functionality that can be added via the ROM cartridges are array and matrix
manipulation operations, character string functions, functions for accessing
data from a floppy-disc subsystem, and functions for driving external output
devices such as plotters and printers.
An example of an Interface Pack for the 9825A (16-bit Parallel I/O)
Three plug-in slots on the back panel
of the machine provide space for plugging in interface packs that provide
the electronic interface to external devices such as printers/plotters,
floppy disc subsystem, and general purpose I/O ports. HP provided a number
of interface packs which allowed the 9825 to be connected up to just
about any type of digital control system. With such interfaces, the
9825 could be used as a process control system, a data acquisition
and processing system, or just about anything else that needed an
intelligent programmable control system.
The exhibited 9825A is equipped with Option 002, which bumps the
base RAM from 6,844 bytes to 23,288 bytes of storage for program and data.
Optional ROM packs include the String/Advanced Programming ROM Pack, which
adds character string handling and other advanced functions to the HPL
language; the Matrix ROM pack, which adds array and matrix manipulation
functions; and a Plotter-I/O ROM Pack, which provides functions
which allow plotters and other types of I/O devices to be connected
to the 9825. This exhibited 9825A hit the end of the production line and was
ready to ship out on 10/28/1979.
Over time, there were a number of different versions of the 9825 that
were introduced. About two years after the 9825A was announced, the
9825B was introduced. There had long been complaints from customers
about the so-called "cricket" keyboard of the 9825A, which proved to be awful
for touch-typists to type on and also had reliability issues where the
frequently used keys would get mushy feeling. The exhibited machine
has this problem with the [EXECUTE] key, one of the more frequently-used
keys on the keyboard. Thankfully, the 9825B replaced the low-cost
cricket keyboard with full-travel key-switches made by respected keyboard
manufacturer Cherry. This change made the 9825B a pleasure to type on, and
also made the keyboard last virtually forever. Along with changing out
the keyboard, the 9825B also dispensed with the slot on the side of the
machine for plugging in the Operating System ROM. Instead, the ROM
was contained on one of the boards in the backplane. Another issue that users
had with the 9825A/B machines was that in environments where
the 9825 was serving as the controller for complex process control or
automated test environments, they would exhaust the machines' maximum memory
capacity of 28K bytes(or 32K bytes if you removed all of
the extension ROMs from the machine). In response to this, HP's engineers
came up with a rather complex add-on board that would allow the
user-accessible RAM capacity to be doubled to 64K, without sacrificing any
of the ROM expansion packs. This version of the 9825 was designated the
9825T. It was possible to field upgrade a 9825B to a 9825T by adding
the memory controller board (which also contained the additional RAM) and
updated ROMs to plug into the main RAM/ROM board to allow the OS to be
able to address the additional RAM.
For much more detailed and comprehensive information on the HP9825A
and other older HP calculators, Dave Hicks'
>Museum of HP Calculators
website provides a wealth of detailed and interesting information.
Another great site to visit to learn of the history and
development of the 9825 is Steve Liebson's
HP 9835
website that goes into great detail of the development of the 9825, with
much of the information gleaned from folks that were involved in the creation
of this amazing computing machine.