WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Display of video images    
United States Patent4204208   
Link to this pagehttp://www.wikipatents.com/4204208.html
Inventor(s)McCarthy; Edward C. (Indian Harbor Beach, FL)
AbstractThe system displays video images of data characters or other graphics with video modifications being made thereto. A coded data character is provided which represents a first graphical image from a first library, such as a font, of related images to be displayed. A second coded data character is provided which represents a second graphical image from a second library, such as a font, of related images wherein the first library of related images is independent of the second library of related images. A storage facility is provided for each library with the facility storing video display instructions for forming each character or graphical image in the library of graphical images. The storage facility for the first library of images is interrogated by the first coded data character to obtain therefrom the video display instructions for forming the image represented by that data character. The storage facility of images for the second library of images is interrogated by the second coded data character to obtain from the storage facility the video display instructions for forming the graphical image represented by that data character. The video display instructions for forming the video image of the character from the first library are combined with the instructions for forming the graphical image from the second library. The combined video display instructions are employed for forming a graphical image having the combined video characteristics of the images represented by the first coded data character and the second coded character.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 4204208
Display of video images - US Patent 4204208 Drawing
Display of video images
Inventor     McCarthy; Edward C. (Indian Harbor Beach, FL)
Owner/Assignee     Harris Corporation (Cleveland, OH)
Patent assignment
All assignments
Publication Date     May 20, 1980
Application Number     05/829,044
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     August 30, 1977
US Classification     345/551 345/471 345/629 715/542
Int'l Classification     G06K 015/20
Examiner     Trafton; David L.
Assistant Examiner    
Attorney/Law Firm    
Address
Parent Case    
Priority Data    
USPTO Field of Search     340/324 AD 340/745 340/751 340/799
Patent Tags     display video images
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
3444319



[0 after 0 votes]
3821730



[0 after 0 votes]
3883728
Schwartz
708/168
May,1975

[0 after 0 votes]
3696387
Nussbaum
345/467
Oct,1972

[0 after 0 votes]
3668687
Hale
345/660
Jun,1972

[0 after 0 votes]
3624632
Ophir
74/597
Nov,1971

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A video display system for displaying video images comprising:

means for supplying an associated pair of coded characters including first and second coded characters;

said second coded character representing a second graphical image, from a second set of related graphical images independent from said first set, to be displayed;

a plurality of storage means each storing video display instructions for forming each graphical image in one of said sets of related graphical images;

means responsive to said first and second coded characters for simultaneously obtaining from said plurality of storage means the respective video instructions for forming said first and second graphical images;

means for combining said video display instructions for forming said first and second graphical images; and

video display means responsive to said combined video display instructions for forming a graphical image having the combined video characteristics of said first and second graphical images.

2. A system as set forth in claim 1, wherein each of said plurality of storage means includes a read only memory.

3. A system as set forth in claim 1, wherein at least one of said plurality of storage means includes a programmable read only memory.

4. A system as set forth in claim 1, wherein each of said plurality of storage means includes a programmable read only memory.

5. A system as set forth in claim 1, wherein each said graphical image is formed from a dot matrix comprising a plurality of columns and rows of dot positions.

6. A system as set forth in claim 5, wherein the video instruction for forming a said graphical image includes a plurality of instruction sequences for displaying dots at said dot positions to form a dot pattern to represent said graphical image.

7. A system as set forth in claim 6, wherein each of said plurality of storage means includes a read only memory.

8. A system as set forth in claim 7, wherein one of said read only memories stores instruction sequences for forming the dot patterns for each data character of a related set of data characters and another of said read only memories stores instruction sequences for forming the dot patterns for each of a group of data character enhancements.

9. A system as set forth in claim 8, wherein said another memory stores instruction sequences for forming a dot pattern representing a cross-hatch character enchancement.

10. A system as set forth in claim 8, wherein said another memory stores instruction sequences for forming a dot pattern representing an underline character enhancement.

11. A system as set forth in claim 8, wherein said another memory stores instruction sequences for forming a dot pattern representing a strike-through character enchancement.

12. A system as set forth in claim 8, wherein said another memory stores instruction sequences for forming a dot pattern representing an italicized character enhancement.
 Description Submit all comments and votes
 


BACKGROUND AND FIELD OF THE INVENTION

This invention relates to the art of video display of images representing data characters or symbols or other graphical images.

The invention is particularly applicable for use in conjunction with a video display system employed in text editing and the like and will be described in conjunction therewith; although, it is to be appreciated that the invention has broader applications as it may be used in various video displays wherein it is desired to modify one video image with another.

Video display systems having the capability of displaying data characters and for modifying video characteristics of such data characters are known in the art. Examples of prior art patents on the subject include the U.S. Pat. to R. C. Williams Nos. 3,895,374, 3,895,375, and 3,896,428. These patents each teach video modification of the display of a data character such as inversion in appearance, intensification, and underlining. One or more of these modifications may be made to a data character. The apparatus disclosed in those patents by employs a data stream wherein the data characters are encoded in binary form and are preceded by a binary encoded attribute character which commands the attribute or modification to be made to the data characters following the attribute character. The attribute character is a multi-bit character with each bit being representative of one of several attribute modifications which may be made.

A notable problem with such display systems as described above is that logic circuitry must be employed to decode each multi-bit attribute character to decide which modification or modifications are to be made to the visual images representing the data characters following the attribute character. The video image of each data character is formed by obtaining video instructions for that character from a look-up table, such as a read only memory. These instructions are supplied to a video generator which may include a T.V. raster scan for forming segmental dot patterns or dot slices of each of a plurality of characters forming a character line. Several scans are made until each character of the character line has been formed. Logic circuitry must be employed to respond to the attribute data character to make the appropriate video modifications to the images of the data characters being formed. The complexity of such logic circuitry is at one level with such enhancements as intensification or inversion in appearance since each dot position is enhanced in the same fashion. Consequently, only one piece of information is required by the logic circuitry. The logic circuitry required becomes far more complex for such attributes or enhancements as strike-through, underlining, or cross hatch because each of these require that the dot pattern of the enhancement be combined with the dot pattern representing the visual image of the data character. Moreover, such complex logic circuitry to provide these attributes or enhancement would not be programmable in the field. Consequently, the user of such equipment would be limited to those attributes or enhancements provided by the terminal manufacturer.

Another disadvantage of such video display terminals as that discussed above is the inability to easily create graphical images which combine the visual characteristics of a data character from one library or set of data characters such as the English alphabet, with the visual characteristics of other data characters or graphical images from an independent, nonrelated library or set of graphical images. For example, an editor may want to change the meaning of the letter "O" taken from the English alphabet. If a horizontal bar could be placed through the letter "O", then the meaning of the letter "O" has been changed to theta, a character taken from the Greek alphabet.

Thus it would be desirable to provide a plurality of storage libraries each storing video instructions for forming a set of symbols or data characters or other graphics and the like such that when a particular symbol or character or graphics is called for, its video image may be combined with the video image taken from a different library to form a graphical image having the combined video characteristics of the various symbols, characters, or graphics taken from the various libraries.

SUMMARY OF THE INVENTION

It is therefore, a primary object of the present invention to display video image of one type of graphics (such as a data character) in combination with the video image of a another type of graphics (such as a symbol) so as to obtain an image having the combined video characteristics thereof.

It is a still further object of the present invention to provide improvements in modifying the video appearance of the image of a data character without requiring complex logic circuitry.

It is a still further object of the present invention to provide improvements in modifying the video appearance of the image of a data character so as to change its meaning.

It is a still further object of the present invention to provide improvements in modifying the video appearance of images representing data characters wherein such modifications include cross hatch, strike-through, underline, italic and dotted underline and these are obtained from a storage library means containing the video display instructions for forming each of these enhancements and that these instructions be combined with data character image forming instructions obtained from a similar storage library for forming the image of the data character with one or more of these enhancements.

It is a still futher object of the present invention that the storage facilities for the sets of data characters or symbols or other graphics be field programmable so that a user may devise his own sets of graphics to obtain his own combinations of graphical images and the like.

In accordance with one aspect of the present invention, the video display system displays video images of data characters or other graphics with video modifications being made thereto. A coded data character is provided which represents a first graphical image from a first library, such as a font, of related images to be displayed. A second coded data character is provided which represents a second graphical image from a second library, such as a font, of related images wherein the first library of related images is independent of the second library of related images. A storage facility is provided for each library with the facility storing video display instructions for forming each character or graphical image in the library of graphical images. The storage facility for the first library of images is interrogated by the first coded data character to obtain therefrom the video display instructions for forming the image represented by that data character. The storage facility of images for the second library of graphical images is interrogated by the second coded data character to obtain from the storage facility the video display instructions for forming the graphical image represented by that data character. The video display instructions for forming the video image of the character from the first library are combined with the instructions for forming the graphical image from the second library. The combined video display instructions are employed for forming a graphical image having the combined video characteristics of the images represented by the first coded data character and the second coded character.

In accordance with a more limited aspect of the present invention, one of the storage facilities referred to above is used for storing video display instructions for forming each data character taken from a font of data characters and another storage facility is used for storing video display instructions for each of a plurality of enhancement characters such as cross hatch, strike-through, underline, italic and dotted underline.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects and advantages of the invention will become more readily apparent from the following description of the preferred embodiment of the invention as taken in conjunction with the appended drawings wherein:

FIG. 1 is an overall system block diagram illustrating for an application of the present invention;

FIG. 2 is a schematic-block diagram illustration of a video display terminal in accordance with the present invention;

FIG. 3 is a schematic illustration of the keyboard layout for the keyboard of the terminal illustrated in FIG. 2;

FIG. 4 is a schematic-block diagram illustration of the CPU and interface circuitry;

FIG. 5 is a schematic-block diagram illustration of the input/output control circuitry;

FIG. 6 is a schematic-block diagram illustration of the memory and its interface with the common bus structure;

FIG. 7 is a schematic illustration of the display screen of the terminal illustrated in FIG. 2;

FIG. 8 is a schematic illustration of the line vector table in the main memory;

FIG. 9 is a schematic illustration showing the manner in which bytes of data are stored in a display buffer in a single column mode;

FIG. 10 is similar to that of FIG. 9 but showing the display buffer in the dual or split screen mode;

FIG. 11 is a schematic illustration showing the manner in which enhancement data and character data are arranged for a character line;

FIG. 12 is a schematic illustration showing the format of a data word;

FIG. 13 is a schematic illustration showing the format of an enhancement;

FIG. 14 is a schematic-block diagram illustration of the timing generator circuitry;

FIG. 15 is a schematic-block diagram illustration of the video generator circuitry;

FIGS. 16a through 16i are waveforms useful in understanding portions of the circuitry described herein;

FIG. 17 is a schematic-block diagram illustration of the cursor logic circuitry illustrated in FIG. 14;

FIGS. 18a through 18i are waveforms useful in describing both single and dual column operation;

FIGS. 19a through 19p are waveforms useful in describing portions of the circuitry employed herein;

FIG. 20 is a schematic illustration of a pixel matrix;

FIGS. 21a, b, and c are graphical illustrations showing images formed on the video display;

FIGS. 22a, b, and c are similar to that of FIGS. 21a, b and c but showing a different combination of graphical images formed on the video display;

FIGS. 23a, b, and c are similar to those of FIGS. 21a, b, c and 22a, b, and c but showing a different combination of graphical images formed on the video display;

FIG. 24 is a schematic-block diagram illustration of the direct memory access circuitry;

FIGS. 25a through 25m are waveforms useful in describing the circuitry of FIG. 24; and,

FIGS. 26a through 26p are waveforms useful in describing the circuitry of FIG. 24.

DETAILED DESCRIPTION

General Description

Reference is now made to the drawings wherein the showings are for purposes of illustrating a preferred embodiment of the invention only and not for purposes of limiting same.

FIG. 1 is a generalized block diagram illustrating a system to which the present invention applies. Here there is illustrated a host computer HC which, for example, may take the form of a PDP-11/35 computer with 64K words of memory obtained from Digital Equipment Corporation. Associated with the host computer is a large data base storage DBS and which may take the form of disc files, such as two 2.4 million byte moving head discs. The system disclosed in FIG. 1 also includes data input sources DIS which may include, for example, wire lines from which UPI and AP stories are obtained. Other input sources may include a paper tape source or an optical (OCR) reader or a modem.

These data input sources provide stories and the like which may be inputted under the control of the host computer HC by way a system multiplexer MX for storage in the appropriate file at the data base storage DBS. Also associated with the system is a plurality of editing terminals T1, T2, through TN. Each editing terminal takes the form of a processor driven video display terminal having a keyboard and a display screen. With such a system, a news writer may use an editing terminal to create a story which is displayed on the display screen. Once the writer is satisfied with the story, he will actuate a send key and coded data representative of the story will be supplied through the system multiplexer MX to the host computer HC which will then store the story in a particular storage location at the data base storage DBS for subsequent retrieval. Other stories may be obtained from the data input sources DIS and routed by host computer HC for storage in the data base storage DBS.

An editor, through the use of his editing terminal, may call up a story entered into the data base storage from either one of his writers or from one of the data input sources DIS. In this case, the proper keys on the terminal's keyboard will be actuated and the story will be retrieved from the data base storage and supplied under the control of the host computer HC to the terminal requesting the story. The editor will now view the story on his display screen and make whatever editing corrections he requires, using the proper editing controls on the keyboard. Once the edited story has been completed, the editor will actuate a send key on the keyboard and the edited story will now be stored at the data base storage but in a different location from the unedited story. An edited story located at the data base storage will, under computer control, be supplied to one or more of a plurality of data output devices DOD. Suitable output devices known in the art include typesetters, papertape punches, printers and modems. Systems of the nature described thus far are well known in the art and have been installed in several newspaper facilities. No further description of the overall system will be presented herein unless it has particular concern with respect to the invention.

Video Display Terminal (General)

Reference is now made to FIG. 2 which illustrates a block diagram of a video display terminal in accordance with the present invention and which may be used in a system such as that illustrated in FIG. 1. The terminal T of FIG. 2 is a processor-driven terminal employing a common bus structure. The bus structure may be divided into an address bus AB, a data bus DB and a control bus CB. By way of example only, the address bus may be a 16 bit bus and the data bus may be an 8 bit bus. An interface to the host computer HC is obtained with an input/output control IO. The input/output control IO, in a conventional manner, communicates with the address bus, the data bus and the control bus. Also connected to the common bus is the central processing unit CPU, a bootstrap memory BS, a main random access memory M, a keyboard KB, and a video display control VDC which includes a direct memory access circuit DMA and a character generator CG.

The character generator communicates in a conventional fashion with a display means in the form of a cathode ray tube CRT by way of a suitable video amplifier VA and vertical and horizontal deflection amplifying circuitry DA. A power supply circuit PS is activated upon closure of a switch SW to receive A.C. line power. The power supply provides the various DC level signals required by the circuitry as well as an output which carries an AC line signal to a power line synchronization generator PLS. For example, the AC line signal may be a six volt RMS signal. The power line synchronization generator PLS provides output pulses that are synchronized to the AC line signal, as shown by the waveforms in FIG. 2, and this provides output pulses to the character generator to provide a command for start of frame (STRTFR). A control output is also obtained from the power supply circuit PS to provide a power-up signal (PWRURS).

A general description of the operation of the terminal is now presented. As the editor or writer commences use of the terminal he will actuate a power-on switch SW which will raise the power-up line PRWUPS. This is routed to the control bus and from there to the processor CPU. This causes, under program control, an interrogation of the bootstrap memory BS which then supplies to the data bus DB some data in the form of a terminal identification. The bootstrap memory is a programmable read only memory or other non-volatile storage facility. The terminal identification is supplied by the data bus DB to the host computer HC by way of the input/output control IO. The host computer will now download program instructions to the terminal for storage in the main memory M. The terminal is now programmed to perform its intended operation, i.e., such as a sports editor terminal. In such case, the editor will now employ the keyboard KB for transmitting a code to the host computer to ask for a particular story. Under the program control, the information provided by the keyboard KB will appear on the data bus line and then be transmitted by way of the input output control IO to the host computer. The host computer will then retrieve the requested story from the data base storage DBS and supply the story to the terminal. Under program control, the terminal will route the story for storage in the main memory M. At this point, the main memory M will store both program instructions for internal operation of the processor as well as the data representing the text to be displayed on the CRT.

The data characters stored in main memory are read and routed to the character generator where the data characters are decoded to obtain the proper video dot pattern for display on the CRT screen. The main memory is accessed under the control of a direct memory access control circuit DMA. This circuit operates in response to control signals from the character generator CG and fetches data from the memory with the data then being supplied to the character generator by way of a data bus DB. The data received by the character generator is then employed to provide video patterns representative of data characters for display on the cathode ray tube CRT.

Before explaining the various circuits in detail, the following discussion is presented with respect to various blocks illustrated in FIG. 2. For example, the processor CPU serves to execute programs which are downloaded to the main memory M. The processor may take any convenient form of microprocessor such as the Intel Microprocessor Model 8080 and which is described in detail in that company's User's Manual 98-153C dated September, 1975. The reader is referenced to that manual for a complete discussion of the processor. Basically, it takes the form of an 8 bit machine having an 8 bit directional data bus, a 16 bit address bus, and has addressing capability for up to 64,000 8 bit bytes of memory.

The bootstrap memory BS includes a programmable read only memory (PROM). This is a non-volatile storage of a bootstrap program which, when executed by the CPU during the power-up sequence of the terminal, causes transmission of a message by way of the data bus DB to the host computer HC requesting a download of the terminal control program. The downloaded program is stored in the terminal's main memory M which includes storage capacity for the text data to be displayed on the CRT as well as working memory for use by the CPU. The main memory M may take the form of a 16K 8 bit word random access memory.

The character generator converts the received data into a serial video stream which is applied by the video amplifier VA to control the blank/unblank operation of the CRT. A full screen of display may include, for example, 27 lines of 72 characters each. Preferably, a T.V. raster scan technique is employed and which incorporates a vertical raster. The character generator provides to the video amplifier a serial bit stream which corresponds to vertical display raster columns. As will be brought out in greater detail hereinafter, each character is displayed within a 12.times.15 dot matrix. The dot matrix hereinafter will be referred to in terms of pixels (picture elements). The normal character is 11 pixels wide and with one pixel intercolumn spacing 12 vertical raster scans are required for the display of each of the 72 columns of characters on the screen. The depth of a character field is potentially 15 pixels long. Each data character represenative of text information is accompanied by an additional 8 bit word of information which hereinafter is referred to as an enhancement character. The enhancement character causes video modification of the display of the data character. Consequently, the video stream as sent to the video amplifier is enhanced or altered by the character generator as required to achieve the proper modified display.

The keyboard KB includes a plurality of text entry keys and various indicator lights and a keyboard layout is illustrated in FIG. 3. There may be as many as 105 key switches located on the keyboard and its interfaces to the CPU such that presentation of the pressed key codes to the CPU is on an interrupt basis in a manner well known in the art. Most of the keys are conventional in the art and only mention here will be made. Thus, the main keyboard includes a group of text entry keys for use in entering alphanumeric characters. In addition, here are keys to provide shift and shift lock, double and triple shift. The keyboard also includes a pluraltiy of editorial mark-up keys to provide such functions as begin and end command, subformat, new paragraph, flush codes for flushing left, center and right, define block (which is a key that inserts a block marker on the screen and advances the cursor to the next character position). There are also several text display control function keys to provide certain control functions. These include a clear key 10, scroll-up key 12, scroll-down key 14, a page-up key 16, and a page-down key 18. The clear key 10 is used by the operator when he desires to destructively clear all text displayed on the screen from memory. The scroll-up and scroll-down keys 12 and 14 permit the operator to move the active display window on a line basis.

Momentary depression of the scroll up (down) key causes the display text to move up (down) one line on the screen, thereby forcing a line from the top (bottom) of the display to be transmitted to the host computer for storage to allow room for the next contiguous line to be displayed on the bottom (top) line which is received from the data base storage. If the scroll key is held down then the scroll will repeat at a rate of, for example, 10 lines per second until released. When in the dual screen mode, only the text which contains the cursor will be permitted to scroll. The page-up key 16 and the page-down key 18 when actuated cause a page-up (down) operation which causes the next screen (previous) full of text to be displayed.

The cursor control keys are shown on the left side of the keyboard and include a move left key 20, move right key 22, move up key 24, and move down key 26. Each key includes an arrow designating the direction of movement. The cursor controls permit the cursor to be positioned at any one of the possible display character locations on the screen. A momentary actuation of one of the cursor control keys causes a one character position movement of the cursor in the appropriate direction. The alternate cursor key 30 is used when the terminal is in a dual screen mode of operation. For example, during the dual screen operation in which two different stories in two side-by-side columns of text are displayed, editing functions and the like can take place only in that portion in which the cursor is located. Actuation of the alternate cursor key 30 causes the cursor to move from one column to the other column. Actuation of the home key 32 causes the cursor to move to its home position, normally in the upper left hand corner of the text being displayed. The next line key 34 acts as a carriage return on a typewriter in that it causes the cursor to be moved from its current position to the first character position on the line immediately below.

The command keys shown on the upper portion of the keyboard are used in conjunction with a shift key such as key 36 or 38. For example, when the italic-bold key 40 is actuated in the unshift mode it will cause a bold video modification to be used to represent bold type face. In the shifted mode, actuation of the key 40 will cause an italic video modification to be used to represent italic type face. Similarly, in the unshifted mode, actuation of key 42 will cause a video modifier of strike-through to be applied to characters on the display. In the shifted mode actuation of key 42 will cause an underline video modifier. Additional command keys include a cross hatch command key 44 which when actuated will cause a cross hatch enhancement on the character display. Actuation of key 46 will cause a dotted underline enhancement. Actuation of key 48 will cause a blink enhancement to cause the data character at that location to blink. Similarly, actuation of key 50 will cause a video inversion enhancement. These enhancements will all be described in greater detail hereinafter. Actuation of any of these keys causes a unique 8 bit data word to appear on the data bus and stored in an address location in the main memory and it is used by the character generator CG for displaying the appropriate character. The manner in which the character generator and direct memory access circuit operate will be described in detail hereinafter.

A dual column key 49 is used to select and deselect the dual column display mode of a single item. The display modes may not be switched during active display of an item, depression of the dual column key with a take or directory on the screen will have no affect. When the dual column key is struck when the terminal is inactive, the terminal switches into the dual column display mode (two columns of up to 27 lines of up to 35 characters per line), illuminates a dual column indicator, clears the screen and homes the cursor. If the dual column mode is active and the operator wants to switch to normal display mode, the operator ends any active display item and depresses the dual column key again which extinguishes the indicator and reverts the terminal to normal display mode.

When dual column mode is active, any directory or take which is called to or begun on the terminal is displayed in two 35 character per line columns with the first line (which may be text or header information) in the top left column line. Subsequent thirty-five character lines fill the remainder of the left hand column to the bottom of the screen and the right hand column from the top of the screen to the bottom. Thus, the bottom line of the left column is adjacent to (i.e., the line above) the top line of the right column and they are so treated during any editing, display or cursor manipulations.

The dual screen key 51 is used to select and deselect the dual screen display mode, which permits simultaneous display of two takes in a vertically split display manner. Since display modes may not be changed during active display of an item, depression of the dual screen key with a take or directory on the screen will have no effect. When the dual screen key is struck when the terminal is inactive, the terminal switches into the dual screen mode, clears the screen, homes the cursor (upper left) and illuminates the dual screen display indicator. The next depression of this key when there are no items actively displayed will revert the display to normal mode and extinguish the indicator. When the editor fetches the first item to be displayed in active dual screen mode it is placed on the left half of the screen with the line lengths no greater than 35 characters, with the cursor placed in the home (upper left hand corner) position on that take. Protected text in head lines and formats is broken at the line length without regard for word wrapping in order to preserve the integrity of the protected format. Once the left hand item is thus activated, the editor may use the alternate take key to activate the right hand column so that he may fetch or begin a second time. He may then proceed to control and edit the text in either column. The take in which the cursor is located is defined as being "active". All normal text and function keyboarding done by the editor is in the active take. Additional command keys include a send command key 52 which is used to initiate transmission of data to the host computer HC.

Processor

The central processing unit CPU is shown in greater detail in FIG. 4. This is a general purpose processor and may take the form of an Intel 8080A processor. This processor and its interfacing with the common bus may be understood by reference to Intel's System User's Manual 98-153C dated September, 1975. However, to facilitate an understanding of the CPU, reference should now be made to Table I which describes the function of the CPU inputs and outputs. Several of the descriptions refer to internal timing periods.

TABLE I ______________________________________ A.sub.15 A.sub.0 (output three-state) ADDRESS BUS; the address bus provides the address to memory (up to 64K 8-bit words) or denotes the I/O device number for up to 256 input and 256 output devices. A.sub.0 is the least significant address bit. D.sub.7 -D.sub.0 (input/output three-state) DATA BUS; the data bus provides bi-directional communication between the CPU, memory, and I/O devices for instructions and data transfers. Also, during the first clock cycle of each machine cycle, the CPU outputs a status word on the data bus that describes the current machine cycle. D.sub.0 is the least significant bit. SYNC (output) SYNCHRONIZING SIGNAL; the SYNC pin provides a signal to indicate the beginning of each machine cycle. DBIN (output) DATA BUS IN; the DBIN signal indicates to external circuits that the data bus is in the input mode. This signal is used to enable the gating of data onto the data bus from memory or I/O. READY (input) READY; the READY signal indicates to the CPU that valid memory or input data is available on the data bus. This signal is used to synchronize the CPU with slower memory of I/O devices. If after sending an address out the CPU does not receive a READY input, the CPU will enter a WAIT state for as long as the READY line is low. READY can also be used to single step the CPU. WAIT (output) WAIT, the WAIT signal acknowledges that the CPU is in a WAIT state. WR output WRITE, the WR signal is used for memory WRITE or I/O output control. The data on the data bus is stable while the WR signal is low (WR = 0). HOLD (input) HOLD; the HOLD signal requests the CPU to enter the HOLD state. The HOLD state allows an external device to gain control of the CPU address and data bus as soon as the CPU has completed its use of these buses for the current machine cycle. It is recognized under the following conditions: the CPU is in the HALT state. the CPU is in the T2 or TW state and the READY signal is active. As a result of entering the HOLD state the CPU ADDRESS BUS (A.sub.15 -A.sub.0) and DATA BUS (D.sub.7 -D.sub.0) will be in their high impedance state. the CPU acknowledges its state with the HOLD ACKNOWLEDGE (HLDA) pin. HLDA (output) HOLD ACKNOWLEDGE: the HLDA signal appear in response to the HOLD signal and indicates that the data and address bus will go to the high impedance state. The HLDA signal begins at: T3 for READ memory or input. The Clock Period following T3 for WRITE memory or OUTPUT operation. In either case, the HLDA signal appears after the rising edges of 0.sub.1 and high impedance occurs after the rising edge of 0.sub.2. INTE (output) INTERRUPT ENABLE; indicates the contents of the internal interrupt enable flip/flop. This flip/flop may be set or -reset by the Enable and Disable Interrupt instructions and inhibits interrupts from being accepted by the CPU when it is reset. It is automatically reset (disabling further interrupts) at time T1 of the instructions fetch cycle (M1) when an interrput is accepted and is also reset by the RESET signal. INT (input) INTERRUPT REQUEST; the CPU recognizes an interrupt request on this line at the end of the current instruction or while halted. If the CPU is in the HOLD state or if the Interrupt Enable flip/flop is reset it will not honor the request. RESET (input) RESET; while the RESET signal is activated, the content of the program counter is cleared. After RESET, the program will start at location 0 in memory. The INTE and HLDA flip/flops are also reset. Note that the flags, accumulator, stack pointer, and registers are not cleared. ______________________________________

From FIG. 4, it will be noted that the various inputs such as RESET, READY, discussed in Table I are found on the appropriate inputs and outputs to the CPU. The interface to support the CPU includes a CPU timing and control circuit 60, address buffers 62, data buffers 64 and a system control 66. These are all conventional in the art and are components typically employed in conjunction with supporting an Intel 8080 CPU in its interface with the common bus structure. Before describing these components, reference should be made to Table II. This is a signal mnemonic dictionary which is useful not only for an understanding of the signal mnemonics shown in FIG. 4, but those to be used in the remaining figures herein.

TABLE II __________________________________________________________________________ A** CPU ADDRESS BIT ** (**00 through 15) AB** ADDRESS BOT ** (** 00 through 15) ACLSYN AC LINE SYNC BEN BUS ENABLE BLINKC BLINK CLOCK BLKDEC BLANK (INHIBIT) DECODER BLNKV1 BLANK VIDEO 1 (SLOW BLANKING) BLNK2 BLANK VIDEO 2 (FAST BLANKING) BUSEN BUS ENABLE (CPU IN HOLD MODE) CCOL** CHARACTER COLUMN ** (**=34,62, etc.) CCOLB* CHARACTER COLUMN CTR BIT * (*=0 through 6) CE* CHIP ENABLE * (*=0 through 3) CEW CHIP ENABLE WRITE CGDFET CHARACTER GEN DATA FETCH MEMORY CYCLE CHCOD* CHARACTER DATA CODE (LATCHED) BIT * (*= 0 through 7) CHDAT* CHARACTER DATA * (*=0 through 7) CLK INT CLOCK INTERRUPT REGISTER CNTRAC COUNT REFRESH ADDRESS AND ACCESS CNTR CNTVAC COUNT VECTOR ADDRESS CNTR CNTVTA COUNTER VECTOR TABLE ADDRESS CNTR CS* CHIP SELECT * (*=0 through 3) CTVRAC COUNT VECTOR RAM ADDRESS CNTR D* CPU DATA BUS BIT * (*=0 through 7) DAFEMD DMA IN DATA FETCH MODE DAOVEF DATA OR VECTOR FETCH MODE DATAFE DATA (OR VECTOR) FETCH MEMORY CYCLE DATFE2 SECOND DATA (OR VECTOR) FETCH DB* DATA BUS * (*=0 through 7) DBIN DATA BUS INPUT (TO CPU) MODE DCFEVE DUAL COLUMN FETCH VECTORS DFVACR DATA FETCH VECTOR ADDRESS CNTR LOAD DI* RAM DATA INPUT BIT * (*=0 through 7) DMACT DMA ACTIVE DMAENA DMA ENABLED BY CPU DO* RAM DATA OUTPUT BIT * (*=0 through 7) DUALCO DUAL COLUMN MODE DVAL DATA VALID FROM MEMORY DVALAX DATA VALID (DOUBLE BUFFERED) DVALAXX DATA VALID (BUFFERED) ENAVAC ENABLE VECTOR ADDRESS CNTR TO BUS ENAVTA ENABLE VECTOR TABLE ADDRESS TO BUS FEDATA FETCH DATA H. CTR HORIZONTAL CENTER (BUFFERED) HCENTR HORIZONTAL CENTER HOLD HOLD CPU HRETRC HORIZONTAL RETRACE HRT HORIZONTAL RETRACE HWCURS CURSO VIDEO ENABLE I/OR I/O READ I/OW I/O WRITE IMRCLK INTERRUPT MASK REG CLOCK INT INTERRUPT CPU INT* INTERRUPT * (*=0 through 7) INTACK INTERRUPT ACKNOWLEDGE INTE INTERRUPT ENABLE KB* KEYBOARD DATA BIT * (*=0 through 7) LDBYT1 LOAD VECTOR BYTE 1 LDBYT2 LOAD VECTOR BYTE 2 LDO LOAD RAM DATA OUTPUT REG LINE ** LINE ** (**=01, 32, etc.) LINE SYNC AC LINE SYNC LINEB* LINE BIT * (*=0 through 4) LODVAC LOAD VECTOR ADDRESS COUNTER MC MASTER CLEAR MCSWITCH MASTER CLEAR SWITCH EMECYC MEMORY CYCLE (ENA MEMRD) MEMRD MEMORY READ CYCLE MEMW MEMORY WRITE CYCLE MSTCLR MASTER CLEAR (BUFFERED) PIXL** PIXEL DATA BIT ** (**=01 through 16) PULLUP* PULLUP BUX * (*=A,B,C) PWRURS POWER UP RESET PXCT01 PIXEL COUNT 01 PXCT17 PIXEL COUNT 17 PXCT19 PIXEL COUNT 19 PX0910 PIXEL COUNT 09 and 10 PX1617 PIXEL COUNT 16 and 17 PX1819 PIXEL COUNT 18 and 19 PX1819 PIXEL COUNT 18 and 19 RDBUFA READ BUFFER "A" RDBUFF READ NEXT BUFFER RAM ADDRESS READY CPU READY RSTVTA RESET VECTOR TABLE ADDRESS COUNTER RSVRAC RESET VECTOR RAM ADDRESS COUNTER SELBUS SELECT COMMON BUS TO VECTOR RAM INPUT SST-1 STATUS REG STROBE 1 SST-2 STATUS REG STROKE 2 STRKB* STROKE BIT * (*=0 through 3) STRK01 STROKE 01 STRTFE START (VECTOR) FETCH STRTFR START OF FRAME S1 KEYBOARD STROBE 1 (UNSHIFT AND SHIFT) S2 KEYBOARD STROBE 2 (SHIFT 2 and 3) TIMEQA DMA TIMING SHIFT REG Q-SUB-A OUTPUT TIMEQ DMA TIMING SHIFT REG Q-SUB-D OUTPUT UNBLNK UNBLANK CRT V-S CLX VERTICAL SYNCH SHIFT REG CLOCK VACB** VECTOR ADDRESS CNTR BIT ** (**=0 through) 15) VECB** VECTOR RAM OUTPUT DATA BIT ** (**=0 through 15) VEFEMD DMA IN VECTOR FETCH MODE VESYNC VERTICAL SYNC VID EN VIDEO ENABLE (PROTECTIVE BLANKING) VRID** VECTOR RAM INPUT DATA BIS ** (**=0 through 15) VRT VERTICAL RETRACE V1 VIDEO LEVEL 1 (LIGHT) V2 VIDEO LEVEL 2 (NORMAL) WE WRITE ENABLE WR WRITE STROBE WRTVEC WRITE DATA INTO VECTOR RAM OC CPU CLOCK OA PIXEL CLOCK OB BLANK/UNBLANK CLOCK __________________________________________________________________________

As indicated by the mnemonics shown in FIG. 4, the timing and control circuit 60 receives various signals from the control bus such as master clear and provides basic timing reference with the signals required by the CPU. The timing and control circuit is conventional in the art and may, for example, comprise a modified Johnson counter. The address buffer provides buffering of the 16 bit AB.sub.0 to AB.sub.15 address bits from the CPU to the address bus AB. The data buffer 64 provides buffering for the 8 bit DB.sub.0 to DB.sub.7 data bits going from the CPU to the data bus DB or from the data bus DB to the CPU. The system control 66 provides the various system commands under processor control, and includes such system commands as MEMW. These are all transmitted to the control bus CB.

Bootstrap

Also shown in FIG. 4 is the interfacing of the bootstrap memory BS with the common bus. Basically, an address buffer 68 receives a 16 bit address from the addr