(57)【要約】【課題】相互に無線通信可能な複数のゲーム機を利用して多人数ゲームプレイを行うときに、各ゲーム機における所定の処理の実行タイミングを簡単に同期させることのできるゲーム機、無線モジュールおよびゲームプログラムを提供すること。【解決手段】マスタの無線モジュールは、クライアントの無線モジュールに対してゲーム処理周期と同じ周期でビーコン信号を送信する。マスタの無線モジュールおよびクライアントの無線モジュールは、ビーコン信号の送信タイミングが到来したときに割込信号を出力する。マスタのゲーム処理部およびクライアントのゲーム処理部は、それぞれ、割込信号に基づいてＶカウンタを調整する。【選択図】図１
2008099906.tif 000002
【特許請求の範囲】
【請求項１】
相互に無線通信可能な複数のゲーム機を利用した多人数ゲームプレイを可能にするためのゲーム機であって、
前記多人数ゲームプレイにおける通信相手に設定された他のゲーム機に設けられた他の無線モジュールとの間で内部のタイマを同期させる時刻同期機能を有する無線モジュールと、
所定の処理を実行する処理部と、
自己のゲーム機の前記無線モジュールの前記タイマの値に基づいて、前記処理部による前記所定の処理の実行タイミングを調整する調整部とを備えた、ゲーム機。
【請求項２】
前記処理部は、画像データを生成して表示バッファに記憶する処理を実行し、
前記表示バッファに記憶された前記画像データを表示部に出力する出力部をさらに備え、
前記調整部は、自己のゲーム機の前記無線モジュールの前記タイマの値に基づいて、前記出力部が前記画像データを表示部に出力するタイミングを調整する、請求項１に記載のゲーム機。
【請求項３】
前記処理部は、画像データを生成して表示バッファに記憶する処理を実行し、
前記表示バッファに記憶された前記画像データを表示部に出力する出力部をさらに備え、
前記調整部は、自己のゲーム機の前記無線モジュールの前記タイマの値に基づいて、前記表示バッファに記憶された画像データが前記処理部によって更新されるタイミングを調整する、請求項１に記載のゲーム機。
【請求項４】
前記処理部は、画像データを生成して少なくとも２つの表示バッファのうちのいずれかに記憶する処理を実行し、
前記２つの表示バッファのうちのいずれかに記憶された前記画像データを表示部に出力する出力部をさらに備え、
前記調整部は、自己のゲーム機の前記無線モジュールの前記タイマの値に基づいて、前記出力部によって使用される前記表示バッファが切り替わるタイミングを調整する、請求項１に記載のゲーム機。
【請求項５】
前記処理部は、所定の手順が定義された１単位のゲーム処理を繰り返して実行し、
前記調整部は、自己のゲーム機の前記無線モジュールの前記タイマの値に基づいて、前記処理部が前記１単位のゲーム処理を実行するタイミングを調整する、請求項１に記載のゲーム機。
【請求項６】
プレイヤによって操作される入力部をさらに備え、
前記処理部は、前記入力部の操作情報に基づいて所定の処理を実行し、
前記調整部は、自己のゲーム機の前記無線モジュールの前記タイマの値に基づいて、前記処理部による前記操作情報に基づく処理を実行するタイミングを調整する、請求項１に記載のゲーム機。
【請求項７】
前記無線モジュールは、前記タイマの値に基づいて、前記他のゲーム機との間で前記操作情報を交換するタイミングを決定する、請求項６に記載のゲーム機。
【請求項８】
処理周期を計測するカウンタをさらに備え、
前記処理部は、前記カウンタの値に基づいて、前記所定の処理を周期的に実行し、
前記調整部は、自己のゲーム機の前記無線モジュールの前記タイマの値に基づいて、前記カウンタの値を調整する、請求項１に記載のゲーム機。
【請求項９】
前記無線モジュールは、前記タイマの値に基づいて、割り込み信号を一定周期で出力する割り込み信号出力手段を備え、
前記調整部は、前記無線モジュールからの前記割り込み信号の出力タイミングに基づいて前記所定の処理の実行タイミングを調整する、請求項１に記載のゲーム機。
【請求項１０】
処理周期を計測するカウンタをさらに備え、
前記処理部は、前記カウンタの値に基づいて、所定周期で前記所定の処理を実行し、
前記割り込み信号出力手段は、前記タイマの値に基づいて、前記所定周期で前記割り込み信号を出力し、
前記調整部は、前記無線モジュールからの前記割り込み信号が出力されるタイミングにおける前記カウンタの値が予め定められた固定値に近づくように、前記カウンタの値を調整する、請求項９に記載のゲーム機。
【請求項１１】
前記無線モジュールは、他の無線モジュールにビーコン信号を送信または他の無線モジュールからビーコン信号を受信し、
前記無線モジュールによる前記ビーコン信号の送信周期を一定周期に設定するビーコン間隔設定手段を備え、
前記割り込み信号出力手段は、前記ビーコン信号の送信タイミングが到来したときに前記割り込み信号を出力する、請求項９に記載のゲーム機。
【請求項１２】
前記処理部は、一定周期で、他の無線モジュールから受信したゲーム処理に必要なデータに基づく前記所定の処理を繰り返して実行し、
前記無線モジュールによるビーコン信号の送信周期を前記一定周期に設定するビーコン間隔設定手段を備え、
前記無線モジュールは、前記タイマの値に基づいて、前記ビーコン信号を一定周期で送信または受信し、かつ、他の無線モジュールにビーコン信号を送信または他の無線モジュールからビーコン信号を受信するごとに、当該他の無線モジュールとの間で前記ゲーム処理に必要なデータを送信または受信し、
前記調整部は、自己のゲーム機の前記無線モジュールの前記タイマの値に基づく前記ビーコン信号の送信タイミングに基づいて、前記処理部による前記所定の処理の実行タイミングを調整する、請求項１に記載のゲーム機。
【請求項１３】
プレイヤによって操作される入力部をさらに備え、
前記処理部は、自己の前記入力部の操作情報と他のゲーム装置の前記入力部の操作情報とに基づく所定の処理の実行を繰り返し、
前記無線モジュールは、前記ビーコン信号の送受信ごとに、前記他のゲーム機との間で前記操作情報を交換する、請求項１２に記載のゲーム機。
【請求項１４】
前記無線モジュールは、前記タイマの値に基づいて、前記ビーコン信号の送信タイミングが到来したときに前記割り込み信号を出力する割り込み信号出力手段をさらに備え、
前記調整部は、前記無線モジュールからの前記割り込み信号の出力タイミングに基づいて前記所定の処理の実行タイミングを調整する、請求項１２に記載のゲーム機。
【請求項１５】
前記無線モジュールは、他の無線モジュールにビーコン信号を送信または他の無線モジュールからビーコン信号を受信した後、当該他の無線モジュールとの間でゲーム処理に必要なデータを送信または受信し、さらにその後、前記タイマの値に基づいて、次のビーコン信号の送信タイミングが到来するまでスリープモードで動作するスリープ機能を備える、請求項１４に記載のゲーム機。
【請求項１６】
前記処理部は、前記無線モジュールの前記タイマの値を一定周期で読み取り、当該読み取った値に基づいて、前記処理部による前記所定の処理の実行タイミングを調整する、請求項１に記載のゲーム機。
【請求項１７】
前記処理部は、所定の手順が定義された１単位のゲーム処理を繰り返して実行し、当該１単位のゲーム処理の処理周期のＮ倍（Ｎは自然数）の周期で前記無線モジュールの前記タイマの値を読み取る、請求項１６に記載のゲーム機。
【請求項１８】
前記無線モジュールは、ＩＥＥＥ８０２．１１の規格に基づいて他のゲーム機に設けられた他の無線モジュールとの間で内部のタイマを同期させる、請求項１に記載のゲーム機。
【請求項１９】
相互に無線通信可能な複数のゲーム機を利用した多人数ゲームプレイを可能にするためのゲーム機であって、
前記多人数ゲームプレイにおける通信相手に設定された他のゲーム機に設けられた他の無線モジュールとの間で内部のタイマを同期させる時刻同期機能を有する無線モジュールと、
所定の処理を実行する処理部と、
自己のゲーム機の前記無線モジュールの前記タイマの値に基づいて、前記処理部による前記所定の処理の実行タイミングを決定するする決定部とを備えた、ゲーム機。
【請求項２０】
相互に無線通信可能な複数のゲーム機を利用した多人数ゲームプレイを可能にするためのゲーム機であって、
前記多人数ゲームプレイにおける通信相手に設定された他のゲーム機に設けられた他の無線モジュールとの間で内部のタイマを同期させる時刻同期機能を有する無線モジュールを接続可能なコネクタと、
所定の処理を実行する処理部と、
前記コネクタに接続された前記無線モジュールの前記タイマの値に基づいて、前記処理部による前記所定の処理の実行タイミングを調整する調整部とを備えた、ゲーム機。
【請求項２１】
相互に無線通信可能な複数のゲーム機を利用した多人数ゲームプレイを可能にするための無線モジュールであって、
他の無線モジュールとの間で内部のタイマを同期させる時刻同期手段と、
自己の前記タイマの値に基づいて、割り込み信号を一定周期で出力する割り込み信号出力手段とを備えた、無線モジュール。
【請求項２２】
相互に無線通信可能な複数のゲーム機を利用した多人数ゲームプレイを可能にするためのゲームシステムであって、
当該ゲームシステムは、第１ゲーム機および第２ゲーム機の少なくとも２台のゲーム機を備え、
前記第１ゲーム機は、
前記第２のゲーム機に設けられた第２の無線モジュールとの間で内部のタイマを同期させる時刻同期機能を有する第１の無線モジュールと、
所定の処理を実行する第１の処理部と、
前記第１の無線モジュールの前記タイマの値に基づいて、前記第１の処理部による前記所定の処理の実行タイミングを調整する第１の調整部とを備え、
前記第２ゲーム機は、
前記第１の無線モジュールとの間で内部のタイマを同期させる時刻同期機能を有する第２の無線モジュールと、
所定の処理を実行する第２の処理部と、
前記第２の無線モジュールの前記タイマの値に基づいて、前記第２の処理部による前記所定の処理の実行タイミングを調整する第２の調整部とを備える、ゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はゲーム機、無線モジュールおよびゲームシステムに関し、特に、相互に無線通信可能な複数のゲーム機を利用した多人数ゲームプレイを可能にするためのゲーム機、無線モジュールおよびゲームシステムに関する。
【背景技術】
【０００２】
従来、基準となるゲーム機から送信される信号の受信タイミングに基づいて、他のゲーム機の送信タイミングを調整する技術がある（例えば、特許文献１参照）。
【０００３】
また従来、マスタのゲーム機からクライアントのゲーム機に、特定のタイミングにおける時刻情報を送信し、クライアントのゲーム機が、受信した時刻情報に基づいてゲーム処理周期を調整する技術がある（例えば、特許文献２参照）。
【０００４】
また従来、マスタのゲーム機からクライアントのゲーム機に一定周期でリセット指令を送信し、クライアントのゲーム機は、リセット指令を受信したことに応じて同期カウンタをリセットする技術がある（例えば、特許文献３参照）。
【特許文献１】特開２０００−１３５３８０号公報
【特許文献２】特開２００５−２６１８５６号公報
【特許文献３】特開平８−２４３２５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１の技術は、複数のゲーム機間で通信のタイミングを調整しているに過ぎず、特許文献１の技術だけでは複数のゲーム機間で処理の周期を合わせることはできない。
【０００６】
また、上記特許文献２の技術では、マスタのゲーム機からクライアントのゲーム機に定期的に時刻情報を送信する必要があり、通信回線の利用効率がその分だけ低下してしまうという問題がある。
【０００７】
また、上記特許文献３の技術は、有線通信においては有効であるが、特許文献３の技術を無線通信に適用した場合には遅延およびジッタの問題があり、無線通信に簡単に適用することができない。
【０００８】
それゆえに、本発明は、相互に無線通信可能な複数のゲーム機を利用して多人数ゲームプレイを行うときに、各ゲーム機における所定の処理の実行タイミングを簡単に同期させることのできるゲーム機、無線モジュールおよびゲームプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明は以下の構成を採用した。なお、括弧内の参照符号は、本発明の理解を助けるために、図面との対応関係の一例を示したものであって、本発明の範囲を何ら限定するものではない。
【００１０】
本発明のゲーム機（１０ａ）は、相互に無線通信可能な複数のゲーム機（１０ａ，１０ｂ）を利用した多人数ゲームプレイを可能にするためのゲーム機であって、前記多人数ゲームプレイにおける通信相手に設定された他のゲーム機（１０ｂ）に設けられた他の無線モジュール（１２ｂ）との間で内部のタイマ（１２４ａ，１２４ｂ）を同期させる時刻同期機能を有する無線モジュール（１２ａ）と、所定の処理を実行する処理部（１４ａ、１８ａ）と、自己のゲーム機の前記無線モジュールの前記タイマ（１２４ａ）の値に基づいて、前記処理部による前記所定の処理の実行タイミングを調整する調整部（１４ａ）とを備える。
【００１１】
前記処理部は、画像データを生成して表示バッファに記憶する処理を実行し、前記ゲーム機は、前記表示バッファに記憶された前記画像データを表示部に出力する出力部をさらに備え、前記調整部は、自己のゲーム機の前記無線モジュールの前記タイマの値に基づいて、前記出力部が前記画像データを表示部に出力するタイミングを調整してもよい。
【００１２】
前記処理部は、画像データを生成して表示バッファに記憶する処理を実行し、前記ゲーム機は、前記表示バッファに記憶された前記画像データを表示部に出力する出力部をさらに備え、前記調整部は、自己のゲーム機の前記無線モジュールの前記タイマの値に基づいて、前記表示バッファに記憶された画像データが前記処理部によって更新されるタイミングを調整してもよい。
【００１３】
前記処理部は、画像データを生成して少なくとも２つの表示バッファのうちのいずれかに記憶する処理を実行し、前記ゲーム機は、前記２つの表示バッファのうちのいずれかに記憶された前記画像データを表示部に出力する出力部をさらに備え、前記調整部は、自己のゲーム機の前記無線モジュールの前記タイマの値に基づいて、前記出力部によって使用される前記表示バッファが切り替わるタイミングを調整してもよい。
【００１４】
前記処理部は、所定の手順が定義された１単位のゲーム処理を繰り返して実行し、前記調整部は、自己のゲーム機の前記無線モジュールの前記タイマの値に基づいて、前記処理部が前記１単位のゲーム処理を実行するタイミングを調整してもよい。
【００１５】
前記ゲーム機は、プレイヤによって操作される入力部をさらに備え、前記処理部は、前記入力部の操作情報に基づいて所定の処理を実行し、前記調整部は、自己のゲーム機の前記無線モジュールの前記タイマの値に基づいて、前記処理部による前記操作情報に基づく処理を実行するタイミングを調整してもよい。
【００１６】
前記無線モジュールは、前記タイマの値に基づいて、前記他のゲーム機との間で前記操作情報を交換するタイミングを決定してもよい。
【００１７】
前記ゲーム機は、処理周期を計測するカウンタをさらに備え、前記処理部は、前記カウンタの値に基づいて、前記所定の処理を周期的に実行し、前記調整部は、自己のゲーム機の前記無線モジュールの前記タイマの値に基づいて、前記カウンタの値を調整してもよい。
【００１８】
前記無線モジュールは、前記タイマの値に基づいて、割り込み信号を一定周期で出力する割り込み信号出力手段を備え、前記調整部は、前記無線モジュールからの前記割り込み信号の出力タイミングに基づいて前記所定の処理の実行タイミングを調整してもよい。これにより、無線モジュールの変更を最小限にすることができる。
【００１９】
前記ゲーム機は、処理周期を計測するカウンタをさらに備え、前記処理部は、前記カウンタの値に基づいて、所定周期で前記所定の処理を実行し、前記割り込み信号出力手段は、前記タイマの値に基づいて、前記所定周期で前記割り込み信号を出力し、前記調整部は、前記無線モジュールからの前記割り込み信号が出力されるタイミングにおける前記カウンタの値が予め定められた固定値に近づくように、前記カウンタの値を調整してもよい。
【００２０】
前記無線モジュールは、他の無線モジュールにビーコン信号を送信または他の無線モジュールからビーコン信号を受信し、前記ゲーム機は、前記無線モジュールによる前記ビーコン信号の送信周期を一定周期に設定するビーコン間隔設定手段を備え、前記割り込み信号出力手段は、前記ビーコン信号の送信タイミング（クライアント側にとっては受信タイミング）が到来したときに前記割り込み信号を出力してもよい。
【００２１】
前記処理部は、一定周期で、他の無線モジュールから受信したゲーム処理に必要なデータに基づく前記所定の処理を繰り返して実行し、前記ゲーム機は、前記無線モジュールによるビーコン信号の送信周期を前記一定周期に設定するビーコン間隔設定手段を備え、前記無線モジュールは、前記タイマの値に基づいて、前記ビーコン信号を一定周期で送信または受信し、かつ、他の無線モジュールにビーコン信号を送信または他の無線モジュールからビーコン信号を受信するごとに、当該他の無線モジュールとの間で前記ゲーム処理に必要なデータを送信または受信し、前記調整部は、自己のゲーム機の前記無線モジュールの前記タイマの値に基づく前記ビーコン信号の送信タイミングに基づいて、前記処理部による前記所定の処理の実行タイミングを調整してもよい。
【００２２】
前記ゲーム機は、プレイヤによって操作される入力部をさらに備え、前記処理部は、自己の前記入力部の操作情報と他のゲーム装置の前記入力部の操作情報とに基づく所定の処理の実行を繰り返し、前記無線モジュールは、前記ビーコン信号の送受信ごとに、前記他のゲーム機との間で前記操作情報を交換してもよい。
【００２３】
前記無線モジュールは、前記タイマの値に基づいて、前記ビーコン信号の送信タイミングが到来したときに前記割り込み信号を出力する割り込み信号出力手段をさらに備え、前記調整部は、前記無線モジュールからの前記割り込み信号の出力タイミングに基づいて前記所定の処理の実行タイミングを調整してもよい。
【００２４】
前記無線モジュールは、他の無線モジュールにビーコン信号を送信または他の無線モジュールからビーコン信号を受信した後、当該他の無線モジュールとの間でゲーム処理に必要なデータを送信または受信し、さらにその後、前記タイマの値に基づいて、次のビーコン信号の送信タイミングが到来するまでスリープモードで動作するスリープ機能を備えてもよい。
【００２５】
前記処理部は、前記無線モジュールの前記タイマの値を一定周期で読み取り、当該読み取った値に基づいて、前記処理部による前記所定の処理の実行タイミングを調整してもよい。
【００２６】
前記処理部は、所定の手順が定義された１単位のゲーム処理を繰り返して実行し、当該１単位のゲーム処理の処理周期のＮ倍（Ｎは自然数）の周期で前記無線モジュールの前記タイマの値を読み取ってもよい。
【００２７】
前記無線モジュールは、ＩＥＥＥ８０２．１１の規格に基づいて他のゲーム機に設けられた他の無線モジュールとの間で内部のタイマを同期させてもよい。
【００２８】
本発明の他のゲーム機（１０ａ）は、相互に無線通信可能な複数のゲーム機（１０ａ，１０ｂ）を利用した多人数ゲームプレイを可能にするためのゲーム機であって、前記多人数ゲームプレイにおける通信相手に設定された他のゲーム機（１０ｂ）に設けられた他の無線モジュール（１２ｂ）との間で内部のタイマ（１２４ａ，１２４ｂ）を同期させる時刻同期機能を有する無線モジュール（１２ａ）と、所定の処理を実行する処理部（１４ａ、１８ａ）と、自己のゲーム機の前記無線モジュールの前記タイマ（１２４ａ）の値に基づいて、前記処理部による前記所定の処理の実行タイミングを決定するする決定部（１４ａ）とを備える。
【００２９】
本発明のさらに他のゲーム機（１０ａ）は、相互に無線通信可能な複数のゲーム機（１０ａ，１０ｂ）を利用した多人数ゲームプレイを可能にするためのゲーム機であって、前記多人数ゲームプレイにおける通信相手に設定された他のゲーム機（１０ｂ）に設けられた他の無線モジュール（１２ｂ）との間で内部のタイマ（１２４ａ，１２４ｂ）を同期させる時刻同期機能を有する無線モジュール（１２ａ）を接続可能なコネクタ（図示せず）と、所定の処理を実行する処理部（１４ａ、１８ａ）と、前記コネクタに接続された前記無線モジュールの前記タイマ（１２４ａ）の値に基づいて、前記処理部による前記所定の処理の実行タイミングを調整する調整部（１４ａ）とを備える。
【００３０】
本発明の無線モジュール（１２ａ）は、相互に無線通信可能な複数のゲーム機（１０ａ，１０ｂ）を利用した多人数ゲームプレイを可能にするための無線モジュールであって、他の無線モジュール（１２ｂ）との間で内部のタイマ（１２４ａ，１２４ｂ）を同期させる時刻同期手段（１２３ａ）と、自己の前記タイマ（１２４ａ）の値に基づいて、割り込み信号を一定周期で出力する割り込み信号出力手段（１２３ａ）とを備えた、無線モジュール。
【００３１】
相互に無線通信可能な複数のゲーム機（１０ａ，１０ｂ）を利用した多人数ゲームプレイを可能にするためのゲームシステムであって、
当該ゲームシステムは、第１ゲーム機（１０ａ）および第２ゲーム機（１０ｂ）の少なくとも２台のゲーム機を備え、
前記第１ゲーム機は、
前記第２のゲーム機に設けられた第２の無線モジュール（１２ｂ）との間で内部のタイマ（１２４ａ，１２４ｂ）を同期させる時刻同期機能を有する第１の無線モジュール（１２ａ）と、
所定の処理を実行する第１の処理部（１４ａ、１８ａ）と、
前記第１の無線モジュールの前記タイマ（１２４ａ）の値に基づいて、前記第１の処理部による前記所定の処理の実行タイミングを調整する第１の調整部（１４ａ）とを備え、
前記第２ゲーム機は、
前記第１の無線モジュールとの間で内部のタイマを同期させる時刻同期機能を有する第２の無線モジュールと、
所定の処理を実行する第２の処理部（１４ｂ、１８ｂ）と、
前記第２の無線モジュールの前記タイマ（１２４ｂ）の値に基づいて、前記第２の処理部による前記所定の処理の実行タイミングを調整する第２の調整部（１４ｂ）とを備える、ゲームシステム。
【発明の効果】
【００３２】
本発明によれば、相互に無線通信可能な複数のゲーム機を利用して多人数ゲームプレイを行うときに、各ゲーム機における所定の処理の実行タイミングを簡単に同期させることができる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の種々の実施形態について説明する。
【００３４】
（第１の実施形態）
図１は、本発明の第１の実施形態に係るゲームシステムの構成を示している。本実施形態では、第１ゲーム機１０ａと第２ゲーム機１０ｂの２台のゲーム機間で無線通信を行う例を説明するが、本発明はこれに限らず、３台以上のゲーム機間で無線通信を行う場合にも本発明を適用することができる。
【００３５】
なお、第１ゲーム機１０ａと第２ゲーム機１０ｂは、互いに多人数ゲームプレイのための通信相手として設定されたゲーム機である。例えば、多人数ゲームプレイの開始に先立って、まず第１ゲーム機１０ａと第２ゲーム機１０ｂが無線通信により互いに自己の装置ＩＤ（ユーザーＩＤや自己が実行するゲームプログラムＩＤも含めても良い）を交換し、相手のゲーム機に関する情報を画像や音声などで自己のプレイヤにそれぞれ提示する。各ゲーム機のプレイヤは、そうして提示された情報に基づいて、相手のゲーム機のプレイヤと一緒に多人数ゲームプレイを開始するかどうかを決定する。両方のゲーム機のプレイヤが、相手のゲーム機のプレイヤと一緒に多人数ゲームプレイを開始することを入力部を通じて自己のゲーム機に指示すると、各ゲーム機において相手のゲーム機が多人数ゲームプレイのための通信相手として設定される。
【００３６】
第１ゲーム機１０ａは、無線モジュール１２ａと、ゲーム処理部１４ａと、割込回路１６ａと、表示部１８ａと、クロック２０ａと、記憶部２４ａと、フレームバッファ２６ａと、入力部２８ａとを備えている。なお、第２ゲーム機１０ｂは、第１ゲーム機の構成と同様であるため、第２ゲーム機１０ｂの詳細な説明は省略する。
【００３７】
第１ゲーム機１０ａには、コネクタ２２ａを介してゲームカートリッジ３０ａが接続される。ゲームカートリッジ３０ａには、複数のゲーム機間で無線通信することによって複数のプレイヤによって同時プレイ可能なゲームを実現するためのゲームプログラムが記録されている。このゲームプログラムは、コネクタ２２ａを通じて記憶部２４ａにロードされ、ゲーム処理部１４ａによって実行される。なお、ゲームプログラムは、ゲームカートリッジ３０ａに限らず、光ディスクや磁気ディスクなどの他の記録メディアから記憶部２４ａに供給されても良いし、有線通信や無線通信により外部のコンピュータまたは他のゲーム機から記憶部２４ａに供給されても良い。
【００３８】
無線モジュール１２ａは、ＩＥＥＥ８０２．１１の規格に基づく通信プロトコルに従って第２ゲーム機の無線モジュール１２ｂと無線通信する機能を備えている。なお、本実施形態では、無線モジュール１２ａは第１ゲーム機１０ａに内蔵されているが、本発明はこれに限らず、第１ゲーム機１０ａに設けられた図示しないコネクタを介して、無線モジュール１２ａと第１ゲーム機１０ａとを接続するようにしてもよい。
【００３９】
無線モジュール１２ａは、無線部１２１ａ、記憶部１２２ａ、プロセッサ１２３ａ、ＴＳＦタイマ１２４ａおよびクロック１２５ａを備えている。無線部１２１ａは、プロセッサ１２３ａから出力されるベースバンド信号を無線信号に変換して送信するとともに、第２ゲーム機の無線モジュール１２ｂから送信された無線信号を受信してベースバンド信号に変換する。記憶部１２２ａは、プロセッサ１２３ａによってデータを一時的に保持するために利用される他、第１ゲーム機１０ａと第２ゲーム機１０ｂとの間で送受信されるデータ（すなわち、第２ゲーム機１０ｂに送信すべきデータおよび第２ゲーム機から受信したデータ）を、ゲーム処理部１４ａと無線モジュール１２ａとの間で受け渡しするための送受信バッファとして利用される。プロセッサ１２３ａは、ＩＥＥＥ８０２．１１の無線ＬＡＮ規格に基づいて、無線モジュール１２ａと無線モジュール１２ｂとの間の無線通信の制御を行う。ＴＳＦタイマ１２４ａは、無線モジュール１２ａの内部のクロック１２５ａから出力されるクロック信号に基づいて時間を計測するタイマであって、無線モジュール１２ａと無線モジュール１２ｂとの間で処理の同期をとるために利用される。ＴＳＦタイマ１２４ａの値は、ＴＳＦタイマ１２４ａがスタートしてからの経過時間を示す。
【００４０】
本実施形態では、無線モジュール１２ａがマスタとして動作し、無線モジュール１２ｂがクライアントとして動作するものとして説明する。なお、複数の無線モジュール間で通信をする際に、マスタとして動作すべき無線モジュールの決定方法は任意である。無線モジュール１２ａおよび無線モジュール１２ｂは、無線モジュール間で処理の同期を達成するためのタイミング同期機能（ＴＳＦ：Ｔｉｍｉｎｇ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｆｕｎｃｔｉｏｎ）を有している。マスタとして動作する無線モジュール１２ａは、定期的にビーコン（Ｂｅａｃｏｎ）信号を送信する。ビーコン信号の送信周期は、ゲーム処理部１４ａによって任意の周期に設定可能である（ビーコン信号の送信周期は固定でもかまわない）。本実施形態では、ビーコン信号の送信周期は、ゲーム処理部１４ａのゲーム処理周期（所定の手順が定義された１単位のゲーム処理が繰り返し実行される周期であって、本実施形態では１６．７ｍｓｅｃ）と同じく１６．７ｍｓｅｃに設定される。なお、ビーコン信号の送信周期はこれに限らず、ゲーム処理周期の整数倍であればよい。この理由については後述する。ビーコン信号には、ビーコン信号の送信時点のＴＳＦタイマ１２４ａの値（以下、ＴＳＦタイマ値と称す）と、ビーコンインターバル（ビーコン信号の送信間隔）の情報が含まれている。無線モジュール１２ａからのビーコン信号を受信した無線モジュール１２ｂのプロセッサ１２３ｂは、ビーコン信号に含まれているＴＳＦタイマ値と同じ値になるように、ＴＳＦタイマ１２４ｂの値を必要に応じて変更する。このように、周期的に送信されるビーコン信号に基づいて無線モジュール１２ｂのＴＳＦタイマ１２４ｂが必要に応じて変更される結果、無線モジュール１２ａのＴＳＦタイマ１２４ａと無線モジュール１２ｂのＴＳＦタイマ１２４ｂの同期が達成される。
【００４１】
ビーコン信号には上記のようにビーコンインターバルの情報が含まれているので、無線モジュール１２ｂは、ＴＳＦタイマ１２４ｂの値とビーコンインターバルの情報から、次回のビーコン信号送信時刻（ＴＢＴＴ：Ｔａｒｇｅｔ  Ｂｅａｃｏｎ  Ｔｒａｎｓｍｉｔ  Ｔｉｍｅ）を知ることができる。マスタの無線モジュール１２ａは、ＴＢＴＴが到来するとビーコン信号の送信動作を開始し、クライアントの無線モジュール１２ｂは、ＴＢＴＴが到来するとビーコン信号の受信の準備を開始する。
【００４２】
本実施形態では、図２に示すように、マスタである無線モジュール１２ａから１６．７ｍｓｅｃの周期でビーコン信号が送信され、その直後に、第１ゲーム機１０ａと第２ゲーム機１０ｂとの間で操作情報（各ゲーム機におけるプレイヤによる入力部２８の操作内容を示す情報）を共有するために、マスタである無線モジュール１２ａとクライアントである無線モジュール１２ｂとの間で操作情報の送受信が行われる。操作情報の送受信が完了すると、無線モジュール１２ａおよび無線モジュール１２ｂは、次のＴＢＴＴが到来するまでの間、それぞれスリープモードで動作する。次のＴＢＴＴが到来すると（より正確には、次のＴＢＴＴの直前に）、無線モジュール１２ａおよび無線モジュール１２ｂはスリープモードから通常モードに復帰し、無線モジュール１２ａはビーコン信号の送信処理を開始し、無線モジュール１２ｂはビーコン信号の受信準備に入る。これにより、第１ゲーム機１０ａと第２ゲーム機１０ｂとの間で１６．７ｍｓｅｃの周期で操作情報の共有をしつつ、無線モジュール１２ａおよび無線モジュール１２ｂの省電力化が達成される。
【００４３】
なお、無線モジュール１２ａと無線モジュール１２ｂとの間で送受信されるのは、操作情報でなくてもかまわない。例えば、ゲーム機１０ａ、１０ｂにおける処理により生成されたゲームパラメータなどを送受信してもかまわない。
【００４４】
また、操作情報の送受信をした後スリープモードに入ることは必須ではない。
【００４５】
なお、本実施形態では、ＴＢＴＴが到来するタイミングに合わせて、プロセッサ１２３ａが割込信号（以下、ＴＢＴＴ割込信号と称す）を出力する。プロセッサ１２３ｂについても同様である。なお、本実施形態では、ＴＢＴＴが１２回到来する度にＴＢＴＴ割込信号が出力されるものとする。ただし、ＴＢＴＴ割込信号の出力頻度はこれに限らず、ＴＢＴＴがＮ回（Ｎは自然数）到来する度にＴＢＴＴ割込信号が出力されればよい。このとき、ＴＢＴＴ割込信号の出力周期は、ゲーム処理部１４ａのゲーム処理周期（１６．７ｍｓｅｃ）のＮ倍となる。
【００４６】
ゲーム処理部１４ａは、ゲームカートリッジ３０ａに記録されているゲームプログラムに従ってゲーム処理を実行する。ゲーム処理は、入力部２８ａからの信号や、無線モジュール１２ａが受信した第２ゲーム機１０ｂの操作情報（第２ゲーム機１０ｂのユーザの操作に関する情報）に基づいて行われる。ゲーム処理部１４ａは、ゲーム処理の結果を反映したゲーム画像を作成し、フレームバッファ２６ａにその画像データを書き込む。ゲーム画像は、１６．７ｍｓｅｃの周期で更新される。
【００４７】
割込回路１６ａは、無線モジュール１２ａから出力されるＴＢＴＴ割込信号、および後述する表示部１８ａから出力されるＶブランク割込信号を、割込要求信号としてゲーム処理部１４ａに出力する。割込回路１６ａから割込要求信号が出力されると、ゲーム処理部１４ａは、ゲーム処理を一時的に中断して割込要求信号に応じて予め定められた割り込み処理を行い、割り込み処理が完了した後でゲーム処理を再開する。
【００４８】
表示部１８ａは、表示画面を有し、ゲーム処理部１４ａによってフレームバッファ２６ａに書き込まれた画像データに基づいてゲーム画像を表示画面に表示する。表示画面は１６．７ｍｓｅｃの周期で更新される。表示部１８ａは、典型的には液晶パネルと表示制御回路によって構成される。表示部１８ａは、Ｖカウンタ１８１ａを備えており、フレームバッファ２６ａから読み出された画像データに対応する電気信号が、Ｖカウンタ１８１ａが示す走査線上の画素に順次供給される。Ｖカウンタ１８１ａの値は、クロック２０ａからのクロック信号に基づいて一定周期で更新される。なお、Ｖカウンタ１８１の値は、２６２を示した後、０にリセットされる。
【００４９】
なお、表示部１８ａにおいて、表示画面の一番上の走査線から一番下の走査線まで順番に走査し終わった後、再び一番上の走査線の走査を開始するまでの期間（以下、Ｖブランク期間と称す）は、表示画面の画像が更新されない。Ｖブランク期間には表示部１８ａはフレームバッファ２６ａにアクセスしないので、ゲーム処理部１４ａは、Ｖブランク期間が開始してから終了するまでの間にフレームバッファ２６ａに画像データを書き込むことによって、表示画像を乱すことなく画像データを更新することができる。
【００５０】
なお、Ｖカウンタ１８１ａは、Ｖブランク期間においてもカウントを継続する。本実施形態では、図３に示すように、表示画面の一番上の走査線を走査しているときのＶカウンタ１８１ａの値を０とし、表示画面の一番下の走査線を走査しているときのＶカウンタ１８１ａの値を１９１とし、表示画面の一番上の走査線を走査する直前のＶカウンタ１８１ａの値を２６２とする。この場合、Ｖカウンタ１８１ａの値が１９２から２６２までを指している期間がＶブランク期間である。表示部１８ａは、Ｖブランク期間が到来したとき（すなわちＶカウンタ１８１ａの値が１９２になったとき）に割り込み信号（以下、Ｖブランク割込信号と称す）を出力する機能を有している。表示部１８ａからＶブランク割込信号を受けた割込回路１６ａは、ゲーム処理部１４ａにＶブランク割込要求信号を送る。ゲーム処理部１４ａは、Ｖブランク割込要求信号に応じて、フレームバッファ２６ａへの画像データの書き込みを開始する。これにより、ゲーム処理部１４ａはＶブランク期間にフレームバッファ２６ａに画像データを書き込むことができる。
【００５１】
記憶部２４ａは、ゲーム処理部１４ａがゲームプログラムを実行するために利用する記憶領域である。
【００５２】
フレームバッファ２６ａは、ゲーム処理部１４ａによって生成された画像データを、表示部１８ａに出力するために一時的に保持しておくための記憶領域である。
【００５３】
入力部２８ａは、プレイヤによって操作されるゲームコントローラであり、プレイヤの操作に応じた信号を出力する。
【００５４】
本実施形態では、ゲーム処理部１４ａによって実行されるゲーム処理は、表示部１８ａの表示画面の更新周期（１６．７ｍｓｅｃ）と同じ周期で行われる。つまり、（１）ゲーム処理部１４ａは、第１ゲーム機１０ａと第２ゲーム機１０ｂとの間で操作情報を共有し、（２）共有した操作情報に基づいてゲーム処理を行い、（３）このゲーム処理の結果を反映したゲーム画像を生成してフレームバッファ２６ａに書き込む、という一連の処理を１６．７ｍｓｅｃの周期で繰り返す。
【００５５】
第１ゲーム機１０ａと第２ゲーム機１０ｂが無線通信することによって第１ゲーム機１０ａのプレイヤと第２ゲーム機１０ｂのプレイヤが一緒にゲームをプレイする場合には、第１ゲーム機１０ａのゲーム処理部１４ａのゲーム処理周期と第２ゲーム機１０ｂのゲーム処理部１４ｂのゲーム処理周期とが一致していることが望ましい。ゲーム処理周期がずれていると、第１ゲーム機１０ａのゲーム処理結果と第２ゲーム機１０ｂのゲーム処理結果がずれてしまう可能性があるからである。
【００５６】
本実施形態では、第１ゲーム機１０ａのゲーム処理部１４ａが、無線モジュール１２ａからＴＢＴＴ割込信号が出力されるタイミングを基準としてＶカウンタ１８１ａを調整し、同様に、第２ゲーム機１０ｂのゲーム処理部１４ｂが、無線モジュール１２ｂからＴＢＴＴ割込信号が出力されるタイミングを基準としてＶカウンタ１８１ｂを調整する。以下、ゲーム処理部１４ａによるＶカウンタ１８１ａの調整処理の詳細を説明する。
【００５７】
ゲーム処理部１４ａは、無線モジュール１２ａからＴＢＴＴ割込信号が出力されたときの割り込み処理（以下、ＴＢＴＴ割込処理と称す）において、その時点のＶカウンタ１８１ａの値（以下、ＴＢＴＴ時Ｖカウンタ値と称す）を記憶部２４ａに一時的に記憶する。さらに、ゲーム処理部１４ａは、表示部１８ａからＶブランク割込信号が出力されたときの割り込み処理（以下、Ｖブランク割込処理と称す）において、記憶部２４ａに記憶されているＴＢＴＴ時Ｖカウンタ値と、予め定められた理想値（一例として本実施形態では０とする）との間のズレを計算し、このズレに応じて、ＴＢＴＴ割込信号が出力されるときのＶカウンタ１８１ａの値が理想値に近づくように、Ｖカウンタ１８１ａの値を増加または減少させる。例えば、ＴＢＴＴ時Ｖカウンタ値が２であった場合には、Ｖカウンタ１８１ａの値から２だけ減算する。また、ＴＢＴＴ時Ｖカウンタ値が２６０であった場合には、Ｖカウンタ１８１ａの値に３を加算する。Ｖカウンタ１８１ａの値をＴＢＴＴ割込処理時ではなくＶブランク割込処理時に変更する理由は、Ｖカウンタ１８１ａの値の変更をＶブランク期間に行うためである。Ｖブランク期間であればＶカウンタ１８１ａの値を変更しても表示画面が乱れることはない。ただし表示画面の乱れが許容されるのであれば、Ｖカウンタ１８１ａの値を任意のタイミングで変更してもよい。
【００５８】
ただし、Ｖカウンタ１８１ａの値を減算する場合、減算後の値がＶブランク割込のタイミング（本実施形態ではＶカウンタ１８１ａの値が１９２）よりも小さくなることが無いように調整される。すなわち、Ｖカウンタ１８１ａの値を２だけ減算する場合、Ｖカウンタ１８１ａの値が１９５などとなってから２を減算し、１９３とする。
【００５９】
なお、ＴＢＴＴ時Ｖカウンタ値と予め定められた理想値との間のズレが所定値よりも大きい場合（例えば４よりも大きい場合）には、ＴＢＴＴ割込信号が出力されるときのＶカウンタ１８１ａの値を理想値に即座に一致させるのではなく、複数回に分けてＶカウンタ１８１ａの値を理想値に徐々に近づけるようにしてもよい。これは、例えばＶカウンタ１８１ａの値を一度に変更できる範囲を−４〜＋４の範囲に制限することによって可能となる。これにより、ＴＢＴＴ時Ｖカウンタ値と予め定められた理想値との間のズレが大きい場合でも、プレイヤに違和感を感じさせることなく、ゲーム処理周期を調整することができる。
【００６０】
なお、ＴＢＴＴ時Ｖカウンタ値と予め定められた理想値との間のズレが所定値よりも小さい場合（例えば２よりも小さい場合）には、Ｖカウンタ１８１ａの値の変更を省略するようにしても構わない。
【００６１】
以上のような調整処理によって、ゲーム処理部１４ａのゲーム処理周期が無線モジュール１２ａのＴＢＴＴと同期することになる。また、第２ゲーム機１０ｂについても、同様にしてゲーム処理部１４ｂがＶカウンタ１８１ｂを調整することによって、ゲーム処理部１４ｂのゲーム処理周期が無線モジュール１２ｂのＴＢＴＴと同期することになる。ここで、無線モジュール１２ａのＴＢＴＴと無線モジュール１２ｂのＴＢＴＴはＴＳＦ機能により同期しているので、結局、ゲーム処理部１４ａのゲーム処理周期とゲーム処理部１４ｂのゲーム処理周期も同期することになる。
【００６２】
以下、ゲームカートリッジ３０ａ（ゲームカートリッジ３０ｂ）から記憶部２４ａ（記憶部２４ｂ）にロードされたゲームプログラムに基づいてゲームが進行実行されるときのゲーム処理部１４ａ、ゲーム処理部１４ｂ、無線モジュール１２ａ、および無線モジュール１２ｂの処理の流れを説明する。
【００６３】
まず、図４のフローチャートを参照して、無線モジュール１２ａおよび無線モジュール１２ｂの処理の流れを説明する。
【００６４】
まず、マスタとして動作する無線モジュール１２ａのプロセッサ１２３ａは、ステップＳ１０で、無線部１２１ａを通じてビーコン信号を出力する。ビーコン信号には、その時点のＴＳＦタイマ１２４ａの値と、ゲーム処理部１４ａによって設定されたビーコン間隔の情報が含まれている。
【００６５】
ステップＳ１２では、プロセッサ１２３ａは、ＴＳＦタイマ１２４ａの値とビーコン間隔とに基づいて、ＴＢＴＴが到来したかどうかを判断し、ＴＢＴＴが到来した場合には処理はステップＳ１４に進む。なお、無線モジュール１２ａがスリープモードで動作しているときには、ＴＢＴＴが到来したことに応じて無線モジュール１２ａはスリープモードから通常モードに復帰する（厳密には、ＴＢＴＴの直前にスリープモードから通常モードに復帰する）。
【００６６】
ステップＳ１４では、プロセッサ１２３ａは、今回到来したＴＢＴＴが、ＴＢＴＴ割込信号を最後に出力してから１２回目のＴＢＴＴかどうかを判断し、１２回目のＴＢＴＴである場合は処理はステップＳ１６に進み、その他の場合は処理はステップＳ１８に進む。なお、今回到来したＴＢＴＴが、ＴＢＴＴ割込信号を最後に出力してから１２回目のＴＢＴＴかどうかを判断するための一つの方法として、ＴＢＴＴ割込信号を最後に出力してからのＴＢＴＴの到来回数をカウントするためのカウンタを記憶部１２２ａに用意しておき、ＴＢＴＴが到来する毎にこのカウンタをカウントアップし、ＴＢＴＴ割込信号を出力した時点でこのカウンタをリセットすればよい。
【００６７】
ステップＳ１６では、プロセッサ１２３ａはＴＢＴＴ割込信号を割込回路１６ａに出力する。
【００６８】
ステップＳ１８では、プロセッサ１２３ａは無線部１２１ａを通じてビーコン信号を出力する。
【００６９】
ステップＳ２０では、プロセッサ１２３ａは無線部１２１ａを通じて、所定の手順に従って、ゲーム処理部１４ａによって記憶部１２２ａに格納された第１ゲーム機１０ａの操作情報を第２ゲーム機１０ｂに送信するとともに、第２ゲーム機１０ｂの操作情報を第２ゲーム機１０ｂから受信して、受信した第２ゲーム機１０ｂの操作情報を記憶部１２２ａに格納する。その後、無線モジュール１２ａはスリープモードに移行し、処理はステップＳ１２に戻る。
【００７０】
本実施形態では、ビーコン信号の送信周期をゲーム処理周期に一致させ、ビーコン間隔ごとに操作情報を交換するようにしたため、ゲーム処理周期ごとに、通信相手の最新の操作情報を取得することとなって、各ゲーム処理周期で最新の操作情報に基づく処理を実行できて効率的である。また、各無線モジュールはビーコン信号送信時刻（ＴＢＴＴ）を知っているので、操作情報を送受信するタイミングを効率的に合わせることができて、また、必要に応じて間欠的にスリープモードで動作することも可能になる。
【００７１】
上記ステップＳ１２〜Ｓ２０の処理は、ビーコン信号の送信周期である１６．７ｍｓｅｃの周期で繰り返される。
【００７２】
次に、クライアントとして動作する無線モジュール１２ｂのプロセッサ１２３ｂは、ステップＳ２２で、無線部１２１ｂを通じてビーコン信号（ステップＳ１０で無線モジュール１２ａが送信したビーコン信号）を受信する。
【００７３】
ステップＳ２４では、プロセッサ１２３ｂは、ステップＳ２０で受信したビーコン信号に含まれているＴＳＦタイマ値に基づいて、ＴＳＦタイマ１２４ｂの値を設定する。
【００７４】
ステップＳ２６では、プロセッサ１２３ｂは、ＴＳＦタイマ１２４ｂの値と、ステップＳ２０で受信したビーコン信号に含まれていたビーコン間隔とに基づいて、ＴＢＴＴが到来したかどうかを判断し、ＴＢＴＴが到来した場合には処理はステップＳ２８に進む。なお、無線モジュール１２ｂがスリープモードで動作しているときには、ＴＢＴＴが到来したことに応じて無線モジュール１２ｂはスリープモードから通常モードに復帰する（厳密には、ＴＢＴＴの直前にスリープモードから通常モードに復帰する）。
【００７５】
ステップＳ２８では、プロセッサ１２３ｂは、今回到来したＴＢＴＴが、ＴＢＴＴ割込信号を最後に出力してから１２回目のＴＢＴＴかどうかを判断し、１２回目のＴＢＴＴである場合は処理はステップＳ３０に進み、その他の場合は処理はステップＳ３２に進む。
【００７６】
ステップＳ３０では、プロセッサ１２３ｂはＴＢＴＴ割込信号を割込回路１６ｂに出力する。
【００７７】
ステップＳ３２では、プロセッサ１２３ｂは無線部１２１ｂを通じてビーコン信号（ステップＳ１８で無線モジュール１２ａが送信したビーコン信号）を受信する。
【００７８】
ステップＳ３４では、プロセッサ１２３ｂは、ステップＳ３２で受信したビーコン信号に含まれるＴＳＦタイマ値（ステップＳ１８で無線モジュール１２ａがビーコン信号を送信したときのＴＳＦタイマ１２４ａの値）に基づいて、ＴＳＦタイマ１２４ｂの値を更新する。これにより、ＴＳＦタイマ１２４ａとＴＳＦタイマ１２４ｂのズレが補正される。
【００７９】
ステップＳ３６では、プロセッサ１２３ｂは無線部１２１ｂを通じて、所定の手順に従って、第１ゲーム機１０ａの操作情報を第１ゲーム機１０ａから受信して、受信した第１ゲーム機１０ａの操作情報を記憶部１２２ｂに格納するとともに、ゲーム処理部１４ｂによって記憶部１２２ｂに格納された第２ゲーム機１０ｂの操作情報を第１ゲーム機１０ａに送信する。その後、無線モジュール１２ｂはスリープモードに移行し、処理はステップＳ２６に戻る。
【００８０】
上記ステップＳ２６〜Ｓ３６の処理は、ビーコン信号の送信周期である１６．７ｍｓｅｃの周期で繰り返される。
【００８１】
次に、図５のフローチャートを参照して、ゲーム処理部１４ａおよびゲーム処理部１４ｂのメイン処理の流れを説明する。
【００８２】
まず、マスタとして動作する第１ゲーム機１０ａのゲーム処理部１４ａは、ステップＳ４０で、無線モジュール１２ａが出力すべきビーコン信号の間隔を、ゲーム処理周期のＮ倍（本実施形態では１６．７ｍｓｅｃ）に設定する。
【００８３】
ステップＳ４２では、ゲーム処理部１４ａは、第１ゲーム機１０ａと第２ゲーム機１０ｂとの間で操作情報を共有する。具体的には、第１ゲーム機１０ａの操作情報を無線モジュール１２ａの送信バッファ（記憶部１２２ａ）に記憶するとともに、受信バッファ（記憶部１２２ａ）に記憶された第２ゲーム機１０ｂの操作情報を取得する
【００８４】
ステップＳ４４では、ゲーム処理部１４ａは、ステップＳ４２で第１ゲーム機１０ａと第２ゲーム機１０ｂとの間で共有した操作情報に基づいてゲーム処理を行う。例えば、共有する仮想ゲーム空間に、第１ゲーム機１０ａのプレイヤが操作する第１キャラクタと、第２ゲーム機１０ｂのプレイヤが操作する第２キャラクタが存在するときに、ゲーム処理部１４ａは、第１ゲーム機１０ａの操作情報に基づいて第１キャラクタを制御し、第２ゲーム機１０ｂの操作情報に基づいて第２キャラクタを制御する。
【００８５】
ステップＳ４６では、ゲーム処理部１４ａは、割込回路１６ａが割込要求信号としてＶブランク割込信号を出力したかどうかを判断し、Ｖブランク割込信号が出力された場合には処理はステップＳ４８に進み、まだＶブランク割込信号が出力されていない場合には、Ｖブランク割込信号が出力されるまでステップＳ４４のゲーム処理を続ける。なお、ステップＳ４４の処理の途中であっても、Ｖブランク割込があったときには、ステップＳ４４の処理が中止され、処理はステップＳ４８に進む。
【００８６】
ステップＳ４８では、ゲーム処理部１４ａは、ステップＳ４４のゲーム処理の結果を反映したゲーム画像データを生成し、フレームバッファ２６ａに書き込む。その後、処理はステップＳ４２に戻る。
【００８７】
上記ステップＳ４２〜Ｓ４８の処理は、ゲーム処理部１４ａのゲーム処理の周期（本実施形態では表示部１８ａの表示画面の更新周期と等しい周期）である１６．７ｍｓｅｃの周期で繰り返される。
【００８８】
次に、クライアントとして動作する第２ゲーム機１０ｂのゲーム処理部１４ｂは、ステップＳ５０で、第１ゲーム機１０ａと第２ゲーム機１０ｂとの間で操作情報を共有する。具体的には、第２ゲーム機１０ｂの操作情報を無線モジュール１２ｂの送信バッファ（記憶部１２２ａ）に記憶するとともに、受信バッファ（記憶部１２２ａ）に記憶された第１ゲーム機１０ａの操作情報を取得する。
【００８９】
ステップＳ５２では、ゲーム処理部１４ｂは、ステップＳ５０で第１ゲーム機１０ａと第２ゲーム機１０ｂとの間で共有した操作情報に基づいてゲーム処理を行う。例えば、共有する仮想ゲーム空間に、第１ゲーム機１０ａのプレイヤが操作する第１キャラクタと、第２ゲーム機１０ｂのプレイヤが操作する第２キャラクタが存在するときに、ゲーム処理部１４ｂは、第１ゲーム機１０ａの操作情報に基づいて第１キャラクタを制御し、第２ゲーム機１０ｂの操作情報に基づいて第２キャラクタを制御する。
【００９０】
ステップＳ５４では、ゲーム処理部１４ｂは、割込回路１６ｂが割込要求信号としてＶブランク割込信号を出力したかどうかを判断し、Ｖブランク割込信号が出力された場合には処理はステップＳ５６に進み、まだＶブランク割込信号が出力されていない場合には、Ｖブランク割込信号が出力されるまでステップＳ５２のゲーム処理を続ける。なお、ステップＳ５２の処理の途中であっても、Ｖブランク割込があったときには、ステップＳ５２の処理が中止され、処理はステップＳ５６に進む。
【００９１】
ステップＳ５６では、ゲーム処理部１４ｂは、ステップＳ５２のゲーム処理の結果を反映したゲーム画像データを生成し、フレームバッファ２６ｂに書き込む。その後、処理はステップＳ５０に戻る。
【００９２】
上記ステップＳ５０〜Ｓ５６の処理は、ゲーム処理部１４ｂのゲーム処理の周期（本実施形態では表示部１８ｂの表示画面の更新周期と等しい周期）である１６．７ｍｓｅｃの周期で繰り返される。
【００９３】
なお、ゲーム処理部１４ａは、割込回路１６ａが割込要求信号を出力すると、上記のメイン処理を中断して割込要求信号に応じた割り込み処理（ＴＢＴＴ割込処理またはＶブランク割込処理）を実行する。ゲーム処理部１４ｂについても同様である。
【００９４】
ＴＢＴＴ割込処理では、図６に示すように、ゲーム処理部１４ａは、その時点のＶカウンタ１８１ａの値を読み取って、ＴＢＴＴ時Ｖカウンタ値として記憶部２４ａに格納する。ゲーム処理部１４ｂについても同様である。
【００９５】
Ｖブランク割込処理では、図７に示すように、ゲーム処理部１４ａは、直前のＴＢＴＴ割込処理時に記憶部２４ａに格納したＴＢＴＴ時Ｖカウンタ値に基づいて、Ｖカウンタ１８１ａの値を更新する。このＶカウンタ１８１ａの更新処理の詳細は前述の通りである。ゲーム処理部１４ｂについても同様である。
【００９６】
以上のように、本実施形態では、第１ゲーム機１０ａと第２ゲーム機１０ｂが、無線モジュール１２ａおよび無線モジュール１０ｂからゲーム処理周期のＮ倍の周期で出力されるＴＢＴＴ割込信号に基づいてＶカウンタ１８１ａおよびＶカウンタ１８１ｂをそれぞれ調整することにより、第１ゲーム機１０ａのゲーム処理と第２ゲーム機１０ｂのゲーム処理の同期が達成される。
【００９７】
特に、無線モジュール１０ａおよび無線モジュール１０ｂは、ＩＥＥＥ８０２．１１の規格に基づく従来の無線モジュールにわずかな変更（ＴＢＴＴ割込信号を出力する機能の追加）を加えるだけで実現できるので、低コストで本発明を実施することができる。
【００９８】
また、ゲーム処理部１４ａおよびゲーム処理部１４ｂのゲーム処理周期と、無線モジュール１２ａおよび無線モジュール１２ｂの通信周期（操作情報を送受信する周期）とが一致するので、従来のように、それらの周期のズレを考慮してゲームプログラムを作成する必要が無く、プログラマによるプログラミング作業の手間を削減することができる。
【００９９】
なお、本実施形態では、無線モジュール１０ａ（無線モジュール１０ｂ）が、操作情報を送受信してから次のＴＢＴＴが到来するまでの間、スリープモードで動作する例を説明したが、本発明はこれに限らない。
【０１００】
また、本実施形態では、無線モジュール１０ａ（無線モジュール１０ｂ）が、ＩＥＥＥ８０２．１１の規格に基づく無線モジュールである例を説明したが、本発明はこれに限らず、タイミング同期機能（無線モジュール間で、内部のタイマの同期をとる機能）を有する任意の無線モジュールを利用することができる。例えば、ＢｌｕｅｔｏｏｔｈやＺｉｇｂｅｅの規格に対応した無線モジュールを利用することができる。
【０１０１】
また、本実施形態では、ゲーム処理の周期が表示画面の更新周期と同じである例を説明したが、本発明はこれに限らず、ゲーム処理の周期が表示画面の更新周期と異なっていても良い。この場合、第１ゲーム機１０ａ（第２ゲーム機１０ｂ）は、Ｖカウンタ１８１ａ（Ｖカウンタ１８１ｂ）とは別に、ゲーム処理周期を計測するためのゲーム処理周期カウンタを備えている必要があり、ゲーム処理部１４ａ（ゲーム処理部１４ｂ）は、ＴＢＴＴ割込信号の出力タイミングに基づいてゲーム処理周期カウンタを調整すればよい。
【０１０２】
また、本実施形態では、１６．７ｍｓｅｃの周期で操作情報を送受信する例を説明したが、本発明はこれに限らない。例えば、アクションゲームのようにプレイヤの操作を即座にゲーム処理に反映させる必要がある場合には、頻繁に操作情報を送受信するのが望ましいが、テーブルゲームのようにプレイヤの操作を即座にゲーム処理に反映させる必要がない場合には、それほど頻繁に操作情報を送受信する必要はない。
【０１０３】
また、本実施形態では、ＴＢＴＴ割込信号が出力されるときのＶカウンタ１８１ａ（Ｖカウンタ１８１ｂ）の値が０に近づくようにＶカウンタの値を調整する例を説明したが、本発明はこれに限らず、ＴＢＴＴ割込信号が出力されるときのＶカウンタ１８１ａ（Ｖカウンタ１８１ｂ）の値が０以外の特定の値に近づくようにＶカウンタの値を調整してもよい。
【０１０４】
また、本実施形態では、ゲーム処理の周期が１６．７ｍｓｅｃである例を説明したが、これは単なる一例に過ぎず、本発明はこれに限定されない。
【０１０５】
また、本実施形態では、ＴＢＴＴの到来タイミングに合わせて無線モジュール１２ａ（無線モジュール１２ｂ）から出力されるＴＢＴＴ割込信号に基づいてＶカウンタ１８１ａ（Ｖカウンタ１８１ｂ）を調整する例を説明したが、本発明はこれに限らない。例えば、ＴＢＴＴの到来タイミングとは無関係に、無線モジュール１２ａ（無線モジュール１２ｂ）のプロセッサ１２３ａ（プロセッサ１２３ｂ）がＴＳＦタイマ１２４ａ（ＴＳＦタイマ１２４ｂ）に基づいてゲーム処理周期のＮ倍の周期で割込信号（便宜上、ＴＳＦタイマ割込信号と称す）を出力し、ゲーム処理部１４ａ（ゲーム処理部１４ｂ）がこのＴＳＦタイマ割込信号に基づいてＶカウンタ１８１ａ（Ｖカウンタ１８１ｂ）を調整するようにしてもよい。この場合、ビーコン信号の送信間隔は、ゲーム処理周期とは無関係に自由に設定することができる。ただし、この場合、ＴＳＦタイマ割込信号を一定の周期で出力するためのカウンタを別途用意する必要がある。
【０１０６】
また、図２の例では、マスタとして動作している無線モジュール１２ａとクライアントとして動作している無線モジュール１２ｂとで、ＴＢＴＴ割込信号が同じタイミングで出力されているが、ＴＢＴＴ割込信号が同じタイミングで出力される必要はない。例えば、図８のように、無線モジュール１２ａがＴＢＴＴ割込信号を出力してから１６．７ｍｓｅｃ後に、無線モジュール１２ｂからＴＢＴＴ割込信号が出力されても構わない。
【０１０７】
また、無線モジュール１２１ａおよび無線モジュール１２１ｂは、本実施形態のようにＴＢＴＴ割込信号を出力する動作モード（仮にローカルゲームモードと称す）だけでなく、一般的な無線通信モジュールの動作モードであるインフラストラクチャモードやアドホックモードで動作する機能を有していてもよい（インフラストラクチャモードやアドホックモードではＴＢＴＴ割込信号は出力されない）。この場合、無線モジュール１２１ａおよび無線モジュール１２１ｂは、ゲーム処理部１４ａおよびゲーム処理部１４ｂからの指示に基づいて動作モードをそれぞれ切り替える。
【０１０８】
なお、インフラストラクチャモード・アドホックモードは、ＩＥＥＥ８０２．１１規格の用語であるので説明を省略する。上記のローカルゲームモードは、アドホックモードを通信ゲーム用にカスタマイズしたものである。
【０１０９】
また、本実施形態では、割込回路１６ａからゲーム処理部１４ａへＴＢＴＴ割込信号が出力され、ゲーム処理部１４ａがＶカウンタ１８１ａの調整処理を行うようにしたが、別途調整回路を設けて、割込回路１６ａから当該調整回路にＴＢＴＴ割込信号を出力して、当該調整回路がＶカウンタ１８１ａの調整処理を行ってもよい。この調整回路は無線モジュール１２ａの内部に設けても良いし、無線モジュール１２ａの外部に設けてもよい。また、割込回路１６ａを無線モジュール１２ａの内部に設けてもよい。また、割込回路１６ａから無線モジュール１２ａのプロセッサ１２３ａにＴＢＴＴ割込信号を出力して、当該プロセッサ１２３ａがＶカウンタ１８１ａの調整処理を行ってもよい。
【０１１０】
また、ゲーム処理部１４ａおよび／または表示部１８ａが、ＴＳＦタイマ１２４ａに基づいて（ＴＳＦタイマ１２４ａを参照して、または、ＴＳＦタイマ値に基づく割込要求を受けて）、１６．７ｍｓｅｃごとに所定の処理を実行してもよい（この場合、クロック２０ａやＶカウンタ１８１ａは不要となる）。
【０１１１】
また、ゲーム処理部１４ａと表示部１８ａは、一定の周期で処理を実行しなくてもよい。すなわち、第１ゲーム機１０ａにおけるゲーム処理部１４ａの処理と第２ゲーム機１０ｂにおけるゲーム処理部１４ｂの処理の実行タイミングを合わせる必要がある場合、および／または、第１ゲーム機１０ａにおける表示部１８ａの処理の実行タイミングと第２ゲーム機１０ｂにおける表示部１８ａの処理の実行タイミングを合わせる必要がある場合に、各ゲーム機において、自己のＴＳＦタイマ値に基づいて（またはＴＳＦタイマ値により調整されるＶカウンタ値に基づいて）当該実行タイミングを決定することによって、当該実行タイミングを合わせることができる。
【０１１２】
また、本実施形態では、フレームバッファ２６ａを１つ設けた例を説明したが、本願発明は、フレームバッファ２６ａを複数設けて、表示部１８ａの画面更新周期に合わせて複数のフレームバッファ２６ａを切り替えて使用するゲーム機にも適用することができる。この場合、ゲーム処理部１４ａは、Ｖブランク期間中に（具体的には、前述のステップＳ４８などのタイミングで）、表示部１８ａが使用するフレームバッファ（表示部１８ａの画面に出力される画像データが記憶されたフレームバッファ）を切り替える。この場合は、ゲーム処理部１４ａは、Ｖブランク期間外であっても、その時点で表示部１８ａによって使用されていないフレームバッファ２６ａに画像データを書き込むことによってゲーム画像を更新することができる。
【０１１３】
なお、本実施形態では、無線モジュール１２ａ（無線モジュール１２ｂ）から出力されるＴＢＴＴ割込信号に基づいてＶカウンタ１８１ａ（Ｖカウンタ１８１ｂ）を調整する例を説明したが、本発明はこれに限らず、無線モジュール１２ａ（無線モジュール１２ｂ）からの割込信号を用いずに、Ｖカウンタ１８１ａ（Ｖカウンタ１８１ｂ）を調整することもできる。以下、第２の実施形態として、割込信号を用いずに、ポーリングによってＶカウンタを調整する例を説明する。
【０１１４】
（第２の実施形態）
図９は、本発明の第２の実施形態に係るゲームシステムの構成を示している。なお、図９が図１と異なる点は、プロセッサ１２３ａおよびプロセッサ１２３ｂからＴＢＴＴ割込信号が割込回路１６ａおよび割込回路１６ｂにそれぞれ出力されていない点だけである。よって、図９の詳しい説明は省略する。
【０１１５】
第２の実施形態では、図１０に示すように、ゲーム処理部１４ａが１６．７ｍｓｅｃのＮ倍の周期で定期的に無線モジュール１２ａのＴＳＦタイマ１２４ａの値（ＴＳＦタイマ値）を取得し、そうして取得したＴＳＦタイマ値に基づいてＶカウンタ１８１ａを調整する。ゲーム処理部１４ｂについても同様である。
【０１１６】
以下、ゲームカートリッジ３０ａ（ゲームカートリッジ３０ｂ）から記憶部２４ａ（記憶部２４ｂ）にロードされたゲームプログラムに基づいてゲームが実行されるときのゲーム処理部１４ａ、ゲーム処理部１４ｂ、無線モジュール１２ａ、および無線モジュール１２ｂの処理の流れを説明する。
【０１１７】
図１１は、無線モジュール１２ａおよび無線モジュール１２ｂの処理の流れを示すフローチャートである。なお、図１１が図４と異なる点は、ＴＢＴＴ割込信号の送信に関する処理（すなわち図４のステップＳ１４，Ｓ１６，Ｓ２８，Ｓ３０の処理）が削除されている点のみである。したがって、図１１の詳しい説明は省略する。
【０１１８】
なお、マスタ側のゲーム機である第１ゲーム機１０ａは、ステップＳ１０の前に、自己のＶブランク割込のタイミングにおいて（すなわち、本実施形態では自己のＶカウンタ１８１ａの値が１９２になるタイミングにおいて）、ＴＳＦタイマ値がゲーム処理周期の自然数倍となるように、Ｖカウンタの値を調整しておく。クライアント側のゲーム機である第２ゲーム機１０ｂにおいても同様である。
【０１１９】
第２の実施形態では、ゲーム処理部１４ａおよびゲーム処理部１４ｂのメイン処理の流れは、第１の実施形態と同じである（図５参照）。ただし、第１の実施形態ではビーコン信号の送信間隔をゲーム処理周期のＮ倍に設定したが、第２の実施形態ではＴＢＴＴ割込信号を利用しないので、ビーコン信号の送信間隔は自由に設定すればよい。
【０１２０】
なお、ゲーム処理部１４ａは、割込回路１６ａが割込要求信号を出力すると、メイン処理を中断して割込要求信号に応じた割り込み処理（Ｖブランク割込処理）を実行する。ゲーム処理部１４ｂについても同様である。
【０１２１】
図１２は、Ｖブランク割込処理の詳細を示すフローチャートである。ゲーム処理部１４ａは、ステップＳ７０で、今回のＶブランク割込処理が、最後にＶカウンタ１８１ａの値を更新してから１２回目のＶブランク割込処理かどうかを判断し、１２回目のＶブランク割込処理である場合には処理はステップＳ７２に進み、その他の場合にはＶブランク割込処理を終了する。ステップＳ７２では、ゲーム処理部１４ａは、その時点のＴＳＦタイマ１２４ａの値をＴＳＦタイマ値として取得する。ステップＳ７４では、ゲーム処理部１４ａは、ステップＳ７２で取得したＴＳＦタイマ値（単位はｍｓｅｃとする）をゲーム処理周期である１６．７ｍｓｅｃで割ったときの余りを算出する。ステップＳ７６では、ゲーム処理部１４ａは、ステップＳ７４で算出した余りに基づいてＶカウンタ１８１ａの値を更新する。
【０１２２】
以下、ステップＳ７４，Ｓ７６の処理についてより具体的に説明する。
【０１２３】
ゲーム処理部１４ａは、ステップＳ７４で算出される余りと、予め定められた理想値（一例として本実施形態では０とする）との間のズレを計算し、このズレに応じて、ステップＳ７４で算出される余りが理想値に近づくように、Ｖカウンタ１８１ａの値を増加または減少させる。
【０１２４】
例えば、ステップＳ７２で取得されたＴＳＦタイマ値が２００．６ｍｓｅｃであった場合、ステップＳ７４で算出される余りは、２００．６ｍｓｅｃ＝１６．７ｍｓｅｃ×１２＋０．２ｍｓｅｃより、０．２ｍｓｅｃとなる。本実施形態では、ゲーム処理周期である１６．７ｍｓｅｃの期間にＶカウンタ１８１ａは０から２６２までカウントするので、０．２ｍｓｅｃは、２６３×０．２ｍｓｅｃ÷１６．７ｍｓｅｃ＝３．１より、Ｖカウンタ１８１ａの約３カウント分（３走査線分）に相当する。したがって、ステップＳ７６で、ゲーム処理部１４ａは、Ｖカウンタ１８１ａの値から３だけ減算する。
【０１２５】
また、例えば、ステップＳ７２で取得されたＴＳＦタイマ値が２４９．８ｍｓｅｃであった場合、ステップＳ７４で算出される余りは、２４９．８ｍｓｅｃ＝１６．７ｍｓｅｃ×１４＋１６．０ｍｓｅｃより、１６．０ｍｓｅｃとなる。１６．０ｍｓｅｃは、２６３×１６．０ｍｓｅｃ÷１６．７ｍｓｅｃ＝２５２．０より、Ｖカウンタ１８１ａの約２５２カウント分（２５２走査線分）に相当する。これは、２６３−２５２＝１１であることから、Ｖカウンタ１８１ａの値を１１だけ進めれば、次回のＶブランク割込処理のステップＳ７４で算出される余りがほぼ０になることを意味する。したがって、ステップＳ７６で、ゲーム処理部１４ａは、Ｖカウンタ１８１ａの値に１１を加算する。
【０１２６】
なお、Ｖカウンタ１８１ａに加算または減算すべき値が所定値よりも大きい場合（例えば４よりも大きい場合）には、その値を一度に加算または減算するのではなく、複数回に分けて加算または減算するようにしてもよい。また、Ｖカウンタ１８１ａに加算または減算すべき値が所定値よりも小さい場合（例えば２よりも小さい場合）には、Ｖカウンタ１８１ａの値の変更を省略するようにしても構わない。
【０１２７】
以上のような処理によって、Ｖブランク期間が開始するタイミングを、ＴＳＦタイマ１２４ａの値が１６．７ｍｓｅｃの倍数を示すタイミングに一致させることができる。これにより、ゲーム処理部１４ａのゲーム処理が、ＴＳＦタイマ１２４ａに基づいて１６．７ｍｓｅｃの周期で実行されることが保証される。同様にして、ゲーム処理部１４ｂのゲーム処理が、ＴＳＦタイマ１２４ｂに基づいて１６．７ｍｓｅｃの周期で実行されることが保証される。ＴＳＦタイマ１２４ａとＴＳＦタイマ１２４ｂとは無線モジュールのタイミング同期機能によって同期が保証されているため、ゲーム処理部１４ａのゲーム処理とゲーム処理部１４ｂのゲーム処理の同期が達成される。
【０１２８】
また、本実施形態では、図１２のステップＳ７４で算出される余りが０に近づくようにＶカウンタの値を調整する例を説明したが、本発明はこれに限らず、図１２のステップＳ７４で算出される余りが０以外の特定の値に近づくようにＶカウンタの値を調整してもよい。
【０１２９】
また、本実施形態では、Ｖブランク期間の開始タイミングにおけるＴＳＦカウンタ値に基づいてＶカウンタの値を調整する例を説明したが、本発明はこれに限らない。
【０１３０】
また、図１０の例では、マスタとして動作している第１ゲーム機１０ａのゲーム処理部１４ａとクライアントとして動作している第２ゲーム機１０ｂのゲーム処理部１２ｂとで、ＴＳＦタイマの値を同じタイミングで参照しているが、ＴＳＦタイマの値を同じタイミングで参照する必要はない。例えば、第１ゲーム機１０ａのゲーム処理部１４ａがＴＳＦタイマ１２４ａを参照してから１６．７ｍｓｅｃ後に、第２ゲーム機１０ｂのゲーム処理部１４ｂがＴＳＦタイマ１２４ｂを参照しても構わない。
【０１３１】
また、本実施形態では、Ｖブランク割込信号が１２回出力される毎に、Ｖカウンタ１８１ａ（Ｖカウンタ１８１ｂ）の値を調整しているが、本発明はこれに限らない。例えば、Ｖブランク割込信号が出力される毎に、毎回、Ｖカウンタ１８１ａ（Ｖカウンタ１８１ｂ）の値を調整するようにしてもよい。
【図面の簡単な説明】
【０１３２】
【図１】本発明の第１の実施形態に係るゲームシステムの構成を示すブロック図
【図２】本発明の第１の実施形態に係るゲームシステムの動作を示すシーケンス図
【図３】表示画面とＶカウンタ１８１ａの値との対応関係を示す図
【図４】本発明の第１の実施形態に係る無線モジュール１２ａおよび無線モジュール１２ｂの処理の流れを示すフローチャート
【図５】本発明の第１の実施形態に係るゲーム処理部１４ａおよびゲーム処理部１４ｂによるメイン処理のフローチャート
【図６】本発明の第１の実施形態に係るゲーム処理部１４ａおよびゲーム処理部１４ｂによるＴＢＴＴ割込処理のフローチャート
【図７】本発明の第１の実施形態に係るゲーム処理部１４ａおよびゲーム処理部１４ｂによるＶブランク割込処理のフローチャート
【図８】本発明の第１の実施形態に係るゲームシステムの動作の変形例を示すシーケンス図
【図９】本発明の第２の実施形態に係るゲームシステムの構成を示すブロック図
【図１０】本発明の第２の実施形態に係るゲームシステムの動作を示すシーケンス図
【図１１】本発明の第２の実施形態に係る無線モジュール１２ａおよび無線モジュール１２ｂの処理の流れを示すフローチャート
【図１２】本発明の第２の実施形態に係るゲーム処理部１４ａおよびゲーム処理部１４ｂによるＶブランク割込処理のフローチャート
【符号の説明】
【０１３３】
１０ａ    第１ゲーム機
１０ｂ    第２ゲーム機
１２ａ，１２ｂ    無線モジュール
１２１ａ，１２１ｂ    無線部
１２２ａ，１２２ｂ    記憶部
１２３ａ，１２３ｂ    プロセッサ
１２４ａ，１２４ｂ    ＴＳＦタイマ
１２５ａ，１２５ｂ    クロック
１４ａ，１４ｂ    ゲーム処理部
１６ａ，１６ｂ    割込回路
１８ａ，１８ｂ    表示部
１８１ａ，１８１ｂ    Ｖカウンタ
２０ａ，２０ｂ    クロック
２２ａ，２２ｂ    コネクタ
２４ａ，２４ｂ    記憶部
２６ａ，２６ｂ    フレームバッファ
２８ａ，２８ｂ    入力部
３０ａ，３０ｂ    ゲームカートリッジ
【図１】
2008099906.tif 000003
【図２】
2008099906.tif 000004
【図３】
2008099906.tif 000005
【図４】
2008099906.tif 000006
【図５】
2008099906.tif 000007
【図６】
2008099906.tif 000008
【図７】
2008099906.tif 000009
【図８】
2008099906.tif 000010
【図９】
2008099906.tif 000011
【図１０】
2008099906.tif 000012
【図１１】
2008099906.tif 000013
【図１２】
2008099906.tif 000014