Peripherals‎ > ‎Terminals‎ > ‎

DEC VT100

VT100

The VT100 is maybe somewhat of an industry standard. The command set to control it was imitated by almost everyone. It was the first DEC terminal with a detached keyboard. Internally it was powered by an Intel 8080 microprocessor. The same terminal chassis was used in VT103, where Digital incorporated a dual TU58 tape drive and a small QBUS backplane. There was also the VT125 which essentially is a extra board inside the VT100 which handles REGIS make computer graphics possible.

VT100 PSU
Powering up

Since it had been many years since last power up of this terminal we did a thorough checkup of the power supply. A variac was connected to the 110 VAC input and the small transformer for the
Primary side
+12 V control bias voltage was by passed. The bias voltage was supplied via a small variable bench supply. A small load was put on the +5V output and then the input AC vas increased slowly. The PSU was switching perfectly delivering the nominal voltages as specified. There were some slight smell from a power resistor (R27) in the snubber network but since everything seemed well it was re-installed in the terminal. The installed R27 is 1kOhm rather than 500 Ohm as in the schematic to the right.



With everything connected the full terminal was powered up. After a while there were a quite dim and unfocused cursor on the screen. And the smell from the resistor in the PSU was even more significant. Since the focus was bad all the potentiometers on the monitor board were lubricated with some Deoxit D5. 

Fusible Resistor
In yet another VT100 power supply, a resistor had gone open circuit. The parts list have it as R22,  2W 1 Ohm FUSE. It turns out that this is a fusible resistor. A kind of protection device. The resistor is wire wound.


The next power up were not that successful. Almost immediately there
Flybacks
were a small amount of smoke leaking out from the middle of the flyback transformer. This is not a good sign. Flyback transformers are hard to come by these days. But I was lucky. A fellow collector in the US has a small store of these and sent me one. The one to the left is the original which is broken and the one to the right is the new replacement.

Ring test

So how can you test a flyback without frying the Horizontal Output Transistor (HOT)? By applying the ring test! This is accomplished by applying a square wave signal through a small capacitor, 3.3nF for example, on the primary side of the transformer. For example from the calibration output of the oscilloscope. A good flyback should produce a decaying at the positive and negative transitions of the square wave. If there is a shorted turn there is almost no ring at all. It is possible to simulate a short-circuit turn by putting a wire around the ferrite core of the flyback.

Flyback ring OK!
Flyback short circuited


















To the left above is when the flyback is fine and the trace to the right shows when there is a turn short-circuited in the flyback and that it has to be replaced.

Monitor board

Monitor schematic


Monitor board

The monitor board connects to the flyback and the neck of the CRT. Unfortunately the fried flyback also caused the Horisontal Output Transistor (HOT) to fail. A short circuit between Base and Emitter. The BU407D (Q414) was replaced with a slightly better rating BU406D. The HOT short circuit also took out the small 2A fuse on the board.

As a precaution before applying power again I checked all the capacitors with a LCR meter. One of them showed a slightly low lvalue but still within the +/- 20 % tolerance.

With both HOT and fuse replaced and the new flyback installed I wanted to bring up the monitor carefully not to cause new damage to any components so connected the variable bench supply to the the section of the board that is related to the horisontal section. This was possible by lifting the R478 1 ohm power transistor. The starting up the terminal and slowly increasing the voltage from the bench supply.
CRT running at 10 V
At around 5V there was a faint narrow picture on the screen. At 10 V and some tuning of the height, vertical linearity and brightness potentiometers there were a quite good display on the screen, the current from the bench supply stayed at levels which was reasonable and there were no strange smells coming from anywhere (except from the power resistor in the PSU).



VT100 control board
Terminal control board

The terminal is controlled by a a CPU board which contain a Intel 8080 (under the AVO daughter board) chip, some memory chips, firmware in four ROM. a character generator ROM and two custom TTL logic arrays for handling video output. Aside from that there are plenty of standard TTL circuits.

This board also have the option AVO (Advanced Video Option) board which include for sockets for ROMs. These ROMs can override the existing ROMs on the main board. The with connector is used for VT125 option where the RS-232 signal is intercepted by a second board before the it is sent onwards to the VT100 board. The VT125 board can then capture the special REGIS command set used for graphics drawing.

Documentation

The user manual is very good to have when setting up since it is very hard to remember which setting in the setup menu that do what. Then when trying to repair the thing the schematics is of course very useful and the technical manual.

Repairing VT100 boards

In a pile there were a few boards that needed checking. A few were all OK, but three of them had all sorts of problems. The first had a rather peculiar looking display when pressing the SETUP button.

Strange SETUP screen

Looking at the screen it seemed that bit 1 was always 0 as where it should read "1234567890" it instead read "1014545890". Another strange thing was that the screen showed 82 characters rather than 80. There were one extra "}" and a "p" on screen. After checking the schematics and the manual I understood that the "}" was supposed to be the line terminator character and it was supposed to be 0x7f rather than 0x7d. Since the board would halt if there were a problem in the main data RAM chips it couldn't be the source of the problem. Also if this was actually a character encoding ROM problem then the line termination wouldn't be affected.

The schematic suggested that a number of latches, a bus transceiver and two line buffer RAMs was suspect. Some comparative measurements with the OE of the RAM together with the different data bits suggested that E11, low line buffer RAM was bad. The 2111 chip was replaced with a new and the machine worked perfectly 

Board number two

The second board was completely dead. The first thing was to replace the socketed chips with known good chips from a working donor board. After replacing three of four ROM chips we had instead of having ROM fault as indicated by the keyboard lights a startup we now had a MAIN RAM fault as indicated by the keyboard LEDs.

Debugging main memory


At least one of the six Synertek made 2114-2 RAM chips was bad. But which one? Replacing them all wasn't a very good idea since I only had 3 2114 chips available. I decided to use my logic analyzer attaching a IC clip-on onto each 2114 chip in turn using the CS signal as clock. I first tried on a working board, arming the analyzer and then hit the power button. There were a sequence of accesses to the RAM starting from 0x3FF down to 0x000. Then reading out 'A' from 0x000 to 0x3FF. Doing the same thing on the faulty board showed that when testing the last pair of RAM chips the system halted as it just started to read out data from the RAM. But which was one was really bad. It wasn't that easy to see from the trace. I took a chance and replaced one of them which turned out to be the correct one! Now the second board also was happy!

VT100 Basic board ROM config
Interesting note here is that the faulty RAM and ROM chips were all made by Synertek in 1980 and 1981. These ROM chips are of course almost impossible to find today. A solution would be to burn EPROMs. But the Basic Video board only support either ROMs 2kbyte ROMs with a peculiar CS configuration shown to the right or 24 pin 8kbyte ROMs or EPROMs. The 24 pin 8kbyte EPROMs are also very hard to find today. A solution would be to build an adapter. Of course someone had already done that. This very nice article is someone as part of Retrochallenge 2014 modified the original VT100 software to include a screen saver. As part of this project he developed a small adapter board which he made available at OSH park. The VT100 ROM contents is available here and I converted it to hex to be able to program it in my old programmer. Something that turned out difficult and only after 7 tries it was fully programmed.

Interestingly the author of this article had to mount the adapter on the AVO board to get the correct sense for the chip select signal. While studying the schematic of the VT100 Basic Video Board I discovered jumpers W2 and W3 by which you can set it to either active high or active low. Perfect!

VT100 basic board with adapter board and moved jumper.

This works just fine. No need for the AVO board. Just move the jumper from W3 to W2 and all is set!

Broken AVO board

One AVO board that we had here was not working very well. It was indicated by weird looking display when entering the SETUP menu. The AVO board provides extra character buffer memory so that the terminal can handle 24 lines in 132 character per line mode. It also adds attribute memory so that the terminal can support blinking, bold etc text. 

So how can the AVO be tested in a  more comprehensive way to be able to do better analysis of teh problem? I discovered a tool called vttest. It it is a simple unix tool that can be compiled on standard Ubuntu Linux and if enable a serial port as a linux tty it could be run directly. The way terminals are handled as changed in Linux over the years and I learnt that with Ubuntu 16.04 using systemd the correct way of starting a getty is this.

Enable serial terminal in Ubuntu 16.04

$ sudo systemctl start serial-getty@ttyUSB0.service


Running vttest on a broken AVO board gave this:

Broken AVO board

While a working AVO should look like this:

Working AVO board

Since the problem is over the whole screen and it is not very likely that all four attribute RAMs had gone bad at the same time it boils down to the line buffer RAM for the attributes. Yet another 2111 256 x 4 RAM to be replaced. And yes it worked just fine!


Fixing the last board

The last board also had problems in the display pointing towards the line buffer RAM again. This time there were a number of "@" on the otherwise blank screen. Probably one bit was constantly high for certain locations. That also meant that the line terminator logic would not be affected.

Measuring with the scope probe around the same area as with the first boards showed that just by touching on pin with the scope probe the display looked different. This time I replaced E17 which is the high nibble line buffer RAM and then the board worked just fine!

Strange modification board

While going through the various VT100 boards I came a cross one with a very strange add on board.


The board is manufactured by Digital. The ribbon cable to the left was connected to one of the four main program ROMs while the ribbon cable to the right was connected to the empty character generator ROM socket. The small black wire was connected to jumper W1.

Back
As the board had two 2709 EPROMs it required both +12V and -5V in addition to regular +5V. The current loop cable is supplying +12V and -12V and the signals are looped through the board. A zener diode and a resistor creates -5V from the -12 V. There are also a 7402 and a 7400 logic  IC on the board. The function seems to map the lower range of the first ROM space to the original ROM while the upper 1k range is mapped to the EPROM.




















What if the terminal refuses to communicate?

Before checking for broken EIA receiver and transmitter chips, check the STP connector. The STP connector is the big white connector thing which actually is a normally closed switch. If one of the connector elements are making bad connection it may cause communication to fail, maybe interrupting the data signals or like in my case the transmitter clock. Deoxit and some exercising of the connector made it work much better!