Peripherals‎ > ‎Terminals‎ > ‎

HP 2640 series

Starting mid seventies HP manufactured a series of computer terminals denoted the HP 2640 series.

The series shared the same physical appearance but differed in the internal components. 

Screen Mold
Above is our HP2640B after restoration. The most common problem with these is that the glue that keeps the etched front glass in place is starting to deteriorate. White spots appear on the screen and a reddish liquid start seeping out from between the glass and the CRT. A lot of information widely on the net already which discusses how to deal with this. 

In this case we used a fish fillet knife and slowly worked through the glue bit by bit. Then everything was cleaned carefully and the glass was reattached using double adhesive tape.

We also did some research on the glue that had been used. According to most sources it was PVAc (or often also called PVA) which is PolyVinylAcetate. PVAc is soluble in among others some alcohols and most esters. But not at all soluble in waster. A trial was made using ButylAcetate which dissolves the glue quite rapidly.

The inside

The HP2640 series is as with all old HP equipment very well designed and easy to maintain and service. To the right is the big power supply. The only switch mode PSU that has the clock frequency for the main chopper transistor derived from a crystal oscillator. The reason for this is that the same crystal also clocks the main CPU of the terminal itself.

The terminal is very modular and different models had various different boards. Extending the memory of the terminal was just a matter of inserting a new memory board and configure it correctly.


As usual HP equipment is all gold plated. Not just a good from electrical standpoint but it looks nicer too!

Dumps of the 1816-0612 and 1816-0613 character generator ROMS. These are AMD 27S82 Bipolar PROMs, but it is not possible to find any datasheet online for these. However the pinout is for the most part like an ordinary 2716 or 2732 EPROM. At least it was possible to read the contents out these by setting my trusty old Data IO 29B to use the 2732 footprint. The actual data is then in the first 1024 bytes.

Dumping the firmware

Since the firmware of the HP 2640B was not found any where and no one claimed to have it I thought it was a good idea to dump the firmware. Unfortunately it turned out that the ROM chips were quite unusual Electronic Arrays EA4900. There is not much to find on internet regarding the EA4900, but apparently the Mostek MK28000 is an equivalent part. As can be seen to the left the pinout of the MK28000 (and EA4900) is nothing like a normal EPROM. And in addition to this is has no ground potential. Just a -12 V and +5 V input to the Vgg and Vss pins respectively. The ground reference is synthesized internally!

Rather than trying to build a component adapter and fiddling with these (sensitive devices) I built a short cable that attached the backplane bus of the HP2640 to a logic analyser. The theory was that some time during either the start up of the terminal or when pressing the TEST key on the keyboard the terminal firmware would compute the checksum of itself and thus verify its integrity. This appeared to be the true and then it was just a matter of exporting the traces generated by the logic analyser and post process them on a computer to have the firmware file itself in Intel HEX format. This is thus the combined content of the EA 4900 chips marked 1818-0259, 1818-0173, 1818-0174 and 1818-0175. More information on various HP2640 firmware ROMs can be found here.

Analyzer harness

Fixing two bad 2102s

The self test invoked by pressing the TEST key on the keyboard not only calculates the checksum and prints all characters on the screen. It also displays a status line indicating the setting of various dip switches inside as well as the amount of RAM memory installed. The first digit is a number between 1 and 8 and is corresponding to the amount of RAM in kBytes. 

This machine had 1 kbyte of RAM on the combined firmware and RAM board and 4 k RAM on a second board for a total of 5kBytes. I was thus expecting a 5 as the first digit. But I got only 4! Some RAM memory has to be bad! Since I had the logic analyzer attached the idea was to find where in the startup or self test sequence it decides the memory size. 

2102 changed
As can be seen both the lower bits were faulty. A quick check in the schematics give what 2102 chips to replace and then it worked just fine as can be seen on the picture of the selftest. The first digit in the string "50<802" indicate 5kByte of working RAM memory!
Selftest OK!

Diagnostic Download mode

It is possible to download binary code into the terminal by invoking the sequence ESC & b. Immediately the terminal responds with LOADER and then receives codes in a format very well specified in this article. The example in the article has been tried on a HP 2644 but does not appear to work on a HP2640B. The terminal looks up and a RESET is required to get it back to normal operation. The code makes a call to address 315 octal which is a HLT instruction in the dump made above. It certainly explains why it is not working!

There are also a tennis game for the HP 2644. But likewise it will hang when downloaded. Most likely the HP2644 and HP2640 terminals are too different.