Display emulating system

Abstract: A display emulating system in which control data for controlling a display are tentatively stored in a temporary register and modified to appropriate data suitable for the display, and then stored in an internal register within a controller for controlling the display.

Description: This invention relates to a display emulating system according to the pre-characterizing part of the claim. The term "emulation" is generally defined as a technique for executing programs which are developed for other computers or systems having different architecture. The emulation technique is used, for example, when it is desirable for a computer or a system to use a program prepared for another computer or another system having a different architecture. The emulation is also useful in such a case where compatibility should be maintained even after the architecture has been changed. A display emulating system according to the present invention emulates various kinds of displaying means such as a monitor, a plasma display and a liquid crystal display (LCD) wherein the resolutions and controlling methods thereof are different from each other. The prior art will be described in taking the case of a panel display, for example a liquid crystal display. Fig. 1 is a block diagram of a panel display system in the prior art. In Fig. 1, a display controller section 17 includes a panel controller 1 which is connected to a system bus 1a through an address bus 1b and a command bus 1c. The panel controller 1 is also connected to the system bus la through a data buffer 2 which is connected to the system bus la and the panel controller 1 through a system data bus 1d and a data bus 2a, respectively. The panel controller 1 controls the operation of a panel display 3 through a panel interface buffer 8 which receives panel data 8a from the panel controller 1 and sends interface signals 8b to the panel display 3. A clock signal for the panel controller 1 is provided by a crystal 4. The display controller section 17 further includes a video memory 5, a character generator 6 and a data controlling circuit 7. The video memory 5 and the data controlling circuit 7 are controlled by a memory control signal 5a and a data control signal 7a, respectively. An address signal and data are transmitted through a memory address/data bus 5b among the panel controller 1, video memory 5, character generator 6 and data controlling circuit 7. Character data generated by the generator 6 are transferred to the panel controller 1 under control of the circuit 7. In order to store data for controlling the display operation, the panel controller 1 is provided with a group of internal registers 20. In operation, control data prepared so as to satisfy the specification of the panel display 3 are stored in the internal registers 20 within the panel controller 1. The control data comprises, for example, the number of rows able to be displayed, the number of columns able to be displayed, the number of dots arranged in rows and columns usable for display, the position of a cursor and the shape of a cursor. The control data are set up using a program such as an application software or a system software and are transmitted to the panel controller 1 through the system bus la. The panel controller 1 receives the control data through the address bus 1b, command bus 1c and data bus 2a, and stores such data in the internal registers 20. The data to be displayed on the panel display 3 are inputted into the panel controller 1 through the data bus 2a, address bus 1b, and command bus 1c, and then written in predetermined locations within the video memory 5 through the memory address/data bus 5b. In the displaying operation, the panel controller 1 controls the operation in accordance with the contents stored in the internal registers 20. First, the data stored at an address 0 (zero) of the video memory 5 are read out on the memory address/data bus 5b in accordance with the memory control signal 5a. Such data are changed to the character data 6a by the character generator 6, and then returned to the panel controller 1 through the data controlling circuit 7. The panel controller 1 further modifies the received data to generate the panel data 8a which are further changed by the panel interface buffer 8 to the interface signals 8b to be displayed on the panel display 3. The operation of the reading out of the data, modifying the data and outputting the modified data is repeated until the address is increased from zero to the location which is the last of a complete image. The image is refreshed by repeating the operation of displaying the iamge, whereby the display function is carried out. A panel control signal for controlling the panel display 3 is produced on the basis of the control data stored in the registers 20 and transmitted as the interface signals 8b through the panel interface buffer 8. Since panel display system in the prior art are thus constructed, the internal registers 20 within the panel controller 1 must be set up so as to correspond to the specification of a panel display each time the program is replaced with another in order to obtain a desirable display operation. If the contents of the internal registers 20 are directly rewritten by an application software such that unsuitable control data are stored in the registers, an appropriate display cannot be carried out. Further, US-A-3,938,101 refers to a computer system with post execution I/O emulation. In this computer system instructions for an I/O device not attached to the system are executed. A quasi I/O attachment device is responsive to the commands for the unattached I/O device and generates an interrupt condition. The interrupt condition causes the command instructions for the unattached I/O device to be translated to command instructions for an I/O device connected to the computer system. The I/O device attached to the system performs the designated operation and generates associates I/O device status data. This associated I/O device status data is translated into I/O device status data for the unattached I/O device and thus permits a program for operating an unattached I/O device to operate instead an I/O device attached to the system which otherwise could not be operated by that program. In an embodiment of the known system emulation of the unattached I/O device is performed remotely of the central processing unit. All signals to and from an I/O attachment pass through an emulator. This emulator functions to pass the attached I/O device instructions unchanged and to change instructions for the unattached I/O device to instructions for the attached I/O device. It is the object of the present invention to overcome the foregoing problems related to the prior art shown in Fig. 1 and to provide a display emulating system capable of prohibiting an application software which directs a group of internal registers to store undesirable data from rewriting such undesirable data and which is capable of transforming the undesirable data into a suitable form and writing the transformed data, whereby an appropriate display is obtainable by emulation. This object is solved by the features of the characterizing part of the claim. A display emulating system according to the present invention comprises: (a) means for displaying data; (b) a bus means for transmitting the following information: (b1) displaying data to be displayed on said displaying means, (b2) control data for controlling said displaying means; (c) a display controller means comprising: (c1) a group of internal registers storing the control data from said bus means, (c2) memory storing the displaying data from said bus means, and (c3) means for causing said displaying means to display the displaying data stored in said memory in accordance with the control data stored in the internal registers, and it is characterized by (d) an emulation circuit means comprising: (d1) a group of temporary registers storing the control data from said bus means, (d2) a register identifying means for identifying the register in which the control data are stored out of said group of temporary registers, (d3) a destination switching means for directing the control data from said bus means to said group of temporary registers in said emulation circuit means or to said group of internal registers in said display controller means in accordance with an emulation enable signal for signaling the start and the end of emulating operation and transmitted by said bus means, and (d4) means for starting an emulation control for identifying the register which stores the control data within said group of temporary registers by using said register identifying means in said emulation circuit means, changing the control data to appropriate data when the control data stored in the identified register are not appropriate, and setting the appropriately changed control data into said group of internal registers in said display controller means. With such an arrangement, the emulation circuit selects the place of storage of the control data from the bus between the group of internal registers in the display controller section and the group of temporary registers in the emulation circuit. During the emulation, the control data are stored in the temporary registers and the writing of the control data into the internal registers in the display controller section is inhibited. When new control data are written in the temporary registers, they are set in the internal registers after modification to an appropriate form if the value of data is not suitable. In accordance with the present invention, even if programs written for other display systems tend to set unsuitable control data, such data are not written directly into the internal registers but are replaced with data suitable to an exent whereby the emulation can be accomplished. For a better understanding of the invention, reference is made to the accompanying drawings, in which: Fig. 1 is a block diagram illustrating a panel display system in the prior art; Fig. 2 is a block diagram illustrating an embodiment of a display emulating system in accordance with the present invention; Fig. 3 is a block diagram illustrating a primary portion of an emulation circuit according to the invention; and Fig. 4 is a flowchart showing the operation of an emulation control section. Referring first to Fig. 2, there is shown the block diagram of a display emulating system in accordance with the present invention. In Fig. 2, the elements represented by the reference numerals 1 - 8b, 17 and 20 are similar to those shown in Fig. 1. In accordance with the present invention, there is provided an emulation circuit 18 which comprises an emulation supporting circuit 9 and a command gate circuit 10. The emulation supporting circuit 9 provides a system bus 1a with an emulation starting signal 9a which signals the system bus 1a to activate an emulation control section. Also, the emulation supporting circuit 9 provides the command gate circuit 10 with a gate control signal 9b which determines the validity/invalidity of the writing/reading operation of the internal registers in a panel controller 1. In response to the gate control signal 9b, the command gate circuit 10 enables or disenables the internal registers to do the writing/reading operation. Referring now to Fig. 3, the emulation supporting circuit 9 comprises a data gate circuit 11, a command decoder 12, an address decoder 13, an interface control circuit 14, a group of temporary registers 15 and an emulation flag 16 for identifying an updated register within the group of registers 15. An emulation data bus 11a is controlled by the data gate circuit 11. The command decoder 12 provides the data gate circuit 11 with a data gate signal 12a for controlling it, and provides the temporary registers 15 with a file register control signal 12b, and provides the emulation flag 16 with a flag register control signal 12c, and provides the interface control circuit 14 with an interface control signal 12d. The address decoder 13 transmits an address decode signal 13a to the command decoder 12 and supplies the emulation flag 16 with a flag signal which is to be written therein. The operation of the writing of data into the video memory and the displaying operation are similar to the prior art. The emulating operation according to the present invention will be described next. First, in response to an emulation enable signal transmitted through the system bus 1a, the interface control circuit 14 activates the gate control signal 9b which causes the command gate circuit 10 to inhibit the internal registers within the panel controller 1 from writing the control data. The control data transmitted after that through a data bus 2a will be directed to the temporary registers 15 within the emulation circuit 18. Next, an application software is executed. At this time, even if the application software tends to change data such as the image plane size for the panel display, more particularly to change the contents of an internal register R₀ (not shown) to the value X₀ which is unstable in the panel display, the contents of the register R₀ cannot be changed because the command gate circuit 10 are prohibiting the writing operation as mentioned above. Then, the address decoder 13 sets the bit of the emulation flag 16 corresponding to the register address of the register R₀ and the value X₀ is written into the register within the temporary registers 15 corresponding to the register R₀. Further, the interface control circuit 14 enables the emulation starting signal 9a to activate the emulation control section of the system. The emulation control section operates as shown in the flowchart of Fig. 4. The emulation control section detects which register is newly written data in accordance with the emulation flag 16 and determines a value suitable to the detected register. Then, the command gate circuit 10 is allowed to enable the writing operation of the internal registers 20, and the determined suitable value is written into the internal register corresponding to the detected register. After that, the writing operation of the internal registers 20 is again inhibited. The above-mentioned function is similarly operated for all internal registers within the panel controller 1. Thus, even if an application program gives an instruction to write unsuitable data into the internal registers, such a writing operation is inhibited and the unsuitable data are changed to data suitable for the panel display 3. In accordance with the present invention, since the emulation circuit and the emulation control section are built into the system, the application program need not be modified and the program can be emulated for display. Next, a concrete example of the emulating operation will be described. It is assumed that an application program is adapted to a display having the image plane of 200 x 100 dots, while the actual panel display has the image plane of 400 x 250 dots. The application program will be executed to output data in which the number of dots in rows and columns is 200 and 100, respectively in order to initialize the system to establish the value of display size as 200 x 100 dots. If the value is directly stored in the internal registers 20, the capacity of displaying images on 400 x 250 dots will be underutilized, that is, only a quarter of the panel display is used. In accordance with the present invention, however, before the execution of the application program, an emulation enabling signal is applied to the system bus for signaling the start of emulation by a system switch, a system program or the like. In response to the emulation enabling signal, the command gate circuit 10 inhibits the control data, 200 and 100, from being transmitted to the panel controller 1, the data are transferred to the emulation circuit 18 instead. The emulation control section changes the value of the number of dots in rows and columns (200 and 100) to 400 and 200, respectively by doubling 200 and 100 on the basis of the capacity of the panel display (400 x 250 dots). The value of 400 and 200 is set in the internal registers 20 within the panel controller 1. Thus, the data executed by the application program are displayed on the plane of 400 x 200 dots, although the region of 50 dots is not used. As described above, according to the present invention, displaying of data is always accomplished in a suitable fashion without changing an application program even if the program is replaced by another. This completes the description of the embodiment of the invention. However, many modifications will be apparent to those skilled in the art without departing from the scope of the invention. For example, although the emulation flag and the temporary register are prepared for all the internal registers in the above-mentioned embodiment, some bits of the emulation flag and registers corresponding to the internal registers which are not deemed to store unsuitable data may be removed. In addition, the panel display shown in the embodiment may be replaced by other displays such as a monitor. Further, what is emulated may be the number of rows and columns of a character or other control data rather than the resolution of the display shown in the embodiment.

Claims: A display emulating system comprising: (a) means (3) for displaying data; (b) a bus means (1a) for transmitting the following information: (b1) displaying data to be displayed on said displaying means (3), (b2) control data for controlling said displaying means (3); (c) a display controller means (1) comprising: (c1) a group of internal registers (20) storing the control data from said bus means, (c2) memory storing (5) the displaying data from said bus means (1a), and (c3) means for causing said displaying means (3) to display the displaying data stored in said memory (5) in accordance with the control data stored in the internal registers (20), characterized by (d) an emulation circuit means (18) comprising: (d1) a group of temporary registers (15) storing the control data from said bus means (1a), (d2) a register identifying means (16) for identifying the register in which the control data are stored out of said group of temporary registers (15), (d3) a destination switching means (10) for directing the control data from said bus means (1a) to said group of temporary registers (15) in said emulation circuit means (18) or to said group of internal registers (20) in said display controller means (1) in accordance with an emulation enable signal for signaling the start and the end of emulating operation and transmitted by said bus means (1a), and (d4) means (9) for starting an emulation control for identifying the register which stores the control data within said group of temporary registers (15) by using said register identifying means (16) in said emulation circuit means (18), changing the control data to appropriate data when the control data stored in the identified register are not appropriate, and setting the appropriately changed control data into said group of internal registers (20) in said display controller means (1).

Inventors: ISHIKAWA YASUO, ISHIKAWA, YASUO, ISHIKAWA, YASUO C/O COMPUTER SEISAKUSHO OF
Applicants: MITSUBISHI ELECTRIC CORP, MITSUBISHI DENKI KABUSHIKI KAISHA
Application year: 1989
Main classification: G06F9
IPC codes: G06F3