Central Processing Unit

Plug-In ROMs










  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 to the 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 shown below.


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 flexibility.

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
    • Flags
  • 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.

Additional Floppies

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, Calif. 94304.

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. It gives you the capability for calling up a file by its preassigned name, instead of a complicated code.

The 98223A/B ROM provides statements for matrix and array operations and for graphic output. The matrix commands are particularly helpful in speeding up large data manipulations. For example, the 9831 will invert a 20 x 20 matrix in about eight seconds. Plotter commands simplify control and programming effort.

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" from tape.

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 LISTed.


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

Item 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 98025A
Blank data cartrdige 9162-0061
Software binder 9282-0563

HP Part Number   Option   Description
98032A (16-bit Parallel I/O Interface)   030   Transfers information between 9831A and 9830A/B Computers
98032A   162   9862A Plotter Interface
98032A   163   9863A Paper Tape Reader Interface
98032A   164   9864A Digitizer Interface
98032A   166   9866B Thermal Line Printer Interface
98032A   169   9869A Hopper Card Reader Interface
98032A   171   9871A Output Printer Interface
98032A   177   9877A External Cartridge Interface
98032A   178   9878A I/O Expander
98032A   181   9881A Character Line Printer Interface
98032A   183   9883A High Speed Tape Reader Interface
98032A   184   9884A Paper Tape Punch Interface
98032A   185   9885M/S Flexible Disc Drive Interface
98036A (Serial Interface)   031   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   Option   Description
9862A   031   Plotter
9863A   031   Paper Tape Reader
9864A   031   Digitizer
9866A   031   Thermal Line Printer
9866B   031   Thermal Printer
9869A   031   Hopper Card Reader
9871A   031   Character Impact Printer
9872A   031   Plotter
9877A   031   External Tape Memory
9878A   031   I/O Expander
9881A   031   Line Printer
9884A   031   Tape Punch
9885M   031   Flexible Disc Drive (Master)
9885S   031   Flexible Disc Drive (Slave)

HP produced two memory upgrade kits to increase the amount of available RAM:

Kit Number   Board Number   Size
98221F   09825-66522   8K
98222F   09825-66523   16K

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 programmers.

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, 9830, 9825, 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).

Art Boyne 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 character set.

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 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 typing aids.

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 HP peripherals.

Initial customer deliveries of the new 9831A desktop computer, priced at $7200, were scheduled to begin in March.

The September 1976 issue of SIGNAL magazine carried a truncated version of this announcement.


Plug-in ROM
HP 98218A
9885 Flexible Disk ROM


BASIC Language plug-in ROM for use in the 9831A

Comments to Webmaster
Last updated June 12, 2017

Thanks to Art Boyne for his recollections on the development of the 9831A.