Display System

Kievit July 13, 1

Patent Grant 3593310

U.S. patent number 3,593,310 [Application Number 04/824,653] was granted by the patent office on 1971-07-13 for display system. This patent grant is currently assigned to A.B. Dick Company. Invention is credited to James M. Kievit.


United States Patent 3,593,310
Kievit July 13, 1971

DISPLAY SYSTEM

Abstract

A system is provided for enabling the information being displayed on a cathode-ray tube of a display system to appear to move upward or downward vertically across the face of the tube.


Inventors: Kievit; James M. (Des Plaines, IL)
Assignee: A.B. Dick Company (Chicago, IL)
Family ID: 25241972
Appl. No.: 04/824,653
Filed: May 14, 1969

Current U.S. Class: 345/685
Current CPC Class: G09G 5/343 (20130101)
Current International Class: G09G 5/34 (20060101); G06f 003/14 ()
Field of Search: ;340/172.5,324A ;235/157

References Cited [Referenced By]

U.S. Patent Documents
3422420 January 1969 Clark
3426344 February 1969 Clark
3346853 October 1967 Koster et al.
3364473 January 1968 Reitz et al.
3389404 June 1968 Koster
Primary Examiner: Zache; Raulfe B.

Claims



I claim:

1. In a continuous display system of the type wherein a memory stores data in the form of characters in predetermined lines of characters and said data is read out of said memory to be displayed on the face of a display tube at line locations corresponding to the line locations of said memory, means for altering the display location of said data by a line comprising;

means for establishing the address of the last line location at which it is desired to terminate the alteration operation,

address means for establishing a character address in memory from which readout of said character is to occur,

means for incrementing the address of said address means to sequence through the addresses of successive characters and successive lines of characters,

means for successively reading data character by character from one line of memory whose address is provided by said address means and for writing it back into memory at another line,

detecting means for recognizing coincidence between the address established by said means for establishing and the address reached by said address means and producing a coincidence signal responsive thereto,

means responsive to said coincidence signal for writing zeros into the last line location of memory from which readout occurs, and

means responsive to said coincidence signal and the completion of the writing of zeros in the last line for terminating operation of said previously recited means whereby said data upon subsequent readout is displayed, displaced by a line.

2. In a continuous display system as recited in claim 1 wherein said address means includes:

a first counter means for indicating the line address of a character and a second counter means for indicating the address of the character along a line,

said means for successively reading data includes means for generating alternate read strobe and write strobe signals,

memory control means responsive to a read strobe signal and the address indicated by said first and second counters to read a character out of said memory from said address and responsive to a write strobe signal and the address indicated by said first and second counters to write the character read out of said memory back into memory at the address indicated by said first and second counters,

first address change means responsive to said read strobe signal to alter the count of said first counter means before the occurrence of the succeeding write strobe signal, and

second address change means responsive to said write strobe signal to alter the count of said second counter means before the occurrence of the succeeding read strobe signal.

3. In a continuous display system as recited in claim 2 wherein said first address change means includes means for increasing the count of said first counter means, and said second address change means includes means for decreasing the count of said second counter means.

4. In a continuous display system as recited in claim 2 wherein said first address change means includes means for decreasing the count of said first counter means, and said second address change means includes means for increasing the count of said second counter means.

5. In a display system wherein characters of data are stored in a memory at address locations, each of which corresponds to an address location on the face of a display tube upon which the data will be displayed, each character of said data having an address location in the form of a horizontal position along a line designated by Xa where "a" is a number indicating the position along a line and a vertical position designated by "Yb" where "b" is a number indicating the vertical position of said line, there being a cursor address means for providing addresses for write into memory, a display address means for providing addresses for readout of memory for display, and a memory address means for addressing said memory for write in responsive to said cursor address means or read out responsive to said display address means, means for altering the address of said data in said memory by a line and for enabling data display at said new line address comprising;

means for applying only said cursor address means output to said memory address means for readout as well as write in,

means for alternately ordering a readout of a character from memory and a write back of said character in memory,

means responsive to said means for alternately ordering for changing said cursor address means in sequence after a read out from Xa, Yb to Xa, Yb-1; and then after a write in to Xa+1, Yb, then after a readout to Xa+1, Yb-1, then after a write in to Xa+2, Yb, . . . until the address Xa+n, Yb-n has been reached, where Xa,+nis the X address of the last character in memory and Yb-n is the Y address of the last character in memory,

means for sensing when the address of a last line of characters in said memory is reached,

means responsive to the output of the means for sensing for erasing said last line of characters after it has been read, and

means responsive to the erasure of said last line of characters for terminating the operation of all of said aforesaid means.

6. In a display system wherein characters of data are stored in a memory at address locations, each of which corresponds to an address location on the face of a display tube upon which the data will be displayed, each character of said data having an address location in the form of a horizontal position along a line designated by Xa where "a" is a number indicating the position along a line and a vertical position designated by Yb where "b" is a number indicating the vertical position of said line, there being a cursor address means for providing addresses for write into memory, a display address means for providing addresses for readout of memory for display, and a memory address means for addressing said memory for write in responsive to said cursor address means or read out responsive to said display address means,

means for altering the address of said data in said memory by a line and for enabling data display at said new line address comprising;

means for applying only said cursor address means output to said memory address means for read out as well as write in,

means for alternately ordering a read out of a character from memory and a write back of said character in memory,

means responsive to said means for alternately ordering for changing the address of said cursor address means in sequence after readout from Xa, Yb to Xa, Yb+1, then after a write in to Xa+1, Yb then after a readout to Xa+1, Yb+1, then after a write in to Xa+2,Yb, . . . until the address Xa+n, Yb+n, has been reached where Xa+n, Yb30 n is the X, Y address of the character in memory at which it is desired to terminate the operation,

means for sensing when the address of a last line of characters in said memory is reached,

means responsive to the output of the means for sensing for erasing said last line of characters after it has been read, and

means responsive to the erasure of the last line of characters for terminating the operation of all of said aforesaid means.

7. In a continuous display system of the type wherein a memory stores data in the form of characters in predetermined lines of characters, and said data is read out of said memory to be displayed on the face of a display tube at line locations corresponding to the line location addresses in said memory, means for shifting said data downward by a line comprising:

means for establishing an address corresponding to a location on said display tube at which it is desired to terminate a downshift operation,

means for reading data from said memory commencing with the address of data stored in the next to the last line in memory, reading each line of data above the next to the last line out of said memory and writing each line of data back into the line location immediately below the line from which readout has occurred,

coincidence detecting means for detecting when the address of the line which is read from memory is the same as the address which was established and producing a signal,

means for erasing the line of data which is stored at the address for terminating said downshift operation responsive to said coincidence detecting means signal, and

means rendered operative when said line of data has been erased for terminating further operation of all of the aforesaid means to terminate said downshift operation.

8. In a continuous display system for successively reading data out of memory and displaying it, wherein a memory stores data in the form of characters in predetermined lines of characters and said data is read out of said memory to be displayed on the face of a display tube at line locations corresponding to the line location addresses in memory,

means for shifting said data upward by a line comprising:

means for storing an address corresponding to the location of the last line of data displayed on said display tube,

means for reading data from said memory commencing with a desired line address and successively reading each line of data below said desired line address and writing each line of data back in said memory at a line address above the location address from which a line of data is read out,

coincidence detecting means for detecting when the address of the line which is read from memory is the same as the address which is stored,

means for erasing the line of data which is stored at the address of the last line of data in said memory responsive to said coincidence detecting means signal, and

means for terminating further operation of all of the foregoing means after said line of data is erased to terminate said upshift operation.

9. In a continuous display system for successively reading data out of memory and displaying it wherein a memory stores data in the form of characters at addresses established by line and position along a line, said memory being addressed for write in and read out by a line counter means and a character counter means, and data read out of said memory is displayed on the face of a display tube at line locations and locations along a line corresponding to the line location addresses in said memory, means for shifting said data display and storage downward by a line comprising:

means for establishing the address at which it is desired to terminate,

means for causing said line counter means to increase its count until it indicates the address of the next to the last line in said memory,

means for reading out of memory a character at the address indicated by said line and character counter means,

means for increasing the count of said line counter means by one count,

means for writing said readout character back in memory at the new address established by said line and character counter means,

means for decreasing the count of said line counter by one count and for increasing the count of said character counter means by one count,

means for detecting when the address of the data being read out of said memory corresponds to said established address and producing a coincidence signal output,

means responsive to said coincidence signal for erasing the line of data from memory at said established address, and

means responsive to a termination of said coincidence signal to terminate the operation of all of said foregoing means to terminate said downshift operation.

10. In a continuous display system for successively reading data out of memory and displaying it wherein a memory stores data in the form of characters at addresses established by line and position along a line, said memory being addressed for write in and read out by a line counter means and a character counter means, and data read out of said memory is displayed on the face of a display tube at line locations and locations along a line corresponding to the line location addresses in said memory, means for shifting said data display and storage upward by a line comprising:

means for reading out of memory a character at the address indicated by said line and character at the address indicated by said line and character counter means, to be displayed on said display tube,

means for decreasing the count of said line counter means by one count,

means for writing said displayed character back in memory at the new address established by said line and character counter means,

means for increasing the count of said line counter and of said character counter by one count,

means for detecting when the address of data being read out of said memory has reached the last line in said memory and producing a coincidence output signal,

means responsive to said coincidence signal for erasing the last line of data from said memory, and

means responsive to a termination of said coincidence signal to terminate the operation of all of the aforesaid means to terminate said downshift operation.

11. In a continuous display system of the type wherein a memory stores data in the form of characters in predetermined lines of characters, and said data is read out of said memory to be displayed on the face of a display tube at line locations corresponding to the line locations in said memory,

the steps of downshifting said data downward by a line comprising:

storing the address of a location on said display tube at which it is desired to terminate a downshift operation,

reading character by character from memory commencing with the next to the last line in memory and successively for each line of data above the next to the last line, reading a line of data out of said memory, writing each character read from memory back into memory on the line below the line from which data has been read out,

detecting when the address of the line which is displayed is the same as the address which was stored and producing a coincidence signal,

erasing the line of data which is stored at the address for terminating said downshift operation responsive to said coincidence signal, and

terminating further downshift operation at the termination of said coincidence signal.

12. In a display system of the type wherein a memory stores data in the form of characters in predetermined lines of characters, and said data is read out of said memory to be displayed on the face of a display tube at line locations corresponding to the line locations in said memory,

means for shifting said data downward by a line comprising:

means for storing the address of a location at which it is desired to terminate a downshift operation,

means, commencing with the next to the last line in memory, and successively for each line of data above the next to the last line, reading a line of data out of said memory and writing it back into the line location immediately below the line from which readout has occurred,

coincidence detecting means for detecting when the address of the line which is being written is the same as the address which was stored,

means for erasing the line of data which is stored at that address responsive to said coincidence detecting means signal, and

means for terminating further downshift operation when said line of data has been erased.
Description



CROSS-REFERENCES TO RELATED APPLICATION

This application is directed to an improvement in an application for a "Display System" by Kite et al., Ser. No. 704,967, filed Jan. 2, 1968, and assigned to a common assignee.

BACKGROUND OF THE INVENTION

This invention relates to display systems which display data on the face of a television monitor, and more particularly to an arrangement for enabling such data to appear to be traveling vertically up or down across the face of the tube.

It is often times desirable to insert a line of information into lines of data being displayed across the face of a cathode ray tube. This requires a means to shift all, or a portion, of the display up or down by an increment of one display line. Up shift deletes the line at the top of the displaced display and by displacing information upward leaves information leaving room at the bottom of the displaced display to insert a line. Downshift deletes a line from the bottom of the display information and by displacing information downward leaves room at the top of the displaced display to insert a line.

OBJECTS AND SUMMARY OF THE INVENTION

The feature of this invention is the provision of an upshift, or downshift arrangement whereby data is stored in the memory of a display system is made to appear to move upward or downward across the face of a display tube.

Another feature of this system is an arrangement whereby information is upshifted or downshifted across the face of a display tube in a display system which operates at commercial television frequencies.

Still another feature of this invention is to provide a means to shift all or a portion of a display up or down an increment of one display line whereby a line is opened up and new information may be inserted therein.

The foregoing and other features of the invention are achieved in an arrangement wherein a display system has a memory having a capacity for storing for each display location on the face of the display tube, a code representing an alphanumeric character. The addresses of the locations in the memory correspond to the addresses of the location on the cathode ray tube face as determined by a character counter, which counts the number of lines of characters displayed on the display tube.

For an upshift operation, means are provided for reading the characters in a line of data out of memory one at a time and rewrite them into memory at an address one line above. Means are provided, when a downshift operation is signalled to go from a given address to the next to the last line of the tube, then to read out characters from a line of memory, and rewrite them in memory one line below. This continues until the given line address is reached.

The novel features of the invention are set forth with particularlity in the appended claims. The invention will best be understood from the following description when read in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating the general layout of a display system in accordance with this invention.

FIG. 2 is a detailed block diagram of a display control unit in accordance with this invention.

FIG. 3 is a block schematic drawing of the display counter control circuit 32.

FIG. 4 is a block schematic drawing of the X and Y matrix counters.

FIG. 5 illustrates a character constructed of selected dots in a dot matrix in accordance with this invention.

FIG. 6 is a block schematic of the display line and character counters.

FIG. 7 is a block schematic diagram of the cursor generator and line and character counters.

FIG. 8 is a block schematic diagram of the memory address generator.

FIGS. 9A, 9B, 10 and 11 are block schematic diagrams of the logic circuits required for upshift and downshift control in accordance with this invention.

FIG. 12 is a timing diagram for the upshift function.

FIG. 13 is a timing diagram for the downshift function.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Since the present invention is an addition to the invention described in the application for "Display System," previously mentioned, in order to understand the operation of this invention, it will be necessary to describe some of the display system. FIG. 1 illustrates a general arrangement of the display system which comprises a standard TV monitor 10, (more than one may be used if required,) which displays human readable data. Digital data may be entered into the system from any data source, illustrative of which there is shown a tape reader 12 and/or a typewriter keyboard 14. This data is fed into a display control unit 16 whose function it is to store the data in a manner so that it may be properly read out for display on the TV monitor or sent to some other utilization device 18, such as Keypunch, a printout device, etc. The display control unit also includes a novel character generator which, in response to the data representative code produces the video signals which are displayed as readable data on the TV monitor 10.

FIG. 2 is a block schematic diagram illustrating details of the display control unit. A tape reader 12 or a typewriter keyboard 14 are well known, and commercially available pieces of hardware. For the purposes of this invention, and in the manner that they function normally, the tape reader produces as an output 8 binary signals together with a strobe pulse, each time a character is read out. Seven of the eight bits represent an alphanumeric character. The eighth bit is parity. The keyboard 14, which can be a facsimile typewriter, also produces at its output 7-bit character signal with an eighth bit having parity significance, together with a strobe pulse. In each of these cases, the signals are produced in parallel on eight data lines and a strobe pulse is produced on a ninth line. The signals are applied to interface circuits 60.

Basic operating synchronization signals for the display control unit may be obtained from an external source of sync signals 16. This external sync signal source may comprise either a television station sync generator, or a composite video signal such as may be obtained from a video tape device. Signals from either of these may be processed to provide horizontal sync signals and vertical sync signals. If composite video is provided, this is applied directly to an OR gate 18 the output of which goes to a sync separator circuit 22. This functions in well-known manner to separate the horizontal sync from the vertical sync. If composite video is provided by the external video signal source, then this is applied to a video blanking circuit 20, which constitutes well-known circuitry for applying a blanking pulse to the composite video during the video interval. This leaves composite sync signals. These are applied to the OR gate 18 and thereafter to the sync separator circuit to be separated into horizontal and vertical sync signals.

The composite sync signals, which are the output of the OR gate 18 are supplied, at the output of the display control unit, to the TV monitor which is used to reproduce the video signals. The vertical sync or vertical drive pulse which is the output of the sync separator 22, is used to reset a display character counter 24, and a display line counter 26, to assure that each field which is to be displayed starts properly. The display character counter has its count advanced by one, for each character being displayed on a line of characters. The display line counter 26 has its count advanced by one for each line of characters which is displayed. Thus, the address of the last character being displayed is always available from the output of these counters. Actual video display commences after the first 24 horizontal sync pulses which follow the vertical sync pulse and continues until 16 rows of character video are displayed.

There are 32 characters on each line. The first horizontal sync pulse initiates the operation of a display counter control circuit 32. The counter control circuit can start a gated clock circuit 28 where frequency equals the picture element rate of 8 megacycles. The start of the operation of the gated clock is delayed, following the horizontal drive pulse, by approximately 12 microseconds until the first character position in a line of characters is reached. The clock turns on and then continues to operate until the final character in a line is completed. Each character position is defined by a dot matrix in which only those dots are illuminated which form a desired character. Each character used 9 dot positions along a line for the actual character display plus 3 guard band positions. The total number of clock pulses generated per line is therefore 12 times 32 (32 characters per line) or 384 pulses.

The display counter control also receives vertical sync pulses which are used for reset purposes. The gated clock output is used to drive an x-matrix counter 34, causing it to count through 12 counts, 9 counts of which correspond to 9 horizontal positions in a character dot matrix starting from left to right, and the three further counts provide for the guard band or character spacing. The x-matrix counter 34 therefore goes through a full cycle of operation for each character. Count output signals from XI to XII are derived therefrom. Each time the x-matrix counter completes a cycle of 12 counts, it overflows. Its overflow is applied to the display character counter 24 to cause it to advance one count. The display character counter has a count capacity totaling 32, corresponding to the number of characters displayed in each row. Each time the display character counter overflows, it sends the overflow pulse back to the display counter control 32 which in turn uses this overflow pulse to turn off the gated click 28. The gated clock then waits from the next horizontal sync pulse before commencing operation again. The overflow output pulse of the display counter control also enables a y-matrix counter 36 to be advanced one count in response to the next horizontal sync pulse.

The y-matrix counter has a total count capacity of 14 counts. Eleven of these are used to count the vertical dot matrix locations of a character. Three of these are for a guard band space between lines of characters. Count output s designated from Y1 to Y14 are derived therefrom. The overflow output of the y-matrix counter 36 is applied to the display line counter 26 to cause it to advance one count. The display line counter has a total count capacity of 16 corresponding to the 16 lines of characters which are displayed in one field of this invention.

A character generator 38 is provided which has applied thereto the count outputs of the x and y matrix counters. In response to these, the character generator generates video signals representing each one of the alphanumeric characters which the system is capable of displaying. In an embodiment of the invention which has been built and successfully operated, the character generated created 64 alpha numeric characters. The output of the character generator is applied to the video selector 30. This functions to select, in response to a 7-bit alpha-numeric code derived form the core memory 40 of the system, a specific character from all of those being applied to the video selector, which flash is represented by that alphanumeric code. More specifically, the core memory 40 supplies coded signals, one character at a time to an output register 42, which in turn applies them to a data decoder 44 which decodes them successively and enables the video selector to select the proper video character signals. In addition, the video selector 30 is capable of being modulated by a flash control circuit 46. The flash control circuit contains an oscillating circuit that may be turned on by a flash code which is stored in the memory and which is a "nonviewable" character. The flash control 46 remains on until either the next following horizontal drive pulse appears or a space code which separates the following word appears. Operation of the flash control 46 causes all characters of a word that are displayed thereafter to flicker and thus call attention to itself.

After each character is displayed, an unload cycle of the core memory 40 is made to occur to place the alphanumeric signals corresponding to the next character of a row in the output register 42. The address from which the character in core memory is read is provided by the count conditions of the display character counter and display line counter. A specific core memory address is provided for each of the 512 counts which these counters provide. The display character counter 64 and display line counter 66 have their outputs connected to a memory address generator 67, which produces the address information for the core memory 40.

The output of the video selector 30, which comprises the character video signals is applied to a mixer circuit 50 and to an output terminal 52. The mixer circuit combines character video signals with a cursor signal which is provided from a cursor generator 54. The cursor video signal has approximately one-half of the intensity of the character signals. The cursor video signal indicates, on the pattern displayed on the face of the television monitor, the corresponding character signal address in the memory into which the next input character digital signals will be placed when the system is in the write mode. The mixer output is applied to an output terminal 55. In addition, composite sync signals from the output of the OR gate 18 are made available at a terminal 56. These three signals, namely composite sync, character video with cursor, and character video without cursor are thus available at the three output terminals for being applied to a television monitor for display.

The tape reader 12 and the keyboard 14 have their outputs connected to the interface circuitry 60. The interface circuitry serves to check the incoming data lines from either of the two inputs upon receipt of its associated data strobe presented on the strobe lines. If the data is alphanumeric data to be displayed, the input strobe signal triggers a single load cycle of the core memory. This function is provided by the data input control circuit 62. In the load cycle operation, the input character is loaded into the core memory at an address which is determined by the count outputs of the cursor character counter 64 and the cursor line counter 66. The cursor generator 54 detects coincidence between the cursor counters and the display counters and causes the load operation to occur when these counters have the same count. As previously indicated, this occurs at an address in memory corresponding to the position visually indicated by the cursor on the output monitor. Thus, the load operation into the core memory occurs at a location which corresponds to the location of the cursor. From the foregoing it will be appreciated that the memory should provide storage for 512 alpha numeric characters of eight bits per character.

Other signals from the interface circuit are provided in response to the incoming control codes. These specific control codes do not result in a memory load cycle but rather generate signals on appropriate lines out of the interface circuit. These lines perform such functions as cursor on-off, cursor right, cursor left, cursor new line, cursor home, cursor up, cursor down, etc. This will become more clear as this explanation progresses.

During the write mode, as each character is loaded into the core memory, a single pulse advances the cursor character counter by one count. When the cursor character counter overflows, its output advances the cursor line counter. Input load operations therefore, cause the cursor to be advanced character by character and line by line in a manner similar to the typing operation of a typewriter.

The output register 42 may also be used if desired to transmit data which is within the memory to an external utilization device 19 such as tape or a transmitter or an external printer. An "end of line" or "end of message" circuit 69 driven by the cursor counters, may be used in conjunction with external transmission of data to signal their occurrences to external equipment.

DISPLAY COUNTER CONTROL CIRCUIT 32

Fig. 3

fig. 3 is a block schematic diagram of the display counter control circuit. This circuit arrangement functions to initiate operation of the gated clock oscillator at the proper time so that the subsequent matrix and display counters may commence to operate at the proper time and in the proper time sequence. In a television type display both a top margin as well as a left side margin must be provided for. Essentially the display counter control circuit provides for these delays. The first vertical sync pulse which is delivered by the output of the sync separator 22 is applied to a flip-flop 102 to drive it to its set state. This causes the Q output of the flip-flop to become high. The Q output of the flip-flop enables an AND gate 104 whereby it can pass horizontal sync pulses which are received from the sync separator. These are applied to drive a 24 count counter 106. This counter provides a top margin delay. The 24th count of the counter is used to reset the flip-flop 102 and sets a flip-flop 108. The next vertical sync pulse enables flip-flop 102 again and simultaneously resets the 24 count counter so it can begin counting again.

The Q output of flip-flop 108 enables an AND gate 110 to pass horizontal sync pulses. The output of the AND gate 110 is applied to a delay circuit 112. The delay circuit provides a delay whose duration is determined by the size of the desired left-hand margin on the display tube. The output of the delay circuit 112 sets a flip-flop 114. The Q output of the flip-flop 114, which is high in response to its set input being enabled, is applied to the gated clock oscillator to cause it to commence to produce clock pulses.

Flip-flop 114 is reset by a B16 output, which is received from the display character counter which counts the number of characters displayed on a line. After the last character has been displayed flip-flop 114 is reset so that at the commencement of the next line, signaled by the appearance of another horizontal sync pulse, a delay is provided on the left-hand side of the display tube. The flip-flop 108 is reset by a W8 signal which is provided by the display line counter. This signal occurs after the last character on the last line has been displayed. Accordingly, flip-flop 108 cannot be set again until the counter 106 has counted through its next 24 counts to provide the top magin delay.

Fig. 4

fig. 4 is a block schematic diagram of the x and y dot matrix counters. A character, in accordance with this invention, is made by illuminating selected dots in a dot matrix that extends nine dots in a horizontal direction and 11 dots in a vertical direction. There are five dot spaces allowed between characters on a line to serve as a guard band, and three dot spaces between lines of characters, also to serve as a guard band. Thus, the counter that counts for the horizontal dot placement will have a count capacity of 14 and the counter that counts for the vertical dot placement will have a count capacity of 14.

In FIG. 4, there is shown a horizontal counter 116 which is made up of six flip-flops, respectively 116A through 116F. Each one of these flip-flops is of the type known as "JK" flip-flop. It is well known and commercially purchasable.

Each flip-flop has J, K and C inputs, and Q and Q outputs. When a clock pulse is applied to its C input the flip-flop will transfer to its outputs the state of its J and K inputs. Thus, if the J input is high and the K input is low when a C or clock pulse is applied to the C input, the Q output will be high and the Q output will be low. The J and K inputs are applied to the respective flip-flops from the Q and Q outputs of the respective flip-flops through NAND gates. A NAND gate behaves like an AND gate followed by an inverter. Accordingly, when the two inputs to the NAND gate are high, its output is low and when the inputs to the NAND gate are low, its output is high. When one of the inputs is high and the other is low, the NAND gate output is high.

The counter 116 has the Q and Q outputs of the respective flip-flops 116A through 116E respectively connected to the J and K inputs of the immediately following flip-flops through the respective NAND gates 117A and 117A' through 117E and 117E'. NAND gates 118A and 118A' are connected to the respective J and K inputs of flip-flop 116A. The NAND gate 118A has one input connected to the Q output of flip-flop 116F which is designated as H6. The NAND gate 118A has its inputs respectively connected to the Q outputs of respective flip-flops 116E and 116F. These Q outputs are respectively designated as H5 and H6.

It should be noted that whenever a designation is shown for only one NAND gate input, the other input of the NAND gate is connected to a bias source 120. As the result, a one input NAND gate acts as an inverter to invert the input.

The respective Q and Q outputs of flip-flops 116A and 116F are respectively designated as H1 through H6 and H1 through H6. These are collected by the 12 NAND gates respectively 121, through 135 to provide 14 output count indications in their not form. These are designated by X1 through X14. Thus, upon the occurrence of an H1 and H2 input to NAND gate 121, it will produce an output designated as X1, which is the first output count of the counter. H6 and H7 occurring at the input of NAND gate 126 produce an X6 output, H5 and H6 occurring simultaneously at the input of NAND gate 132 produces an X12 output or a not 12 count output.

The manner in which the counter 116 functions is for each one of the flip-flops to successively assume its one state or state with its Q output high and thereafter each flip-flop successively returns to the state with its Q output high. The counter is cyclic and will repeat this operation in response to successive applications or clock pulses from the gated clock oscillator 134. This oscillator comprises a circuit which, in the presence of an enabling input from flip-flop 114 in FIG. 3, provides successive clock pulses, to the counter 116.

To illustrate how the counter works, assume initially that all the flip-flop stages are in their zero state. The Q output of flip-flop 116F is high. Upon the occurrence of the first clock pulse from the gated clock oscillator 134, flip-flop 116A will be driven to its one state with its Q output high, since its J input is now high and its K input is low. Upon the occurrence of the next clock pulse, flip-flop 116B assumes a one state. This progresses with successive clock pulses until flip-flop 116F assumes its one state. Since, the K input to flip-flop 116A is driven to its high state in response to H6 and H5 which are connected to the NAND gate 118A being high, flip-flop 116A is driven to its zero state with its Q output high. This zero state of the counter 116A is successively passed with the occurrence of each clock pulse to all of the flip-flops in the counter. From an understanding of the operation of this counter, it should now be understood how the inputs to the NAND gates 121 through 132 operate to produce the indicated count outputs.

Counter 140 is identical in construction with counter 116. Accordingly, it can produce 14 count outputs. It advances in respect to pulses obtained from the output of gate 110 in FIG. 3. These are essentially horizontal sync pulses. The NAND gates 141 through 150 are connected to the flip-flop outputs for the purpose of deriving the respective counts 1 through 14 which are in their "not" form. The Q and Q outputs of the respective flip-flops of the counter 140 are respectively designated from V1 through V7 and from V1 to V7. The counter 140, which counts for the vertical dot positions is given a count capacity of 14 counts. Since it is customary to reference the bottom line of a character as a first position and the top of a character as the last position, assuming each location or position of a line were given a number, the bottom of a character would be considered in the Y1 location and the top would be considered in the Y11 location. Therefore, while the present invention displays a character in television raster form, where the top of the character appears first and the bottom last, the count output of the Y matrix counter is given a reverse count designation. That is, the first count of the counter is designated as Y11 the eleven count of the counter is designated as Y1, V1 and V7, which are generated when all of the stages of the counter are in their zero state, are combined to produce a Y14 count. The reasoning for this arrangement will become more clear with a description of FIG. 5.

FIG. 4 shows how pulse signals X1 through X14 and Y1 through Y11 and Y14 are generated. In addition to these signals, other logic signals are required for the operation of this invention. Thus, in FIG. 4, a NAND gate 152 is used to collect X10, X11, X12, X13 and X14 together with the Q output of a flip-flop 154. The Q output of the flip-flop 154 is enabled when a Y14 signal is applied to its clock input. The flip-flop remains set until the occurrence of a Y12 signal (Y5 and Y6). This is produced when counter 140 provides a V5 and V6 output to a NAND gate 156. Thus, flip-flop 154 is set at the end of a counting cycle of counter 140 and is reset upon the occurrence of the twelfth count output of the flip-flop 140. The output of NAND gate 152 is inverted by NAND gate 158 to produce a signal designated as PP1. The X12 of "not 12" count of the counter 116 is inverted by a NAND gate 160 to produce an X12 count.

EXAMPLE OF A DOT MATRIX CHARACTER

Fig. 5

fig. 5 shows the appearance of a character, "A," constructed of selected dots in a dot matrix in accordance with this invention, with the appropriate designations applied to the possible dot locations which may be used for representing a character. There may be as many as 32 of these characters displayed in a line across the face of the display tube. There may be as many as 16 of these lines displayed vertically. These values are given by way of illustration of an operative embodiment of the invention which has been built, and are not to be construed as a limitation upon the invention.

DISPLAY LINE COUNTER AND DISPLAY CHARACTER COUNTER

Fig. 6

the display line counter and the display character counter respectively 26 and 24 are each the usual binary counters with respective count capacities of 16 and 32. Each time an X10 signal is generated by the X matrix counter 34, the display character counter is advanced one count. Each time a Y14 signal is generated by the Y matrix counter 36, the display line counter is advanced one count. The display character counter has its respective outputs designated B1, B1, B2, B2, . . . through B16, B16. The display line counter has its outputs designated as W1, W1, W2, W2, . . . W8, W8. The character counter is the one which keeps track of the number of characters on a line, for which 32 are allowed. The B16 output of the character counter, referring back to FIG. 3, is the output which turns off the gated clock oscillator. This occurs when the last character in a line has been displayed. The last output of the display line counter, which is designated as W8 is the one which turns off flip-flop 108 in FIG. 3. This occurs at the end of the last line which is displayed.

CURSOR GENERATOR 54 AND COUNTERS 64, 66

Fig. 7

the cursor X counter 64 as shown in FIG. 7, is a reversible counter having any of the well-known reversible counter constructions. Its 32 outputs are respectively designated at A1, A1 through A16, A16. This counter is advanced by receiving a signal from whatever external data input device is employed. A signal for advancing the counter is supplied with each character when the display control is in its "write" mode. Such a signal is supplied from the typewriter to the "cursor right" input of the counter. The counter may be made to count in reverse by receiving an input signal on its "cursor left" terminal, from the typewriter keyboard. The cursor signal, which by way of example has been indicated as a background display of half intensity for a character, will occur at the proper time, at a location along a line determined by the count output or by the address represented by the count output of counter 64.

A cursor Y counter, which is similar in construction and operation to the cursor X counter, has a 16 count capacity and is also reversible. This counter is advanced by signals from the keyboard applied to its "cursor down" terminal and is caused to count backwards in response to pulses received which are applied to its "cursor up" terminal. This counter establishes, by its output, the line address on which the cursor signal is displayed. The output of this counter is designated by Z1, Z1 to Z8, Z8, with the Z8 signal being the 16the or highest count output of the counter.

The cursor is displayed only when there is a concurrence in the address indicated by the cursor counters and the display counters. To achieve this operation, a comparator circuit 162 compares the address outputs of the counter 64 and the counter 24, shown in FIG. 6, and when there is an identity it provides an output signal to a NAND gate 164. Another input to this NAND gate is the PP1 signal which is generated by the logic shown in FIG. 4. This PP1 signal, in view of the presence of the inverter 158, (in FIG. 4), is present from X1 through X9 time. From X10 through X12 time, the PP1 signal is not present and no output is obtained from NAND gate 164. Upon the occurrence of a comparator signal and a PP1 signal, a JK flip-flop 166 is driven so that its Q output is high. This flip-flop is reset upon the occurrence of an X10 signal.

The occurrence of the cursor on a particular line is determined by the output of a comparator 170. This comparator compares the addresses provided by the output counts of the cursor counter 66 and the display line counter 26. The output of the y comparator 170 is applied to the NAND gate 168. The typewriter keyboard 14 will have a key which can be operated to actuate a circuit which can provide a voltage to a third input to the NAND gate 168 designated as the "cursor on-off" input. When this voltage is not present, no cursor is provided. This circuit is shown subsequently herein in FIG. 18.

Therefore, NAND gate 168 functions to provide a cursor signal output when there is a concurrence in the addresses at the outputs of the cursor x and y counters and the display character and line counters. Since the display counters are sequenced continuously through their count states, there will be concurrence of cursor and character counters only at one location over the entire face of the display tube. Accordingly, the cursor will be displayed at one character location only.

The memory storage device which is employed with this embodiment of the invention should be able to store, for readout onto the face of a display tube, as many characters as will be displayed across the face of the tube. The example given by way of illustration herein is 32 times 16 or 512 characters, or more correctly the code bits to represent 512 characters. Thus a total of at least 8.times.512 or 4,096 bits is required. There should be a character location in the memory which corresponds to the location on the display tube face at which that character is to be displayed. The memory must be addressed successively for the purpose of successively reading out the characters for display. The successive addressing of the memory is a function of the display counters.

The address of a location in the memory into which data is to be entered or read out (output data not display) is indicated by the address of the cursor. This address can be changed by applying signals to the cursor counters which establish the line and the location along the line desired for the cursor, and thereby the location in the memory into which data will be introduced. The cursor counters may be advanced by actuation of the typewriter keyboard in a normal manner for the purpose of writing character by character into the memory. Provision may also be made for advancing the cursor counters when input of characters is from a tape reader or any other source.

MEMORY ADDRESS GENERATOR 67

Fig. 8

fig. 8 is a schematic representation of a memory address generator. By way of illustration, and not to serve as a limitation, a magnetic core memory was employed with an embodiment of this invention which was built and operated.

The memory address generator addresses the memory for the purpose of reading out the data stored therein which is converted into video signals and then displayed. The address generator also provides the address of the locations into which incoming data or readout data is stored. The display character and line counters provide the address information for instructing the memory as to the location from which display readout is to occur. The cursor X and Y counters provide the address information for instructing the memory as to the location at which data is to be entered.

As may be seen in FIG. 6, the memory address generator merely comprises a number of gates which are connected to the outputs of the respective display and cursor counters. The set of gates connected to the display counters are enabled during the process of display readout whereby the address presented to the memory is that indicated by the display counters. Alternatively, the gates connected to the cursor counter are enabled when write or readout operation for this invention is desired. The outputs from the flip-flops making up the display character counter 24 are respectively applied to each one of the NAND gates 171 through 175. It should be remembered that the counter 24 is a binary counter and its output presents a binary code pattern representative of one of its 32 counts. The inputs to these NAND gates are designated by the terminology B1, B2, B4, B8 and B16, which corresponds to the outputs shown for the counter 24 in FIG. 6. Similarly, the W1, W2, W4 and W8 outputs of the line counter 26 are respectively applied to the NAND gates 176, 177, 178 and 179.

The five outputs of the cursor character counter 64 are respectively applied to the respective counter 26 are respectively applied to the NAND gates 176, 177, 178 and 179.

The five outputs of the cursor character counter 64 are respectively applied to the respective NAND gates 180, 181, 182, 183 and 184. The outputs of the cursor line counter 66 are respectively applied to the respective NAND gates 185, 186, 187 and 188. NAND gate 189 receives the output of NAND gates 171 and 180. NAND gate 190 receives the output of NAND gates 172 and 181. NAND gate 191 receives the output of NAND gates 173, 182. NAND gate 192 receives the outputs of NAND gates 174 and 183. NAND gate 193 receives the outputs of NAND gates 175 and 184. NAND gate 194 has applied to it the outputs of NAND gates 176 and 185. NAND gate 195 receives the outputs of NAND gates 177 and 186. NAND gate 196 receives the outputs of NAND gates 178 and 187. NAND gate 197 receives the outputs of NAND gates 179 and 188.

An inverter 199 receives a signal from a read-write signal source 200, shown on FIGS. 9A, 9B, which is actuated by the typewriter keyboard or other input data source, when in the write mode. Otherwise, and normally, a low signal is received from the read-write signal source. Accordingly, the output of inverter 199 is high when in the read mode and is low when in the write mode. The output of inverter 199 is applied to an inverter 201 as well as to all of the NAND gates 171 through 179. The output of inverter 201 is applied to all of the NAND gates 180 through 188.

In the read mode, the output of inverter 199 is high whereby the NAND gates 171 through 179 are all enabled. The high input to inverter 201 results in a low output whereby NAND gates 180 through 188 are not enabled. Thus, the outputs of NAND gates 189 through 197 will be the outputs of NAND gates 171 through 179 or the address data from the display counters. In the readout or WRITE mode of operation, a high signal is applied to the input of inverter 199. This is inverted thus holding NAND gates 171 through 179 disabled. However, the inverter 201 will provide a high or enabling input to the NAND gates 180 through 188. As a result the NAND gates 189 through 197 will provide an address to the memory which constitutes the count outputs of the two cursor counters.

The memory which is to be employed with this invention may be any digital storage type memory. One that is preferred is the well-known magnetic core memory. The operations of addressing such a memory, entering data for storage and addressing such memory for writing and reading out the stored data are well known and accordingly need not be discussed here.

SUMMARY

As described thus far the display character counter 24 and the display line counter 26 provide an address which is used as the address of a character in memory as well as the location that that character is displayed on the face of the cathode-ray tube. The character read out of the core memory is entered into a display register where it is held for the purpose of being decoded and then applied to a video selector which selects the one of the video signals generated by a character generator, which corresponds to the character read from the memory. The output of the video selector is applied to a mixer circuit, if it is also desired to display the cursor on the CRT face. Otherwise the video selector output may be directly applied to the face of the CRT.

The timing problem is solved by the manner in which the display and matrix counters are driven. The display character counter has its count advanced once for every character to be displayed. The X matrix counter has its count advanced 12 times for every character to be displayed. The display line counter has its count advanced once for every line of characters which are displayed. The Y matrix counter has its count advanced 14 times corresponding to 14 video lines for each line of characters to be displayed. Logic gates select from the X and Y matrix counters the addresses within a dot matrix which are to be illuminated whereby a character is displayed. The character displayed is the one selected by the address represented by the count outputs of the display character and line counters.

The description given thus far is from the application for Display Device filed for Martin Kite et al., as previously indicated. The description of the present invention follows.

SUMMARY OF UPSHIFT AND DOWNSHIFT OPERATION

A brief description of the upshift operation is as follows. The cursor is placed by means of the keyboard control, at a location at which it is desired that an upshift operation commence. Thereafter, the upshift key is depressed at the keyboard. The address of the readout from the memory is then no longer under the control of the character and line counter, but is completely under the control of the cursor character and cursor line counter. The logic provided reads the character from memory moves the cursor location from the one indicative of the character to be read out from memory to a location on the line immediately above the one where the character read out from memory would have been otherwise displayed. The character is written back into memory at this location. The cursor character counter is then incremented by one, causing the cursor to move one character position to the right, and the cursor line counter is then incremented by one causing the cursor line position to drop down one line. The memory is then addressed again by the cursor counters and the cycle just described is repeated. When the cursor reaches the end of the line, it is transferred to the beginning of the next line which is the address of the next line of characters to be read out from memory.

The upshift operation continues until the end of line 16 has been read out and rewritten in line 15. At this time, the information stored for line 16 which has just been written on line 15, is erased from line 16, and the cursor is transferred to the beginning of line 16 to await the entry of new information from the keyboard.

On the downshift operation, an address at which downshift operation should terminate is stored. Upon application of the downshift signal, the cursor is stepped down until it reaches the line 15 address position. Readout of characters then commences in a manner somewhat similar to the upshift manner of character readout. The data stored in line 15 is written on line 16. The data stored in line 15 is written on line 16. The data stored on line 14 is written on line 15, etc. This operation continues until the cursor reaches the stored address, when the operation terminates after erasing one line.

UPSHIFT OPERATION DETAIL

Reference will now be made to FIGS. 9A, 9B, 10, and 11 and timing diagram 12. FIGS. 9A, 9B, 10 and 11 are a block schematic diagram of the logical circuitry employed for the upshift operation.

An upshift key 202, which is on the input typewriter keyboard or other input device, is actuated when the upshift operation is desired. This applies a positive pulse signal to an inverter 204, whose output is applied to a flip-flop 206. The flip-flop is set in response to its input providing a US signal at its set output and a US signal at its reset output. The US signal from flip-flop 206 is applied to an OR gate 208. The output of the OR gate 208 is applied directly to the reset input of a flip-flop 210, and through an inverter 212 to the set input of the flip-flop 210. This flip-flop is of the JK variety, and requires a clock pulse in order to assume the state established by its inputs. The clock pulse for this flip-flop is provided by the system vertical sync signals. In the presence of a US signal and upon the occurrence of the next vertical sync pulse, flip-flop 210 is driven to its reset state or state where one of its outputs designated as SH is high and the other of its outputs designated as SH is low. The SH output is applied to an AND gate 214. This AND gate requires, as its second input, a DS or downshift signal. This signal is not present at this time, therefore no output is obtained from the AND gate 214.

The SH output is applied to an OR gate 216. The other input to this OR gate is the keyboard read/write signal source 200. That is, these are the read/write memory address control signals which are generated in the normal mode of operation of the system which instructs the memory to display from the address provided by the character counters and to write or readout in the address provided by the cursor counter. The output of the OR gate 216 is applied to the inverter 199 in FIG. 8 to thereby cause the memory to be addressed for both read and write operations by the address in the cursor line and character counters.

The gated multivibrator 218, is gated on in the presence of three signals. These are the reset output of flip-flop 220, and an SH signal, or a US or DS signal. Since flip-flop 220 is in its reset state and SH and US signals are present, the multivibrator commences oscillating and provides as its output alternatively WR and WR pulses. The WR pulse is applied to a pulse shaper 220 to be squared, and then is applied to an OR gate 222. The output of the OR gate is a read strobe signal, which is applied to the memory to cause it to read out a character from the address indicated by the memory address gates. The address in this instance would be that indicated by the cursor X and Y counters. When the display device is not in upshift or downshift mode, the normally generated read strobe signal is applied to an AND gate 224, whose other input is a US+DS signal. An output of the AND gate 224 is applied to OR gate 222 when the normal addressing operation of the memory is to take place.

The WR output of the multivibrator 218 is applied to a pulse shaper 226, whose output is thereafter applied to an OR gate 228. The output of the OR gate 228 is the write strobe signal for the memory to instruct it to write back into the memory a character which has just been read out.

For normal writing operation, an AND gate 230 has its output connected to the OR gate 228. The two required inputs to this AND gate are the US+DS signal and the normal write strobe signal.

To summarize the operations achieved thus far, upon actuation of the upshift key, after the next vertical sync signal, the memory read/write addressing operation is now directed solely by the address displayed by the cursor line and character counters. Alternate reading and writing strobe signals for causing the memory to read and write in response thereto are initiated.

In FIG. 10 there is shown a line address register 232. Upon the occurrence of the US signal, all 1's are directly entered into this register representing the cursor line address in the last line of the display, or the 16th line.

Referring now to FIG. 11, at the beginning of each memory operation, (comprising either readout of a character or a write in of that character), a double pulse, as shown in FIG. 12, which is designated as SU is generated by an SU pulse source is applied to two NAND gates respectively 234, 236. The other input to the NAND gate 234 is a US+DS signal. The second input to the NAND gate 236 is a US+DS signal. In the normal mode of operation of the display system, the double SU pulses can pass through the AND gate 234 to an OR gate 238. The output of this OR gate is applied to the cursor right terminal of the cursor X counter 64 shown in FIG. 7. The output of OR gate 238 is also applied to an AND gate 240, whose other required input in the WR signal. This effectively corresponds to the write strobe signal. Accordingly, no output is derived from AND gate 240 except when the display device is operating in either the upshift or downshift mode.

In the upshift or downshift mode of operation, an AND gate 240 output is achieved in the presence of the WR signal. This signal is slightly delayed by a delay network 242, and then applied to a trailing edge detector 244. The output of the trailing edge detector is a coincidence strobe signal hereafter designated at CS.

The output of the NAND gate 236, which only occurs when the display system is operating in either the upshift or downshift mode, is a double pulse (corresponding to the SU double pulse). This is applied to a one shot pulse stretcher 246. This circuit operates to convert the double pulse into a single pulse. The output of the one shot pulse stretcher is a single broad pulse designated as SU. The trailing edge of this output is applied to the NOR gate 238, and the actual broad pulse is applied to the one shot 248. The one shot 248 is inhibited in the presence of a WR signal, which is applied to the one shot 248. The one shot 248 is inhibited in the presence of a WR signal, which is applied to the inverter 250 whose output serves to inhibit the one shot. Accordingly, in the absence of ea WR signal the output of the NOR gate 238 again consists of two narrow SU* pulses. In the presence of a WR signal the output consists of a single SU* signal. The timing of these signals as well as their waveforms may be seen in FIG. 12. Since a character is displayed in the next character time after the one during which it is read out of memory, the memory address is ordinarily stepped back one count before a readout or write operation and the two SU pulses after that restore the addressing counters to their correct address for cursor display.

In response to the SU* pulse train after a read operation the cursor character counter is advanced only one count, which compensates for the one count reverse which occurs in response to the read operation of the memory. The character cursor address is unchanged after the read cycle. The two SU* pulses which are applied after the writing operation, advances the count of the X counter by two counts, thus leaving it on the address of the next character to be read.

In order to advance the cursor line counter or Y counter, the circuitry shown in FIG. 11 is employed. A NAND gate 252 receives as a required input the SU signals, the US signal and the WR signal. In the presence of these signals an output is provided to an OR gate 254. The output of the OR gate 254 as indicated, is connected to the cursor down terminal of the Y counter, which is shown in FIG. 7. The OR gate 254 will provide an output also when in normal operation a cursor down signal is applied from the keyboard. Another input to the OR gate 254 which can cause the cursor line counter to increase its count may be obtained from another NAND gate 258. Its output is applied to the OR gate 254. NAND gate 258 produces an output in the presence of a WR signal, a DS signal, or an HG signal. The derivation of the HG signal will be shown subsequently herein. It is sufficient to know however that it is obtained from horizontal sync signals. The derivation of the DS and the DS signal will also be indicated in the description of the downshift mode of operation.

For moving the display of the character up one line, a cursor up signal is generated. This is provided by a NAND gate 260, which requires as its input an SU signal, a US signal and a WR signal. Its output is applied to a NOR gate 262. The output of the OR gate is applied to the cursor up terminal of the Y counter as shown in FIG. 7.

At the end of an upshift sequence, which occurs with the cursor in line 1 address, it is necessary to reposition the cursor to the first character position of line 16 after information has been erased. This function is carried out by the signal received when flip-flop 206 is reset whereby US signal is applied to an inverter 264, whose output is applied to the OR gate 262. This returns the cursor to the beginning of a line that becomes erased at the end of the upshift sequence.

The input to the OR gate 262 from NAND gate 266 is employed during the downshift sequence. This output is achieved in the presence of an SU signal, a DS signal and a WR signal.

In summary of the foregoing therefore, upon the application of an upshift signal, the logic provided waits for the next vertical sync pulse. A line address register has the address of the last line of the display tube inserted therein. Thereafter a character is read from memory. The cursor line counter count is reduced by one count causing the cursor to be displaced upward by one line. This occurs because at the time of the read operation, the WR signal is high. This, as may be seen from FIG. 11, causes an output from the OR gate 262 which causes the cursor line counter to decrease one count.

A WR signal is generated which causes the write strobe signal to occur. This is followed by the application of a count signal (an increase in the count of the counter) to the Y counter of the cursor also immediately followed by the cursor being shifted one character to the right. The next readout cycle occurs from that address.

It should be noted that the character which is read out from a line, is written back into the memory at an address which is on the line immediately above the one from which it was read out.

The address in the line address register 232 is compared with the address in the Y cursor counter by a coincidence detector 270 in the presence of a CS pulse. When these addresses are identical, which happens when the downshift operation brings the cursor line counter down to the beginning of the bottom line, the coincidence detector provides a "coincidence" output. An inverter 272, in well known fashion provides a coincidence output. The coincidence and CS signals are applied to a NAND gate 274. It should be noted that the CS signal appears only before a write strobe. AND gate 274 applies its output to set a flip-flop 276. Since the cursor address is set to line 16 each time just before the read signal, the CS and coincidence signals are obtained while the entire line 1 is being written on line 16. Simultaneously AND gate 280 is enabled by set output of flip-flop 276 to insert null representative signals (MC) into the input register of the memory. These are in place of the characters which would otherwise be written back into memory. Accordingly, the line 16 or last line location of the memory is emptied.

After line 16 is completed, i.e. erased, the cursor line counter contains the address of line 1, immediately preceding a write strobe. At this time, the coincidence signal is generated and in the presence of CS resets flip-flop 276, which, in turn, results in the termination of the operation of the gated multivibrator 218, which generated the read/write strobes. At this time, the upshift cycle ends and flip-flop 210 is reset by the next vertical sync pulse.

From the point where upshift started all the information which remains in the memory has been shifted up by one line. The bottom line is available for entry of data thereinto. A power reset signal 281 is generated by power turn on to initialize the system by applying a PR pulse to all flip-flops.

DOWNSHIFT OPERATION

In order to enable downshift operation to occur, a downshift key 280 on the typewriter keyboard is actuated. This applies a pulse to an inverter 282, the output of which causes flip-flop 278 to assume its reset position. This provides a DS signal from the reset output of the flip-flop and a DS signal from the set output of the flip-flop. The DS signal is applied through OR gate 208 to the flip-flop 210. As before, upon the occurrence of the vertical sync pulse, flip-flop 210 assumes its reset state where upon there is an SH and SH output. Cursor control of the addressing for write in and read out is provided in response to the output of the OR gate 216.

AND gate 214, in view of the presence of the DS and SH signals applies an output signal to a first delay circuit 282. The output of the first delay circuit is applied to a second delay circuit 284. The reason for using these two delay circuits is to insure that the address lines from the output of the cursor X and Y counters are stabilized. The output of the delay circuit 284 is used both to set a flip-flop 286, and also to strobe into the line address register 232, the address which is in the cursor Y counter at this time. The set output of flip-flop 220 is applied to an AND gate 286. The other input to this AND gate comprises horizontal sync pulses which are applied therethrough an inverter 288. The output of the AND gate 286 comprises the HG pulses which have horizontal sync frequency.

The HG pulses are applied to the OR gate 254 in FIG. 11. The OR gate 254 applies these pulses to the cursor down terminal of the Y counter.

As a result, the cursor is moved successively down each line until it reaches line 15. The output of the cursor line counter is applied to a line 15 detector 288, which simply comprises a set of gates which are enabled when the line counter obtains the count of 15. The output of these gates is applied to flip-flop 220 to cause it to be reset. This terminates the HG pulse train and enables the gated multivibrator 218 to commence generating WR and WR pulses.

The first character to be read out of memory is the first character on the 15th display line. This is written in the first character position of the 16th display line. The timing sequence for downshift is very similar to upshift with the exception that cursor down operation follows read strobe and cursor up operation follows a write strobe. This may be seen by the timing diagram shown in FIG. 13. The result of this is that the end of a display line is gone through immediately after a cursor up signal. The downshift sequence works its way from left to right on the screen and from bottom to top, as the cursor line counter is incremented in an up direction.

The logic circuits which have been described in connection with the upshift operation, operate to provide the SU, SU* signal, the CS signal, the WR and WR signals, and the cursor counter signals to cause them to advance the display in the manner described. When the cursor line counter is advanced to the line at which the coincidence detector 270 detects coincidence between the line address entered into the register 232 at the beginning of the operation at the present line address, then a coincidence output signal is derived. Coincidence is now detected immediately preceding the write strobe, between the line address of the cursor counter and the line address contained at the beginning of the operation. At this time, flip-flop 276 is set, as it was in the case of upshift. Then, the MC* null signals are directed into the input register for the line on which the cursor started out. Finally, when the next line to be written yields a noncoincidence condition, flip-flop 274 is reset, which in turn leads to setting flip-flop 278, and flip-flop 210 is reset on the next vertical sync pulse. The downshift cycle is now completed. The result of a downshift cycle operation from the point where the cursor started is to cause all of the date in memory to be downshifted one line leaving the line at which the downshift operation terminated blank, for entry of data thereinto.

There has been accordingly described and shown herein a novel, and useful system for enabling the operation of a display system to provide a display of data downshifted one line from the position it normally would occupy, or upshifted one line from the position it normally would occupy, leaving provision for entering data into the top or bottom of the display or any line in-between after the completion of the downshift or upshift operation .

* * * * *


uspto.report is an independent third-party trademark research tool that is not affiliated, endorsed, or sponsored by the United States Patent and Trademark Office (USPTO) or any other governmental organization. The information provided by uspto.report is based on publicly available data at the time of writing and is intended for informational purposes only.

While we strive to provide accurate and up-to-date information, we do not guarantee the accuracy, completeness, reliability, or suitability of the information displayed on this site. The use of this site is at your own risk. Any reliance you place on such information is therefore strictly at your own risk.

All official trademark data, including owner information, should be verified by visiting the official USPTO website at www.uspto.gov. This site is not intended to replace professional legal advice and should not be used as a substitute for consulting with a legal professional who is knowledgeable about trademark law.

© 2024 USPTO.report | Privacy Policy | Resources | RSS Feed of Trademarks | Trademark Filings Twitter Feed