Central Processing Unit
The Hewlett-Packard HP 9831 is a BASIC-language desktop computer introduced in mid-1977.
I am interested in finding any 9831 machines, ROMs, manuals, documents
or other material, including information on the BPC processor.
If you have any such equipment or documentation, please
send me an e-mail!
The 9831 is very similar in mechanical and
electrical design to the 9825 and nearly identical software-wise
9830 desktop computer.
In fact, most of the internal parts are prefixed with 09825,
meaning they were originally designed for the 9825 computer.
For instance, the keyboard assembly is 09825-66537.
The 9831 BASIC operating system is incorporated into a slide-in ROM
cartridge. It can replace the 9825A operating system and allow
the 9825 machine to behave as a 9831.
There were two different keyboards available for the 9831A:
the "chicklet" style as pictured above, and a full-travel style
The HP 9831A is a desktop computer that can be used as either a stand-alone device
or with peripherals in an integrated computing system for industrial, commercial
and scientific applications.
One of the main features of the 9831A is its programming language, the powerful
BASIC (Beginner's All-purpose Symbolic Instruction Code). Because BASIC is a
commonly known computer language and is similar to English, it's easy to learn and
apply to programming skills.
To increase the 9831A's capabilities, certain commands have been built in to handle
alphanumeric string variables, advanced programming techniques, and input/output
operations. In addition, you can work with up to 286 simple variables, 26 one- or
two-dimensional arrays, and string variables which are limited only by the available
memory space. Extra features like these provide you with greater programming
To further enhance the 9831A's capability and at the same time simplify programming
even more, you are provided with 24 user-definable Special Function keys (12, plus
shift) which can be used to represent text, functions, or entire programs. Three
line editing keys and 4 character editing keys allow you to insert, change, and
delete characters and lines as well as provide other programming debugging aids.
Another special feature of the 9831A is the error message. If you make a mistake,
such as mistyping a statement while programming, the word ERROR, a specified
error number, and the line number in which the error occurred will appear on the
light-emitting diode (LED) display. Each error message is also accompanied by a "beep".
Built into the 9831A is a 2-track tape cartridge drive. The storage medium, a
high-density rapid-access tape cartridge, records up to 250,000 bytes of information
and also features automatic verification after recording.
Other physical features of the 9831A include a 32-character LED display, a
typewriter-link keyboard with upper- and lower-case alphanumerics, 3 input/output (I/O)
slots for peripheral interfaces, and 4 read-only memory (ROM) slots.
The 9831A comes standard with 7162 bytes of read/write memory all of which are
available for your use because the BASIC language interpreter is hardwired into the
machine. In addition, the memory can be expanded up to 31,738 bytes.
The 9831A also allows flexible system expansion to meet your application's needs.
You can choose from a variety of peripherals and software packs to configure a
truly personalized desktop computing system.
The 9831 (and 9825) use a three-chip central processing unit.
The three chips are:
- Binary Processor Chip (BPC)
- 59 byte-addressable instructions
- similar to HP 2100 and HP 21MX instructions
- Two general purpose 16-bit registers (A and B)
- Can address 32,768 bytes (16th bit indicates indirect addressing)
- Program Counter P
- Stack Pointer
- Input/Output Chip (IOC)
- 12 instructions
- two stack pointers (C and D)
- Two-level vector interrupt processing
- Direct Memory Access (DMA)
- Extended Math Chip (EMC)
- 15 instructions
- Binary data
- Binary Coded Decimal (48-bit words, 12-digit mantissa)
The processor set is discussed in the June 1976 issue of the Hewlett-Packard Journal.
HP bundled the 9831 with two 8-inch disc drives, an impact printer
and a custom metal desk into a product called the 9896.
From the January 31, 1977 issue of Computerworld:
Management System Built for Businesses On HP CPU Addition
PALO ALTO, Calif. - The HP 9896A business information management system from
Hewlett-Packard Co. (HP) was designed for use by small- to medium-sized
manfacturers, distributors and service organizations.
A standard system includes the 9831A desktop system, also announced; a
built-in cartridge drive; two flexible disk drives; a character impact printer;
and a desk workstation.
The unit can accomodate two additional floppy disks, HP said.
Software offered with the system includes accounts receivable, accounts
payable, payroll, inventory control and general ledger, the company noted.
The system is available with the standard 8K bytes of memory or can be
expandede up to 32K bytes.
The CPU itself can work with plotters and CRTs and features a built-ino
bidirectional tape drive with a 90 in./sec search-and-rewind speed. Average
access time is 6 sec, the company stated.
The 9831A CPU costs $7,200; the total business information management
configuration costs $18,700, HP said from 1501 Page Mill Road, Palo Alto,
To increase its fundamental capabilities, specific commands have been built into
the 9831A, as previously mentioned. But, to further extend language capability
and peripheral control even further, 2 plug-in ROMs have been designed for use
with the 9831A - the 98218A Flexible Disk ROM and the 98223A/B Matrix/Plotter ROM.
The 98218A ROM contains statements and functions to fully regulate the 9885M
Flexible Disk Drive. The 98223A/B ROM provides statements for matrix and array
operations and for graphic output.
The A version of the 98223 contains statements necessary to control the 9862A
Plotter, whereas the B version of the 98223 includes statements for the 9872A Plotter.
Additional commands and capabilities were available by loading "binaries"
There was a binary to add direct memory manipulation commands
like PEEK and POKE.
There was also a binary (called UNSECURE) that would unlock protected programs, allowing it to be
| Dynamic Range:
|| +1099 to +10-99, 0,
-10-99 to -1099
| || |
| 9831A read/write memory:
|| 7162 bytes |
| Opt. 001:
|| 15,354 bytes |
| Opt. 002:
|| 23,546 bytes |
| Opt. 003:
|| 31,738 bytes |
(will not operate with 98223A/B ROM)
| || |
| Cartridge memory:
|| 250,000 bytes
(varies with file length)
| Typical access rate:
|| 14,300 bytes/s|
| Average access time
|| 6 s |
| Search speed
| 2286 mm/s (90 in./s) |
| Read/write speed:
|| 559 mm/s (22 in./s) |
| Transfer rate:
|| 2750 bytes/s |
| Typical rewind time:
|| 19 s (end to end) |
| Typical erase time:
|| 40 s (1 entire track) |
| Tape length:
|| 42.67 m (140 ft) - 1 track |
| Number of tracks:
|| 2 |
| Error check:
|| check sum |
| File length:
|| programmable |
|| HP Part Number
| Operating and Programming Manual
|| 09831-90000 |
| System Test Booklet
|| 09831-90031 |
| BASIC Reference Book
|| 09831-90010 |
| Test cartridge
|| 09831-90035 |
| Peripheral Control Manual
|| 09831-90020 |
| Utility pack
|| 09831-10000 |
| Dust cover
|| 9222-0495 |
| Tape head cleaner
|| 8500-1251 |
| Special Function Key overlays (5)
|| 7120-4802 |
| Vinyl carrying case
| Blank data cartrdige
| Software binder
| HP Part Number
| 98032A (16-bit Parallel I/O Interface)
|| Transfers information between 9831A and 9830A/B Computers
|| 9862A Plotter Interface
|| 9863A Paper Tape Reader Interface
|| 9864A Digitizer Interface
|| 9866B Thermal Line Printer Interface
|| 9869A Hopper Card Reader Interface
|| 9871A Output Printer Interface
|| 9877A External Cartridge Interface
|| 9878A I/O Expander
|| 9881A Character Line Printer Interface
|| 9883A High Speed Tape Reader Interface
|| 9884A Paper Tape Punch Interface
|| 9885M/S Flexible Disc Drive Interface
| 98036A (Serial Interface)
|| Provides bit serial communication between 9831 and asynchronous EIA RS-232-C devices
The following HP devices were officially supported with the 9831A:
| HP Part Number
|| Paper Tape Reader
|| Thermal Line Printer
|| Thermal Printer
|| Hopper Card Reader |
|| Character Impact Printer |
|| Plotter |
|| External Tape Memory |
|| I/O Expander |
|| Line Printer |
|| Tape Punch |
|| Flexible Disc Drive (Master) |
|| Flexible Disc Drive (Slave) |
The 9831 only appeared in the 1978 catalog. The catalog copy read:
The HP 9831A is a destop computer that can be used as either a stand-alone device
or with peripherals in an integrated computing system for industrial, commercial
and scientific applications.
One of the main features of the 9831A is its BASIC language. Because BASIC is a
commonly known computer language and is similar to English, it is easy to learn.
At the same time the 9831's BASIC is powerful enough to meet the demands of experienced
To facilitate programming, string variables and general input/output commands have
been built into the 9831. These enable the machine to accept and manipulate alphanumeric
information and also provide for basic peripheral operations. In addition there are
24 Special Function keys (12 with shift, 12 without) which can be used to represent
text, functions or entire programs with keystroke simplicity.
For fast storage and retrieval, a two-track tape cartrdige drive has been built into
the 9831A. The storage medium, a high-density, rapid-access tape cartridge, records
up to 250k bytes of information and also features automatic verification of data.
The 9831A comes standard with 7,162 bytes of read/write memory and is expandable to
31,738 bytes. Other features of the 9831 include a 32-character LED display, a
typewriter-like keyboard with upper- and lower-case alphanumeric and three I/O slots
and four ROM channels for extending language capability and peripheral control.
- Alphanumeric keyboard
- 32-character LED display
- Built-in tape cartridge drive
- Hardwired BASIC language
- Add-on read-only memory (ROM)
- Expandable read/write memory
- Up to 12 significant digits
- Full trigonometric capability
- Boolean algebra capability
- 12-24 Special Function keys (shift included)
- Broad range of peripherals
The 9831A was conceived in early 1976 as a business product for
the new Fort Collins Division (FCD), a spin-off of the
Calculator Products Division (CPD), which made the 98xx-series desktop
calculators (9810, 9820,
followed by the 9835 and 9845).
The 9831A project was known internally as "Bucs 77" because it was
intended to generate immediate revenue in 1977 for the newly-created FCS
while engineers worked to complete the new HP 200 small business computer.
The idea was to port the 9830A BASIC firmware to the new 9825A hardware
(which was 11 times faster than the 9830A)
and then port the existing 9830A business applications
(General Ledger, Accounts Payable/Receivable, etc.) to this new platform.
The 9830A, introduced in 1972,
had a discrete, 16-bit bit-serial processor with a CPU architecture based on the HP2100 series of computers.
The 9825A was introduced in November 1975 and used a three-chip CPU set, again based on the 2100 series.
At an assembly source code level, the 9830A and 9825A CPU's were about 90%
compatible - the exceptions being the I/O and math. This compatibility
was crucial, because it allowed the port to go very quickly. The 9830A
BASIC code, minus math and I/O, was combined with the 9825A math and I/O
code to produce the 9831A. (The rest of the 9825A HPL code was not used).
The project team consisted of three people: software engineer Art Boyne,
a part-time mechanical engineer (relabeling, and removing the 9825A
strip printer), and a summer intern to do firmware quality assurance (QA) testing. It was
introduced in about September or October 1976, so the project took only
about 9 calendar months to complete. Except for the strip printer and
the replacement ROM drawer and plug-in option ROMs, the 9831A and 9825A
hardware was identical, and the 9831A ROM drawer could be directly used
in a standard 9825A.
The initial product only supported the internal cartridge tape drive
and an external 9885A 8-inch floppy drive for mass storage. Given that the
9830A BIMS (Business Information Management System) also supported the
7900A hard disks, and customers wanted the speed and capacity of a hard
disk, a follow-on project was started almost immediately to add support
for the new 7905A, 7906A, 7910A and follow-on hard drives to the 9831A.
This involved going to California to time-share on the one-of-a-kind
wire-wrap breadboard of the hard-drive-to-HPIB interface board.
This follow-on project was completed in late 1977 or early 1978.
Included in the 9830A development were some binaries to format and repack
the floppy and hard disk drives. The UNSECURE binary was also produced
but never released to customers (customers had to send their programs
to Hewlett-Packard to be "unlocked").
The tools used for the 9831A were an home-brew assembler/linker that ran
on an HP 3000CX machine with 4 7900 4.7MB fixed/4.7MB removable cartridge
disk drives and a single 120MB removable disk pack disk drive. There was only
one 3000-series for all of CPD and FCD R&D - and the performance
was horrible. On a good day, it took 5 minutes to read a 1,000-line
source file into the editor. On a bad day, it was more than 20 minutes.
Part of the reason was there were three different development projects going
on at the time: new features for the 9825A, the 9831A, and the 9845A.
In particular, the 9845A development was in a compiled language modeled
after the SPL system programming language on the 3000. The compiler
for the 9845A SPL was written in compiled BASIC, and was so large it
sent the 3000 into complete disk thrashing because it couldn't fit into
physical memory. When someone launched a compile, the hard disk light
went solid "ON", and you could basically walk away for 30 minutes.
Output from the assembler/linker was sent to paper tape and carried to
the development system. Engineers used electric erasers fitted with a wheel and
posts to spool up the paper tape which would be in a pile
on the floor from the paper tape punch. Heaven help you if you stepped
on the tape while spooling it and tore it!
The debugger was a single-step tester called the "Nelson tester"
since it was developed by a engineer, Lloyd Nelson. It had two rows
of alphanumeric LED's, toggle switches and a few buttons. Later,
it was replaced by a 9825A with a customer PC board that made debugging
easier - but this newer version was too late for the 9831A.
Once the code was finished, two different 2100 computers (one
running DOS, the other RTE) were used to generate a hard ROM mask file image (the
ROMs in the 9825/31/35/45 were 4K hard mask parts). These machines were
only available after regular business hours as their primary function
was IC layout. The tricky part of this process was that you had to
tell the generating program what address the ROMs were to respond to:
to do this, you had to take bits 15-11 of the address, reverse them,
and give it to the program. On one ROM revision, Art got bits 14-10 instead,
so the ROM responded to the wrong address, and had a disaster one week
before release! The team did a very fast mask turn (3 days from finding the
problem to new masks), then had a fab disaster where they forgot to put
the nitride passivation on the replacement parts. Ah, the bad old days
before EPROMs and flash memory!
The hard disk option for the 9831A came out about a year after the
initial 9831A release. This required new system ROMs and an additional
front plug-in ROM. It added support for the 7905A and 7906A hard drives,
and had provisions to work with the then-future 7910A/12/14/25A drives
(never officially supported, but were supposed to work).
One publication that carried the announcement of the 9831 was
the May 1977 issue of IEEE Spectrum magazine.
Desktop Basic computer has 8k bytes of memory
The HP-9831A desktop computer, priced at $7200, can be used as a stand-alone,
Basic-language computer or linked with peripherals to form systems. It comes
with 8k bytes of memory, which is expandable to 32k bytes in 8k-byte increments.
Basic language commands for string variables, input/output for peripheral
control, and "advanced programming II" operations are built-in.
The computer features a built-in, bidirectional tape drive with an average
access time of 6 seconds. "Strings variables" programming permits handling
of string arrays as large as the total memory of the machine. Input/output
to a plotter and flexible disks and other peripherals are provided.
The keyboard has 12 special-function keys that, with a shift function, can
handle 24 different operations. The 32-character LED display provides
upper- and lower-case alphanumeric readout and covers the full ASCII
Hewlett-Packard Co., 1501 Page Mill Rd., Palo Alto, Calif. 94034.
The May 1977 COMPUTER magazine also carried an announcement:
HP offers Basic-language desktop computing system
The September 1976 issue of SIGNAL magazine carried a
truncated version of this announcement.
The new 26-pound HP 9831A desktop computer can be used as a stand-alone,
Basic-language computer or linked with peripherals to form systems, according
to its manufacturer, Hewlett-Packard.
The HP 9831 comes with 8K bytes of memory, expandable to 32K bytes in 8K byte
increments. Basic language commands for String Variables, Input/Output,
and Advanced Programming II operations are built in. String Variables
programming permits handling of string arrays as large as the total memory
of the machine. Optional matrix/plotter flexible disk ROMs, providing such
standard matrix operations as inversion, transportation and multiplication,
and two-dimension array operators, are also available.
The desktop computer can work with master and slave flexible-disk drives
for additional, fast-access memory; plotters; thermal- and character-impact
printers; and CRT terminals. It features a built-in bi-directional tape drive.
With 90-ips search and rewind speed and a 22-ips read/write speed, the tape
cartridge drive gives an average access time of 6 seconds.
Most software pacs available for use with the HP 9830 desktop computer are
directly compatible with the 9831, and program transmission between the
two can be accomplished in seconds, according to the company.
The 9831's keyboard has 12 special-function keys that, with a shift function,
can handle 24 different operations. The keys can accomodate complete programs
and can serve as immediate-execute keys, call keys for subroutines, and as
Error locations are identified by a cursor in the display. Fixed- and
floating-point formats can be set by the user from the keyboard. The
32-character LED display provides upper- and lower-case alphanumeric readout,
covering the full ASCII character set.
The 9831's tape cartridge has two tracks and can hold 250K bytes with a
2750 byte-per-second transfer rate. Using the cartridge, the operator can
perform rapid memory-load and record operations.
The 9831 comes with 8K bytes of internal read/write memory, which is
expandable in optional 8K increments to a total of 32K bytes. Four plug-in
slots in the front of the computer provide space for optional ROMs.
Through as many as three interface cards, the 9831 will work with standard
Initial customer deliveries of the new 9831A desktop computer, priced at
$7200, were scheduled to begin in March.