| +Home | Museum | Wanted | Specs | Previous | Next |
Hewlett Packard 9830A Programmable Calculator
Updated 12/6/2025
The 9830A was yet another model in the continuum of the 9800-series. The term continuum is probably a bit misleading, as HP pulled a 'blitzkrieg' on the high-end desktop calculator market by announcing the next generation (after the history-making 9100A & 9100B machines) 9810, 9820, and the 9830 all at nearly the same time in mid-1972. The 9830 strayed a bit from the 9810 and 9820, in that it more closely resembles a computer in functionality, while the 9810 and 9820 fall more in the classification of high-end programmable calculators. Though the 9830 can act as a powerful algebraic-entry calculator, the computer-like capabilities become apparent when the powerful programming capabilities of the built-in BASIC programming language interpreter are leveraged. In many ways, the HP 9830 is one of, if not the first, true Personal Desktop Computers ever marketed. While the 9830 shares many design similarities with the 9810 and 9820 calculators, it is somewhat larger and significantly heavier than its siblings, mostly due to the increased complexity of the machine. The 9830 gains some size and weight as opposed to the 9810 and 9820 by virtue of the larger amounts of ROM, RAM, and input/output support circuitry necessary to provide the function of what, prior to the 9830, used to exist only on large and expensive mini-computer systems. The 9830 is also significantly more expandable than the 9810/9820, with five user-accessible ROM cartridge slots, four internal slots for additional ROM firmware slots, and four external interface slots. While the 9830 does not have a printer built in like the 9810 and 9820, a port on the back exists for plugging in an external 80-column high-speed 80-column thermal printer (Model 9866A) that mounts on top of the 9830's cabinet, making for a nicely-integrated and amazingly powerful computing center.

HP 9830 with top dover removed (Keyboard toward bottom of photo)
The 9830 shares the same mini-computer-derived 4-board CPU used in the 9810 and 9820 calculators. The CPU board set creates a sixteen-bit, bit-serial, microprogrammed processor with a clock frequency of 8 MHz, that has a repertoire of 75 instructions. The architecture of the processor is similar to that of HP's 2100-series minicomputers that the company was successfully marketing at the time. The 2100-series minicomputer architecture was augmented with additions to support performing arithmetic operations in Binary Coded Decimal(BCD) numeric representation. The processor operates on data serially, one bit at a time versus the sixteen-bit parallel operation of the 2100-series minicomputers, making it considerably slower than its minicomputer counterparts, but plenty fast for a desktop calculating machine, which was HP's intent for marketing the 9830A, although in the end, it truly was more a computer than a calculator.

Main ROM Card with Firmware for HP9830 Calculator/Computer
The "operating system" firmware for the CPU is contained on a Read Only Memory(ROM) card plugged into the backplane of the machine, and can be augmented by the addition of user-added ROM cartridges or internally added ROM boards. The maximum total ROM the machine can address when fully expanded is 16,384 sixteen-bit words, or in more familiar terms, 32K-bytes. The ROM chips used in the 9830 were custom developed and fabricated by Hewlett Packard, as at the time, no commercially-available ROM IC'S had the necessary capacity required. The ROM chips each contain 512 words of eight bits each, for a total of 4,096 bits of read-only storage in each chip. A total of 28 of these chips combine to form 14,436 bytes of read-only memory that contains the operating firmware of the 9830A. User-installable ROM modules were available that added more functionality to the BASIC programming environment, including additional character string handling functions, vector and matrix handling functions, enhanced Input/Output facilities, and a special ROM cartridge that turned the 9830 into a computer terminal capable of connecting to larger mini and mainframe computers. With the terminal ROM cartridge, programs for the larger computers could be composed and edited offline using the RAM on the 9830 as a text editor storage area, and when the program was fully entered into the 9830's RAM, it could be uploaded to the larger computer through the terminal program. This saved valuable online computer time by allowing programs to be entered and edited offline on the 9830, then easily transmitted to the online system over directly-wired or dial-up modem communication lines.

HP 9830A ROM module compartment (with 3 of 5 ROM slots full)
The 9830's Random Access Memory(RAM) is used for working data for the
machine's overhead requirements, as well as for storing user variables, programs,
and program state information. The RAM storage in the calculator is implemented using
Intel 1103 1,024x1-bit dynamic MOS RAM chips. The Intel 1103 was the first commercially available
dynamic random access memory chip. Dynamic RAM chips store data as tiny electrical
charges in what is effectively a microscopic capacitor. The nature of these tiny
capacitors is that over time, the charge drains away, resulting in the memory
forgetting what was stored. In dynamic RAM storage, a periodic cycle of memory accesses
is performed to refresh the charge in the memory cells, so that the data will be retained.
In the case of the 1103 RAM chip, the memory must be refreshed at least once every 20 milliseconds (0.020 seconds)
in order to assure that the data will be retained. The microcode for the CPU assures that a refresh
cycle is performed at least once every 20 milliseconds by inserting the refresh cycle between CPU
instructions to minimize the impact of the memory refresh on overall CPU throughput.
The base 9830A is provided with 8,192 bytes
of Random Access Memory, of which 3,520 bytes is available for user program space, with the rest
dedicated to storing system state, buffer areas, symbol tables, and storage for other system overhead
needs. The base RAM is expandable to a maximum of 16,384 bytes through addition of a second
fully-populated RAM board, providing
15,808 bytes available to the user for programs. While this might seem like a trivially small amount
of RAM by today's standards,
the designers of the 9830's firmware worked very hard to make the
code as memory efficient as possible. As a result, it's quite possible for the user to write fairly complex BASIC
programs and have them fit within the confines of the limited (as compared to
today) RAM available in the 9830.
To address the seemingly ever-expanding need for more
memory (a problem that still exists with today's computers), third party manufacturers sprung up that provided
higher-density memory cards for the 9830. HP responded by introducing
a follow-on machine, the 9830B, that fully-populated the base RAM board with memory chips, at an only slightly
increased price over the base 9830A, in order to help counter the competition created by these third
party memory board manufacturers.
Base RAM memory card for the HP9830A
A rather obvious change from the earlier machines in the 9800-series is the
full QWERTY-style keyboard found on the 9830. The keyboard design of the 9830 uses traditional key-switch
modules as opposed to the more complex contactless transformer
field-sense switch design used in the 9810 and 9820 calculators. Because the 9830 has
so many more keys than its stable-mates, the cost of implementing the
field-sense style keyboard was likely too high to use for the 9830's keyboard. A full alphanumeric keyboard
was needed because in the BASIC language, spelled-out keywords describe the operations to be performed rather than
single key presses as on a calculator. For example, to display the result of the mathematical
expression "4 X sine (22.5) ÷ 2 X (arctangent(0.66895) + 1)" on the HP 9810, which uses
reverse polish notation for problem entry, the key sequence would be: The LED Display Circuit Board of the 9830A
The same 4-character 5X7 dot-matrix LED display modules as used in the
HP 9820A are used for the display on the 9830, however, the number of characters
that are be displayed is doubled to 32 characters.
The display on the 9830 will scroll horizontally to handle lines up to 80 characters in length.
The 9830 also dispenses with the magnetic card reader used for program and data storage on the 9810 and 9820
calculators, in favor of a rather sophisticated digital magnetic tape cassette drive.
This drive uses data-grade cassette tapes similar to lower-quality tapes used in cassette audio tape recorders.
A single cassette tape can store approximately 64,000 bytes of data.
The cassette is formatted into blocks of fixed length, in bytes, specified by the user when the tape
is formatted. Each block represents "file" that can be
referenced by file number inside BASIC programs and commands. A file can contain a saved BASIC program,
or data that can be read and manipulated by a BASIC program. The cassette drive was deemed necessary because
of the considerably memory storage capacity of the 9830 versus the 9810 and 9820. The size of programs and data
possinle on the 9830 simply would not fit conveniently on magnetic card(s). Also, programmatically accessing
large volumes of data on magnetic cards would require manual insertion of numerous magnetic cards during
the course of a program run, making the larger capacity, file-oriented cassette tape drive essential.
A closeup of one of the four-character LED display modules used in the 9830's display panel
The 9830 can operate in conversational mode
with the user, much like an algebraic-entry desktop calculator, but rather more sophisticated.
Expressions can be simply typed into the keyboard as BASIC expressions, then
the [EXECUTE] key pressed for the result of the calculation to be displayed.
For example, to calculate the area of a circle with a radius of 10.25 inches,
one would type in:
When writing a program in BASIC, program statements are entered with a line number at the beginning of each
line of program, and at the end of each line, the [END LINE] key is pressed. The statement is then
analyzed for syntax, and if all is OK, the statement is stored into program memory in line number order.
For example, a simple program to calculate and display the square root of ten integers provided in a DATA
statement, the program would be entered as:
The BASIC programming language of the 9830 made it a natural for
jobs like automated test system controllers, data acquisition and reduction processing,
laboratory instrumentation controllers, and other applications
where control of external devices is required. A wide range of peripheral
devices were made by HP for connection to the 9800-series calculators,
including printers, plotters, instrumentation bus controllers(e.g., HP-IB, HP's version of the
General Purpose Interface Bus, aka GPIB), parallel data ports, RS-232 serial data interfaces, digitizing tablets,
external cassette tape drives, and even large capacity hard-disk systems that could be shared among multiple
HP 9830 systems. Third party manufacturers seized the opportunity to create peripheral
devices for the 9800-series calculators, which resulted in an even wider
variety of external device interfaces, including interfaces such as analog to
digital converters, digital to analog converters, and relay switching modules.
With such a wide range of I/O capability, the 9830 became a very popular
centerpiece in a large and diverse set of application environments.
The Cover of the Simplified 9830 Operating Instruction Manual The 9830 executes BASIC programs considerably slower than an
equivalent BASIC program running on a timeshared minicomputer system, but the fact that it is a complete system
in itself makes it far more cost-effective than using a dial-up timesharing service.
A simple counting loop will execute just over 100 counts per second, perfectly adequate for all but the most
demanding of calculations. When using the machine as a calculator,
basic evaluating basic equations return virtually instantaneous results. If
a complex full line (80 characters) expression is entered, the machine
may work for up to a second before delivering a result. While
running programs or performing calculations, the display is blanked. In order to display output
of a program during execution, a pause statment is provided that will temporarily suspend execution of
the program for a defined period of time. During the pause period, the display is re-enabled so that
results can be observed in the display. Of course, a program can also display results, then ask for
user input to continue. When the input statement is encountered, the display will be enabled, allowing
the user to see what is in the display, then when ready to continue, the [END LINE] key can be pressed
to continue execution of the program.
The 9830A in base configuration had a list price
of $5,975 at introduction, and the various user-installable ROM
modules sold for $485 each. The RAM expansion (option 275), which
doubled the base amount of system random access memory cost $1,475 if ordered with the machine.
As configured, the exhibited 9830A would have sold for a suggested retail price of $7,460, which would be
roughly $55,800 in 2025 dollars. This just goes to show that in the realm of computers, unlike many other
things, you get many orders of magnitude more power in a consumer computer today, for orders of magnitude
less money. That's not to mention that the smartphone you may have in your pocket as you read
this has vastly more compute power, memory capacity, data storage capability and overall functionality
than anyone could ever have dreamed of sitting in front of a Hewlett Packard 9830A back in 1973.
At that time, the 9830A seemed to be rather a miracle of modern technology.
The exhibited 9830A was built in
the mid-1973 time-frame based on date codes and stamps on some
of the circuit boards. It was purchased originally by Tektronix, Inc.,
in Beaverton, Oregon. One wonders if perhaps this 9830 was purchased
by Tektronix for corporate intelligence reasons; for Tektronix engineers to find out first-hand
information about the competitor's equipment. At the time
the 9830A was introduced, Tektronix was working on their own programmable calculator,
which became the the Tektronix Model 31, to compete
with HP and other calculator makers in the high-end programmable calculator marketplace. It's not clear if
that was the real reason this machine was purchased, but it's interesting
to think about. Tektronix had an Instrument Pool, into which instrumentation
would be placed that had either served out its original purpose, or happened to be
commonly used instruments in engineering areas. Any business unit could check out
items from the instrument pool on an as needed basis.
The exhibited 9830A apparently served out whatever purpose it was purchased
for, and was relegated to the Instrument Pool. The machine still has the
Tektronix Instrument Pool tags in place. This machine was eventually retired from
service in the Instrument Pool, and put up for sale at one of the many
"fire sales" that Tektronix set up, whereby employees could purchase retired
or obsolete equipment for pennies on the dollar.
For much more detailed and comprehensive information on the HP 9830A
and other HP calculators, Dave Hicks' fantastic
Museum of HP Calculators
is a definite must-visit site. Click the link to visit Dave's comprehensive exhibit on the
Hewlett Packard 9830.

The RAM chips are the purple ceramic packages with gold lids
Note the unpopulated spaces for ICs on the board.
The optional expanded RAM would have these spaces populated
with RAM chips to bring the memory board to its optional full capacity of
16,384 bytes. As shown, the
board contains 8,192 bytes of RAM
".66895 [ARC] [TAN] [ENTER] 1 [+] 2 [X] 22.5 [SIN] 4 [X] [÷]"
The same calculation on the HP 9330 would be entered as:
DISP 4*SIN(22.5)/2*(ARCTAN(0.66895 + 1))
with the DISP command instructing the calculator to display
the result on the 9830's built-in dot-matrix alphanumeric LED display.
This method of entering math problems involves more key presses, but makes it much easier by allowing
the equations to be entered as they would be written on paper rather than having to translate them to
Reverse Polish Notation or some other calculator equation entry form. Use of a full keyboard also provides
much more flexibility in that functions can be spelled out as keywords rather than having to have
a dedicated key (or special shifted key functions) for each math function.
The 9830's BASIC language provides many built-in functions provided for mathematical and character string
manipulations.


3.1416*10.25^2
followed by a press of the [EXECUTE] key to display the result of 330.06435.
10 FOR X=1 to 10[END LINE]
20 READ Y[END LINE]
30 DISP X,Y,SQR(Y)[END LINE]
40 NEXT X[END LINE]
50 DATA 17, 24, 29, 44, 121, 144, 482, 1170, 2948, 3351[END LINE]
60 END[END LINE]
If a syntax error is detected while a program is being entered,
the machine will display an error message indicating what is wrong with the statement, and allow the statement
to be edited to correct any mistake made. Once a program has been entered,
simply typing RUN and pressing the [EXECUTE] key will cause the program
to begin executing. If any errors are detected during the execution
of a program, the machine stops execution and displays an error message,
for example:
ERROR 10 IN LINE 20
A slide-out reference card located under the keyboard provides a list of the
error numbers and their meaning for easy user reference.
