U.S. patent number 3,768,092 [Application Number 05/191,408] was granted by the patent office on 1973-10-23 for graphic display apparatus.
This patent grant is currently assigned to Burroughs Corporation. Invention is credited to Thomas J. Dodds, Jr., Harold F. Gibson.
United States Patent |
3,768,092 |
Dodds, Jr. , et al. |
October 23, 1973 |
GRAPHIC DISPLAY APPARATUS
Abstract
A cathode ray tube display apparatus which uses a set of
character codes sequentially addressed in a storage device in the
process of generating a line-type display such as, for example, a
graph. The direction of the line segments forming the display is
encoded in the character set, and the direction encoded in each
character code together with the character code determine the
display position for the line segment represented by the next
character code in the sequence. Input to the storage device is
through a keyboard, but may be from an external source such as, for
example, a data processor. The number of input keys is less than
the number of character codes in the set, so that the display
apparatus determines the nature of the character code to be loaded
into the storage device by each keyboard input. A background
line-type scale for the graph, in the form of coordinate axes, is
also generated and displayed.
Inventors: |
Dodds, Jr.; Thomas J. (Secane,
PA), Gibson; Harold F. (Downington, PA) |
Assignee: |
Burroughs Corporation (Detroit,
MI)
|
Family
ID: |
22705389 |
Appl.
No.: |
05/191,408 |
Filed: |
October 21, 1971 |
Current U.S.
Class: |
345/18;
315/391 |
Current CPC
Class: |
G09G
1/10 (20130101); G06F 3/0219 (20130101); G06F
3/0489 (20130101) |
Current International
Class: |
G09G
1/06 (20060101); G09G 1/10 (20060101); G06F
3/023 (20060101); G06f 003/14 () |
Field of
Search: |
;340/324A ;315/18
;178/7.83 |
References Cited
[Referenced By]
U.S. Patent Documents
Primary Examiner: Trafton; David L.
Claims
What is claimed is:
1. An apparatus for generating and displaying line segments as
characters wherein the display generated depends upon the sequence
in which the segments are displayed, having a cathode ray tube
display, a memory for holding line segment instructions, a keyboard
input device, and a computer storage input device, the improvement
comprising:
a graphic decoder tied to said memory;
a count vertical-up register tied to said graphic decoder;
a count vertical-down register tied to said graphic decoder;
a vertical position counter coupled to said count vertical-up and
count vertical-down registers, said vertical position counter
driving said CRT vertical deflection;
a horizontal position counter coupled to said CRT horizontal
deflection;
symbol generating means responsive to each line segment instruction
in said memory for driving said vertical position counter and said
horizontal position counter for generating each individual line
segment; and
detector means responsive to each of certain line segment codes in
said memory for affecting said horizontal position means in
accordance with the particular instruction for establishing the
position of the next line segment in the sequence.
2. The apparatus of claim 1 wherein said symbol generating means
includes:
a line type storage register connected to said graphic decoder;
a modulator connected to said line storage register;
a symbol generator fed by said modulator and said memory; and
memory control and timing means fed by said symbol generator for
controlling said vertical position counter and said horizontal
position counter for generating each individual line segment.
3. The apparatus of claim 2 wherein said detector means
includes:
a display direction register loaded from said memory and said
graphic decoder;
a change of direction detector connected to said display direction
register and said graphic decoder; and
horizontal count inhibiting means associated with said graphic
decoder and said change of direction detector for affecting said
horizontal position counter.
Description
BACKGROUND OF THE INVENTION
This invention relates generally to data handling systems, and
particularly to such systems wherein the data is converted to a
displayable form for presenting a line-type graphic display on the
face or screen of a cathode ray tube. While not limited thereto,
the invention finds special application in, and was specifically
designed for use in, the display apparatus disclosed and claimed in
a copending application of Thomas J. Dodds, Jr., Clegg Eagleson,
and Harold F. Gibson, entitled "Time-Shared Apparatus For Operating
Plural Display Media, And Display Methods Including Paging,
Displaying Special Forms And Displaying Information In Tabulated
Form," U.S. Pat. No. provide 3,648,245.
SUMMARY OF THE INVENTION Postion P1
An object of the invention is to provide improvements in display
apparatus.
Another object of the invention is to provide an apparatus for
displaying graphs.
A further object of the invention is to provide a display apparatus
for displaying continuous, blank, dotted, or dashed lines.
Still another object of the invention is to provide an apparatus
for displaying continuous lines and which requires no previous
positioning of a cursor. horizontal
A further object of the invention is to provide a display apparatus
for displaying a coordinate-axes scale.
Another object of the invention is to provide a display apparatus
which eliminates the limitations normally encountered in using an
expanded character set.
Another object of the invention is to provide a directional
expanded character set for display apparatus whereby the efficiency
of the display apparatus approaches that of a display terminal
containing a true vector generator.
A more specific object of the invention is to provide a display
apparatus which uses a magnetic memory for storing directional
expanded character codes representative of displayable line
segments and which apparatus requires significantly fewer character
codes and therefore a significantly smaller memory than a normal
expanded character set.
Still a further object of the invention is to provide improvements
in methods for generating graphic displays.
In accordance with the above objects and considered first in one of
its broader aspects, apparatus according to the invention for
generating and displaying line segments may comprise a display
medium having horizontal and vertical display positions, a storage
device for storing character codes each representing a line
segment, and horizontal and vertical positioning counters for
establishing the horizontal and vertical display positions on the
display medium. A pulse is provided for continuously stepping the
horizontal position counter for establishing each horizontal
display position, and first and second storage registers are
provided for storing character codes that are read out of the
storage device. A memory control is provided for reading out the
character codes individually from the storage device in a sequence
into the first and second storage registers. A symbol generator
which is responsive to each character code in the second storage
register is provided for generating and displaying its line segment
on the display medium at a display position established by the
horizontal position counter and the vertical position counter. A
graphic decoder coupled with a change of direction detector is
responsive to each of certain of the character codes in the first
storage register is provided for actuating the vertical position
counter, or for inhibiting the stepping of the horizontal position
counter or both, in accordance with the particular character code,
for establishing the display position for the next character code
in the sequence.
The invention will be more clearly understood when the following
detailed description of the preferred embodiment thereof is read in
conjunction with the accompanying drawing which is described
below.
BRIEF DESCRIPTION OF THE DRAWING
FIG. 1 is a perspective view of a keyboard-monitor display set
embodying the invention.
FIG. 2 is a diagrammatic illustration of a cathode ray tube
displaying two graphs and a scale according to the invention.
FIG. 3 is an enlarged view of one of the character blocks or
character spaces illustrated diagrammatically in FIG. 2, the
character block consisting of a top half and a bottom half.
FIGS. 4A and 4B, when placed together as illustrated in FIG. 4,
constitute a block diagram of graphic display apparatus constructed
in accordance with the invention.
FIG. 5 is a diagrammatic illustration of the display of a line on
the cathode ray tube screen.
FIGS. 6 and 7 are diagrammatic illustrations used in explaining the
gross positioning of the cathode ray tube beam in the process of
displaying the line of FIG. 5.
FIG. 8 illustrates the display of a line which has changed from an
upward to a downward direction.
FIGS. 9 and 10 are diagrammatic illustrations used in explaining
the manner in which the change of direction is effected in the
process of displaying the line of FIG. 8.
FIG. 11 illustrates diagrammatically certain ones of the Half Top
characters or line segments.
FIG. 12 illustrates diagrammatically certain ones of the Half
Bottom characters or line segments.
FIGS. 13, 14 and 15 are diagrammatic illustrations used in
explaining the manner in which the invention determines the nature
of the new character to follow a preceding character in certain
keyboard loading operations.
FIG. 16 is a diagrammatic illustration of the display of a Normal
line segment followed by a Blank line segment followed by a Normal
line segment.
FIGS. 17 and 18 are diagrammatic illustrations used in explaining
the manner in which the composite line of FIG. 16 is displayed.
FIG. 19 is a tabulation of the symbols of the line segments that
are used in the display and illustrates the Next Position values in
establishing the gross position of the cathode ray tube beam after
the display of each symbol.
FIG. 20 is a tabulation of the graphic character codes used with
the invention.
FIG. 21 is a diagrammatic illustration of the keyboard.
DESCRIPTION OF THE PREFERRED EMBODIMENT
The invention utilizes an expanded character set with a resolution
of 80 (horizontal) .times. 50 (vertical) and includes direction in
the character set, thereby eliminating the limitations normally
encountered in using an Expanded character set. By encoding
direction into the character set, it is possible to sequentially
draw continuous lines which require no previous positioning of a
cursor. By using the method of the invention, it is possible to
display two characters in the same screen position. This mode of
operation enables the cathode ray tube Terminal, or other display
system in which the invention may be used, to cross any number of
lines without a break in any line. Lines may also be superimposed
upon each other. In the present embodiment of the invention, 4
types of lines are provided: Continuous, Dotted, Dashed, and Blank
line, however, the number and types of lines are illustrative and
not limiting. The invention also provides means for displaying a
moveable scale, so that the necessity of drawing a background scale
in conjunction with graphs is eliminated.
The character set includes special line segments that occupy a
complete character space. A complete character space references the
lower left-hand corner of a character area and includes the
inter-character and inter-line space assigned to the selected
character. A line segment that occupys a complete character space
will allow the drawing of continuous lines composed of straight
line segments.
In the present embodiment of the invention, the character set uses
a set of 14 vector segments which are produced by a symbol
generator as discrete, addressable symbols for presentation in an
80 .times. 25 format. Each character code also indicates the
direction in which its line segment is being drawn, and the
directional information is used in conjunction with the charcter
code to determine the gross positioning for the next character to
be displayed. In the present embodiment of the invention, the
character symbols are produced in the same manner as described in
the aforementioned Dodds et al. application, however, they are
expanded electronically to fill a 0.15 inch .times. 0.36 inch area
(FIG. 3) between lines and columns of the format, however, it is
understood that these dimensions and the method of producing the
symbols are illustrative and not limiting.
The particular characters chosen for purposes of illustration are
shown in FIG. 19 together with their associated codes. These
provide the capability of generating a continuous vector through
adjacent character locations at angles of 0.degree., 50.degree.,
67.degree., and 90.degree. in four quadrants with an effective
resolution of 80 horizontal .times. 50 vertical increments,
however, for purposes of illustration it is only deemed necessary
to show the graphs as they would be drawn from left to right on the
screen of the cathode ray tube.
Each vector character code produces a line segment on the angle
selected. Longer vectors are formed from chains of these line
segments which are stored sequentially in the Terminal refresh
memory and sequentially drawn with the gross position of each line
segment referenced to the previous line segment.
The four illustrative line types are generated by preceding a line
segment chain with a code specifying the type of line. Also
provided is the ability to position the starting point of any line
to a specific screen position, which in the present embodiment of
the invention has been illustrated to be the upper left-hand corner
of the cathode ray tube screen. This is accomplished by placing a
Start of Line code so that it precedes the line segment chain of
the particlar line type desired. Use of the Start of Line code in
conjunction with a Blank Line code allows the formating of graphs,
such that comparisons may be made simply by placing two or more
graphs on the same scale.
The invention is also capable of displaying a moveable scale in the
form of coordinate axes. The coordinate scale lines are
hardware-generated and require no memory allocation. The scale
lines include a horizontal line which extends from character
position 1 to the last horizontal character position, which in the
present embodiment of the invention is character position 80, and a
vertical line which extends from line 1 to the last line, which in
the present embodiment of the invention is line 25. The vertical
and horizontal starting positions of these lines are variable,
which allows the positioning of their intersection to any of the
illustrative 4,000 intersect points.
Movement of the scale lines and their intersection is accomplished
by depressing appropriate keys located on a keyboard. Depressing a
Horizontal Down key causes the horizontal scale line to move down
one line. Depressing a Horizontal Up key causes the horizontal
scale line to move up one line. Positioning of the vertical scale
line is similarly accomplished by means of two keys for positioning
the vertical scale line to the left or right. Depressing any of
these scale keys to the second level causes the particular function
to be repeated at a particular frequency, which in the present
embodiment of the invention has been chosen to be 10 cycles per
second.
If the invention is used in a display system such as, or similar
to, the one described in the aforementioned Dodds et al.
application, the scale can also provide a means of interrogating
any character or position in the format for the purpose of
transmitting this information to an associated device such as a
data processor. Thus, by depressing a Scale Send key (FIG. 21), the
vertical and horizontal starting positions of the scale lines can
be transmitted to a data processor as a two-character message. This
function permits an operator to use the scale lines in the same
manner as a Light pen. Since the scale lines are referenced to the
screen resolution and drawn in the same manner as graphic lines,
the inaccuracy found in using a Light pen is eliminated.
Furthermore, when drawing graphs, the operator has a constant
reference to the scale as each point is plotted.
As indicated previously, the illustrated embodiment of the
invention uses 14 character codes and their symbols in the process
of drawing and connecting line segments. However, the present
embodiment uses only 5 keys and the Shift key on the keyboard for
drawing the graphic lines. This number of keys, however, is merely
illustrative and not limiting. These keys are used by the operator
to specify both magnitude and direction in which a line segment is
to be drawn. The Terminal automatically determines the correct
symbol to be displayed. Each time one of these 5 graphic line keys
is depressed, either with or without the Shift key, a new symbol
appears on the cathode ray tube screen connected to the end of the
previous symbol and the cursor moves to the next anticipated screen
location. If the direction of the graph line changes, the Terminal
automatically corrects the anticipated position of the cursor and
connects the lines. When the Shift key is depressed in conjunction
with any of the graphic line keys, the line displayed will be a
Half line segment, as later defined. Two of these Half line
segments are required to fill a character area or block, thereby
allowing 50 increments in the vertical direction.
If the invention should be used in a display system such as that
described in the aforementioned Dodds et al. application, the
Insert and Delete functions described in that application may
similarly be used to edit the graphic data in the present
application in much the same manner as done in the Dodds et al
application in editing alphanumerics. Once the cursor is placed
over a line segment, the operator may either insert an additional
line segment at the location of the cursor or he may delete the
existing line segment. The following line segments will
automatically reposition depending upon either the addition or
deletion of the line segment. These functions allow the editing of
a graph which is comprised of accumulative data. Also, if the
present invention is used in a system similar to that disclosed in
the Dodds et al. application, an existing character can be replaced
by a new character in the same manner disclosed in the Dodds et al
application. An understanding of the performance of the Insert,
Delete, and Replace functions is not deemed necessary to achieve an
understanding of the operation of the present invention, but these
functions are mentioned here merely to indicate more fully the
usefulness and versatility of the present invention. However,
reference may be made to the Dodds et al. application for further
information regarding the performance of these functions.
Turning now to the details of the invention, the illustrated
embodiment contains a 1024-character, seven bits per character
magnetic memory, preferably of the magnetic-core coincident current
destructive readout type, and is organized to visibly display the
graphic line symbols represented by the character code contents of
this memory in an illustrative 80 (horizontal) .times. 50
(vertical) resolution on a suitable medium which, in the present
embodiment of the invention, has been chosen to be a cathode ray
tube. This character capacity and bit capacity of the memory, as
well as its type, and the particular type of display medium chosen
are not limiting, but only illustrative. The 1024 memory character
positions (bytes) may be further identified sequentially as memory
cells by reference characters M-0 to M--1023.
The memory 10 (FIG. 4A), which includes the memory stack and the
necessary drivers, switches, and decoder for addressing the memory
stack and providing Read/Write operations at addresses specified by
a memory address register 64 (FIG. 4B) or a cursor memory address
register 58, is part of an overall memory system 12 (FIG. 4A),
which may be of any suitable type, but which in the present
embodiment of the invention is similar to the memory system
described and claimed in U.S. Pat. No. 3,439,345 issued in the
names of Edward F. Myers and John R. Port and assigned to the same
assignee as the present invention. For details of the operation of
this memory system, reference may be made to the aforementioned
patent.
In generating the Read/Write cycles, the memory 10 is strobed for
addressing by Read and Write pulses developed in a memory control
and timing circuit 40 (FIG. 4B) which consists of a five-bit shift
register used to generate timing pulses for accessing the memory
10. The memory address for the Read/Write cycles is steered from
the memory address register 64 or the cursor memory address
register 58, both of which are 10-bit counters, to the memory 10 by
a set of address selection gates 66.
The invention utilizes a keyboard-monitor 8 (FIG. 1) which employs
a keyboard 14 for manual entry of data into the memory 10 and a
monitor 15 for displaying the graphical data. The monitor 15
employs a cathode ray tube 16, such as is indicated
diagrammatically in FIG. 2, and houses the cathode ray tube power,
driving circuits and controls. The particular cathode ray tube 16
utilized in the illustrative embodiment of the invention has been
chosen to have an electromagnetic deflection system, however, other
cathode ray tube beam deflection systems may be used.
The horizontal deflection amplifier of the deflection system of the
cathode ray tube 16 is coupled to the output of a horizontal
position counter 18 (FIG. 4B) through a line driver 20 and a
digital-to-analog converter 22, and the vertical deflection
amplifier of the deflection system of the cathode ray tube 16 is
coupled to the output of a vertical position counter 24 through a
line driver 26 and a digital-to-analog converter 28 for horizontal
and vertical positioning respectively, of the cathode ray tube
electron beam in the process of generating the graphic display on
the face of the cathode ray tube screen. The electron beam of the
cathode ray tube 16 will illuminate the cathode ray tube screen by
displaying the various line segment symbols whenever the beam is
unblanked by a blanking control in a symbol generator 32.
The horizontal position counter 18 is a seven-bit counter which is
used to obtain the horizontal positions of the display on the
cathode ray tube 16. The counter 18 provides 80 output states so
that the horizontal digital-to-analog converter 22 can establish
the 80 positions for left-to-right positioning. The vertical
position counter 24 is a five-bit counter and is used to obtain the
vertical position of the display on the cathode ray tube 16. The
counter 24 provides 25 output states so that the vertical
digital-to-analog converter 28 can establish the 25 positions for
top-to-bottom positioning of the cathode ray tube electron beam. As
will appear more clearly hereafter, each of the 25 vertical
positions can be used for displaying either a full line segment or
one or two Half line segments, thus providing a resolution of 50 in
the vertical direction.
The horizontal and vertical positioning of the electron beam by the
counters 18 and 24 serves to gross position the beam to a reference
point on the screen of the cathode ray tube, so that the symbol
generator 32 can use these points as reference points for
generating the line segment symbols. As will appear later on, these
reference points have been chosen to be the lower left corner of
each character area or character block (FIG. 3).
The symbol generator 32 and the method of generating the
stroke-type line-segment symbols are similar to those described in
the Dodds et al. application, however, the symbol generator 32 in
the present invention produces standard symbols in the same manner
as that described in the Dodds et al. application and then expands
them electronically to fill an illustrative 0.15 inch .times. 0.36
inch area between lines and columns of the format.
As indicated earlier, the graphic character code data representing
various line segments may be loaded manually into the memory 10 by
means of the keyboard 14. However, the invention is not limited to
manual entry of data into the memory 10, but data may also be
loaded automatically into the memory 10 from an associated device
such as, for example, a data processor. For the purposes of the
present description, however, it is deemed sufficient to describe
only the manual loading of data through the keyboard 14.
After the loading of data into the memory 10, which will be
described later on, the next operation is the start of a display
memory cycle. The display memory cycle begins with the transmission
of a Start Screen pulse from a start control circuit 34 (FIG. 4B)
to the memory control and timing 40, the start control 34 being
coupled to a suitable source of power such as a source of
alternating current 38. The display begins by the application of
timing signals from the memory control and timing 40 to return or
preset the memory address register 64 to its first position
corresponding to the first character display position at the upper
left of the screen in its first, or top, display line. The
horizontal position counter 18 is reset to its first position or
output state corresponding to the left side of the screen and the
first character position, and the vertical position counter 24 is
reset to its first position or output state corresponding to the
top, or first, line of the screen. A Display On signal from the
memory control and timing 40 activates a gate in a screen blanking
control 44 which steers the cathode ray tube beam intensity control
signals from the symbol generator 32 to the cathode ray tube
16.
The address in the memory address register 64 is strobed into the
address selection gates 66 by the memory control and timing 40 to
read out the first character code in the memory 10 into a memory
information register 70 (FIG. 4A) via sense amplifiers 68, and then
into a display register 76 via display register transfer gates 78.
As the character code is thus read out from the memory 10, it is
decoded in the memory information register 70 by a display register
decoder 80 (FIG. 4B) which provides an output signal to the memory
control and timing 40 to cause the character code in the display
register 76 to be transferred into the symbol generator 32 via
input gates in the symbol generator 32, and thus initiate a display
on the cathode ray tube screen of the symbol or line segment
represented by the character code in the display register 76.
After the character code in the display register 76 has been
generated and displayed on the cathode ray tube screen, the symbol
generator 32 generates an End of Character signal to the memory
control and timing 40 to signify that a character display cycle has
been completed and that the next character code in the memory 10
may be displayed.
The character code in the display register 76 is then written back
into the same location in the memory 10 via the memory input data
gates 72 (FIG. 4A) and information drivers 74. The memory address
register 64 and the horizontal position counter 18 are
automatically counted up by one count by count pulses from the
memory control and timing 40 to initiate the next character display
cycle, however, as will appear shortly, the count pulse to the
horizontal position counter 18 may be inhibited.
As a character code is read out from the memory 10, as explained
previously, it is also decoded in the memory information register
70 by a graphic decoder 82 (FIG. 4A) in the process of determining
and setting the gross display position for the next character code
to be read out of the memory 10. The graphic decoder 82 is enabled
by a display control 83 (FIG. 4B) which is activated by a Start
Display pulse from the start control 34. The output of the graphic
decoder 82 is applied to 3 storage or actuating devices which, in
the present embodiment of the invention comprise 3 flip flops: a
Count Vertical Up flip flop 84 (FIG. 4A), a Count Vertical Down
flip flop 86, and an Inhibit Horizontal Count flip flop 88.
Depending upon the particular character code in the memory
information register 70, one or two of the flip flops 84, 86 and 88
may, or may not, be set so as to adjust the output state of the
horizontal position counter 18 and vertical position counter 24 for
setting the gross display position for the next character code to
be read out of the memory 10. An example will now be given to
illustrate how a line is displayed by connecting various line
segments and how the gross display position is determined and
set.
FIG. 5 illustrates a graphic line displayed on the screen of the
cathode ray tube 16 as progressing from left to right and in an
upwardly direction and composed of 4 line segments S1 to S4 whose
directional character codes are represented as arrowed line
segments in FIG. 6 and as being stored in memory cells M-1 to M-4
in FIG. 7. During the display memory cycle D1 (FIG. 6) of the
character code which was read out of the memory cell M-1, this
memory character code (1110010, FIG. 19) will be decoded by the
graphic decoder 82 which will proviee an output signal to one of
the flip flops 84, 86 and 88 in accordance with the Next Posittion
indications shown in FIG. 19 alongside the memory codes. According
to FIG. 19, the next position for gross positioning of the cathode
ray tube beam in the vertical direction is up one position (-1)
from point ;1 on the cathode ray tube screen and the next gross
position in the horizontal direction is to the right one position
(+1) from point P1 on the cathode ray tube screen. In accordance
with these designations in FIG. 19, the graphic decoder 82 will
provide an output signal to set the Count Vertical Down flip flop
86. After the display of the line segment S1 in its display cycle
D1, the output from the Count Vertical Down flip flop 86 will count
the vertical position counter 24 down by one count so as to place
the gross position of the cathode ray tube beam at point P2 (FIG.
6). It is understood that in placing the beam at point P2, the
horizontal position counter 18 was also counted up by one count,
however, this was accomplished automatically by a count pulse from
the memory control and timing 40.
During the next display cycle D2 (FIG. 6) for displaying the line
segment S2, neither the Count Vertical Down flip flop 86 nor the
Count Vertical Up flip flop 84 nor the Inhibit Horizontal Count
flip flop 88 is set, so that after the display cycle D2 the
uninhibited count pulse from the memory control and timing 40 to
the horizontal position counter 18 will place the gross position of
the cathode ray tube beam to a point P3.
During the display cycle D3 for the line segment S3 the Count
Vertical Down flip flop 86 is set by the output from the graphic
decoder 82 and the Inhibit Horizontal Count flip flop 88 is set by
the output from the graphic decoder 82. After the line segment S3
is displayed in the display cycle D3, an output signal from the
Count Vertical Down flip flop 86 is applied to the vertical
position counter 24 to count it down by one count and an output
signal from the Inhibit HORIZONTAL Count flip flop 88 is applied to
the horizontal position counter 18 to inhibit the count pulse from
the memory control and timing 40, thus establishing the gross
position for the cathode ray tube beam at point P4. After the next
display cycle D4 for displaying the line segment S4, the gross
position for displaying the next character code to be read out of
the memory 10 will be at point P5.
FIG. 8 illustrates a change in direction in a graph line composed
of Up line segments S5 and S6 and Down line segments S7 and S8. The
character codes for the line segments S5-S8 are considered for
purposes of illustration as being stored in memory cells M-5 to M-8
illustrated in FIG. 10. The manner in which the change in direction
in the graph line shown in FIG. 8 is accomplished and displayed
will now be described.
After the display of the line segments S5 and S6 in their
respective display cycles D5 and D6 (FIG. 9) in a manner similar to
that previously described, the gross position for the cathode ray
tube beam will be established at point P6, similar to the
establishment of point P2 (FIG. 6) described previously. In the
display cycle for the line segment S7, its character code in memory
cell M-7 will be read out in the display cycle, decoded while in
the memory information register 70 by the graphic decoder 82, and
the fifth and seventh bits of the character code in the memory
information register 70 applied as output signals to a Display
Direction Up/Down storage block which in the present embodiment of
the invention is a flip flop 90 (FIG. 4A), thereby causing the
Up/Down flip flop 90 to change states. Graphic decoder 82 will also
provide another output signal to a Change of Direction detector 92
which will compare this signal with the output from the Up/Down
flip flop 90 to detect the change of direction encoded in the fifth
bit of the character code in the memory information register 70.
According to FIG. 19, the diagonal Down line segment S7 (code
1100001) would normally call for a setting signal from the graphic
decoder 82 to the Count Vertical Up flip flop 84 and with no signal
going to the Inhibit Horizontal Count flip flop 88. However, since
a change of direction is to take place, the Change of Direction
detector 92 provides an output signal to set the Inhibit Horizontal
Count flip flop 88. This will cause the gross position for the
cathode ray tube beam to move to point P7 (FIG. 9), as will now be
more fully described.
Two display cycles will be required to display the line segment S7:
a first display cycle D7-1 and a second display cycle D7-2. During
the first display cycle D7-1 in which the gross position for the
cathode beam is at point P6, the display will be blanked as
indicated by the dotted line in FIG. 9 and the Change of Direction
detector 92 will provide an output signal to a memory control 94
(FIG. 4A) which in turn will inhibit the count pulse to the memory
address register 64 from the memory control and timing 40 to
initiate the second display cycle D7-2. Also, during the first
display cycle D7-1, and in accordance with FIG. 19, the Count
Vertical Up flip flop 84 will be set by the output from the graphic
decoder 82 and the Inhibit Horizontal Count flip flop 88 will be
set by the output from the graphic decoder 82. At the end of the
first display cycle D7-1, the Count Vertical Up flip flop 84 will
count up the vertical position counter 24 by one count and the
output from the Inhibit Horizontal Count flip flop 88 will inhibit
the count pulse from the memory control and timing 40 to the
horizontal position counter 18, thereby placing the gross position
for the cathode ray tube beam at point P7 for the second display
cycle D7-2.
During the second display cycle D7-2, the line segment S7 will be
displayed and the Count Vertical Up flip flop 84 will be set by an
output signal from the graphic decoder 82. At the end of the second
display cycle D7-2, the vertical position counter 24 will be
counted up by one count by an output signal from the Count Vertical
Up flip flop 84 to place the gross position of the cathode ray tube
beam at point P8 for displaying the next line segment S8 in its
display cycle D8.
The character codes whose line segments are to be displayed are
loaded into the memory 10 with the aid of a number of graphic keys
96, 98, 100, 102, and 104 (FIG. 21). Depressing any one of the
graphic keys 96, 98, 100, or 102 causes the generation and display
of a line segment which occupies a complete character block in the
vertical direction or diagonal direction, such as the upper 4 line
segments illustrated in FIG. 19. Depressing the Shift key along
with any of the graphic keys 96, 98, 100 or 102 causes the
generation and display of a Half line segment. A Half line segment
is defined as one which occupies a particular half of a character
block. Stated another way, a Half line segment is one which is
displayed either in the upper half of a character block or in the
lower half of a character block. The lower 10 line segments
illustrated in FIG. 19 are the Half line segments. The Shift key is
not implemented for use with the graphic key 104, however, as
indicated in FIGS. 11, 12 and 19, the Right line segments
represented by the graphic key 104 are considered to be Half line
segments. The location of each Half line segment in a particular
half of a character block is encoded in the first 4 bits of the
character code, or memory code (FIG. 19).
When any one of the graphic keys 96-104 is depressed either with or
without the Shift key, the appropriate character code will be
loaded into the memory 10 and its line segment generated and
displayed and connected in the display to the previous line
segment. If the invention is used in a display system such as, for
example, that described in the aforementioned Dodds et al.
application, the line segment entered will be displayed at the
location of a cursor marker symbol and the cursor marker symbol
will then move to the next position. The manner in which the cursor
marker symbol may be generated and displayed is described in the
Dodds et al. application, however, for purposes of the present
invention, only the function and operation of the cursor memory
address register 58, also used in the Dodds et al. application,
will be described briefly in connection with the loading of graphic
character codes into the memory 10.
Thus, whenever one of the graphic keys 96-104 is depressed, a 5-bit
keyboard code (FIG. 19) is encoded in a keyboard encoder 106 (FIG.
4A), detected by a graphic input detector 108 and transferred into
a graphic keyboard storage register 110 which is turned on by an
output signal from the graphic input detector 108. The 5-bit
keyboard code in the graphic keyboard storage register 110 is
converted into a 7-bit memory code in an encoder 112, and the 7-bit
memory code transferred into a graphic input translator 114.
The graphic input detector 108 provides an output signal to a
graphic edit cycle control 116 to initiate a graphic edit memory
cycle by signaling an edit control circuit 118 which in turn
signals the memory control and timing 40 to provide a graphic edit
memory cycle and to inhibit the current keyboard loading cycle.
The purpose of the graphic edit memory cycle is to permit the
determination of the characteristics of the character code stored
in the memory cell preceding the Insert memory cell where the new
information is to be stored. Accordingly, the graphic edit cycle
control 116 counts down the cursor memory address register 58 (FIG.
4B) by one count from the address of the Insert memory cell, the
memory 10 is addressed by the cursor memory address register 58 and
a Read/Write cycle is initiated. The character in the previous
memory cell addressed by the cursor memory address register 58 is
read out into the memory information register 70 via the sense
amplifiers 68 and detected by the graphic decoder 82. The output
from the graphic decoder 82 and the fifth and seventh bits of the
character code in the memory information register 70 are applied to
an Up/Down storage device 120 (FIG. 4A) and a Top/Bottom storage
device 122 both of which in the present embodiment of the invention
are flip flops. The output from the Up/Down flip flop 120 will
indicate to the graphic input translator 114 whether the character
code in the memory information register 70 is an Up or Down
character, that is, whether its line segment is to be displayed as
though it were being drawn in the upward or downward direction, and
the output from the Top/Bottom flip flop 122 indicates, in the case
of Half characters, whether the character code in the memory
information register 70 represents a Half Top character or a Half
Bottom character. The graphic input translator 114 uses the
information from the Up/Down flip flop 120, the Top/Bottom flip
flop 122, and the encoder 112 in order to generate and transmit to
the memory 10 the proper character code. A few examples will
illustrate the performance of this function.
For purposes of illustration, certain ones of the Half Top
characters are shown in FIG. 11 and certain of the Half Bottom
characters are shown in FIG. 12. It is assumed for purposes of
illustration that the graphic key 96 (FIG. 11) and the Shift key
are depressed. This calls for loading into the memory 10 a Half Up
character. The system must determine whether the character to be
loaded into the memory 10 is to be a Half Up Top character or a
Half Up bottom character.
If the preceding character in the memory information register 70 is
a Half Up Bottom character as shown in FIG. 13, the new character
to be loaded into the memory 10 by the graphic input translator 114
will be a Half Up Top character. If the preceding character is a
Half Down Top character as shown in FIG. 14, the new character to
be loaded into the memory 10 will be a Half Up Top character. If
the preceding character is a Half Up Top character as shown in FIG.
15, the new character to be loaded into the memory 10 will be a
Half Up Bottom character
With this information determined by the graphic input translator
114, and on the Write portion of the current graphic edit memory
cycle, the character code in the memory information register 70 is
written back into its cell in the memory 10 via the display
register transfer gates 78, the display register 76, the memory
input data gates 72, and the information drivers 74. The cursor
memory address register 58 is then counted up to its original
position by the graphic edit cycle control 116 (FIG. 4A) so that it
again contains the memory address of the Insert memory cell for
loading into the memory 10 the input character code generated in
the graphic input translator 114.
With the graphic edit memory cycle now complete, the graphic edit
cycle control 116 will signal the edit control 118 which in turn
will provide an output to the memory control and timing 40 to have
it generate another Read/Write cycle to complete the keyboard
loading cycle. On the Read portion of this Read/Write memory cycle,
the address of the character code in the Insert memory cell, where
the input data is to be loaded, is addressed by the cursor memory
address register 58, the existing character code is read out into
the memory information register 70 via the sense amplifiers 68, and
the input character code gated into the display register 76 via the
display register transfer gates 78 from the graphic input
translator 114 by an Input/Output control 124 (FIG. 4A). on the
Write portion of this Read/Write cycle, the input character code in
the display register 76 is written into the Insert memory cell in
the memory 10 via the memory input data gates 72 and information
drivers 74 and the existing character code in the memory
information register 70 discarded. If the gross positioning point
changes, the cursor memory address register 58 is counted up by one
count by the graphic edit cycle control 116.
The invention was specifically designed to generate and display 4
types of lines, however, it is understood that the invention is not
limited to this number of line types. The 4 types of lines are
Normal, Blank, Dotted, and Dashed lines and are generated by
controlling the blanking of the cathode ray tube beam. When a
line-type character code, representing one of these 4 types, is
read from the memory 10, it is decoded in the memory information
register 70 by the graphic decoder 82 which applies an output
signal to the appropriate one of 4 storage devices in a line type
storage 124 (FIG. 4A) which in the present embodiment of the
invention comprises 4 flip flops each representing one of the line
types. Blanking of the cathode ray tube beam is then modulated by a
modulator 126 which receives its input signal from the particular
one of the 4 flip flops in the line type storage 124 and operates a
blanking gate in the symbol generator 32. Modulation of the cathode
ray tube beam by the modulator 126 is continued until a new
line-type character code is similarly read out from the memory 10.
The 4 types of line character codes are loaded into the memory 10
in keyboard loading cycles by means of keys 128 and 130 (FIG. 21)
and the Shift key. When a Blank line character is read out of the
memory 10, blanking of the cathode ray tube beam is turned on. For
generating and displaying a Dashed line, blanking is turned on
during alternate display strokes. For generating and displaying a
Normal line, blanking is controlled in a normal manner by the
symbol generator 32. For generating and displaying a Dotted line,
blanking is modulated at a frequency of one-half the stroke rate.
The following is one example of how the display changes from one
type of line to another, for example, from a Normal line to a Blank
line and then back to a Normal line.
FIG. 16 illustrates a Normal line segment S10 followed by a Blank
line segment S12 followed by a Normal line segment S14 whose
character codes are assumed to be stored in memory cells M-10,
M-12, and M-14 respectively (FIG. 18). At the end of the display
cycle D10 (FIG. 17) for the line segment S10, the gross position
for the cathode ray tube beam will be at point P9. During the next
display cycle D11, a Blank line character code will be read out of
the memory 10 from memory cell M-11 representing a Blank line type.
When this or any other line-type character is being processed, the
horizontal and vertical position counters 18 and 24 do not change,
so that, after the display cycle D11, the gross position for the
cathode beam will remain at point P9. During the display cycle D11
the cathode beam will be blanked.
During the display cycle D12, the character code in memory cell
M-12 is read out, however, blanking of the cathode beam continues
so that the display will appear blank as depicted by the Blank line
segment S12 in FIG. 16. At the end of the display cycle D12 and in
accordance with the character code read out of memory cell M-12 and
FIG. 19, the gross position for the cathode ray tube beam will be
at point P10 (FIG. 17). During display cycle D13, the character
code is read out of memory cell M-13 and represents a Normal line,
however, since this is a line-type charcter, as mentioned
previously the horizontal and vertical counters 18 and 24 do not
change so that the gross position remains at point P10 and blanking
of the cathode beam continues through display cycle D13. In the
display cycle D14 for the line segment S14, the beam is unblanked
and the line segment S14 is displayed with the gross position at
point P10.
In order to establish a starting point for a graph, or the next
graph, a Start of Line key 132 (FIG. 21) is provided for loading
into the memory 10 a Start of Line character code (FIG. 20). When
the Start of Line character code is read out of the memory 10 in a
display memory cycle, it is detected in the memory information
register 70 by the display register decoder 80 which signals the
memory control and timing 40 to have it set flyback of the cathode
ray tube beam by resetting both the horizontal and vertical
position counters 18 and 24. This positions the cathode ray tube
beam to the left or first character position on the top or first
line of the cathode ray tube screen for starting the next graph.
The cursor memory address register 58 is also reset by the graphic
edit cycle control 116 to its first position coresponding to the
first or left character position on the top or first line of the
cathode ray tube screen.
Another feature of the invention is its capacity for generating and
displaying a moveable scale in the form of intersecting horizontal
and vertical lines. The horizontal scale line 133 (FIG. 2) is
formed by displaying a series of 80 Right Line segments (FIG. 19)
and the vertical scale line 135 is formed by displaying a series of
25 Down line segments.
The scale is displayed prior to the beginning of the display memory
cycles and its display is initiated by the Start Display pulse from
the start control 34 to a scale control 134 (FIG. 4B). The scale
control 134 activates a scale character generator 136 which
generates the 25 Down character codes for the vertical scale and
the 80 Right character codes for the horizontal scale. The scale
character codes generated in the scale character generator 136 are
transferred sequentially by the logic in the scale control 134 to
the memory information register 70 to be displayed.
The X and Y coordinates of the scale are stored in two registers: a
seven-bit X coordinate storage register 138 (FIG. 4B) for storing
the X coordinate of the vertical scale and a five-bit Y coordinate
storage register 140 for storing the Y coordinate of the horizontal
scale. Depressing a Horizontal Down key 142 (FIG. 21) causes the
logic in the scale control 134 to count up the vertical position
counter 24 by one count so as to move the horizontal scale line 133
(FIG. 2) down one line on the screen. Depressing a Horizontal Up
key 144 (FIG. 21) similarly causes the vertical position counter 24
to be counted down by one count so as to move the display of the
horizontal scale line 133 one line up on the screen. Depressing a
Vertical Right key 146 causes the logic in the scale control 134 to
count up the horizontal position counter 18 by one count so as to
move the display of the vertical scale line 135 (FIG. 2) one
position to the right on the screen. Depressing a Vertical Left key
148 (FIG. 21) similarly causes the horizontal position counter 18
to be counted down by one count so as to move the display of the
vertical scale line 135 one position to the left on the screen.
When the scale display is initiated by the Start Display pulse
(FIG. 4B), the contents of the X coordinate register 138 is
transferred by the scale control 134 into the horizontal position
counter 18. The horizontal position counter 18 is then counted up
or down, as the case may be, in the event that one of the keys 146
or 148 was depressed after which the contents of the horizontal
position counter 18 are transferred back to the X coordinate
storage register 138. The vertical scale line 135 is now displayed.
At the end of the vertical scale line display, flyback is set by
the memory control and timing 40 by resetting both the horizontal
and vertical position counters 18 and 24. The contents of the Y
coordinate storage register 140 is next transferred by the scale
control 134 into the vertical position counter 24. The vertical
position counter 24 is then counted up or down, as the case may be,
in the event that one of the keys 142 and 144 or depressed, and
then the contents of the vertical position counter 24 transferred
by the scale control 134 back to the Y coordinate storage register
140. The horizontal scale line 133 is now displayed. During the
scale display, the memory 10 is deactivated.
* * * * *