Claims
- 1. A gaming machine comprising:
a master gaming controller adapted for i) generating a game of chance played on the gaming machine by executing a plurality of gaming software modules and ii) communicate with a plurality of USB (Universal Serial Bus) gaming peripherals using USB-compatible communications; the plurality of USB gaming peripherals coupled to the gaming machine and in communication with the master gaming controller; a gaming operating system on the master gaming controller designed for loading gaming software modules into a Random Access Memory (RAM) for execution from the storage device and for unloading gaming software modules from the RAM; a USB device class manager loaded by the gaming operating system designed for i) configuring a USB device interface comprising;
a plurality of USB drivers for providing interfaces that are compatible with the gaming operating system such that processes in the gaming operating system are capable of using USB communications to communicate with the plurality of USB gaming peripherals and; ii) authorizing the connection of each USB gaming peripheral to the USB device interface.
- 2. The gaming machine of claim 1, further comprising:
a USB stack loaded by the gaming operating system designed for providing a USB communication connection for each of the plurality of USB gaming peripherals to the USB device interface.
- 3. The gaming machine of claim 1, wherein the USB device class manager is further designed for downloading firmware to one or more the USB gaming peripherals.
- 4. The gaming machine of claim 1, wherein the USB device class manager is further designed to search a file directory structure maintained by the gaming operating system to identify a list of USB drivers to be included in the USB device interface.
- 5. The gaming machine of claim 4, wherein the USB device class manager is further designed to compare the list of identified USB drivers with an approved list of USB drivers stored on the gaming machine.
- 6. The gaming machine of claim 5, wherein the USB device class manager is further designed to trigger a safe state in the gaming machine, when an un-approved USB driver is detected.
- 7. The gaming machine of claim 5, wherein the approved list of USB drivers varies according to a jurisdiction where the gaming machine is located.
- 8. The gaming machine of claim 1, wherein the gaming machine is capable of determining the gaming jurisdiction in which it is located.
- 9. The gaming machine of claim 1, wherein the gaming software modules are approved for use on the gaming machine by one or more of a gaming jurisdiction, a gaming machine manufacturer, a third-party vendor and a standards association.
- 10. The gaming machine of claim 1, wherein each USB driver is capable of communicating with one or more USB features.
- 11. The gaming machine of claim 1, wherein the USB device class manager is further designed to control loading or unloading of the USB drivers into and out of the RAM.
- 12. The gaming machine of claim 11, wherein the USB device class manager is further designed to monitor requests to use each of the USB drivers in the USB interface and to load or unload the USB drivers according to a number of requests to use the USB drivers.
- 13. The gaming machine of claim 1, wherein the USB device class manager is further designed to reconfigure the USB device interface for one or more of the following: 1) when a first USB gaming peripheral is enumerated or un-enumerated on the gaming machine, 2) when the game of chance played on the gaming machine is changed, 3) when a jurisdiction in which is the gaming machine is located is changed, and 4) when jurisdictional requirements in which the gaming machine are located are changed.
- 14. The gaming machine of claim 1, wherein the USB device class manager is further designed to authenticate an identity of a first USB gaming peripheral connected to the gaming machine.
- 15. The gaming machine of claim 1, wherein the USB device class manager is further designed to authenticate firmware executed by one or more of the USB gaming peripherals.
- 16. The gaming machine of claim 15, wherein the firmware is authenticated by comparing a first result from a hashing function applied to the firmware by the USB gaming peripheral with a second result from the hashing function applied to an approved copy of the firmware by the master gaming controller.
- 17. The gaming machine of claim 1, further comprising: a storage device for storing approved firmware used by one or more of the USB gaming peripherals.
- 18. The gaming machine of claim 17, wherein the firmware is approved by one or more of a gaming jurisdiction, a gaming machine manufacturer, a third party vendor and a standards association.
- 19. The gaming machine of claim 1, wherein the USB device class manager is further designed to assign encryption keys used to encrypt and decrypt communications between the USB gaming peripherals and the master gaming controller to one or more of the USB gaming peripherals.
- 20. The gaming machine of claim 1, wherein the communications between the USB gaming peripherals and the master gaming controller are encrypted.
- 21. The gaming machine of claim 20, wherein the USB device interfaces encrypt and decrypt communications that pass through them.
- 22. The gaming machine of claim 1, wherein the USB device class manager is further designed to determine an identity of a first USB gaming peripheral that has connected to the gaming machine and to determine whether the first USB gaming peripheral is an approved gaming peripheral.
- 23. The gaming machine of claim 22, wherein the USB device class manager is further designed to trigger a safe state in the gaming machine, when an un-approved USB gaming peripheral has been connected to the gaming machine.
- 24. The gaming machine of claim 1, wherein the USB drivers are loaded as one of shared objects or a dynamic link libraries.
- 25. The gaming machine of claim 1, wherein the USB device class manger is further designed to configure the USB device interface with a first device driver that translates communications between a second device driver and the gaming operating system.
- 26. The gaming machine of claim 25, wherein the second device driver provides a POSIX file system interface.
- 27. The gaming machine of claim 1, wherein the USB device class manager is further designed to support one or more device classes selected from group consisting of standard USB device classes and vendor-specific device classes.
- 28. The gaming machine of claim 27, wherein the standard USB device classes are selected from the group consisting of a human interface device class, an audio class and a printer class.
- 29. The gaming machine of claim 1, wherein one or more of the USB gaming peripherals are initialized without a portion of firmware required for operation.
- 30. The gaming machine of claim 29, wherein the USB device class manager is further designed to determine when one of the one or more of the USB gaming peripherals require a portion of firmware for operation and to download approved firmware required for operation.
- 31. The gaming of claim 1, wherein one or more of the USB gaming peripherals are designed to receive polls from the USB device class manager and to enter a safe state when a poll is not received from the USB device class manger within a time interval.
- 32. The gaming of machine of claim 31, wherein after a first USB gaming peripheral enters the safe state, no monetary claims are allowed against the gaming machine.
- 33. The gaming machine of claim 1, wherein each of the USB drivers is compatible with at least one standard USB device class or one USB vendor-specific device class.
- 34. The gaming machine of claim 1, further comprising:
a USB-compatible host controller.
- 35. The gaming machine of claim 1, further comprising:
a plurality of USB-compatible feature drivers wherein each feature driver communicates with a USB feature on one of the gaming peripherals.
- 36. The gaming machine of claim 1, wherein the master gaming controller is further designed or configured to run feature client processes that communicate with one of the USB features using its associated USB driver
- 37. The gaming machine of claim 1, wherein the gaming machine is capable of enumerating each USB gaming peripheral to determine the capabilities of each of the USB gaming peripherals.
- 38. The gaming machine of claim 1, wherein the gaming machine is a mechanical slot machine, a video slot machine, a keno game, a lottery game, or a video poker game.
- 39. The gaming machine of claim 1, wherein the master gaming controller includes a memory storing software for encrypting, decrypting, or encrypting and decrypting the USB-compatible communications between the master gaming controller and at least one of the USB gaming peripherals.
- 40. The gaming machine of claim 1, wherein each USB gaming peripheral comprises:
a USB-compatible communication connection, one or more peripheral devices specific to each USB gaming peripheral wherein each peripheral device supports one or more USB features, and a USB peripheral controller designed or configured i) to control the one or more peripheral devices and ii) to communicate with the master gaming controller and peripheral devices using the USB-compatible communications.
- 41. The gaming machine of claim 40, wherein the USB peripheral controller further comprises;
one or more USB-compatible interfaces.
- 42. The gaming machine of claim 41, wherein each USB-compatible interface is mapped to a single USB feature in the one of the peripheral devices.
- 43. The gaming machine of claim 40, wherein the USB peripheral controller includes a non-volatile memory arranged to store at least one of a) configuration parameters specific to the individual USB gaming peripheral and b) state history information of the USB game peripheral.
- 44. The gaming machine of claim 43, wherein the configuration parameters include a mapping of the USB-compatible interfaces to the USB features.
- 45. The gaming machine of claim 1, wherein each USB gaming peripherals includes one or more peripheral devices that are selected from a group consisting of lights, printers, coin hoppers, coin dispensers, bill validators, ticket readers, card readers, key-pads, button panels, display screens, speakers, information panels, motors, mass storage devices, reels, wheels, bonus devices, wireless communication devices, bar-code readers, microphones, biometric input devices, touch screens, arcade stick, thumbsticks, trackballs, touchpads and solenoids.
- 46. The gaming machine of claim 1, wherein one or more of the USB gaming peripherals further comprise:
a USB-compatible device controller.
- 47. The gaming machine of claim 1, wherein one or more of the USB gaming peripherals further comprise:
a USB-compatible hub.
- 48. The gaming machine of claim 1, further comprising:
a storage device for storing the plurality of gaming software modules.
- 49. The gaming machine of claim 1, wherein the game of chance is selected from the group consisting of traditional slot games, video slot games, poker games, pachinko games, multiple hand poker games, pai-gow poker games, blackjack games, keno games, bingo games, roulette games, craps games, checkers, board games and card games.
- 50. The gaming machine of claim 1, wherein the USB device drivers for generating a particular game of chance are packaged with gaming software modules for the particular game of chance.
- 51. The gaming machine of claim 50, wherein a first set of USB drivers for generating a first game of chance are different from a second set of USB drivers for a second game of chance.
- 52. The gaming machine of claim 51, wherein the gaming machine is capable of loading the first set of USB drivers when a first package of gaming software modules for the first game of chance is installed on the gaming machine and wherein the gaming machine is capable of loading the second set of USB drivers when a second package of gaming software modules is installed on the gaming machine.
RELATED APPLICATION DATA
[0001] The present application claims priority under U.S.C. 120 from U.S. Pat. No. 10/246,367, filed on Sept. 16, 2002, and entitled, “USB DEVICE PROTOCOL FOR A GAMING MACHINE,” which is a continuation-in-part from U.S. patent application Ser. No. 10/214,255, filed on Aug. 6, 2002, titled “STANDARD PERIPHERAL COMMUNICATION”, which is a continuation of U.S. patent application Ser. No. 09/635,987, titled “STANDARD PERIPHERAL COMMUNICATION” filed on Aug. 9, 2000, which is a divisional application from U.S. patent application Ser. No. 09/414,659, titled “STANDARD PERIPHERAL COMMUNICATION” filed on Oct. 6, 1999, which is now U.S. Pat. No. 6,251,014; each of which is incorporated herein by reference.