(57)【特許請求の範囲】
【請求項１】
互いに通信可能な第１情報処理装置と第２情報処理装置を含む通信システムであって、
前記第１情報処理装置は、
前記第１情報処理装置と前記第２情報処理装置との間で所定の通信処理を実行するためのアプリケーションプログラムを記憶するアプリケーションプログラム記憶手段、
前記第２情報処理装置からの要求に応じて前記アプリケーションプログラムを前記第２情報処理装置に送信するアプリケーションプログラム送信手段、および
前記第２情報処理装置との間で前記通信処理を実行する第１通信処理手段を備え、
前記第２情報処理装置は、
不揮発性メモリ、
前記通信処理の開始に先立って、前記アプリケーションプログラムが前記不揮発性メモリに既に保存されているか否かを判断する第１判断手段、
前記第１判断手段によって保存されていないと判断された場合には、前記アプリケーションプログラムの送信が必要であることを通知する要求信号を前記第１情報処理装置に送信する一方で、既に保存されていると前記第１判断手段によって判断された場合には、前記アプリケーションプログラムの送信が不要であることを通知する不要信号を前記第１情報処理装置に送信する信号送信手段、
前記アプリケーションプログラム送信手段によって送信された前記アプリケーションプログラムを受信するアプリケーションプログラム受信手段、
前記アプリケーションプログラム受信手段によって受信されたアプリケーションプログラムを前記不揮発性メモリに保存するアプリケーションプログラム保存手段、および
前記不揮発性メモリに保存された前記アプリケーションプログラムを用いて前記第１情報処理装置との間で前記通信処理を実行する第２通信処理手段を備え、
前記アプリケーションプログラム送信手段は、
前記第２情報処理装置から前記不要信号を受信した場合には前記アプリケーションプログラムを送信せず、前記第２情報処理装置から前記要求信号を受信した場合に前記アプリケーションプログラムを送信し、
前記第１通信処理手段は、
前記アプリケーションプログラム送信手段が前記アプリケーションプログラムを送信した場合、又は前記第２情報処理装置からの前記不要信号を受信した場合に、前記第２情報処理装置との間で前記通信処理を実行する、通信システム。
【請求項２】
前記第２通信処理手段は、前記第１判断手段によって前記アプリケーションプログラムが前記不揮発性メモリに既に保存されていると判断された場合、当該既に保存されているアプリケーションプログラムを用いて前記第１情報処理装置との間で前記通信処理を実行する、請求項１に記載の通信システム。
【請求項３】
前記第１情報処理装置および前記第２情報処理装置は、近距離無線通信によって互いに通信可能な携帯型の情報処理装置である、請求項１または２に記載の通信システム。
【請求項４】
前記第１情報処理装置は、前記通信処理への参加を他の情報処理装置に対して募集する側の情報処理装置であり、
前記第２情報処理装置は、前記募集に対して参加する側の情報処理装置であり、
前記第１判断手段によって前記アプリケーションプログラムが前記不揮発性メモリに既に保存されていると判断された場合、または、前記アプリケーションプログラム受信手段によって受信されたアプリケーションプログラムが前記アプリケーションプログラム保存手段によって前記不揮発性メモリに保存された場合に、前記第１通信処理手段および前記第２通信処理手段は前記通信処理を実行する、請求項１〜３のいずれか１項に記載の通信システム。
【請求項５】
前記第１情報処理装置は、前記アプリケーションプログラムの識別情報を送信する識別情報送信手段をさらに備え、
前記第１判断手段は、前記識別情報送信手段によって送信される識別情報と前記不揮発性メモリに保存されているアプリケーションプログラムの識別情報とを対比することによって、前記アプリケーションプログラムが前記不揮発性メモリに既に保存されているか否かを判断する、請求項１〜４のいずれか１項に記載の通信システム。
【請求項６】
前記第２情報処理装置は、前記第１判断手段によって前記アプリケーションプログラムが前記不揮発性メモリに保存されていないと判断された場合、前記第１情報処理装置に対して前記アプリケーションプログラムを要求する要求信号を送信する要求信号送信手段をさらに備え、
前記アプリケーションプログラム送信手段は、前記要求情報送信手段によって送信される要求信号を受信した場合、前記アプリケーションプログラムを前記第２情報処理装置に送信する、請求項１〜５のいずれか１項に記載の通信システム。
【請求項７】
前記第２情報処理装置は、
前記アプリケーションプログラム受信手段によって過去に受信された、前記アプリケーションプログラムとは別のアプリケーションプログラムが前記不揮発性メモリに保存されているか否かを判断する第２判断手段、および
前記第２判断手段によって前記不揮発性メモリに別のアプリケーションが保存されていると判断された場合、当該別のアプリケーションプログラムを消去する第１消去手段をさらに備え、
前記アプリケーションプログラム保存手段は、前記第１消去手段によって消去された後、前記アプリケーションプログラム受信手段によって受信される前記アプリケーションプログラムを保存する、請求項１〜６のいずれか１項に記載の通信システム。
【請求項８】
前記第２情報処理装置は、
前記アプリケーションプログラム受信手段によって受信されるアプリケーションプログラムを保存するための空き領域が前記不揮発性メモリにあるか否かを判別する空き領域判別手段、および
前記空き領域判別手段によって空き領域がないことが判別された場合、当該空き領域が確保されるまで前記不揮発性メモリに保存されているアプリケーションプログラムを所定の判断基準にしたがって消去する第２消去手段をさらに備え、
前記アプリケーションプログラム保存手段は、前記第２消去手段によって消去された後、前記アプリケーションプログラムを保存する、請求項１〜６のいずれか１項に記載の通信システム。
【請求項９】
前記第２情報処理装置は、前記第１情報処理装置から前記アプリケーションプログラムの識別情報を受信する識別情報受信手段、および
前記識別情報受信手段によって受信された識別情報と前記不揮発性メモリに保存されているアプリケーションプログラムの識別情報とが一致するか否かを判断する第２判断手段をさらに備え、
前記第２通信処理手段は、前記第２判断手段によって一致することが判断された場合、前記不揮発性メモリに保存されているアプリケーションプログラムを用いて前記第１情報処理装置との間で前記通信処理を実行する、請求項１〜８のいずれか１項に記載の通信システム。
【請求項１０】
前記不揮発性メモリに保存されているアプリケーションプログラムは、任意に実行することのできないアプリケーションプログラムである、請求項１〜９のいずれか１項に記載の通信システム。
【請求項１１】
前記アプリケーションプログラム保存手段は、前記アプリケーションプログラム受信手段によって受信されたアプリケーションプログラムを他のアプリケーションプログラムと識別可能に保存し、
前記第２情報処理装置は、
前記アプリケーションプログラム受信手段によって受信されたアプリケーションプログラムを除くアプリケーションプログラムを一覧表示する一覧表示手段、
前記一覧表示手段によって表示されたアプリケーションプログラムからいずれか１つをユーザの指示に基づいて選択する選択手段、および
前記選択手段によって選択されたアプリケーションプログラムを実行するアプリケーション実行手段をさらに備える、請求項１〜１０のいずれか１項に記載の通信システム。
【請求項１２】
前記第２情報処理装置は、
前記所定の通信処理を実行するためのアプリケーションプログラム、又は他のアプリケーションプログラムを選択可能な選択画面を表示する選択画面表示手段、および
前記他のアプリケーションプログラムが選択された場合に、当該他のアプリケーションプログラムを実行するアプリケーション実行手段を備え、
前記第１判断手段は、
前記所定の通信処理を実行するためのアプリケーションプログラムが選択された場合に、当該アプリケーションプログラムが前記不揮発性メモリに既に保存されているか否かを判断する、請求項１〜１１のいずれか１項に記載の通信システム。
【請求項１３】
他の情報処理装置と通信可能な情報処理装置であって、
不揮発性メモリ、
前記他の情報処理装置との間で所定の通信処理を開始するのに先立って、当該通信処理を実行するためのアプリケーションプログラムが前記不揮発性メモリに既に保存されているか否かを判断する第１判断手段、
前記第１判断手段によって保存されていないと判断された場合には、前記アプリケーションプリグラムの送信が必要であることを通知する要求信号を前記他の情報処理装置に送信する一方で、既に保存されていると前記第１判断手段によって判断された場合には、前記アプリケーションプログラムの送信が不要であることを通知する不要信号を前記他の情報処理装置に送信する信号送信手段、
前記他の情報処理装置から送信された前記アプリケーションプログラムを受信するアプリケーションプログラム受信手段、
前記アプリケーションプログラム受信手段によって受信されたアプリケーションプログラムを前記不揮発性メモリに保存するアプリケーションプログラム保存手段、および
前記不揮発性メモリに保存された前記アプリケーションプログラムを用いて前記他の情報処理装置との間で前記通信処理を実行する通信処理手段を備える、情報処理装置。
【請求項１４】
不揮発性メモリを有する情報処理装置のコンピュータを、
他の情報処理装置との間で所定の通信処理を開始するのに先立って、当該通信処理を実行するためのアプリケーションプログラムが前記不揮発性メモリに既に保存されているか否かを判断する第１判断手段、
前記第１判断手段によって保存されていないと判断された場合には、前記アプリケーションプリグラムの送信が必要であることを通知する要求信号を前記他の情報処理装置に送信する一方で、既に保存されていると前記第１判断手段によって判断された場合には、前記アプリケーションプログラムの送信が不要であることを通知する不要信号を前記他の情報処理装置に送信する信号送信手段、
前記他の情報処理装置から送信された前記アプリケーションプログラムを受信するアプリケーションプログラム受信手段、
前記アプリケーションプログラム受信手段によって受信されたアプリケーションプログラムを前記不揮発性メモリに保存するアプリケーションプログラム保存手段、および
前記不揮発性メモリに保存された前記アプリケーションプログラムを用いて前記他の情報処理装置との間で前記通信処理を実行する通信処理手段として機能させるための、通信プログラム。
【請求項１５】
互いに通信可能な第１情報処理装置と第２情報処理装置との間で所定の通信処理を実行するための通信方法であって、
前記第２情報処理装置の判断手段が、前記第１情報処理装置との間で前記通信処理を開始するのに先立って、当該通信処理を実行するためのアプリケーションプログラムが当該第２情報処理装置の不揮発性メモリに既に保存されているか否かを判断するステップ、
前記判断手段によって保存されていないと判断された場合には、前記第２情報処理装置の信号送信手段が、前記アプリケーションプログラムの送信が必要であることを通知する要求信号を前記第１情報処理装置に送信する一方で、既に保存されていると前記判断手段によって判断された場合には、前記アプリケーションプログラムの送信が不要であることを通知する不要信号を前記信号送信手段が前記第１情報処理装置に送信するステップ、
前記第１情報処理装置のアプリケーションプログラム送信手段が、前記第２情報処理装置から前記不要信号を受信した場合には前記アプリケーションプログラムを送信せず、前記第２情報処理装置から前記要求信号を受信した場合に前記アプリケーションプログラムを前記第２情報処理装置に送信するステップ、
前記第２情報処理装置のアプリケーションプログラム受信手段が、前記第１情報処理装置から送信された前記アプリケーションプログラムを受信するステップ、
前記第２情報処理装置のアプリケーションプログラム保存手段が、前記アプリケーションプログラム受信手段によって受信されたアプリケーションプログラムを前記不揮発性メモリに保存するステップ、および
前記第１情報処理装置のアプリケーションプログラム送信手段が前記アプリケーションプログラムを送信した場合、又は前記第２情報処理装置からの前記不要信号を受信した場合に、前記第１情報処理装置の通信処理手段が、前記第２情報処理装置との間で前記通信処理を実行すると共に、前記第２情報処理装置の通信処理手段が、前記不揮発性メモリに保存された前記アプリケーションプログラムを用いて前記第１情報処理装置との間で前記通信処理を実行するステップを備える、通信方法。
【請求項１６】
互いに通信可能な第１情報処理装置と第２情報処理装置を含む通信システムであって、
前記第１情報処理装置は、
前記第１情報処理装置と前記第２情報処理装置との間で所定の通信処理を実行するためのアプリケーションプログラムを記憶するアプリケーションプログラム記憶手段、
前記第２情報処理装置からの要求に応じて前記アプリケーションプログラムを前記第２情報処理装置に送信するアプリケーションプログラム送信手段、および
前記第２情報処理装置との間で前記通信処理を実行する第１通信処理手段を備え、
前記第２情報処理装置は、
不揮発性メモリ、
前記通信処理の開始に先立って、前記アプリケーションプログラムが前記不揮発性メモリに既に保存されているか否かを判断する第１判断手段、
前記第１判断手段によって保存されていないと判断された場合には、前記アプリケーションプログラムの送信が必要であることを通知する要求信号を前記第１情報処理装置に送信する一方で、既に保存されていると前記第１判断手段によって判断された場合には、前記アプリケーションプログラムの送信が不要であることを通知する不要信号を前記第１情報処理装置に送信する信号送信手段、
前記アプリケーションプログラム送信手段によって送信された前記アプリケーションプログラムを受信するアプリケーションプログラム受信手段、
前記アプリケーションプログラム受信手段によって受信されたアプリケーションプログラムを前記不揮発性メモリに保存するアプリケーションプログラム保存手段、および
前記不揮発性メモリに保存された前記アプリケーションプログラムを用いて前記第１情報処理装置との間で前記通信処理を実行する第２通信処理手段を備え、
前記アプリケーションプログラム送信手段は、
前記第２情報処理装置から前記要求信号を受信しない場合には前記アプリケーションプログラムを送信せず、前記第２情報処理装置から前記要求信号を受信した場合に前記アプリケーションプログラムを送信し、
前記第１通信処理手段は、
前記アプリケーションプログラム送信手段が前記アプリケーションプログラムを送信した場合、又は前記第２情報処理装置からの前記要求信号を受信しない場合に、前記第２情報処理装置との間で前記通信処理を実行する、通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、情報処理装置、通信プログラムおよび通信方法に関し、特に、互いに通信可能な複数の情報処理装置の間で所定の通信処理を実行するための通信システム、情報処理装置、通信プログラムおよび通信方法に関する。
【背景技術】
【０００２】
従来、複数の携帯ゲーム装置やビデオゲーム装置等を通信可能にしたゲームシステムが知られている。この種のゲームシステムに用いられるゲーム装置は、他のゲーム装置や通信装置との間で通信するための通信手段を備えていて、ゲームプログラムをＣＰＵによって実行している過程でその通信手段を利用して他のゲーム装置からゲームデータ等を取得して通信ゲームを行うことができる。
【０００３】
しかしながら、複数のゲーム装置の間で通信ゲームを行うためには、ゲーム装置毎に通信ゲームのためのゲームプログラムを用意しなければならないという問題がある。
【０００４】
そこで、特許文献１から特許文献９に開示された技術は、ゲームプログラムを用意しなくても、他のゲーム装置からゲームプログラムを受信して通信ゲームを行うことができるようにしたものがある。具体的には、ゲームプログラムを有さないゲーム装置は、ゲームプログラムを有する他のゲーム装置からゲームプログラムをダウンロードして実行することにより、他のゲーム装置との間でそのダウンロードしたゲームプログラムに基づく通信ゲームを実行する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３６７９１１１号公報
【特許文献２】特許第３６９９４７１号公報
【特許文献３】特許第３７９０２５７号公報
【特許文献４】特許第３７９０２６１号公報
【特許文献５】特許第３７９０２６３号公報
【特許文献６】特許第３７９０２６４号公報
【特許文献７】特許第４４５６６１１号公報
【特許文献８】特許第３８７４７８５号公報
【特許文献９】特許第４３２４４８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１から特許文献９では、他のゲーム装置から受信したゲームプログラムを揮発性のワーキングＲＡＭに展開して実行するので、ゲーム装置の電源をオフにすると、ＲＡＭの特性上、受信したゲームプログラムが消えてしまうという欠点があった。そのため、ユーザは通信ゲームを開始する度にゲームプログラムの送受信作業を毎回行う必要があり、ユーザに負担を強いるとともに、すぐに通信ゲームを開始できないという不便さがあった。
【０００７】
それゆえに、この発明の目的は、同じアプリケーションプログラムを何度も受信する必要がなく、効率的に通信処理を開始することを可能にするための通信システム、情報処理装置、通信プログラムおよび通信方法を提供することである。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明は例えば以下のような構成を採用し得る。
【０００９】
本発明の通信システムの一例は、互いに通信可能な第１情報処理装置と第２情報処理装置を含む通信システムである。
前記第１情報処理装置は、アプリケーションプログラム記憶手段、アプリケーションプログラム送信手段、および第１通信処理手段を備える。上記アプリケーションプログラム記憶手段は、前記第１情報処理装置と前記第２情報処理装置との間で所定の通信処理を実行するためのアプリケーションプログラムを記憶する。上記アプリケーションプログラム送信手段は、前記第２情報処理装置からの要求に応じて前記アプリケーションプログラムを前記第２情報処理装置に送信する。上記第１通信処理手段は、前記第２情報処理装置との間で前記通信処理を実行する。
前記第２情報処理装置は、不揮発性メモリ、第１判断手段、アプリケーションプログラム受信手段、アプリケーションプログラム保存手段、および第２通信処理手段を備える。上記第１判断手段は、前記アプリケーションプログラムが前記不揮発性メモリに既に保存されているか否かを判断する。上記アプリケーションプログラム受信手段は、前記第１判断手段によって保存されていないことが判断されたとき、前記第１情報処理装置から前記アプリケーションプログラムを受信する。上記アプリケーションプログラム保存手段は、前記アプリケーションプログラム受信手段によって受信されたアプリケーションプログラムを前記不揮発性メモリに保存する。上記第２通信処理手段は、前記不揮発性メモリに保存された前記アプリケーションプログラムを用いて前記第１情報処理装置との間で前記通信処理を実行する。
【００１０】
他の例として、前記第２通信処理手段は、前記第１判断手段によって前記アプリケーションプログラムが前記不揮発性メモリに既に保存されていると判断されたとき、当該既に保存されているアプリケーションプログラムを用いて前記第１情報処理装置との間で前記通信処理を実行してもよい。
【００１１】
さらに他の例として、前記第１情報処理装置および前記第２情報処理装置は、近距離無線通信によって互いに通信可能な携帯型の情報処理装置であってもよい。
【００１２】
さらに他の例として、前記第１情報処理装置は、前記通信処理への参加を他の情報処理装置に対して募集する側の情報処理装置であり、前記第２情報処理装置は、前記募集に対して参加する側の情報処理装置であってもよい。そして、前記第１判断手段によって前記アプリケーションプログラムが前記不揮発性メモリに既に保存されていると判断されたとき、または、前記アプリケーションプログラム受信手段によって受信されたアプリケーションプログラムが前記アプリケーションプログラム保存手段によって前記不揮発性メモリに保存されたときに、前記第１通信処理手段および前記第２通信処理手段は前記通信処理を実行してもよい。
【００１３】
さらに他の例として、前記第１情報処理装置は、前記アプリケーションプログラムの識別情報を送信する識別情報送信手段をさらに備え、前記第１判断手段は、前記識別情報送信手段によって送信される識別情報と前記不揮発性メモリに保存されているアプリケーションプログラムの識別情報とを対比することによって、前記アプリケーションプログラムが前記不揮発性メモリに既に保存されているか否かを判断してもよい。
【００１４】
上記の例によれば、アプリケーションプログラムが保存済みか否かを、ユーザの手間をかけることなく容易に判断することができる。
【００１５】
さらに他の例として、前記第２情報処理装置は、前記第１判断手段によって前記アプリケーションプログラムが前記不揮発性メモリに保存されていないと判断されたとき、前記第１情報処理装置に対して前記アプリケーションプログラムを要求する要求信号を送信する要求信号送信手段をさらに備えてもよい。そして、前記アプリケーションプログラム送信手段は、前記要求情報送信手段によって送信される要求信号を受信したとき、前記アプリケーションプログラムを前記第２情報処理装置に送信してもよい。
【００１６】
上記の例によれば、第２情報処理装置は、必要なときのみ第１情報処理装置にアプリケーションプログラムを要求して第１情報処理装置から受信するため、効率的な通信処理が可能である。
【００１７】
さらに他の例として、前記第２情報処理装置は、前記アプリケーションプログラム受信手段によって過去に受信された、前記アプリケーションプログラムとは別のアプリケーションプログラムが前記不揮発性メモリに保存されているか否かを判断する第２判断手段、および前記第２判断手段によって前記不揮発性メモリに別のアプリケーションが保存されていると判断されたとき、当該別のアプリケーションプログラムを消去する第１消去手段をさらに備えてもよい。そして、前記アプリケーションプログラム保存手段は、前記第１消去手段によって消去された後、前記アプリケーションプログラム受信手段によって受信される前記アプリケーションプログラムを保存してもよい。
【００１８】
上記の例によれば、新たなアプリケーションプログラムを受信する度に不揮発性メモリの空き領域が減っていくのを防止することができる。
【００１９】
さらに他の例として、前記第２情報処理装置は、前記アプリケーションプログラム受信手段によって受信されるアプリケーションプログラムを保存するための空き領域が前記不揮発性メモリにあるか否かを判別する空き領域判別手段、および前記空き領域判別手段によって空き領域がないことが判別されたとき、当該空き領域が確保されるまで前記不揮発性メモリに保存されているアプリケーションプログラムを所定の判断基準にしたがって消去する第２消去手段をさらに備えてもよい。そして、前記アプリケーションプログラム保存手段は、前記第２消去手段によって消去された後、前記アプリケーションプログラムを保存してもよい。
【００２０】
上記の例によれば、不揮発性メモリの空き領域が足りなくても新たなアプリケーションプログラムを保存して通信処理を実行することが可能である。
【００２１】
さらに他の例として、前記第２情報処理装置は、前記第１情報処理装置から前記アプリケーションプログラムの識別情報を受信する識別情報受信手段、および前記識別情報受信手段によって受信された識別情報と前記不揮発性メモリに保存されているアプリケーションプログラムの識別情報とが一致するか否かを判断する第２判断手段をさらに備えてもよい。そして、前記第２通信処理手段は、前記第２判断手段によって一致することが判断されたとき、前記不揮発性メモリに保存されているアプリケーションプログラムを用いて前記第１情報処理装置との間で前記通信処理を実行してもよい。
【００２２】
上記の例によれば、第１情報処理装置と通信可能な状況でなければアプリケーションプログラムを正常に実行できないため、第１情報処理装置と第２情報処理装置の通信（すなわち、ユーザ間の交流）を促進させることができる。また、本来のアプリケーションプログラムを有さない情報処理装置が他の情報処理装置から受信したアプリケーションプログラムを他の情報処理装置と通信を行うことなく単独で実行できてしまうといった事態を防止することができる。
【００２３】
さらに他の例として、前記不揮発性メモリに保存されているアプリケーションプログラムは、任意に実行することのできないアプリケーションプログラムであってもよい。
【００２４】
さらに他の例として、前記アプリケーションプログラム保存手段は、前記アプリケーションプログラム受信手段によって受信されたアプリケーションプログラムを他のアプリケーションプログラムと識別可能に保存してもよい。そして、前記第２情報処理装置は、前記アプリケーションプログラム受信手段によって受信されたアプリケーションプログラムを除くアプリケーションプログラムを一覧表示する一覧表示手段、前記一覧表示手段によって表示されたアプリケーションプログラムからいずれか１つをユーザの指示に基づいて選択する選択手段、および前記選択手段によって選択されたアプリケーションプログラムを実行するアプリケーション実行手段をさらに備えてもよい。
【００２５】
上記の例によれば、第２情報処理装置が第１情報処理装置から受信したアプリケーションプログラムは、ユーザが選択して実行することができず、当該アプリケーションプログラムを実行するためには第１情報処理装置と通信する必要があるので、第１情報処理装置と第２情報処理装置の通信（すなわち、ユーザ間の交流）を促進させることができる。また、本来のアプリケーションプログラムを有さない情報処理装置が他の情報処理装置から受信したアプリケーションプログラムを他の情報処理装置と通信を行うことなく単独で実行できてしまうといった事態を防止することができる。
【００２６】
本発明の情報処理装置の一例は、他の情報処理装置と通信可能な情報処理装置であって、不揮発性メモリ、前記他の情報処理装置との間で所定の通信処理を実行するためのアプリケーションプログラムが前記不揮発性メモリに既に保存されているか否かを判断する第１判断手段、前記第１判断手段によって保存されていないことが判断されたとき、前記他の情報処理装置から前記アプリケーションプログラムを受信するアプリケーションプログラム受信手段、前記アプリケーションプログラム受信手段によって受信されたアプリケーションプログラムを前記不揮発性メモリに保存するアプリケーションプログラム保存手段、および前記不揮発性メモリに保存された前記アプリケーションプログラムを用いて前記他の情報処理装置との間で前記通信処理を実行する通信処理手段を備える。
【００２７】
本発明の通信プログラムの一例は、不揮発性メモリを有する情報処理装置のコンピュータを、他の情報処理装置との間で所定の通信処理を実行するためのアプリケーションプログラムが前記不揮発性メモリに既に保存されているか否かを判断する第１判断手段、前記第１判断手段によって保存されていないことが判断されたとき、前記他の情報処理装置から前記アプリケーションプログラムを受信するアプリケーションプログラム受信手段、前記アプリケーションプログラム受信手段によって受信されたアプリケーションプログラムを前記不揮発性メモリに保存するアプリケーションプログラム保存手段、および前記不揮発性メモリに保存された前記アプリケーションプログラムを用いて前記他の情報処理装置との間で前記通信処理を実行する通信処理手段として機能させるための通信プログラムである。
【００２８】
本発明の通信方法の一例は、互いに通信可能な第１情報処理装置と第２情報処理装置との間で所定の通信処理を実行するための通信方法であって、前記第２情報処理装置の判断手段が、前記第１情報処理装置との間で前記通信処理を実行するためのアプリケーションプログラムが当該第２情報処理装置の不揮発性メモリに既に保存されているか否かを判断するステップ、前記判断手段によって保存されていないことが判断されたとき、前記第１情報処理装置のアプリケーションプログラム送信手段が、前記第２情報処理装置からの要求に応じて、前記アプリケーションプログラムを前記第２情報処理装置に送信するステップ、前記第２情報処理装置のアプリケーションプログラム受信手段が、前記第１情報処理装置から前記アプリケーションプログラムを受信するステップ、前記第２情報処理装置のアプリケーションプログラム保存手段が、前記アプリケーションプログラム受信手段によって受信されたアプリケーションプログラムを前記不揮発性メモリに保存するステップ、および前記第２情報処理装置の通信処理手段が、前記不揮発性メモリに保存された前記アプリケーションプログラムを用いて前記第１情報処理装置との間で前記通信処理を実行するステップを備える。
【発明の効果】
【００２９】
本発明によれば、一度アプリケーションプログラムをダウンロードすると、次回からは受信処理を省くことができるため、同じアプリケーションプログラムを何度も受信する時間または手間が省け、効率的に通信処理を開始することが可能である。
【図面の簡単な説明】
【００３０】
【図１】開状態におけるゲーム装置１０の正面図
【図２Ａ】閉状態におけるゲーム装置１０の左側面図
【図２Ｂ】閉状態におけるゲーム装置１０の正面図
【図２Ｃ】閉状態におけるゲーム装置１０の右側面図
【図２Ｄ】閉状態におけるゲーム装置１０の背面図
【図３】ゲーム装置１０の内部構成を示すブロック図
【図４】子機用プログラムが親機から子機へ送信される様子を示す図
【図５】ファームウェア更新プログラムが親機から子機へ送信される様子を示す図
【図６】親機の画面に表示される画像の一例
【図７】親機の画面に表示される画像の一例
【図８】親機の画面に表示される画像の一例
【図９】親機の画面に表示される画像の一例
【図１０】子機の画面に表示される画像の一例
【図１１】子機の画面に表示される画像の一例
【図１２】子機の画面に表示される画像の一例
【図１３】子機の画面に表示される画像の一例
【図１４】子機の画面に表示される画像の一例
【図１５】子機の画面に表示される画像の一例
【図１６】外部メモリ４４内のプログラムおよびデータの一例
【図１７】データ保存用内部メモリ３５内のプログラムおよびデータの一例
【図１８】ゲーム装置の処理の流れを示すフローチャート
【図１９】子機処理の詳細を示すフローチャート
【図２０】ファームウェア更新処理（子機）の詳細を示すフローチャート
【図２１】親機処理の詳細を示すフローチャート
【図２２】ファームウェア更新処理（親機）の詳細を示すフローチャート
【発明を実施するための形態】
【００３１】
（ゲーム装置の構成）
以下、本発明の一実施形態に係るゲーム装置について説明する。図１および図２は、ゲーム装置１０の外観を示す平面図である。ゲーム装置１０は携帯型のゲーム装置であり、図１および図２に示すように折り畳み可能に構成されている。図１は、開いた状態（開状態）におけるゲーム装置１０を示し、図２は、閉じた状態（閉状態）におけるゲーム装置１０を示している。図１は、開状態におけるゲーム装置１０の正面図である。ゲーム装置１０は、撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置１０は、交換可能なメモリカード内に記憶され、または、サーバーや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラで撮像した画像などのコンピュータグラフィックス処理により生成された画像を画面に表示したりすることができる。
【００３２】
まず、図１および図２を参照して、ゲーム装置１０の外観構成について説明する。図１および図２に示されるように、ゲーム装置１０は、下側ハウジング１１および上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、開閉可能（折り畳み可能）に接続されている。
【００３３】
（下側ハウジングの説明）
まず、下側ハウジング１１の構成について説明する。図１および図２に示すように、下側ハウジング１１には、下側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１２、タッチパネル１３、各操作ボタン１４Ａ〜１４Ｌ、アナログスティック１５、ＬＥＤ１６Ａ〜１６Ｂ、挿入口１７、および、マイクロフォン用孔１８が設けられる。以下、これらの詳細について説明する。
【００３４】
図１に示すように、下側ＬＣＤ１２は下側ハウジング１１に収納される。下側ＬＣＤ１２の画素数は、例えば、２５６ｄｏｔ×１９２ｄｏｔ（横×縦）であってもよい。下側ＬＣＤ１２は、後述する上側ＬＣＤ２２とは異なり、画像を（立体視可能ではなく）平面的に表示する表示装置である。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側ＬＣＤ１２として、任意の解像度の表示装置を利用することができる。
【００３５】
図１に示されるように、ゲーム装置１０は、入力装置として、タッチパネル１３を備えている。タッチパネル１３は、下側ＬＣＤ１２の画面上に装着されている。なお、本実施形態では、タッチパネル１３は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。本実施形態では、タッチパネル１３として、下側ＬＣＤ１２の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１３の解像度と下側ＬＣＤ１２の解像度が一致している必要はない。また、下側ハウジング１１の上側面には挿入口１７（図１および図２Ｄに示す点線）が設けられている。挿入口１７は、タッチパネル１３に対する操作を行うために用いられるタッチペン２８を収納することができる。なお、タッチパネル１３に対する入力は通常タッチペン２８を用いて行われるが、タッチペン２８に限らずユーザの指でタッチパネル１３に対する入力をすることも可能である。
【００３６】
各操作ボタン１４Ａ〜１４Ｌは、所定の入力を行うための入力装置である。図１に示されるように、下側ハウジング１１の内側面（主面）には、各操作ボタン１４Ａ〜１４Ｌのうち、十字ボタン１４Ａ（方向入力ボタン１４Ａ）、ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅ、電源ボタン１４Ｆ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌが、設けられる。十字ボタン１４Ａは、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン１４Ａ〜１４Ｅ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌには、ゲーム装置１０が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン１４Ａは選択操作等に用いられ、各操作ボタン１４Ｂ〜１４Ｅは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン１４Ｆは、ゲーム装置１０の電源をオン／オフするために用いられる。
【００３７】
アナログスティック１５は、方向を指示するデバイスである。アナログスティック１５は、そのキートップが、下側ハウジング１１の内側面に平行にスライドするように構成されている。アナログスティック１５は、ゲーム装置１０が実行するプログラムに応じて機能する。例えば、３次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置１０によって実行される場合、アナログスティック１５は、当該所定のオブジェクトを３次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトはアナログスティック１５のキートップがスライドした方向に移動される。なお、アナログスティック１５として、上下左右および斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いても良い。
【００３８】
また、下側ハウジング１１の内側面には、マイクロフォン用孔１８が設けられる。マイクロフォン用孔１８の下部には後述する音声入力装置としてのマイク４２（図３参照）が設けられ、当該マイク４２がゲーム装置１０の外部の音を検出する。
【００３９】
図２Ａは閉状態におけるゲーム装置１０の左側面図であり、図２Ｂは閉状態におけるゲーム装置１０の正面図であり、図２Ｃは閉状態におけるゲーム装置１０の右側面図であり、図２Ｄは閉状態におけるゲーム装置１０の背面図である。図２Ｂおよび図２Ｄに示されるように、下側ハウジング１１の上側面には、Ｌボタン１４ＧおよびＲボタン１４Ｈが設けられている。Ｌボタン１４ＧおよびＲボタン１４Ｈは、例えば、撮像部のシャッターボタン（撮影指示ボタン）として機能することができる。また、図２Ａに示されるように、下側ハウジング１１の左側面には、音量ボタン１４Ｉが設けられる。音量ボタン１４Ｉは、ゲーム装置１０が備えるスピーカの音量を調整するために用いられる。
【００４０】
図２Ａに示されるように、下側ハウジング１１の左側面には開閉可能なカバー部１１Ｃが設けられる。このカバー部１１Ｃの内側には、ゲーム装置１０とデータ保存用外部メモリ４５とを電気的に接続するためのコネクタ（図示せず）が設けられる。データ保存用外部メモリ４５は、コネクタに着脱自在に装着される。データ保存用外部メモリ４５は、例えば、ゲーム装置１０によって撮像された画像のデータを記憶（保存）するために用いられる。
【００４１】
また、図２Ｄに示されるように、下側ハウジング１１の上側面には、ゲーム装置１０とゲームプログラムを記録した外部メモリ４４を挿入するための挿入口１１Ｄが設けられ、その挿入口１１Ｄの内部には、外部メモリ４４と電気的に着脱自在に接続するためのコネクタ（図示せず）が設けられる。当該外部メモリ４４がゲーム装置１０に接続されることにより、所定のゲームプログラムが実行される。
【００４２】
また、図１および図２Ｃに示されるように、下側ハウジング１１の下側面にはゲーム装置１０の電源のＯＮ／ＯＦＦ状況をユーザに通知する第１ＬＥＤ１６Ａ、下側ハウジング１１の右側面にはゲーム装置１０の無線通信の確立状況をユーザに通知する第２ＬＥＤ１６Ｂが設けられる。ゲーム装置１０は他の機器との間で無線通信を行うことが可能であり、第２ＬＥＤ１６Ｂは、無線通信が確立している場合に点灯する。ゲーム装置１０は、例えば、ＩＥＥＥ８０２．１１ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。下側ハウジング１１の右側面には、この無線通信の機能を有効／無効にする無線スイッチ１９が設けられる（図２Ｃ参照）。
【００４３】
なお、図示は省略するが、下側ハウジング１１には、ゲーム装置１０の電源となる充電式電池が収納され、下側ハウジング１１の側面（例えば、上側面）に設けられた端子を介して当該電池を充電することができる。
【００４４】
（上側ハウジングの説明）
次に、上側ハウジング２１の構成について説明する。図１および図２に示すように、上側ハウジング２１には、上側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）２２、外側撮像部２３（外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂ）、内側撮像部２４、３Ｄ調整スイッチ２５、および、３Ｄインジケータ２６が設けられる。以下、これらの詳細について説明する。
【００４５】
図１に示すように、上側ＬＣＤ２２は上側ハウジング２１に収納される。上側ＬＣＤ２２の画素数は、例えば、６４０ｄｏｔ×２００ｄｏｔ（横×縦）であってもよい。なお、本実施形態では上側ＬＣＤ２２は液晶表示装置であるとしたが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置などが利用されてもよい。また、上側ＬＣＤ２２として、任意の解像度の表示装置を利用することができる。
【００４６】
上側ＬＣＤ２２は、立体視可能な画像を表示することが可能な表示装置である。また、本実施例では、実質的に同一の表示領域を用いて左目用画像と右目用画像が表示される。具体的には、左目用画像と右目用画像が所定単位で（例えば、１列ずつ）横方向に交互に表示される方式の表示装置である。または、左目用画像と右目用画像とが交互に表示される方式の表示装置であってもよい。また、本実施例では、裸眼立体視可能な表示装置である。そして、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式（視差バリア方式）のものが用いられる。本実施形態では、上側ＬＣＤ２２はパララックスバリア方式のものとする。上側ＬＣＤ２２は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像（立体画像）を表示する。すなわち、上側ＬＣＤ２２は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像を視認させることにより、ユーザにとって立体感のある立体画像（立体視可能な画像）を表示することができる。また、上側ＬＣＤ２２は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる（上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである）。このように、上側ＬＣＤ２２は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する（平面視画像を表示する）平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する３Ｄ調整スイッチ２５によって行われる。
【００４７】
外側撮像部２３は、上側ハウジング２１の外側面（上側ＬＣＤ２２が設けられた主面と反対側の背面）２１Ｄに設けられた２つの撮像部（２３ａおよび２３ｂ）の総称である。外側撮像部（左）２３ａと外側撮像部（右）２３ｂの撮像方向は、いずれも当該外側面２１Ｄの外向きの法線方向である。外側撮像部（左）２３ａと外側撮像部（右）２３ｂとは、ゲーム装置１０が実行するプログラムによって、ステレオカメラとして使用することが可能である。外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂは、それぞれ所定の共通の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００４８】
内側撮像部２４は、上側ハウジング２１の内側面（主面）２１Ｂに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部２４は、所定の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００４９】
３Ｄ調整スイッチ２５は、スライドスイッチであり、上述のように上側ＬＣＤ２２の表示モードを切り替えるために用いられるスイッチである。また、３Ｄ調整スイッチ２５は、上側ＬＣＤ２２に表示された立体視可能な画像（立体画像）の立体感を調整するために用いられる。３Ｄ調整スイッチ２５のスライダ２５ａは、所定方向（上下方向）の任意の位置にスライド可能であり、当該スライダ２５ａの位置に応じて上側ＬＣＤ２２の表示モードが設定される。また、スライダ２５ａの位置に応じて、立体画像の見え方が調整される。具体的には、スライダ２５ａの位置に応じて、右目用画像および左目用画像の横方向の位置のずれ量が調整される。
【００５０】
３Ｄインジケータ２６は、上側ＬＣＤ２２が立体表示モードか否かを示す。３Ｄインジケータ２６は、ＬＥＤであり、上側ＬＣＤ２２の立体表示モードが有効の場合に点灯する。なお、３Ｄインジケータ２６は、上側ＬＣＤ２２が立体表示モードになっており、かつ、立体視画像を表示するプログラム処理が実行されているときに限り、点灯するようにしてもよい。
【００５１】
また、上側ハウジング２１の内側面には、スピーカ孔２１Ｅが設けられる。後述するスピーカ４３からの音声がこのスピーカ孔２１Ｅから出力される。
【００５２】
（ゲーム装置１０の内部構成）
次に、図３を参照して、ゲーム装置１０の内部の電気的構成について説明する。図３は、ゲーム装置１０の内部構成を示すブロック図である。図３に示すように、ゲーム装置１０は、上述した各部に加えて、情報処理部３１、メインメモリ３２、外部メモリインターフェイス（外部メモリＩ／Ｆ）３３、データ保存用外部メモリＩ／Ｆ３４、データ保存用内部メモリ３５、無線通信モジュール３６、ローカル通信モジュール３７、リアルタイムクロック（ＲＴＣ）３８、加速度センサ３９、電源回路４０、およびインターフェイス回路（Ｉ／Ｆ回路）４１等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング１１（または上側ハウジング２１でもよい）内に収納される。
【００５３】
情報処理部３１は、所定のプログラムを実行するためのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１１、画像処理を行うＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１２等を含む情報処理手段である。情報処理部３１のＣＰＵ３１１は、ゲーム装置１０内のメモリ（例えば外部メモリＩ／Ｆ３３に接続された外部メモリ４４やデータ保存用内部メモリ３５）に記憶されているプログラムを実行することによって、当該プログラムに応じた処理を実行する。なお、情報処理部３１のＣＰＵ３１１によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部３１は、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）３１３を含む。情報処理部３１のＧＰＵ３１２は、情報処理部３１のＣＰＵ３１１からの命令に応じて画像を生成し、ＶＲＡＭ３１３に描画する。そして、情報処理部３１のＧＰＵ３１２は、ＶＲＡＭ３１３に描画された画像を上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に出力し、上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に当該画像が表示される。
【００５４】
情報処理部３１には、メインメモリ３２、外部メモリＩ／Ｆ３３、データ保存用外部メモリＩ／Ｆ３４、および、データ保存用内部メモリ３５が接続される。外部メモリＩ／Ｆ３３は、外部メモリ４４を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリＩ／Ｆ３４は、データ保存用外部メモリ４５を着脱自在に接続するためのインターフェイスである。
【００５５】
メインメモリ３２は、情報処理部３１（のＣＰＵ３１１）のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ３２は、上記プログラムに基づく処理に用いられる各種データを一時的に記憶したり、外部（外部メモリ４４や他の機器等）から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ３２として例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。
【００５６】
外部メモリ４４は、情報処理部３１によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ４４は、例えば読み取り専用の半導体メモリで構成される。外部メモリ４４が外部メモリＩ／Ｆ３３に接続されると、情報処理部３１は外部メモリ４４に記憶されたプログラムを読み込むことができる。情報処理部３１が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ４５は、不揮発性の読み書き可能なメモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ４５には、外側撮像部２３で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ４５がデータ保存用外部メモリＩ／Ｆ３４に接続されると、情報処理部３１はデータ保存用外部メモリ４５に記憶された画像を読み込み、上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に当該画像を表示することができる。
【００５７】
データ保存用内部メモリ３５は、読み書き可能な不揮発性メモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ３５には、無線通信モジュール３６を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【００５８】
無線通信モジュール３６は、例えばＩＥＥＥ８０２．１１ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。また、ローカル通信モジュール３７は、所定の通信方式（例えば独自プロトコルによる通信や、赤外線通信）により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール３６およびローカル通信モジュール３７は情報処理部３１に接続される。情報処理部３１は、無線通信モジュール３６を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール３７を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【００５９】
また、情報処理部３１には、加速度センサ３９が接続される。加速度センサ３９は、３軸（ｘｙｚ軸）方向に沿った直線方向の加速度（直線加速度）の大きさを検出する。加速度センサ３９は、下側ハウジング１１の内部に設けられる。加速度センサ３９は、図１に示すように、下側ハウジング１１の長辺方向をｘ軸、下側ハウジング１１の短辺方向をｙ軸、下側ハウジング１１の内側面（主面）に対して垂直な方向をｚ軸として、各軸の直線加速度の大きさを検出する。なお、加速度センサ３９は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ３９は１軸又は２軸方向を検出する加速度センサであってもよい。情報処理部３１は、加速度センサ３９が検出した加速度を示すデータ（加速度データ）を受信して、ゲーム装置１０の姿勢や動きを検出することができる。
【００６０】
また、情報処理部３１には、ＲＴＣ３８および電源回路４０が接続される。ＲＴＣ３８は、時間をカウントして情報処理部３１に出力する。情報処理部３１は、ＲＴＣ３８によって計時された時間に基づき現在時刻（日付）を計算する。電源回路４０は、ゲーム装置１０が有する電源（下側ハウジング１１に収納される上記充電式電池）からの電力を制御し、ゲーム装置１０の各部品に電力を供給する。
【００６１】
また、情報処理部３１には、Ｉ／Ｆ回路４１が接続される。Ｉ／Ｆ回路４１には、マイク４２およびスピーカ４３が接続される。具体的には、Ｉ／Ｆ回路４１には、図示しないアンプを介してスピーカ４３が接続される。マイク４２は、ユーザの音声を検知して音声信号をＩ／Ｆ回路４１に出力する。アンプは、Ｉ／Ｆ回路４１からの音声信号を増幅し、音声をスピーカ４３から出力させる。また、タッチパネル１３はＩ／Ｆ回路４１に接続される。Ｉ／Ｆ回路４１は、マイク４２およびスピーカ４３（アンプ）の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル１３からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部３１に出力する。タッチ位置データは、タッチパネル１３の入力面において入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル１３からの信号の読み込み、および、タッチ位置データの生成を所定時間に１回の割合で行う。情報処理部３１は、タッチ位置データを取得することにより、タッチパネル１３に対して入力が行われた位置を知ることができる。
【００６２】
操作ボタン１４は、上記各操作ボタン１４Ａ〜１４Ｌからなり、情報処理部３１に接続される。操作ボタン１４から情報処理部３１へは、各操作ボタン１４Ａ〜１４Ｉに対する入力状況（押下されたか否か）を示す操作データが出力される。情報処理部３１は、操作ボタン１４から操作データを取得することによって、操作ボタン１４に対する入力に従った処理を実行する。
【００６３】
下側ＬＣＤ１２および上側ＬＣＤ２２は情報処理部３１に接続される。下側ＬＣＤ１２および上側ＬＣＤ２２は、情報処理部３１（のＧＰＵ３１２）の指示に従って画像を表示する。本実施形態では、情報処理部３１は、上側ＬＣＤ２２に立体画像（立体視可能な画像）を表示させる。
【００６４】
具体的には、情報処理部３１は、上側ＬＣＤ２２のＬＣＤコントローラ（図示せず）と接続され、当該ＬＣＤコントローラに対して視差バリアのＯＮ／ＯＦＦを制御する。上側ＬＣＤ２２の視差バリアがＯＮになっている場合、情報処理部３１のＶＲＡＭ３１３に格納された右目用画像と左目用画像とが、上側ＬＣＤ２２に出力される。より具体的には、ＬＣＤコントローラは、右目用画像について縦方向に１ライン分の画素データを読み出す処理と、左目用画像について縦方向に１ライン分の画素データを読み出す処理とを交互に繰り返すことによって、ＶＲＡＭ３１３から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に１ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側ＬＣＤ２２の画面に表示される。そして、上側ＬＣＤ２２の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側ＬＣＤ２２の画面には立体視可能な画像が表示される。
【００６５】
外側撮像部２３および内側撮像部２４は、情報処理部３１に接続される。外側撮像部２３および内側撮像部２４は、情報処理部３１の指示に従って画像を撮像し、撮像した画像データを情報処理部３１に出力する。
【００６６】
３Ｄ調整スイッチ２５は、情報処理部３１に接続される。３Ｄ調整スイッチ２５は、スライダ２５ａの位置に応じた電気信号を情報処理部３１に送信する。
【００６７】
また、３Ｄインジケータ２６は、情報処理部３１に接続される。情報処理部３１は、３Ｄインジケータ２６の点灯を制御する。例えば、情報処理部３１は、上側ＬＣＤ２２が立体表示モードである場合、３Ｄインジケータ２６を点灯させる。以上がゲーム装置１０の内部構成の説明である。
【００６８】
（ゲームシステムの概要）
ゲーム装置１０は、ローカル通信モジュール３７を介した近距離無線通信によって、周囲に存在する他のゲーム装置１０と通信することができる。このような近距離無線通信を利用することによって、ゲーム装置１０をそれぞれ所有する複数のユーザが同一のゲームを一緒にプレイすることができる、マルチプレイが可能である。
【００６９】
マルチプレイを実現するためには、マルチプレイに参加する全てのゲーム装置１０において、同一のゲームに対応するゲームプログラムを実行する必要がある。本実施形態のゲームシステムでは、マルチプレイに対応しているゲームプログラムを所有しているユーザのゲーム装置１０（以下、親機と称す）から、当該ゲームプログラムを所有していないユーザのゲーム装置１０（以下、子機と称す）に対して、子機用のゲームプログラムを送信することによって、マルチプレイが可能である。このように、親機から子機に対してマルチプレイに必要なゲームプログラム（子機用ゲームプログラム）を送信してから実行されるマルチプレイのことを、以下の説明では「ダウンロードプレイ」もしくは「ＤＬプレイ」と称する。
【００７０】
（子機用プログラムのダウンロード）
図４は、第１ゲーム装置（以下では、単に「親機」とも称する）１０ａの外部メモリ４４ａまたはデータ保存用内部メモリ（以下では、単に「内部メモリ」とも称する）３５ａから、第２ゲーム装置（以下では、単に「子機」とも称する）１０ｂに対して子機用のゲームプログラムが送信される様子を示している。
【００７１】
親機１０ａの外部メモリ４４ａまたは内部メモリ３５ａには、ダウンロードプレイに対応したゲームプログラムが格納されている。例えば、外部メモリ４４ａには、ダウンロードプレイに対応したゲームＡに関連するプログラム群（具体的には、親機用ゲームプログラムＡと、子機用ゲームプログラムＡと、ファームウェア更新プログラムＡ）が格納されている。また、内部メモリ３５ａには、ダウンロードプレイに対応したゲームＢに関連するプログラム群（具体的には、親機用ゲームプログラムＢと、子機用ゲームプログラムＢと、ファームウェア更新プログラムＢ）が格納されている。なお、内部メモリ３５ａに格納されている親機用ゲームプログラムＢ、子機用ゲームプログラムＢおよびファームウェア更新プログラムＢは、典型的には、サーバー装置からセット（一組のプログラム群）で取得されて、互いに関連付けて内部メモリ３５ａに記憶される。
【００７２】
親機用ゲームプログラムＡは、ゲームＡのダウンロードプレイが実行されるときに親機１０ａにおいて実行されるコンピュータプログラムである。子機用ゲームプログラムＡは、ゲームＡのダウンロードプレイが実行されるときに子機１０ｂにおいて実行されるコンピュータプログラムであって、親機１０ａと子機１０ｂとが互いに通信可能な状況でのみ正常に実行可能である。ファームウェア更新プログラムＡは、子機１０ｂのファームウェアを、子機用ゲームプログラムＡを実行可能なバージョンへと更新するためのコンピュータプログラムである。なお、親機１０ａは、適宜のタイミング（典型的には、親機１０ａにおいてゲームＡが最初に実行された時点、または外部メモリ４４ａが親機１０ａに最初に接続された時点）で、外部メモリ４４ａに格納されているファームウェア更新プログラムＡを用いて、親機１０ａ自身のファームウェアを更新してもよい。そして、こうして親機１０ａのファームウェアを更新する際に利用されたファームウェア更新プログラムＡが、子機１０ｂのファームウェアの更新にも利用されてもよい。つまり、ファームウェアの更新が外部メモリ４４ａから親機１０ａへと行われ、さらに親機１０ａから子機１０ｂへと行われるように、ファームウェアの更新を他の機器に伝播させることができる。また、外部メモリ４４ａに格納されるファームウェア更新プログラムＡは、親機１０ａのファームウェアを更新するための親機用ファームウェア更新プログラムと子機１０ｂのファームウェアを更新するための子機用ファームウェア更新プログラムの２種類のプログラムを含んでいてもよい。そして、親機１０ａは、外部メモリ４４ａに格納されているファームウェア更新プログラムＡのうちの親機用ファームウェア更新プログラムを用いて、親機１０ａ自身のファームウェアを更新し、子機１０ｂは、外部メモリ４４ａに格納されているファームウェア更新プログラムＡのうちの子機用ファームウェア更新プログラムを親機１０ａから取得して、子機１０ｂ自身のファームウェアを更新してもよい。
【００７３】
同様に、親機用ゲームプログラムＢは、ゲームＢのダウンロードプレイが実行されるときに親機１０ａにおいて実行されるコンピュータプログラムである。子機用ゲームプログラムＢは、ゲームＢのダウンロードプレイが実行されるときに子機１０ｂにおいて実行されるコンピュータプログラムであって、親機１０ａと子機１０ｂとが互いに通信可能な状況でのみ正常に実行可能である。ファームウェア更新プログラムＢは、子機１０ｂのファームウェアを、子機用ゲームプログラムＢを実行可能なバージョンへと更新するためのコンピュータプログラムである。なお、親機１０ａは、サーバー装置から取得されたファームウェア更新プログラムＢを用いて、適宜のタイミング（典型的には、親機１０ａにおいてゲームＢが最初に実行された時点、またはファームウェア更新プログラムＢをサーバー装置から受信した時点）で親機１０ａ自身のファームウェアを更新してもよい。そして、こうして親機１０ａのファームウェアを更新する際に利用されたファームウェア更新プログラムＢが、子機１０ｂのファームウェアの更新にも利用されてもよい。つまり、サーバー装置から親機１０ａに対してファームウェアの更新が行われ、さらに親機１０ａから子機１０ｂに対してファームウェアの更新が行われるように、ファームウェアの更新が他の機器に伝播するようにしていくことができる。また、サーバー装置から取得されるファームウェア更新プログラムＢは、親機１０ａのファームウェアを更新するための親機用ファームウェア更新プログラムと子機１０ｂのファームウェアを更新するための子機用ファームウェア更新プログラムの２種類のプログラムを含んでいてもよい。そして、親機１０ａは、サーバー装置から取得されたファームウェア更新プログラムＢのうちの親機用ファームウェア更新プログラムを用いて、親機１０ａ自身のファームウェアを更新し、子機１０ｂは、ファームウェア更新プログラムＢのうちの子機用ファームウェア更新プログラムを親機１０ａから取得して、子機１０ｂ自身のファームウェアを更新してもよい。
【００７４】
本実施形態では、ダウンロードプレイの実行に先立って、必要に応じて、親機１０ａから子機１０ｂへと子機用プログラムが送信され、当該子機用プログラムが子機１０ｂの内部メモリ３５ｂに保存される。そして、親機用ゲームプログラムに従って動作する親機１０ａと、子機用ゲームプログラムに従って動作する子機１０ｂとが互いに通信することによって、マルチプレイが実行される。
【００７５】
従来、ダウンロードプレイの際に親機から子機へとダウンロードされた子機用ゲームプログラムは、子機の揮発性メモリに保存されていたため、子機の電源が切られると子機ゲームプログラムは子機から消滅していた。よって、従来は、ダウンロードプレイを開始する度に必ず子機用ゲームプログラムのダウンロードが必要であった。一方、本実施形態では、子機用プログラムが子機１０ｂの内部メモリ３５ｂに不揮発的に保存されるため、子機１０ｂの電源が切れたとしても、子機用プログラムが子機１０ｂは子機１０ｂに保存されたままとなる。よって、後日、同じゲームのダウンロードプレイを子機１０ｂが実行しようとした場合には、そのゲームのダウンロードプレイに必要な子機用プログラムがすでに子機１０ｂの内部メモリ３５ｂに存在するので、子機１０ｂは、子機用プログラムを親機１０ａからダウンロードすることなく、親機１０ａとのダウンロードプレイを開始することが可能となる。
【００７６】
（ファームウェアの更新）
図５は、親機１０ａの外部メモリ４４ａまたは内部メモリ３５ａから、子機１０ｂに対してファームウェア更新プログラムが送信される様子を示している。
【００７７】
本実施形態では、ダウンロードプレイの実行に先立って、子機のファームウェアを更新する必要があるか否かのチェックが行われる。そして、子機のファームウェアの更新が必要な場合には、親機１０ａから子機１０ｂへとファームウェア更新プログラムが送信され、当該ファームウェア更新プログラムに従って子機１０ｂのファームウェアが更新される。
【００７８】
従来、ファームウェア更新プログラムは、インターネットに接続してサーバーからゲーム装置にダウンロードしたり、ＣＤ−ＲＯＭなどの外部記憶媒体からゲーム装置に読み込んだりするのが一般的であるが、本実施形態では、通信によって他のゲーム装置から受信する点が特徴的である。
【００７９】
（ダウンロードプレイの流れ）
次に、図６〜図１５を参照して、ダウンロードプレイを開始するまでの親機１０ａおよび子機１０ｂの処理の流れ説明する。
【００８０】
（親機の処理の流れ）
図６〜図９は、ダウンロードプレイを開始するときに第１ゲーム装置（親機）１０ａの画面（例えば、下側ＬＣＤ１２の画面）に表示される画像を示している。
【００８１】
ユーザ（以下、ユーザＡと称す）が第１ゲーム装置１０ａの電源をオンにすると、図６のようなゲーム選択画像が表示される。このゲーム選択画像では、ユーザＡは、外部メモリ４４ａに記憶されている１以上のゲーム（ここではゲームＡ）と、内部メモリ３５ａに記憶されている１以上のゲーム（ここではゲームＢ）の中から、所望のゲームを選択することができる。当該選択は、例えばタッチパネル１３を用いて行うことができる。また、図６において、ユーザＡは「ダウンロードプレイ」を選択することもできる。「ダウンロードプレイ」が選択された場合には、第１ゲーム装置１０ａは子機として動作して、他のゲーム装置（親機）から子機用プログラムをダウンロードすることになる。すなわち、ユーザＡの選択次第で、第１ゲーム装置１０ａは親機にも子機にもなり得る。
【００８２】
図６においてユーザＡが「ゲームＢ」を選択すると、続いて図７に示すようなプレイモード選択画像が表示される。ここでは、ユーザＡは、「シングルプレイ」か「マルチプレイ（マルチカートリッジ）」か「マルチプレイ（ダウンロードプレイ）」を選択することができる。「シングルプレイ」は、一人でプレイするモードである。「マルチプレイ（マルチカートリッジ）」は、同一のゲームのゲームプログラムを所有している複数のプレイヤ間でマルチプレイを行うモードであって、当該モードでは、マルチプレイを開始する前にゲーム装置間でゲームプログラムを送受信する必要はないが、マルチプレイを行う全てのゲーム装置がゲームプログラムを所有している必要がある。
【００８３】
図７においてユーザＡが「マルチプレイ（ダウンロードプレイ）」を選択すると、第１ゲーム装置１０ａは親機としての動作を開始して、図８に示すような募集中画像が表示される。この状態は、第１ゲーム装置１０ａがビーコンを発信して、他のゲーム装置（子機）からの参加要求を待っている状態（すなわち、ダウンロードプレイの参加者を募集している状態）である。
【００８４】
親機１０ａによる募集に対して子機１０ｂからの応募があった場合、図９に示すような承認画像が表示される。承認画像には、応募してきた子機１０ｂに関する情報（ユーザの顔画像、ユーザ名など）が表示される。
【００８５】
図９においてユーザＡが「はい」を選択すると、必要に応じて、親機１０ａから子機１０ｂへと子機用プログラムＢおよびファームウェア更新プログラムＢがダウンロードされた後、マルチプレイが開始される。
【００８６】
（子機の処理の流れ）
図１０〜図１５は、ダウンロードプレイを開始するときに第２ゲーム装置（子機）１０ｂの画面（例えば、下側ＬＣＤ１２の画面）に表示される画像を示している。
【００８７】
ユーザ（以下、ユーザＢと称す）が第２ゲーム装置１０ｂの電源をオンにすると、図１０のようなゲーム選択画像が表示される。このゲーム選択画像では、ユーザＢは、外部メモリ４４ｂに記憶されている１以上のゲーム（ここでは無し）と、内部メモリ３５ｂに記憶されている１以上のゲーム（ここではゲームＣおよびゲームＤ）の中から、所望のゲームを選択することができる。また、図１０において、ユーザＢは「ダウンロードプレイ」を選択することもできる。
【００８８】
図１０においてユーザＢが「ダウンロードプレイ」を選択すると、第２ゲーム装置１０ｂは子機としての動作を開始して、図１１に示すような探索中画像が表示される。この状態は、ダウンロードプレイの参加者を募集している親機から発信されているビーコンの受信を試みている状態である。
【００８９】
１台以上の親機から発信されているビーコンを受信できた場合、図１２に示すように、それらの親機に関する情報（ユーザの顔画像、ゲーム名、ユーザ名など）が表示される。図１２の例では、ゲームＡのダウンロードプレイの参加者を募集しているユーザＡの親機の情報と、ゲームＥのダウンロードプレイの参加者を募集しているユーザＣの親機の情報がリストアップされている。ユーザＢは、リストアップされている親機の中から所望の親機を選択して、当該親機とのダウンロードプレイに応募することができる。
【００９０】
図１２においてユーザＢが、ユーザＡの親機１０ａを選択すると、子機１０ｂのファームウェアのバージョン情報が子機１０ｂから親機１０ａへと自動的に送信され、親機１０ａにおいて、子機１０ｂのファームウェアの更新の要否が自動的に判断される。
【００９１】
子機１０ｂのファームウェアの更新が必要であると判断された場合には、その旨を示す信号が親機１０ａから子機１０ｂへと送信され、子機１０ｂの画面に図１３に示すような更新確認画像が表示される。
【００９２】
図１３においてユーザが「はい」を選択すると、ゲームＡに対応するファームウェア更新プログラムＡが親機１０ａから子機１０ｂへと送信され、当該ファームウェア更新プログラムＡに基づいて子機１０ｂのファームウェアが更新される。
【００９３】
子機１０ｂのファームウェアの更新が完了すると、子機１０ｂの画面に図１４に示すような更新完了画像が表示され、子機１０ｂの再起動が行われる。そして、再起動後に、図１５に示すようなダウンロードプレイ確認画像が表示され、ここでユーザが「はい」を選択すると、親機１０ａから子機１０ｂへ子機用ゲームプログラムＡがダウンロードされ、子機１０ｂの内部メモリ３５ｂに保存された後、当該子機用ゲームプログラムＡに従ってゲームＡのマルチプレイが開始される。
【００９４】
（ゲーム装置の動作の詳細）
次に、図１６〜図２２を参照して、ゲーム装置１０の動作についてより詳細に説明する。
【００９５】
図１６は、外部メモリ４４に記憶されるプログラムおよびデータの一例を示している。この例では、外部メモリ４４にはゲームＡに関連するデータおよびプログラムが記憶されている。より具体的には、ゲーム関連情報Ａと、親機用ゲームプログラムＡと、子機用ゲームプログラムＡと、ファームウェア更新プログラムＡが記憶されている。ゲーム関連情報Ａには、例えば、ゲームを識別するためのゲームＩＤや、ゲームＡのゲーム名や、ゲームＡを表すアイコンや、ゲームＡの実行に必要となるファームウェアのバージョン情報が含まれている。
【００９６】
図１７は、内部メモリ３５に記憶されるプログラムおよびデータの一例を示している。この例では、内部メモリ３５には、ユーザ情報と、ＤＬプレイ制御プログラムと、ゲームＢに関するデータおよびプログラムが記憶されている。ユーザ情報には、例えば、ユーザ名や、ユーザの顔画像が含まれている。ＤＬプレイ制御プログラムは、ダウンロードプレイを開始するために必要な処理を実行するためのコンピュータプログラムである。ゲームＢに関するデータおよびプログラムは、例えば、無線通信モジュール３６およびインターネットを介してサーバー装置からダウンロードされて内部メモリ３５に保存されたものである。内部メモリ３５には、子機用ゲームプログラムを保存するための子機用ゲームプログラム記憶領域が設けられている。
【００９７】
なお、ＤＬプレイ制御プログラムは、ゲーム装置１０の出荷時に内部メモリ３５に予め格納されていてもよいし、ゲーム装置１０の出荷後に、ユーザがサーバー装置からダウンロードしてもよいし、ＣＤ−ＲＯＭや半導体メモリ等の外部記憶媒体を通じてゲーム装置１０に供給されてもよい。
【００９８】
図１８〜図２２は、ＤＬプレイ制御プログラム等に基づいてゲーム装置１０のＣＰＵ３１１によって実行される処理の流れを示すフローチャートである。
【００９９】
（メイン処理）
図１８において、ゲーム装置１０の電源がオンになると、ＤＬプレイ制御プログラムの実行が開始され、ＣＰＵ３１１は、ステップＳ１０において画面にゲーム選択画像（図６、図１０）を表示する。ゲーム選択画像には、外部メモリ４４に記憶されているゲームと、内部メモリ３５に記憶されているゲームが表示される。ただし、内部メモリ３５の子機用ゲームプログラム記憶領域に保存されているゲーム（子機用ゲームプログラム）については表示されない。したがって、ユーザがゲーム選択画像からダウンロードプレイを選択しない限り、内部メモリ３５の子機用ゲームプログラム記憶領域に保存されている子機用ゲームプログラムが実行されることはない。すなわち、内部メモリ３５の子機用ゲームプログラム記憶領域に保存されているゲーム（子機用ゲームプログラム）は、ユーザの操作により任意に実行することができず、当該子機用ゲームプログラムを提供し得る親機と通信可能な状態でのみ実行することができる。
【０１００】
ステップＳ１１では、ＣＰＵ３１１は、入力装置（例えば、タッチパネル１３）からの信号に基づいて、ユーザによってダウンロードプレイ（図６または図１０の「ダウンロードプレイ」）が選択されたかどうかを判断し、ユーザによってダウンロードプレイが選択された場合には処理はステップＳ１２に進み、そうでない場合には処理はステップＳ１３に進む。
【０１０１】
ステップＳ１２では、ＣＰＵ３１１は、子機処理を実行する。子機処理の詳細は後述する。
【０１０２】
ステップＳ１３では、ＣＰＵ３１１は、入力装置からの信号に基づいて、ゲーム選択画像に表示されているいずれかのゲームソフトがユーザによって選択されたかどうかを判断し、いずれかのゲームソフトが選択された場合には処理はステップＳ１４に進み、そうでない場合には処理はステップＳ１５に進む。
【０１０３】
ステップＳ１４では、ＣＰＵ３１１は、親機処理を実行する。親機処理の詳細は後述する。
【０１０４】
ステップＳ１５では、ＣＰＵ３１１は、ゲーム装置１０の電源がオフになったかどうかを判断し、電源がオフになった場合にはＤＬプレイ制御プログラムの実行を終了し、そうでない場合には処理はステップＳ１０に戻る。
【０１０５】
（子機処理）
次に、図１９のフローチャートを参照して、図１８のステップＳ１２の子機処理について詳細に説明する。
【０１０６】
図１９のステップＳ２０では、ＣＰＵ３１１は、近距離無線の通信可能範囲に存在する親機をサーチ（探索）するために（言い換えれば、ダウンロードプレイの募集を行っている親機に参加するために）、他のゲーム装置から発信されたビーコンを受信したかどうかを判断し、ビーコンを受信した場合には処理はステップＳ２２に進み、そうでない場合には処理はステップＳ２１に進む。
【０１０７】
ステップＳ２１では、ＣＰＵ３１１は、ビーコンの受信を再試行するかどうかをユーザに問い合わせ、ビーコンの受信を再試行する場合には処理はステップＳ２０に戻り、そうでない場合には子機処理を終了する。
【０１０８】
ステップＳ２２では、ＣＰＵ３１１は、受信したビーコンの発信元である親機から、親機情報を受信する。親機情報には、親機に関する情報（ユーザの顔画像、ユーザ名、ダウンロードプレイの参加者を募集しているゲームのゲームＩＤおよびゲーム名など）が含まれている。
【０１０９】
ステップＳ２３では、ＣＰＵ３１１は、受信した親機情報に基づいて、画面に親機リスト（図１２）を表示する。
【０１１０】
ステップＳ２４では、ＣＰＵ３１１は、入力装置（例えば、タッチパネル１３）からの信号に基づいて、親機リストに表示されているいずれかの親機がユーザによって選択されたかどうかを判断し、いずれかの親機が選択された場合には処理はステップＳ２５に進み、そうでない場合には、いずれかの親機が選択されるまで待機する。
【０１１１】
ステップＳ２５では、ＣＰＵ３１１は、選択された親機（以下では、単に親機と称す）に対して子機情報を送信する。子機情報には、内部メモリ３５に保存されているユーザ情報（ユーザの顔画像、ユーザ名など）などが含まれる。
【０１１２】
ステップＳ２６では、ＣＰＵ３１１は、親機から承認信号を受信したかどうかを判断し、承認信号を受信した場合には処理はステップＳ２９に進み、そうでない場合には処理はステップＳ２７に進む。
【０１１３】
ステップＳ２７では、ＣＰＵ３１１は、親機から拒否信号を受信したかどうかを判断し、拒否信号を受信した場合には処理はステップＳ２８に進み、そうでない場合には処理はステップＳ２６に戻る。
【０１１４】
ステップＳ２８では、ＣＰＵ３１１は、親機とのダウンロードプレイの開始に失敗した旨のメッセージを画面に表示し、その後、処理はステップＳ２０に戻る。
【０１１５】
ステップＳ２９では、ＣＰＵ３１１は、ファームウェア更新処理（子機）を実行する。ファームウェア更新処理（子機）の詳細は後述する。
【０１１６】
ステップＳ３０では、ＣＰＵ３１１は、内部メモリ３５の子機用ゲームプログラム記憶領域に、これからダウンロードプレイを実行しようとしているゲームの子機用ゲームプログラムがすでに保存されているかどうかを判断する。当該判断は、例えば、図１９のステップＳ２２で受信した親機情報に含まれているゲームＩＤと、内部メモリ３５の子機用ゲームプログラム記憶領域に存在している子機用ゲームプログラム（もし存在していれば）のゲームＩＤとを比較することによって行われる。そして、内部メモリ３５の子機用ゲームプログラム記憶領域に、これからダウンロードプレイを実行しようとしているゲームの子機用ゲームプログラムがすでに保存されている場合には処理はステップＳ３１に進み、そうでない場合には処理はステップＳ３２に進む。
【０１１７】
ステップＳ３１では、ＣＰＵ３１１は、親機に対してダウンロード不要信号を送信する。
【０１１８】
ステップＳ３２では、ＣＰＵ３１１は、内部メモリ３５の子機用ゲームプログラム記憶領域に、これからダウンロードプレイを実行しようとしているゲームとは別のゲームの子機用ゲームプログラムが保存されているかどうかを判断する。そして、別のゲームの子機用ゲームプログラムが保存されている場合には処理はステップＳ３３に進み、そうでない場合には処理はステップＳ３４に進む。
【０１１９】
ステップＳ３３では、ＣＰＵ３１１は、内部メモリ３５の子機用ゲームプログラム記憶領域に保存されている別のゲームの子機用ゲームプログラムを消去する。これは、子機用ゲームプログラム記憶領域には、一つのゲームプログラムしか保存できないようになっているため、新たにゲームプログラムをダウンロードして保存するためには、既に保存されているゲームプログラムを消去する必要があるからである。
【０１２０】
ステップＳ３４では、ＣＰＵ３１１は、親機に対してダウンロード要求信号を送信する。
【０１２１】
ステップＳ３５では、ＣＰＵ３１１は、ローカル通信モジュール３７を介した近距離無線通信によって、これからダウンロードプレイを実行しようとしているゲームの子機用ゲームプログラムを親機から受信する。なお、受信した子機用ゲームプログラムには、当該子機用ゲームプログラムに対応するゲームのゲームＩＤが含まれている（もしくは、子機用ゲームプログラムと一緒にゲームＩＤも受信される）。
【０１２２】
ステップＳ３６では、ＣＰＵ３１１は、受信した子機用ゲームプログラムを、内部メモリ３５の子機用ゲームプログラム記憶領域に保存する。
【０１２３】
ステップＳ３７では、ＣＰＵ３１１は、内部メモリ３５の子機用ゲームプログラム記憶領域に保存されている子機用ゲームプログラムに基づいて通信ゲーム処理（すなわち、マルチプレイ）を実行する。当該通信ゲーム処理では、複数のゲーム装置の間でゲームデータが適宜に送受信され、これらのゲーム装置をそれぞれ操作する複数のユーザが同一のゲームを一緒にプレイすることができる。
【０１２４】
ステップＳ３８では、ＣＰＵ３１１は、ゲームが終了したかどうかを判断し、ゲームが終了した場合には子機処理を終了し、そうでない場合には処理はステップＳ３７に戻る。
【０１２５】
（ファームウェア更新処理（子機））
次に、図２０のフローチャートを参照して、図１９のステップＳ２９のファームウェア更新処理（子機）について詳細に説明する。
【０１２６】
図２０のステップＳ４０では、ＣＰＵ３１１は、子機（すなわち、自身のゲーム装置）のファームウェアのバージョン情報を親機に送信する。バージョン情報は、例えば、ファームウェアのバージョンを識別するための識別コードであってもよい。
【０１２７】
ステップＳ４１では、ＣＰＵ３１１は、親機から更新要否フラグを受信する。更新要否フラグとは、これからダウンロードプレイを実行しようとしているゲームの子機用ゲームプログラムを実行するために、子機のファームウェアを更新する必要があるか否かを示す情報である。子機のファームウェアを更新する必要がある場合には、更新要否フラグはオンになっており、更新する必要が無い場合には、更新要否フラグはオフになっている。
【０１２８】
ステップＳ４２では、ＣＰＵ３１１は、受信した更新要否フラグがオンであるかどうかを判断し、受信した更新要否フラグがオンである場合には処理はステップＳ４４に進み、そうでない場合には処理はステップＳ４３に進む。
【０１２９】
ステップＳ４３では、ＣＰＵ３１１は、親機に対してファームウェア不要信号を送信する。
【０１３０】
ステップＳ４４では、ＣＰＵ３１１は、ファームウェアの更新がユーザによって承認されたかどうかを判断する（図１３）。そして、ファームウェアの更新が承認された場合には処理はステップＳ４５に進み、そうでない場合には処理は図１９のステップＳ２３に戻る。
【０１３１】
ステップＳ４５では、ＣＰＵ３１１は、ゲーム装置１０の電源が所定条件を満たしているかどうかを判断する。これは、ファームウェアの更新処理の途中でゲーム装置１０の電源が切れてしまうのを防止するためのチェックである。所定条件には、例えば、ゲーム装置１０に内蔵されているバッテリーの残量や、ＡＣアダプタを通じて商用電源がゲーム装置１０に供給されているか否かなどが含まれている。そして、ゲーム装置１０に内蔵されているバッテリーの残量が所定値以上あるとき、および／またはＡＣアダプタを通じて商用電源がゲーム装置１０に供給されているとき、所定条件を満たしていると判断される。ゲーム装置１０の電源が所定条件を満たしている場合には処理はステップＳ４８に進み、そうでない場合には処理はステップＳ４６に進む。
【０１３２】
ステップＳ４６では、ＣＰＵ３１１は、ファームウェアの更新処理の途中でゲーム装置１０の電源が切れてしまう恐れがある旨の警告メッセージや、バッテリーを充電したりＡＣアダプタを接続したりすることを促すメッセージや、ファームウェアの更新を中止するか続行するかをユーザに問い合わせるメッセージを画面に表示する。
【０１３３】
ステップＳ４７では、ＣＰＵ３１１は、ユーザによってファームウェアの更新の中止が指示されたかどうかを判断し、ファームウェアの更新の中止が指示された場合には処理は図１９のステップＳ２３に戻り、そうでない場合には処理はステップＳ４５に戻る。
【０１３４】
ステップＳ４８では、ＣＰＵ３１１は、親機に対してファームウェア要求信号を送信する。
【０１３５】
ステップＳ４９では、ＣＰＵ３１１は、ローカル通信モジュール３７を介した近距離無線通信によって、これからダウンロードプレイを実行しようとしているゲームに対応するファームウェア更新プログラムを親機から受信する。
【０１３６】
ステップＳ５０では、ＣＰＵ３１１は、受信したファームウェア更新プログラムに基づいてファームウェアを更新する。
【０１３７】
ステップＳ５１では、ＣＰＵ３１１は、更新されたファームウェアを有効化するために、ゲーム装置１０を再起動する。こうしてファームウェア更新処理（子機）は終了する。
【０１３８】
（親機処理）
次に、図２１のフローチャートを参照して、図１８のステップＳ１４の親機処理について詳細に説明する。
【０１３９】
図２１のステップＳ６０では、ＣＰＵ３１１は、入力装置（例えば、タッチパネル１３）からの信号に基づいて、ユーザによってダウンロードプレイ（図７の「マルチプレイ（ダウンロードプレイ）」）が選択されたかどうかを判断し、ユーザによってダウンロードプレイが選択された場合には処理はステップＳ６３に進み、そうでない場合には処理はステップＳ６１に進む。
【０１４０】
ステップＳ６１では、ＣＰＵ３１１は、ユーザによって選択されたゲームモード（図７の「シングルプレイ」または「マルチプレイ（マルチカートリッジ）」に応じたゲーム処理を実行する。
【０１４１】
ステップＳ６２では、ＣＰＵ３１１は、ゲームが終了したかどうかを判断し、ゲームが終了した場合には親機処理を終了し、そうでない場合には処理はステップＳ６１に戻る。
【０１４２】
ステップＳ６３では、ＣＰＵ３１１は、近距離無線の通信可能範囲に存在する他のゲーム装置に自機の存在を知らせるために（言い換えれば、他のゲーム装置からのダウンロードプレイへの参加を募るために）、ビーコンを発信する。
【０１４３】
ステップＳ６４では、ＣＰＵ３１１は、ビーコンを受信した他のゲーム装置（以下、子機と称す）からの要求に応じて、当該子機に対して親機情報（ユーザの顔画像、ユーザ名、ダウンロードプレイの参加者を募集しているゲームのゲームＩＤおよびゲーム名など）を送信する。
【０１４４】
ステップＳ６５では、ＣＰＵ３１１は、子機から子機情報を受信したかどうかを判断し、子機情報を受信した場合には処理はステップＳ６７に進み、そうでない場合には処理はステップＳ６６に進む。
【０１４５】
ステップＳ６６では、ＣＰＵ３１１は、ダウンロードプレイの参加者の募集（すなわち、ビーコンの発信）を再試行するかどうかをユーザに問い合わせ、募集を再試行する場合には処理はステップＳ６３に戻り、そうでない場合には処理はステップＳ６０に戻る。
【０１４６】
ステップＳ６７では、ＣＰＵ３１１は、受信した子機情報（募集してきた子機からの子機情報）を画面に表示する（図９）。
【０１４７】
ステップＳ６８では、ＣＰＵ３１１は、募集してきた子機（以下では、単に子機と称す）の参加がユーザによって承認されたかどうかを判断し、承認された場合には処理はステップＳ７０に進み、そうでない場合には処理はステップＳ６９に進む。
【０１４８】
ステップＳ６９では、ＣＰＵ３１１は、子機に対して拒否信号を送信する。そして、処理はステップＳ６０に戻る。
【０１４９】
ステップＳ７０では、ＣＰＵ３１１は、子機に対して承認信号を送信する。
【０１５０】
ステップＳ７１では、ＣＰＵ３１１は、ファームウェア更新処理（親機）を実行する。ファームウェア更新処理（親機）の詳細は後述する。
【０１５１】
ステップＳ７２では、ＣＰＵ３１１は、子機からダウンロード要求信号を受信したかどうかを判断し、ダウンロード要求信号を受信した場合には処理はステップＳ７４に進み、そうでない場合には処理はステップＳ７３に進む。
【０１５２】
ステップＳ７３では、ＣＰＵ３１１は、子機からダウンロード不要信号を受信したかどうかを判断し、ダウンロード不要信号を受信した場合には処理はステップＳ７５に進み、そうでない場合には処理はステップＳ７２に戻る。
【０１５３】
ステップＳ７４では、ＣＰＵ３１１は、これからダウンロードプレイを実行しようとしているゲーム（すなわち、ゲーム選択画像においてユーザが選択したゲーム）の子機用ゲームプログラムを外部メモリ４４または内部メモリ３５から読み出して、ローカル通信モジュール３７を介した近距離無線通信によって、子機に送信する。
【０１５４】
ステップＳ７５では、ＣＰＵ３１１は、外部メモリ４４または内部メモリ３５に記憶されている、送信した子機用ゲームプログラムに対応する親機用ゲームプログラムに基づいて、通信ゲーム処理（すなわち、マルチプレイ）を実行する。
【０１５５】
ステップＳ７６では、ＣＰＵ３１１は、ゲームが終了したかどうかを判断し、ゲームが終了した場合には親機処理を終了し、そうでない場合には処理はステップＳ７５に戻る。
【０１５６】
（ファームウェア更新処理（親機））
次に、図２２のフローチャートを参照して、図２１のステップＳ７１のファームウェア更新処理（親機）について詳細に説明する。
【０１５７】
図２２のステップＳ８０では、ＣＰＵ３１１は、子機のファームウェアのバージョン情報を子機から受信する。
【０１５８】
ステップＳ８１では、ＣＰＵ３１１は、子機の現在のファームウェアが、これからダウンロードプレイを実行しようとしているゲーム（すなわち、ゲーム選択画像においてユーザが選択したゲーム）の要求条件を満たしているかどうかを判断する。この判断は、具体的には、受信した子機のファームウェアのバージョン情報と、上記ゲームのゲーム関連情報とに基づいて行われる。そして、子機の現在のファームウェアが上記ゲームの要求条件を満たしている場合には、処理はステップＳ８２に進み、そうでない場合には処理はステップＳ８３に進む。
【０１５９】
ステップＳ８２では、ＣＰＵ３１１は、更新要否フラグをオフにセットする。
【０１６０】
ステップＳ８３では、ＣＰＵ３１１は、更新要否フラグをオンにセットする。
【０１６１】
ステップＳ８４では、ＣＰＵ３１１は、子機に更新要否フラグを送信する。
【０１６２】
ステップＳ８５では、ＣＰＵ３１１は、子機からファームウェア要求信号を受信したかどうかを判断し、ファームウェア要求信号を受信した場合には処理はステップＳ８７に進み、そうでない場合には処理はステップＳ８６に進む。
【０１６３】
ステップＳ８６では、ＣＰＵ３１１は、子機からファームウェア不要信号を受信したかどうかを判断し、ファームウェア不要信号を受信した場合にはファームウェア更新処理（親機）を終了し、そうでない場合には処理はステップＳ８５に戻る。
【０１６４】
ステップＳ８７では、ＣＰＵ３１１は、これからダウンロードプレイを実行しようとしているゲームに対応するファームウェア更新プログラムを外部メモリ４４または内部メモリ３５から読み出して、ローカル通信モジュール３７を介した近距離無線通信によって、子機に送信する。そして、ファームウェア更新処理（親機）を終了する。
【０１６５】
（上記実施形態の効果）
上記実施形態によれば、ゲームプログラムを所有しているユーザは、ゲームプログラムを所有していない他のユーザとマルチプレイを楽しむことができる。また、ゲームプログラムを所有していない他のユーザのゲーム装置１０のファームウェアのバージョンが古い場合であっても、そのファームウェアを更新してマルチプレイを楽しむことができる。
【０１６６】
また、上記実施形態によれば、ダウンロードプレイにおいて親機から子機にダウンロードされた子機用プログラムが、子機の不揮発性メモリに保存される。したがって、子機の電源を切った後に再び同じゲームのダウンロードプレイを実行する場合に、子機用プログラムを親機から再度ダウンロードする必要が無く、ダウンロードプレイを開始するまでの待ち時間を短縮することができる。また、ユーザの操作の手間も省くことができる。
【０１６７】
また、上記実施形態によれば、ダウンロードプレイの開始前に、子機のファームウェアの更新の要否のチェックが行われ、更新が必要な場合には、ファームウェア更新プログラムが親機から子機へ送信されて、子機のファームウェアの更新が行われる。したがって、インターネットに接続してサーバーからゲーム装置にファームウェア更新プログラムをダウンロードするなどの手間をかけることなく、ダウンロードプレイの開始前に必要に応じて自動的にファームウェアが更新され、ユーザにとって便利である。また、インターネットに接続不可能な状況でも、ファームウェアの更新が可能である。
【０１６８】
また、上記実施形態によれば、子機が親機からダウンロードした子機用ゲームプログラムは、内部メモリ３５に保存されるが、ゲーム選択画像（図６、図１０）には表示されない。よって、当該子機用ゲームプログラムに対応する親機用ゲームプログラムを所有している他のゲーム装置と通信可能な状態にならないと、ユーザは子機用ゲームプログラムを実行することができないため、従来のダウンロードプレイと同様に、子機用ゲームプログラムの実行を、親機用ゲームプログラムを所有している他のゲーム装置と通信可能な状態で、ゲーム装置１０の電源が切れるまでの間だけに制限することができる。
【０１６９】
また、上記実施形態によれば、内部メモリ３５に子機用ゲームプログラム記憶領域が確保されているので、ダウンロードプレイを開始しようとしたときには空き容量が足らずに子機用ゲームプログラムをダウンロードできない、という状況の発生を防止することができる。
【０１７０】
（変形例）
なお、上記実施形態では、子機が親機から子機用ゲームプログラムをダウンロードして、親機との間でマルチプレイを実行する例を説明したが、本発明はこれに限らない。他の実施形態では、子機が親機からゲーム以外のアプリケーションプログラム（例えば、チャットソフトや楽器演奏ソフトなど）をダウンロードして、親機との通信処理を含む所定の情報処理を実行してもよい。さらに他の実施形態では、親機との通信処理を含まないアプリケーションプログラム（例えば、シングルプレイ用のゲームプログラムや、動画閲覧ソフトなど）を親機から子機へダウンロードしてもよい。
【０１７１】
また、上記実施形態では、親機用ゲームプログラムと子機用ゲームプログラムが異なっている例を説明したが、他の実施形態では、親機用ゲームプログラムと子機用ゲームプログラムが同一のゲームプログラムであってもよい。
【０１７２】
また、上記実施形態では、子機が親機からダウンロードした子機用ゲームプログラムが、子機の内部メモリ３５の子機用ゲームプログラム記憶領域に保存される例を説明したが、本発明はこれに限らず、内部メモリ３５の任意の領域や、内部メモリ３５以外の不揮発性メモリに保存されるようにしてもよい。この場合、ダウンロードプレイの際に親機からダウンロードしたゲームプログラムと、その他のゲームプログラムとを識別可能にするために、内部メモリ３５等に保存されている各ゲームプログラムに対して、ダウンロードプレイの際に親機からダウンロードしたゲームプログラムであるか否かを示すフラグ（ダウンロードプレイフラグ）を関連付けて記憶するようにしてもよい。そして、ゲーム選択画像（図６、図１０）を表示するときに、当該ダウンロードプレイフラグを参照することによって、ダウンロードプレイの際に親機からダウンロードしたゲームプログラム以外のゲームプログラムだけを表示するようにすればよい。
【０１７３】
また、上記実施形態では、子機用ゲームプログラム記憶領域に１つの子機用ゲームプログラムしか保存されない例を説明したが、他の実施形態では、子機用ゲームプログラム記憶領域に複数の子機用ゲームプログラムが保存されてもよい。この場合、子機用ゲームプログラム記憶領域に保存されている子機用ゲームプログラムの個数または合計データサイズが所定値を超えたときや、ダウンロードした子機用プログラムを保存するための空き領域が無い場合に、所定の判断基準（例えば、内部メモリに保存された日が最も古いものや、ゲームの発売日が最も古いものや、最後にダウンロードプレイした日が最も古いものなど）に従って少なくとも１つの子機用ゲームプログラムを自動的に消去する、もしくは消去すべき子機用ゲームプログラムをユーザに選択させるようにしてもよい。
【０１７４】
また、上記実施形態では、親機から子機へのプログラムの送信は、ローカル通信モジュール３７を介した近距離無線通信を用いて行っているが、本発明はこれに限らない。他の実施形態では、無線通信モジュール３６を介した通信や、通信ケーブルを介した通信や、赤外線通信や、インターネットを介した通信など、任意の通信方式を用いてもよい。
【０１７５】
また、上記実施形態では、携帯型のゲーム装置１０を用いる例を説明したが、本発明はこれに限らず、任意の情報処理装置（例えば、携帯電話やノートパソコンのような携帯型の情報処理装置や、据え置き型ゲーム装置やデスクトップパソコンなどの据え置き型の情報処理装置）を用いてもよい。また、親機と子機とが異なる種類の情報処理装置であってもよい。
【０１７６】
また、上記実施形態では、子機のファームウェアの更新の要否の判断（図２２のステップＳ８１）を親機が行う例を説明したが、他の実施形態では、子機のファームウェアの更新の要否の判断を子機が行ってもよい。この場合、子機は、ゲームの要求条件に関する情報（例えば、ゲーム関連情報）を親機から受信して、子機のファームウェアの更新の要否を判断するようにしてもよい。
【０１７７】
また、上記実施形態では、子機の現在のファームウェアが、ダウンロードプレイを実行しようとしているゲームの要求条件を満たしているかどうかを判断し（図２２のステップＳ８１）、要求条件を満たしていない場合に、ファームウェア更新プログラムを親機から子機へ送信しているが、他の実施形態では、子機の現在のファームウェアが、親機のファームウェアよりも古いバージョンかどうかを判断し、親機のファームウェアよりも古いバージョンである場合には、ファームウェア更新プログラムを親機から子機へ送信するようにしてもよい。
【０１７８】
また、上記実施形態では、必要に応じて子機のファームウェアを更新する例を説明したが、本発明はファームウェアに限らず、アプリケーションプログラムを実行する際に必要となる任意の基本ソフト（システムソフトウェア、ファームウェア、オペレーティングシステム等）の更新に適用できる。
【０１７９】
また、上記実施形態では、１台の親機から１台の子機へゲームプログラムまたはファームウェア更新プログラムを送信する例を説明したが、他の実施形態では、１台の親機から複数の子機へゲームプログラムまたはファームウェア更新プログラムを送信してもよい。
【０１８０】
また、他の実施形態では、子機のファームウェアを更新する際や、子機が親機から子機用ゲームプログラムをダウンロードする際に、ペアレンタルコントロールがかかっているかどうかをチェックして、その結果に応じて、それらを制限するようにしてもよい。ペアレンタルコントロールとは、ゲーム装置１０のユーザが子供である場合に、親がゲーム装置１０の機能を制限するためのものであって、例えば、年齢制限のあるゲームソフトの実行を制限したり、インターネットへの接続を制限したりすることができる。そこで、例えば、図２０のステップＳ４４でＹＥＳに進んだ直後などに、何らかのペアレンタルコントロールがかかっているかどうかを判断し、何らかのペアレンタルコントロールがかかっている場合には、ペアレンタルコントロールを一時的に解除するための暗証番号が正しく入力された場合にのみステップＳ４８に進むようにしてもよい。同様に、図１９のステップＳ２９の直後などに、ダウンロードプレイしようとしているゲームが、ペアレンタルコントロールによる制限の対象であるかどうかを判断し、ペアレンタルコントロールによる制限の対象である場合には、ペアレンタルコントロールを一時的に解除するための暗証番号が正しく入力された場合にのみ、当該ゲームの子機用ゲームプログラムのダウンロードまたは実行を許可するようにしてもよい。
【０１８１】
また、上記実施形態では、図２１のステップＳ６８において、募集してきた子機の参加を承認するか否かをユーザの指示に基づいて決定しているが、他の実施形態では、ユーザの指示によらず自動的に承認するようにしてもよい。
【０１８２】
また、上記実施形態では、受信したビーコンを送受信した後に親機情報を送受信し、当該親機情報には親機に関する情報（ユーザの顔画像、ユーザ名、ダウンロードプレイの参加者を募集しているゲームのゲームＩＤおよびゲーム名など）が含まれている例を説明した。しかし本発明はこれに限らず、ビーコンに親機情報の一部（ユーザの顔画像、ユーザ名など）が含まれていてもよく、その他の親機情報（ダウンロードプレイの参加者を募集しているゲームのゲームＩＤおよびゲーム名など）をビーコンとは別に送受信してもよい。
【０１８３】
なお、上記実施形態では、図１９のステップＳ２９においてファームウェア更新処理（子機）を実行した後に、ステップＳ３０において、これからダウンロードしようとしている子機用ゲームプログラムが内部メモリ３５の子機用ゲームプログラム記憶領域にすでに保存されているかどうかの判断を行っているが、他の実施形態では、図１９のステップＳ２９においてファームウェア更新処理（子機）を実行する直前に、これからダウンロードしようとしている子機用ゲームプログラムが内部メモリ３５の子機用ゲームプログラム記憶領域にすでに保存されているかどうかの判断を行い、すでに保存されている場合には、過去にすでにファームウェアの更新も行われたはずなので、ファームウェア更新処理（子機）をスキップするようにしてもよい。
【０１８４】
なお、上記実施形態では、図１８〜図２２に示すフローチャートの各ステップの処理をＣＰＵ３１１が実行する例を説明したが、本発明はこれに限らず、これらの処理を複数のプロセッサが分担して処理するようにしてもよい。また、これらの処理の一部をハードウェアが実行するようにしてもよい。
【符号の説明】
【０１８５】
１０  ゲーム装置
１１  下側ハウジング
１２  下側ＬＣＤ
１３  タッチパネル
１４  操作ボタン
１５  アナログスティック
１６  ＬＥＤ
２１  上側ハウジング
２２  上側ＬＣＤ
２３  外側撮像部
２３ａ  外側撮像部（左）
２３ｂ  外側撮像部（右）
２４  内側撮像部
２５  ３Ｄ調整スイッチ
２６  ３Ｄインジケータ
２８  タッチペン
３１  情報処理部
３１１  ＣＰＵ
３１２  ＧＰＵ
３２  メインメモリ
３５  データ保存用内部メモリ
４４  外部メモリ
【図１】
0005675373.tif 000002
【図２Ａ】
0005675373.tif 000003
【図２Ｂ】
0005675373.tif 000004
【図２Ｃ】
0005675373.tif 000005
【図２Ｄ】
0005675373.tif 000006
【図３】
0005675373.tif 000007
【図４】
0005675373.tif 000008
【図５】
0005675373.tif 000009
【図６】
0005675373.tif 000010
【図７】
0005675373.tif 000011
【図８】
0005675373.tif 000012
【図９】
0005675373.tif 000013
【図１０】
0005675373.tif 000014
【図１１】
0005675373.tif 000015
【図１２】
0005675373.tif 000016
【図１３】
0005675373.tif 000017
【図１４】
0005675373.tif 000018
【図１５】
0005675373.tif 000019
【図１６】
0005675373.tif 000020
【図１７】
0005675373.tif 000021
【図１８】
0005675373.tif 000022
【図１９】
0005675373.tif 000023
【図２０】
0005675373.tif 000024
【図２１】
0005675373.tif 000025
【図２２】
0005675373.tif 000026