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 one or more USB (Universal Serial Bus) gaming peripherals using USB-compatible communications; the one or more of the USB gaming peripherals coupled to the gaming machine and in communication with the master gaming controller, each of the USB gaming peripherals comprising:
one or more USB DFU (Device Firmware Upgrade)-compatible peripheral devices; 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; one or more host processes loaded by the gaming operating system designed for i) receiving a firmware identifier from the USB DFU-compatible peripheral device, ii) determining firmware to download to the USB DFU-compatible peripheral device using the firmware identifier and iii) downloading the determined firmware to the USB DFU-compatible device wherein the firmware identifier allows for two USB DFU-compatible peripheral devices with identical product identification information to be downloaded different firmware.
- 2. The gaming machine of claim 1, wherein the firmware identifier is conveyed to the one or more host processes in a DFU mode interface descriptor set.
- 3. The gaming machine of claim 2, wherein the firmware identifier is conveyed in an iInterface field of the DFU mode interface descriptor set.
- 4. The gaming machine of claim 3, wherein the iInterface field provides an index to a string descriptor.
- 5. The gaming machine of claim 4, wherein a device identification protocol is used to specify a format and information in the string descriptor.
- 6. The gaming machine of claim 1, wherein one or more host processes are one or more of a USB device class manager or a DFU driver.
- 7. The gaming machine of claim 1, wherein the one or more host process are further designed to upload firmware from the USB DFU-compatible device.
- 8. The gaming machine of claim 1, wherein at least one USB DFU-compatible peripheral device is designed to self-initialize without a portion of its run-time descriptor set.
- 9. The gaming machine of claim 1, further comprising:
at least one USB DFU-compatible peripheral device designed to self-initialize without a portion of firmware required to operate the at least one USB DFU-compatible peripheral device.
- 10. The gaming machine of claim 9, wherein the at least one USB DFU-compatible peripheral device is designed to self-initialize in a DFU mode.
- 11. The gaming machine of claim 9, wherein the portion of firmware required to operate the at least one USB DFU-compatible peripheral device includes a DFU run-time descriptor set.
- 12. The gaming machine of claim 1, wherein the gaming machine is capable of determining the firmware to download to the USB DFU-compatible peripheral device without using a vendor identification, a product identification or a serial number in a descriptor set conveyed to the one or more host processes by the USB DFU-compatible peripheral device.
- 13. The gaming machine of claim 1, wherein the one or more host processes is further designed to enumerate the USB DFU-compatible peripheral device.
- 14. The gaming machine of claim 1, wherein the firmware identifier is one of a record in a firmware database or an index to a record in a firmware database.
- 15. The gaming machine of claim 1, further comprising:
a firmware database.
- 16. The gaming machine of claim 15, wherein the firmware database includes at least a mapping of the firmware identifier to a particular instantiation of firmware.
- 17. The gaming machine of claim 1, wherein the one or more host processes are further designed to search a firmware database using information from the firmware identifier.
- 18. The gaming machine of claim 1, wherein the one or more host process is further designed to determine when to trigger the downloading of firmware to the USB DFU-compatible peripheral device.
- 19. The gaming machine of claim 18, wherein the downloading of firmware is triggered when an update of the firmware on the USB DFU-compatible peripheral device is received.
- 20. The gaming machine of claim 19, wherein the update of the firmware is received from a remote server in communication with the gaming machine.
- 21. The gaming machine of claim 1, wherein the gaming machine is capable of receiving a trigger to download the firmware from one or more of a remote gaming device and an operator using an user interface generated on the gaming machine.
- 22. The gaming machine of claim 1, wherein the one or more host processes are further designed to determine when to initiate a download that has been triggered.
- 23. The gaming machine of claim 22, wherein when to initiate the download is a function of 1) a current operational state of the gaming machine, 2) a time of day, 3) a usage history of the gaming machine and 4) details of the firmware to be downloaded.
- 24. The gaming machine of claim 1, further comprising:
one or more non-USB peripheral devices.
- 25. The gaming machine of claim 1, wherein the one or more host processes are further designed to change a state of the USB DFU-compatible peripheral devices between a run-time mode and a DFU mode.
- 26. The gaming machine of claim 1, wherein the one or more host process are further designed to request a download of firmware from a remote server.
- 27. The gaming machine of claim 26, wherein the firmware download request includes firmware identification information conveyed from a USB DFU-compatible peripheral device.
- 28. The gaming machine of claim 1, wherein the gaming machine is capable of receiving a download of firmware from a remote server.
- 29. The gaming machine of claim 1, wherein the remote server is a gaming machine.
- 30. The gaming machine of claim 1, wherein the one or more host processes are further designed to download firmware to the USB DFU-compatible peripheral device each time the USB DFU-compatible device is power-ed up.
- 31. The gaming machine of claim 1, wherein the USB DFU-compatible peripheral device stores the firmware downloaded from the gaming machine in a volatile memory.
- 32. The gaming machine of claim 1, wherein the USB DFU-compatible peripheral device stores the firmware downloaded from the gaming machine in one of a volatile memory, a non-volatile memory or combinations thereof.
- 33. 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 USB gaming peripherals.
- 34. The gaming machine of claim 1, further comprising:
a memory storage device for storing approved firmware for the USB DFU-compatible peripheral device.
- 35. The gaming machine of claim 34, wherein the firmware varies according to a jurisdiction where the gaming machine is located.
- 36. The gaming machine of claim 34, wherein the firmware is 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.
- 37. The gaming machine of claim 1, wherein the gaming machine is capable of determining the gaming jurisdiction in which is located.
- 38. The gaming machine of claim 1, wherein the gaming operating system is further designed to load USB drivers capable of communicating with the firmware on the USB DFU-compatible peripheral device.
- 39. The gaming machine of claim 1, wherein the gaming operating system is further designed to authenticate an identity of the USB DFU-compatible peripheral device.
- 40. The gaming machine of claim 1, wherein the gaming operating system is further designed to authenticate firmware executed by the USB DFU-compatible peripheral device.
- 41. The gaming machine of claim 1, wherein the gaming operating system is further designed to determine an identity of the USB DFU-compatible peripheral device and to verify that the USB DFU-compatible peripheral device is approved to operate on the gaming machine.
- 42. The gaming machine of claim 1, wherein the USB DFU-compatible peripheral device is a member of one of a standard USB device class or a vendor-specific device class.
- 43. The gaming machine of claim 1, wherein the gaming operating system is further designed to determine when one of the USB gaming peripherals require a portion of firmware for operation and to download approved firmware required for operation.
- 44. The gaming machine of claim 1, further comprising:
a USB-compatible host controller.
- 45. 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 of the USB DFU-compatible peripheral device.
- 46. 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.
- 47. 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.
- 48. 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.
- 49. 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.
- 50. The gaming machine of claim 49, wherein the USB peripheral controller further comprises;
one or more USB-compatible interfaces.
- 51. The gaming machine of claim 50, wherein each USB-compatible interface is mapped to a single USB feature in the one of peripheral devices.
- 52. The gaming machine of claim 50, 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.
- 53. 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 sticks, thumbsticks, trackballs, touchpads and solenoids.
- 54. The gaming machine of claim 1, wherein one or more of the USB gaming peripherals further comprise:
a USB-compatible device controller.
- 55. The gaming machine of claim 1, wherein one or more of the USB gaming peripherals further comprise:
a USB-compatible hub.
- 56. The gaming machine of claim 1, further comprising:
a storage device for storing the plurality of gaming software modules.
- 57. 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, black-jack games, keno games, bingo games, roulette games, craps games, checkers, board games and card games.
- 58. The gaming machine claim 1, further comprising:
at least one USB DFU-compatible peripheral device designed to self-initialize in a USB DFU-mode without entering a USB run-time mode.
RELATED APPLICATION DATA
[0001] The present application claims priority under U.S.C. 120 from U.S. Pat. Ser. No. 10/246,367, filed on Sep. 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.