last update 09 Oct 98 / greg goebel / public domain / s80_over
* The HP Series-80 desktop BASIC controllers -- the HP-85, HP-86, and HP-87 -- were extremely popular products through the 1980s, and though they are not only all obsolete but out of support life, questions on them still arise.
* The first member of the family was the HP-85 -- later referred to as the HP-85A, to distinguish it from the HP-85B, although the label on its front said simply: HP-85. It was introduced in January, 1980. This was a desktop computer with a 5" CRT, a tape cassette drive, a thermal printer, and four I/O slots (it had no built-in HPIB or RS-232). The machine was driven by a custom processor -- essentially a glorified calculator chip.
This CPU was very unconventional; it had an 8-bit multiplexed data / address bus, and all the memory and peripherals had address latches with built-in incrementing logic ... if the CPU sent out an address over the address / data bus, the memory system would latch it and increment it every time the CPU accessed memory; if the CPU was accessing consecutive addresses, it didn't need to issue an address after the first.
The CPU, like the calculator chips it was derived from, operated directly on BCD numbers -- which meant that computations could be performed without many of the roundoff errors that must be carefully bypassed when working with binary math. This led to problems with customers who later upgraded their programs to other platforms.
The CPU ran at a clock frequency of 625 kilohertz ... that's right, kilohertz, not megahertz. However, the system was so efficient that its performance was very impressive for such a slow CPU.
The 85A could be programmed in BASIC and assembly language. The BASIC interpreter was well-thought-out, and provided a simple unified environment for program editing and system control; BASIC programming was efficient enough to ensure that only a few hard-core customers ever wrote in the relatively crude assembler.
The 85A contained 16 kilobytes of RAM, and RAM coul be extended to a total of 32 kilobytes (and no more) with a 16 kilobyte RAM module (82903A) that fit into one of its four I/O slots.
The 85A could also accept ROM cards in its I/O slots. Each ROM card (82936A) could accept up to six ROM plug-ins; each ROM plug-in was a matchbox-sized plastic package that snapped into one of the sockets on the ROM card. Since each ROM was "bank-switched" (the CPU turned them on or off as needed) a user could plug in as many ROM cards as needed (well, up to four, anyway).
These ROMs enhanced the capabilities of its BASIC interpreter. The most important were:
Other less-used ROMs included the MATRIX ROM (00085-15004) and the ASSEMBLER ROM (00085-15007). The 85A also had a wide variety of interface cards:
There were also a few other, more specialized interfaces, including a Centronics card (82929A), a Factory Data-Link Interface (82966A), and a Speech-Synthesis card (82967A).
Note that use of some of these cards required the appropriate ROMs; for example, to access a disc drive using the HPIB card required the Mass-Storage ROM; to access an instrument with the same interface required the I/O ROM; to access a printer over the Centronics interface required the Plotter/Printer ROM; and so on.
The 85 also had a number of software development tools available, although they are relatively little-used. The System Monitor card (82928A) fit into an I/O slot and provided debugging capabilities (single-step, trace, breakpoints). The Programmable ROM card (82929A) plugged into an I/O slot and allows a user to run programs that have been loaded into EPROMs; the card could accept one or two 4-kilobyte or 8-kilobyte EPROMs. An option (001) provided PROM development software.
* There were some odd variations on the HP-85A. The HP-85F was just a bundle of an HP-85A with an I/O card; the HP-83 was a (highly unsuccessful) stripped-down version of the HP-85A without printer and cassette drive.
* The success of the HP-85A encouraged Corvallis to diversify the product line -- and in February 1982, the HP-87A was introduced. (Like the 85A, the 87A was actually marked "HP-87".)
This machine had a 9-inch diagonal CRT, with 32K of RAM, and a built-in HPIB. It did not have a built-in printer or mass-storage, but instead used an HPIB printer or HPIB disc drive. The enhanced BASIC interpreter for the HP-87 added built-in HPIB mass-storage and printer-control capabilities so adding ROMs was not required for those purposes.)
The system was redesigned to allow for a larger memory address space, using an EMC (Extended Memory Controller) chip; a user could plug in up to four RAM cards. (The 87A could use 64-kilobyte RAM cards -- 82908A -- or 128-kilobyte RAM cards -- 82909A; it could not use the 85A's 16-kilobyte RAM card.) A part of the extra RAM could configured as a high-speed RAM disc, using an Electronic Disk (EDISC) ROM (00087-15012).
The 87A was BASIC-compatible with the 85A, with some catches: an 85A BASIC program would run on the 87A -- except that the display was different and graphics might not look the same. Binary (machine-language) subprograms would not port.
Both machines used the same interface cards, but 85A plug-in ROMs did not work on the 87A -- so the 87A (and its descendants) had its own set. (HP-85 ROMS had white lettering; HP-87 ROMS had orange lettering.)
The I/O ROM for the 87 was 00087-15003, the Advanced Programming ROM is 00087-15005, the Matrix ROM was 00087-15004, and the Assembler ROM was 00087-15007.
The 87A had built-in printer-control capabilities, but not plotter-control (or printer-graphics-dump) capabilities; so the 85A's Printer-Plotter ROM is replaced by a 00087-15002 Plotter ROM. (The 87A also supported some database control routines through the little-used MIKSAM ROM - 00087-15011.)
* The Series-80 family was diversified still further with the introduction of the HP-86A in July 1982. This was essentially an 87A built in a highly modular fashion and more RAM. (Again, the machine was marked "HP-86", not HP-86A.)
The 86A used an external monitor (either 9-inch -- 82912A -- or 13-inch -- 82913A -- note that these monitors had nonstandard timing and off-the-shelf monitors did not work), and had ports for connecting to a Centronics printer and two specialized "dumb" floppy drives (the 9130).
The 86A had an internal interface to control the printer and the two floppy drives; this internal interface looked like an HPIB as far as the system software was concerned (although it only drove the three custom ports). This interface had interface select code "7", and other interfaces needed to be given some higher select code.
The 86A had 64 kilobytes of RAM, and was completely software-compatible with the 87A.
The introduction of the HP-87XM followed the 86A in August, 1982. This machine was exactly the same as the HP-87A, except that it had 128 kilobytes of RAM.
* In June of 1983, Corvallis simultaneously introduced the last Series-80s, the HP-86B and HP-85B.
The HP-86B was for all intents and purposes an HP-87XM in an HP-86 configuration; except for the external monitor, it was functionally identical to the 87XM. The 86A's dedicated printer and floppy-drive interfaces were replaced with an HPIB port.
The 85B was an extension of the 85A; both machines looked exactly the same (except for the label "HP-85B"), but the 85B had 64 kilobytes of RAM, plus built-in Mass-Storage, EDISC, and I/O ROMs. It still didn't have built-in HPIB, however. The 85B was completely software-compatible with the 85A; it used the same ROMs and interfaces.
While the 85B had 64 kilobytes of RAM, only 32 kilobytes could be accessed as program memory; the other 32 kilobytes were accessed as EDISC. The 85B could use the same 64K and 128K RAM cards as the HP-86 and 87, although, again, they were used as EDISC and NOT program memory. The 85A's 16 kilobyte RAM card did not work with the HP-85B.
* One of the things that made the Apple II a significant success was the availability of CP/M coprocessor cards that allowed it to use software for the popular CP/M operating system. HP decided to imitate this idea and designed their own CP/M coprocessor card for the 86/87.
The 82900A CP/M system consisted of a card that contains a Z-80 microprocessor and 64 kilobytes of RAM, and floppy discs containing CP/M operating system software. This card could only be plugged into an 86/87, not an 85; with this card plugged in, and CP/M software loaded, the 86/87 became a "slave" processor for the CP/M module, which was then in control of the system. This was a cute idea but it didn't prove particularly popular.
The UCSD (University of California at San Diego) Pascal P-System was a Pascal-based operating system ported to the 86/87 that ran on the native hardware; it did not use a coprocessor card. Unfortunately, the performance and integrity of the P-System proved unsatisfactory and the P-System was quickly abandoned.
* Series-80 was designed to run Amigo-protocol HPIB disk drives; as most of these drives slowly became obsolete, Corvallis decided to design a ROM to allow Series-80 to work with the newer HPIB SS-80 drives.
The EMS ROM (00085-15013 for the 85, 00087-15013 for the 86/87) allowed Series-80 to use SS-80 discs - like the 9122, 9153, 9154, 9133D/H, and 9134D/H.
* There was a wide range of BASIC and assembly-written software for the S80, for data communications, calculator-like games and engineering "pacs", text editors and presentation-graphics software, even the original VISICALC spreadsheet. There was also a Series-80 User's Library that had many different user-contributed programs.
* Series 80 hardware was also used by other divisions and was shipped with instruments and specific software in bundled systems. In one case, the electronics of an 85A were built into a spectrophotometer.
Of particular interest was the 9915 industrial computer. This was a "boxed" version of the 85 for industrial control purposes. Like the 85, it came in an "A" and a "B" version, equivalent to the 85A and 85B respectively, and was, with a few restrictions, software compatible with the 85. The 9915 was built by Boeblingen.
* All the Series-80 computers were obsolete by the end of the 1980s and now they are all out of support life. Such hardware as is still operating is breathing its last and the only real question is where to go from there.
Unfortunately, the Series-80 products were unique and there were no follow-ons. Their BASIC dialect was not the same as the HP BASIC known as RMB that ran on Series-300s and is now manifested in RMB/UX and HP BASIC for Windows; and the Series-80 cards were not compatible to the equivalents run on Series-300.