(57)【特許請求の範囲】
【請求項１】
ゲーム装置のコンピュータにおいて実行されるセーブ制御プログラムであって、前記コンピュータを、
実行中のゲームの状態を実行状態情報としてメモリに記憶し、同時に、ゲーム画面のキャプチャ画像を前記実行状態情報と対応付けて前記メモリに記憶するセーブ手段、
ゲームの実行中に、ゲーム画面を表示面に表示したまま、前記セーブ手段によって記憶されたキャプチャ画像を前記表示面に表示するキャプチャ画像表示手段、
前記キャプチャ画像表示手段によってゲーム画面およびキャプチャ画像を表示している状態において、ユーザからの選択操作を受け付ける選択操作受付手段、および
前記選択操作に応じて、選択されたキャプチャ画像に対応付けられた実行状態情報を用いてゲームの状態を復元する状態復元手段として機能させる、セーブ制御プログラム。
【請求項２】
状態復元手段は、ゲームの状態を復元した後も実行状態情報を再利用可能に残す、請求項１記載のセーブ制御プログラム。
【請求項３】
前記コンピュータを、
前記キャプチャ画像表示手段によってゲーム画面およびキャプチャ画像を表示している状態において、ユーザからのセーブ実行操作を受け付けるセーブ操作受付手段としてさらに機能させ、
前記セーブ手段は、前記セーブ実行操作に応じて実行状態情報を記憶する、請求項１記載のセーブ制御プログラム。
【請求項４】
前記コンピュータを、
ゲームを一時停止する一時停止手段としてさらに機能させ、
前記選択操作受付手段は、前記一時停止手段によってゲームが停止されている状態において有効化される、請求項１記載のセーブ制御プログラム。
【請求項５】
前記コンピュータを、
ゲームを一時停止する一時停止手段としてさらに機能させ、
前記選択操作受付手段およびセーブ操作受付手段はそれぞれ、前記一時停止手段によってゲームが停止されている状態において有効化される、請求項３記載のセーブ制御プログラム。
【請求項６】
前記表示面は第１表示面および第２表示面を含み、
前記ゲーム画面は前記第１表示面に表示され、前記キャプチャ画像は前記第２表示面に表示される、請求項１記載のセーブ制御プログラム。
【請求項７】
前記第２表示面にはタッチパネルが設けられ、
前記選択操作受付手段は、前記第２表示面に表示されたキャプチャ画像へのタッチ操作を前記タッチパネルで検出して前記選択操作として受け付ける、請求項６記載のセーブ制御プログラム。
【請求項８】
前記コンピュータを、
ゲーム実行中に前記第２表示面へのタッチ操作が検出されたときゲームを一時停止させる一時停止手段としてさらに機能させ、
前記選択操作受付手段は、前記一時停止手段によってゲームが停止されている状態において有効化される、請求項７記載のセーブ制御プログラム。
【請求項９】
前記ゲーム装置とは構成の異なる他のゲーム装置用のゲームプログラムを前記ゲーム装
置のコンピュータに互換的に実行させるエミュレータプログラムの一部であり、
前記メモリは、
前記エミュレータプログラムによって前記コンピュータが前記ゲームプログラムを互換的に実行するとき利用する実行用データを記憶するための実行用データメモリ、および
前記実行状態情報を記憶するためのセーブ用メモリを含み、
前記セーブ手段は、
ゲームの進行状況に関わらず、ユーザによって指示されたタイミングにおける前記実行用データメモリの内容を、前記実行状態情報の少なくとも一部として前記セーブ用メモリ記憶する実行状態記憶制御手段、および
前記指示されたタイミングにおけるゲーム画面を前記キャプチャ画像として前記実行状態情報と対応付けて前記セーブ用メモリに記憶するキャプチャ画像記憶制御手段を含む、請求項１記載のセーブ制御プログラム。
【請求項１０】
前記実行用データメモリは、前記エミュレータプログラムによって前記コンピュータが前記ゲームプログラムを互換的に実行する結果として実現される仮想的な他のゲーム装置の状態を示す仮想的状態情報を記憶するための仮想的状態情報メモリを含み、
前記実行状態記憶制御手段は、ユーザによって指示されたタイミングにおける前記仮想的状態情報メモリの内容を、前記実行状態情報の少なくとも一部として前記セーブ用メモリに記憶する、請求項９記載のセーブ制御プログラム。
【請求項１１】
実行中のゲームの状態を実行状態情報としてメモリに記憶し、同時に、ゲーム画面のキャプチャ画像を前記実行状態情報と対応付けて前記メモリに記憶するセーブ手段、
ゲームの実行中に、ゲーム画面を表示面に表示したまま、前記セーブ手段によって記憶されたキャプチャ画像を前記表示面に表示するキャプチャ画像表示手段、
前記キャプチャ画像表示手段によってゲーム画面およびキャプチャ画像を表示している状態において、ユーザからの選択操作を受け付ける選択操作受付手段、および
前記選択操作に応じて、選択されたキャプチャ画像に対応付けられた実行状態情報を用いてゲームの状態を復元する状態復元手段を備える、ゲーム装置。
【請求項１２】
ゲーム装置において実行されるセーブ方法であって、
実行中のゲームの状態を実行状態情報としてメモリに記憶し、同時に、ゲーム画面のキャプチャ画像を前記実行状態情報と対応付けて前記メモリに記憶するセーブステップ、
ゲームの実行中に、ゲーム画面を表示面に表示したまま、前記セーブステップによって記憶されたキャプチャ画像を前記表示面に表示するキャプチャ画像表示ステップ、
前記キャプチャ画像表示ステップによってゲーム画面およびキャプチャ画像を表示している状態において、ユーザからの選択操作を受け付ける選択操作受付ステップ、および
前記選択操作に応じて、選択されたキャプチャ画像に対応付けられた実行状態情報を用いてゲームの状態を復元する状態復元ステップを備える、セーブ方法。
【請求項１３】
メモリ、
表示面、
実行中のゲームの状態を実行状態情報として前記メモリに記憶し、同時に、ゲーム画面のキャプチャ画像を前記実行状態情報と対応付けて前記メモリに記憶するセーブ手段、
ゲームの実行中に、ゲーム画面を前記表示面に表示したまま、前記セーブ手段によって記憶されたキャプチャ画像を前記表示面に表示するキャプチャ画像表示手段、
前記キャプチャ画像表示手段によってゲーム画面およびキャプチャ画像を表示している状態において、ユーザからの選択操作を受け付ける選択操作受付手段、および
前記選択操作に応じて、選択されたキャプチャ画像に対応付けられた実行状態情報を用いてゲームの状態を復元する状態復元手段を備える、ゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、セーブ制御プログラム、ゲーム装置、ゲームシステムおよびセーブ制御方法に関し、特にたとえば、ゲームの実行状態をセーブする、セーブ制御プログラム、ゲーム装置、ゲームシステムおよびセーブ制御方法に関する。
【背景技術】
【０００２】
従来、ゲーム装置においてゲームをプレイする際には、ゲームのセーブ機能を使いながらゲームを進行していくことが一般的である。特許文献１には、ゲームを中断してセーブしたところから再開する際に、オープニング情報の再生を行わないことによってゲームの連続性を保つという発明が開示されている。こうしたゲームのセーブ機能には、例えば、ユーザがゲームの進行において失敗した場合に、セーブしておいた場所からやり直すことができるという効果がある。
【特許文献１】特開２００１−１５７７７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、上記の背景技術では、ゲームの進行中に、以前にセーブした状態と今の状態とでどちらがより有利な状態かを判断することは、ユーザにとって容易でなかった。なぜなら、このような判断を行うためには、セーブデータを読み出して以前の状態を再現し、現在の状態と比較する必要があるが、以前の状態を再現した時点で、現在の状態が失われてしまうからである。また、セーブデータを読み出してその状態から始めようとする際に、ユーザは、ゲーム装置の電源を一度落として再び立ち上げた後に再開するか、あるいは、所定の画面を呼び出してセーブデータの読み出しを指示する必要があって、手間がかかるからでもある。
【０００４】
それゆえに、この発明の主たる目的は、新規な、セーブ制御プログラム、ゲーム装置、ゲームシステムおよびセーブ制御方法を提供することである。
【０００５】
この発明の他の目的は、ゲームの進行中に、以前にセーブした状態と今の状態とでどちらがより有利な状態かを容易に判断して、以前の状態が有利な場合にこれを復元することができる、セーブ制御プログラム、ゲーム装置、ゲームシステムおよびセーブ制御方法を提供することである。
【課題を解決するための手段】
【０００６】
この発明は、上記の課題を解決するために、以下の構成を採用した。
【０００７】
第１の発明は、ゲーム装置のコンピュータにおいて実行されるセーブ制御プログラムであって、コンピュータを、実行中のゲームの状態を実行状態情報としてメモリに記憶し、同時に、ゲーム画面のキャプチャ画像を実行状態情報と対応付けてメモリに記憶するセーブ手段、ゲームの実行中に、ゲーム画面を表示面に表示したまま、セーブ手段によって記憶されたキャプチャ画像を表示面に表示するキャプチャ画像表示手段、キャプチャ画像表示手段によってゲーム画面およびキャプチャ画像を表示している状態において、ユーザからの選択操作を受け付ける選択操作受付手段、および、選択操作に応じて、選択されたキャプチャ画像に対応付けられた実行状態情報を用いてゲームの状態を復元する状態復元手段として機能させる。
【０００８】
第１の発明では、ゲーム装置のコンピュータにおいてセーブ制御プログラムが実行されることで、コンピュータは、セーブ手段、キャプチャ画像表示手段、選択操作受付手段および状態復元手段として機能する。
【０００９】
セーブ手段は、実行中のゲームの状態を実行状態情報としてメモリに記憶すると同時に、ゲーム画面のキャプチャ画像を実行状態情報と対応付けてメモリに記憶する。キャプチャ画像表示手段は、ゲームの実行中に、ゲーム画面を表示面に表示したまま、セーブ手段によって記憶されたキャプチャ画像を表示面に表示する。選択操作受付手段は、キャプチャ画像表示手段によってゲーム画面およびキャプチャ画像を表示している状態において、ユーザからの選択操作を受け付ける。状態復元手段は、選択操作に応じて、選択されたキャプチャ画像に対応付けられた実行状態情報を用いてゲームの状態を復元する。
【００１０】
第１の発明によれば、セーブデータのロード時に、実行中のゲーム画面と、セーブ実行時点のキャプチャ画像とを同時に表示するので、実行中の状態とセーブされている状態とを比較しつつロードするかどうかを決めることができる。このため、間違えてロードしてしまってロード前の状態より不利な状態になったりすることを防止できる。
【００１１】
第２の発明は、第１の発明に従属にするセーブ制御プログラムであって、状態復元手段は、ゲームの状態を復元した後も実行状態情報を再利用可能に残す。
【００１２】
第２の発明によれば、セーブした実行状態情報（ゲームしおりデータ）はロードしても消えないので、何度でもゲームの状態を復元することができる。
【００１３】
第３の発明は、第１の発明に従属するセーブ制御プログラムであって、コンピュータを、キャプチャ画像表示手段によってゲーム画面およびキャプチャ画像を表示している状態において、ユーザからのセーブ実行操作を受け付けるセーブ操作受付手段としてさらに機能させ、セーブ手段は、セーブ実行操作に応じて実行状態情報を記憶する。
【００１４】
第３の発明では、コンピュータはセーブ操作受付手段としてさらに機能する。セーブ操作受付手段は、キャプチャ画像表示手段によってゲーム画面およびキャプチャ画像を表示している状態において、ユーザからのセーブ実行操作を受け付け、セーブ手段は、受け付けられたセーブ実行操作に応じて実行状態情報を記憶する。
【００１５】
第３の発明によれば、実行状態情報およびキャプチャ画像を更新可能にセーブすることができる。また、現在のゲーム画面と既にセーブされているキャプチャ画像とを表示するので、既に保存されている状態を現在の状態と比較して、既にセーブされている状態に代えて現在の状態をセーブするかどうかを決められる。このため、現在の状態の方が既に保存されている状態より良かった場合に、現在の状態をセーブすればよく、効率がよい。
【００１６】
なお、未だ実行状態情報がセーブされていない状態では、キャプチャ画像表示手段によるキャプチャ画像の表示は行われない。したがって、ゲーム画面のみ表示している状態において、ユーザからのセーブ実行操作が受け付けられ、このセーブ実行操作に応じて実行状態情報が記憶される。
【００１７】
第４の発明は、第１の発明に従属するセーブ制御プログラムであって、コンピュータを、ゲームを一時停止する一時停止手段としてさらに機能させ、選択操作受付手段は、一時停止手段によってゲームが停止されている状態において有効化される。
【００１８】
第４の発明では、実行状態情報をロードするための選択操作は、ゲームを一時停止した後に受け付けられる。
【００１９】
なお、選択操作受付手段は、ゲームが進行している状態では無効化される。
【００２０】
第４の発明によれば、ゲームを一時停止させた状態で、落ち着いて選択操作を行うことができる。
【００２１】
第５の発明は、第３の発明に従属するセーブ制御プログラムであって、コンピュータを、ゲームを一時停止する一時停止手段としてさらに機能させ、選択操作受付手段およびセーブ操作受付手段はそれぞれ、一時停止手段によってゲームが停止されている状態において有効化される。
【００２２】
第５の発明では、実行状態情報をセーブするためのセーブ操作と、セーブした実行状態情報をロードするための選択操作とは、ゲームを一時停止した後に受け付けられる。
【００２３】
なお、選択操作受付手段およびセーブ操作受付手段はそれぞれ、ゲームが進行している状態においては無効化される。
【００２４】
第５の発明によれば、ゲームを一時停止させた状態で、落ち着いてセーブ操作および選択操作を行うことができる。
【００２５】
第６の発明は、第１の発明に従属するセーブ制御プログラムであって、表示面は第１表示面および第２表示面を含み、ゲーム画面は第１表示面に表示され、キャプチャ画像は第２表示面に表示される。
【００２６】
第６の発明によれば、第１および第２の表示面をゲーム画面用およびキャプチャ画像用に使い分けることで、単一の表示面内にゲーム画面およびキャプチャ画像が混在する場合と比べて、両者の比較が容易となり、操作性が向上する。特に、第１表示面しか利用しないゲームの場合、第２表示面は空き状態となるので、それをキャプチャ画像用として有効利用することができる。
【００２７】
第７の発明は、第６の発明に従属にするセーブ制御プログラムであって、第２表示面にはタッチパネルが設けられ、選択操作受付手段は、第２表示面に表示されたキャプチャ画像へのタッチ操作をタッチパネルで検出して選択操作として受け付ける。
【００２８】
第７の発明では、第２表示面にタッチパネルが設けられており、キャプチャ画像は第２表示面へのタッチ操作により選択される。
【００２９】
第７の発明によれば、キャプチャ画像をそれ自体へのタッチ操作で選択することができるので、ボタン操作等で選択する場合と比べて、直感的な操作が可能となり、操作性が向上する。特に、タッチパネル付きでない第１表示面しか利用しないゲームの場合、タッチパネル付きの第２表示面が空き状態となるので、これをキャプチャ画像へのタッチ検出用として有効利用することができる。
【００３０】
第８の発明は、第７の発明に従属にするセーブ制御プログラムであって、コンピュータを、ゲーム実行中に第２表示面へのタッチ操作が検出されたときゲームを一時停止させる一時停止手段としてさらに機能させ、選択操作受付手段は、一時停止手段によってゲームが停止されている状態において有効化される。
【００３１】
第８の発明では、ゲーム実行中に第２表示面へのタッチ操作が行われると、ゲームは一時停止され、この状態でキャプチャ画像の選択のためのタッチ操作が受け付けられる。
【００３２】
なお、ゲームを一時停止させるためのタッチ操作は、ボタン操作に置き換えてもよい。この場合、ゲームで利用されないボタンに一時停止機能を割り当てれば、空きボタンを有効活用できて好ましい。
【００３３】
第９の発明は、第１の発明に従属にするセーブ制御プログラムであって、ゲーム装置とは構成の異なる他のゲーム装置用のゲームプログラムをゲーム装置のコンピュータに互換的に実行させるエミュレータプログラムの一部であり、メモリは、エミュレータプログラムによってコンピュータがゲームプログラムを互換的に実行するとき利用する実行用データを記憶するための実行用データメモリ、および実行状態情報を記憶するためのセーブ用メモリを含み、セーブ手段は、ゲームの進行状況に関わらず、ユーザによって指示されたタイミングにおける実行用データメモリの内容を、実行状態情報の少なくとも一部としてセーブ用データメモリに記憶する実行状態記憶制御手段、および指示されたタイミングにおけるゲーム画面をキャプチャ画像として実行状態情報と対応付けてセーブ用データメモリに記憶するキャプチャ画像記憶制御手段を含む。
【００３４】
第９の発明では、セーブ制御プログラムは、エミュレータプログラムの一部であって、ゲーム装置とは構成の異なる他のゲーム装置用のゲームプログラムをゲーム装置のコンピュータに互換的に実行させる。メモリは、実行用データメモリおよびセーブ用メモリを含み、実行用データメモリには、エミュレータプログラムによってコンピュータがゲームプログラムを互換的に実行するとき利用する実行用データが記憶され、セーブ用メモリには、実行状態情報が記憶される。
【００３５】
セーブ手段は、実行状態記憶制御手段およびキャプチャ画像記憶制御手段を含み、実行状態記憶制御手段は、ゲームの進行状況に関わらず、ユーザによって指示されたタイミングにおける実行用データメモリの内容を、実行状態情報の少なくとも一部としてセーブ用メモリに記憶する。キャプチャ画像記憶制御手段は、指示されたタイミングにおけるゲーム画面をキャプチャ画像として実行状態情報と対応付けてセーブ用メモリに記憶する。
【００３６】
なお、「ゲームの実行状態」が主として実行用データメモリの内容を示すのに対し、「ゲームの進行状況」は、たとえば得点，ステージ，キャラクタの位置といった、ゲームがどこまで進行したか（あるいはどのように進行してきたか）を示す。したがって、「ゲームの進行状況に関わらず」とは、実行状態情報をセーブする機能は、このようなゲームの進行状況をセーブする機能とは無関係の（独立した別の）機能であることを意味する。
【００３７】
また、実行用データメモリ内に、エミュレータプログラムによってコンピュータがゲームプログラムを互換的に実行しても何ら変化しない情報があれば、その種の情報はセーブ対象から除外してよい。
【００３８】
第１０の発明は、第９の発明に従属にするセーブ制御プログラムであって、実行用データメモリは、エミュレータプログラムによってコンピュータがゲームプログラムを互換的に実行する結果として実現される仮想的な他のゲーム装置の状態を示す仮想的状態情報を記憶するための仮想的状態情報メモリを含み、実行状態記憶制御手段は、ユーザによって指示されたタイミングにおける仮想的状態情報メモリの内容を、実行状態情報の少なくとも一部としてセーブ用メモリ記憶する。
【００３９】
第１０の発明では、メモリは、仮想的状態情報メモリをさらに含み、仮想的状態情報メモリには、エミュレータプログラムによってコンピュータがゲームプログラムを互換的に実行する結果として実現される仮想的な他のゲーム装置の状態を示す仮想的状態情報が記憶される。実行状態記憶制御手段は、ユーザによって指示されたタイミングにおける仮想的状態情報メモリの内容を、実行状態情報の他の一部としてセーブ用メモリに記憶する。
【００４０】
なお、仮想的状態情報は、より好ましくは、当該仮想的な他のゲーム装置のコンピュータおよびその他のハードウェア（たとえばＣＰＵ，ＶＲＡＭ，Ｉ／Ｏレジスタなど）の状態を示す情報を含む。
【００４１】
また、仮想的状態情報メモリ内に、エミュレータプログラムによってコンピュータがゲームプログラムを互換的に実行しても何ら変化しない情報があれば、その種の情報はセーブ対象から除外してよい。
【００４２】
なお、エミュレータプログラムは、ゲームプログラム自体をエミュレーションして（エミュレートしながら）実行するものであってもよい。この場合には、実行用データメモリは、エミュレータプログラムによってコンピュータがゲームプログラムを互換的に実行するためのプログラム実行用データメモリを含み、実行状態記憶制御手段は、ユーザによって指示されたタイミングにおけるプログラム実行用データメモリの内容を、実行状態情報の少なくとも一部としてセーブ用メモリに記憶する。
【００４３】
第９さらには第１０の発明によれば、ゲームプログラムのセーブ機能とは無関係に、エミュレータプログラムによるセーブ機能（バーチャルコンソールのセーブ機能）が実現される。この結果、もともとセーブ機能を持たないゲームでセーブできたり、本来セーブ可能なポイント以外でもセーブできたりする。さらには、セーブデータをロードするか否かを現在の状態と比較しつつ決められるので、少しずつでもよい状況にすることができ、通常の実行方法では先に進めなかったゲームを先に進めることが可能になる。
【００４４】
第１１の発明は、ゲーム装置であって、実行中のゲームの状態を実行状態情報としてメモリに記憶し、同時に、ゲーム画面のキャプチャ画像を実行状態情報と対応付けてメモリに記憶するセーブ手段、ゲームの実行中に、ゲーム画面を表示面に表示したまま、セーブ手段によって記憶されたキャプチャ画像を表示面に表示するキャプチャ画像表示手段、キャプチャ画像表示手段によってゲーム画面およびキャプチャ画像を表示している状態において、ユーザからの選択操作を受け付ける選択操作受付手段、および、選択操作に応じて、選択されたキャプチャ画像に対応付けられた実行状態情報を用いてゲームの状態を復元する状態復元手段を備える。
【００４５】
第１２の発明は、ゲーム装置において実行されるセーブ方法であって、実行中のゲームの状態を実行状態情報としてメモリに記憶し、同時に、ゲーム画面のキャプチャ画像を実行状態情報と対応付けてメモリに記憶するセーブステップ、ゲームの実行中に、ゲーム画面を表示面に表示したまま、セーブステップによって記憶されたキャプチャ画像を表示面に表示するキャプチャ画像表示ステップ、キャプチャ画像表示ステップによってゲーム画面およびキャプチャ画像を表示している状態において、ユーザからの選択操作を受け付ける選択操作受付ステップ、および、選択操作に応じて、選択されたキャプチャ画像に対応付けられた実行状態情報を用いてゲームの状態を復元する状態復元ステップを備える。
【００４６】
第１３の発明は、ゲームシステムであって、メモリ、表示面、実行中のゲームの状態を実行状態情報としてメモリに記憶し、同時に、ゲーム画面のキャプチャ画像を実行状態情報と対応付けてメモリに記憶するセーブ手段、ゲームの実行中に、ゲーム画面を表示面に表示したまま、セーブ手段によって記憶されたキャプチャ画像を表示面に表示するキャプチャ画像表示手段、キャプチャ画像表示手段によってゲーム画面およびキャプチャ画像を表示している状態において、ユーザからの選択操作を受け付ける選択操作受付手段、および、選択操作に応じて、選択されたキャプチャ画像に対応付けられた実行状態情報を用いてゲームの状態を復元する状態復元手段を備える。
【００４７】
第１１〜第１３の各発明でも、第１の発明と同様に、ゲームの進行中に、以前にセーブした状態と今の状態とで、どちらがより有利な状態かを容易に判断して、以前の状態が有利な場合にこれを復元することができる。
【発明の効果】
【００４８】
この発明によれば、ゲームの進行中に、以前にセーブした状態と今の状態とでどちらがより有利な状態かを容易に判断して、以前の状態が有利な場合にこれを復元することができる、セーブ制御プログラム、ゲーム装置、ゲームシステムおよびセーブ制御方法が実現される。
【００４９】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００５０】
【図１】この発明の一実施例（第１実施例）であるゲーム装置の外観図であり、開状態における正面を示す。
【図２】ゲーム装置の外観図であり、（Ａ）が閉状態における上面を示し、（Ｂ）が閉状態における左側面を示し、（Ｃ）が閉状態における正面を示し、（Ｄ）が閉状態における右側面を示し、（Ｅ）が閉状態における背面を示し、（Ｆ）が閉状態における下面を示す。
【図３】３Ｄ調整スイッチの動作を説明するための図解図である。
【図４】ゲーム装置の電気的構成の一例を示すブロック図である。
【図５】図４の電気的構成の要部（立体ＬＣＤとＳＯｃの一部とで構成される立体ＬＣＤ制御部）を示すブロック図である。
【図６】視差バリア方式による３Ｄ／２Ｄ表示の原理を説明するための図解図であり、（Ａ）が視差バリアＯＮ状態（３Ｄ表示）を示し、（Ｂ）が視差バリアＯＦＦ状態（２Ｄ表示）を示す。
【図７】上下のＬＣＤの画面構成を示す図解図である。
【図８】上下のＬＣＤの一表示状態を示す図解図である。
【図９】上下のＬＣＤの他の表示状態を示す図解図である。
【図１０】上下のＬＣＤのその他の表示状態を示す図解図である。
【図１１】上下のＬＣＤのさらにその他の表示状態を示す図解図である。
【図１２】ゲーム装置のメモリマップを示す図解図であり、（Ａ）がＮＡＮＤフラッシュメモリのメモリマップの一部を、（Ｂ）がメインメモリ（ワークＲＡＭ）のメモリマップの一部を示す。
【図１３】ＣＰＵ動作の一部を示すフロー図である。
【図１４】ＣＰＵ動作の他の一部を示すフロー図である。
【図１５】他の実施例（第２実施例）における上下のＬＣＤの表示状態を示す図解図であり、図１１と対応する。
【図１６】第２実施例におけるＣＰＵ動作の一部を示すフロー図であり、図１４と対応する。
【発明を実施するための形態】
【００５１】
図１および図２には、本発明の一実施例であるゲーム装置１０の外観が示される。ゲーム装置１０は、折り畳み式のゲーム装置であり、図１は開状態におけるゲーム装置１０の正面を示し、図２（Ａ）〜図２（Ｆ）は閉状態におけるゲーム装置１０の上面，左側面，前面，右側面，背面および下面を示している。
【００５２】
ゲーム装置１０は、図１に示されるように、互いに回動可能に連結された上側ハウジング１０Ａおよび下側ハウジング１０Ｂを備え、上側ハウジング１０Ａの正面には、裸眼３Ｄ表示に対応した立体ＬＣＤ１２、内側カメラ１８ａ、３Ｄ調整スイッチ２０、３Ｄランプ２０Ａ、ならびに左右のスピーカ２２ａおよび２２ｂなどが設けられる。下側ハウジング１０Ｂの正面には、タッチパネル１６付きの下ＬＣＤ１４、Ａ，Ｂ，Ｘ，Ｙボタン２４ａ〜２４ｄ、十字キー（上下左右ボタン）２４ｇ、ホーム，セレクト，スタートボタン２４ｈ〜２４ｊ、電源ボタン２４ｋ、アナログパッド２６、およびマイク３０が設けられる。
【００５３】
また、図２（Ａ）に示されるように、ゲーム装置１０の上面（図１に示した上側ハウジング１０Ａの裏面）には、３Ｄ撮影に対応した左右の外側カメラ１８ｂおよび１８ｃが設けられる。また、図２（Ｃ）に示されるように、ゲーム装置１０の前面には、ヘッドホン端子３６、および電源ランプ４２ａなどが設けられる。また、図２（Ｂ），図２（Ｅ）および図２（Ｄ）に示されるように、ゲーム装置１０の左側面から背面に跨ってＬボタン２４ｅが設けられ、右側面から背面に跨ってＲボタン２４ｆが設けられる。また、ゲーム装置１０の左側面には、音量調整スイッチ３２およびＳＤカードスロット３４などがさらに設けられ、ゲーム装置１０の右側面には、無線スイッチ２８、無線ランプ４２ｂなどがさらに設けられる。上述の３Ｄ調整スイッチは、この右側面から露見している。また、ゲーム装置１０の背面には、赤外線受発光部４０などがさらに設けられる。そして、図２（Ｅ）および図２（Ｆ）に示されるように、ゲーム装置１０の背面から下面に跨ってゲームカードスロット３８が設けられる。
【００５４】
立体ＬＣＤ１２は、視差バリア（パララックスバリア）方式による３Ｄ液晶（図６参照）であり、裸眼で立体視が可能な画像（裸眼立体視画像）を表示する。立体ＬＣＤ１２では、液晶による視差バリアをＯＦＦすることで、平面画像の表示も可能である。なお、視差バリア方式に限らず、凹凸付のシート（レンチキュラレンズ）を利用するレンチキュラ方式や、その他の裸眼３Ｄ方式を採用してもよい。
【００５５】
内側カメラ１８ａは平面画像（２Ｄ画像）を撮影し、外側カメラ１８ｂおよび１８ｃは立体視画像（３Ｄ画像）を撮影する。プレイヤを撮影した２Ｄまたは３Ｄの画像は、ゲームプログラムへの画像入力として利用可能である。この場合、ゲームプログラムは、画像認識を行うことで、プレイヤの顔や手の動き、視線方向（眼球の向き）などを検出し、検出結果に応じた処理を実行する。内側カメラ１８ａによる２Ｄ画像はまた、下ＬＣＤ１４に表示可能であり、外側カメラ１８ｂおよび１８ｃによる３Ｄ画像はまた、立体ＬＣＤ１２に表示可能である。
【００５６】
３Ｄ調整スイッチ２０は、立体ＬＣＤ１２の表示に関して、３Ｄおよび２Ｄの間の切り替えを手動で行い、さらには、３Ｄでの立体感の手動調整をも行うためのスライドスイッチであり、たとえば図３のように動作する。３Ｄの立体感は、この実施例では、スライダＳｄが上端にあるとき最大（Ｓｄ＝１）であり、スライダＳｄを下げるに従って減少し、下端にあるとき最小（Ｓｄ＝０）となる。そして、スライダＳｄを下端まで下げきると、３Ｄから２Ｄに切り替わる。
【００５７】
なお、詳細は省略するが、このような３Ｄの立体感の変化は、仮想空間内に配置された左右の仮想カメラの間の距離（カメラ間距離）を変化させることによって実現される。つまり、３Ｄ調整スイッチ２０の動作に応じて、カメラ間距離が調整される。カメラ間距離はまた、こうして手動調整されるだけでなく、ゲームプログラムによる自動調整も受ける。
【００５８】
３Ｄランプ２０Ａは、立体ＬＣＤ１２の表示状態を示すランプであり、３Ｄでは点灯し、２Ｄでは消灯する。なお、単に点灯よび消灯するだけでなく、３Ｄの程度（立体感の大小）に応じて輝度や色を変化させてもよい。
【００５９】
タッチパネル１６や、Ａ，Ｂ，Ｘ，Ｙボタン２４ａ〜２４ｄ、十字キー２４ｇ、ホーム，セレクト，スタートボタン２４ｈ〜２４ｊ、あるいはアナログパッド２６への操作は、ゲームプログラムへのタッチ／ボタン／パッド入力として利用される。電源ボタン２４ｋは、ゲーム装置１０の電源をオン／オフするために用いられる。電源ランプ４２ａは、電源のオン／オフと連動して点灯／消灯する。
【００６０】
マイク３０は、ユーザの発話音声や環境音などを音声データに変換する。音声データは、ゲームプログラムへの音声入力として利用可能である。この場合、ゲームプログラムは、音声認識を行うことで、プレイヤの発話音声を検出し、検出結果に応じた処理を実行する。マイク３０による音声データはまた、ＮＡＮＤフラッシュメモリ４８（図４参照）などに記録可能である。
【００６１】
スピーカ２２ａおよび２２ｂは、ゲーム音声やマイク音声などを出力する。ヘッドホン端子３６には、図示しないヘッドホンが接続される。音量調整スイッチ３２は、スピーカ２２ａおよび２２ｂの音量またはヘッドホン端子３６の出力を調整するためのスライドスイッチである。
【００６２】
ＳＤカードスロット３４には、カメラ画像やマイク音声などを保存するためのＳＤメモリカード（図示せず）が装着され、ゲームカードスロット３８には、ゲームプログラムなどが格納されたゲームカード（図示せず）が装着される。赤外線受発光部４０は、他のゲーム装置との間での赤外線（ＩＲ）通信に利用される。
【００６３】
図４には、ゲーム装置１０の電気的構成が示される。ゲーム装置１０は、ＣＰＵ，ＧＰＵ，ＶＲＡＭおよびＤＳＰなどで構成されたＳｏＣ(System-on-a-Chip)４４を含む。ＳｏＣ４４には、上述した立体ＬＣＤ１２、下ＬＣＤ１４、内側カメラ（Ｉｎカメラ）１８ａ、左右の外側カメラ（ＯＣＡＭ−ＬおよびＯＣＡＭ−Ｒ）１８ｂおよび１８ｃ、Ａ，Ｂ，Ｘ，Ｙ，Ｌ，Ｒボタン２４ａ〜２４ｆ、十字ボタン２４ｇ、ＳＤカードスロット３４、ゲームカードスロット３８、および赤外線受発光部（ＩＲ）４０が接続される。ＳｏＣ４４にはまた、マイコン５６を介して、上述した３Ｄ調整スイッチ（３Ｄ Ｖｏｌ）２０、３Ｄランプ２０Ａ、ホーム，セレクト，スタートボタン２４ｈ〜２４ｊ、電源ボタン（Ｐｏｗｅｒ）２４ｋ、無線スイッチ（ＷｉＦｉ）２８、音量調整スイッチ（音量Ｖｏｌ）３２，および電源，無線ランプ４２ａ，４２ｂが接続される。ＳｏＣ４４にはさらに、ＩＦ回路５８を介して、上述したタッチパネル１６、左右のスピーカ２２ａおよび２２ｂ、アナログパッド２６、マイク（Ｍｉｃ）３０およびヘッドホン端子３６が接続される。
【００６４】
また、ＳｏＣ４４には、上述した以外の要素として、無線モジュール４６、ＮＡＮＤフラッシュメモリ４８およびメインメモリ５０が接続される。無線モジュール４６は、無線ＬＡＮに接続する機能を有する。ＮＡＮＤフラッシュメモリ４８は、カメラ画像，マイク音声など保存用のデータ、あるいはゲーム用の各種データベースなどを記憶する。メインメモリ５０は、ＳｏＣ４４に作業領域を提供する。すなわち、メインメモリ５０には、ゲームで用いられる各種のデータやプログラムが記憶され、ＳｏＣ４４はメインメモリ５０に記憶されたデータやプログラムを利用して作業を行う。
【００６５】
マイコン５６には、電源管理ＩＣ５２および加速度センサ５４が接続される。電源管理ＩＣ５２はゲーム装置１０の電源管理を行い、加速度センサ５４はゲーム装置１０の３軸方向の加速度を検出する。加速度センサ５４の検出結果は、ゲームプログラムへの動き入力として利用可能である。この場合、ゲームプログラムは、検出結果に基づいてゲーム装置１０自体の動きを計算し、計算結果に応じた処理を実行する。また、マイコン５６は、ＲＴＣ（リアルタイムクロック）５６ａを含み、ＲＴＣ５６ａで時間をカウントしてＳｏＣ４４に供給する。
【００６６】
図５には、立体ＬＣＤ１２とＳＯｃ４４の一部とで構成される立体ＬＣＤ制御部１２Ａが示される。立体ＬＣＤ１２は、ＬＣＤコントローラ１２ａ、バリア液晶１２ｂおよび上ＬＣＤ１２ｃを含む。バリア液晶１２ｂは、図６（Ａ）に示されるように、縦（列）方向に伸びる複数の液晶スリットを含み、バックライトからの光を複数の液晶スリットで交互に遮ることによって、右目および左目に上ＬＣＤ１２ｃの異なる列の画素を通過した光が見えるようにする（３Ｄ表示）。上ＬＣＤ１２ｃは、下ＬＣＤ１４と同様、普通の（２Ｄ表示用の）液晶でよい。ＬＣＤコントローラ１２ａは、ＧＰＵ４４ｂひいてはＣＰＵ４４ａの制御下で、上ＬＣＤ１２ｃに描画を行い、かつバリア液晶１２ｂ（への印加電圧）をＯＮ／ＯＦＦする。バリア液晶１２ｂをＯＦＦすると、図６（Ｂ）に示されるように、右目および左目には、上ＬＣＤ１２ｃのどの列の画素を通過した光も見えるようになる（２Ｄ表示）。
【００６７】
以上のように構成されたゲーム装置１０ではエミュレータプログラムを実行可能である。当該エミュレータプログラムを利用することによって、これとは異なる構成を有する他のゲーム装置、たとえば過去に提供されていたゲーム装置をエミュレートして、当該他のゲーム装置用のゲームプログラムを、ゲーム装置１０上でエミュレーション実行（他のゲーム装置をエミュレートして、当該エミュレートした仮想のハードウェア上で実行）することができる。すなわち、他のゲーム装置用のゲームをゲーム装置１０でプレイすることが可能である。なお、本実施例ではエミュレーション処理はソフトウェアによって実現されるが、エミュレーション用のハードウェアをゲーム装置１０に搭載してエミュレーション処理を実現してもよい。
【００６８】
エミュレーション実行されるゲームプログラムは、図示しないサーバからネットワーク経由でゲーム装置１０にダウンロードされ、ＮＡＮＤフラッシュメモリ４８や、ＳＤカードスロット３４に装着されたＳＤカード等の記録媒体に記憶される。また、エミュレータプログラムについても、エミュレーション実行されるゲームプログラムごとに、当該ゲームプログラムと一体的にゲーム装置１０にダウンロードされて、ＮＡＮＤフラッシュメモリ４８やＳＤカード等に記憶される。このように、エミュレータプログラムとゲームプログラムとをセットにして１対１の関係で用意することによって、エミュレーション処理の互換性をゲームプログラムごとに確保することが可能となる。なお、他の実施例においては、ゲームプログラムやエミュレータプログラムはゲームカードスロット３８に装着されたゲームカード上に記憶されていてもよく、ゲームカードから本体のＮＡＮＤフラッシュメモリ４８等にコピーして記憶されるように構成されていてもよい。
【００６９】
なお、この実施例でエミュレーション実行する対象は、専ら２Ｄ表示用のゲーム装置およびゲームプログラムであり、このため、以下では、立体ＬＣＤ１２を“上ＬＣＤ１２”のように記す。
【００７０】
この実施例のエミュレータプログラムによれば、ゲームプログラム自体のセーブ機能とは別に、ＣＰＵ４４ａによりエミュレートする対象（すなわち、エミュレーション処理によって擬似的（仮想的）に実現される、ゲーム装置１０と異なる構成を有する他のゲーム装置）の実行状態を示す情報（実行状態情報）を任意のタイミングで、その時点でエミュレーション実行されているゲーム画面のキャプチャ画像と共にセーブする機能（この機能を“ゲームしおり機能”と呼び、当該機能でセーブされるデータを“ゲームしおり”と呼ぶ）が実現される。このゲームしおり機能を利用することで、プレイヤは、ゲームの進行中に、現在のゲーム画面とセーブしてあるゲーム画面とを比較しながら、以前にセーブした状態と今の状態とでどちらが有利な状態かを判断して、今の状態が有利であればそのままプレイを続け、以前にセーブした状態のほうが有利であればその時点に戻ってプレイを再開することができる。
【００７１】
図７には、ゲームプログラムをエミュレーション実行中に上下のＬＣＤ１２および１４に表示される画面の構成例（ユーザがゲームしおり機能を利用するためのユーザインターフェースの一例）が示される。上ＬＣＤ１２には、ゲームプログラムのエミュレーション実行結果に基づく現在のゲーム画面が表示され、タッチパネル１６付きの下ＬＣＤ１４には“ゲームに戻る”，“しおりを作る”，“リセットする”および“しおりを読み込む”をそれぞれ示す４つのボタンＢ１〜Ｂ４を含む操作画面が表示される。
【００７２】
ボタンＢ１は、停止中のゲームを再開するためのボタンである。ボタンＢ２は、現在のゲーム画面をキャプチャして、ゲームプログラムの現在の実行状態をセーブするためのボタンである。ボタンＢ３は、ゲームプログラムの現在の実行状態をリセットするためのボタンである。つまり、ボタンＢ３が押されると、ゲームは最初からやり直しとなるが、キャプチャ画像とセーブされた実行状態は残る。ボタンＢ４は、セーブした実行状態をロードするためのボタンであり、上記のキャプチャ画像（ゲームしおり作成時点でのゲーム画面）が貼り付けられる。キャプチャ画像には、ゲームしおり作成時点を示す日時情報（＊＊年＊＊月＊＊日）が付される。ただし、ゲームしおりを作成する以前は、貼り付けるべきキャプチャ画像がないため、代わりに“しおりはまだありません”といったメッセージが提示される。なお、日時情報やメッセージは、省略してもよい。
【００７３】
上ＬＣＤ１２のゲーム画面および下ＬＣＤ１２の操作画面（以下“上画面１２１および下画面１４”のように略記する場合がある）は、ゲームが進行中か停止中か、および、ゲームしおりがあるかないかで、図８〜図１１のように制御される。すなわち、ゲームの進行中は、図８または図１０に示されるように、上画面１２が高輝度となり、下画面１４は低輝度となる（ボタンＢ１〜Ｂ４はうっすらと見えている）。一方、ゲームの停止中は、図９または図１１に示されるように、上画面１２は低輝度となり（ゲーム画面はうっすらと見えている）、下画面１４が全体として高輝度となる。ただし、下画面１４が全体として高輝度であっても、ゲームしおりがない場合には、図９に示すように、ボタンＢ４に対応する部分は低輝度とされ、ゲームしおりがある場合には、図１１に示すように、ボタンＢ２に対応する部分は低輝度とされる（“しおりを読み込む”といった文字やキャプチャ画像はうっすらと見えている）。なお、画面の輝度を変化させているのは、ユーザに、高輝度の画面の方に注目させつつ、低輝度の画面の内容も分かるようにするためであって、当該効果を奏するのであれば他の方法でも構わない。例えば、画面の輝度を下げる代わりに、画面に半透明の網掛けなどを行うことで、画面の内容は分かるように保ちつつ、ユーザに他方の画面に注目させるようにしてもよい。
【００７４】
そして、図８または図１０のように下画面１４が全体として低輝度となった状態では、ボタンＢ１〜Ｂ４はどれも有効に機能しない（Ｎｏｎ−Ａｃｔｉｖｅである）。この状態では、下画面１４の全体が、ボタンＢ１〜Ｂ４をＡｃｔｉｖｅにするための切換ボタンとして機能する。つまり、下画面１４が低輝度の状態で、下画面１４の任意の部分へのタッチ操作が検出されると、図９または図１１のように、下画面１４は高輝度となって、ボタンＢ１〜Ｂ４（の少なくとも一部）がＡｃｔｉｖｅとなる。ただし、図９の状態では、ゲームしおりがないため、ボタンＢ４はＮｏｎ−Ａｃｔｉｖｅであり、図１０の状態では、ゲームしおりがあるため、ボタンＢ２はＮｏｎ−Ａｃｔｉｖｅである。
【００７５】
図１２には、ゲームプログラムをエミュレーション実行する場合のゲーム装置１０のメモリマップが示される。まず、図１２（Ａ）を参照して、ＮＡＮＤフラッシュメモリ４８には、ダウンロード領域４８Ａおよびしおりセーブ領域４８Ｂが形成され、ダウンロード領域４８Ａには、図示しないサーバからネットワーク経由でダウンロードされたゲーム１パッケージ７２，ゲーム２パッケージ７４…が格納されている。しおりセーブ領域４８Ｂには、ゲーム１パッケージ７２，ゲーム２パッケージ７４…にそれぞれ対応するゲーム１しおりデータ７６，ゲーム２しおりデータ７８…が格納されている。このように、ゲームしおりデータは、ゲーム毎に作成される。
【００７６】
各ゲームのしおりデータには、ゲームＩＤ、作成日時、キャプチャ画像および実行状態情報などが含まれる。ゲームＩＤは、そのゲームしおりがどのゲームのものであるかを示すＩＤ（識別情報）である。作成日時は、そのゲームしおりが作成された日時を示す情報であり、ボタンＢ２の押下操作に応じてＲＴＣ５６ａの出力値を読み取ることにより得られる。キャプチャ画像は、そのゲームしおりが作成された時点でのゲーム画面のキャプチャ画像であり、ボタンＢ２の押下操作に応じてＶＲＡＭ４４ｃ内の画像を取り込むことにより得られる。実行状態情報は、そのゲームしおりが作成された時点でのゲームプログラムのエミュレーション実行状態を示す情報であり、ボタンＢ２の押下操作に応じて、後述するエミュレーションハードウェア状態情報領域５０Ｃ内の情報をコピーすることで得られる。なお、未だゲームしおりが作成されていないゲームについては、ゲームしおりデータは記憶されない（もしくは、そのゲームのゲームしおりが未作成であることを示す初期データが記憶される）。なお、ダウンロード領域４８Ａおよびしおりセーブ領域４８Ｂは、ＳＤメモリカード（図示せず）に形成されてもよい。
【００７７】
次に図１２（Ｂ）を参照して、メインメモリ５０には、プログラム領域５０Ａ、プログラム実行用データ領域５０Ｂ、エミュレーションハードウェア状態情報領域５０Ｃおよびキャプチャ画像領域５０Ｄが形成され、プログラム領域５０Ａには、ダウンロード領域４８Ａに格納されたゲームパッケージのうち任意の１つ、ここではゲーム１パッケージ７２が展開される。なお、ゲーム２をプレイする場合には、ゲーム１パッケージ７２に代えてゲーム２パッケージ７４が展開される。
【００７８】
ゲーム１パッケージ７２はゲーム１プログラム７２ａおよびエミュレータプログラム７２ｂなどで構成され、エミュレータプログラム７２ｂにはセーブ機能制御プログラム７２ｂＡが含まれる。ゲーム１プログラム７２ａは、他のゲーム装置用のゲームプログラムであるが、エミュレータプログラム７２ｂと協働することで、ＳｏＣ４４その他のハードウェア（図４参照）を介して、ゲーム１に関する各種の機能を実現する。エミュレータプログラム７２ｂは、ゲーム１プログラム７２ａをゲーム装置１０のハードウェアでエミュレーション実行するためのプログラム（ソフトウェアエミュレータ）である。
【００７９】
セーブ機能制御プログラム７２ｂＡは、エミュレータプログラム７２ｂでゲーム１プログラム７２ａをエミュレーション実行中に、ユーザが図８〜図１１に示したような画面を通じて任意のタイミングで、ゲーム１プログラム７２ａのエミュレーション実行状態をセーブしたり、そのセーブされたエミュレーション実行状態をロードしたりするためのプログラムであり、図１３および図１４のフローに対応する。
【００８０】
プログラム領域５０Ａにはまた、入出力制御プログラム８０も格納される。入出力制御プログラム８０は、たとえばタッチパネル１６，ＡＢＸＹボタン２４ａ〜２４ｄなどへの操作入力を検出したり、上下のＬＣＤ１２および１４への表示出力を行ったりするためのプログラムであり、ゲーム１プログラム７２ａおよびエミュレータプログラム７２ｂによって利用される。
【００８１】
一方、プログラム実行用データ領域５０Ｂは、入力情報領域８２、上下のＬＣＤ表示画像領域８４および８６、および画面モード情報領域８８などを含む。入力情報領域８２には、タッチパネル１６，ＡＢＸＹボタン２４ａ〜２４ｄなどへの操作入力を示す入力情報が入出力制御プログラム８０によって繰り返し（たとえば１／６０秒周期で）書き込まれる。上ＬＣＤ表示画像領域８４には、上ＬＣＤ１２への表示画像つまりゲーム画面の画像がゲーム１プログラム７２ａによって繰り返し書き込まれる。下ＬＣＤ表示画像領域８６には、下ＬＣＤ１４への表示画像つまり操作画面の画像がエミュレータプログラム７２ｂによって繰り返し書き込まれる。画面モード情報領域８８には、セーブ機能制御プログラム７２ｂＡによって生成される画面モード制御情報が繰り返し書き込まれる。
【００８２】
このように、プログラム実行用データ領域５０Ｂには、エミュレータプログラム７２ｂによってＣＰＵ４４ａがゲーム１プログラム７２ａをエミュレーション実行するとき利用するプログラム実行用データが記憶される。
【００８３】
また、エミュレーションハードウェア状態情報領域５０Ｃには、エミュレータプログラム７２ｂによってＣＰＵ４４ａがゲーム１プログラム７２ａをエミュレーション実行する場合に実現される仮想的な他のゲーム装置のハードウェア（たとえばＣＰＵ，ＶＲＡＭ，Ｉ／Ｏレジスタなど）の状態を示すエミュレーションハードウェア状態情報が記憶される。
【００８４】
したがって、少なくともエミュレーションハードウェア状態情報領域５０Ｃ内のエミュレーションハードウェア状態情報を実行状態情報として任意のタイミングでセーブすれば、後に、そのセーブされた実行状態情報をロードすることによって、セーブ時点のエミュレーションハードウェア状態を再現して、その時点からゲームを再開することができる。
【００８５】
ただし、エミュレーションハードウェア状態情報領域５０Ｃ内に、ミュレータプログラム７２ｂによってＣＰＵ４２ａがゲームプログラム７２ａをエミュレーション実行しても何ら変化しない情報があれば、その種の情報はセーブ対象から除外してよい。
【００８６】
一方、プログラム実行用データ領域５０Ｂ内のプログラム実行用データは、再現されたエミュレーションハードウェア状態に基づいて生成可能なので、エミュレーションハードウェア状態情報をセーブする場合にはセーブ対象に含める必要はないが、その一部または全部をセーブ対象に含めても構わない。なお、エミュレータプログラム７２ｂがゲームプログラム７２ａ自体をエミュレーションして（エミュレートしながら）実行するものである場合には、エミュレーションハードウェア状態情報に代えて、プログラム実行用データをセーブ対象に含めればよい。
【００８７】
また、キャプチャ画像領域５０Ｄには、セーブ機能制御プログラム７２ｂＡによってキャプチャされた画像、つまり実行状態情報をセーブしたタイミングでＶＲＡＭ４４ｃから取り込まれた画像が書き込まれる。キャプチャ画像を実行状態情報と対応付けてセーブすれば、後に、セーブした実行状態情報をロードするか、そのままゲームを継続するかを決める際に、セーブした実行状態情報がどの時点のものであるかを直感的に知ることができる。
【００８８】
ＣＰＵ４４ａは、ゲーム１プログラム７２ａをエミュレータプログラム７２ｂでエミュレーション実行する際に、図１３および図１４に示されるフローに従う処理を実行することによって、上述のようなゲームしおり機能を実現する。
【００８９】
まず図１３を参照して、ゲーム１プログラム７２ａおよびエミュレータプログラム７２ｂが起動されると、ＣＰＵ４４ａは、最初のステップＳ１で、しおりセーブ領域４８Ｂを参照して、ゲーム１のしおりがある（作成済みである）か否かを判別する。しおりセーブ領域４８Ｂにゲーム１しおりデータ７６が記憶されていれば、ステップＳ１でＹＥＳと判別し、ステップＳ２５（後述）に進む。しおりセーブ領域４８Ｂにゲーム１しおりデータ７６が記憶されていなければ（もしくは、ゲーム１のしおりが未作成であることを示す初期データが記憶されていれば）、ステップＳ１でＮＯと判別して、ステップＳ３に進む。
【００９０】
ステップＳ３では、上下のＬＣＤ１２および１４に図８のような画面を表示させるためのモード制御を行い、制御結果を示す画面モード情報を画面モード領域８８に書き込む。これによって、上ＬＣＤ１２には、現在のゲーム画面（一般に動画像）が高輝度で表示され、下ＬＣＤ１４には、ボタンＢ１〜Ｂ４を含む操作画面が低輝度で表示される。また、画面モード情報領域８８には、図８の画面に対応する画面モード情報が書き込まれる。そして、ステップＳ５で、ゲーム１プログラム７２ａおよびエミュレータ７２ｂによるゲーム処理、およびその処理結果に基づく上ＬＣＤ１２のゲーム画面（適宜“上画面”のように略記）の更新処理を実行した後、ステップＳ７に進む。
【００９１】
ステップＳ７では、入力情報領域８２を参照して、ステップＳ３の画面モード制御後に下ＬＣＤ１４の操作画面（適宜“下画面”のように略記）へのタッチ操作が行われたか否かを判別し、ＮＯであればステップＳ１に戻る。ステップＳ７でＹＥＳであれば、ステップＳ９に移って、ゲーム処理および上画面更新処理を停止した後、ステップＳ１１に進んで、上下のＬＣＤ１２および１４に図９のような画面を表示させるためのモード制御を行い、制御結果を示す画面モード情報を画面モード領域８８に書き込む。これによって、上ＬＣＤ１２には、タッチ操作時点のゲーム画面（一般に静止画像）が低輝度で表示され、下ＬＣＤ１４には、操作画面が全体として高輝度で表示される。ただし、操作画面内のボタンＢ１〜Ｂ４のうち、ボタンＢ１〜Ｂ３はＡｃｔｉｖｅなので高輝度表示される一方、ボタンＢ４はＮｏｎ−Ａｃｔｉｖｅなので低輝度表示のままである。また、画面モード情報領域８８には、図９の画面に対応する画面モード情報が書き込まれる。
【００９２】
なお、上記ステップＳ７では、タッチ操作に代えて、またはこれに加えて、所定のボタン操作たとえばＸボタン２４ｃの長押し操作の有無を判別してもよい。この場合、図８の画面が表示されている状態で、タッチ操作が検出されるか、あるいはＸボタン２４ｃの長押し操作が検出されたとき、図８の画面は図９の画面ように変化する。一般に、ゲーム装置１０では、画面モードの切り換えのような、ゲームしおり機能の制御のための操作は、本来ゲーム１で利用されない操作手段を利用して行うことが好ましい。
【００９３】
次に、ステップＳ１３で、入力情報領域８２を参照して、ステップＳ１１の画面モード制御後に下画面へのタッチ操作が行われたか否かを判別し、ＮＯであれば、所定時間（たとえば１／６０秒）待機した後、同様の判別を繰り返す。ステップＳ１３の判別結果かＮＯからＹＥＳに変化すると、ステップＳ１５に移って、そのタッチ操作が“ゲームに戻る”を指示しているか否か、具体的には、下画面におけるタッチ位置がボタンＢ１の表示領域内であるか否かを判別し、ここでＹＥＳであればステップＳ１に戻る。これにより、ゲーム１は、停止時点から再開されることになる。
【００９４】
ステップＳ１５でＮＯであれば、ステップＳ１７に移って、そのタッチ操作が“しおりを作る”を指示しているか否か、具体的には、下画面におけるタッチ位置がボタンＢ２の表示領域内であるか否かを判別する。ここでＮＯであれば、そのタッチ操作が“リセット”を指示していると見なして、ステップＳ１９で、プログラム実行用データ領域５０Ｂ内の情報つまり現在の実行状態情報をリセットする。これにより、ゲーム１は最初からやり直しとなる。
【００９５】
ステップＳ１７でＹＥＳであれば、ステップＳ２１で現在の実行状態情報をセーブし、さらにステップＳ２３で、現在のゲーム画面をキャプチャして、そのキャプチャ画像を現在の実行状態情報と対応付けて、ゲーム１しおりデータ７６としてセーブする。より具体的には、画面モード情報領域８８に図９の画面を示す画面モード情報が記憶されている様態で、ボタンＢ２の領域内へのタッチ操作が検出されたとき、エミュレーションハードウェア状態情報領域５０Ｃの内容つまり現在の実行状態情報をしおりセーブ領域４８Ｂにセーブし（Ｓ２１）、これと同時に、ＶＲＡＭ４４ｃの内容つまり現在のゲーム画面を、しおりセーブ領域７６にセーブされた実行状態情報と関連付けてさらにセーブする（Ｓ２３）。こうしてセーブされた実行状態情報およびキャプチャ画像に、ゲーム１プログラム７２ａのゲームＩＤと、ＲＴＣ５６ａの示す現在時刻データ（ゲームしおりの作成日時）とを付加することで、しおりセーブ領域４８Ｂ内にゲーム１しおりデータ７６が形成される。その後、ステップＳ１に戻る。
【００９６】
したがって、ＣＰＵ４４ａの処理は、ゲームしおりが作成されるまで上記ステップＳ１〜Ｓ２３からなるループを巡回し、ゲームしおりが作成されると、このループを抜けてステップＳ２５に移ることになる。
【００９７】
ステップＳ２５では、ゲーム１しおりデータ７２に含まれるキャプチャ画像を（適宜なサイズにリサイズした上で）、下ＬＣＤ表示画像領域８６内の所定位置に貼り込む。そしてステップＳ２７で、上下のＬＣＤ１２および１４に図１０のような画面を表示させるためのモード制御を行い、制御結果を示す画面モード情報を画面モード領域８８に書き込む。これによって、上ＬＣＤ１２には、現在のゲーム画面が高輝度で表示され、下ＬＣＤ１４には、ボタンＢ１〜Ｂ４を含む操作画面が低輝度で表示される。このときボタンＢ４には、キャプチャ画像つまりゲームしおりを作成した時点のゲーム画面が貼り付けられている。また、画面モード情報領域８８には、図１０の画面に対応する画面モード情報が書き込まれる。次に、ステップＳ２９でゲーム処理および上画面更新処理を実行した後、ステップＳ３１に進む。
【００９８】
ステップＳ３１では、入力情報領域８２を参照して、ステップＳ２７の画面モード制御後に下画面へのタッチ操作が行われたか否かを判別し、ＮＯであればステップＳ１に戻る。ステップＳ３１でＹＥＳであれば、ステップＳ３３でゲーム処理および上画面更新処理を停止した後、ステップＳ３５に進んで、上下のＬＣＤ１２および１４に図１１のような画面を表示させるためのモード制御を行い、制御結果を示す画面モード情報を画面モード領域８８に書き込む。これによって、上ＬＣＤ１２には、タッチ操作時点のゲーム画面が低輝度で表示され、下ＬＣＤ１４には、操作画面が全体として高輝度で表示される。ただし、操作画面内のボタンＢ１〜Ｂ４のうち、ボタンＢ１，Ｂ３およびＢ４は、Ａｃｔｉｖｅなので高輝度表示されるが、ボタンＢ２は、Ｎｏｎ−Ａｃｔｉｖｅなので低輝度表示のままである。また、画面モード情報領域８８には、図１１の画面に対応する画面モード情報が書き込まれる。その後、ステップＳ３７に進む。
【００９９】
ステップＳ３７では、入力情報領域８２を参照して、ステップＳ３５の画面モード制御後に下画面へのタッチ操作が行われたか否かを判別し、ＮＯであれば、所定時間待機した後、同様の判別を繰り返す。ステップＳ３７の判別結果かＮＯからＹＥＳに変化すると、ステップＳ３９に移って、そのタッチ操作が“ゲームに戻る”を指示しているか否か、具体的には、下画面におけるタッチ位置がボタンＢ１の表示領域内であるか否かを判別し、ここでＹＥＳであればステップＳ１に戻る。これにより、ゲーム１は、停止時点から再開されることになる。
【０１００】
ステップＳ３９でＮＯであれば、ステップＳ４１に移って、そのタッチ操作が“しおりを読み込む”を指示しているか否か、具体的には、下画面におけるタッチ位置がボタンＢ４の表示領域内であるか否かを判別する。ここでＮＯであれば、そのタッチ操作が“リセット”を指示していると見なして、ステップＳ４３で現在の実行状態情報をリセットする。これにより、ゲーム１は最初からやり直しとなる。
【０１０１】
ステップＳ４１でＹＥＳであれば、ステップＳ４５で、しおりセーブ領域４８Ｂに形成されたゲーム１セーブデータ７６に含まれている実行状態情報をプログラム実行用データ領域５０Ｂおよびエミュレーションハードウェア状態情報領域５０Ｃにロードする。これにより、エミュレーションハードウェア状態情報領域５０Ｃの内容は、ゲームしおり作成時点の状態に復元される。その後、ステップＳ１に戻る。これにより、ゲーム１は、ゲームしおり作成時点に戻って再開されることになる。
【０１０２】
したがって、ＣＰＵ４４ａの処理は、ゲームしおりが作成された後は、上記ステップＳ１およびＳ２５〜Ｓ４５からなるループを巡回することになる。
【０１０３】
なお、この実施例（第１実施例）では、ゲームしおりは、最初に作成された状態のまま保持されるが、これを更新可能にしてもよい。このような実施例（第２実施例）は、図１１に示した画面の一部を図１５のように変更し、図１３および図１４に示したフローの一部（図１４のステップＳ３１〜Ｓ４５の部分）を図１６のように変更することで実現される。図１５の画面では、ボタンＢ２も他のボタンＢ１，Ｂ３およびＢ４と同様にＡｃｔｉｖｅである。図１６のフローでは、ステップＳ３９でＮＯと判別されてステップＳ４１に移る途中に、ステップＳ４０が挿入される。
【０１０４】
ステップＳ４０では、図１３のステップＳ１７と同様に、検出されたタッチ操作が“しおりを作る”を指示しているか否かを判別し、ここでＮＯであればステップＳ４１に移る。ステップＳ４０でＹＥＳであれば、ステップＳ４４ａで現在の実行状態情報をセーブし、さらにステップＳ４４ｂで、現在のゲーム画面をキャプチャして、そのキャプチャ画像を現在の実行状態情報と対応付けて、新たなゲーム１しおりデータ７６としてセーブする。つまり、それまでしおりセーブ領域４８Ｂに記憶されていたゲーム１しおりデータ７６は、こうして作られた（作り直された）ゲーム１しおりデータ７６によって上書きされる。セーブ後、ステップＳ１に戻る。
【０１０５】
上記ステップＳ４０，Ｓ４４ａおよびＳ４４ｂ以外のステップ（Ｓ１〜Ｓ４５）は、先述した実施例で対応するステップ（Ｓ４１〜Ｓ４５）と同様のものであり、詳しい説明を省略する。
【０１０６】
以上から明らかなように、第１実施例または第２実施例によれば、ゲーム装置１０のＣＰＵ４４ａは、エミュレーション実行中のゲームの状態（プログラム実行用データ領域５０Ｂおよび／またはエミュレーションハードウェア状態情報領域５０Ｃの内容）を実行状態情報としてしおりセーブ領域４８Ｂに記憶し、同時に、ゲーム画面のキャプチャ画像を実行状態情報と対応付けて記憶する（Ｓ２１，Ｓ２３，Ｓ４４ａ，Ｓ４４ｂ）。また、ゲームの実行中に、ゲーム画面を上ＬＣＤ１２に表示したまま、しおりセーブ領域４８Ｂに記憶されたキャプチャ画像を下ＬＣＤ１４に表示し（Ｓ３５，Ｓ３５ａ）、こうしてゲーム画面およびキャプチャ画像を表示している状態において、ユーザからの選択操作を受け付ける（Ｓ４１）。そして、選択操作に応じて、選択されたキャプチャ画像に対応付けられた実行状態情報を用いてゲームの状態を復元する（Ｓ４５）。
【０１０７】
こうして、セーブした実行状態情報のロード時に、実行中のゲーム画面と、セーブ実行時点のキャプチャ画像とを同時に表示することで、実行中の状態とセーブされている状態とを比較しつつロードするかどうかを決めることができる。このため、間違えてロードしてしまって、ロード前の状態より不利な状態になったりすることを防止できる。
【０１０８】
なお、第１実施例または第２実施例では、ゲームしおりは１つのゲームにつき１個であったが、１つのゲームにつき複数個を作成可能としてもよい。具体的には、たとえば上記の第２実施例において、ステップＳ４４ｂで新たなゲームしおりをセーブする際に、元のゲームしおりを上書きする代わりに、元のゲームしおりはそのままで、新たなゲームしおりを追記するように変更される。この場合、図１５の画面では、ゲームしおりを読み込むためのボタンＢ４は、作成されたゲームしおりの数だけ表示される（Ｂ４ａ，Ｂ４ｂ…:図示せず）。あるいは、ボタンＢ４は１個のままで、そのボタンＢ４上に複数のゲームしおりを頁めくり可能に表示すれば、ボタン数の増加を抑制できて、より好ましい。さらに、ゲームしおりを削除するためのボタン（図示せず）を追加するなどして、任意のゲームしおりを選択的に（または全てのゲームしおりを一括的に）削除可能とすれば、ゲームしおりの管理が容易になるので、よりいっそう好ましい。
【０１０９】
なお、第１実施例または第２実施例では、エミュレーション実行する対象は２Ｄ表示用のゲームプログラムであるとしたが、３Ｄ表示用のゲームプログラムをエミュレーション実行してもよい。または、２Ｄ表示用のゲームプログラムをエミュレーション実行する際に、２Ｄ表示から３Ｄ表示への変換を行ってもよい。具体的には、２Ｄ表示用のゲーム画面を上ＬＣＤ１２に３Ｄ表示する場合、図５を参照して、ＣＰＵ４４ａは、上ＬＣＤ表示画像領域８４に記憶されたゲーム画面の画像データから視差付きの左右の画像データを生成して、ＶＲＡＭ４４ｃに左画像４４Ｌおよび右画像４４Ｒとして書き込めばよい。
【０１１０】
また、第１実施例または第２実施例では、各ゲームプログラムに専用のエミュレータプログラムを準備したが、汎用的なエミュレータプログラムを準備してもよい。
【０１１１】
また、第１実施例または第２実施例では、エミュレータプログラム７２ｂは、他のゲーム装置（のハードウェア）をエミュレートして、当該エミュレートした擬似的（仮想的）なゲーム装置（ハードウェア）でゲームプログラム７２ａを実行したが、ゲームプログラム７２ａ自体をエミュレーションして（エミュレートしながら）実行するものであってもよく、この場合、メインメモリ５０（図１２（Ｂ）参照）からは、エミュレーションハードウェア状態情報領域５０Ｃが削除される。そして、しおりセーブ領域４８Ｂに実行状態情報としてセーブされるのは、主としてプログラム実行用データ領域５０Ｂの内容となる。
【０１１２】
以上では、ゲーム装置１０について説明したが、この発明は、メモリ（たとえばＲＡＭ，フラッシュメモリなどの半導体メモリのほか、ハードディスクや光ディスクなどの記憶媒体でもよい）、表示面（ＬＣＤなど）、およびコンピュータ（ＣＰＵ，ＳｏＣ，プロセッサ，マイコンなど）を有する各種の情報処理装置（ゲーム機のほか、たとえば携帯電話機，ＰＤＡ，各種情報家電など）に対して適用できる。なお、メモリおよび／または表示面は外付けでもよい。この発明はまた、セーブ機能制御のための各処理が複数のコンピュータ等によって分散処理されるような表示制御システムにも適用可能である。さらには、このような情報処理装置ないしシステムのためのゲームプログラムや、ゲーム以外のアプリケーションプログラムなどにも適用可能である。アプリケーションプログラムに適用する場合、発明の詳細な説明および図８〜図１６に記された「ゲーム」は、「アプリケーション」に読み替えられる。
【符号の説明】
【０１１３】
１０  …ゲーム装置
１２  …上ＬＣＤ（立体ＬＣＤ）
１４  …下ＬＣＤ
１６  …タッチパネル
２４ａ〜２４ｄ  …ＡＢＸＹボタン
２４ｇ  …十字キー（上下左右ボタン）
２６  …アナログパッド
４４  …ＳｏＣ
４４ａ  …ＣＰＵ
４８  …ＮＡＮＤフラッシュメモリ
５０  …メインメモリ
【図１】
0005602560.tif 000002
【図２】
0005602560.tif 000003
【図３】
0005602560.tif 000004
【図４】
0005602560.tif 000005
【図５】
0005602560.tif 000006
【図６】
0005602560.tif 000007
【図７】
0005602560.tif 000008
【図８】
0005602560.tif 000009
【図９】
0005602560.tif 000010
【図１０】
0005602560.tif 000011
【図１１】
0005602560.tif 000012
【図１２】
0005602560.tif 000013
【図１３】
0005602560.tif 000014
【図１４】
0005602560.tif 000015
【図１５】
0005602560.tif 000016
【図１６】
0005602560.tif 000017