CA1287416C - Character generator-based graphics apparatus - Google Patents

Character generator-based graphics apparatus

Info

Publication number
CA1287416C
CA1287416C CA000533044A CA533044A CA1287416C CA 1287416 C CA1287416 C CA 1287416C CA 000533044 A CA000533044 A CA 000533044A CA 533044 A CA533044 A CA 533044A CA 1287416 C CA1287416 C CA 1287416C
Authority
CA
Canada
Prior art keywords
character
font
memory
video signal
attribute
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CA000533044A
Other languages
French (fr)
Inventor
Sakarin Suwannukul
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hercules Computer Technology
Original Assignee
Hercules Computer Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hercules Computer Technology filed Critical Hercules Computer Technology
Application granted granted Critical
Publication of CA1287416C publication Critical patent/CA1287416C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/278Subtitling
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/30Control of display attribute

Abstract

ABSTRACT
Character Generator Based Graphics Apparatus A graphics display apparatus using a character generation architecture is disclosed. A font memory is disclosed which can be addressed to provide a different character for each character position on a display screen. In this manner graphics images can be manipulated at character generation speeds. Further, memory can be more efficiently used and font registers and additional pages of memory are not required to accommodate an expanded font list. In accordance with the present invention, attributes are generated in hardware so that the base text can remain unchanged even though the attributes of the text are changed. A
unique echo circuit is provided to generate a bold faced attribute, including an anti-smear function. In the preferred embodiment of the present invention, a single memory is used to store textual and font information, thus reducing the size and costs of the character generation architecture. In the preferred embodiment of the present invention, a dynamic memory is used and a refreshing scheme is provided for refreshing selected portions of the memory during the active video portions of the device operation.

Description

~ -~`%~fl~ ~
PATENT

Character Generator-Based Graphics Apparatus _chnical Field The present invention is directed to character generation apparatus, and more specifically to an apparatus for generating video signals corresponding to visual graphics image using a character generator type architecture.

Backqround Art Currently, character qeneration architectures assume an 8 bit standard. That is, characters are designated by an 8 bit "ASCII" code. This inherently limits the number of different characters and fonts which can be designated to display textual information, or cells to display graphics information, on a visual display screen. Current solutions include the use of a static screen font register and multiple pages o~
memory, each pag~ of memory storing a different font or group of characters. The contents of the font register determine which page of font memory is to provide the data corresponding to the character codes being supplied in common thereto. While such an architecture provides additional or different fonts, the requirement of a font register and additional memory add complexity and cost to the design and places significant restriction on ~he manner in which the fonts are used.
This renders such architecture a satisfactory solution in only some of the possible applications of character generation schemes.
Examples of current character generation schemes based on an-~8 bit character code are U.S. patent numbers 3,911,420, 4,203,102, 4,283,724, 4,330,834, 7~

PATEN~

4,384,2~5, 4,415,890, 4,437,167, 4,446,457, and 4,520,356.
As a matter of background, textual character generation architectures typically are used to display 256 characters and symbols that are pre-de~ined in a ROM chip called the character generator. These Z56 characters consist, ~or example, o~ the standard 128 ASCII characters, plus another 128 graphics symbols and ~oreign language charactsrs.
Each character can be displayed, for example, with the following attributes: underline, reverse video, blank, blink, and high intensity.
A visual display screen is divided into 2000 cells (80 columns by 25 rows). Each cell can contain one of the 256 characters, which is specified by an 8-bit character code and an 8-bit attribute code stored in a text buffer~
Textual character generation has historically been the most popular mode for processing text because of its speed and simplicity. However, there has been a recent trend toward bit-map graphics techniques for processing text, for greater flexibility in defining character fonts, despite the penalty of complexity and slowness.
In bit-map graphics mode, software can manipulate each individual pixel. This capability is both a blessing and a curse. on the one hand, it permits virtually any graphics image--from an electronic schematic to a Cessna 182 instrument panel--to be displayed on the screen.
But on the other hand this versatility has its price in that the graphics programmer must draw each dot, unaided by a character generator. Because o~ this :
. .

~ ~7~
PATENT
~3--added complexity, text processing in graphlcs mode is generally much slower than in text mode.
Consid~r, for example, how the letter "T" is generated under both modes. In text character generation architectures, it requires, for example, only that 0054H (the ASCII code for "T" and the attribute code ~or "normal") be stored in the video, or text, buf~er. With this code, a capital "~" is dr~wn on a 9 x 14 matrix of pixels, for example, in the appropriate cell location.
In bit-map graphics mode, each pixel of a 9 x 14 `matrix must be individually specified: to display a "T, " 126 hits of information are needed, versus the number of bits required to address the chaxacter in text character generation mode. The advantage of bit-map graphics mode is that it is not confined to a single text font style, but can display virtually any graphics image.
Programmers working in the graphics mode must also typically initialize a CRT controller, which is addressed through an index and a data register. These parameters govern such factors as the total number of characters per row, the number of visible rows, and how the screen is scanned.

Summar~ of the Inventi_n The foregoing problems and disadvantages of prior character generation architectures are overcome by the present invention of a character generation system including a font buffer which stores at least as many different characters as there are character positions on a visual display. The present invention provides a character generation system in which an image is displayed on a screen having a display area defined by PATENT

a designated number of character positions, wherein the image is comprised of characters and the charac~ers are each defined by a corresponding cell of fonk data, each cell of font data being designated by a corresponding ~extual or character code. The system includes a text buffer for storing the textual or character codes corresponding to the characters which form the imag~, and a font buffer which is addressable by ~he textual or character codes for storing a plurality of different cells of font data, wherein the number of different cells of font data stored in the font buffer is at least as great as the designated number of character positions of the screen display area.
In the preferred embodiment of the present invention over three thousand different chaxacters are stored in the font memory, and the textual data stored in memory is 2 bytes wide, 12 bits of which are used to address a font memory and 4 bits of which are used to directly control the character attribute.
The present invention permits "cells" of data to be addressed as if they were ~haracters and to be used to assemble graphics and pictorial images of such resolution which is co~nparable to bit-map graphics systems. In turn, this creates a new dimension in graphic and image generation and manipulation.
In a preferred embodiment of the present invention, both textual as well as font data are stored în a common memory. Retrieved textual data is used to address the memory to retrieve font data. Preferably, t~e amount of font memory available for storage o~
fonts or cells is chosen so that, for a given range of font or cell dimensions, a different font or cell can be addressed for display on the visual display for each of the character positions of the visual display.

374~

PATENT

Thus, for a given image the preferred embodiment of the present invention will permit khe image to be formed of all different cells.
In accordance with the present invention, a bit-map graphics type image can be obtained and can be manipulated with a substantial increase in speed, but all with character generatlon type axchitecture.
Further enha~cing the ~lexibility provided by the present invention in the generation of text and images is a character-code-designated hardware-generated bold face attribute which has the effect of doubling the number of available fonts. In the preferred embodiment of the present invention, bold facing of a character is requested by including a bold face bit in the attribute portion of the character code~ Hardware which is responsive to the attribute data responds to the bold face bit and causes the font data emerging ~`rom the font buffer to be "bolded". In other words, the bold face attribute of the present invention operates on existing font data.
In accordance with the present invention the double width or boldface character attribute is provided by way of an ~echo path which supplements the video signal path. An`anti-smear circuit is included to maintain a distinct separation between characters.
Circuitry is provided to supply control and addressing to the memory so that textual codes and font data can be retrieved from the memory during one part of a character cycle and refreshing of the memory can be performed in another part of a character cycle.
Further in accordance with the present invention the attribute information contained in the character code directly controls the generation of the character attributes, and such attributes are summed with the 41~-PATEMT

video signal being supplied to the visual display. For example, un~erscore and overstrike generat~rs are provided, in addition to the bold face unction, each of which is responsive to the scan line count. The output of the underscore generator and overstrike generator are coupled, via gates which are controlled by the attribute data, to be summed with the video output signal. Thus, when the character code contains an attribute bit which calls for an underscore attribute, the switch connecting the underscore generator to the summing circuit is closed. In the absence of such a bit, the switch is open. The same holds true for the overstrike attribute. This real time, hardware generation of character attributes permits ~arious attributes to be provided for the same character without modifying the ~ase character code defining the character.
Another feature of the invention is the use of a dynamic random access memory as the textual and font storage means. While a static RAM can be used with satisfactory results, use of a dynamic RAM results in a lower cost and re~uires less space. Refreshing means are provided to refresh the font storage area of the memory during otherwisè idle periods of the memory. As such, a less expensive, smaller sized, character generation system with fast bit-map ~raphics characteristics can be achieved. Further, the fonts or cells themselves can be changed without affecting the "textual" storage area, so that the character of the display image can be changed.
It is therefore an object of the present invention to provide character ~eneration apparatu~ which provides a greatly expanded number of available fonts ~' :

.

1~374~

66810-4~0 by way of a font addressing scheme which uses addresses greater than 8 bits wide.
It is an object of the present invention to provide blt-map graphics kype images using character generation architecture.
It i5 another object of the present inventlon ~o provlde a character generation architecture ln which attributee are generated in hardware and in real time so that khe b~se text car remaln constank.
It ls a further object of the pxesent inventlon to provide a character generation archite~ture in which a bold face attribute iE provided by way of a supplemental echo signal path in ~he video signal path.
It is still another objec~ of the present invention to provide a character generation architecture which employs a dynamic random access memory for storing both textual as well as font data.
It is another objec~ of the present invention to provide a character generation archi~ecture which employs a dynamic random access memory for storing font and textual data and which provides refresh means for refreshing the font storage area of the dynamic random access memory during a character cycle.
The invention may be summarized, according to a first aspect, as an apparatus for generating characters in a vi~ual display terminal of the type which receives coded aharacters from the user, transforms the coded charactexs into a video signal, and displays the video signal on a visual display, wherein the coded characters can be in different selected fonts, the apparatus comprising memory means for storing the coded characters and for storin~ font data from which tha video signal can be generated for each of the coded characters, wherein each of the aoded charac~ers is formed from a plurality of bytes of data and includes attribute control data and a font address, and further whereln the ~ont address comprises more than a byte and less than the plurality of bytes of data to provide a predetermined number of possible font addresses, such that the memory means stores font data at each of the possible font addresses and so that each of the stored : 7 74~
66~10~4~0 character codes an provide any one o~ th~ possible ~ont addressesr and further wherein the memory means is a dynami~
memory having a continuous physical address space; means for addressin~ the memory means to read out the coded chara~ters from the memory mean~ and to utilize the font address from each coded character ~o re-trieve the corresponding font data from the mewory means; means responsive to the font data for convertiny the font data into the videa signal; and means for refreshing selected portlons of the memory means, where1n the font data correspondlng to a particular character is converted into the video siynal over a character cycle, and ~he means for refreshing refreshes the selected portions of the memory means durin~ the character cycle, and further wherein the video signal comprises a plurality of pixels supplied in accordance with a dot clock and a character is represented by a predetermined number of pixels supplied over a character cycle, wherein the refreshing means comprise means responsive to the dot clock and character cycle for determining whether the memory is being accesses for font da~a or coded characters; and means coupled ~o the determining means and ~o the memory weans for generating a refresh cycle when the memory is not being accessed for font data or coded characters.
According to a second aspect, the invention provides an apparatus for generating characters in a visual display terminal of the type which receives coded characters from the user, transforms the coded characters into a video signal, arld displays the video signal on a visual display, wherein the coded characters can be in di~ferent selected fonts, and further wherein the attribute control data includes a bold face attribute siynal, the apparatus comprising memory means for storing the coded characters and for storing font data from which the video signal can be generated for each of the coded character~, wherein each of the coded characters is formed from a plurality of bytes of data and includes attribute control data and a font address, and further wherein the font addrass comprises more than a byte and less than the plurality of bytes of data to provide a predeterwined number of possible font addresses, such that the ~emory means stores font 7a 74~

66~1U-g2U
data at each of the possible font addresses and so that each of the stored character codes can provicle any one o the posslble font addresses; means for addressing the memory means to read out the coded characters from the memory means and to utilize the font address fro~n each coded chara~ter to retrieve the correspondiny font data from the memory means; ~eans responsive to the on~ data for converting the font data into the video signal; means for yenerating an attribute signal representative of a selected attribute; mean~ for summing the video signal with the attribute signal; means responsive to the attribute control data for selectively coupling the attribute signal to the summing means for combination with the video signal; and further wherein the attribute generating means comprises means responsive to the video signal for delaying the video signal for a selected period o time, and further wherein the delayed video signal is supplied to the coupling ~eans for selective coupling to the summing means, so that a ~old face attribute is provided.
These and other objectives, features and advantages of the present invention will be more readily understood upon considering the following detailed description and accompanying drawings.
Brief De~criPtion of the Drawinqs Eig. 1 is an illustration of the relationship between character cells on the visual display, the text buffer, and the font buffer.
Fig. 2A is a simplified block diagram illustrating the position of the character generation architecture 7b ~ ~3'~ 6 ,~. .

PATENT

of the present invention with rPspect to khe visual display and a central processing unit.
Fig. 2B is a simplified block diagram o~ the character generation architecture o~ the present invention.
Fig. 3 is a simplified functional block diayram o~
the dynamic memory employed in the present invention.
Fig. 4 is a memory map of the dynamic memory of the present invention.
Fig. 5 is a timing diagram illustrating textual data retrieval and fo~t addressing.
Fig. 6 is a more detailed schematic of the cixcuitry for ~enerating a bold face attribute.
Fig. 7 is a state diagram illustrating the refresh operation of the dynamic memory of the present in~ention.
Fig. 8 is a more detailed schematic diagram of the circuitry for controlling access to the dynamic memory of the present invention by the CPU or by a refresh operation.

Detailed Description of the Present Invention A significant advantage of the architecture of the present invention is that it permits what has heretofore been considered architecture for generating textual materials, or, at best, crude graphics images, to be transformed into a system which can provide high quality, highly flexible graphics and pictorial image generation and manipulation. What has heretofore been considered a font memory, now has the expanded capacity to be a graphics cell memory or graphics cell library which can provide a different character for each and every character position on the display screen. In turn, this permits highly complex images to be 74~
PATENT
_g_ manipulated at speeds greater than that available from normal bit-mapped graphics systems. Thus, unlike present graphic systems which utilize a refresh bufer that is manipulated pixel by pixel to provide a one-for-one storage of pixel data to be displayed on the screen, the present invention utilizes a textual buffer and a cell library to provide many of the same capabilities that present graphic systems provide. For example, because the cell library is stored in a random access memory, individual cells can be easily modified without changing the content of the text buffer or the rest of the cell library. ~hus if certain cells are associated with certain portions of the visual image to be displayed, those cells can be addressed directly and modified during a nonvideo portion of the visual display cycle Where the entire image is made up of different cells the font buffer will be able to supply all required cells. Operations such as panning the image can be achieved by appropriate addressing of the textual memory. Scrolling of the image is achieved by simply scrolling the text buffer as one would do so if textual information was stored in the buffer.
The preferred embodiment of the present invention combines the speed and ease-of-use o~ text mode with much of the versatility of graphics mode. It does th.~s by allowing the user to define up to 3072 characters, and display them as easily as if they were being produced by a character generator.
In effect, the present invention provides a bit map for creating images; but instead of forcing the software to address each pixel individually, as is done in bit map graphics, the bit map is divided into cells of, for example, 16 bytes, each of which is accessible 2~7416 PATENT

with a 12-bit character code and a four bit attribute code.
A 12-bit character code allows the addressing of 3K characters, rather than the 256 characters addressable with prior text generation architecture 8-bit character codes. Three thousand seventy two characters is the equivalent of twelve full 256 character ~onts, allowing for several ~onts to be displayed at once.
The number of characters displayable at one time can vary with ~he size of the character matrix. A 9 X
16 matrix, will display 8 X 21 characters. An 8 X 8 matrix will display 90 X 43 characters on the screen.
Characters can be strung together to create large ones;
for example, two 8 X 16 cells will create 16 X 16 cells, four 8 X 12 cells will create 16 X 24 cells.
Thus, in accordance with the present invention, by providing a cell library which can store in continuous address space at least a different character for each character position display on the visual display, one can greatly expand the usefulness of text generation based of video display terminals.
As a matter of ba,ckground, textual information is typically displayed on a cathode ray tube in a format of 24 rows, each having 80 characters. Each character row is formed of a number of parallel scan lines, for example 16 scan lines, and each scan line is formed of a plurality of pixels. Characters are displayed on the cathode ray tube in predefined regions, for example regions 8 pixels wide and 16 scan lines high. In the formation of a row of characters, the pixels forming the first scan line of each of the characters in the row to be displayed is provided consecutively to the CRT. Next, the 8 pixels forming the second scan line .. ~ .... .

7~

66810~420 of each of the characters in the row are provided sequentia]ly ~o -the CRT, and so on, for each of the 8 pixels in each o~ the sca lines for the characters in the row until all 16 scan lines have been provided to the CRT. This is explained in greater detail in U.S. Patent No. 4,330,83~, referred to above. Thus, in the display of a ro~ of textual information, the character code for each of the characters in the row ls read out of the textual portion o~ memory and applies seriatim to address the ont portion of memory. The reading out of the character codes for the row is repeated for a period corresponding to 16 consecutive scan lines.
The portion of each character code which is used to address the font portion of memory is supplemented with the scan line count to indicate which scan line of the character font is currently being addressed.
Referring to Fig. 1, the relationship is illustrated between character cells displayed on the visual display screen, the cell addresses stored in the ~ext portion of the memory, and the cell data stored in the font portion of the memory. It can be seen that for a cell dimension of p rows and g pixels, N cells will be required to fill the visual display screen. For purposes of simpliclty, the first four and the Nth cells which make up the visual image are shown. From Fig. 1 it can be seen that the addresses for each of the cells display are stored in sequence in - the text buffer portion of the memory. Thus as the text buffer portion can be scanned by a periodic sequential addressing scheme to read out all of the addresses of the cell to be dlsplayed on the screen.

, .

. . . .
... .

741~i .~

PATEMT

From'Fig. 1, however, it can also be seen that the cells need not be stored in the font buffer portion of memory in any particular order. Thus, so long a,s the address of the desired cell is known, it can be retrieved from the font buffer portion. It is to be noted that each row of a cell is stored in sequence in the font buffer portion. This also means that modification to the text buffer can be made independently of the font buffer and vice versa. From a practical sense font changes can easily be made for whatever applications program is being executed by the user. The retrieval of any character from the font buffer is thus the same as that for the conventional character generation scheme.
When the present invention is employed to provide graphics images, it can ~e seen that the i~age can be modified at significantly higher speeds than conventional graphics systems. Where a cell is 8 pixels wide and 16 rows high this means that by changing a single address in the text buffer 8 X 16 pixels are automatically defined by the font huffer.
In contrast, in conventional bit-map graphics systems each pixel is defined on a pixel-by-pixel basis. Thus, in the example above, a sixteen 'fold increase in speed can be achieved.
Referring to Fig. 2A, a central processing unit 1 provides textual data, addresses and control information to the character generator 2 of the present invention. In turn, the character generator 2 supplies video output signals, representative of the textual information, to visual display 4 for display.
Addressing/timing circuitry 3 provides horizontal and vertical synchronizing signals to visual display 4, as 7A~
PATENT

well as provides addressing and control signals to character generator 2.
Referring to Fig. 2B, the present invention employs a memory lo, preferably a dynamic memory, which stores both textual codes and font data. It is to be understood that the terms "font data" and "textual codes", as used herein are not intended to be limited to their literal meaning, and that the term "font data"
can also refer to cells of image data, and that the term "textual codes" can also refer to a code, address, or designation of a cell of image data. Memory 10 is accessed during one part of a character cycle to provide the textual code for that part of the textual data to be displayed in the next character cycle, and, at the same time, is addressed by the textual code retrieved during the previous character cycle to provide font data. The font data provides pixel information for driving a cathode ray tube ("CRT") or the like.
Referring to Figs. 3 and 4 the arrangement of the memory and the allocation of the memory addressing are illustrated. In the preferred embodiment of the present invention four 16K x 8 bit dynamic random access memory devices (I'RAMsll) are employed. These can be device number MB81416, available from Fujitsu of America, of Santa Clara, California. Fig. 3 illustrates general architecture by which these devices are arranged.
In the preferred embodiment o~ the present invention, textual codes are 2 bytes wide, font data is addressed by way of a 12 bit wide word, which is a part of each textual code, and the font data provided for each character is 8 pixels wide and 16 scan lines high.
one of the four 16K x 8 bit dynamic random access ;:

. ' ' . : ' ` ` ~ 2~3~74~6 PATENT

memories ("DRAMs") is enclosed in dotted lines 12 of Fig. 3.
For access by the CPU, each o~ these 16K x 8 bit devices is addressed in parallel with the others ~i~h a sixteen bit address, and provides an eight bit output or receives eight bits of data ~or storage. Two o~ the sixteen bits are decoded by decode circuit 25 to enable one of the four 16K x 8 DRAMs to be written or read by the CPU.
When the DRAMs are accessed by the address/timing rirCuitry 3 to generate the video signal for display, DR~M lOA (the text buffer) receives the scanning address and, in turn, addresses DRAMs lOB, C and D, the font buffer.
In a further embodiment of the present invention, text buffer loA is actually two identical 16K x 8 bit DRAMs lOA' and lOA", each storing the same data at the same addresses. When text bu~fer lOA is addressed by the address/timing circuitry 3, DRAM lOA' is supplied with the actual address and DRAM loA" is supplied with an address which is the actual address with its least significant bit complimented. In this manner, a 16 bit word can be read out of the text buffer lOA at one time.
From Fig. 4 it can be seen that, in the preferred embodiment of the present invention, storage for 16K
bytes of text is provided. The remainder of the memory provides 48K bytes of font or cell storage.
As discussed above, in the preferred embodiment of the present invention the font storage portion of memory 10 is accessed randomly.
Returning to Fig. 2B, the addressing of memory lo will now be described in greater detail. The addresses to memory 10, provided on address bus 24, take a number 37~

PATENT
~15-of forms: l) font addresses, which are the combination of the scan line count and a portion of the character codes stored in the textual portion of memory; 2) scanning addresses for scanning the textual storage area of memory 10; and 3) CPU access addre5ses.
Address selector 26 selects ~rom among these differ~nt addresses under control of an address selection signal on line 28 and provides the selected addresses to the font address port and the text address port of memory 10 .
In the preferred embodiment of the present invention, the reading out of a textual code from the textual portion of memory and the addressing of the font portion of memory with a portion of a pre~iously read-out textual code is accomplished in a character cycle. Twelve bits from character code register 30 are combined with the 4 bit scan line caunt to provide a 16 bit font address. Two of the 12 bits from the character code register 30 are supplied to decoder 25 to enable one of DRAMs loA, B or C. The scan line count and the other 10 bits from character code register 30 are applied to address selector 26 to provide a 14 bit font address. During a given character cycle a scanning addrèss is supplied by address selector 26 on the address bus 24 to the text address port of memory lO and a font address, part of which was read out of the textual portion of memory in the previous character cycle, is supplied by address selector 26 on the address bus 24 to the font address port of memory l~. This also causes the font data corresponding to the current font address to be made available at the font buffer output port 22 for storage in parallel to serial register 34. On the rising edge of the next character cycle, the character code and the 74~

font data are loaded into registers 30 and 34 respectively. The 8 bit word in register 34 provides 8 pixels for the particular portion of the scan line being then scanned on the CRT in that character cycle, but correspond to the font which was addressed in the previous character cycle.
With respect to the 12 bits stored in character code register 34, these bits are obtained from the 2 bytes retrieved from the text buffer in response ~o the scanning address. One of these bytes can be viewed as a character code and the other can be viewed as an attribute code. In accordance with the present invention 4 bits from the attribute code are concatenated with the character code so that they provide the most significant bits of a twelve bit word for use in forming the font address.
As can be seen from Fig. 5, waveform 38, address select line 28 is raised just prior to the rising edge of the next character cycle when a CPU access request is made in the current character cycle. Address select line 28 controls address select circuit 26 to provide, during the low state on address select line 28, the font address from character code register 30 to the font address port of memory 10, and the scanning address from address/timing circuitry 3 to the text address port of memory 10. When address select line 28 is high, the address on the CPU Access Address line is supplied to both address ports.
Row and column address strobes are asserted during the high state on address select line 28 to enter the font and text addresses into the memory 10 address buffers.
Referring to Fig. 5, in the preferred embodiment of the present invention a character cycle is generally ~ ~137~
PATENT

defined as having a lenyth of 8 dot cloc~ cycles. Each dot clock cycle corresponds to the occurrence of a pixel in a scan line on the C~T. The dot clock cycles are illustrated in waveform 34 at the top o~ Fig. 5.
Waveform 36 illustrates the character cycle. The address o~ the font data for khe next character cycle and the actual font data for the current character cycle are loaded into registers 30 and 34 at the rising edge 36R of each character cycle~
Waveform 38 illustrates the state of address select enable line 28. The addresses supplied to the address ports of memory 10 corresponding to the states of waveform 38 are illustrated in waveform 40.
~ s discussed earlier herein, the textual codes stored in the textual portion of memory lo include attribute control data. In the prefsrred embodiment of the present invention, 4 bits out of the 16 bit textual code are employed as the attribute control data. From Fig. 2B it can be seen that 1 bit of the attribute data is used to control the coupling of the output of overstrike generator 48 to summing circuit 50. Another bit of the attribute data is used to control the coupling of the output of underscore generator 52 to summing circuit 50. Finally, a third bit of the attribute data is used to control the coupling of the output of 1 bit delay circuit 54 to summing circuit 50.
Summing circuit 50 can be an OR gate~
One bit delay circuit 54 is utilized to provide an echo path to generate a bold face attribute in the horizontal dimension of the visual display 4. When switch 56 is closed, summing circuit 50 receives from 1 bit delay circuit 54 the bits of parallel/serial register 34 delayed in time by l bit. This results in a character having a double width.

. .:

1~ 74~6 PATEN~

Likewise, when switch 58 is closed, an underscore signal is applied to summing circuit 50 in conjunction with the appropriate scan line, in the preferred embodiment scan line 16, for the character for which the underscore attribute has been designated.
Similarly, when switch 60 is closed, an overstrike signal is applie~ to summing circui~ 50 at the appropriate scan line position o~ the character ~or which the overstrike feature has been designated.
Referring more particularly ~o Fig. 6, the circuitry for generating the bold ~ace attribute ~ill be described in greater detail. Parallel/serial register 34 receives 8 bits of font data on font bus 62 and shifts out these 8 bits of data in serial form on line 64. The dot clock is applied to the clock input of paralleltserial register 34 to provide the shift timing. The 1 bit delay circuit 54 can be a D flip flop which is clocked by the dot clock. The output of parallel/serial register 34 is supplied to both the summing circuit 50 and to the D input o~ 1 bit delay circuit 54. The noninverted output of 1 bit delay circuit 54 is applied to AND gate 66. The bold face attribute data from textual code register 30 is applied as a second input to AND gate 66 on line 68. Finallyr a third input is applied to AND gate 66 from counter 70. Counter 70 is incremented at the dot clock rate and reset by the character clock at the beginning of each character cycle. The signal provided by counter 70 to AND gate 66 corresponds to a count of one in the counter 70. This is to disable the echo path to summing circuit 50 ~or the last bit of the pixel stream passing through 1 bit delay circuit 54 for each character cycle. This prevents the smearing of the character into the next character space as it is PATENT

displayed on the CRT. In other words, when an echo technique is used to provide a bold ~ace character, the last delayed bit of the pixel stream for the particular scan line of the character tends to smear over into the next character cycle. By suppressing this last delayed bit in the pixel stream, the smearing is eliminated~
In the preferred embodiment a continuou5 address space dynamic memory is used to store both the text an~
font information. While a continuous address space is present, refreshing of the memory is still needed apart from that which occurs during normal access of the memory. While the textual portion of the memory is scanned continuously, thus requiring no refreshing, the font portion of the memory is accessed randomly and thus re~uires refreshing. As alluded to above, refreshing of a part of this portion of dynamic memory can ~e performed during each character cycle.
Referring to Figs. 5, 7 and 8, this refreshing will now be described in greater detail.
As can be seen from Fig. 5, waveform 84, memory lo will be busy with the generation of the video signal during the last five dot clock cycles of each character cycle. This leaves 3 dot clock cycles of the character cycle for refreshing purposes. However, this period is also shared with the central processing unit 1 to permit the central processing unit 1 to access memory 10. Fig. 7 is a state diagram illustrating the relationship between CPU accesses to memory, refreshing of the memory, and video generation by accessing the memory. State 72 corresponds to the last one and first 3 dot clock cycles of each character cycle. When the video generation has been completed, state 74 is entered. At this point, a check is made to determine whether the CPU wishes to access the memory. If such 74~6 PATENT

is the case, state 76 is entered to permit the CPU
memory access~ When the CPU is done, an idle state 78 is entered. Thereafter, state 72 is entered followed by state 74.
If in state 74 a CPU access request is not detected, state 80 is entered wherein the refresh operation occurs.
In light of the limited amount of time availa~le in any particular character cycle for refreshing, refreshing of the entire font memory portion of memory 10 takes a number of character cycles to complete. The refreshing of the preferred dynamic memory of the present invention is simplified because the particular device keeps an internal record of the next row of memory to be refreshed. When the column address strobe rises, with the row address strobe already high, and remains high as ~he row address stroba goes low, the device cancels the refresh of the next row of memory.
Conversely, when the column address strobe is low when the row addxess strobe goes low, the memory automatically refreshes the next row.
Waveform 82 illustrates the sampling of the character cycle for a CPU access request. It can be seen that this sampling period occurs during the fifth and sixth dot clock cycles of the character cycle.
Waveform 84 illustrates the refreshing of memory 10 during dot clock cycle 2 of the second character cycle of Fig. 5. In the first character cycle of Fig. 5 it can be seen that no refresh address is supplied, this indicating that the CPU has requested access during this period, the request having occurred in the previous character cycle. See waveform 83.
Waveforms 86 and 87 correspond to the row address strobe and column address strobe, respectively.

~2~37~

Portion 90 of both waveforms corresponds to the memory re~resh condition. As can be seen with portion 92 of both waveforms, a column address strobe is first applied followed by a row address strobe in conjunction with the CPU access of memory.
Referring to Fig. 8, the allocation of memory access between a CPU access request and the refresh function is illustrated in greater detail. In practice, this circuitry is incorporated in the timing/addressing circuitry 3, as is the attribute hardware and textual code and font data registers, which in turn is implemented by way of a logic gate array or standard cells of logic blocks. A request far memory access from the CPU 1 is received by D flip flop 96. See waveform 83, Fig. 5. Counter 98 is reset by the character cycle clock at the beginning of each character cycle and counts dot clock cycles.
Comparator 100 is connected to the output of counter 98 and determines when the count is within a certain range, in the preferred embodiment, between 3 and 6.
AND gate 102 is coupled to the outputs of counter 98 to provide a clock pulse to D flip flop 96 when the count in counter 98 reaches a predetermined number, in the preferred embodiment, 4. See waveform 82, Fig~ 5.
Thus, D flip flop 96 is enabled to clock in the logic state present on the CPU request line 104 during dot clock cycle 4 of a character cycle.
Comparator 100 provides an indication of when the memory is in an idle state, i.e., not busy with the accessing of textual or font data. AND gate 106 receives the output of comparator 100 and the inverted output of D flip flop 96. Thus, when the system is in dot clock cycle 5 and 6 of a character cycle and when no CPU request has been received by D flip flop 96, AND

. .

37~
"~

PATENT

gate 106 will provide a logic 1 to indicake that a refresh can occur. Conversely, when D flip ~lop 96 receives a CPU request, its inverted outpuk will be a logic zero, thus causing AND gate 106 to provide a logic zero at its output~ thus disabling any re~resh activity.
AND gate 108 receives as one of its inputs the output from comparator 100, and as another input the noninverted output of D flip flop 96. Thus, when comparator lO0 indicates that the system is in dot clock cycles 5 and 6 o~ the character cycle, and when D
flip flop 96 indicates that a CPU request has been received, AND gate 108 will provide a logic 1 to indicate that a CPU access is to occur. D flip flop 110 is clocked by the output of AND gate 102 and receives as its input the Q output of D flip flop 96.
The inverted output of D flip flop 110 is applied to AND gate 108 to define the end of the CPU access period.
As indicated herein above, the addressing/timing circuitry 3 is implemented in the preferred embodiment by way of a gate array to provide timing and control signals in accordance with the waveforms of Fig. 5 and the state diagram of Fig. 7, to provide the CPU access detection and refresh addressing of Fig. 8, and to provide the ~ddress selection signal to address selection circuit 26. It is also to be understood that, as indicated by dotted line 3' in Fig. 2B, the attribute generation circuitry, the textual code register, and the parallel to serial register can all be implemented by way of a logic gate array or standard cells of logic blocks.
The terms and expressions which have been employed here are used as terms of description and not of 37L~
PATENT

limitations, and there is no intention, in the use of such terms and expressions of excluding equivalents o~
the features shown and described, or portion~ ~hereo~, it being recognized that various modifications are possible within the scope of the invention claimed.

.' , ,~ .

~ ~ ' :.

Claims (4)

1. An apparatus for generating characters in a visual display terminal of the type which receives coded characters from the user, transforms the coded characters into a video signal, and displays the video signal on a visual display, wherein the coded characters can be in different selected fonts, the apparatus comprising memory means for storing the coded characters and for storing font data from which the video signal can be generated for each of the coded characters, wherein each of the coded characters is formed from a plurality of bytes of data and includes attribute control data and a font address, and further wherein the font address comprises more than a byte and less than the plurality of bytes of data to provide a predetermined number of possible font addresses, such that the memory means stores font data at each of the possible font addresses and so that each of the stored character codes can provide any one of the possible font addresses, and further wherein the memory means is a dynamic memory having a continuous physical address space; means for addressing the memory means to read out the coded characters from the memory means and to utilize the font address from each coded character to retrieve the corresponding font data from the memory means; means responsive to the font data for converting the font data into the video signal; and means for refreshing selected portions of the memory means, wherein the font data corresponding to a particular character is converted into the video signal over a character cycle, and the means for refreshing refreshes the selected portions of the memory means during the character cycle, and further wherein the video signal comprises a plurality of pixels supplied in accordance with a dot clock and a character is represented by a predetermined number of pixels supplied over a character cycle, wherein the refreshing means comprise means responsive to the dot clock and character cycle for determining whether the memory is being accesses for font data or coded characters; and means coupled to the determining means and to the memory means for generating a refresh cycle when the memory is not being accessed for font data or coded characters.
2. The apparatus of claim 1, further including means for generating an attribute signal representative of a selected attribute; means for summing the video signal with attribute signals; means responsive to the attribute control data for selectively coupling the attribute signal to the summing means for combination with the video signal.
3. An apparatus for generating characters in a visual display terminal of the type which receives coded characters from the user, transforms the coded characters into a video signal, and displays the video signal on a visual display, wherein the coded characters can be in different selected fonts, and further wherein the attribute control data includes a bold face attribute signal, the apparatus comprising memory means for storing the coded characters and for storing font data from which the video signal can be generated for each of the coded characters, wherein each of the coded characters is formed from a plurality of bytes of data and includes attribute control data and a font address, and further wherein the font address comprises more than a byte and less than the plurality of bytes of data to provide a predetermined number of possible font addresses, such that the memory means stores font data at each of the possible font addresses and so that each of the stored character codes can provide any one of the possible font addresses; means for addressing the memory means to read out the coded characters from the memory means and to utilize the font address from each coded character to retrieve the corresponding font data from the memory means; means responsive to the font data for converting the font data into the video signal; means for generating an attribute signal representative of a selected attribute; means for summing the video signal with the attribute signal; means responsive to the attribute control data for selectively coupling the attribute signal to the summing means for combination with the video signal;

and further wherein the attribute generating means comprises means responsive to the video signal for delaying the video signal for a selected period of time, and further wherein the delayed video signal is supplied to the coupling means for selective coupling to the summing means, so that a bold face attribute is provided.
4. The apparatus of claim 3, wherein the video signal comprises a plurality of pixels supplied in accordance with a dot clock and a character is represented by a predetermined number of pixels supplied over a character cycle, and further wherein the coupling means include counter means responsive to the dot clock and reset at the beginning of each character cycle for indicating the first dot clock cycle of each character cycle; and logic means responsive to the counter means, the bold face attribute signal, and to the delayed video signal for suppressing the delayed video signal when the first dot clock cycle of each character cycle is present.
CA000533044A 1986-06-24 1987-03-26 Character generator-based graphics apparatus Expired - Lifetime CA1287416C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US878,017 1986-06-24
US06/878,017 US4937565A (en) 1986-06-24 1986-06-24 Character generator-based graphics apparatus

Publications (1)

Publication Number Publication Date
CA1287416C true CA1287416C (en) 1991-08-06

Family

ID=25371199

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000533044A Expired - Lifetime CA1287416C (en) 1986-06-24 1987-03-26 Character generator-based graphics apparatus

Country Status (9)

Country Link
US (1) US4937565A (en)
EP (1) EP0250713A3 (en)
JP (1) JPS6332591A (en)
KR (1) KR880001150A (en)
AU (1) AU6987187A (en)
CA (1) CA1287416C (en)
DK (1) DK105487A (en)
FI (1) FI871115A (en)
NO (1) NO870769L (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3854641T2 (en) * 1987-09-28 1996-05-09 Ibm Job control unit for writing on a full screen and for partial writing on a screen.
CA1335215C (en) * 1988-07-01 1995-04-11 Lavaughn F. Watts, Jr. Flat panel display attribute generator
US5133159A (en) * 1989-01-13 1992-07-28 Nestle S.A. Method for polishing silicone products
US5266939A (en) * 1989-01-18 1993-11-30 Mitsubishi Denki Kabushiki Kaisha Memory data synthesizer
EP0618547B1 (en) * 1989-03-08 1999-12-08 Canon Kabushiki Kaisha Output device
US5185858A (en) * 1989-12-01 1993-02-09 Megatek Corporation Image priority video switch
US5668934A (en) * 1993-07-16 1997-09-16 Unisys Corporation Interface to sophisticated printers
US5539428A (en) * 1993-12-30 1996-07-23 Cirrus Logic, Inc. Video font cache
GB9421770D0 (en) * 1994-10-28 1994-12-14 Philips Electronics Uk Ltd Digital image coding
US5742298A (en) * 1994-12-30 1998-04-21 Cirrus Logic, Inc. 64 bit wide video front cache
KR100207316B1 (en) * 1996-08-06 1999-07-15 윤종용 Information presentation apparatus of display
KR100239357B1 (en) * 1997-04-17 2000-01-15 구자홍 Character processing method and apparatus of image display device
US7936280B2 (en) * 2006-02-17 2011-05-03 Dspace Digital Signal Processing And Control Engineering Gmbh Signal display device for displaying the signals on signal paths

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2059727B (en) * 1979-09-27 1983-03-30 Ibm Digital data display system
SE423936B (en) * 1980-01-16 1982-06-14 Asea Ab PROCEDURE FOR PRESENTING GRAPHIC INFORMATION AND DEVICE FOR IMPLEMENTATION OF THE PROCEDURE
US4316188A (en) * 1980-05-27 1982-02-16 Cincinnati Milacron Inc. Multiple font display control
US4520356A (en) * 1980-06-16 1985-05-28 Honeywell Information Systems Inc. Display video generation system for modifying the display of character information as a function of video attributes
US4398190A (en) * 1981-02-19 1983-08-09 Honeywell Information Systems Inc. Character generator display system
JPS57187257A (en) * 1981-05-15 1982-11-17 Fuji Xerox Co Ltd Printing system
US4439761A (en) * 1981-05-19 1984-03-27 Bell Telephone Laboratories, Incorporated Terminal generation of dynamically redefinable character sets
EP0105491A3 (en) * 1982-10-01 1987-02-25 High Technology Solutions, Inc. Font display and text editing system
US4563677A (en) * 1982-10-19 1986-01-07 Victor Technologies, Inc. Digital character display
US4613856A (en) * 1983-04-04 1986-09-23 Tektronix, Inc. Character and video mode control circuit
US4555700A (en) * 1983-05-11 1985-11-26 International Business Machines Corp. Internal image and bit array for display and printing of graphics
US4556878A (en) * 1983-05-11 1985-12-03 International Business Machines Corp. Display of graphics using a non-all points addressable display
GB2155286B (en) * 1984-02-27 1987-04-23 Philips Electronic Associated Character memory addressing for data display
JPH0614273B2 (en) * 1984-07-24 1994-02-23 三菱電機株式会社 Video display controller
ES8701399A1 (en) * 1984-09-17 1986-11-16 Honeywell Inf Systems Mixing of line drawings and text in a CRT display system.

Also Published As

Publication number Publication date
DK105487D0 (en) 1987-02-27
AU6987187A (en) 1988-01-07
DK105487A (en) 1987-12-25
US4937565A (en) 1990-06-26
NO870769L (en) 1987-12-28
EP0250713A2 (en) 1988-01-07
NO870769D0 (en) 1987-02-25
KR880001150A (en) 1988-03-31
JPS6332591A (en) 1988-02-12
EP0250713A3 (en) 1989-07-19
FI871115A0 (en) 1987-03-13
FI871115A (en) 1987-12-25

Similar Documents

Publication Publication Date Title
US4075620A (en) Video display system
US5742788A (en) Method and apparatus for providing a configurable display memory for single buffered and double buffered application programs to be run singly or simultaneously
US4417239A (en) Interactive combination display
CA1287416C (en) Character generator-based graphics apparatus
EP0492939B1 (en) Method and apparatus for arranging access of VRAM to provide accelerated writing of vertical lines to an output display
US4203102A (en) Character display system
CA1253258A (en) Memory access modes for a video display generator
JPH03134700A (en) Display unit
US4399435A (en) Memory control unit in a display apparatus having a buffer memory
US5371519A (en) Split sort image processing apparatus and method
US5539428A (en) Video font cache
US6078316A (en) Display memory cache
US4910505A (en) Graphic display apparatus with combined bit buffer and character graphics store
US4563677A (en) Digital character display
GB1573214A (en) Digital television display system
EP0525986A2 (en) Apparatus for fast copying between frame buffers in a double buffered output display system
EP0349145B1 (en) Flat panel display attribute generator
EP0140555B1 (en) Apparatus for displaying images defined by a plurality of lines of data
EP0106201A2 (en) Display control circuit for reading display data from a video RAM constituted by a dynamic RAM, thereby refreshing memory cells of the video RAM
US5533187A (en) Multiple block mode operations in a frame buffer system designed for windowing operations
JPS599059B2 (en) Display device character code extension method and device
US5266933A (en) Method and apparatus for displaying a screen separator line
KR880001082B1 (en) Low table adressing method
JP2708841B2 (en) Writing method of bitmap memory
JPS597115B2 (en) How to create an address

Legal Events

Date Code Title Description
MKLA Lapsed