Display control apparatus with improved attribute function

Abstract: A display control apparatus having an improved attribute function is disclosed. The control apparatus comprises a refresh memory having a plurality of storage addresses, each storage address storing a pattern code and an attribute code, an address circuit for selecting one of the storage addresses of the refresh memory and a video signal generator for generating a video signal in accordance with the pattern code and the attribute code, and is featured by an attribute memory for storing a control code and a control circuit for making the attribute code from the refresh memory effective and ineffective in accordance with the content of the control code.

Description: The present invention relates to an image display apparatus and more specifically to a display control apparatus for displaying patterns such as characters and figures on a raster scanning type CRT display. It is one of the important functions of the display processing apparatus to display on a cathode ray tube (CRT) screen information such as sentences (hereinafter referred to simply as texts), figures and other images (simply referred to as graphics) stored in memory (e.g., refresh memory using dynamic memory). In recent years, demands for so-called new media related equipment such as personal computers, word processors and data base network services for private or home use have been growing remarkably. The importance of the display processing as man-machine interface therefore is increasing not only in the office automation (OA) equipment field but also in the home or consumer-use new-media-related equipment field. Also the mode of display has grown diversified. At the same time, the processings executed by microprocessor which controls the system have become complex and large in volume. Under these situations, there are increasing demands for the display equipment capable of controlling and processing display data efficiently. With conventional display apparatuses of this kind, the display is performed by first storing in a refresh memory information to be displayed such as texts and graphics. Then the above information is successively read out in synchronism with the CRT scanning timing and, converted into video signal which is to be supplied to the CRT. For the text display in particular, the CRT screen is orderly divided into a large number of small sections, each of which is assigned with a character. The display position of the character is related to the address of the character code in the refresh memory. A series of character patterns obtained by reading the character code in successive addresses is used to display the text on the screen. It has been practiced that the character patterns are displayed in many different ways rather than simply displaying the obtained character patterns. For example, characters are displayed with underline or in a blinking manner. In order to perform the above modified display, the pattern modifying information (hereinafter referred to as attribute information) specifying the shape, color and blink for each display data is stored in the refresh memory with character code of display data. Upon display, the attribute information is read out in synchronism with the character code and used for driving the corresponding attribute control hardware, and thereby modifying the display data. In the above-mentioned conventional display technique, since the output signal of each bit of the attribute code stored in the refresh memory is directly supplied to the attribute control circuit, any change in the attribute specification for only a part of the display screen requires rewriting of not only the associated attribute code but also all the remaining attribute codes in the refresh memory after calculating the address to be changed. The recent trend for enhanced resolution in the display has entailed an increase in the memory capacity, which in turn has resulted in a substantial increase in the amount of processing executed by the microprocessor in rewriting the refresh memory and also resulted in a drop in the display response speed and a degraded operability. These drawbacks have already reached a point where they cannot be ignored. On the other hand, there is also a trend for an increasing number of diversified characters being used, such as kanji (Chinese characters) and special characters used in scientific fields. Under these circumstances, there is a call for sophistication of the attribute function itself to make it possible to, e.g., underline at an arbitrary raster position and raster axis. This requires provision of special control circuits such as a dedicated register and a comparator, which is not desirable from an economical point of view. ELEKTRONIK, Vol.34, no.21, 10/85, München, DE; K.Nolte: "Terminal Management Processor...", discloses a display system of the above described kind, wherein eight attribute bits are stored together with the character code. Every change in an attribute bit is related to an rewriting of the refresh memory. US-A-4 258 361 discloses a similar display system wherein the screen layout is selected between at least two differenct screen layouts by an attribute decoder logic. Also here any change in an attribute is related to a rewriting of the refresh memory. It is an object of the present invention to provide a display control apparatus which can achieve the attribute function with ease and at a high speed without rewriting contents of the refresh memory. It is another object of the present invention to provide a display control apparatus which greatly improve operability of the attribute function with the reduced load of the microprocessor. The object is solved by the features disclosed in claim 1. The further claims correspond to different advantageous embodiments of the invention presented. According to the present invention, the attribute codes stored in the image memory are selectively made effective and ineffective upon display in accordance with the control code. Therefore, execution or non-execution of modifying a pattern to be displayed can be made simply by controlling the content of the control memory, and therefore it is no more necessary to rewrite the whole attribute codes to be modified in the image memory. Fig. 1 is a schematic block diagram showing a display apparatus according to prior art; Fig. 2 is a diagram showing a configuration of the refresh memory; Fig. 3 is a diagram showing a data format diagram of character codes with attribute codes; Fig. 4 is a diagram showing an example of display; Fig. 5 is a schematic block diagram of a display control apparatus according to a first embodiment of the present invention; Fig. 6 is a schematic block diagram of the timing signal generator of Fig. 5; Fig. 7 is a schematic block diagram of the attribute register of the apparatus of Fig. 5; Fig. 8 is a flowchart of interrupt program processing in the apparatus of Fig. 5; Figs. 9A and 9B are diagrams showing examples of display in the apparatus of Fig. 5; Fig. 10 is a schematic diagram of a major part in the display control apparatus according to a second embodiment of the present invention. Fig. 11 is a flowchart of the interrupt program processing in the second embodiment; and Figs. 12A and 12B are diagrams of display examples in the second embodiment. Referring to Fig. 1, one example of the conventional display apparatus is explained. The display apparatus of Fig. 1 is basically comprises a microprocessor (MPU) 1, a main memory 16, a refresh memory 7, a display control circuit 15 for controlling a video signal generator circuit 9 and a CRT 10, and a peripheral control circuit 17 coupled to a keyboard 18 and a disk unit 19 as an external memory. The respective units 1, 16, 7, 15 and 17 are connected through a bus line (BUS Line) from each other. The apparatus of Fig. 1 realizes a variety of processing functions by controlling the operation of the system as a whole by means of the microprocessor 1. The main memory 16 stores programs to be executed by the microprocessor 1 and processed data. Interface with the keyboard 18 and the disk equipment 19 storage device is performed through the peripheral control circuit 17. The display data stored in the refresh memory 7 is processed through the display control circuit 15 to provide a desired display on the CRT 10. The display control circuit 15 generates an address for the desired data contained in the refresh memory 7 in synchronism with an internal display timing which is produced within the circuit. The display data read out from the memory 7 is converted from the parallel form to serial signals by the video signal generating circuit 9 and supplied to the CRT 10. Fig. 2 shows an example of how data is stored in the refresh memory 7, in which SAD represents a display starting address, SAT attribute starting address, EAT attribute end address, and PIT address pitch. The data for each display section is structured, as shown in Fig. 3, of a 7-bit character code data composed of 7 bits of storages C₀ - C₆ and a 3-bit attribute code data composed of 3 bits of storages UL, RV and BL. The character code data (C₀ - C₆) represent a character to be displayed and the attribute code data (UL, RV, BL) control the modification of the character defined by the character code data. More specifically, the bit UL controls whether the character to be displayed is underlined or not on the CRT 10, and upon "1" of the bit UL, the video signal generator 9 achieves the display of the character with an underline. The bit RV controls whether the character is reversed or not, and "1" of the bit RV reverses the relation of the character and its back pattern like negative image through the generator 9. The attribute bit BL is used to determine whether the character is displayed in a blinking manner or not, and "1" of the bit BL makes the generator 9 to display the character defined by the character code data (C₀ - C₆) in the blinking manner through the generator 9. For example, when the reverse attribute is to be added only to the characters at 6th to 8th line on the CRT screen, as shown in Fig. 4, the microprocessor calculates the attribute setting start address SAT shown in Fig. 2 and the attribute setting end address EAT from the following formulas: (SAT) = (SAD) + (6 - 1) x (PIT) (EAT) = (SAD) + 8 x (PIT) - 1 The microprocessor 1 then sets the reverse bit RV of all the attribute codes contained in the above addresss range at such a timing as will have no adverse effects on the display screen, i.e., in a very short period of time such as a flyback time of the CRT timing. For the other areas, the microprocessor 1 resets the reverse bit. In this way, the attribute codes for the entire display screen are rewritten. In the above-mentioned conventional display control apparatus, since the output signal of each bit of the attribute code stored in the refresh memory is directly supplied to the attribute control circuit, any change in the attribute specification for only a part of the display screen requires rewriting of not only the associated attribute code but also all the remaining attribute codes in the refresh memory after calculating the address to be changed. Referring to Fig. 5, a display control apparatus according to a first embodiment of the invention. With the apparatus of Fig. 5, the display on the CRT 10 is accomplished by controlling operation of the entire system by a microprocessor (MPU) 1. The program to be executed by the microprocessor 1 is stored in a program memory 2 and the data processed by the microprocessor 1 is stored in a data memory 3. The display data stored in the refresh memory 7 is manipulated through a multiplexer 6. Contained in the refresh memory 7 are character code data 62 and attribute code data 63 as display information. The character code data 62 is applied to the character generator 8 while the attribute code data 63 is applied to a gate circuit 14. The character code data 62 and the attribute code data 63 are stored in the same format shown in Fig. 3 in the refresh memory 7. A attribute register 13 is characterizing element of the invention as well as the gate circuit 14. The attribute register 13 stores information which enables or disenables the attribute code data 63, as explained later. A timing generator 5 produces, in synchronism with the internal display timing generated within the circuit, an address 10 for the refresh memory 7, a raster address for the character generator 8, a display timing signal for the video signal generator 9, and a synchronism signal for the CRT 10. The character code data read out from the refresh memory 7 is supplied to the character generator 8 which produces a character pattern signal 61 according to the raster address 58. The character pattern signal 61 is sent to the video signal generator 9 together with the attribute code read from the refresh memory 7. The video signal generator 9 in turn sends a video signal together with the synchronism signal to the CRT 10. Fig. 6 shows a detailed structure of the timing generator 5. An oscillator (OSC) 51 generates a dot clock 57 for sending the character patterns 61 serially to the CRT 10. A dot counter 52 counts the number of lateral dots in one character in synchronism with the dot clock 57. A character counter 53 counts the number of characters on each one horizontal scanning line according to the carry of the dot counter 52. A raster counter 54 counts the number of vertical rasters for one character according to the carry of the character counter 53. The raster counter 54 can also be selected by a strobe signal 41 from an address decoder 4 to be read and written by the microprocessor 1. The output of the carry of the raster counter 54 is supplied as an interrupt signal 59 to the microprocessor 1. The line counter 55 counts the number of lines of characters according to the carry of the raster counter 54 and is also selected by the strobe signal 42 to be read and written by the microprocessor 1. The address generating circuit 56 generates display addresses from the outputs of the character counter 53 and the line counter 55 and feed them to the refresh memory 7. The output of the raster counter 54 is supplied as the raster address 58 to the character generator 8. Fig. 7 shows the detailed structure of the attribute register 13 and the gate circuit 14. The attribute register 13 includes 3 bits of registers BL, RV and UL which store execution information of blink, reverse and underline, respectively. Their outputs change in synchronism with the occurrence of the interrupt signal 59. The attribute register 13 can be selected by the strobe signal 43 to be read and written by the microprocessor 1. The gate circuit 14 includes AND gates 14B, 14R and 14U. The AND gate 14B receives the output of the register BL and the blinking attribute code BL from the memory 7. An output of the AND gate 14B is fed to a blinking control circuit 9B of the video signal generator 9. The AND gate 14R receives the output of the register RV and the reverse attribute code RV in the attribute code data 63. An output of the AND gate is fed to a reverse control circuit 9R of the generator 9. Similarly, the AND gate 14U receives the output of the register UL and the underline attribute code UL in the attribute code data 63. An output of the AND gate 14U is fed to an underline control circuit 9U of the generator 9. The blinking control circuit 9B, the reverse control circuit 9R and the underline control circuit 9U perform the display with modifications of the blinking, the reverse and the underline when the outputs of the AND gates 14B, 14R and 14U are "1", respectively. The address decoder 4 of Fig. 5 produces strobe signals 41, 42, 43 based on address signal on an address bus 11 when the microprocessor 1 reads and writes the contents of the raster counter 54, line counter 55 and attribute register 13 respectively. The raster counter 54, line counter 55 and attribute register 13 are each connected to the microprocessor 1 through the address bus 11 and data bus 12. In the blanking period of the synchronism signal, the multiplexer 6 switches the address of the refresh memory 7 to the address bus 11 of the microprocessor 1 to enable the microprocessor 1 to rewrite the data in the refresh memory 7. In a period other than the blanking period of the synchronism signal, the display address from the timing generator 5 is connected to the address bus 11. Assigned to the data memory 3 are display variables entered from a keyboard to be processed by the program. These include attribute specification information ATR specifying the contents of the attribute register 13; attribute start line SAL representing the line position on the screen of the CRT 10 at which the attribute specification starts; and attribute end line EAL indicating the line position at which the attribute specification is ended. Fig. 8 shows the flowchart of the interrupt program processing for the microprocessor 1 which is started for each line by the interrupt signal 59 from the raster counter 54. Referring to this flowchart, the processing for updating the reverse specification information RV of the attribute register 13 is explained below by way of example. First, the contents of the line counter 55 are read out (step 1) and are compared with the attribute start line SAL (step 2). If they do not coincide, the line count value is compared with the attribute end line EAL (step 4). If the contents coincides with the attribute start line SAL, the RV bit of the attribute register 13 is set according to the contents of the attribute specification information ATR (step 3). After this, the line count value is compared with the attribute end line EAL (step 4). If the contents of the line counter 55 do not coincide with the attribute end line EAL, the interrupt program processing is terminated. On the other hand, if they coincide, the RV bit of the attribute register 13 is reset according to the contents of the attribute specification information ATR (step 5) and the microprocessor 1 terminates the interrupt program processing and returns to the main program. In the above series of processing, if the reverse attribute is preset in the desired part or entire area of the attribute code data in the refresh memory 7, the addition of reverse attribute to, e.g., the sixth through eighth lines can be accomplished simply by setting the reverse RV of the attribute specification information ATR effective (ON) and setting the attribute start line SAL to six and the attribute end line EAL to nine, as shown in Fig. 9A. When the reverse attribute is to be changed to the third through fifth line, the attribute start line SAL and the attribute end line EAL need only be set to three and six respectively as shown in Fig. 9B. The above processing does not require a large number of data transfers but requires the microprocessor 1 to perform only simple comparison and transfer, and therefore the processing time is very short. The display control apparatus as the second embodiment has an identical block diagram of the first embodiment shown in Fig. 5. The block configuration and its operation are the same as those of the first embodiment except for the data memory 3 and the timing generator 5, and their detailed explanation is omitted here. Fig. 10 shows the detailed block diagram of the timing generator circuit 5 of Fig. 5. The block configuration and operation of this circuit are identical with those of the first embodiment except that the carry output of the character counter 53 is supplied as an interrupt signal 59 to the microprocessor 1. Thus, their explanation is not given here. Assigned to the data memory 3 are display variables entered from keyboard to be processed by the program. These include attribute specification information ATR specifying the contents of the attribute register 13; attribute start raster SAR representing the raster position in one character at which the attribute specification starts; and attribute end raster EAR indicating the raster position at which the attribute specification ends. Fig. 11 shows the flowchart of the interrupt program processing for the microprocessor 1 which is started for each raster by the interrupt signal 59 from the character counter 53. By referring to this figure, the processing for updating the underline specification information UL of the attribute register 13 is explained in the following. First, the contents of the raster counter 54 are read out (step 1) and compared with the attribute start raster SAR (step 2). If they do not agree, the raster counter value is further compared with the attribute end raster EAR (step 4). If on the other hand the raster counter value agrees with the attribute start raster SAR, the UL bit of the attribute register 13 is set according to the contents of the attribute specification information ATR (step 3). After this, the raster counter value is compared with the attribute end raster EAR (step 4). If the contents of the raster counter 54 do not agree with the attribute end raster EAR, the microprocessor terminates the interrupt program and returns to the main program. If on the other hand the raster count value is identical with the attribute end raster EAR, the microprocessor resets the UL bit of the attribute register 13 according to the contents of the attribute specification information ATR (step 5) and then returns to the main program. In the above-mentioned series of processing, if the underline attribute is preset in the desired part of entire area of the attribute code data in the refresh memory 7, the addition of underline to two rasters at the ninth and 10th raster of a line which is ten rasters high can be accomplished by setting the underline UL of the attribute specification information ATR to ON and setting the attribute start raster SAR to nine and the attribute end raster EAR to one, as shown in Fig. 12A. Also, as shown in Fig. 12B, setting the attribute start raster SAR to one and the attribute end raster EAR to two produces an overline at the first raster. With this embodiment, the raster address control can easily be achieved with the minimum possible amount of hardware without having to add special hardware such as register or comparator for detecting the raster position as is required with the conventional apparatus. As described in the foregoing, since the apparatus the invention does not require rewriting of the display data in the refresh memory 7 to change the attributes, the burden of the microprocessor can significantly be reduced, which in turn improves operability and response of the CRT display in the display control apparatus. Also, sophisticated display can be realized by simple processing of the microprocessor without requiring dedicated hardware. Sharing the hardware in this way reduces the amount of hardware required, making it possible to achieve an inexpensive and flexible display control apparatus.

Claims: A display control apparatus comprising: an image memory (7) having a plurality of storage addresses, each of said plurality of storage addresses for selecting memory locations storing a pattern code (C0-C6) indicating a pattern to be displayed and an attribute code (UL,RV,BL) indicating modification of a pattern designated by said pattern code stored at the same storage address; an address circuit (5) for serially selecting said storage addresses of said image memory one by one; a control memory (13) and a video signal generator (8,9) coupled to said image memory, characterized by means (5) for designating a storage address of said image memory to be modified; said control memory (13) storing a control code assuming one of first and second states which is independent of the contents of attribute codes of said image memory; means (4) responsive to said storage address designated by said designating means (5) for setting said control code to said first state when said storage address selected by said address circuit coincides with said designated storage address, and to said second state when said storage address selected by said address circuit does not coincide with said storage address; and a control circuit (14) receiving said attribute code, and said control code stored in said control memory (13), said control circuit generating an attribute execution signal only when said control code is in said first state; said video signal generator (8,9) being further coupled to said control circuit (14) and generates a first video signal representing a pattern corresponding to said pattern code without modification thereof when said control code is in said second state, and generates a second video signal representing a modified pattern which corresponds to said pattern code and is modified by said attribute code when said control code is in said first state, wherein either one of said first and second video signals is generated from the same contents of said image memory according to said control code. The display control apparatus according to claim 1, wherein said control circuit includes an AND gate (14B,14R,14V) receiving said attribute code and said control code.

Inventors: KATSUTA HIROSHI C O NEC CORPOR, KATSUTA, HIROSHI C/O NEC CORPORATION
Applicants: NIPPON ELECTRIC CO, NEC CORPORATION
Application year: 1987
Main classification: G09G1
IPC codes: G09G1, G09G5, G06F3