Tektronix 4010

The Tektronix 4010 series was a family of text-and-graphics computer terminals based on storage-tube technology created by Tektronix. Several members of the family were introduced during the 1970s, the best known being the 11-inch 4010 and 19-inch 4014, along with the less popular 25-inch 4016. They were widely used in the computer-aided design market in the 1970s and early 1980s.

The 4000 series were much less expensive than earlier graphics terminals, such as the IBM 2250, because no additional electronics were needed to maintain the display on the storage-tube screen; images drawn to the screen remained there until deliberately erased. This eliminated the need for computer memory to store the images, which was expensive in the 1970s.

The display series remained popular until the introduction of inexpensive graphics workstations in the 1980s. These new graphics workstations used raster displays and dedicated screen buffers that became more affordable as solid-state memory chips became markedly cheaper.

History
The Tektronix direct-view bistable storage tube was first used in the Tektronix 564 oscilloscope in 1963, and was first used for non-oscilloscope applications in the 601 monitor in 1968. A number of graphics terminals based on this tube and others from the 600-series were developed, including the Advanced Remote Display Station from MIT's Project MAC, and the KV8I (later, KV8E) from Digital Equipment Corporation using the 11-inch diagonal 611. These displays consisted of just the CRT and related basic electronics; it was up to software on the host computer to produce a display by driving the CRT signals directly.

Tektronix decided to enter the computer terminal market themselves, introducing the 4002 in 1969, and the updated 4002A in 1971. The latter sold for US$9400 1973, and required a US$150 host adaptor. These were similar to the earlier third-party terminals, essentially combining one of their storage tubes with the circuitry needed to decode instructions from the host and turn those into control inputs. However, the 4002 had the unique feature that only a portion of the screen was a storage tube, with a small section set aside for normal refresh-based drawing. This area was used for status messages and entering commands. As they did not include raster scan hardware or any form of memory, refreshing this area rapidly enough to reduce flicker was up to the host computer.

Starting in 1972, the 4002 was first supplanted and then replaced by the 4010. A number of changes and simplifications allowed these to be far less expensive, initially released at US$3950 1973 and another US$290 for a host adaptor. Other models in the 4010 series included the 4012 which added lower case characters, and the 4013 with an APL character set. These were implemented using plug-in boards that could be added to the base-model 4010 as well. In the 1980s, a version using a built-in RS-232 port and a number of missing features was released as the 4006, which was small enough to fit on a desk, selling for US$2995 1980.

The 4014 joined the line at US$8450 1974, introducing a larger 19-inch screen as well as a more an ergonomic layout. It had a wide range of new features as well, which made it much more effective in many contexts and became especially common in computer-aided design (CAD) use. The upgraded features became so widely-used that the 4014 series is sometimes considered to be a separate line from the 4010, or alternatively the canonical model for the entire family. The 4015 was a 4014 with the APL character set card from the 4013. The 4016, introduced in 1979, was a version with a 25-inch screen and a somewhat different mechanical layout to provide room for the much larger tube. It was much more expensive, with the base model selling for US$19500 1980.

A wide variety of peripherals were available that worked on some or all of these models. The first line, introduced with the 4010, included the 4610 Hard Copy Unit, an early graphics printer. This used a system in the monitor to scan the display line-by-line, which sent signals to the printer where a one-line-tall CRT duplicated the image on thermal paper. Normally selling for US$3550, a US$3950 version allowed the printer to be shared among four terminals. The printer adaptor could be pre-installed in the 4010, making it the 4010-1, and it came pre-installed on both the 4012 and 4013 which do not appear to have used the -1 notation to indicate this. The 4631 was a version of the 4610 with a sheet feeder and higher speed.

A properly equipped 4014 could also drive a pen plotter through an expansion card, including the GPIB-based 4662 Interactive Digital Plotter and 4663 C-sized version. Plotters offered color graphical output via colored pen selection, which could be embedded in the graphics data.

For storage, the systems could write out the data stream of characters as they were received from the host, allowing them to be played back locally to recreate the display. Storage options included the 4911 punch tape, the 4912 using cassette tapes based on a Sykes TT120 mechanism, and later added the 4923 based on the 3M DC300 digital tape system.

Other devices in the lineup included the 4901 and 4903 Interactive Graphic Unit, which drew crosshairs on the 4002 (this capability was built into the later models), and the 4951 Joystick. This hardware allowed the user to select any point on a display, and to input its coordinates to a computer, allowing support of a CAD system.

The 4010 series was also used as the basis for two self-hosted systems. The Tektronix 4050 series used the 4010 or 4014 with internal processors and a DC300 tape unit to produce a simple desktop unit. There were three models: the original 4010-based 4051 with an 8-bit processor, the 4052 with a 16-bit processor, and the 4054 which combined the 4014 screen with the 4052 logic. The 4081 was a version with an Interdata 7/16 minicomputer built into an office desk, which saw limited use. Tektronix continued selling the basic storage tubes to OEMs, the 19-inch version as the GMA101 and 102 (the former offering roughly twice the drawing speed) and the 25-inch as the GMA125.

Tektronix also sold a set of graphics software routines in FORTRAN known as PLOT10 that converted simple inputs like lists of numbers into a graphic display such as a chart. Another common solution was the DISSPLA software system, which was adapted to run on the 4010.

The command format for sending graphics to the terminals was very simple, and was soon copied by a number of other terminal vendors. This de facto standard for encoding graphical information was later ported to traditional video terminals using raster scan displays, although these generally offered lower resolution, perhaps half that of the 4010. A number of these emulations also understood the color codes from the Tektronix 4105 raster scan terminal, which added color to the original 4010 command set. This graphical data standard continues to be emulated by newer terminals to this day; NCSA Telnet and xterm can emulate the 4014.

Principles of operation
Conventional modern video displays consist of a series of images, or frames, representing single snapshots in time. When the frames are updated rapidly enough, changes in those images provide the illusion of continuous motion. Computer displays, where the image is generally static for extended periods of time (for example, a page of text), required a stationary, more-precise, flicker-free image, as compared to television displays available at the time. A modern solution is to use additional hardware and computer memory to store the image between each update, a section of memory known as a framebuffer.

In the 1960s, memory based on core was extremely expensive, generally priced in dollars or cents per bit. Solid-state memory was even more expensive, and could only be used for a handful of high-speed working storage registers in data processing hardware.

If one wanted to store a screen of text at 80 columns by 25 lines and using 7-bit ASCII, one would require 8025$7 bits$ = $14,000 bits$, making the price of the terminal prohibitive. The cost would be even more if the terminal needed to display graphics. For instance, a graphics terminal supporting 1-bit points (on/off) at $1,024$ resolution would require 1024768$1 bit$ = $786,432 bits$ of memory, likely more than the cost of the computer it connected to. One solution to reduce the amount of memory required was to represent the image not as dots, but straight-line "vectors". In this case, only the endpoints have to be stored in memory, and additional hardware draws between them to produce the display. A coordinate within that same 1,024 resolution space requires $10 bits$ (210), so if a display can hold 1000 vectors in total, it requires 1000 vectors × 2 ends × 2 coordinates per end (X and Y) × $10 bits$ = $40,000 bits$. The IBM 2250 graphics terminal used this solution, and sold for US$280000 1970.

Tektronix had originally developed their storage tubes in the late 1950s as a way to store images on oscilloscope displays for study, although the same system had already been used in radar displays. The basic concept used a conventional CRT layout, but with two sets of electron guns. One, the flood gun, provided a constant flow of low-energy electrons covering the entire screen, causing it to glow faintly. The second source, the write gun, resembled the normal gun of a black and white TV, and its beam was moved about on the display surface in the conventional fashion by using electromagnetic coils.

However, this write gun was set to a higher than normal energy. When its beam struck the screen, it caused an effect known as photoemission that expelled electrons from the light-emitting phosphors and towards the front of the display, where they were drained away by a thin transparent electrode. The "written" patch of the phosphor now contained fewer electrons than normal, giving it a positive charge relative to its surroundings. This caused more of the electrons from the flood gun to be continuously attracted to that spot, which kept it emitting an intermediate intensity of light. Thus, a complex image could be "stored" in the same light-emitting phosphors which made the image visible to the user.

Display capabilities and limitations
A display using this technique was instantly recognizable by the bright flash of the high-energy write gun beam as it rapidly moved about the display, "painting" the screen with complex lines and patterns. The stored image glowed brighter than the characteristic faint background glow of the entire display screen. The display was always monochrome, in three different brightnesses of "CRT green".

The storage tube technology was vulnerable to screen burn-in, as the continuous flow of electrons illuminating a stored image gradually degraded the light-emitting phosphors over a long period of time. To reduce the rate of display degradation, the hardware was designed to blank the electron beams after a period of inactivity on the screen. Software screensaver programs were not useful in protecting storage tube display screens from burn-in of images.

Also, complex and precise images would gradually become more diffused and blurry, as the stored charges on the phosphors slowly migrated and diffused away from their original locations. The only way to correct this gradual blurring was to erase and redraw the entire screen.

Because the display tube itself stored the image, there was no need for any sort of auxiliary graphics memory, greatly lowering the cost of the terminal. The 4010 cost $3,950, almost two orders of magnitude less expensive than IBM's competing graphics displays. This made very complex and detailed computer graphics practical for a much wider audience. The Tektronix approach also had the advantage that there was no limit to the number of vectors that can be displayed; one could simply keep adding them to a complex image, whereas a solution like the IBM terminal had a limited number of vectors it could refresh on its display. Early CAD systems made by companies such as Computervision took full advantage of the graphic storage capability, and were able to display arbitrarily complex designs without annoying flicker.

The main disadvantage of storage tubes was that once an image was stored, it could only be removed by erasing the entire image. This made such screens unsuitable for working with scrolling text, animation, or any other display where portions of the image were continuously changing. Some early CAD workstations employed both a video terminal to display frequently changing text, and a Tektronix display showing complex graphics images.

Tektronix introduced the write through concept for non-stored vectors, but with the terminal itself lacking any memory, the data had to be continually refreshed from the host computer. The communications speed of the connection between the terminal and host limited the number of refreshed objects that could be supported, and was often in the range of a few dozen graphic elements. Another disadvantage is that it required a brief interval for the image to "store" on the display screen, which limited the maximum speed with which the image could be drawn. Tektronix referred to this as the stored writing speed, and measured it in terms of vector-inches-per-second, with ratings between 1500 and 4000 being typical for their displays.

Mechanical layout
The 401x series physically consisted of a large CRT display sitting on top of a wheeled cart. The cart held most of the electronics in a vertical case at the back, which could be opened from the front to access various switches and jumpers, as well as providing access to the expansion cards. Inside the enclosure, expansion cards were connected via the Tektronix proprietary "Minibus" system, using a 36-pin card connector with an 8-bit data bus. In addition to the communications card and various enhancements, an optional "Desk-Top Mounting Kit" allowed the CRT to be placed on a desk, while the electronics cart was connected to it using a cable up to 10 feet away. The overall build quality of the Tektronix 4010 was excellent, with gold-plated boards of high-quality epoxy fiberglass material.

Interfacing
The 4010 used a Minibus card to handle communications with the host computer, and a wide variety of host interfaces were available. The 4014 terminal was normally shipped with the standard Communications Interface installed, offering an RS-232 connection, although only the most important connector pins were supported. Setup configuration was handled entirely by electrical jumpers, so there was no way for the terminal to change these settings while connected. As an alternative to the Communications Interface, the TTY Interface allowed the terminal to be connected to a 20-mA current-loop teletype interface, which was still widely used by mainframe computers of that era. Direct interfaces using proprietary serial or parallel connections were also available for most mainframe systems.

Text display
In alpha mode, the 4010 displayed 35 lines of 74 characters. The terminal was "dumb" by standards of the day, lacking various smart terminal features like addressable cursor positioning. The terminal also lacked any significant data buffering, and many slower operations could lead to data loss. For example, the carriage return took about 100 to 200 μs, and a screen clear operation much longer than that, on the order of a second. It was up to the host computer to delay further data to avoid it being lost during these refractory periods.

One peculiar feature was a second margin at the 35th character, allowing lines to be limited between the left side of the screen and that midpoint for margin 0, or that midpoint and the right side of the screen for margin 1. This was useful for mixing graphics and text, or displaying two columns of text. Switching between the columns was accomplished by moving to the very last line in any given column and pressing line feed on the keyboard. The cursor would then reappear at the top of the next column. There was no attempt to limit drawing to within these borders, so it was up to the host software to ensure that lines remained within the margins by inserting CR/LF characters at appropriate points. Text lines writing to margin 0 would extend the full length of the screen if CR/LF was not sent to wrap before the 35th character, although any data in the margin 1 area on the same line, being written later, would be drawn on top.

The terminals also optionally supported a second character set via plug-in circuit boards, selecting between them with the ASCII and  characters. This was required for the APL language, which used a large number of special characters.

Graphics protocol
The 4010 was not a raster display and thus had an effectively unlimited resolution, but the command decoding circuitry limited this to 1,024 by 1,024. Because the screen had a 4:3 geometry, only 780 points were visible vertically. The origin was in the lower left.

Encoding values from 0 to 1,023 required 10 bits; 2^10 = 1024. These values were encoded in ASCII, using 5 bits per character, and thus requiring two characters per value, or 4 characters for a complete X,Y coordinate. The encoding scheme was designed to make the coordinate characters safely sent over serial links by assigning each value from the set of ASCII printable characters. X values were assigned the 32 characters between 64 and 95 decimal, mostly the uppercase letters. The Y coordinates are given a similar range from 96 to 127, mostly the lowercase letters. To convert location to an ASCII character code, one added 64 to the X value, and 96 to the Y value. High-order bits for either were the same, from the range 32 to 63, mostly numerals and punctuation.

So the complete formula for calculating the points from the characters was:

X = 32 x (high X character ASCII value - 32) + (low X character ASCII value - 64) Y = 32 x (high Y character ASCII value - 32) + (low Y character ASCII value - 96)

Although the manuals always showed the calculation for X before Y, and low-order character before high-order, the four characters actually had to be transmitted in the opposite order, starting with the high Y, then low Y, high X and finally low X. For instance, consider the coordinate (23, 142). The X coordinate falls within the range 0 to 31, so no shifting is required. Adding 23 to 64 gives 87, which is ASCII character, and since no shift is required the "shift character" is. For the Y coordinate 142, one would need to shift the number back to the range 0 to 31, which could be done by subtracting 128. Doing so leaves 14. Adding 14 to 96 to get the first character gives 110, or. This requires shifting by 128, which is 4 x 32, so the shift character is the fifth in the sequence (the first is zero shift, the space), or. Now the characters are ordered shift-Y, Y, shift-X, X, so the complete coordinate (23, 142) would be encoded as.

Each of these four coordinate characters is stored in a buffer in the terminal, which holds them until the complete coordinate is received and then drawn. The drawing process is triggered by the reception of the low-X character, which the terminal looks for by waiting for a bit pattern that indicates it is in the proper decimal range. This allows a short-cut way to send points that share a Y coordinate by sending only the X coordinates, even just the low-X if the high-X has not changed. This can greatly reduce the total number of characters sent to the terminal if the programmer arranges the data to minimize changes in Y over a given set of coordinates, and even more if they group together points that change only in low-X and low-Y. The overall effect can roughly halve the amount of data sent to the terminal.

Graphics are drawn by entering graph mode by sending the ASCII Group Separator (GS) character. After that every set of four characters (or less) received by the terminal are used to define an X,Y coordinate. The first four following the GS position the graphic cursor, every point after that draws a vector on the display. The system is returned to text mode (alpha mode in their documents) using a number of commands, typically Unit Separator (US, ), but a number of other sequences also have the same effect, including a.

Because the system draws vectors from point to point while in graphics mode, in order to draw separated lines the commands had to enter and exit graphics mode repeatedly. A single point is drawn by entering graph mode at the desired coordinate, drawing a zero length vector to the same coordinate.

Graphics input
For graphics input, the terminal used a pair of thumb wheels on the keyboard to control the position of a cursor. The cursor was displayed using a lower intensity of the electron beam that had insufficient energy to cause the storage system to trigger. The cursor was dynamically refreshed by the electronics of the terminal. The cursor was turned on with  (which also turned off graphic mode if it was on), and then. The position was sent back to the computer using the same X,Y encoding as the graphics commands. This could be done interactively by sending the and then pressing a key on the keyboard, or immediately by the host sending.

Changes in 4014 model
The 4014 series had a number of minor changes and some more major improvements.

In alpha mode, the font could be scaled to produce a number of different line sizes. The original 4010-style 35 lines by 74 characters was the default, or could be selected specifically with. drew smaller glyphs to produce 38 lines of 81 characters, for 58 by 121, and  for 64 by 133. All of these could be mixed on-screen.

In the 4010, the cursor and graphic crosshairs were interactive and used dark mode to move about the screen without writing to memory. This was accomplished by writing with less energy in the beam, just enough to be seen but not enough to store it. The 4014 added escape codes to allow the user to select this mode deliberately by sending any of the sequences from through. This was especially useful in graph mode, as it allowed the system to draw movable objects, although at the cost of having to continually refresh them over the serial link at about 30 times a second in order to avoid flicker.

This capability could be used, for instance, by drawing the outline of a gauge and its scale markers normally to cause them to store, and then drawing the needle interactively using dark mode. It could also be used to move the graphics cursor to a new location without having to exit and re-enter graphics mode, which previously was the only way to accomplish this. Sending through  set the terminal to defocussed mode which drew at reduced intensity by making the beam slightly wider and spreading the displayed line over a wider area. Finally, through  returned the terminal to the normal storage mode.

The 4014 made a change to the way graphics points were entered by adding an execution character which denoted that a particular coordinate was complete. This allowed, for instance, the X or Y coordinate to be changed without changing the previously stored location for the other. This was useful for drawing boxes or especially a series of lines like an axis, or drawing a point on the screen by sending in the same address as the one last stored or moved to using dark mode. Since the X and Y coordinates used separate characters, the terminal would still notice a sequence of coordinates being sent in the older 4010 format, and draw them as they arrived, providing backward compatibility.

With the Enhanced Graphic Module installed, an additional set of features were available. Primary among these was the addition of 12-bit addressing which increased the resolution to 4096 by 4096, again with the upper section of the Y axis above 3120 being unseen. Any address could be sent in 12-bit mode simply by sending in an extra byte between the high and low Y characters, using the same character range as the low-order Y addresses. On a 4010 series terminal or 4014 without the Enhanced Graphic Module, this extra byte would then immediately be overwritten by the actual low-order address that arrived as the next character, and thus have no effect. With the Enhanced Graphic Module, the terminal would use bits 1 and 2 to add to the front of the normally 5-bit high-order X address, and bits 3 and 4 to add to the high-order Y address.

Another feature of the Enhanced Graphic Module was circuitry that periodically interrupted the beam as it was drawing a vector, allowing the creation of dashed lines. There were five patterns in total; lines, dots, dash-dot and short and long dashes. These were useful for drawing axes and scales, especially when combined with the defocussed mode to lower the intensity, and using the change-one-coordinate feature to quickly draw them. These were selected using the same escape characters as the drawing mode selection of the normal 4014, the range through. For instance, without the Enhanced Graphics installed, sending any character from to  selected normal line drawing mode, while with the module installed  was normal drawing,  was normal with dotted lines, and so on.

Incremental plot, entered with the ASCII Record Separator (RS) character, replaced the normal coordinates with single-character directions. For instance, sending moved up ("north"). This was especially useful for drawing control needles and similar moving displays, and greatly reduces the amount of information that has to be sent to the terminal over time.

The Enhanced Graphic Module introduced two point plotting modes. Entering the normal point plot mode with the ASCII File Separator (FS), instead of RS for graph mode, plotted only the points at the coordinates being sent, not the vectors between them. Special point plot, entered with, added an intensity character to the coordinate that allowed the points to have various brightnesses and optionally defocus the beam.

Criticisms
The bell sound was all-digital, generating an audio tone from the main crystal-controlled divider chain, which made the sound rather dull and non-bell-like.

The serial clock for the daisy-chained teletype was an analog unijunction RC oscillator, which had to be manually tuned to 110 baud. After a few hours, heat buildup could cause the frequency to drift enough to cause serial line timing errors.