Security system for software

Abstract: A security lock for use with a game machine (2) that displays the content of a game through a video display device (1). The security lock uses a video game system comprising a means of storage (3), which stores the game programs as software, that is connected in a flexible manner to the game machine. The game machine (2) includes a security device (25) for reading a security code stored within said means of storage (3) and for comparing this security code to a separate security code and if identical, the game machine will operate as usual. However, if both codes are not identical, the game machine will not operate.

Description: BACKGROUND OF THE INVENTION This invention relates to a video game machine having a means of storage for a software program connected in a flexible manner to a computer, in particular a video game program cartridge. More specifically, this invention relates to a cartridge with flexible connection, having a security system, to determine whether the cartridge/software is an authentic product or not. Examples of a software control system of an external storage device which function as a means to store software that was used in the past, include patent applications published in the Japanese Patent Disclosures under numbers 61-296433 and 62-331. To summarise the inventions published in the Japanese Patent Disclosures, a software cartridge and a hardware main unit are provided with the same security chip so that, if the same data is used, control is implemented by the software that operates the main hardware unit. EP 0,080,244 discloses a system that discourages the use of computer equipment with software that is not approved for such use by the manufacturer. A microprocessor compares data stored in a RAM and the contents of a data table in a game ROM with a field of reference data which is recorded at location in a further ROM. If the comparison indicates that the data stored for input to the video display is different from that stored in the reference table, the microprocessor enters an endless loop which alternately clears the screen and presents a display as defined in the data table. EP 0,048,586 discloses a random access memory arrangement. EP 0,206,704 discloses a system for determining the authenticity of software in an information processing apparatus. Microprocessors in a main unit and an external memory are synchronised and execute the same arithmetic operation. The results of the operation are exchanged and each device compares the results of its own operation with that of the other device. If the results coincide, the software is considered authentic. SUMMARY OF THE INVENTION The invention provides a video game machine and its method of operation as set out in the independent claims. An embodiment of the invention provides a security lock for a means of storage of software, such as a cartridge or a similar device, only through the software used by the means of storage of the software, specifically by using for this purpose only a ROM (read only memory) that is mounted inside the cartridge. The security lock of this embodiment of the invention is used with a game machine that displays the content of a game through a video display device, and it uses a video game system comprising a means of storage for storing the game programs as software that is connected in a flexible manner to this game machine. Consequently, according to this embodiment of the invention, it becomes specifically possible to ensure security simply through the ROM that is mounted inside the cartridge, as a means of security that takes advantage of the means to store software in a cartridge or a similar device. At the same time, it is also possible to ensure security of the means to store the software in a manner that corresponds to the progress of the game. In addition, there is no need for software on the side of the game machine, since this security is ensured solely by the hardware, which is an advantage of this invention. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a simplified block diagram of one embodiment of this invention; Figure 2 is a block circuit diagram of a security part according to an embodiment of the present invention; Figure 3 is a timing chart explaining operation of the security part according to an embodiment of the present invention; and Fig. 4 is a timing chart explaining operation of the security part according to an embodiment of the present invention. DESCRIPTION OF THE PREFERRED EMBODIMENT Fig. 1 is a block diagram of an embodiment of the present invention. Number 1 of Figure 1 is a video display device of a TV receiver or a similar device, and 2 is a game machine for video games connected to display device 1. If display is a liquid crystal display (LCD), or a similar type, it can be mounted into game machine 2. Number 3 is a cartridge or a similar means of storage, which is connected in a flexible manner to game machine 2, and which stores game programs in the form of software. Means of storage 3 can be a compact disk, or it can also be a magnetic tape, a floppy disk, or a similar ROM (read only memory) or RAM (random access memory) device. Means of storage 3 is also provided with a storage part 31 that stores the security code, which is a special code used to ensure security and make the decision whether the cartridge/software is a genuine product or not). Number 4 is a controller for manual operation, connected to game machine 2, which serves to control the content of the game that is displayed on the screen of display device 1. Number 21 is a video controller, which forms a part of game machine 2 and connects to display device 1. Reference item 22 is an I/O interface, also forming a part of game machine 2, which is connected to controller 4. Video controller 21, I/O interface 22, and means of storage 3 of a cartridge or a similar device are connected to a CPU 24 that processes the signal through a bus-line 23. A security device 25 connects to bus-line 23, as well as to CPU 24. Operation of the embodiment of Fig. 1 can now be described using the following application example, in which means of storage 3 of game software, is connected to the game machine 2. When the power source, not shown on the figure, is turned on, CPU 24, or signal processing unit, starts reading a special security code received from storage part 31 of storage means 3, while at the same time the security code is being written to a security device 25. Approximately simultaneously with the writing of this security code the security code is compared with a special security code that has been input in advance into game machine 2. If both security codes are identical, video controller 21 will start operating. One can then use the game machine 2 as usual, since the content of the game will be displayed on display device 1. If both security codes are not identical, a reset signal 26 will be output to signal processing unit 24 from security device 25, which operates the video controller 21. As a result of this reset signal, the operation of signal processing unit 24 will be stopped, and the content of the game will not be displayed on display device 1. In other words, the system is such that unless a specific security code from storage part 31 is entered to security machine 25 when accessing video controller 21, which determines whether it is possible to operate the game machine 2, signal processing unit 24 will be brought to a stop. Fig. 2 shows a block diagram of security device 25. Number 251 on the figure represents a 4 byte memory, connected to a data bus 231, which forms a part of bus-line 23. Memory 251 stores the security code received from storage part 31 of means of storage 3. In addition, an output from memory 251 is connected to the input of memory 251, to enable repeated reading of the output security code in memory 251. A comparator 252 is connected to the output from memory 251. The memory output is compared to a special security code of, for example, SEGA that is present in game machine 2, and comparator 252 outputs a determination signal S1, determining whether the codes are identical or not. A holding circuit 253 retains the determination signal S1, and is connected to the output from comparator 252. Number 254 is a check holding circuit, connected to the output of holding circuit 253, and retaining the output signal S2. Finally, the output terminal of check holding circuit 254, which is connected to signal processing unit 24, sends a reset signal 26. Number 256 on Figure 2 represents the first decoder, connected to address bus 232, forming a part of bus-line 23. As shown in Figure 3, when address signal (A1) for input of the security signal is present, decoder 256 sends signal (D1) and (D2) to memory 251 and to holding circuit 253, respectively. Number 257 on Figure 2 is the second decoder, connected to address bus 232 forming a part of bus-line 23. As shown in Figure 3 and Figure 4, when the address signal (A2) from the video controller 21 is present, decoder 257 sends signal (D2) to check holding circuit 254. When a power source (not shown) is switched on, as seen in Figure 3, the output (S2) from holding circuit 253 is set to "0", while at the same time the output 26 of check holding circuit 254 is set to "1", so that signal processing unit 24 of the CPU enables support of normal operations. In this mode, when the address signal (A1) of the writing of the security code is present, as in the code signal "SEGA" of the security data, the code signal, for example, "SEGA" is written to memory 251 by the output signal (D1) of decoder 256, while at the same time it is compared to the special security code SEGA of game machine 2, and if these codes match, the output (S1) of the comparator 252 will be changed to "1", and retained in the holding circuit 253 through the output signal (D1) of decoder 256. See Figure 3. Furthermore, as seen in Figure 3, the address signal (A1) is divided into two signals. Since signal processing unit 24 of the CPU was designed for 16 bits, if the security data is for instance "SEGA", a 2 byte division is required. When address signal (A2) from video controller 21 is present, as is shown on the right side of Figure 3, the output (S2) of the holding circuit 253 is checked by the output signal (D2) of decoder 257, and retained by check holding circuit 254. In other words, when the output (S2) of holding circuit 253 is "1", it will be retained by check holding circuit 254. When output 26 of check holding circuit 254 is retained as "1", signal processing unit 24 of the CPU supports normal operation. When there is a different situation than the one described above, for instance when the code signal written to memory 251 differs from the security code SEGA that is held by game machine 2, as seen in Figure 4, the result is that the output (S1) of comparator 252 and the output (S2) of holding circuit 253 are retained as "0", and when the address signal (A2) of the video controller 21 is present, the output signal (S2) of holding circuit 253 will be checked by the output signal (D2) of decoder 257, and held by check holding circuit 254. In other words, when the output (S2) of holding circuit 253 is "0", it will be retained by check holding circuit 254. Specifically, output 26 of check holding circuit 254 will be changed to "0", and signal processing unit 24 of the CPU stops running normal operations. Consequently, as is clear from the explanation above, each time address signal (A2) of video controller 21 is present, or, to put it another way, each time video controller 21 is accessed, it is possible to check whether the means of storage 3, for instance a cartridge, is genuine or not. Further, in the middle of game playing, the operations of Figure 3 may be performed. Therefore, it becomes possible to check whether the means of storage (3) is genuine as the game progresses. The effect of this invention is that it becomes possible to ensure security and determine if the cartridge/software is a genuine product or not simply through the software or the means of software storage, specifically, simply through the ROM that is mounted inside the cartridge, as a means of security that takes advantage of the means to store software in a cartridge or a similar device. At the same time, another effect of this invention is that it is also possible to ensure security of the means to store the software in a manner that corresponds to the progress of the game. In addition, there is no need for software on the side of the game machine, since this security is ensured solely by the hardware, which is an advantage of this invention. A preferred embodiment of the present invention has now been described. Variations and modifications will be readily apparent to those of skill in the art. For this reason, the invention should be construed solely according to the claims.

Claims: A video game machine (2) having a signal processing means (24) for executing a game program stored in an external storage means (3), said external storage means also storing a first security code and being detachably coupled with said video game machine, said video game machine (2) comprising: a video controller (21) for outputting an image signal generated through the execution of said game program under operation by said signal processing means (24); storage means (251) for storing said first security code received from said external storage means(3); and comparing means (252) for comparing said first security code received from said external storage means (3) with a second security code that has been input into said video machine (2) in advance; characterised by a security means (25) for preventing said video controller (21) from outputting an image signal if the first security code does not agree with said second security code when said signal processing means (24) accesses said video controller (21) during execution of said game program. The video game machine of claim 1, wherein said security means (25) prevents said video controller (21) from outputting an image signal by outputting a reset signal to said signal processing means (24). A method for verifying authenticity of external storage means in a video game machine (2) comprising a signal processing means (24) for executing a game program stored in external storage means (3), said external storage means also storing a first security code and detachably coupled with said video game machine (2), and a video controller (21) for outputting an image signal generated through the execution of said game program under operation by said signal processing means (24); the method comprising: storing, in a storage means (251) in said video game machine (2), said first security code received from said external storage means (3); and comparing said first security code received from said external storage means (3) with a second security code that has been input into said video game machine (2) in advance; characterised by providing security means (25) for preventing said video controller (21) from outputting an image signal if the first security code does not agree with said second security code when said signal processing means (24) accesses said video controller (21) during execution of said game program. The method of claim 3, wherein said security means (25) prevents said video controller from outputting an image signal by outputting a reset signal to said signal processing means (24).

Inventors: MATSUBARA TAKU, MATSUBARA, TAKU
Applicants: SEGA ENTERPRISES KK, SEGA ENTERPRISES, LTD.
Application year: 1991
Main classification: G06F1
IPC codes: G06F1, G06F9, A63F13, G06F12, G06F21