Dynamically Refreshable Computer Display Controller with Vertical Line Generator for Mass Spectrometry Applications Phlllp S. Berger' and William F. Holmes" Deparfment of Biologicai Chemistry, Division of Biology and Biomedical Sciences, Washington University, St. Louis, Missouri 63 1 10
Laboratory computer systems frequently include a graphic display terminal to monitor instrument performance and to review and process data previously collected. Mass spectrometry applications benefit greatly from graphic terminals, since large numbers of mass spectra are generated. A typical low resolution mass spectrometer with gas chromatographic inlet may be scanned over the full mass range a t intervals of 3 to 5 s, generating many hundreds of spectra during a single analysis. Quantitative analyses or capillary column separations may require scans as frequently as once per second. Low resolution mass spectra are commonly represented as bar graphs, with the abscissa representing integer mass values, and the ordinate representing the intensities of the ions. Each vertical bar corresponds to the summed intensities of all ions with the same nominal integer mass. The bar graph representation has its limitations, however, since it is difficult to show clearly and accurately the entire mass spectrum on one graph of reasonable size. The mass scale must extend out to the molecular ion yet still be readable a t unit mass resolution. The intensity scale must represent ions over a size range of 1-1000 or more. A number of strategems have been used to expand the size of mass spectrum bar graphs, such as breaking the mass scale into several parts, or magnifying the intensity scale a t the high mass end where the ions usually have smaller relative intensities. A more flexible method for examining mass spectra is provided by graphic display terminals, since a portion of the spectrum can be expanded in either the mass or intensity scales for a detailed view. A graphic display terminal for mass spectrometry applications is most effective when the user can work with the spectra in a highly interactive manner, expanding scales, shifting mass ranges, and quickly examining groups of spectra collected in sequence. The spectra are often complicated, so that a fast writing rate and good resolution are important. The graph should be carefully labeled so that individual ions can be easily located, and the spectrum as a whole identified. In practice, storage oscilloscopes are often used to display these graphs. They offer flicker-free displays at moderate resolution, and do not require computer processor time or memory storage to maintain the display, once it has been written. However storage oscilloscopes are rather costly, and they have a slow response time. The entire display must be cleared and rewritten whenever a change requires removal of any part of the display. For example, clearing the screen of the commonly used Tektronix 4010 terminal takes 700 ms ( I ) , and new points or intensity bars can be written no faster than 150 per second with the standard serial interface, far from ideal for interactive examination of complex spectra. Ordinary display oscilloscopes must be continually refreshed by writing the display at a rate of 30 times per second or more to prevent flicker. Maintaining the display requires both data storage and data processing time, which may place a heavy burden on the central computer. These functions may be transferred partially or completely to the display terminal by including an independent memory and display generating hardware. High speed display oscilloscope terminals with hardware character and vector generators are quite expensive *Present address, Teknivent Corp., 9261 Old Bonhomme Road, St. Louis, Mo. 63132. 1462
ANALYTICAL CHEMISTRY, VOL. 49, NO. 9, AUGUST 1977
however. Video monitors offer a relatively low cost alternative. The entire display is considered as a matrix of points, with the intensity of each point stored in a memory and read in synchrony with the video scan (2,3). However the resolution of the video monitor is somewhat limiting, and memory costs may be even more so, since memory size will increase as the square of the linear point density on the video screen. Multiple intensity levels also require more memory; even two levels of intensity will double the memory size required. The constraints imposed by cost, resolution, and response time when using commercially available graphic terminals led us to design a relatively inexpensive refreshable display system with enough resolution and speed for high quality displays of mass spectrometer data. The display is part of a computer system designed and programmed for mass spectrometry applications ( 4 ) , five of which are currently in use at the Washington University School of Medicine. The display system consists of a controller containing hardware for generating characters and vertical bars attached to a simple display oscilloscope with x , y , and z inputs. The choice of the oscilloscope is not critical. We have used both Tektronix 602 and 604 Display Monitors, and the electronics are adjustable so that other x , y , z type displays can be used.
GENERAL CHARACTERISTICS A simplified block diagram of the display system is shown in Figure 1. The controller has been designed to work with the Computer Automation Alpha LSI-2 and LSI-3 computers, but the interface signals are quite straightforward. There are 8 address lines, 3 input control lines, 12 input data lines, and 1 output status line. Five of the address lines (not shown) are used to select the controller; the other three select the function that the controller is to perform. Data, such as an x or y position, character code, or vertical bar height are presented on the 12 data lines simultaneously with the corresponding function on the address lines. The actual transfer is clocked by one of two control lines (not shown) generated by the corresponding computer instruction. A third control line is used to request the READY/BUSY status of the READY/BUSY flipflop in the controller, which can be switched onto the output status line. This flipflop is set t o BUSY by the controller when the DISPLAY CHARACTER or DISPLAY VERTICAL BAR functions are initiated, since these operations in general take considerably longer than a typical computer instruction. The controller contains five basic registers, X, Y, Y BAR/ CHARACTER CODE, INCREMENT SIZE, and INTENSITY. The X and Y registers contain the position of any point, character, or vertical bar displayed on the oscilloscope. X and Y can be specified t o 12 bits, 1 part in 4096, ensuring that the display resolution will not be limited by the controller. The dual purpose Y BAR/CHARACTER CODE register contains either the height of the vertical bar to be displayed, or a 6-bit ACSII character code. The vertical bar height is specified to 1 2 bits, and can have either a positive or negative value. The X and Y registers specify the position of the base end of a vertical bar during a bar display, and the lower left corner of a character during a character display. The INCREMENT SIZE and INTENSITY registers are loaded together when the SET INTENSITY AND INCREMENT SIZE function is presented to the controller. Characters and vertical bars are both displayed as a set of closely spaced points. The INCREMENT SIZE register determines how far apart these points are separated, thus controlling the size of the characters, and the point density of vertical bars. This register is 4 bits wide, specifying 16 increment sizes. The INTENSITY register is 2 bits
COMPUTER
ADDRESS LINES
S T A T U S IN
DISPLAY OSCll L O S C O P E
CONTROLLER
3
SET Y SET I N T E N S I T Y A N D I N C R E M E N T SIZE D I S P L A Y P O I N T AT X , Y D I S P L A Y V E R T I C A L B A R AT X . Y DISPLAY C H A R A C T E R AT X , Y