U.S. patent number 3,818,475 [Application Number 05/288,058] was granted by the patent office on 1974-06-18 for digitally operating graphic display system.
This patent grant is currently assigned to Elliott Brothers (London) Limited. Invention is credited to David William Hussey.
United States Patent |
3,818,475 |
Hussey |
June 18, 1974 |
DIGITALLY OPERATING GRAPHIC DISPLAY SYSTEM
Abstract
In a display system of the CRT type in which a DDA (digital
differential analyser) technique is used, an associated computer is
used for a substantial part of the operations required for the
display system, with a consequent reduction in the display system
circuitry per se. Microprogram control is used for processing data
from a main memory to obtain X and Y coordinates for display.
Inventors: |
Hussey; David William
(Wateringbury, EN) |
Assignee: |
Elliott Brothers (London)
Limited (London, EN)
|
Family
ID: |
10422890 |
Appl.
No.: |
05/288,058 |
Filed: |
September 11, 1972 |
Foreign Application Priority Data
|
|
|
|
|
Sep 9, 1971 [GB] |
|
|
42109/71 |
|
Current U.S.
Class: |
345/27;
345/441 |
Current CPC
Class: |
G06F
7/64 (20130101); G09G 1/10 (20130101) |
Current International
Class: |
G09G
1/06 (20060101); G09G 1/10 (20060101); G06F
7/60 (20060101); G06F 7/64 (20060101); G06f
003/14 () |
Field of
Search: |
;340/324A |
References Cited
[Referenced By]
U.S. Patent Documents
Primary Examiner: Trafton; David L.
Attorney, Agent or Firm: Kirschstein, Kirschstein, Ottinger
& Frank
Claims
1. A display system of the CRT type using a DDA technique for
defining lines to be displayed, said system comprising
A. a CRT,
B. first and second counter registers,
C. means for displaying on the CRT an image at a position defined
by the contents of said counter registers, and
D. means for incrementing the contents of the first and second
counter registers respectively so that the contents of the counter
registers define the X and Y coordinates respectively of a
succession of points spaced along the length of a line to be
displayed, said means for incrementing the contents of said first
and second registers being constituted by a digital computer
including:
i. a main memory including predetermined locations in which are
stored increments dx and dy defining the distances between adjacent
points on the line to be displayed;
ii. a processor including at least two accumulator registers;
iii. a microprogram control unit which cooperates with the
processor and the main memory in the performance of computations by
the computer and which in response to a predetermined instruction
from the main memory, enters the said dx and dy increments into a
first and second said accumulator register respectively at regular
intervals; and
iv. means for feeding any resulting overflows from said first and
second accumulator registers to said first and second counter
registers respectively.
2. A display system according to claim 1 wherein the computer main
memory includes further predetermined locations in which are stored
the X and Y co-ordinates of the starting point of the line to be
displayed, and the microprogram control unit is arranged to enter
the X and Y co-ordinates of the starting point in said first and
second counter registers respectively at the start of a line
drawing operation.
3. A display system according to claim 2 including a line length
register and wherein the computer main memory includes a further
predetermined location in which is stored a number defining the
number of points in the line to be displayed, and the microprogram
is arranged to enter said number in said line length register at
the start of a line drawing operation and decrease the content of
the line length register appropriately as the line is drawn, and
terminate the line drawing operation when the contents of the line
length register is zero.
Description
The present invention relates to display systems of the CRT
(cathode ray tube) type in which a DDA (digital differential
analyser) technique is used for defining lines to be displayed. By
a display system of the CRT type is meant a display system using
for its display device a conventional CRT or any other display
device capable of producing a display equivalent to that produced
by a conventional CRT, for example, a solid state matrix display
device.
With the DDA technique, the lines to be displayed are produced from
signals representing the co-ordinates of points spaced along the
lengths of the lines.
In a typical DDA type of display system, two digital registers (X
and Y registers) are used, one for the X co-ordinate and one for
the Y co-ordinate, each feeding a respective digital-to-analog
converter. The X and Y registers are each constructed as adders,
and have increments dx and dy respectively added into them at
regular intervals, so that their contents define a succession of
points forming the line to be displayed. The increments dx and dy
are chosen so that their ratio is the tangent of the slope of the
line to be displayed, and the sum of their squares is a fixed small
constant; the latter condition ensures that the density of points
is the same along all lines displayed.
In known arrangements this has been achieved by using, for the X
co-ordinates, three registers of equal length: a register to
contain the increment dx, a register constructed as an adder, and a
register constructed as a counter. These are interconnected so that
the latter two registers together form the X register, the adder
being the lower (least significant) end of it, and overflows
therefrom being fed into the upper (counter) end. The increment
register is connected to the adder register, and the counter
register feeds the digital-to-analog converter. With this
arrangement, the increment dx is never large enough to affect the
counter end of the X register directly. The arrangements for the Y
co-ordinates are exactly similar.
This therefore involves six registers, together with a seventh if a
line length register is used, filled with a number indicating the
line length and decremented by 1 for each point on the line until 0
is reached.
Systems of this type are often associated with computers, the
computer exercising overall control of the system, i.e., supplying
the initial contents for the registers.
The inventor has now realized that, in such a system and associated
computer, the computer can be used for a substantial part of the
operations hitherto performed by circuitry unique to the display
system, with consequent saving of such circuitry.
Hence, in accordance with the invention there is provided a display
system of the CRT type in which a DDA technique is used for
defining lines to be displayed comprising: first and second counter
registers; means for displaying on the CRT an image at a position
defined by the contents of said counter registers; a digital
computer comprising a main memory, a processor including at least
two accumulator registers, and a microprogram control unit arranged
to read and write information in the memory and process it in the
processor in response to instructions read out of the memory; and
means for feeding any overflows from a first and a second said
accumulator register to said first and second counter register
respectively; said computer memory including predetermined
locations in which are stored increments dx and dy defining the
distances between adjacent points on a line to be displayed; and
the microprogram control unit being arranged, in response to a
predetermined instruction from the memory, to enter the dx and dy
increments in said first and second accumulator registers at
regular intervals such that overflows from said first and second
accumulator registers increment the contents of the first and
second counter registers respectively and the contents of the
counter registers define the X and Y co-ordinates respectively of a
succession of points spaced along the length of the line to be
displayed.
In an arrangement according to the invention the computer memory
normally includes further predetermined locations in which are
stored the X and Y co-ordinates of the starting point of the line
to be displayed, and the microprogram control unit is arranged to
enter the X and Y co-ordinates of the starting point in said first
and second counter registers respectively at the start of a line
drawing operation.
An arrangement in accordance with the invention will also normally
include a line length register which may form part of the computer
or be separate therefrom. In such an arrangement the computer
memory preferably includes a further predetermined location in
which is stored a number defining the number of points in the line
to be displayed, and the microprogram is arranged to enter said
number in said line length register at the start of a line drawing
operation and decrease the content of the line length register
appropriately as the line is drawn, and terminate the line drawing
operation when the contents of the line length register is
zero.
One display system in accordance with the invention will now be
described, by way of example, with reference to the accompanying
drawing in which:
FIG. 1 is a simplified block diagram of the display system; and
FIG. 2 is a flow diagram illustrating the operation of the
system.
Referring to the drawing, the display system utilises a computer
including a main memory 10 with associated address selection
circuitry 11, the memory 10 feeding an adder 12 which feeds a main
data highway 13 which in turn feeds back to the main memory 10. The
data highway 13 feeds two accumulator registers A1 and Q1 which
feed the adder 12, and also feeds an instruction counter IC and an
instruction register IR. The instruction counter IC feeds the
address selection circuitry 11, and the instruction register IR
feeds a microprogram control unit 14. A register B1 fed from an
external source (not shown) feeds the adder 12, and permits data to
be entered into the computer. The computer operates in the usual
way, instructions being read out of the main memory 10 in sequence
under the control of the instruction counter IC, each instruction
causing the microprogram control unit 14 to follow the appropriate
microprogram, reading and writing information in the main memory
and processing it via the accumulator registers A1 and Q1 and the
adder 12.
The computer is thus a standard computer of conventional form and
will normally be programmed to perform various computations in
addition to those required for its role as part of the display
system. For example, in a typical application the display system is
used in an aircraft to present information to the aircraft pilot,
and the computer is programmed to perform various roles relating to
flight control and navigation of the aircraft. One computer which
has been used in practice in such an arrangement is the MCS 920B
computer manufactured by Elliott Brothers (London) Limited.
In addition to the computer the display system includes additional
circuitry comprising three registers X1, Y1, and T1 (all
constructed as counters), two digital-to-analog converters 16 and
17, and a CRT 18. These three registers are fed from the data
highway 13, so that data can be entered into them, and registers X1
and Y1 respectively feed the digital-to-analog converters 16 and 17
whose outputs are respectively applied to the X and Y direction
electron beam deflection means of the CRT. A brightness control
circuit 19 is also provided which controls the CRT electron beam
intensity so as to produce at appropriate times a spot of light on
the CRT screen at a position determined by the contents of the
registers X1 and Y1.
The accumulator registers Q1 and A1 are coupled to the registers X1
and Y1 respectively in a manner which will be explained below, and
register T1 is coupled to the microprogram control unit 14 in a
manner also explained below.
The system can best be understood by describing its operation,
which is initiated by an appropriate instruction word, calling for
line drawing. Prior to this instruction word being reached, the
program in the computer will have put the parameters of the line to
be drawn (starting point, slope, and length) into five
predetermined locations in the main memory 10.
When the instruction word calling for line drawing is reached, it
is written into the instruction register IR, and causes the
microprogram control unit 14 to carry out the microprogram shown in
flow diagram form in FIG. 2. The first four steps in the
microprogram clear registers A1 and Q1 and fill the registers X1,
Y1, and T1 with the contents of three (here called XO, YO, and TO)
of the five predetermined locations in the main memory; unit 14 has
the addresses of these five locations wired in. This fills the
registers X1 and Y1 with the X and Y co-ordinates of the start of
the line to be drawn, and register T1 with a number representing
the length of the line. The next microprogram step 5 is a test:
register Tl is inspected to see if its contents are zero. Assuming
that its contents are not zero, the next step 6 is a waiting step;
the computer waits until the display system, i.e., the CRT and its
associated circuitry, has displayed the point defined by the
contents of registers X1 and Y1.
The next two steps are concerned with generating the next point to
be displayed. In step 7, the contents of the fourth of the
predetermined main memory locations, here termed DXO, is read out
and added into register Q1. The contents of DXO are the X increment
dx, and registers Q1 and X1 together form the (notional) X
register, X1 being the high-order end. Any overflow produced in
this addition in register Q1 is fed to register X1 to increment its
contents by 1. In step 8, the same is done for the Y co-ordinate.
The last of the five predetermined main memory locations, DYO,
contains the increment dy, and this is read out and added to the
contents of register A1, which together with register Y1 forms the
Y register. Any overflow from register A1 is fed to register Y1 to
increment its contents by 1. The next microprogram step, step 9,
decrements the contents of register T1 by 1, since one more point
of the line has now been drawn.
Step 9 is followed by a loop back of the microprogram to step 5,
the test step. If the contents of register T1 are still not zero,
there is at least one more point of the line still to be drawn, and
the loop through steps 6 to 9 is repeated. If the contents of
register T1 are zero, then the last point of the line has been
drawn, and the microprogram control unit 14 ends the line-drawing
microprogram. This end is accomplished by calling for the next
instruction to be read from the main memory 10, e.g. proceeding to
a further computational program, not concerned with the display
system.
Although the system has been described with reference to drawing
straight lines, it is clearly capable of being modified to draw
other cursive symbols. For this, the microprogram will require
modification between steps 5 and 7 to store the contents of
registers A1 and Q1 in two more predetermined main memory
locations, calculate new values of increments dx and dy (either
under microprogram control or by returning control to a main
program sub-routine), and restore the contents of registers A1 and
Q1. I claim:
* * * * *