Patent GB-1240190-A (GB)
Title: Computer graphics system
Inventor: CHRISTENSEN CARL
IPC: G06F3/033
Filed: 1968-11-13
Abstract: 1,240,190. Computer graphic display systems. WESTERN ELECTRIC CO. Inc. 13 Nov., 1968 [13 Nov., 1967 (2)], No. 53731/68. Heading G4A. [Also in Division H4] A central computer 101 communicates on a time-sharing basis with at least one local console 120 which includes a memory 132, a programmable data processor and a display device 142. In general, the console processor controls the direct running of the display, and the central computer is only called into action when programmes or display data are required which are not available at the console memory 132, when a selected programme is not suitable for execution by the console processor, or when it is required to update the display data in the central memory 103, 107 by accumulated changes introduced at the console, e.g. when the number of real time inputs at the console becomes so large that the queue of such changes threatens to overflow the allotted section of memory 132. In the latter case, an indication of the number of instructions which must be executed by the central processor before it is again in step with the console processor accompanies the queue information. Operation, Fig. 4.-Initially accumulator 302 is loaded with an address at which the display is to start, either from input devices or from central computer 101. The display window of the CRT 142 is divided into a 1024 x 1024 point matrix, and the entire display picture is made up of a number of such windows, only one being selected for display at a time. The address is transferred to register 354 when display processor 140 is ready to start display cycling, register 354 being incremented by generator 355 to access display words from memory 132 and transfer them to registers 375-379 via buffer 350 until a display trap word is reached. Communication may then be set up between accumulator 302 and buffer 350 for special character or function-generation. Processor 140 performs only display operations, e.g. drawing lines, curves and setting parameters, e.g. intensity. Computer 130 is called upon by trap words to perform transfer-of-control operations, real-time function generation, data structure tracing and processing of other real time programmes. Access to the console memory 132 is shared by computer 130 and processor 140, the latter taking priority. When data blocks are required from the central computer, the absence of such blocks at the console having been ascertained by examination of a list of block identifiers, the required blocks are retrieved from central computer storage and transmitted to the console together, if desired, with other blocks, which although not specifically requested, are referred to in the requested blocks. Display data structure.-The organization is such that the entire display picture can be represented by a single " node " which is connected by " branches " to a lower level of " nodes " in turn connected to successively lower levels of " nodes " until finally reaching " leaves " which represent basic display elements, e.g. schematic drawing of circuit component. Nodes, branches and leaves are represented by corresponding display data blocks containing pointers to associated blocks such as in-going and out-going branches. Symbols specified by leaf blocks may be displayed in eight possible positions of rotation and symmetry as defined by control bits. A leaf block may be initially generated by drawing the corresponding symbol on the CRT screen with a light pen or by entering an appropriate sequence of instructions from other input devices. Other, non-display, data blocks are used, e.g. to specify component values for use in circuit analysis programmes. Priority interrupt may be programmed or initiated by central computer 101, by input devices, e.g. a light pen, or by CRT window edge violation (see below). For example a light pen input may interrupt normal display recirculation while control programmes move a part of the display as directed by the pen, e.g. by modifying a branch block. A flag may be set in control logic 303 to initiate scanning of the flags to identify which one has been set, and in response to this identification to transfer control to a corresponding set of instructions. For example, when a flag test instruction results in detection of a non-set flag, the second instruction of the set directs transfer to the next set, but if a set flag is found, the second instruction is skipped. CRT display edge violation.-The position of a point on the display is defined by x, y coordinates, the highest order bits identifying a particular window and the remaining bits the position within the window. A window reference register stores a reference point specifying the desired location of the display window relative to the origin of the picture. Each display point specified in a word supplied by the display buffer 350 is subtracted from the reference point and the difference signals are fed to x, y registers controlling the CRT beam deflection. If the high order bits of the 2 points do not correspond, i.e. they relate to different windows, up/down and/or left/right registers are incremented or decremented from their zero states by corresponding amounts. An over-ride control is then set to inhibit the beam intensity control for the current display interval so that points outside the selected display window are suppressed. Display processing operations are also speeded up to save time when the over-ride control is set. The display can operate in an incremental mode in which successive points are defined by x, y increments relative to the preceding point, each x, y increment is added to the contents of the x, y registers which are then updated by the sum, and, if necessary the up/down and/or left/right registers are incremented or decremented.