HP-85 PRM-85

The HP-85 comes with a Tape Drive, a Thermal Printer, a CRT display, 16k of RAM, and Basic in ROM. Out of the box, there is no external I/O, but it does have a 4 slot expansion bus that can accept modules, of which there are many.

The expansion bus not only allows additional I/O to be added but also additional RAM and ROM. Probably the most important I/O to be added is a HP-IB interface to support connection to many peripherals and instruments.

The addition of ROMs allowed command set enhancements and in many cases the use of additional I/O or peripherals needed enhanced commands. eg the use of disk drives requires the addition of a mass storage ROM and an enhanced mass storage ROM. A plotter requires the addition of a Plotter/Printer ROM.

ROMs were sold individually and were plugged into a ROM tray that plugged into the expansion bus.

The exercise of finding the individual ROMs and the ROM tray requires deep pockets and patience. Noting that providing code in ROMs is fairly easy to do, it was a matter of time before an alternative solution appeared.

The HP computer community is awesome and some years ago a couple of gents (Bill Kotaska with support from John Shadbolt) developed an expansion module, PRM-85, that emulates a ROM tray.

I had gathered an HP-IB and serial cards, and I had a serial plotter and an HP-IB printer. I also wanted to be able to use HPDrive to emulate disk drives via the HP-IB interface, including SS/80 protocol. To achieve this, i needed the following ROMs:

  • EDISK (85B version – supports Extended Mass Storage
  • Mass Storage (85B version) – supports Extended Mass Storage
  • Extended Mass Storage – Supports SS/80 protocols
  • Input/Output – Supports HP-IB and Serial interfaces
  • Plotter/Printer – Supports plotter peripherals

All the ROMs have been captured and can be loaded into the onboard ROM.  I contacted Bill in 2018. They had done a small run the previous year and had one left, which I purchased for much less than the combined cost of the original tray and ROMs. The details are here. ROM info is here.

The “85A without EMS” uses the first ROM socket on the PRM-85. It uses the 8 predefined addresses below:

Jumper J10 Decoded
Contact#   ROM Address  ROM Name
---------- ------------ --------------------
  17       232 (E8 Hex) Advanced Programming
  18        40 (28 Hex) Assembler
  19       224 (E0 Hex) Service-85
  20         8 (08 Hex) Program Development
  21       208 (D0 Hex) Mass Storage
  22       176 (B0 Hex) Matrix
  23       192 (C0 Hex) Input/Output
  24       207 (CF Hex) Extended Mass Storage

But for the 85 to use SS/80 disk storage requires the “85A with EMS” Super ROM. This Super ROM replaces the Program Development ROM (08H) with the 85B EDISK ROM (D1H) and the Mass Storage (D0H) with the 85B Mass Storage ROM (also D0H). The address D1H requires DIP Switch 1 as it is not one of the predefined addresses.

Jumper J6/9/10 J6=1-8, J9=9-16, J10=17-24
Contacts  ROM Name
--------  ---------------------
 9 to 17  232 (E8 Hex) Advanced Programming
10 to 18  40 (28 Hex) Assembler
11 to 19  224 (E0 Hex) Service-85
 4 to 12  209 (D1 Hex) EDISK (85B version) - set address with first DIP Switch
13 to 21  208 (D0 Hex) Mass Storage (85B version)
14 to 22  176 (B0 Hex) Matrix
15 to 23  192 (C0 Hex) Input/Output
16 to 24  207 (CF Hex) Extended Mass Storage

The second ROM slot on the PRM-85 is available. It can take up to a 27C512 for 8 x 8k slots.  I had a 27C256 so that was 4 slots.  Practically, though, the only addresses left were the predefined 08H and the second DIP switch.

Active Enable  ROM Image Start Address (Hex) 
Signal (pin)   2764 27128 27256 27512
------------- ----- ----- ----- -----
Enable 0 (9)   XXXX  XXXX  XXXX  0000
Enable 1 (10)  XXXX  XXXX  XXXX  2000
Enable 2 (11)  XXXX  XXXX  XXXX  4000
Enable 3 (12)  XXXX  XXXX  XXXX  6000
Enable 4 (13)  XXXX  XXXX  0000  8000  =>Prog Dev (08H)
Enable 5 (14)  XXXX  XXXX  2000  A000  =>Plotter/Printer 
Enable 6 (15)  XXXX  0000  4000  C000
Enable 7 (16)  0000  2000  6000  E000

I could add the Plotter ROM (F0H) using the DIP switch and pop the Program Development ROM (08H) in next to it.

Jumper J7/8 J7=1-8, J8=9-16
Contacts        ROM Name
--------        ---------------------
4  to 20(J10!!) 8 (08 Hex) Program Development
5  to 13(J8)    240 (F0H)  Plotter/Printer  - set address with second DIP switch

I think i could probably add a couple more ROMs to the second EPROM. They could not be used at the same time as the Plotter/Printer ROM. The link from J7-5 to J8-13 would need to be changed and the second DIP switch changed to the appropriate address.

ROM Name               Number Switch settings
---------------------- ------ ---------------
Advanced Programming 2  231   11100111
Matrix 2                177   10110001
Plotter/Printer         240   11110000

Leave a Reply

Your email address will not be published. Required fields are marked *