throbber
(19) United States
`(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

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket