This patent is directed to an electronic gaming machine of the type used in a casino.
Electronic gaming machines have long been provided for playing casino-type games such as roulette, poker, bingo, keno, lotto and various other games, and have historically been constructed in a slot machine format typically including a pay board wherein the winning pay-out combinations are displayed; a play section in which electronic or mechanical reels, card-playing indicia or other gaming objects are displayed; and a third area in which a player interface is provided by means of an assortment of buttons, switches, etc. More modern gaming machines have included a video display screen (CRT tube) that is driven by an image generator coupled to a microprocessor that serves as the game controller. In such video implementations, standard television-style cathode ray tubes have normally been used, and electronically generated reels, cards and other objects have been depicted thereon for implementing play of the game.
In one aspect, the invention is directed to a gaming machine comprising a cabinet, at least one user-interface button, a value-receiving mechanism associated with the cabinet, a display unit associated with the cabinet, and a processor disposed in the cabinet and operatively coupled to the user-interface button, the value-receiving mechanism and the display unit. The gaming machine additionally comprises a read-only memory disposed in the cabinet, basic input/output system (BIOS) software stored in the read-only memory, a nonvolatile memory capable of storing critical system data, critical data storage software that causes critical system data to be stored in the nonvolatile memory, read/write memory disposed in the cabinet and operatively coupled to the processor, and system software stored in the read/write memory that comprises software representing a game that may be played by a player.
The gaming machine further comprises encoded data stored in the read/write memory having been generated from at least one message digest that was generated based on using an encoding function with the system software, loading software stored in memory that loads system software from the read/write memory into random-access memory and verifies correctness and authenticity of the system software based on a comparison of data generated from the encoded data and data generated from the system software, and operating system (OS) software stored in memory that comprises an application programming interface including an application programming interface portion that provides a software interface to the display unit.
Additional aspects of the invention are defined by the claims of the patent.
A preferred embodiment of the present invention is depicted at 10 in
Disposed beneath screen 16 and at the bottom of the front face is a coin drop receptacle 26. Immediately above the coin drop receptacle are a pair of high-quality audio speakers 28 and 30. Above screen 16 is an annunciator 32 including a third high-quality audio speaker or signal generator 34 and a multi-colored, multi-light display apparatus 36. Disposed immediately beneath screen 16 on a slightly protruding shelf 38 are a plurality of user interface buttons 40 that are of conventional configuration. Formed integral with the front face of display screen 16 is a transparent touch screen that is dynamically configurable to allow manual user inputs at screen positions determined by the software associated with the particular game or attract mode being presented.
On the right side of cabinet 12 is a conventional pull handle 39 that may be optionally used as a part of the user interface to the gaming apparatus.
The cabinet 12 was designed to coincide with the overall dimensions of traditional slot machines so that the device can be placed in existing casino carousels without requiring reconfiguration of the stands or machine layouts. The right side of the cabinet forms a compartment for containing currency input devices such as coin and bill acceptors, a card reader, keypad, and perhaps a display for a player tracking network interface. A locked service door 41 forms the right side wall of the cabinet and allows access to the currency components in this section. The front 43 of the lower section of the enclosure contains a coin hopper (a cache of coins that is used to pay out the player's winnings when playing in cash mode). The back of the lower section of the cabinet (behind the hopper) contains a CPU box with all of the associated electronics and power supplies. A locked service door allows access to the hopper in this section.
Player tracking network electronics are located in the top of the system and are accessed by removing a top cover (not shown).
The cabinet layout, which is more or less traditional for video-type slot machines, leaves a tall and narrow section at the upper left for the CRT that forms the display screen 16. To maximize the screen area in the available space, a 26″, wide screen CRT display device rotated 90° into a “portrait mode” is used with the screen origin at the bottom left corner, and the image scanned from left to right. For purposes of this disclosure “portrait mode” is defined as a display configuration in which a display screen has a height dimension that is substantially larger than its width dimension. The wide screen CRT has a 16×9 (height to width) aspect ratio and a 0.69 mm dot pitch allowing for an 856×480 visible display area. Portrait mode configured display screens or CRTs having other aspect ratios may also be used. For example, although less desirable, a standard 4×3 CRT monitor rotated into a portrait mode could be used.
When operating in a game play mode, the display screen may be electronically subdivided into three arbitrarily sized regions: an upper region 15 in which a pay board will be displayed, setting forth the jackpot payouts as a function of the coins input; a mid region 17 in which a game board, play reels, card hands, or other game play indicia is displayed; and a lower region 19 in which touch screen “buttons” are displayed for facilitating player selection of various input functions such as “hold,” “bet 1,” “draw,” etc. One example of a “3-way” screen configuration is illustrated in
An integrated touch screen overlaying the display screen, along with the series of “hard” buttons 40 arrayed along the bottom edge of the display, provide the main player interface to the system.
In
Although not shown in detail herein, the system includes a motherboard, a PCI-based video board and SCSI controller, a peripheral memory board, a general purpose input/output (GPIO) board, a power transformer, a disk drive, and a CPU power supply. The peripheral memory board is installed on the mother board PCI bus and is used to replace the BIOS ROMs of the standard PC architecture. Whereas on the standard mother boards the PCI-to-ISA bridge (PIB) chip provides the interface to the system BIOS ROMs by subtractive decoding of PCI accesses in the normal PCI BIOS range and its high-memory aliases, the peripheral memory board in the preferred embodiment responds to accesses to the BIOS address range using positive decoding, responding to the requested cycles before the PIB chip responds. This allows the ROM-based BIOS and OS to reside at these locations without modifying the mother board.
In addition, the peripheral memory board provides a removable subsystem containing all of the machine states, thereby allowing secure system auditing. The peripheral memory board contains 1 MB of EPROM to hold the BIOS and OS (including the secure loader described below), 64 KB of nonvolatile RAM to implement a SafeStore system, and 128 KB of electrically erasable PROM (EEPROM) to store the system configuration.
A peripheral memory controller performs byte-assembly and disassembly on memory reads/writes and parity generation on the PCI reads.
The preferred embodiment exhibits total immunity to Electric-Static Discharge (ESD) to a level of 27 KV. The requirement for this level of ESD immunity is an artifact of low humidity and prevalence of synthetic materials (carpeting, etc.) in Nevada casinos. All standard mother boards support an IEEE 1284 compatible parallel port, and such port provides the interface to the GPIO board. The GPIO board provides an electrically isolated interface to the external device ports and maps them to registers accessible through the mother board parallel port.
The system software is designed to address the unique requirements of casino gaming machines, including high reliability and security, fault detection and recovery, and responsive performance. The system software architecture is illustrated in
A pSOS real-time operating system serves as the basis for the software platform of the preferred embodiment. This pSOS system consists of a multi-tasking kernel, the pREPC, ANSI-C, run-time library function, and a driver support library to access physical devices through a set of device drivers. The run-time Application Programming Interface (API) is a layer of system software providing a set of standard functions that application programmers develop to. Because the API provides a layer of abstraction between the applications and the hardware, the applications are not affected if the hardware or lower level system software are modified. The API is divided into a series of managers, each of which provides either access to some physical device or provides some set of services for the programmer. Examples of these managers are shown in the table illustrated in
The system applications include a Navigator, Play Stoppage, a suite of games, and the Machine Management System. The Navigator presents the player with an animated icon of each game. The animation describes the key features of the game; users enter a game by touching its icon. Each game is a custom application offering a specific set of propositions to the player. Each game is accompanied by on-line help that describes the rules of play, general disclaimers for the game, and so on. Play Stoppage is an application that runs short animations or video segments that entertain the player if a system fault occurs, while communicating information about why a game was interrupted and when it will be returned to play. The Machine Management System (MMS) provides a graphical interface to all technical support functions of the slot machine. This includes player conflict resolution, accounting, product configuration, and machine diagnostics.
As described in detail in the above-referenced U.S. patent application Ser. No. 08/497,662, before software can be loaded from the hard disk, it must be verified as being an authentic proprietary product. A secure loader is the system software component that loads executable files from the disk subsystem into RAM, verifies that the contents are correct, and then executes the image. The secure loader is based on the use of two-key cryptographic authentication from RSA Data Security, Inc. of Redwood City, Calif.
When a software release is ready for shipment, a HASH function designed for cryptographic use generates a unique fixed-length string of 128 bits for the loadable code image. This string, called a message digest, is then encrypted using RSA software and the proprietor's private key to produce a digital signature for the image. The signature is then written to disk with the loadable code image. When the code image is loaded from the disk and is ready to be executed during the system boot sequence, the secure loader decrypts the digital signature using the public key stored in ROM. The secure loader verifies that the image is authentic by comparing the message digest computed for the loadable code image with the message digest decrypted from disk. The software can be authenticated at any time since the console diagnostics include tools that allow the operator to query all loadable applications and run the RSA verification algorithm on them on demand. The authentication process is not limited to just software images. Graphics files or any binary data set can be authenticated. Because the graphics images are so large, they are not verified every time a game is loaded. If needed, critical graphic images such as the faces of cards can be verified before initial use in a game.
A SafeStore application provides fault-tolerant storage for critical system data called safe objects stored in system nonvolatile SRAM. To facilitate recovery of information after a crash or system failure, state information about each safe object along with the object data is saved in an internal format known as a binary large object (BLOB). To protect against hardware or software faults corrupting SafeStore, all safe objects are mirrored across two independent nonvolatile SRAMs. If corruption occurs by hard or soft failures to indicate locations in SRAM, or if complete SRAM failures occur, SafeStore will detect this corruption and recover the data.
Although the present invention has been described above in terms of specific embodiments, it is anticipated that alterations and modifications thereof will no doubt become apparent to those skilled in the art. For example, it is contemplated that video screens formed by other apparatus such as liquid crystal displays, field emission displays, interference element displays, projection TV, and perhaps holographic and other display technology may be used in place of the CRT device presently used in the preferred embodiment. Furthermore, other cabinet configurations and designs may be used to support a large portrait-mode display screen, and whereas the preferred embodiment utilizes a single means to form the display screen, it is contemplated that a similar result may be achieved by using a plurality of contiguous display devices synchronously driven to display different portions of a common image.
This patent is a continuation of U.S. Ser. No. 09/677,129 filed in the Patent Office on Sep. 29, 2000 now U.S. Pat. No. 6,620,047, which is incorporated herein by reference in its entirety, which is a continuation of U.S. Ser. No. 08/864,700 filed in the Patent Office on May 28, 1997 and entitled “Improved Electronic Gaming Apparatus,” now abandoned, and a continuation-in-part of U.S. Ser. No. 09/107,031 filed in the Patent Office on Jun. 29, 1998 and entitled “Method of Authenticating Game Data Sets in an Electronic Casino Gaming System,” now U.S. Pat. No. 6,149,522, which is a continuation-in-part of U.S. Ser. No. 08/981,882 filed on Jun. 17, 1996 (as International Application No. PCT/US96/10463) and entitled “Electronic Casino Gaming System With Improved Play Capacity, Authentication and Security,” now U.S. Pat. No. 6,106,396, which is a continuation-in-part of U.S. Ser. No. 08/497,662 filed in the Patent Office on Jun. 29, 1995 and entitled “Electronic Casino Gaming Apparatus With Improved Play Capacity, Authentication and Security,” now U.S. Pat. No. 5,643,086.
Number | Name | Date | Kind |
---|---|---|---|
3825905 | Allen, Jr. | Jul 1974 | A |
3838264 | Maker | Sep 1974 | A |
4193131 | Lennon et al. | Mar 1980 | A |
4200770 | Hellman et al. | Apr 1980 | A |
4218582 | Hellman et al. | Aug 1980 | A |
4354251 | Hellwig et al. | Oct 1982 | A |
4355390 | Hellwig et al. | Oct 1982 | A |
4405829 | Rivest et al. | Sep 1983 | A |
4458315 | Uchenick | Jul 1984 | A |
4462076 | Smith, III | Jul 1984 | A |
4467424 | Hedges et al. | Aug 1984 | A |
4494114 | Kaish | Jan 1985 | A |
4519077 | Amin | May 1985 | A |
4525599 | Curran et al. | Jun 1985 | A |
4582324 | Koza et al. | Apr 1986 | A |
4607844 | Fullerton | Aug 1986 | A |
4652998 | Koza et al. | Mar 1987 | A |
4658093 | Hellman | Apr 1987 | A |
4727544 | Brunner et al. | Feb 1988 | A |
4752068 | Endo | Jun 1988 | A |
4759064 | Chaum | Jul 1988 | A |
4817140 | Chandra et al. | Mar 1989 | A |
4837728 | Barrie et al. | Jun 1989 | A |
4845715 | Francisco | Jul 1989 | A |
4848744 | Steininger et al. | Jul 1989 | A |
4856787 | Itkis | Aug 1989 | A |
4865321 | Nakagawa et al. | Sep 1989 | A |
4911449 | Dickinson et al. | Mar 1990 | A |
4930073 | Cina, Jr. | May 1990 | A |
4944008 | Piosenka et al. | Jul 1990 | A |
4951149 | Faroudja | Aug 1990 | A |
5004232 | Wong et al. | Apr 1991 | A |
5021772 | King et al. | Jun 1991 | A |
5050212 | Dyson | Sep 1991 | A |
5103081 | Fisher et al. | Apr 1992 | A |
5109152 | Takagi et al. | Apr 1992 | A |
5146575 | Nolan | Sep 1992 | A |
5155680 | Wiedemer | Oct 1992 | A |
5155768 | Matsuhara | Oct 1992 | A |
5161193 | Lampson et al. | Nov 1992 | A |
5179517 | Sarbin | Jan 1993 | A |
5224160 | Paulini et al. | Jun 1993 | A |
5235642 | Wobber et al. | Aug 1993 | A |
5259613 | Marnell, II | Nov 1993 | A |
5283734 | Von Kohorn | Feb 1994 | A |
5288978 | Iijima | Feb 1994 | A |
5291585 | Sato et al. | Mar 1994 | A |
5297205 | Audebert et al. | Mar 1994 | A |
5326104 | Pease et al. | Jul 1994 | A |
5342047 | Heidel et al. | Aug 1994 | A |
5343527 | Moore | Aug 1994 | A |
5398932 | Eberhardt et al. | Mar 1995 | A |
5421006 | Jablon et al. | May 1995 | A |
5465364 | Lathrop et al. | Nov 1995 | A |
5488702 | Byers et al. | Jan 1996 | A |
5489095 | Goudard et al. | Feb 1996 | A |
5507489 | Reibel et al. | Apr 1996 | A |
5586766 | Forte et al. | Dec 1996 | A |
5586937 | Menashe | Dec 1996 | A |
5604801 | Dolan et al. | Feb 1997 | A |
5611730 | Weiss | Mar 1997 | A |
5643086 | Alcorn et al. | Jul 1997 | A |
5644704 | Pease et al. | Jul 1997 | A |
5655965 | Takemoto et al. | Aug 1997 | A |
5668945 | Ohba et al. | Sep 1997 | A |
5704835 | Dietz, II | Jan 1998 | A |
5707286 | Carlson | Jan 1998 | A |
5725428 | Achmüller | Mar 1998 | A |
5737418 | Saffari et al. | Apr 1998 | A |
5742616 | Torreiter et al. | Apr 1998 | A |
5759102 | Pease et al. | Jun 1998 | A |
5768382 | Schneier et al. | Jun 1998 | A |
5800264 | Pascal et al. | Sep 1998 | A |
5934672 | Sines et al. | Aug 1999 | A |
5991399 | Graunke et al. | Nov 1999 | A |
6071190 | Weiss et al. | Jun 2000 | A |
6104815 | Alcorn et al. | Aug 2000 | A |
6106396 | Alcorn et al. | Aug 2000 | A |
6149522 | Alcorn et al. | Nov 2000 | A |
6195587 | Hruska et al. | Feb 2001 | B1 |
6620047 | Alcorn et al. | Sep 2003 | B1 |
6851607 | Orus et al. | Feb 2005 | B1 |
20040002381 | Alcorn et al. | Jan 2004 | A1 |
Number | Date | Country |
---|---|---|
0 685 246 | Dec 1995 | EP |
1 352 677 | Oct 2003 | EP |
1 441 464 | Jul 2004 | EP |
2 121 569 | Dec 1983 | GB |
6-327831 | Nov 1994 | JP |
7-31737 | Feb 1995 | JP |
9965579 | Dec 1999 | WO |
0033196 | Jun 2000 | WO |
Number | Date | Country | |
---|---|---|---|
20040002381 A1 | Jan 2004 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09677129 | Sep 2000 | US |
Child | 10601465 | US | |
Parent | 08864700 | May 1997 | US |
Child | 09107031 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09107031 | Jun 1998 | US |
Child | 09677129 | US | |
Parent | 08981882 | US | |
Child | 08864700 | US | |
Parent | 08497662 | Jun 1995 | US |
Child | 08981882 | US |