1. Field of the Invention
The present invention relates to a game machine, and in particular, to a system which is installed in the game machine and which protects data stored in a rewritable storage device of the game machine.
2. Background Information
Game machines are equipped with storage devices in which game programs and game data are stored. The game programs are used for game progress control. Game data include, for example, data used in the production of game effects such as images and sounds.
The game data stored in the storage device must be protected from undergoing illegal changes (such as data appending, overwriting, and erasing) from the outside. ROMs are used in conventional game machines as the storage devices, since ROMs cannot allow data overwriting in situations where the ROMs are installed in the game machines. However, the storage capacity of the individual ROMs is generally small in comparison with the total amount of game data. Accordingly, more than one ROM is usually installed in the conventional game machine. Because of that, the ROMs occupy large areas on the control circuit boards of the game machines. Since further integration of the ROMs are difficult, further miniaturization of the control circuit boards are difficult. Therefore, further miniaturization of the whole of the game machine is prevented.
Game machines which store game data in a rewritable storage device (such as a hard disk drive) are also known. These game machines adopt the technologies disclosed in, for example, U.S. Pat. No. 6,488,581 and U.S. Pat. No. 6,823,419, as technology to protect the game data from illegal changes. In these technologies, commands (which are hereafter referred to as illegal commands) indicating the data processing not to be performed in the storage device (for example, data appending, overwriting, and erasing) are selected in advance and stored in a command storage unit. When receiving a command from the outside, the control unit of the storage device judges whether the command matches one of the illegal commands. When the received command does not match any of the illegal commands, the control unit instructs the storage device to perform the data processing requested by the received command. When the received command matches one of the illegal commands, the control unit inhibits the storage device from performing any data processing. Thus, any data processing for the storage device is reliably inhibited in response to the illegal commands stored in the command storage unit, and thereby, the game data are reliably protected from the data changes due to the illegal commands. However, with regard to unknown commands not to be stored in the storage unit, data processing for the storage device is not inhibited in the technologies. Accordingly, if an unknown command is entered willfully for an unauthorized purpose or accidentally due to a bug in the program and the like, the data processing requested by the unknown command cannot be avoided, and therefore, there remains a risk of illegal changes in the game data.
In view of the above, there exists a need for a game machine which overcomes the above mentioned problems in the prior art. More particularly, an object of the present invention is to provide a game machine which can effectively protect game data from illegal changes, and which can realize further miniaturization of control circuit boards. This invention addresses this need in the prior art as well as other needs, which will become apparent to those skilled in the art from this disclosure.
The data protection system according to the present invention is preferably installed in a game machine. The game machine comprises a rewritable storage device, and a game control unit which controls a game by using the data stored in the storage device. The data protection system according to the present invention is a system to protect the data stored in the storage device from illegal changes. The system preferably comprises:
a command receiving unit which receives a command that requests data processing for data stored in said storage device;
a command storage unit in which one or more valid commands are stored;
a judgment unit which judges whether a command received by said command receiving unit matches one of said valid commands, and
a data processing unit which instructs said storage device to perform data processing requested by said received command when said judgment unit has judged that said received command matches one of said valid commands, and which inhibits said storage device from performing the data processing requested by the received command when said judgment unit has judged that said received command does not match any of said valid commands.
A game machine equipped with this data protection system according to the present invention uses a rewritable storage device, or preferably, a memory card, as a storage device in which game data are stored, in place of conventional ROMs. Memory cards are larger in capacity, smaller in size, and lower in cost than ROMs in general. Accordingly, in contrast to conventional game machines, further miniaturization of the control circuit boards is easier in the game machine of the present invention.
Furthermore, data processing for the data stored in the storage device that is requested by a received command is inhibited in the data protection system according to the present invention, unless the command matches one of the valid commands stored in the command storage unit. Accordingly, even if an unknown command is entered into the data protection system willfully for an unauthorized purpose, the storage device cannot perform the data processing caused by the command. Thus, the data stored in the storage device are effectively protected from illegal changes.
Moreover, in the data protection system according to the present invention, even if an unexpected command is issued from the game control unit that is caused by a bug included in a game program and the like, the data processing requested by the command will be inhibited. Thus, the data stored in the storage device are effectively protected from malfunctions caused by bugs and the like.
These and other objects, features, aspects and advantages of the present invention will become apparent to those skilled in the art from the following detailed description, which, taken in conjunction with the annexed drawings, discloses a preferred embodiment of the present invention.
Referring now to the attached drawings which form a part of this original disclosure:
A preferred embodiment of the present invention will be explained below. In this embodiment, the game machine is a video slot machine, and preferably, it is installed in a casino.
First, the basic configuration of the slot machine will be explained. The slot machine 1 comprises a box-shaped cabinet 2, a front panel 3, a screen 11, a reset switch 12, a card slot 13, and a display device 14. (See
The front panel 3 is coupled to the front of the cabinet 2 so that it can be opened and closed. On the front panel 3 are provided, for example, a display window 4, a coin slot 5a, a bill slot 5b, a spin button 6a, a credit payout button 6b, bed buttons 7a, 7b, other operating buttons 8, a coin tray 9, and lamps 10a and 10b. The screen 11 can be seen through the display window 4 from the outside. A player bets in various modes on the slot machine 1 by using the various bed buttons 7a and 7b. Coins are discharged from a coin chute 9a, then stored in the coin tray 9. The various buttons 6a, 6b, 7a, 7b, and 8 are lamp buttons, and include light emitting devices which emit light when pushed.
The screen 11 is provided inside the slot machine 1. The screen 11 is preferably included in a cathode-ray-tube display, or alternatively, may be included in a plasma display or a liquid crystal display. The screen 11 is divided into upper and lower parts, for example. The lower part includes a symbol display unit 11a, and the upper part includes a credit display unit 11b, a bed display unit 11c, and a award display unit 11d. Five reel images appear in the symbol display unit 11a. Many symbols are arranged in a predetermined order in each reel image. The amount of the money that the player has inserted into the coin slot 5a and the bill slot 5b, or the amount of the credits available to the player, appears in the credit display unit 11b. The amount of the bet that the player has placed by using the various bed buttons 7a and 7b appears in the bed display unit 11c. The amount of the money that the player has won as a result of the game appears in the award display unit 11d.
An inspection device, a coin payout device, a speaker, and control circuit boards are included inside the slot machine 1 (not shown in
The reset switch 12 is provided on the side of the slot machine 1. The reset switch 12 preferably includes a keyhole and is activated by the insertion of a specific key into the keyhole. The specific keys are preferably possessed by attendants of the casino. Accordingly, a player cannot operate the reset switch 12.
The card slot 13 and the display device 14 are provided on the top of the slot machine 1. A house card is inserted into the card slot 13. The house card is a removable recording medium used in the casino. The personal information of a player who has, for example, registered at the reception desk of the casino, and in particular, an ID of the player, is recorded in the house card. The personal information of players is associated with the IDs of the respective players and managed by a management server installed in the casino. Here, the management server is connected to a plurality of the game machines installed in the casino (including the slot machine 1), and manages them collectively. In addition, for example, the amounts of money and the like that players have spent on games, and the points corresponding to the amount of the money, are recorded in the house cards. The management server reads the amounts of the money and points and the like from the house cards through the game machines and records those histories so that they are associated with the IDs of the respective players. Furthermore, for example, the players can be provided with bonuses such as free accommodation coupons, depending on the total amounts of the points recorded in the management server. On the display device 14, the points provided to the player is preferably indicated.
The main control circuit board 20 includes a CPU 21, an I/O port 21a, an ATA controller 22, a RAM 23, a random number generating circuit 24, a video driver 25, a lighting control unit 26, a sound control unit 27, a payout control unit 28, and a socket 29. (See
The I/O port 21a is used when data communications are performed between the main control circuit board 20 and the sub-control circuit board 30. Variable data and the like calculated by the CPU 21 are temporarily stored in the RAM 23. The random number generating circuit 24 generates a random number at every predetermined interval and provides the data to the CPU 21. The video driver 25 controls the display on the screen 11 under the control of the CPU 21, and in particular, causes the screen 11 to display predetermined images within the symbol display unit 11a and the like. The lighting control unit 26 switches the lamps 10a and 10b on and off under the control of the CPU 21. The sound control unit 27 controls the speaker 15 and causes it to reproduce voice announcements, sound effects, and the like under the control of the CPU 21. The payout control unit 28 controls the coin payout device 16, thereby supplying a proper amount of coins through the coin chute 9a to the coin tray 9, under the control of the CPU 21.
The sub-control circuit board 30 includes a CPU 31, an ATA controller 32, a RAM 33, a card reader 34, a display driver 35, an I/O port for the main control circuit board 36, an I/O port for the management server 37, and a socket 39. (See
Variable data and the like calculated by the CPU 31 are temporarily stored in the RAM 33. The card reader 34 reads a player's ID from the house card inserted into the card slot 13 and provides the ID to the CPU 31. The display driver 35 controls the display device 14 under the control of the CPU 31. The I/O port for the main control circuit board 36 is used when data communications are performed between the main control circuit board 20 and the sub-control circuit board 30. The I/O port for the management server 37 is used when data communications are performed between the management server 40 of the casino and the sub-control circuit board 30.
A game control unit 100 of the slot machine 1 includes a start signal generating unit 101, a random number generating unit 102, a display control unit 103, a display unit 104, a storage unit 105, and an award determining unit 106. (See
The start signal generating unit 101 comprises the spin button 6a. (See
The random number generating unit 102 comprises the random number generating circuit 24. (See
The display control unit 103 comprises the CPU 21, the RAM 23, and the video driver 25 on the main control circuit board 20. (See
The award determining unit 106 comprises the CPU 21 and the RAM 23 on the main control circuit board 20. (See
Next, the operation of each unit of the slot machine 1 will be explained in the order of the flow of the game in the slot machine 1. (See
A player inserts a coin into the coin slot 5a or a bill into the bill slot 5b. At that time, the number of the coins or bills is counted by the inserted coin counting device, and then, the data which show the amount of money inserted or the credit data are provided to the CPU 21 of the main control circuit board 20. The CPU 21 stores the credit data in the RAM 23.
The player enters a bet by operating the bed buttons 7a and 7b. (Step S1) The data which show the bet is sent to the CPU 21 of the main control circuit board 20 as an operation signal. The CPU 21 processes the credit data stored in the RAM 23, thereby reducing the amount of the money inserted by the bet corresponding to the operation signal. (Step S2) After that, the CPU 21 accepts another operation signal from the spin button 6a, in other words, enables the operation of the spin button 6a by the player. When the player operates the spin button 6a, a start signal is generated in the start signal generating unit 101 and is sent to the display control unit 103. (Step S3) The display control unit 103 then starts the control to change the display. (Step S4) Thereby, the display of the symbols of the five reel images is continuously changed in the symbol display unit 11a of the display unit 104.
On the other hand, the start signal generated by the start signal generating unit 101 is sent to the random number generating unit 102. The random number generating unit 102 then generates five random numbers and sends these random numbers to the display control unit 103 and the award determining unit 106 one after another. (Step S5) The five random numbers correspond to the five respective reel images displayed on the screen 11. The display control unit 103 checks the five random numbers sent from the random number generating unit 102 against the contents of the stop position table stored in each of the storage units 105. Here, the stop position table is preferably prepared for each of the reel images, and shows the correspondences between the random numbers and the symbols placed on the reel images. The display control unit 103 determines the symbols to be shown as a result of the check as the symbols to appear at the predetermined positions on the respective reel images when the changes in the reel images stop.
The award determining unit 106 checks the combination of the five random numbers sent from the random number generating unit 102 against the contents of the award determination table stored in the storage unit 105, and performs a lottery process based on the result of the check, thereby determining whether to award predetermined prizes. (Step S6) In other words, the award determining unit 106 selects a prize to be awarded to the player at a game, or determines that the player loses a game, that is, no prize is awarded to the player, by using the combination of the random number and the award determination table. Here, the predetermined prizes awarded to the player include predetermined amounts of credits, and a switchover to special games such as an event, a bonus game, a feature game, etc.
The following illustrates a situation where a predetermined amount of credits is given as a prize. Similar explanations can be provided for situations where other prizes are awarded.
After the award determining unit 106 ends the lottery process and after a predetermined time has elapsed from the receipt of the start signal, the display control unit 103 stops the change of the five reel images and displays the symbols determined by using the five random numbers and the stop position table at the predetermined positions in the reel images. (Step S7) On the other hand, when the award determining unit 106 determines the awarding of a predetermined amount of credits as a prize to the player based on the result of the lottery process (Step S8), the CPU 21 of the main control circuit board 20 performs a payout process after the display of all the reel images stops the changes. (Step S9) More specifically, the CPU 21 processes the credit data stored in the RAM 23, thereby adding the above-described, predetermined amount of credits to the amount of money corresponding to the credit data. The CPU 21 further provides predetermined, rendering signals to the lighting control unit 26 and the sound control unit 27. Then, the lighting control unit 26 turns on and off the lamp buttons equipped with internal light emitting devices, such as the lamps 10a, 10b, the spin button 6a, the credit payout button 6b, the bed buttons 7a and 7b, and other operating buttons 8, in the patterns corresponding to the rendering signals. The sound control unit 27 reproduces from the speaker 15 the sound effects corresponding to the rendering signals.
The following will explain the details of the configurations and operations of the ATA controllers 22 and 32 mounted on the main control circuit board 20 and the sub-control circuit board 30, respectively. These ATA controllers 22 and 32 each constitute the data protection system of the slot machine 1 according to the present invention, and protect the data stored in the memory cards 50 and 51, respectively. Note that the two ATA controllers 22 and 32 have a similar configuration and operate similarly. Accordingly, the following will explain the configuration and operations of the ATA controller 22 of the main control circuit board 20, and this explanation will also serve as the explanation for the configuration and operations of the ATA controller 32 of the sub-control circuit board 30.
The ATA controller 22 comprises a hardware configuration similar to that of memory controllers based on the ATA standard. (See
The command receiving unit 201 receives from the CPU 21 a command that requests data processing for the data stored in the memory card 50. The received command is transmitted from the command receiving unit 201 to the judgment unit 203.
There are one or more commands stored in the command storage unit 202. Only the commands having matched the commands stored in the command storage unit 202 are processed as “valid” commands. In other words, only the data processing requested by valid commands is actually allowed. The commands to be stored in the command storage unit 202 are preferably optimized in a manner appropriate to the purpose for which the data stored in the memory card 50 are used. In this embodiment, all of the game programs, the stop position table, and the award determination table included in the memory card 50 must be protected from illegal data changes. Furthermore, the data processing required of the memory card 50 are read processes only, and neither overwriting nor writing processes are required. Accordingly, in this embodiment, the valid commands to be stored in the command storage unit 202 may be only commands that request read processes. In this embodiment, furthermore, only commands used in the processes of the slot machine 1 may be selected from amongst the commands that request read processes and may be stored in the command storage unit 202 as valid commands. An example of the valid commands stored in the command storage unit 202 is shown in Table 1.
The judgment unit 203 receives a command from the command receiving unit 201, and then, checks the received command against the valid commands stored in the command storage unit 202. The result of the check is sent to the data processing unit 204.
When the result of the check shows that the command received by the command receiving unit 201 matches one of the valid commands, the data processing unit 204 instructs the memory card 50 to perform the data processing requested by the received command. More specifically, the data processing unit 204 sends the received command and a predetermined strobe signal (IOWR) to the memory card 50. Thereby, the data processing corresponding to the received command is performed by the memory card 50 since the command is put into the command register installed in the memory card 50.
When the result of the check shows that the command received by the command receiving unit 201 does not match any of the valid commands, the data processing unit 204 inhibits the memory card 50 from performing the data processing requested by the received command. More specifically, the data processing unit 204 allows only the sending of the received command to the memory card 50, but inhibits the sending of the strobe signal (IOWR) to the memory card 50. Then, the data processing corresponding to the received command cannot be performed by the memory card 50 since the command is not put into the command register installed in the memory card 50.
Note that the method for preventing the memory card 50 from performing the data processing requested by the received command is not limited to the above-described example. Alternatively, for example, the data processing unit 204 may abandon the received command, in other words, may inhibit the transmission of the received command to the memory card 50.
This embodiment of the present invention uses the memory cards 50 and 51 or rewritable storage devices as the storage devices in which the game data are stored, in place of conventional ROMs. The memory cards 50 and 51 include preferably CompactFlash (a registered trademark) and Micro-drive (a registered trademark), which are larger in capacity, smaller in size, and lower in cost than ROMs in general. Accordingly, further miniaturization of the main control circuit board 20 and the sub-control circuit board 30 is easier in the slot machine 1 according to this embodiment of the present invention, in contrast to conventional game machines.
In the slot machine 1 according to this embodiment of the present invention, in particular, the data processing requested by the commands that are entered into the ATA controllers 22 and 32 cannot be performed unless the commands match the valid commands stored in the command storage unit 201. Accordingly, even if an unknown command is entered into the ATA controller 22 or 32 willfully for an unauthorized purpose, none of the memory cards 50 and 51 can perform the data processing caused by the command. Thus, the data stored in the memory cards 50 and 51 can be effectively protected from illegal changes.
In the slot machine 1 according to this embodiment of the present invention, furthermore, even if an unexpected command caused by a bug included in a game program and the like is issued from the CPUs 21 or 31, none of the memory cards 50 and 51 can perform the data processing caused by the command. Thus, the data stored in the memory cards 50 and 51 can be effectively protected from malfunctions caused by bugs and the like.
Modification
The ATA controllers 22 and 32 may further comprise a saving unit 205 and an illegal command storage unit 206 in addition to the above-described components. (See
The command received by the command receiving unit 201 is checked by the judgment unit 203 against the valid commands stored in the command storage unit 202. When the result of the check shows that the received command does not match any of the valid commands, the judgment unit 203 sends the received command to the saving unit 205. The saving unit 205 then stores the received command as an illegal command into the illegal command storage unit 206. Here, the illegal command refers to a command which does not match any of the valid commands stored in the command storage unit 202. The illegal commands include not only commands willfully issued for unauthorized purposes, but also commands accidentally issued because of bugs included in game programs, etc. The saving unit 205 may store in the illegal command storage unit 206, for example, the time of the saving and the number of times the same illegal command has been received, in addition to the illegal command. Thus, the history of the illegal commands is stored in the illegal command storage unit 206.
This modification can keep track of the unknown illegal commands received by the command receiving unit 201 through a check of the history of the illegal commands stored in the illegal command storage unit 206. Therefore, after that, the unknown illegal commands can be appropriately treated. In particular, when the bugs included in the programs cause illegal commands to be issued, the bugs can be suitably corrected, based on the data stored in the illegal command storage unit 206.
A slot machine installed in a casino embodies the present invention in the above explanation. However, other game machines can also embody the invention.
Furthermore, the slot machine 1 according to the aforementioned embodiment of the present invention stores all the game data in the two memory cards 50 and 51. Alternatively, a portion of the game data may be stored in ROMs, and a remainder may be stored in the memory cards 50 and 51.
In addition, other storage devices fixed on the main control circuit board 20 and the sub-control circuit board 30 may be used as the rewritable storage devices, in place of the memory cards 50 and 51 which can be removed from and installed into the control circuit boards 20 and 30, respectively.
The valid commands stored in the command storage unit 202 may include commands which request data overwriting, appending, or erasing. However, even in this situation, valid commands should be limited to the commands necessary for normal data processing for the slot machine 1.
While only selected embodiments have been chosen to illustrate the present invention, it will be apparent to those skilled in the art from this disclosure that various changes and modifications can be made herein without departing from the scope of the invention as defined in the appended claims. Furthermore, the foregoing description of the embodiments according to the present invention are provided for illustration only, and not for the purpose of limiting the invention as defined by the appended claims and their equivalents.