`(12) Patent Application Publication (10) Pub. No.: US 2005/0221894 A1
`(43) Pub. Date:
`Oct. 6, 2005
`Lum et al.
`
`US 20050221894A1
`
`(54) MULTI-SYSTEM GAME CONTROLLER
`THAT OPERATES IN MULTIPLE USB
`MODES
`
`(75) Inventors: Richard Lum, Redmond, WA (US);
`Wei Guo, Sammamish, WA (US)
`
`Correspondence Address:
`LEE & HAYES PLLC
`421 W RIVERSIDE AVENUE SUITE 500
`SPOKANE, WA 99201
`
`(73) Assignee: Microsoft Corporation, Redmond, WA
`
`(21) Appl. No.:
`
`10/816,800
`
`(22) Filed:
`
`Mar. 31, 2004
`
`Publication Classi?cation
`
`(51) Im. c1? ................................................... .. A63F 13/00
`(52) Us. 01. .............................................................. .. 463/37
`
`(57)
`
`ABSTRACT
`
`A multi-system game controller is capable of operating in
`different USB (Uniform Serial Bus) modes so that it may be
`used With different types of host gaming systems. In the
`described implementation, the game controller operates in a
`?rst USB mode With one set of operating parameters When
`attached to a ?rst host gaming system, and in a second USB
`mode With another set of operating parameters When
`attached to a second host gaming system. The game con
`troller is designed to determine to Which host gaming system
`it is being connected, and to sWitch to the appropriate USB
`mode based on the determination.
`
`{- 100
`
`102
`
`124
`
`120
`
`126
`
`110l/
`108w , _
`
`130
`
`104
`
`118
`
`j/
`106(1)
`
`\/
`CONTROLLER IN
`FIRST USB MODE
`
`>
`
`CONTROLLER IN
`SECOND USB MODE
`
`SCEA Ex. 1008 Page 1
`
`
`
`Patent Application Publication Oct. 6, 2005 Sheet 1 0f 5
`
`US 2005/0221894 A1
`
`(100
`
`102
`
`124
`
`120
`
`126
`
`/
`
`104
`
`j/
`106(1)
`
`\1
`CONTROLLER IN
`FIRST USB MODE
`
`>
`
`108
`
`A
`
`CONTROLLER IN
`SECOND USB MODE
`
`SCEA Ex. 1008 Page 2
`
`
`
`Patent Application Publication Oct. 6, 2005 Sheet 2 0f 5
`
`US 2005/0221894 A1
`
`214 _
`
`GAME CONSOLE u
`
`j
`
`I— - - >- _ - — — - — - - — — - - _ - - — - — — — - -1
`
`|
`I
`I
`I
`I
`
`I
`I
`
`l
`l
`I
`I
`
`CENTRAL PROCESSING UNIT AJQ
`
`LEVEL 1 CACHE
`m
`
`LEVEL 2 CACHE
`2i
`
`FLASH ROM
`MEMORY
`M
`
`MEMORY
`CONTROLLER
`E
`
`\
`
`RAM MEMORY A
`
`<
`
`ATA CABLE ’
`@
`
`216
`>
`i)
`
`HARD DISK DRIVE
`m
`
`PORTABLE
`MEDIA DRIVE
`129
`
`VIDEO ‘
`3D GRAPHICS‘
`ENCODER
`PROCESSING
`UNIT @ 2_2g
`I
`
`AUDIO
`CODEO
`E5
`
`Aumo
`PROCESSING
`UNIT 224
`—
`
`USB HOsT
`CONTROLLER
`2i
`
`I
`|
`AN l
`I PORT l
`2Q |
`
`|
`l
`|
`NW I
`I/F
`Liz I
`I
`
`SYSTEM POWER
`SUPPLY MODULE
`E
`
`/— 246
`
`FRONITISANEL
`
`SUBASSEMBI-Y
`24_4
`
`V
`DUAL
`CONTROLLER
`CONTROLLER
`WIRELEss l/F
`PORT
`SUBASSEMBLY m
`240(2)
`
`DuAL
`CONTROLLER
`PORT
`SUBASSEMBLY
`240(1)
`“
`
`\
`
`CONTROLLER
`106(1)
`
`\
`J
`_| i
`F
`CONTROLLER 5% CONTROLLER
`CONTROLLER
`106(2)
`106(3)
`106(4)
`
`Fig. 2
`
`SCEA Ex. 1008 Page 3
`
`
`
`Patent Application Publication Oct. 6, 2005 Sheet 3 0f 5
`
`US 2005/0221894 A1
`
`318 €
`
`ii
`S
`El \ 320
`[El
`DISPLAY E [:1
`
`_E_E
`1
`
`HHHUHHH
`_
`! / uuununn \
`// \\
`///
`\\\
`
`104
`
`’
`
`340
`
`r
`
`COMPUTER &
`
`‘
`
`SYSTEM MEMORY &
`
`WU EE
`
`BEECH]: U
`VIDEO ADAPTER Q
`
`N5 DEBUT/F
`ETWORK
`E
`
`-- m ------------ - '
`
`OPERATING
`SYSTEM 5525
`
`DATA MEDIA
`INTERFACES ggi
`
`SYSTEM BUS w
`
`APPLICATION
`PROGRAMS E
`—‘
`OTHER PROGRAM
`0 MODULES @
`OPERATING E
`:> Rig;
`PROGRAM
`SYSTEM
`--:\m -
`DATA Q
`APPLICATION328
`--—-—----¢
`PROCESSING
`— > &
`
`llll
`
`PROGRAM @
`MODULE
`
`DATA
`
`J
`
`342
`
`----
`
`BIOS 314
`
`ROM
`USB HOST m
`—;
`
`.
`
`l/O INTERFACES
`
`344
`
`346
`DIINIM‘LDEID
`
`“D [31
`
`MOUSE
`
`KEYBOARD
`
`106
`
`@ 0000
`
`Fig. 3
`
`SCEA Ex. 1008 Page 4
`
`
`
`Patent Application Publication Oct. 6, 2005 Sheet 4 0f 5
`
`US 2005/0221894 A1
`
`T
`
`PWM
`OUTPUT
`41_4
`
`ADC M
`5_1_§
`
`ACTUATORS
`(TRIGGER,
`THUMBSTICKS)
`5L6.
`
`r106
`
`ROM M POWER
`MANAGEMENT
`UNIT @
`
`BATTERY
`‘
`CHARGING
`RAM m BATTERY 432
`_ CIRcuIT
`1%
`
`CPU
`4-0-2
`
`RF MODULE
`@
`
`SWITCHES
`(BuTToNs, M
`D-PAD)
`\I—l/
`4_2_0.
`
`EEPROM
`m
`
`/\_I\
`W
`
`RADIO
`BASEBAND
`4_2§
`
`DMA
`CHANNELS
`@Q
`
`—
`
`MULTl-MODE USB l/F @
`
`HOST DETEcToR 14;
`
`410j
`
`USB
`CONNECTOR
`52A
`
`SCEA Ex. 1008 Page 5
`
`
`
`Patent Application Publication Oct. 6, 2005 Sheet 5 0f 5
`
`US 2005/0221894 A1
`
`502
`
`504
`
`SET CONTROLLER |N FIRST
`USB MODE (E.G., LOW
`SPEED)
`
`RECEIVE IDENTITY
`REQUEST FROM HOST
`GAMING SYSTEM
`
`506
`
`ETERMINE WHETHE
`IDENTITY REQUEST Is FROM
`CONsOLE OR PC?
`
`CONSOLE
`
`508
`
`PERFORM ENUMERATION IN‘
`FIRsT USB MODE
`
`T
`510 \{ OPERATE CONTROLLER IN \
`FIRST USB MODE
`
`r 500
`
`PC
`
`} 512
`’ CHANGE STATE ON D+/D
`LINES
`
`T
`
`y
`
`E
`
`REsET USB IN SECOND
`USB MODE (E.G. FuLL
`SPEED OR HIGH SPEED)
`i
`PERFORM ENUMERATION IN
`SECOND USB STATE
`i
`OPERATE CONTROLLER IN
`SECOND USB MODE
`
`fs16
`
`SCEA Ex. 1008 Page 6
`
`
`
`US 2005/0221894 A1
`
`Oct. 6, 2005
`
`MULTI-SYSTEM GAME CONTROLLER THAT
`OPERATES IN MULTIPLE USB MODES
`
`TECHNICAL FIELD
`
`[0001] This invention relates to peripherals for controlling
`games, and more particularly, to game controllers that utiliZe
`USB standards and protocols.
`
`BACKGROUND
`
`[0002] Game controllers facilitate user interaction With
`video games. Game controllers come in many shapes, siZes,
`and con?gurations depending upon the desired gaming
`environment in Which the controllers are to be used. There
`are multi-purpose controllers that have one or more multi
`function actuators for controlling a Wide range of games.
`There are also specialty controllers designed for speci?c
`genre of games, such as steering Wheels for racing games,
`Weapons for shooting games, and navigation sticks for
`aviation games.
`
`[0003] Game controllers are often designed to operate
`only With one corresponding host gaming system. Some
`controllers are designed for use only With personal comput
`ers, While others are dedicated to various types of console
`based systems, such as the Xbox@ video game system from
`Microsoft Corporation, the PlayStation® game system from
`Sony Corporation, and the GameCube® system from Nin
`tendo of America Inc. It is common for the dedicated
`controllers to have proprietary plugs that are shaped and
`siZed to ?t only associated slots in the consoles, and to utiliZe
`proprietary protocols for communication With the consoles.
`As a result, the controllers have not been traditionally
`compatible for use With multiple different form factors. The
`lack of compatibility prevented players from porting his/her
`game controller from one type of system to another.
`
`[0004] Today, more game controllers are being designed
`to use standardiZed USB (Uniform Serial Bus) protocols to
`communicate With the host gaming systems. HoWever, even
`Within the boundaries of USB protocols, there can be
`different settings and modes of operation that prevent usage
`across different USB-based systems.
`
`[0005] Accordingly, there is a need for improved game
`controllers that can be utiliZed in different types of game
`systems.
`
`SUMMARY
`
`[0006] A multi-system game controller is capable of oper
`ating in different USB (Uniform Serial Bus) modes so that
`it may be used With different types of host gaming systems,
`such as a PC and a console gaming system. In the described
`implementation, the game controller operates in a ?rst USB
`mode With one set of operating parameters When attached to
`a ?rst host gaming system, and in a second USB mode With
`another set of operating parameters When attached to a
`second host gaming system. The game controller is designed
`to determine to Which host gaming system it is being
`connected, and to sWitch to the appropriate USB mode based
`on the determination.
`
`BRIEF DESCRIPTION OF THE CONTENTS
`
`[0007] The detailed description is described With refer
`ence to the accompanying ?gures. In the ?gures, the left
`
`most digit(s) of a reference number identi?es the ?gure in
`Which the reference number ?rst appears. The use of the
`same reference numbers in different ?gures indicates similar
`or identical items.
`
`FIG. 2 is a block diagram of the game console.
`
`[0008] FIG. 1 illustrates tWo different host gaming sys
`tems—a personal computer and a game console—and a
`controller that can be used With both host gaming systems by
`operating in different USB modes.
`[0009]
`[0010]
`[0011]
`[0012] FIG. 5 is a How diagram shoWing a process for
`selecting an appropriate USB mode for the controller based
`upon Which of the host gaming systems the controller is
`connected.
`
`FIG. 3 is a block diagram of the computer.
`
`FIG. 4 is a block diagram of the controller.
`
`DETAILED DESCRIPTION
`
`[0013] The folloWing disclosure describes a multi-system
`game controller that can be utiliZed With different types of
`game systems, such as a PC and a console-based gaming
`system, by operating in different USB (Uniform Serial Bus)
`modes. The game controller determines the type of game
`system, and then sWitches to an appropriate USB mode
`depending upon the determination. The controller sWitches
`to a ?rst USB mode When operated With one host gaming
`system and to a second USB mode When operated With
`another host gaming system. For discussion purposes, the
`game controller is described in the conteXt of a multi
`purpose game controller. HoWever, the game controller may
`be con?gured in many different Ways, including specialty
`controllers, and With a Wide variety of shapes, siZes, and
`functionality.
`[0014] Multi-System Gaming Environment
`[0015] FIG. 1 shoWs an exemplary multi-system gaming
`environment 100 in Which tWo types of host gaming systems
`are illustrated—a game console 102 and a personal com
`puter (PC) 104. Peripheral game controllers 106(1) and
`106(2) attach to the host gaming systems 102 and 104 to
`facilitate player interaction With video games.
`
`[0016] Each controller 106 can be coupled to the host
`gaming system via a Wire or Wireless interface. In Wired
`operation, the controller 106 is connected to the host gaming
`system via a cable 108. While connected, the controller
`derives poWer from the host gaming system through the
`cable 108. In Wireless operation, the controller is connected
`to the host gaming system via a Wireless link and draWs from
`its oWn poWer source, such as a battery. The Wireless link
`may be implemented using any one of many different
`technologies including, for example, infrared, Bluetooth, or
`RF technologies. The cable 108 may be optionally detached
`from the controller to offer more freedom of movement.
`
`[0017] In the illustrated con?guration, the game console
`102 has four slots 110 on its front face to support up to four
`controllers 106, although the number and arrangement of
`slots may be modi?ed. For Wired operation, the game
`controllers 106 are assigned to the physical slots 110 for
`controlling various characters/features of the video game.
`For Wireless operation, the game controllers 106 are
`assigned to virtual slots. PC 104 supports one or more
`
`SCEA Ex. 1008 Page 7
`
`
`
`US 2005/0221894 A1
`
`Oct. 6, 2005
`
`controllers 106, Which can be connected via a cable 108 to
`a USB port (as shoWn) or via a Wireless link.
`
`[0018] Both host gaming systems 102 and 104 support
`USB protocols. HoWever, even With the boundaries of the
`USB standards, there are operating parameters that may
`differ to the extent that controllers con?gured for play With
`one type of system cannot be used for play on the other type
`of system. For example, PC 104 may be con?gured to
`support a full-speed USB mode (e.g., USB 2.0, specifying
`data rates up to 480 Mb/s), and the game console 102 may
`be con?gured to support a loW-speed USB mode (e.g., USB
`1.1 or variations thereof, specifying data rates of 12 Mb/s or
`less).
`[0019] As described herein, the same controller 106 is
`designed for use With different types of host gaming sys
`tems, including both the game console 102 and the PC 104.
`One controller 106(1) is shoWn as being alternately associ
`ated With the game console 102 or the PC 104. When
`associated With the game console 102, the controller 106(1)
`(illustrated With dashed lines) operates in a ?rst USB mode
`(e.g., loW speed USB 1.1) With a ?rst set of operating
`parameters supported by the game console 102. When
`associated With the PC 104, the controller 106(1) (illustrated
`in full lines) operates in a second USB mode (e.g., full speed
`USB 2.0 or high speed USB 2.0) With a second set of
`operating parameters supported by the PC 104.
`
`[0020] The player can transport his/her controller 106(1)
`from one system to another by simply disconnecting the
`controller from the one system (e.g., game console 102) and
`reconnecting it to the other system (e.g., PC 104). Discon
`nection from one system is accomplished by physically
`unplugging cable 108 or terminating a Wireless session.
`Reconnection to another system is achieved by physically
`attaching cable 108 to a neW game port or a USB port, or
`performing a discovery and binding process to establish a
`Wireless session. Once reconnected, the controller automati
`cally determines Which type of gaming system is attempting
`communication and establishes the appropriate USB mode.
`
`[0021] Each controller 106 may be equipped With any of
`a Wide variety of user interaction mechanisms. As illustrated
`in FIG. 1, each controller 106 is equipped With tWo thumb
`sticks 112(1) and 112(2), a directional or D-pad 114, surface
`buttons 116, and tWo triggers 118. These mechanisms are
`merely representative, and other knoWn gaming mechanisms
`(e.g., shoulder buttons) may be substituted for and/or added
`to those shoWn in FIG. 1.
`
`[0022] The game console 102 is equipped With a portable
`media drive 120 and an optional internal hard disk drive. The
`portable media drive supports various forms of portable
`storage media as represented by an optical storage disc 122.
`Examples of suitable portable storage media include DVD,
`CD-ROM, game discs, game cartridges, and so forth.
`
`[0023] The game console 102 connects to a television or
`other display (not shoWn) via A/V interfacing cables 124. A
`poWer cable 126 provides poWer to the game console. The
`game console 102 may be further equipped With internal or
`externally added netWork capabilities, as represented by the
`cable or modem connector 128 to facilitate access to a
`netWork, such as a local area netWork (LAN) or the Internet.
`Amemory unit (MU) 130 may be inserted into the controller
`106 to provide additional and portable storage (as illus
`
`trated) or alternatively into the game console 102. Portable
`memory units enable users to store game parameters and
`transport them for play on other consoles.
`[0024] Game Console 102
`[0025] FIG. 2 shoWs functional components of the game
`console 102 in more detail. It has a central processing unit
`(CPU) 200 and a memory controller 202 that facilitates
`processor access to various types of memory, including a
`?ash ROM (Read Only Memory) 204, a RAM (Random
`Access Memory) 206, a hard disk drive 208, and the portable
`media drive 120. The CPU 200 is equipped With a level 1
`cache 210 and a level 2 cache 212 to temporarily store data
`and hence reduce the number of memory access cycles,
`thereby improving processing speed and throughput.
`[0026] The CPU 200, memory controller 202, and various
`memory devices are interconnected via one or more buses,
`including serial and parallel buses, a memory bus, a periph
`eral bus, and a processor or local bus using any of a variety
`of bus architectures. By Way of example, such architectures
`can include an Industry Standard Architecture (ISA) bus, a
`Micro Channel Architecture (MCA) bus, an Enhanced ISA
`(EISA) bus, a Video Electronics Standards Association
`(VESA) local bus, and a Peripheral Component Interconnect
`(PCI) bus.
`[0027] As one suitable implementation, the CPU 200,
`memory controller 202, ROM 204, and RAM 206 are
`integrated onto a common module 214. In this implemen
`tation, ROM 204 is con?gured as a ?ash ROM that is
`connected to the memory controller 202 via a PCI (Periph
`eral Component Interconnect) bus and a ROM bus (neither
`of Which are shoWn). RAM 206 is con?gured as multiple
`DDR SDRAM (Double Data Rate Synchronous Dynamic
`RAM) modules that are independently controlled by the
`memory controller 202 via separate buses (not shoWn). The
`hard disk drive 208 and portable media drive 120 are
`connected to the memory controller via bus 216 (e.g., PCI
`bus, ATA bus).
`[0028] A 3D graphics processing unit 220 and a video
`encoder 222 form a video processing pipeline for high speed
`and high resolution graphics processing. Data is carried
`from the graphics processing unit 220 to the video encoder
`222 via a digital video bus (not shoWn). An audio processing
`unit 224 and an audio codec (coder/decoder) 226 form a
`corresponding audio processing pipeline With high ?delity
`and stereo processing. Audio data is carried betWeen the
`audio processing unit 224 and the audio codec 226 via a
`communication link (not shoWn). The video and audio
`processing pipelines output data to an A/V (audio/video)
`port 228 for transmission to the television or other display.
`In the illustrated implementation, the video and audio pro
`cessing components 220-228 are mounted on the module
`214.
`
`[0029] Also implemented on the module 214 are a USB
`host controller 230 and a netWork interface 232. The net
`Work interface 232 provides access to a netWork (e. g., LAN,
`Internet, etc.) and may be any of a Wide variety of various
`Wired or Wireless interface components including an Ether
`net card, a modem, a Bluetooth module, a cable modem, and
`the like. The USB host controller 230 is coupled to the CPU
`200 and the memory controller 202 via a bus (e.g., PCI bus)
`and serves as host for the peripheral game controllers
`106(1)-106(4).
`
`SCEA Ex. 1008 Page 8
`
`
`
`US 2005/0221894 A1
`
`Oct. 6, 2005
`
`[0030] In one implementation, the USB host controller
`230 folloWs the USB 1.1 loW level electrical signaling and
`loW level protocols, except at a sloWer clock rate (i.e., less
`than 12 Mb/s). One eXample clock rate is approximately 3
`Mb/s. The reduced data rate helps reduce EMI radiation.
`Due to this sloW clock rate, the console 102 can be said to
`operate in loW speed USE. The loW speed USB is repre
`sentative of one possible USB mode, although USB modes
`may be de?ned by other operating parameters besides data
`rate.
`
`[0031] The game console 102 has tWo dual controller
`support subassemblies 240(1) and 240(2), With each subas
`sembly supporting up to tWo of the game controllers 106(1)
`106(4), and a controller Wireless interface 242. The Wireless
`interface 242 may use any one of many technologies,
`including IR, Bluetooth, and RF technologies. A front panel
`I/O subassembly 244 supports the functionality of control
`buttons, LEDs (light emitting diodes) or other indicators
`eXposed on the outer surface of the game console. The
`subassemblies 240(1), 240(2), and 244 and controller Wire
`less interface 242 are coupled to the module 214, and
`particularly the USB controller 230, via one or more cable
`assemblies 246.
`
`[0032] The game controllers communicate With the USB
`host controller 230 via the subassemblies 240 and/or the
`Wireless interface 242. One feature of the USB con?guration
`for the console 102 is that a pre-de?ned unique address can
`be permanently assigned to each port. The controller
`attached to that port then utiliZes the address assigned to the
`port as its USB address. This simpli?es the device enumera
`tion process, in that upon request from the host console, the
`controller simply returns one descriptor that contains all
`controller information. Another feature is that the root hub
`does not broadcast traf?c to all of its ports, but rather enables
`a port When the console tries to communicate to the con
`troller attached to that port. The port is otherWise disabled
`When there is no traf?c to its device.
`
`[0033] The USB interface signal is as folloWs:
`
`PIN
`
`1
`2
`3
`4
`
`Description
`
`+5 V Power
`D- Data
`D+ Data
`Ground
`
`[0034] When a controller 106 is connected to the console
`102, the USB host controller 230 sends a request asking the
`controller to identify itself. Based on this request, the
`controller 106 can ascertain that the console 102 is attempt
`ing to establish communication. The controller sWitches to
`the appropriate loW-speed USB mode to support communi
`cation With the console 102.
`
`[0035] The console 102 further includes a system poWer
`supply module 250 to supply poWer to the components of the
`gaming system 100 and to the game controllers 106.
`
`[0036] PC 104
`[0037] FIG. 3 shoWs functional components of the PC 104
`in more detail. It is noted that PC 104 is just one eXample of
`a computing system that can be operated as a host gaming
`
`system. Other Well knoWn computing systems may also
`provide gaming environments Within Which game control
`lers 106 may be employed. Examples of such systems
`include server computers, thin clients, hand-held or laptop
`devices, multiproscessor systems, microprocessor-based
`systems, set top boXes, minicomputers, mainframe comput
`ers, and the like.
`
`[0038] PC 104 includes a general-purpose computer 302
`having one or more processing units 304, a system memory
`306, and a system bus 308 that couples various system
`components. The system bus 308 represents one or more of
`any of several types of bus structures, including a memory
`bus or memory controller, a peripheral bus, an accelerated
`graphics port, and a processor or local bus using any of a
`variety of bus architectures.
`
`[0039] The computer 302 typically includes a variety of
`computer readable media, including volatile and non-vola
`tile media, as Well as removable and non-removable media.
`In the illustrated con?guration, the system memory 306
`includes computer readable media in the form of volatile
`memory, such as random access memory (RAM) 310, and
`non-volatile memory, such as read only memory (ROM)
`312. Abasic input/output system (BIOS) 314, containing the
`basic routines that help to transfer information betWeen
`elements Within computer 302, is stored in ROM 312. RAM
`310 typically contains data and/or program modules that are
`immediately accessible to and/or presently operated on by
`the processing unit 304.
`
`[0040] The computer 302 also has a hard disk drive 316,
`a magnetic disk drive 318 (e.g., ?oppy disk drive), and an
`optical disk drive 320 connected to the system bus 308 by
`one or more data media interfaces 326 or a SCSI interface
`(not shoWn). The disk drives and their associated computer
`readable media provide non-volatile storage of computer
`readable instructions, data structures, program modules, and
`other data for computer 302. It is noted that other types of
`computer readable media Which can store data that is
`accessible by a computer can also be utiliZed.
`
`[0041] Any number of program modules can be stored on
`the hard disk 316, magnetic disk 318, optical disk 320, ROM
`312, and/or RAM 310. In the illustrated implementation, an
`operating system 326, one or more application programs 328
`(e.g., video game), other program modules 330, and pro
`gram data 332 (e.g., video game data) are stored on the hard
`disk drive 316 and/or system memory 306.
`
`[0042] The computer 302 includes a display 334 con
`nected to the system bus 308 via a video adapter 336. A
`netWork interface 338 provides access to a netWork 340
`(e.g., Internet, intranet, LAN, WAN, etc.) and input/output
`(I/O) interfaces 342 enable communication With peripheral
`devices, such as a mouse 344 and a keyboard 346.
`
`[0043] The computer is further equipped With a USB host
`controller 348 to support communication With the game
`controller 106. When the controller 106 is connected to the
`USB host 348, the controller 106 operates in the USB mode
`supported by the USB host controller 348. In one imple
`mentation, the USB host controller 348 implements the USB
`2.0 electrical signaling and protocols. USB 2.0 speci?es a
`much higher data rate (eg 480 Mb/s) as compared to the
`loW-speed USB. Due to this high clock rate, the PC 104 can
`be said to operate in full-speed USB mode, Which is repre
`
`SCEA Ex. 1008 Page 9
`
`
`
`US 2005/0221894 A1
`
`Oct. 6, 2005
`
`sentative of another possible USB mode. Alternatively, the
`PC 104 may be con?gured to operate in high-speed USB
`mode.
`
`[0044] When the controller 106 is connected to the PC
`104, the USB host controller 348 sends a request asking the
`controller to identify itself. Based on this request, the
`controller 106 can ascertain that the computer 302 is
`attempting to establish communication. The controller
`sWitches to the appropriate full-speed USB mode (or alter
`nately, high-speed USB mode) to support communication
`With the PC 104. More particularly, the controller 106
`changes state on the D+/D— lines (PINS 2 and 3) and resets
`the USB connection to operate in the full-speed USB mode
`(or high-speed USB mode).
`[0045] Controller 106
`
`[0046] FIG. 4 shoWs functional components of the game
`controller 106 in more detail. It has a central processing unit
`(CPU) 402 and memory, including ROM 404, RAM 406,
`and EEPROM 408. In the illustrated implementation, the
`CPU 402, ROM 404, and RAM 406 are integrated onto a
`common module 410 and are interconnected via one or more
`bussing structures. EEPROM 408 is separate from, but
`interfaced With, the module 410.
`
`[0047] The game controller 106 includes motor drives 412
`to provide tactile feedback to the player and a PWM (pulse
`Width modulation) output 414 to provide the control signals
`for the motor drives. Player actions received via variable
`input actuators 416 (e.g., thumbsticks 112 and triggers 118)
`are converted to digital signals by analog-to-digital con
`verter (ADC) 418 and passed to the CPU 402. ADC 418 can
`be implemented, for eXample, as an eight channel 10-bit or
`12-bit converter. Other player actions received through
`dual-state sWitches 420 (e. g., D-pad 114 and buttons 116) are
`passed through I/O 422 to CPU 402.
`
`[0048] The game controller can support Wired or Wireless
`operation. A USB connector 424 provides a Wired interface,
`While RF module 426 (e.g., 2.4 GHZ RF module), radio
`baseband unit 428, and DMA (Direct Memory Access)
`channels unit 430 support a Wireless interface. In other
`implementations, the game controller can be designed to
`utiliZe alternative Wireless technologies, such as IR (infra
`red), Bluetooth, UWB (UltraWide Band), and so forth. The
`game controller 104 is equipped With its oWn poWer source,
`such as battery 432, to enable Wireless operation by supply
`ing poWer to the electronic modules and components of the
`game controller 106. A poWer management unit 434 pro
`vides management for ef?cient conservation of the battery
`life. A battery charging circuit 436 recharges battery 432
`When the controller is connected via a cable to the host
`gaming system.
`
`[0049] As noted above, the game controller 106 can be
`used With different host gaming systems that utiliZe different
`USB modes, such as loW-speed, full-speed, and high-speed
`USB modes. The game controller 106 includes a multi-mode
`USB interface 440 that sWitches among the different modes
`depending upon the type of gaming system. The USB
`interface 440 includes a host detector 442 that determines
`Which host gaming system the controller is attempting to
`communicate With. Upon initial contact (e.g., attaching a
`cable), the host detector 442 receives a request from the host
`gaming system asking the controller to identify itself. The
`
`host detector uses the request to ascertain Which system is
`asking. Once the host system is discerned, the USB interface
`440 sWitches to the appropriate USB mode. In our eXample,
`the USB interface 440 sWitches to loW-speed USB mode if
`the controller is connected to the console 102 and to full
`speed USB mode (or alternately, high-speed USB mode) if
`the controller is connected to the PC 104. It is noted that
`although the sWitching among USB modes is described as
`occurring upon initial contact or start up, the controller 106
`may be con?gured to make the sWitch at a later time after
`start up.
`
`[0050] USB Mode SWitching Operation
`
`[0051] FIG. 5 shoWs a process 500 for selecting an
`appropriate USB mode for the controller 106 based upon
`Which of the host gaming systems the controller is con
`nected. The process 500 is illustrated as a collection of
`blocks in a logical ?oW graph, Which represent a sequence
`of operations that can be implemented in hardWare, soft
`Ware, or a combination thereof. In the conteXt of softWare,
`the blocks represent computer instructions that, When
`executed by one or more processors, perform the recited
`operations.
`[0052] The process includes operations performed by a
`game controller during initial interaction With a host gaming
`system. For discussion purposes, the process 500 is
`described With reference to the controller 106, game console
`102, and PC 104 described above With respect to FIGS. 1-4.
`It is noted that the process 500 may be implemented by other
`types of controllers that are designed for Wired and/or
`Wireless communication, and for other types of host gaming
`systems.
`
`[0053] At block 502, the game controller 106 is initially
`set in a ?rst USB mode. As an eXample, the game controller
`106 initially defaults to operate in the loW-speed USB mode.
`As the player connects the controller 106 to a host gaming
`system, the controller 106 pulls its D+ line high to inform the
`console that a device has been attached. The game controller
`106 then receives a request from the host gaming system
`asking the controller to identify itself (block 504).
`
`[0054] At block 506, the game controller 106 determines
`Whether the identity request originated from a game console
`102 or a PC 104. If the request is from the game console 102
`(i.e., the “Console” branch from block 506), the game
`controller 106 is already preset to the ?rst USB mode and
`hence, the game console 102 can commence enumeration to
`establish a USB connection using the operating parameters
`of the ?rst USB mode (block 508). As part of the enumera
`tion process, the controller sends a descriptor to the console.
`The descriptor contains device information, such as ID,
`device class, device type, endpoint address, and so forth.
`Once the connection is established, the controller is operated
`in the ?rst USB mode to facilitate player interaction With a
`video game executing on the console 102 (block 510).
`
`[0055] On the other hand, if the game controller deter
`mines that the identity request is from the PC 104 (i.e., the
`“PC” branch from block 506), the controller 510 performs a
`state change on the D+/D— lines (block 512) and resets the
`USB connection to operate in the second USB mode, such
`as full speed USB or high speed USB (block 514). The game
`console 102 performs USB enumeration to establish a USB
`connection using the operating parameters of the second
`
`SCEA Ex. 1008 Page 10
`
`
`
`US 2005/0221894 A1
`
`Oct. 6, 2005
`
`USB mode (block 516). The controller can then be operated
`in the second USB mode to facilitate player interaction With
`a video game executing on the PC 104 (block 518).
`[0056] Although the sWitching betWeen USB modes is
`described as occurring upon initial start up, the sWitching
`could take place at a time subsequent to start up.
`[0057] Conclusion
`[0058] The above-described controller is capable of oper
`ating in different USB (Uniform Serial Bus) modes so that
`it may be used in different types of host gaming systems.
`Although the invention has been described in language
`speci?c to structural features and/or methodological acts, it
`is to be understood that the invention de?ned in the
`appended claims is not necessarily limited to the speci?c
`features or acts described. Rather, the speci?c features and
`acts are disclosed as exemplary forms of implementing the
`claimed invention.
`
`What is claimed is:
`1. A multi-system video game controller for use With
`different host gaming systems that support different USB
`modes, the multi-system video game controller comprising:
`
`a communication interface to facilitate communication
`With the different host gaming systems; and
`
`a USB protocol module to utiliZe a ?rst USB mode during
`communication With a ?rst host gaming system and a
`second USB mode during communication With a sec
`ond host gaming system.
`2. A multi-system video game controller as recited in
`claim 1, Wherein the communication interface comprises an
`RF module to facilitate Wireless communication.
`3. A multi-system video game controller as recited in
`claim 1, Wherein the communication interface comprises a
`serial cable to facilitate Wired communication.
`4. A multi-system video game controller as recited in
`claim 1, Wherein the ?rst USB mode is loW speed USB and
`the second USB mode is one of