(58)【調査した分野】(Int.Cl.,DB名)
前記ブロードキャストパケットを受信すると、前記ゲームコントローラは、前記コンソールと結合パケットを交換することを特徴とする請求項1に記載のゲームコントローラ。
前記ゲームコントローラは、前記コンソールからのブロードキャストパケットを捕捉して、前記ブロードキャストパケットの一意のコンソール識別子を、前記ゲームコントローラに記憶された前記一意のコンソール識別子と相関させることを特徴とする請求項1に記載のゲームコントローラ。
前記ゲームコントローラは、前記ブロードキャストパケットが予め定められた時間内に受信されない場合に前記発見処理を再試行する再試行メカニズムを含み、前記再試行メカニズムは、予め定められた回数だけ再試行することを特徴とする請求項4に記載のゲームコントローラ。
前記ゲームコントローラは、前記発見処理が完了したことを、前記視覚インジケータを点灯することによって示すことを特徴とする請求項6に記載のゲームコントローラ。
ブロードキャストパケットが予め定められた時間内に受信されない場合に、前記発見処理を再試行するステップを更に含み、前記再試行するステップは、予め定められた回数だけ実行されることを特徴とする請求項8に記載の方法。
前記ワイヤレスデバイスは、視覚インジケータを点灯することによって、前記結合処理または前記発見処理の成功または失敗を示すことを特徴とする請求項8に記載の方法。
前記一意のコンソール識別子を用いて、前記ワイヤレスゲームコントローラの前記1対1の関係を維持するステップを更に含むことを特徴とする請求項12に記載の方法。
ブロードキャストパケットが予め定められた時間内に受信されない場合に、前記発見処理を再試行するステップを更に含み、前記再試行するステップは、予め定められた回数だけ実行されることを特徴とする請求項12に記載の方法。
【発明を実施するための形態】
【0011】
図1は、本発明の特定の態様を実行することができるマルチメディア/ゲームコンソール100の機能要素を示す。マルチメディアコンソール100は、1次キャッシュ102、2次キャッシュ104、及びフラッシュROM(Read Only Memory:読み出し専用メモリ)106を有する中央処理装置(Central Processing Unit:CPU)101を含む。1次キャッシュ102及び2次キャッシュ104は、一時的にデータを記憶し、それによりメモリアクセスサイクルの回数を減少させ、その結果、処理速度及びスループットを改善する。CPU101は、2つ以上のコアと、従って追加の1次キャッシュ102及び2次キャッシュ104とを有するように設けられてもよい。フラッシュROM106は、マルチメディアコンソール100に電源が投入されたときのブート処理の初期段階の間にロードされる実行可能コードを記憶することができる。
【0012】
グラフィック処理装置(Graphics Processing Unit:GPU)108及びビデオエンコーダ/ビデオコーデック(符号化器/復号化器)114は、高速かつ高解像度のグラフィック処理のためのビデオ処理パイプラインを形成する。データは、グラフィック処理装置108から、バスを介して、ビデオエンコーダ/ビデオコーデック114に伝えられる。ビデオ処理パイプラインは、A/V(オーディオ/ビデオ)ポート140にデータを出力して、テレビまたは他のディスプレイへ送信する。メモリコントローラ110は、GPU108に接続されて、限定ではないがRAM(Random Access Memory:ランダムアクセスメモリ)などの、様々な種類のメモリ112へのプロセッサのアクセスを容易にする。
【0013】
マルチメディアコンソール100は、I/Oコントローラ120、システム管理コントローラ122、オーディオ処理装置123、ネットワークインタフェースコントローラ124、第1のUSBホストコントローラ126、第2のUSBコントローラ128、及びフロントパネルI/Oサブアセンブリ130を含む。これらは、モジュール118上に実現されることが望ましい。USBコントローラ126及びUSBコントローラ128は、周辺コントローラ142(1)−142(2)、ワイヤレスアダプタ148、及び外付けのメモリデバイス146(例えば、フラッシュメモリ、外付けのCD/DVDROMドライブ、着脱自在媒体など)のホストとしての機能を果たす。ネットワークインタフェース124及び/またはワイヤレスアダプタ148は、ネットワーク(例えばインターネット、ホームネットワークなど)へのアクセスを提供し、イーサネット(登録商標)カード、モデム、ブルートゥース(Bluetooth(登録商標))モジュール、ケーブルモデムなどを含む多岐にわたる様々な有線またはワイヤレスのアダプタ部品のいずれであってもよい。
【0014】
システムメモリ143が設けられて、ブート処理の間にロードされるアプリケーションデータを記憶する。媒体駆動部(media drive)144が設けられ、DVD/CDドライブ、ハードディスクまたは他の着脱自在な媒体駆動部などを含んでもよい。媒体駆動部144は、マルチメディアコンソール100の内部にあってもよく、または外付けであってもよい。マルチメディアコンソール100は、実行、再生などのために媒体駆動部144を介してアプリケーションデータにアクセスすることができる。媒体駆動部144は、シリアルATAバスまたは他の高速接続(例えば、IEEE1394)などのバスを介してI/Oコントローラ120に接続している。
【0015】
システム管理コントローラ122は、マルチメディアコンソール100の可用性を確保することに関する様々なサービス機能を提供する。オーディオ処理装置123及びオーディオコーデック132は、対応するオーディオ処理パイプラインをハイファイかつステレオ方式の処理により形成する。オーディオデータは、通信リンクを介してオーディオ処理装置123とオーディオコーデック132との間を伝えられる。オーディオ処理パイプラインは、外部オーディオプレーヤまたはオーディオ機能を有する装置による再生のためにA/Vポート140にデータを出力する。
【0016】
フロントパネルI/Oサブアセンブリ130は、マルチメディアコンソール100の外面に露出したすべてのLED(発光ダイオード)または他のインジケータの機能性だけでなく、電源ボタン150及びイジェクトボタン152の機能性もサポートする。システム電源モジュール136は、マルチメディアコンソール100の構成要素に電力を供給する。ファン138は、マルチメディアコンソール100内の回路を冷却する。
【0017】
CPU101、GPU108、メモリコントローラ110、及びマルチメディアコンソール100内の様々な他の構成要素は、様々なバスアーキテクチャのいずれかを用いたシリアルバス及びパラレルバス、メモリバス、周辺機器用バス、並びにプロセッサバスまたはローカルバスを含む、1つまたは複数のバスを介して相互接続される。一例として、かかるアーキテクチャには、PCI(Peripheral Component Interconnects)バス、PCIエクスプレスバスなどを含んでもよい。
【0018】
マルチメディアコンソール100に電源が投入されると、アプリケーションデータは、システムメモリ143からメモリ112及び/またはキャッシュ102、104へロードされ、CPU101で実行することができる。アプリケーションは、マルチメディアコンソール100で利用可能な異なる媒体形式に誘導する場合に、一貫したユーザ体験を提供するグラフィカルユーザインタフェースを示してもよい。動作中に、媒体駆動部144内に含まれるアプリケーション及び/または他の媒体が、媒体駆動部144から開始されまたは再生されて、マルチメディアコンソール100に追加の機能性を提供してもよい。
【0019】
マルチメディアコンソール100は、システムを単にテレビまたは他のディスプレイにだけ接続することにより、スタンドアロンのシステムとして動作してもよい。このスタンドアロンモードでは、マルチメディアコンソール100によって、1人または複数のユーザが、システムと情報のやりとりを行い、映画を見、または音楽を聞くことが可能になる。一方、ネットワークインタフェース124またはワイヤレスアダプタ148を介して利用可能になるブロードバンドの接続性の統合で、マルチメディアコンソール100は、より大規模なネットワークコミュニティの参加者として更に動作することができる。
【0020】
マルチメディアコンソール100に電源が投入されると、一定のハードウェア資源(resource)は、マルチメディアコンソールのオペレーティングシステムによって、システムの使用のために予約される。これらの資源は、メモリ(例えば16MB)、CPU及びGPUサイクル(例えば5%)、ネットワーク帯域幅(例えば8kbs)などの予約を含んでもよい。これらの資源はシステムのブート時に予約されるので、予約された資源はアプリケーションからは見えない。
【0021】
特に、メモリ予約は、起動カーネル、並行(concurrent)システムアプリケーション及びドライバを含むのに十分な大きさであることが望ましい。CPUの予約は一定であることが望ましく、予約されたCPUの使用量をシステムアプリケーションが使用していない場合には、待機(idle)スレッドがいずれかの使用されていないサイクルを使うことができる。
【0022】
GPU予約に関して、システムアプリケーションによって生成される小メッセージ(例えばポップアップ)は、予定コードへのGPU割り込みを用いて表示されて、オーバレイにポップアップをレンダリングする。オーバレイのために必要なメモリの量はオーバレイ領域の大きさに依存し、オーバレイは画面解像度と対応することが望ましい。全ユーザインタフェースを並列システムアプリケーションが用いる場合には、アプリケーション解像度と無関係の解像度を用いることが望ましい。スケーラ(scaler)を用いて、周波数を変更しかつTVの再同期化を生じさせる必要性をなくすようにこの解像度を設定してもよい。
【0023】
マルチメディアコンソール100が起動されてシステム資源(resource)が予約された後に、並列システムアプリケーションが実行されてシステム機能性を提供する。システム機能性は、上記の予約されたシステム資源内で実行される一組のシステムアプリケーションの中にカプセル化される。オペレーティングシステムのカーネルは、ゲームアプリケーションスレッドと対比したシステムアプリケーションスレッドであるスレッドを識別する。システムアプリケーションは、予め定められた時間及び間隔でCPU101上で起動するようにスケジュールを入れられて、矛盾のないシステム資源計画をアプリケーションに提供することが望ましい。スケジューリングは、コンソールで起動しているゲームアプリケーションのためのキャッシュの分裂状態を最小化するべきである。
【0024】
並行システムアプリケーションがオーディオを必要とする場合に、オーディオ処理は時間感度のためにゲームアプリケーションに対して非同期にスケジュールを入れられる。システムアプリケーションがアクティブの場合に、マルチメディアコンソールアプリケーションマネージャ(後述される)は、ゲームアプリケーションのオーディオレベル(例えば、ミュート、減衰)を制御する。
【0025】
入力デバイス(例えば、コントローラ142(1)及び142(2))は、ゲームアプリケーション及びシステムアプリケーションにより共有される。入力デバイスは予約された資源ではないが、システムアプリケーションとゲームアプリケーションとの間で切替えられて、各々がデバイスの中心(focus)を有する。アプリケーションマネージャは、ゲームアプリケーションの知識なしで、入力ストリームの切替えを制御することが望ましく、ドライバは中心切替え装置(focus switch)に関する状態情報を保持する。
【0026】
図2を参照すると、4つの四分円形(クワドラント)LEDインジケータ156(及びその拡大図)を有する例示的なワイヤレスコントローラ154及び4つの四分円形インジケータ158を有するコンソール100が示されている。コントローラ154は、例えば周波数ホッピングスペクトラム拡散(FHSS)ワイヤレス通信リンクを介して、ワイヤレスアダプタ148と通信を行う。リンクは、最長10メートルまで延長が可能であることが望ましい。コントローラ154も、振動フィードバック、ミニジョイスティック、感圧ボタンなどを含む。ゲームは、画面160に示される。コンソールインジケータ158は、電源ボタンを囲むように示されているが、他の構成で実装されてもよい。リングの各四分円形は、LEDによって点灯してもよい。LEDは、単色でも、複数の色で点灯するために2色であってもよい。後述するように、四分円形を、通知、システム状態、結合及び発見を示す諸様式で点灯してもよい。
【0027】
複数のコンソール100及びワイヤレスコントローラ154が共存することができる環境をサポートするために、各コントローラは単一のコンソール100に論理的に「結合」されて、リンクはそのコンソール100とだけ確立される。コントローラ154は、同時に2つ以上のコンソール100には結合されない。結合とは、あるコンソール100があるコントローラ154へ情報を送信して、そのコントローラが該コンソール100とのリンクを確立することを可能にする処理である。一旦コンソール100に「結合」されると、コントローラ154は、コントローラ154がオンにされるといつでも、結合されたコンソール100とのリンクを確立しようとする。
【0028】
コンソール100には、本明細書において「Vポート」と称される4つの仮想コントローラポートがある。Vポートは、有線またはワイヤレスでコンソール100に接続されたアクティブなゲームコントローラを表す。番号の付いたVポートが、コンソール100に接続される順に自動的にコントローラに割り当てられる。各々のVポートは、LEDインジケータ156及びコンソールインジケータ158の四分円形によって表される。このように、「発見」は、有線またはワイヤレスのゲーム装置がコンソール100によって認識され、Vポートを割り当てられ、ゲームプレーに使用できるようにされる処理である。
【0029】
従って、「結合」及び「発見」の動作は、2つの別個だが関連している動作であることが望ましい。結合の動作は、コントローラ及びコンソール上の結合(BIND)ボタンまたは接続(CONNECT)ボタンを押下することによって開始される。一旦結合されると、コントローラは発見処理を開始し、成功すれば、上述したようにこの場合Vポート1である、第1の使用可能なVポートを割り当てられる。1台から3台のコントローラが事前に結合されかつ発見されていた場合には、発見された次のコントローラは、Vポート2、3または4がそれぞれ割り当てられる。4台のコントローラがすでに発見済みの場合には、結合処理はそれでもなお実行されるが、いずれのVポートも割り当てられることができない。従って、コントローラはVポートを割り当てられないが、他の4台のコントローラのうちの1台がオフにされたかまたは新規のコンソールに結合された場合には、コンソールに結合されかつ発見されて使用できるだろう。
【0030】
結合処理及び発見処理が、
図3−6を参照してここでより詳細に説明される。結合または接続は、新規のコントローラ154がコンソール(ホスト)100に追加されることを可能にするイベントである。複数のワイヤレスコントローラ154及び複数のコントローラがLANに共存する環境をサポートするために、各ワイヤレスコントローラ154は、一度に単一のコンソールに追加されることが望ましい。単一のコンソールは、ワイヤレスコントローラ154が特定の時間に接続される唯一のコンソールであることが更に望ましい。ユーザが他のコンソールと同じコントローラを使用したい場合を除いて、大部分のユーザにとって、結合処理はコンソール1台あたり1回だけ実行される。コンソールに結合されるコントローラの数は制限されていないので、コンソール100からコントローラの結合を開放する必要はない。
【0031】
ここで
図3及び
図4を参照すると、結合処理または接続処理は、コンソール100の接続ボタン(ステップ200)及びワイヤレスコントローラ154の接続ボタン(ステップ226)を押下することによって開始される。各接続ボタンが押下されると、結合が完了するかまたはタイムアウトされるまで、各デバイスはこのモードのままである。各デバイスは、LEDパターンを発光させて、結合処理の開始を示す(ステップ202、228)。コンソール100は、ブロードキャストパケットの次の使用可能スロットにおいて結合ビット及びそのFHSSホッピング多項式を有するブロードキャストパケットを送信することができる(ステップ204、206)。
【0032】
コントローラ154は、チャネルを選択し、コンソール100からのブロードキャストパケットを調べる(listen for)(ステップ230)。コンソール100の接続ボタンを押下して20秒以内に、コントローラ154が結合パケットを受信してコンソール100に接続され得ることが望ましい。この期間に、コントローラ154は、結合パケットが受信されたかどうかを確かめ、必要ならば、チャネルを変更して別のチャネルで結合パケットを待つことができる(ステップ232、240、242)。一方、この期間に、コンソール100は、コントローラ154からの結合要求パケットを調べる(ステップ208、210、216)。コンソール100及びコントローラ154は、20秒以内にそれらの間で結合情報が交換されない場合に、タイムアウトして結合モードから出ることが望ましい(ステップ218、244)。LEDは、発光して失敗を示してもよい(ステップ220、246)。
【0033】
コンソールのワイヤレス通信機及びコントローラのワイヤレス通信機が通信を確立した後に、結合情報及び検証を含む結合パケットが交換される(ステップ212、234)。コントローラ154は、コンソール100のIDと、コントローラ154に設けられたEEPROMのFHSSホッピング多項式とを記憶する(ステップ236)。LEDは発光して、結合の成功を示してもよい(ステップ214、238)。そして、結合処理は完了する(ステップ222、248)。
【0034】
上述の様に、結合処理の間、コントローラ154は、一意のコンソール識別(ID)コード及びホッピング多項式を受信して、それらをワイヤレスコントローラ154に記憶する。この情報は、コンソール100がオンにされると、コンソール100とのリンクを確立するために用いられる。ワイヤレスコントローラについていえば、コントローラ154をオンにすることは、有線コントローラをコンソールに「プラグイン」することに相当する。ワイヤレスコントローラ154に一旦記憶された結合情報は、電池または充電式のバッテリーパックが取り外される場合であっても、更に放電/充電の全サイクルを通じてずっと、保持されることが望ましい。従って、ユーザは、電池交換と電池交換との間またはプレー/充電ケーブルでの充電サイクルの間に再結合を行う必要はない。
【0035】
更に、コントローラ154が第2のコンソールに結合される場合は、ID及びホッピング多項式が第2のID及びホッピング多項式であるように、ユーザは、第1のコンソールに再結合する必要がある。1つのコンソールID及びホッピング多項式だけを、コントローラに一度に記憶することができる。
【0036】
上記の結合処理は、コンソール100のゲームプレーを停止させない。ゲームの適当なときに、ゲームを中断せずに、プレーの中止を要求せずに、または他のコントローラの音声またはデータ通信に少しも影響を及ぼさずに、いかなるコントローラも結合しかつ接続することができる。
【0037】
結合処理は、また、プレー/充電ケーブルを用いてコンソール100にワイヤレスコントローラ154を接続することによって開始されてもよい。このモードでは、結合パケットは、USBケーブルを介して交換される。コンソール100ホストは、ワイヤレスのシナリオと同様に、そのワイヤレスモジュールデバイスID及びホッピング多項式をコントローラ154に送信する。この情報を受信するとすぐに、コントローラ154は、そのEEPROMに情報を記憶し、コンソール100に自動的にRFリンクを確立し、更に、コントローラのLEDインジケータ(
図2を参照)をオンにして接続状態を示す。
【0038】
結合処理に関するいくつかのさらなる特徴は、次の通りである。コントローラ154またはコンソール100の接続専用ボタンまたは結合専用ボタンは、押下されるときにコントローラまたはコンソールの電源を入れない。接続ボタンまたは結合ボタンは、結合処理が開始されるためには、押下されかつ0.75秒より長くそのままでなければならない。これは、コントローラ及びコンソールのボタンの不注意による動作を防ぐためである。結合は1対1のイベントである。結合ボタンの押下によって、一度に1台のコントローラを結合することができる。次のコントローラを結合するために、次のユーザは、結合または接続が起こる前のそれに続く時間、コンソール100の結合ボタンを押下しなければならない。状態通知画面は、結合及び発見処理(結合中・・・結合済み・・・発見済み)を表示して、ユーザに結果を知らせてもよい。結合処理は、20秒の割り当て時間内に接続ボタンを2度押すことによって、ワイヤレスコントローラ154で終了されてもよい。ワイヤレスコントローラは、うまくいかなかった場合に、前のコンソールのIDコードなどの全ての情報を保持することができる。結合の全処理は、6.5秒以内に完了されることが望ましい。
【0039】
発見処理は、ワイヤレスコントローラ154がゲームセッションに参加することができるようにする。発見処理の間、デバイスの認証も実行される。発見処理は、ゲームセッションの前かまたはその間になされてもよく、デバイスがコンソールに結合された後に行われる。コンソール100が結合モードにある間、デバイスの発見処理は使用可能にされないことが望ましい。
【0040】
ホスト(コンソール100)は、
図5に示した例示的な処理を実行する。ホスト(コンソール)のブロードキャストパケットは、発見処理に用いられる。コンソール100は、フレーム毎に2回ブロードキャストパケットを送信する(ステップ250、252)。コンソール100は、第1の使用可能スロットのデータをチェックする(ステップ254)。有効なデータリンク制御パケットが検出される場合には、コンソール100は、当該スロットを使用中とマークして、リンク制御パケットを復号する(ステップ256、258)。コンソール100がリンク制御パケットを検出しない場合には、コンソール100は発見完了パケットを送信し、更に該空きスロットの情報を更新して(ステップ270)、ステップ252へ戻る。
【0041】
有効なリンク制御パケットがある場合には、コンソールはリンク制御パケットをコントローラ154または他のワイヤレスデバイスと交換して、リンク制御パケットを承認する(ステップ260、262)。次に、コンソール100は、ワイヤレスコントローラ154に搬送パケットを送信することによって、認証処理を開始する(ステップ264)。コンソール100は、認証応答を待って、応答の正当性を確認し、その発見完了パケットにフラグをセットして発見の成功/失敗を示す(ステップ266、268)。コンソール100は、ブロードキャストパケットの該空きスロットの情報を更新することによって処理を完了し(ステップ270)、ステップ252に戻る。
【0042】
コントローラ154(または任意のワイヤレスデバイス)がゲームセッションに参加すると、コントローラ154は
図6の例示的なシーケンスを実行する。最初に、コントローラ154は、LEDを介して、発見モードに入りつつあることを示す(ステップ272、274)。次に、コントローラ154は、チャネルリスト全体から1つのチャネルを選択し、ブロードキャストパケットを調べる(ステップ276、277)。デバイスが同じホップ周波数上にいる継続時間は164ms前後であって、全ての可能性のあるチャネルをホストが調べるのに十分な時間が提供される。ブロードキャストパケットが検出されない場合、または、パケットがうまく復号されない場合には、コントローラ154は、別のチャネルへ移動して、ステップ276及び277を繰り返す。
【0043】
ブロードキャストパケットを受信した後に、コントローラ154は、ホストのIDの検証を実行して、その結合されたホスト、即ちコンソール100によりホストされる正しいネットワークに接続される。コントローラ154は、自身のタイミングを、ホストの8msのフレームタイミング及びフレームカウンタに一致するように調整する(ステップ278-284)。コントローラ154は、ブロードキャストパケットをチェックして、使用可能なスロットを検出する(ステップ286)。コントローラ154は、ブロードキャストパケットのFHSS/AFH情報に基づいてホップチャネルを更新し、第1の使用可能スロットを選ぶ(ステップ288)。ステップ284においてホストのIDの一致がない場合には、LEDはステップ318において点滅されて失敗を示し、処理は終了する(ステップ320)。
【0044】
コントローラは、次のフレームのリンク制御パケットを送信する(ステップ290、292)。コントローラがブロードキャストパケットを検出しない場合には、ステップ294においてフレームの任意の量を戻って、再びステップ288を開始する。コントローラ154は、コントローラ154が送信したリンク制御パケットに対するACKビットについてホストのブロードキャストパケットのスロットをチェックする(ステップ296)。
【0045】
コントローラ154は、ホストの搬送パケットを待って、セキュリティ機構に転送する(ステップ298−304)。ホストの搬送パケットが受信されない場合には、コントローラのLEDが点灯されて、受信のためのタイムアウト時間が経過したことを示す(ステップ302)。コントローラ154は、セキュリティ機構にポーリングして、認証の状態を待つ(ステップ306)。一旦完了したならば、コントローラ154は搬送パケットを介してコンソール100に該状態を転送する(ステップ308、310)。認証が完了するまで、コントローラ154はいかなるデータも送信しない(ステップ312)。コントローラ154は、発見処理を完了し、発見の成功/失敗についてホストによって設定されるフラグに基づいてフラグLEDを設定する(ステップ314−320)。
【0046】
発見処理の間、コントローラ154は、コンソール100に接続するために20回だけ試行することが望ましい。接続できない場合には、コントローラ154は、自身のLEDを用いて、「通信していない」というエラーメッセージを発光させる。各再試行は、最長15秒続いてもよく、再試行の失敗から新しい再試行の開始までの時間は、250msから1520msの間で遅延する。これによって、エラーなどを修正する時間をユーザに提供する最長330sの再試行時間が提供されることが有利である。
【0047】
ワイヤレスコントローラ154が何の接続もない状態にある場合には、ボタンの押下またはトリガー/親指スティック運動などの何らかの入力によって、コントローラ154は発見処理を自動的に開始することが望ましい。
【0048】
図7及び
図8を参照すると、結合処理及び発見処理、並びに、LEDインジケータ156及びコンソールインジケータ158が処理をプレーヤへ視覚的に伝える方法が視覚的に示されている。
図3に示すように、コントローラは電源を投入され、コンソール100及びコントローラの結合ボタンは押下されている。結合処理が完了した後に、発見処理が行われる。これはコンソール100によって発見されるべき第1のコントローラであるので、Vポート1に関連付けられて、インジケータ156及びインジケータ158の左上の四分円形が照明されて接続を知らせる。
図8に示すように、2台以上のコントローラがコンソール100によって発見される場合には、インジケータ158の他の四分円形が連続して照明される。このように、2台のコントローラが接続される場合には、インジケータ158の2つの四分円形が点灯され、更に最大4台のコントローラ及び4つの四分円形まで点灯され得る。追加の四分円形がコンソール上で連続して点灯される一方、単一の四分円形だけが一度にいずれか1つのコントローラで点灯されるという点に注意すべきである。
【0049】
四分円形の位置は、次のようにVポートに対応することが望ましい。即ち、
1,左上の四分円形
2,右上の四分円形
3,左下の四分円形
4,右下の四分円形
である。更に、複数のプレーヤがプレーしている
図8に示すように、画面上のプレーヤの位置は、複数のプレーヤの個別のコントローラに割り当てられた四分円形に対応する。
【0050】
Vポートは、以下の規則に従って、昇順(1から4)でアサインされることが望ましい。即ち、
― システムがコントローラによって電源を投入される場合には、そのコントローラ(有線またはワイヤレス)はVポート1を割り当てられる。
― コンソールにプラグ接続された有線コントローラは、以下の順序に従って次の使用可能なVポートを自動的に割り当てられる。即ち、
― ハブを介してUSBポートAに接続されるコントローラ
― USBポートA(例えばコントローラ142(1))に直接プラグ接続されるコントローラ。
― ハブを介してUSBポートBに接続されるコントローラ
― USBポートB(例えばコントローラ142(2))に直接プラグ接続されるコントローラ。
― ハブを介してUSBポートCに接続されるコントローラ
― USBポートCに直接プラグ接続されるコントローラ
である。
【0051】
Vポートは、コントローラがプラグを抜かれるかまたは電源をオフにされると開放される。論理的には、電源がオフにされたワイヤレスコントローラは、コンソール100からプラグを抜かれた有線コントローラと同様に取り扱われる。一旦、電源が投入されると、コンソール100は、追加の有線コントローラ及びワイヤレスコントローラをそれらが接続されるかまたは電源を投入される順番で、使用可能なVポートに割り当てる。ゲームプレーの間、ゲームは、コントローラがプラグを抜かれると通知される。プラグを抜かれた
そのコントローラがゲームでそのとき使用されている場合には、ゲームは一時停止して切断メッセージを表示することができる。ゲームはまた、再接続されるべきコントローラがあれば
その開放されたVポートが再実装(repopulate)されるべき次のVポートであるということをコンソール100に通知する。次の切断が起こると、コンソールはゲームに通知し、ゲームは実装する次のVポートについて報告する。コンソールは、ゲームによって要求される次のVポートの割り当てに対して後入れ先出しのスタックで維持する。
【0052】
このように、コントローラが再接続されるときに、コントローラは以下の規則に従ってVポートに割り当てられる。即ち、
―
次Vポート
(Next Vport)スタックがその中に値を有する場合には、コントローラは
その指定されたVポートに割り当てられて、該Vポートはスタックから外される。
―
次Vポートスタックが空の場合には、コントローラは最も小さい番号をつけられた空きVポートに割り当てられる。
― 空きVポートがない場合には、コントローラはVポートを割り当てられない。
コントローラがワイヤレスの場合には、接続された表示に失敗を表示して、電源が切断される。コントローラが有線の場合には、四分円形はコントローラ上で点灯されない。
【0053】
本発明は、コンソールにコントローラを追加しかつコンソールからコントローラを取り外す簡単で一貫した方法をユーザに提供することを意図している。本発明は、様々な図の好適な実施形態に関連して説明されているが、そこから逸脱することなしに、他の同様の実施形態が用いられ、また、説明された実施形態に変更及び追加を行って本発明の同じ機能を実行してもよい、ということが理解されるべきである。