(57)【特許請求の範囲】
【請求項１】
物体の位置を順次検出する第１の検出面及び第２の検出面の少なくとも一方に対する操作をエミュレートするエミュレーション装置であって、
操作入力装置が備える第１の操作スティック及び第２の操作スティックのそれぞれに対応付けられる画像が表示されるよう制御する表示制御部と、
前記画像が表示されている位置に対応付けられる前記検出面上の位置が検出された際に実行される処理を実行する処理実行部と、を含み、
前記表示制御部は、前記第１の操作スティックが操作された向きに応じて前記第１の操作スティックに対応付けられる画像が表示されている位置を変化させ、
前記表示制御部は、前記第２の操作スティックが操作された向きに応じて前記第２の操作スティックに対応付けられる画像が表示されている位置を変化させ、
前記処理実行部は、前記第１の操作スティックに対する所定の操作に応じて前記第１の操作スティックに対応付けられる画像が表示されている位置に対応付けられる前記検出面上の位置が検出された際に実行される処理を実行し、
前記処理実行部は、前記第２の操作スティックに対する所定の操作に応じて前記第２の操作スティックに対応付けられる画像が表示されている位置に対応付けられる前記検出面上の位置が検出された際に実行される処理を実行し、
前記表示制御部は、前記第１の検出面に対する操作をエミュレートする場合と前記第２の検出面に対する操作をエミュレートする場合とで互いに異なる画像が表示されるよう制御する、
ことを特徴とするエミュレーション装置。
【請求項２】
前記表示制御部は、前記第１の検出面及び前記第２の検出面の両方に対する操作をエミュレートする場合は、前記第１の検出面に対する操作をエミュレートする場合とも前記第２の検出面に対する操作をエミュレートする場合とも異なる画像が表示されるよう制御する、
ことを特徴とする請求項１に記載のエミュレーション装置。
【請求項３】
物体の位置を順次検出する検出面に対する操作をエミュレートするエミュレーション装置であって、
操作入力装置が備える第１の操作スティック及び第２の操作スティックのそれぞれに対応付けられる画像が表示されるよう制御する表示制御部と、
前記画像が表示されている位置に対応付けられる前記検出面上の位置が検出された際に実行される処理を実行する処理実行部と、を含み、
前記表示制御部は、前記第１の操作スティックが操作された向きに応じて前記第１の操作スティックに対応付けられる画像が表示されている位置を変化させ、
前記表示制御部は、前記第２の操作スティックが操作された向きに応じて前記第２の操作スティックに対応付けられる画像が表示されている位置を変化させ、
前記処理実行部は、前記第１の操作スティックに対する所定の操作に応じて前記第１の操作スティックに対応付けられる画像が表示されている位置に対応付けられる前記検出面上の位置が検出された際に実行される処理を実行し、
前記処理実行部は、前記第２の操作スティックに対する所定の操作に応じて前記第２の操作スティックに対応付けられる画像が表示されている位置に対応付けられる前記検出面上の位置が検出された際に実行される処理を実行し、
前記表示制御部は、前記第１の操作スティック及び前記第２の操作スティックに対応付けられる画像が表示されている場合に、操作入力がない状態で所定時間が経過した際に、前記第２の操作スティックに対応付けられる画像が表示されなくなるよう制御する、
ことを特徴とするエミュレーション装置。
【請求項４】
前記表示制御部は、前記第２の操作スティックに対応付けられる画像が表示されていない場合に、前記第２の操作スティックに対して所定の操作が行われた際に、前記第２の操作スティックに対応付けられる画像が表示されるよう制御する、
ことを特徴とする請求項３に記載のエミュレーション装置。
【請求項５】
物体の位置を順次検出する第１の検出面及び第２の検出面の少なくとも一方に対する操作をエミュレートするエミュレーション方法であって、
第１の操作スティックが操作された向きに応じて前記第１の操作スティックに対応付けられる画像が表示されている位置を変化させるステップと、
第２の操作スティックが操作された向きに応じて前記第２の操作スティックに対応付けられる画像が表示されている位置を変化させるステップと、
前記第１の操作スティックに対する所定の操作に応じて前記第１の操作スティックに対応付けられる画像が表示されている位置に対応付けられる前記検出面上の位置が検出された際に実行される処理を実行するステップと、
前記第２の操作スティックに対する所定の操作に応じて前記第２の操作スティックに対応付けられる画像が表示されている位置に対応付けられる前記検出面上の位置が検出された際に実行される処理を実行するステップと、
前記第１の検出面に対する操作をエミュレートする場合と前記第２の検出面に対する操作をエミュレートする場合とで互いに異なる画像が表示されるよう制御するステップと、
を含むことを特徴とするエミュレーション方法。
【請求項６】
物体の位置を順次検出する検出面に対する操作をエミュレートするエミュレーション方法であって、
第１の操作スティックが操作された向きに応じて前記第１の操作スティックに対応付けられる画像が表示されている位置を変化させるステップと、
第２の操作スティックが操作された向きに応じて前記第２の操作スティックに対応付けられる画像が表示されている位置を変化させるステップと、
前記第１の操作スティックに対する所定の操作に応じて前記第１の操作スティックに対応付けられる画像が表示されている位置に対応付けられる前記検出面上の位置が検出された際に実行される処理を実行するステップと、
前記第２の操作スティックに対する所定の操作に応じて前記第２の操作スティックに対応付けられる画像が表示されている位置に対応付けられる前記検出面上の位置が検出された際に実行される処理を実行するステップと、
前記第１の操作スティック及び前記第２の操作スティックに対応付けられる画像が表示されている場合に、操作入力がない状態で所定時間が経過した際に、前記第２の操作スティックに対応付けられる画像が表示されなくなるよう制御するステップと、
を含むことを特徴とするエミュレーション方法。
【請求項７】
物体の位置を順次検出する第１の検出面及び第２の検出面の少なくとも一方に対する操作をエミュレートするコンピュータに実行させるプログラムであって、
第１の操作スティックが操作された向きに応じて前記第１の操作スティックに対応付けられる画像が表示されている位置を変化させる手順、
第２の操作スティックが操作された向きに応じて前記第２の操作スティックに対応付けられる画像が表示されている位置を変化させる手順、
前記第１の操作スティックに対する所定の操作に応じて前記第１の操作スティックに対応付けられる画像が表示されている位置に対応付けられる前記検出面上の位置が検出された際に実行される処理を実行する手順、
前記第２の操作スティックに対する所定の操作に応じて前記第２の操作スティックに対応付けられる画像が表示されている位置に対応付けられる前記検出面上の位置が検出された際に実行される処理を実行する手順、
前記第１の検出面に対する操作をエミュレートする場合と前記第２の検出面に対する操作をエミュレートする場合とで互いに異なる画像が表示されるよう制御する手順、
を前記コンピュータに実行させることを特徴とするプログラム。
【請求項８】
物体の位置を順次検出する検出面に対する操作をエミュレートするコンピュータに実行させるプログラムであって、
第１の操作スティックが操作された向きに応じて前記第１の操作スティックに対応付けられる画像が表示されている位置を変化させる手順、
第２の操作スティックが操作された向きに応じて前記第２の操作スティックに対応付けられる画像が表示されている位置を変化させる手順、
前記第１の操作スティックに対する所定の操作に応じて前記第１の操作スティックに対応付けられる画像が表示されている位置に対応付けられる前記検出面上の位置が検出された際に実行される処理を実行する手順、
前記第２の操作スティックに対する所定の操作に応じて前記第２の操作スティックに対応付けられる画像が表示されている位置に対応付けられる前記検出面上の位置が検出された際に実行される処理を実行する手順、
前記第１の操作スティック及び前記第２の操作スティックに対応付けられる画像が表示されている場合に、操作入力がない状態で所定時間が経過した際に、前記第２の操作スティックに対応付けられる画像が表示されなくなるよう制御する手順、
を前記コンピュータに実行させることを特徴とするプログラム。
【請求項９】
請求項７又は８に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エミュレーション装置、エミュレーション方法、プログラム及び情報記憶媒体に関する。
【背景技術】
【０００２】
ゲーム装置は、大まかに携帯型のものと据置型のものに分類される。携帯型のゲーム装置には、物体の位置を順次検出する検出面を有するタッチセンサを備えたものが多く存在する。このようなゲーム装置ではタッチセンサによる操作入力が可能となっている。一方、据置型のゲーム装置への操作入力はコントローラにより行われることが多い。このようなコントローラには操作スティックを備えたものがある。このような操作スティックには、傾けたり傾けた状態で回転させたりすることが可能なものや、上下左右にスライド操作を行うことが可能なものが存在する。操作スティックを備えたコントローラは、操作スティックが操作された向きや大きさに応じた信号をゲーム装置に送信する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
発明者らはタッチセンサを備えたゲーム装置をエミュレートするエミュレーション装置を開発している。以下、エミュレートの対象となるゲーム装置をターゲット装置と呼ぶこととする。ターゲット装置で実行可能なプログラムは、当該エミュレーション装置でも実行可能となる。【０００４】
ターゲット装置で実行可能なプログラムのなかには、タッチセンサの検出面に対する操作が必須であるものがある。このようなプログラムをエミュレーション装置でも使えるものにするためには、検出面に対する操作を何らかの形でエミュレートする必要がある。【０００５】
ここで発明者らは、検出面上において物体の位置が検出された際に実行される処理が操作スティックに対する操作によって実行できるようにしてみた。すると、操作スティックを操作する向きを指やスタイラスで検出面をなぞる向きに対応付けることで、操作スティックに対する操作の操作感が、検出面をなぞる操作の操作感と近くなり、良好な操作感が得られることがわかった。【０００６】
以上のようにすることで、コントローラがタッチセンサを備えていなくても、検出面に対する操作が操作感よくエミュレートできることとなる。また、コントローラがタッチセンサを備えている場合についても、検出面に対する操作が操作スティックに対する操作によって操作感よくエミュレートでき、操作の幅が広がることとなる。【０００７】
なおこのことは、ターゲット装置をエミュレートするエミュレーション装置だけにあてはまるものではない。例えばターゲット装置が操作スティックを備えている場合についても、以上のようにすることで、当該ターゲット装置が備えるタッチセンサの検出面に対する操作が当該操作スティックに対する操作によって操作感よくエミュレートできることとなる。【０００８】
本発明は上記課題に鑑みてなされたものであって、その目的の１つは、検出面に対する操作を操作感よくエミュレートできるエミュレーション装置、エミュレーション方法、プログラム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明に係るエミュレーション装置は、物体の位置を順次検出する検出面に対する操作をエミュレートするエミュレーション装置であって、操作スティックが操作された向きに対応付けられる入力データを取得する入力データ取得部と、前記入力データに応じた向きに沿った配置である前記検出面内の複数の位置の関係を決定する決定部と、決定される前記関係に従って配置された複数の位置が前記検出面上において順に検出された際に実行される処理を実行する処理実行部と、を含むことを特徴とする。【００１０】
また、本発明に係るエミュレーション方法は、物体の位置を順次検出する検出面に対する操作をエミュレートするエミュレーション方法であって、操作スティックが操作された向きに対応付けられる入力データを取得する入力データ取得ステップと、前記入力データに応じた向きに沿った配置である前記検出面内の複数の位置の関係を決定する決定ステップと、決定される前記関係に従って配置された複数の位置が前記検出面上において順に検出された際に実行される処理を実行する処理実行ステップと、を含むことを特徴とする。【００１１】
また、本発明に係るプログラムは、物体の位置を順次検出する検出面に対する操作をエミュレートするコンピュータに実行させるプログラムであって、操作スティックが操作された向きに対応付けられる入力データを取得する手順、前記入力データに応じた向きに沿った配置である前記検出面内の複数の位置の関係を決定する手順、決定される前記関係に従って配置された複数の位置が前記検出面上において順に検出された際に実行される処理を実行する手順、を含むことを特徴とする。【００１２】
また、本発明に係る情報記憶媒体は、物体の位置を順次検出する検出面に対する操作をエミュレートするコンピュータに実行させるプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体であって、操作スティックが操作された向きに対応付けられる入力データを取得する手順、前記入力データに応じた向きに沿った配置である前記検出面内の複数の位置の関係を決定する手順、決定される前記関係に従って配置された複数の位置が前記検出面上において順に検出された際に実行される処理を実行する手順、を前記コンピュータに実行させることを特徴とするプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。【００１３】
本発明では、入力データに応じた向きに沿った配置である検出面内の複数の位置の関係が決定されて、決定される関係に従って配置された複数の位置が検出面上において順に検出された際に実行される処理が実行される。このようにして、本発明によれば、検出面に対する操作を操作感よくエミュレートできることとなる。【００１４】
本発明の一態様では、前記入力データ取得部は、前記操作スティックが操作された向き及び大きさに対応付けられる入力データを取得し、前記決定部は、前記入力データに対応付けられる大きさが大きいほど間隔が長くなるよう前記複数の位置の関係を決定する。【００１５】
また、本発明の一態様では、前記決定部は、前記検出面内の位置を決定し、前記入力データ取得部は、前記入力データを順次取得し、前記決定部は、前記入力データが取得される度に、前回決定した位置から前記入力データに基づいて決定される向きに沿って離れた位置を決定し、前記処理実行部は、前記決定部により複数回決定される位置が当該位置に対応付けられる前記入力データの取得順序に従って順に検出された際に実行される処理を実行する。【００１６】
この態様では、前記決定部が決定する位置の前記検出面内における位置と略一致する表示部内の位置に画像を表示させる表示制御部、をさらに含んでもよい。【００１７】
またこの態様では、前記エミュレーション装置は、多点検出可能な前記検出面に対する操作をエミュレートし、前記入力データ取得部は、複数の操作スティックのそれぞれが操作された向きに対応付けられる前記入力データを順次取得し、前記決定部は、前記入力データが取得される度に、それぞれ前記複数の操作スティックのいずれかに対応付けられる前記検出面内における複数の位置を決定し、前記処理実行部は、前記決定部により複数回決定される複数の位置が、当該複数の位置に対応付けられる前記入力データの取得順序に従って順に検出された際に実行される処理を実行してもよい。【００１８】
また、本発明に係る別のエミュレーション装置は、タッチセンサに対する入力操作をエミュレートするエミュレーション装置であって、プログラムを実行する実行部と、操作子からの操作入力を受け付けるコントローラと、受け付ける操作入力を前記タッチセンサに対する操作入力に変換する変換部と、を含み、前記実行部は、前記変換部による変換後の前記操作入力に基づいて前記プログラムを実行する、ことを特徴とする。【００１９】
また、本発明に係る別のエミュレーション方法は、タッチセンサに対する入力操作をエミュレートするエミュレーション方法であって、プログラムを実行する実行ステップと、操作子からの操作入力を受け付けるコントローラが受け付ける操作入力を前記タッチセンサに対する操作入力に変換する変換ステップと、を含み、前記実行ステップでは、前記変換部による変換後の前記操作入力に基づいて前記プログラムを実行する、ことを特徴とする。【００２０】
また、本発明に係る別のプログラムは、タッチセンサに対する入力操作をエミュレートするコンピュータに実行させるプログラムであって、実行対象のプログラムを実行する手順、操作子からの操作入力を受け付けるコントローラが受け付ける操作入力を前記タッチセンサに対する操作入力に変換する手順、を前記コンピュータに実行させ、前記実行する手順では、前記変換部による変換後の前記操作入力に基づいて前記実行対象のプログラムを実行する、ことを特徴とする。【００２１】
また、本発明に係る別の情報記憶媒体は、タッチセンサに対する入力操作をエミュレートするコンピュータに実行させるプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体であって、実行対象のプログラムを実行する手順、操作子からの操作入力を受け付けるコントローラが受け付ける操作入力を前記タッチセンサに対する操作入力に変換する手順、を前記コンピュータに実行させ、前記実行する手順では、前記変換部による変換後の前記操作入力に基づいて前記実行対象のプログラムを実行する、ことを特徴とするプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。【００２２】
本発明の一態様では、前記プログラムは、タッチセンサに対する入力操作を想定して作成されたプログラムである。【００２３】
また、本発明の一態様では、前記受け付ける操作入力は、操作子が傾倒された向き又は大きさの少なくとも一方に対応付けられる。【００２４】
また、本発明の一態様では、タッチセンサに対する入力操作のエミュレート開始指示の受付に応じて、前記タッチセンサに対する入力操作が行われる位置をエミュレートする位置を示す画像を表示部に表示させる表示制御部、をさらに含む。
【図面の簡単な説明】
【００２５】
【図１】本発明の一実施形態に係る情報処理システムの全体構成の一例を示す図である。
【図２】本発明の一実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。
【図３Ａ】本発明の一実施形態に係るコントローラの一例の斜視図である。
【図３Ｂ】本発明の一実施形態に係るコントローラの一例の平面図である。
【図３Ｃ】本発明の一実施形態に係るコントローラの一例の背面図である。
【図４Ａ】ターゲット装置の一例の正面図である。
【図４Ｂ】ターゲット装置の一例の背面図である。
【図５】ターゲット装置のハードウェア構成の一例を示す図である。
【図６】エミュレート位置と検出位置との関係の一例を示す図である。
【図７】エミュレート位置と検出位置との関係の一例を示す図である。
【図８】エミュレート位置と検出位置との関係の一例を示す図である。
【図９】姿勢データの値と加速度パラメータの値との関係の一例を示す図である。
【図１０】速度パラメータの値やエミュレート位置の座標値を決定する規則の一例を示す図である。
【図１１】ポインタ画像が配置された画面の一例を示す図である。
【図１２】ポインタ画像が配置された画面の一例を示す図である。
【図１３】ポインタ画像が配置された画面の一例を示す図である。
【図１４】ポインタ画像が配置された画面の一例を示す図である。
【図１５】ポインタ画像が配置された画面の一例を示す図である。
【図１６】ポインタ画像が配置された画面の一例を示す図である。
【図１７】動作モードの遷移規則の一例を示す図である。
【図１８】本発明の一実施形態に係るエミュレーション装置で実現される機能の一例を示す機能ブロック図である。
【図１９】本発明の一実施形態に係るエミュレーション装置で行われる処理の流れの一例を示すフロー図である。
【発明を実施するための形態】
【００２６】
以下、本発明の一実施形態について図面に基づき詳細に説明する。
【００２７】
図１は、本発明の一実施形態に係る情報処理システム１０の全体構成の一例を示す図である。図１に示すように、本実施形態に係る情報処理システム１０は、エミュレーション装置１２とコントローラ１４とディスプレイ１６とを含んでいる。
【００２８】
本実施形態に係るエミュレーション装置１２は、後述する携帯型の情報処理装置（図４Ａ及び図４Ｂ参照）をエミュレートする情報処理装置であり、例えば図２に示すように、制御部２０、記憶部２２、通信部２４、入出力部２６、カードスロット２８を含んでいる。制御部２０は、例えばエミュレーション装置１２にインストールされるプログラムに従って動作するＣＰＵ等のプログラム制御デバイスである。記憶部２２は、例えばＲＯＭやＲＡＭ等の記憶素子やハードディスクドライブなどである。記憶部２２には、制御部２０によって実行されるプログラムなどが記憶される。通信部２４は、例えばネットワークボードや無線ＬＡＮモジュールなどの通信インタフェースなどである。入出力部２６は、ＨＤＭＩ（登録商標）（High-Definition Multimedia Interface）ポートやＵＳＢポートなどの入出力ポートである。カードスロット２８は、各種のメモリカード等の情報記憶媒体を挿抜可能なスロットである。カードスロット２８は、制御部２０からの指示に従って、カードスロット２８に挿入されるメモリカード等の情報記憶媒体に記録されたプログラムやデータなどの読み取りや、挿入されるメモリカード等の情報記憶媒体へのデータの書き込みを行う。なお、エミュレーション装置１２は、複数のカードスロット２８を備えていてもよく、これら複数のカードスロット２８が、互いに異なる規格である情報記憶媒体を挿抜可能であってもよい。
【００２９】
本実施形態に係るコントローラ１４は、エミュレーション装置１２に対する操作入力を行うための操作入力装置である。図３Ａは、本実施形態に係るコントローラ１４の一例の斜視図である。図３Ｂは、当該コントローラ１４の平面図である。図３Ｃは、当該コントローラ１４の背面図である。
【００３０】
これらの図に示されるように、コントローラ１４は、横長の本体部分に対して、その左右から手前側（図３Ｂにおける紙面下側）に突出する把持部ＧＬ、ＧＲを有している。ユーザは、把持部ＧＬ、ＧＲをそれぞれ左右の手で把持してコントローラ１４を使用する。
【００３１】
コントローラ１４の上面左側の、ユーザが把持部ＧＬを左手で把持した状態でその親指により操作可能な位置には、４つの方向キーＤＫ１〜ＤＫ４や操作スティックＳＬなどが配置されている。コントローラ１４の上面右側の、ユーザが把持部ＧＲを右手で把持した状態でその親指により操作可能な位置には、４つのボタンＢ１〜Ｂ４や操作スティックＳＲが設けられている。コントローラ１４の背面左側の、ユーザが把持部ＧＬを左手で把持した状態でその人差し指や中指により操作可能な位置には、ボタンＢＬ１、ＢＬ２が設けられている。コントローラ１４の背面右側の、ユーザが把持部ＧＲを右手で把持した状態でその人差し指や中指により操作可能な位置には、背面ボタンＢＲ１、ＢＲ２が設けられている。また、本実施形態に係るコントローラ１４には、その他のボタン等の操作子も設けられている。ユーザは、方向キーＤＫ１〜ＤＫ４、ボタンＢ１〜Ｂ４、ＢＬ１、ＢＬ２、ＢＲ１、ＢＲ２を押下したり、操作スティックＳＬ、ＳＲを傾けたりすることで、コントローラ１４を用いて各種の操作入力を行うことができる。そして本実施形態では、コントローラ１４は、操作入力に対応付けられる入力データをエミュレーション装置１２に出力する。
【００３２】
操作スティックＳＬ、ＳＲは、コントローラ１４の筐体表面に直立したスティック状の操作部材であり、この直立状態から全方位に所定角度だけ傾倒自在となっている。図３Ｂに示すように、コントローラ１４の筐体長手方向をＸ１軸方向（図３Ｂにおいて右方向を正方向とする。）とし、このＸ軸方向に直交する筐体奥行き方向をＹ１軸方向（図３Ｂにおいて上方向を正方向とする。）とすると、操作スティックＳＬ、ＳＲの姿勢（操作状態）は、Ｘ１軸方向及びＹ１軸方向の傾き（姿勢データ（Ｘ１，Ｙ１））として、それぞれ０〜２５５のディジタル値がエミュレーション装置１２に入力されるようになっている。具体的には、Ｘ１＝１２７やＸ１＝１２８付近は、操作スティックＳＬ、ＳＲがＸ１軸方向に傾いていないことを示す。また、Ｘ１＝２５５は、操作スティックＳＬ、ＳＲがＸ１軸の正方向（図３Ｂにおいて右方向）に限界まで倒れていることを示す。さらに、Ｘ１＝０は、操作スティックＳＬ、ＳＲがＸ１軸の負方向（図３Ｂにおいて左方向）に限界まで倒れていることを示す。Ｙ１軸方向についても同様である。本実施形態に係る姿勢データは、上述の入力データにその一部として含まれるデータである。
【００３３】
こうして、エミュレーション装置１２では、操作スティックＳＬ、ＳＲの現在の傾き状態（姿勢）を把握できるようになっている。また、操作スティックＳＬ、ＳＲは、感圧ボタンとしても構成されており、スティックの軸方向に押下できるようになっている。
【００３４】
また、本実施形態に係るコントローラ１４は、角速度を検出するジャイロセンサ、加速度を検出する加速度センサ等のセンサを備えている。
【００３５】
また、本実施形態に係るコントローラ１４は、ＵＳＢポートを備えている。コントローラ１４は、ＵＳＢケーブルでエミュレーション装置１２と接続することで、入出力部２６を介して有線で入力データをエミュレーション装置１２に出力することができる。また、本実施形態に係るコントローラ１４は、無線通信モジュール等を備えており、通信部２４を介して無線で入力データをエミュレーション装置１２に出力することができるようにもなっている。また、本実施形態に係るコントローラ１４は、ＵＳＢケーブルで接続されたエミュレーション装置１２から給電を受けることができる。
【００３６】
本実施形態に係るディスプレイ１６は、液晶ディスプレイや有機ＥＬディスプレイ等である。本実施形態では、エミュレーション装置１２とディスプレイ１６とは、入出力部２６を介して、ＨＤＭＩ（登録商標）（High-Definition Multimedia Interface）ケーブル等のケーブルにより接続されている。
【００３７】
図４Ａ及び図４Ｂに、本実施形態に係るエミュレーション装置１２によるエミュレートの対象となる携帯型の情報処理装置の一例を示す。図４Ａ及び図４Ｂに示す情報処理装置をターゲット装置３０と呼ぶこととする。図４Ａは、ターゲット装置３０の一例の正面図である。図４Ｂは、当該ターゲット装置３０の背面図である。図５は、当該ターゲット装置３０のハードウェア構成の一例を示す図である。上述のように、本実施形態に係るエミュレーション装置１２は、当該ターゲット装置３０をエミュレートする。
【００３８】
本実施形態に係るターゲット装置３０は、全体として略矩形の平板状の形状をしている。以下では、筐体の横方向（幅方向）をＸ２軸方向、縦方向（高さ方向）をＹ２軸方向とする。また、本実施形態では、筐体の前面から見て左から右へ向かう方向がＸ２軸正方向、筐体の前面から見て下から上へ向かう方向がＹ２軸正方向となっている。
【００３９】
本実施形態では、ターゲット装置３０は、図４Ａ、図４Ｂ、及び、図５に示すように、制御部４０、記憶部４２、通信部４４、入出力部４６、カードスロット４８、表示部５０、タッチセンサ５２、操作キー５４、センサ部５６を備えている。
【００４０】
制御部４０、記憶部４２、通信部４４、入出力部４６、カードスロット４８の役割は、それぞれ、エミュレーション装置１２における制御部２０、記憶部２２、通信部２４、入出力部２６、カードスロット２８の役割と同様である。
【００４１】
表示部５０は、液晶ディスプレイや有機ＥＬディスプレイ等である。
【００４２】
タッチセンサ５２は、所定の時間間隔で、検出面上における物体（例えば、指等）の接触を順次検出するセンサである。本実施形態に係るターゲット装置３０は、２つのタッチセンサ５２（表面タッチセンサ５２ａ、及び、裏面タッチセンサ５２ｂ）を備えている。本実施形態に係るターゲット装置３０の筐体の正面には、表示部５０と表面タッチセンサ５２ａとが一体となったタッチパネル５８が設けられている。本実施形態に係るタッチセンサ５２は、例えば静電容量式や感圧式、光学式など、検出面上における物体の位置を検出可能なデバイスであれば、どのような方式のものであってもよい。なお、本実施形態では、表面タッチセンサ５２ａも裏面タッチセンサ５２ｂも、複数の位置（例えば、最大８つの位置）での物体の接触を検出可能な多点検出型タッチセンサであることとする。
【００４３】
本実施形態では、裏面タッチセンサ５２ｂの上下方向の長さは、表面タッチセンサ５２ａの上下方向の長さよりも短い。そして、裏面タッチセンサ５２ｂは、表面タッチセンサ５２ａに対して上方向にオフセットしている。また、表面タッチセンサ５２ａの上縁の位置と裏面タッチセンサ５２ｂの上縁の位置とは上下方向において概ね一致している。また、左右方向の長さについては、表面タッチセンサ５２ａと裏面タッチセンサ５２ｂとで概ね一致している。また、表面タッチセンサ５２ａや裏面タッチセンサ５２ｂはターゲット装置３０の左右方向の中心に位置している。
【００４４】
操作キー５４は、ユーザがターゲット装置３０に対して行う操作入力に用いる操作部の一種である。本実施形態に係る操作キー５４には、例えば、方向キーＤＫ１（Ｔ）〜ＤＫ４（Ｔ）、ボタンＢ１（Ｔ）〜Ｂ４（Ｔ）、ＢＬ１（Ｔ）、ＢＲ１（Ｔ）、操作スティックＳＬ（Ｔ）、ＳＲ（Ｔ）、などが含まれる。方向キーＤＫ１（Ｔ）〜ＤＫ４（Ｔ）は筐体正面左側に配置されている。ボタンＢ１（Ｔ）〜Ｂ４（Ｔ）は筐体正面右側に配置されている。操作スティックＳＬ（Ｔ）、ＳＲ（Ｔ）は筐体正面の左右両側に２つ配置されている。ボタンＢＬ１（Ｔ）は、筐体の正面から見て筐体の上側面左側に配置されている。ボタンＢＲ１（Ｔ）は、筐体の正面から見て筐体の上側面右側に配置されている。操作スティックＳＬ（Ｔ）、ＳＲ（Ｔ）は、上下左右にスライド可能となっている。
【００４５】
センサ部５６は、ターゲット装置３０の姿勢を検出するデバイスである。本実施形態に係るセンサ部５６は、例えば、３軸ジャイロセンサ、３軸モーションセンサ（３軸加速度センサ）、電子コンパス、を含んでいる。
【００４６】
本実施形態では例えば、ターゲット装置３０で実行可能なプログラムを、エミュレーション装置１２で実行することができるようになっている。当該プログラムを、以下、ターゲットプログラムと呼ぶこととする。ターゲットプログラムは、ターゲット装置３０のカードスロット４８に挿入可能なメモリカードを介して、ターゲット装置３０に供給される。また、ターゲットプログラムは、エミュレーション装置１２のカードスロット２８に挿入可能なメモリカードを介して、エミュレーション装置１２に供給される。
【００４７】
本実施形態に係るエミュレーション装置１２は、所定のフレームレートで（例えば１／６０秒毎に）、コントローラ１４に対する操作入力を示す入力データを取得する。そして、本実施形態に係るエミュレーション装置１２は、ターゲットプログラムを実行することにより、所定のフレームレートで、当該入力データの取得に応じて、当該入力データ等に応じた処理を実行する。例えば、所定のフレームレートで、当該入力データに応じた画面を表すデータの生成及び当該データのディスプレイ１６への出力が行われる。本実施形態では、ディスプレイ１６には、横９６０ピクセル、縦５４４ピクセルの解像度で当該データが表す画面が表示されることとする。
【００４８】
また本実施形態では、ターゲットプログラムには、実行されている装置がターゲット装置３０であるかエミュレーション装置１２であるかを判別する処理が実装されている。そして、当該判別の結果に応じて、ターゲットプログラムは、コントローラ１４に対する操作入力、又は、ターゲット装置３０が備えるタッチセンサ５２や操作キー５４に対する操作入力のいずれを、実行される処理の基礎となる操作入力として取り扱うかを決定する。
【００４９】
また、本実施形態に係るエミュレーション装置１２では、所定の操作を行うことで、ターゲット装置３０におけるタッチセンサ５２の検出面に対する操作をエミュレーション装置１２でエミュレートできるか否かを設定することができるようになっている。エミュレーション装置１２が実行しているターゲットプログラムがターゲット装置３０における検出面に対する操作を前提としたものであることがある。すなわち、ターゲットプログラムが、タッチセンサに対する入力操作を想定して作成されたプログラムであることがある。このような場合には、何らかの形でターゲット装置３０における検出面に対する操作をエミュレートできないと、処理を進めることができない。本実施形態では、上述のように処理を進めることができない状況が発生しても、上述の所定の操作を行うことで、検出面に対する操作をエミュレートできるよう設定することで、処理を進めることができるようになっている。
【００５０】
以下の説明では、エミュレーション装置１２が、ターゲット装置３０におけるタッチセンサ５２の検出面に対する操作をエミュレーション装置１２で行えるように設定されていることとする。当該設定がされている際には、エミュレーション装置１２は、タッチセンサ５２の検出面に対する操作をエミュレートできない通常モードとエミュレートできるタッチポインタモードの２つの動作モードを自由に切り替えることができる。以下、通常モードをＮモード、タッチポインタモードをＴＰモードと呼ぶこととする。
【００５１】
動作モードがＮモードである場合は、タッチセンサ５２の検出面に対する操作をエミュレートすることはできないが、操作スティックＳＬ（Ｔ）、ＳＲ（Ｔ）に対する操作をエミュレートすることはできる。一方、動作モードがＴＰモードである場合は、タッチセンサ５２の検出面に対する操作をエミュレートすることはできるが、操作スティックＳＬ（Ｔ）、ＳＲ（Ｔ）に対する操作をエミュレートすることができない。
【００５２】
本実施形態では、ターゲットプログラムの実行開始時における動作モードはＮモードである。動作モードがＮモードである場合には、コントローラ１４の方向キーＤＫ１〜ＤＫ４を押下することで、ターゲット装置３０において、方向キーＤＫ１（Ｔ）〜ＤＫ４（Ｔ）を押下した際に実行される処理が実行される。また、コントローラ１４のボタンＢ１〜Ｂ４、ＢＬ１、又は、ＢＬ２を押下することで、ターゲット装置３０において、ボタンＢ１（Ｔ）〜Ｂ４（Ｔ）、ＢＬ１（Ｔ）、又は、ＢＬ２（Ｔ）を押下した際に実行される処理が実行される。また、操作スティックＳＬ、ＳＲを傾けることで、その傾けた向きに対応する向きへターゲット装置３０において操作スティックＳＬ（Ｔ）、ＳＲ（Ｔ）をスライドさせた際に実行される処理が実行される。
【００５３】
本実施形態では、動作モードがＴＰモードである場合には、ターゲット装置３０のタッチセンサ５２の検出面上における物体の位置がタッチセンサ５２によって検出された際にターゲット装置３０が実行する処理が実行される。以下、ターゲット装置３０のタッチセンサ５２の検出面上における物体の位置を検出位置と呼ぶこととする。そして本実施形態では、検出面の検出位置をエミュレーション装置１２においてエミュレートする位置を設定する操作を行える。以下、当該検出位置をエミュレーション装置１２においてエミュレートする位置をエミュレート位置と呼ぶこととする。本実施形態では、エミュレート位置は、タッチセンサ５２に対する入力操作が行われる位置をエミュレートする位置ということとなる。
【００５４】
本実施形態では、エミュレート位置と検出位置とは１対１で対応付けられる。また、エミュレート位置は、ディスプレイ１６内における位置に対応付けられる。例えば本実施形態では、図６に示すように、表面タッチセンサ５２ａの検出面の検出位置に対応付けられるエミュレート位置が、ディスプレイ１６の左下の位置を原点として、右方向をＸ３軸正方向、上方向をＹ３軸正方向とした座標値で表現される。ここで、エミュレート位置のＸ３座標値は、０以上９５９以下のいずれかの整数値をとり、Ｙ３座標値は、０以上５４３以下のいずれかの整数値をとる。これらの値は、本実施形態に係るディスプレイ１６の解像度に対応している。
【００５５】
そして、本実施形態では、表面タッチセンサ５２ａの検出面の検出位置は、筐体の正面から見た際の表面タッチセンサ５２ａの左下の座標値を原点としたＸ２−Ｙ２座標値で管理される。本実施形態に係るタッチセンサ５２は０．５ピクセル単位で検出位置を特定することができるようになっている。そのため本実施形態では、検出位置のＸ２座標値は、０以上１９１８以下のいずれかの整数値をとり、検出位置のＹ２座標値は、０以上１０８６以下のいずれかの整数値をとる。
【００５６】
そして本実施形態では、エミュレート位置のディスプレイ１６内における相対位置と検出位置の表面タッチセンサ５２ａ内における相対位置とが略一致する。具体的には例えば、エミュレート位置の座標値（ｘ，ｙ）と検出位置の座標値（ｘ’，ｙ’）との関係は、ｘ’＝２ｘ、ｙ’＝２ｙとなる。
【００５７】
また、動作モードがＴＰモードである場合は、タッチセンサ５２によって検出位置が検出されている状況がエミュレートされている状態と検出されていない状況がエミュレートされている状態とを切り替えることができる。以下、タッチセンサ５２によって検出位置が検出されている状況がエミュレートされている状態をタッチ状態と呼び、タッチセンサ５２によって物体の位置が検出されていない状況がエミュレートされている状態をアンタッチ状態と呼ぶこととする。そして本実施形態では、所定のボタンを押下する操作を行うことで、エミュレート位置がタッチ状態となり、離す操作を行うことで、エミュレート位置がアンタッチ状態となる。
【００５８】
ここで本実施形態では、エミュレート位置のＸ３−Ｙ３座標値が（ｘ，ｙ）であり、当該エミュレート位置がタッチ状態であることとする。この場合、座標値が（ｘ，ｙ）に対応付けられる検出位置の座標値（ｘ’，ｙ’）が表面タッチセンサ５２ａに検出された場合にターゲット装置３０が実行する処理が実行されることとなる。そのため、例えば、エミュレート位置の座標値が（ｘ，ｙ）である状態で、上述の所定のボタンを押下して離す操作を一度行うと、座標値が（ｘ’，ｙ’）である検出位置にタップ操作が行われた際にターゲット装置３０が行う処理が実行されることとなる。また、エミュレート位置の座標値が（ｘ，ｙ）である状態で、上述の所定のボタンを押下して離す操作を連続して二度行うと、座標値が（ｘ’，ｙ’）である検出位置にダブルタップ操作が行われた際にターゲット装置３０が行う処理が実行されることとなる。
【００５９】
また本実施形態では、フレーム毎に、取得される姿勢データ（Ｘ１，Ｙ１）に基づいて、エミュレート位置が変化する。すなわち、操作スティックを傾けることでエミュレート位置を変化させることができる。本実施形態では、操作スティックが傾いた向きと、エミュレート位置が変化する向きと、が対応付けられている。例えば、操作スティックをＸ１軸方向に傾けると、エミュレート位置がＸ３軸方向に変化する。また、操作スティックをＹ１軸方向に傾けると、エミュレート位置がＹ３軸方向に変化する。
【００６０】
ここで、図７に示すように、あるフレームにおけるエミュレート位置の座標値が（ｘ１，ｙ１）であることとする。そして、次のフレームにおけるエミュレート位置の座標値が（ｘ２，ｙ２）であることとする。そして、さらに次のフレームにおけるエミュレート位置の座標値が（ｘ３，ｙ３）であることとする。そして当該３フレームの間、当該エミュレート位置は、タッチ状態が維持されたこととする。ここで、座標値（ｘ１，ｙ１）、（ｘ２，ｙ２）、（ｘ３，ｙ３）に対応付けられる表面タッチセンサ５２ａの検出面の検出位置の座標値がそれぞれ（ｘ１’，ｙ１’）、（ｘ２’，ｙ２’）、（ｘ３’，ｙ３’）であることとする。この場合は、（ｘ１’，ｙ１’）、（ｘ２’，ｙ２’）、（ｘ３’，ｙ３’）の順に３フレームにわたって検出位置が検出されるドラッグ操作又はフリック操作がエミュレートされる。この場合は、当該ドラッグ操作又はフリック操作が行われた際にターゲット装置３０が行う処理が実行されることとなる。
【００６１】
また本実施形態では、所定のボタンを押下し、当該ボタンが押下されたまま、エミュレート位置を変化させて、当該ボタンを離したとする。この場合は、所定のボタンが押下された際のエミュレート位置を始点とし、当該ボタンが離された際のエミュレート位置を終点とするドラッグ操作がエミュレートされることとなる。このようにして、本実施形態では、所定のボタンの押下操作、当該ボタンが押下されたままでエミュレート位置を変える操作、当該所定のボタンを離す操作を行うことで、ドラッグ操作がエミュレートできることとなる。
【００６２】
また、本実施形態では、エミュレート位置を２つ設定することもできるようになっている。そして、この場合は、入力される操作スティックＳＬの姿勢データ（Ｘ１，Ｙ１）に基づいて一方のエミュレート位置、操作スティックＳＲの姿勢データ（Ｘ１，Ｙ１）に基づいて他方のエミュレート位置が変化する。以下、操作スティックＳＬの姿勢データ（Ｘ１，Ｙ１）に基づいて変化するエミュレート位置を第１エミュレート位置、操作スティックＳＲの姿勢データ（Ｘ１，Ｙ１）に基づいて変化するエミュレート位置を第２エミュレート位置と呼ぶこととする。
【００６３】
また本実施形態では、ボタンＢ１又はボタンＢＬ２を押下する操作を行うことで、第１エミュレート位置がタッチ状態となり、離す操作を行うことで、第１エミュレート位置がアンタッチ状態となる。そして、ボタンＢＲ２を押下する操作を行うことで、第２エミュレート位置がタッチ状態となり、離す操作を行うことで、第２エミュレート位置がアンタッチ状態となる。このように、本実施形態では、第１エミュレート位置と第２エミュレート位置のそれぞれについて、タッチ状態とアンタッチ状態とを独立して切り替えることができるようになっている。
【００６４】
ここで、図８に示すように、あるフレームにおける第１エミュレート位置の座標値が（ｘ１１，ｙ１１）であり、第２エミュレート位置の座標値が（ｘ１２，ｙ１２）であることとする。そして、次のフレームにおける第１エミュレート位置の座標値が（ｘ２１，ｙ２１）であり、第２エミュレート位置の座標値が（ｘ２２，ｙ２２）であることとする。そして、さらに次のフレームにおける第１エミュレート位置の座標値が（ｘ３１，ｙ３１）であり、第２エミュレート位置の座標値が（ｘ３２，ｙ３２）であることとする。そして当該３フレームの間、第１エミュレート位置も第２エミュレート位置もタッチ状態が維持されたこととする。ここで、座標値（ｘ１１，ｙ１１）、（ｘ１２，ｙ１２）、（ｘ１３，ｙ１３）に対応付けられる表面タッチセンサ５２ａの検出面の検出位置の座標値がそれぞれ（ｘ１１’，ｙ１１’）、（ｘ１２’，ｙ１２’）、（ｘ１３’，ｙ１３’）であることとする。また、座標値（ｘ２１，ｙ２１）、（ｘ２２，ｙ２２）、（ｘ２３，ｙ２３）に対応付けられる表面タッチセンサ５２ａの検出面の検出位置の座標値がそれぞれ（ｘ２１’，ｙ２１’）、（ｘ２２’，ｙ２２’）、（ｘ２３’，ｙ２３’）であることとする。この場合は、（ｘ１１’，ｙ１１’）及び（ｘ１２’，ｙ１２’）、（ｘ２１’，ｙ２１’）及び（ｘ２２’，ｙ２２’）、（ｘ３１’，ｙ３１’）及び（ｘ３２’，ｙ３２’）の順に検出位置が検出される操作がエミュレートされる。すなわち３フレームにわたって１フレームにつき２つの検出位置が検出される操作がエミュレートされる。この場合は、当該操作が行われた際にターゲット装置３０が行う処理が実行されることとなる。
【００６５】
２つのエミュレート位置間の距離が次第に近づく場合は、例えばピンチイン操作あるいは表示されている画像を縮小表示させる操作がエミュレートされる。図８には、例えば、ピンチイン操作あるいは表示されている画像を縮小表示させる操作がエミュレートされる場面が示されている。また、２つのエミュレート位置間の距離が次第に離れる場合は、例えば、ピンチアウト操作あるいは表示されている画像を拡大表示させる操作がエミュレートされる。以上のように例えば、所定の２つのボタンを押下する操作、当該２つのボタンが押下されたままの状態で２つのエミュレート位置間の長さを短くする操作、当該２つのボタンを離す操作を行うことで、ピンチイン操作等がエミュレートできることとなる。同様にして、本実施形態では、所定の２つのボタンを押下する操作、当該２つのボタンが押下されたままの状態で２つのエミュレート位置間の長さを長くする操作、当該２つのボタンを離す操作を行うことで、ピンチアウト操作等がエミュレートできることとなる。
【００６６】
以上のようにして、本実施形態によれば、検出面に対する様々な操作を、操作スティックＳＬ、ＳＲに対する操作でエミュレートできることとなる。発明者らは、操作スティックＳＬ、ＳＲに対する操作の操作感が、検出面をなぞる操作の操作感と近く、良好な操作感が得られることがわかった。そのため、本実施形態によれば、検出面に対する操作を操作感よくエミュレートできることとなる。
【００６７】
ここで、姿勢データとエミュレート位置の変化量との関係についてさらに説明する。なお以下の説明は、第１エミュレート位置についても第２エミュレート位置についてもあてはまる。
【００６８】
本実施形態では、エミュレート位置の座標値（ｘ，ｙ）についての、値ｘの変化量に対応付けられる値ｖｘと値ｙの変化量に対応付けられる値ｖｙの組合せ（ｖｘ，ｖｙ）を表す速度パラメータによって、エミュレート位置の変化量が管理される。本実施形態では、値ｖｘと値ｖｙのそれぞれは、−１以上１以下の値で表現される。また本実施形態では、速度パラメータの値の変化量が、値ｖｘの変化量に対応付けられる値ａｘと値ｖｙの変化量に対応付けられる値ａｙの組合せ（ａｘ，ａｙ）を表す加速度パラメータによって管理される。本実施形態では、値ａｘと値ａｙのそれぞれは、−１以上１以下の値で表現される。
【００６９】
そして本実施形態では、各フレームについて以下の処理が実行される。
【００７０】
まず、当該フレームに取得される姿勢データ（Ｘ１，Ｙ１）に基づいて、図９に示す関係に従って、加速度パラメータの値（ａｘ，ａｙ）が決定される。図９は、姿勢データの値と加速度パラメータの値との対応関係の一例を示す図である。加速度パラメータの値（ａｘ，ａｙ）は、エミュレート位置が移動する加速度に対応付けられる値である。本実施形態では、値Ｘ１と値ａｘの関係も値Ｙ１と値ａｙの関係も同様である。図９に示すように、姿勢データＸ１の値が、０以上１５以下、９６以上１６０以下、２４１以上２５５以下のいずれかである場合は、値ａｘは０となる。また、姿勢データＹ１の値が、０以上１５以下、９６以上１６０以下、２４１以上２５５以下のいずれかである場合は、値ａｙは０となる。以下、０以上１５以下、９６以上１６０以下、２４１以上２５５以下の数値範囲を不感帯と呼ぶこととする。また、１６以上９５以下、１６１以上２４０以下の数値範囲を有感帯と呼ぶこととする。
【００７１】
そして、特定される加速度パラメータの値（ａｘ，ａｙ）に基づいて、図１０に示す規則に従って、速度パラメータを表す値（ｖｘ，ｖｙ）が更新される。また、更新された速度パラメータを表す値（ｖｘ，ｖｙ）に基づいて、図１０に示す規則に従って、エミュレート位置の座標値（ｘ，ｙ）が更新される。
【００７２】
図１０に示すように、値ｖｘの符号と値ａｘの符号が同一である場合は、値ｖｘは、値ｖｘの現在の値に値ａｘに１／４５を乗じた値を加えた値に更新される（ｖｘ＝ｖｘ＋１／４５ａｘ）（図１０における（Ａ１））。一方、値ｖｘの符号と値ａｘの符号が異なる場合は、値ｖｘは、値ａｘに１／４５を乗じた値に更新される（ｖｘ＝１／４５ａｘ）（図１０における（Ｂ１））。また、本実施形態では、値ａｘが０である場合は、値ｖｘは０に更新される（ｖｘ＝０）（図１０における（Ｃ１））。
【００７３】
そして、更新後の値ｖｘが１よりも大きい場合は、当該値ｖｘは１と設定され（ｖｘ＝１）（図１０における（Ｄ１））、更新後の値ｖｘが−１よりも小さい場合は、当該値ｖｘは−１と設定される（ｖｘ＝−１）（図１０における（Ｅ１））。
【００７４】
そして、値ｘは、値ｘの現在の値に値ｖｘを１００倍した値を加えた値に更新される（ｘ＝ｘ＋１００ｖｘ）（図１０における（Ｆ１））。なおここで、値ｘは、０よりも小さい値となった場合は０に設定され（ｘ＝０）（図１０における（Ｇ１））、９５９より大きい値となった場合は９５９に設定される（ｘ＝９５９）（図１０における（Ｈ１））。そして、これら場合は、値ｖｘは０に更新される（ｖｘ＝０）。
【００７５】
値ａｙに基づいて、値ｖｙ、値ｙを算出する場合も同様である（図１０における（Ａ２）〜（Ｈ２））。ただし、値ｙについては、９５９より大きい値となった場合に９５９に設定されるのではなく、５４３より大きい値となった場合に５４３に設定される（ｙ＝５４３）（図１０における（Ｈ２））。
【００７６】
以上のようにして、本実施形態では、姿勢データ（Ｘ１，Ｙ１）に基づいて、当該フレームにおける更新後のエミュレート位置が決定されることとなる。
【００７７】
本実施形態では、エミュレート位置が変化している向きと操作スティックＳＬ、ＳＲが操作された向きとが対応する場合は、１フレームあたりのエミュレート位置の変化量が増大することとなる（図１０における（Ａ１）（Ａ２）参照）。また、本実施形態では、姿勢データの値Ｘ１及び値Ｙ１が無感帯の数値範囲である場合は、エミュレート位置は変化しない（図１０における（Ｃ１）（Ｃ２）参照）。
【００７８】
また本実施形態では、有感帯においては、操作スティックが操作された大きさ（例えば傾き）が大きいほど、加速度パラメータの値ａｘや値ａｙの絶対値は大きくなる（図９参照）。そのため、これらいずれの場合も、操作スティックが操作された大きさが大きいほど、値ｖｘの絶対値が大きくなる（図１０における（Ａ１）（Ａ２）（Ｂ１）（Ｂ２）参照）。その結果、操作スティックが操作された大きさが大きいほど、直前のフレームにおけるエミュレート位置と当該フレームにおけるエミュレート位置との間隔は長くなることとなる（図１０における（Ｆ１）（Ｆ２）参照）。
【００７９】
また、本実施形態では値ｖｘや値ｖｙは−１以上１以下の範囲を超えないよう調整される（図１０における（Ｄ１）（Ｄ２）（Ｅ１）（Ｅ２）参照）。
【００８０】
また、本実施形態では、値ｘは、０以上９５９以下の範囲を超えないよう調整されるとともに、この場合は、値ｖｘが０となり、Ｘ３軸方向のエミュレート位置の変化が抑制されることとなる（図１０における（Ｇ１）参照）。また、値ｙは、０以上５４３以下の範囲を超えないよう調整されるとともに、この場合は、値ｖｙが０となり、Ｙ３軸方向のエミュレート位置の変化が抑制されることとなる（図１０における（Ｇ２）参照）。
【００８１】
以上、表面タッチセンサ５２ａについてのエミュレート位置の設定について説明したが、本実施形態では、表面タッチセンサ５２ａの代わりに裏面タッチセンサ５２ｂについてのエミュレート位置の設定も行える。裏面タッチセンサ５２ｂの検出位置も上述のＸ２−Ｙ２座標値で管理される。ただし、裏面タッチセンサ５２ｂは、表面タッチセンサ５２ａに対して上方向にオフセットしているので、当該検出位置のＸ２座標値は、０以上１９１８以下のいずれかの整数値をとり、Ｙ２座標値は、３０６以上１０８６以下のいずれかの整数をとることとなる。そしてこの場合は、図６に示すように、エミュレート位置の座標値（ｘ，ｙ）と裏面タッチセンサ５２ｂの検出位置の座標値（ｘ’，ｙ’）との関係は、ｘ’＝２ｘ、ｙ’＝７８０／５４３ｙ＋３０６となる。
【００８２】
また本実施形態では、表面タッチセンサ５２ａと裏面タッチセンサ５２ｂの両面についてのエミュレート位置の設定も行うことができる。この場合は、表面タッチセンサ５２ａと裏面タッチセンサ５２ｂの両方の検出面についての、Ｘ２−Ｙ２平面に垂直な方向に沿って見た際における同じ検出位置に対応付けられる位置がエミュレート位置として設定される。これは例えば、表面タッチセンサ５２ａと裏面タッチセンサ５２ｂとを指で挟んで動かす動作をエミュレートする場合に好適である。当該動作は、例えば封筒の開封やキャラクタのつまみ上げをシミュレートするプログラムにおいて採用されることが想定される。
【００８３】
本実施形態では、裏面タッチセンサ５２ｂは、表面タッチセンサ５２ａに対して上方向にオフセットしている。そのため、エミュレート位置のＹ３座標値が小さい場合は（ここでは例えば１５３より小さい場合は）、Ｘ２−Ｙ２平面に垂直な方向に沿って見た際における、裏面タッチセンサ５２ｂの検出面の検出位置が存在しない。そのため、本実施形態では、上述のようにして決定されたエミュレート位置のＹ３座標値が１５３より小さい場合は１５３に補正される（図１０における（Ｇ２）参照）。
【００８４】
以下、表面タッチセンサ５２ａについてのエミュレート位置の設定が可能なＴＰモードを表面ＴＰモードと呼ぶこととする。そして、裏面タッチセンサ５２ｂについてのエミュレート位置の設定が可能なＴＰモードを裏面ＴＰモードと呼ぶこととする。そして、両面についてのエミュレート位置の設定が可能なＴＰモードを両面ＴＰモードと呼ぶこととする。
【００８５】
そして本実施形態では、エミュレート位置及びエミュレート位置の設定状況を視覚的に認識することができるようにするため、動作モードがＴＰモードである場合には、ポインタ画像Ｉが配置された画面がディスプレイ１６に表示される（図１１〜図１６参照）。本実施形態では、ポインタ画像Ｉはエミュレート位置を示す。本実施形態では、ポインタ画像Ｉに含まれる円形の画像の重心の位置がエミュレート位置となるようポインタ画像Ｉが配置される。
【００８６】
本実施形態では、エミュレート位置のディスプレイ１６内における相対位置と検出位置の検出面内における相対位置とが略一致する。本実施形態では、ターゲット装置３０の表面タッチセンサ５２ａと表示部５０とは略同じ大きさであり略同じ形状である。そのため、動作モードが表面ＴＰモード又は両面ＴＰモードである場合は、ポインタ画像Ｉが表示部５０に表示されたこととした場合におけるポインタ画像Ｉの位置と検出位置とは略重畳することとなる。
【００８７】
また本実施形態では、表面ＴＰモード、裏面ＴＰモード、両面ＴＰモードのいずれであるかによって、表示されるポインタ画像Ｉのデザインが異なる。また本実施形態では、タッチ状態であるのかアンタッチ状態であるのかによっても、表示されるポインタ画像Ｉのデザインが異なる。
【００８８】
図１１には、動作モードが表面ＴＰモードである場合の、アンタッチ状態の第１エミュレート位置にポインタ画像Ｉａ１（ｎｔ）が配置されアンタッチ状態の第２エミュレート位置にポインタ画像Ｉａ２（ｎｔ）が配置された画面が示されている。図１２には、動作モードが表面ＴＰモードである場合の、タッチ状態の第１エミュレート位置にポインタ画像Ｉａ１（ｔ）が配置されタッチ状態の第２エミュレート位置にポインタ画像Ｉａ２（ｔ）が配置された画面が示されている。図１３には、動作モードが裏面ＴＰモードである場合の、アンタッチ状態の第１エミュレート位置にポインタ画像Ｉｂ１（ｎｔ）が配置されアンタッチ状態の第２エミュレート位置にポインタ画像Ｉｂ２（ｎｔ）が配置された画面が示されている。図１４には、動作モードが裏面ＴＰモードである場合の、タッチ状態の第１エミュレート位置にポインタ画像Ｉｂ１（ｔ）が配置されタッチ状態の第２エミュレート位置にポインタ画像Ｉｂ２（ｔ）が配置された画面が示されている。図１５には、動作モードが両面ＴＰモードである場合の、アンタッチ状態の第１エミュレート位置にポインタ画像Ｉｃ１（ｎｔ）が配置されアンタッチ状態の第２エミュレート位置にポインタ画像Ｉｃ２（ｎｔ）が配置された画面が示されている。図１６には、動作モードが両面ＴＰモードである場合の、タッチ状態の第１エミュレート位置にポインタ画像Ｉｃ１（ｔ）画配置されタッチ状態の第２エミュレート位置にポインタ画像Ｉｃ２（ｔ）が配置された画面が示されている。これらの画面は、ディスプレイ１６に表示されることとなる。
【００８９】
ポインタ画像Ｉは、ターゲットプログラムを実行することにより表示される画面に重畳された状態でディスプレイ１６に表示される。なお、図１１〜図１６には、ターゲットプログラムを実行することにより生成される画像は省略されている。
【００９０】
また本実施形態では、上述のように、ユーザは、コントローラ１４を操作することでＮモードとＴＰモードとを自由に切り替えることができるようになっている。以下、ＮモードとＴＰモードの切替について、図１７を参照しながら説明する。
【００９１】
図１７は、動作モードの遷移規則の一例を示す図である。本実施形態では、図１７に示す遷移規則に従って、ＮモードとＴＰモードとが切り替わる。なお、以下の説明では、すべてのエミュレート位置がアンタッチ状態であることとする。
【００９２】
動作モードがＮモードである場合に、操作スティックＳＬ、ＳＲの少なくとも一方がスティックの軸方向に押下されると、動作モードがＴＰモードに変更され、エミュレート位置が１つ設定される。本実施形態では、動作モードがＮモードである場合に操作スティックＳＬが押下されると、表面ＴＰモードとなる。この場合は、ディスプレイ１６にポインタ画像Ｉａ１が表示される。また本実施形態では、動作モードがＮモードである場合に、操作スティックＳＲが押下されると、裏面ＴＰモードとなる。この場合は、ディスプレイ１６にポインタ画像Ｉｂ１が表示される。また本実施形態では、動作モードがＮモードである場合に、操作スティックＳＬ、ＳＲの両方が押下されると、両面ＴＰモードとなる。この場合は、ディスプレイ１６にポインタ画像Ｉｃ１が表示される。
【００９３】
エミュレート位置が１つ設定されている状態で、姿勢データの値Ｘ１又は値Ｙ１のいずれかが有感帯の数値範囲である操作スティックＳＲの操作入力があると（図９参照）、設定されるエミュレート位置が１つから２つに増加する。この場合は、ディスプレイ１６にポインタ画像Ｉａ２、Ｉｂ２、又は、Ｉｃ２が表示される。
【００９４】
エミュレート位置が２つ設定されている状態でいずれの操作部材についても操作入力がない状態で所定時間が経過したとする。例えば操作スティックＳＬ、ＳＲについては姿勢データの値Ｘ１及びＹ１のいずれについても有感帯の数値範囲（図９参照）である操作入力がなく、方向キーやボタンの操作入力もない状態で所定時間が経過したとする。この場合は、設定されるエミュレート位置が２つから１つに減少する。この場合、例えば、ポインタ画像Ｉａ２、Ｉｂ２、又は、Ｉｃ２がディスプレイ１６から消去される。
【００９５】
動作モードがＴＰモードである場合に、ボタンＢ４、操作スティックＳＬ又はＳＲがスティックの軸方向に押下されると、動作モードがＮモードに変更される。この場合は、ディスプレイ１６からポインタ画像Ｉがすべて消去される。
【００９６】
ここで、以上で説明した内容のまとめとして、本実施形態に係るエミュレーション装置１２の機能及びエミュレーション装置１２で実行される処理について説明する。
【００９７】
図１８は、本実施形態に係るエミュレーション装置１２で実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係るエミュレーション装置１２で、図１８に示す機能のすべてが実装される必要はなく、また、図１８に示す機能以外の機能が実装されていても構わない。
【００９８】
そして、本実施形態に係るエミュレーション装置１２は、図１８に示すように、機能的には、例えば、エミュレート位置データ記憶部６０、速度パラメータデータ記憶部６２、動作モードデータ記憶部６４、入力データ取得部６６、動作モード設定部６８、決定部７０、表示制御部７２、エミュレーション処理実行部７４、を含んでいる。エミュレート位置データ記憶部６０、速度パラメータデータ記憶部６２、動作モードデータ記憶部６４は、記憶部２２を主として実装される。入力データ取得部６６は、通信部２４又は入出力部２６を主として実装される。その他の機能は、制御部２０を主として実装される。
【００９９】
そして、以上の機能は、コンピュータであるエミュレーション装置１２にインストールされた、以上の機能に対応する指令を含むプログラムを制御部２０で実行することにより実装されている。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどのコンピュータネットワークを介してエミュレーション装置１２に供給される。
【０１００】
エミュレート位置データ記憶部６０は、エミュレート位置の座標値を示すエミュレート位置データを記憶する。エミュレート位置データ記憶部６０は、本実施形態では、第１エミュレート位置の座標値を示す第１エミュレート位置データと第２エミュレート位置の座標値を示す第２エミュレート位置データを記憶する。本実施形態では、第１エミュレート位置の座標値及び第２エミュレート位置の座標値の初期値は、例えばディスプレイ１６の中心の座標値（４８０，２７２）である。
【０１０１】
速度パラメータデータ記憶部６２は、エミュレート位置の１フレームあたりの変化量に対応付けられる速度パラメータを示す速度パラメータデータを記憶する。速度パラメータデータ記憶部６２は、本実施形態では例えば、第１エミュレート位置についての速度パラメータの値を示す第１速度パラメータデータと第２エミュレート位置についての速度パラメータの値を示す第２速度パラメータデータを記憶する。本実施形態では、第１速度パラメータ及び第２速度パラメータの初期値は、例えば（０，０）である。
【０１０２】
動作モードデータ記憶部６４は、動作モード及び設定されるエミュレート位置の数を示す動作モードデータを記憶する。動作モードがＮモードである場合は、動作モードデータの値は例えば「Ｎ」となる。動作モードが表面ＴＰモードである場合は、設定されるエミュレート位置が１つである際には、動作モードデータの値は例えば「表面ＴＰ１」となり、２つである際には、動作モードデータの値は例えば「表面ＴＰ２」となる。動作モードが裏面ＴＰモードである場合は、設定されるエミュレート位置が１つである際には、動作モードデータの値は例えば「裏面ＴＰ１」となり、２つである際には、動作モードデータの値は例えば「裏面ＴＰ２」となる。動作モードが両面ＴＰモードである場合は、設定されるエミュレート位置が１つである際には、動作モードデータの値は例えば「両面ＴＰ１」となり、２つである際には、動作モードデータの値は例えば「両面ＴＰ２」となる。
【０１０３】
入力データ取得部６６は、コントローラ１４に対する操作入力に対応付けられる入力データを取得する。本実施形態では、入力データ取得部６６は、所定のフレームレートで入力データを順次取得する。また本実施形態では、入力データ取得部６６は、例えば、操作スティックが操作された向き及び大きさの少なくとも一方に対応付けられる姿勢データを含む入力データを取得する。より具体的には例えば、操作スティックが傾倒された向き及び大きさの少なくとも一方に対応付けられる姿勢データを含む入力データが取得される。入力データ取得部６６は、本実施形態では、例えば、操作スティックＳＬの姿勢データ（Ｘ１，Ｙ１）、操作スティックＳＲの姿勢データ（Ｘ１，Ｙ１）を取得する。また、入力データ取得部６６は、方向キーＤＫ１〜ＤＫ４やボタンＢ１〜Ｂ４、ＢＬ１、ＢＬ２、ＢＲ１、ＢＲ２などが押下されているか否かを示すデータも取得する。
【０１０４】
動作モード設定部６８は、入力データの取得に応じて、図１７に示す遷移規則に従って、入力データに基づいて当該フレームにおける動作モード及びエミュレート位置の数を決定する。本実施形態では、動作モード設定部６８は、図１７に示す動作モードの遷移規則を示す遷移規則データを保持している。そして、動作モード設定部６８は、遷移規則データと入力データ取得部６６が取得する入力データとに基づいて、当該フレームにおける動作モード及びエミュレート位置の数を決定する。そして、動作モード設定部６８は、動作モードデータ記憶部６４に記憶されている動作モードデータの値を更新する。
【０１０５】
決定部７０は、入力データ取得部６６が取得する入力データに応じた向きに沿った配置である検出面内の複数の位置の関係を決定する。本実施形態では、決定部７０は、入力データ取得部６６が取得する入力データに基づいてエミュレート位置を決定する。本実施形態では、決定部７０が、コントローラ１４が受け付ける操作入力をタッチセンサ５２に対する操作入力に変換する変換部としての役割を担うこととなる。また、本実施形態では、決定部７０は、入力データが取得される度に、前回決定したエミュレート位置から、姿勢データに基づいて決定される向きに沿って離れた位置を、当該フレームにおけるエミュレート位置として決定する。なお、決定部７０は、複数のエミュレート位置を決定してもよい。そして、決定部７０は、エミュレート位置に基づいて検出位置を決定する。なお、決定部７０は、入力データが取得される度に複数の検出位置を決定してもよい。なお、決定部７０は、例えば、入力データに基づいて、前回決定したエミュレート位置を始点とした際の、当該フレームにおけるエミュレート位置の位置ベクトルを決定してもよい。具体的には例えば、前回決定したエミュレート位置に対する当該フレームにおけるエミュレート位置の向き及び前回決定したエミュレート位置と当該フレームにおけるエミュレート位置との間の長さが決定されてもよい。
【０１０６】
本実施形態では、決定部７０は、図９に示すような、姿勢データの値と加速度パラメータの値との対応関係を示す姿勢加速度対応関係データを保持している。そして決定部７０は、例えば姿勢加速度対応関係データと入力データ取得部６６が取得する姿勢データとに基づいて、加速度パラメータの値を決定する。以下、操作スティックＳＬの姿勢データの値に基づいて値が決定される加速度パラメータを第１加速度パラメータと呼び、操作スティックＳＲの姿勢データの値に基づいて値が決定される加速度パラメータを第２加速度パラメータと呼ぶこととする。
【０１０７】
また本実施形態では、決定部７０は、図１０に示すような、速度パラメータの値やエミュレート位置の座標値を決定する規則を示す決定規則データを保持している。そして決定部７０は、例えば決定規則データと決定される加速度パラメータの値とに基づいて、速度パラメータの値及びエミュレート位置の座標値を決定する。そして、決定部７０は、速度パラメータデータ記憶部６２に記憶されている速度パラメータデータが示す速度パラメータの値とエミュレート位置データ記憶部６０に記憶されているエミュレート位置データが示すエミュレート位置の座標値を更新する。
【０１０８】
また本実施形態では、決定部７０は、図６に示すような、エミュレート位置の座標値とタッチセンサ５２の検出面における検出位置の座標値との対応関係を示す座標対応関係データを保持している。そして決定部７０は、タッチ状態であるエミュレート位置が存在する場合は、当該エミュレート位置に対応付けられる検出位置を決定する。
【０１０９】
決定部７０はまた、動作モードが両面ＴＰモードである場合に起こりうる、エミュレート位置データが示すエミュレート位置のＹ３座標値の補正を行う（図１０参照）。
【０１１０】
表示制御部７２は、エミュレート位置の決定に応じてポインタ画像Ｉをディスプレイ１６に表示させる。本実施形態では、表示制御部７２は、動作モードデータ及びエミュレート位置がタッチ状態であるか否かに基づいて決定されるポインタ画像Ｉが、エミュレート位置データに基づいて特定される位置に配置された画面をディスプレイ１６に表示させる。本実施形態では、エミュレート位置のディスプレイ１６内における相対位置と検出位置の表面タッチセンサ５２ａ内における相対位置とが略一致する。そのため、表示制御部７２は、検出位置の検出面内における相対位置と略一致するディスプレイ１６内の位置にポインタ画像Ｉを表示させることとなる。また本実施形態では、表示制御部７２は、タッチセンサ５２に対する入力操作のエミュレート開始指示の受付、ここでは例えば、動作モードをＮモードからＴＰモードに遷移させる指示の受付に応じて、ポインタ画像Ｉをディスプレイ１６に表示させる。当該指示は、本実施形態では例えば、動作モードがＮモードである場合に受け付ける操作スティックＳＬ及び操作スティックＳＲのうちの少なくとも一方の押下操作に相当する。
【０１１１】
エミュレーション処理実行部７４は、本実施形態では例えば、決定部７０が決定する関係に従って配置された複数の位置が検出面上において順に検出された際に実行される処理を実行する。本実施形態では、エミュレーション処理実行部７４は、決定部７０が決定する検出位置がタッチセンサ５２により検出された際にターゲット装置３０で実行される処理を実行する。エミュレーション処理実行部７４は、本実施形態では、入力データ取得部６６が取得する入力データに基づいて決定される向きに沿った配置の検出位置が順に検出された際にターゲット装置３０で実行される処理を実行する。また、上述のように、入力データに対応付けられる操作スティックＳＬ、ＳＲが操作された大きさが大きいほど、順に検出される検出位置の間隔は長くなる。また本実施形態では、エミュレーション処理実行部７４は、決定部７０により決定されるタッチセンサ５２に対する操作入力に基づいて、ターゲットプログラムを実行する。
【０１１２】
また、第１のエミュレート位置と第２のエミュレート位置の両方がタッチ状態である場合は（図１２、図１４、及び、図１６参照）、それぞれに対応付けられる検出位置がタッチセンサ５２に検出された際にターゲット装置３０で実行される処理が実行される。
【０１１３】
また、複数のフレームにわたって、すなわち複数回、連続して複数の検出位置が決定されたとする。この場合は、それぞれ複数の検出位置に対応付けられる入力データの取得順序（フレーム順）に従って、各フレームにつき決定される複数の検出位置が順に検出された際にターゲット装置３０で実行される処理が実行される（図８参照）。
【０１１４】
動作モードが表面ＴＰモードである場合は、表面タッチセンサ５２ａの検出面の検出位置が検出された際にターゲット装置３０で実行される処理が実行される。動作モードが裏面ＴＰモードである場合は、裏面タッチセンサ５２ｂの検出面の検出位置が検出された際にターゲット装置３０で実行される処理が実行される。動作モードが両面ＴＰモードである場合は、表面タッチセンサ５２ａと裏面タッチセンサ５２ｂの両方についての検出面の検出位置が検出された際にターゲット装置３０で実行される処理が実行される。
【０１１５】
ここで、本実施形態に係るエミュレーション装置１２で各フレームについて行われる処理の流れの一例を、図１９に示すフロー図を参照しながら説明する。
【０１１６】
まず、入力データ取得部６６が、入力データを取得する（Ｓ１０１）。そして、動作モード設定部６８が、当該入力データ及び遷移規則データに基づいて、動作モード、及び、エミュレート位置の数を決定する（Ｓ１０２）。そして、動作モード設定部６８が、Ｓ１０２に示す処理で決定された動作モード及びエミュレート位置の数に応じた値となるよう、動作モードデータ記憶部６４に記憶されている動作モードデータの値を更新する（Ｓ１０３）。
【０１１７】
そして、動作モード設定部６８は、動作モードデータの値が「Ｎ」であるか否かを確認する（Ｓ１０４）。「Ｎ」である場合、すなわち動作モードがＮモードである場合は（Ｓ１０４：Ｙ）、エミュレーション処理実行部７４が、Ｓ１０１に示す処理で取得した入力データを取得した際にターゲット装置３０が実行する処理を実行して（Ｓ１０５）、本処理例に示す処理を終了する。この場合は、ターゲット装置３０の操作スティックＳＬ（Ｔ）、ＳＲ（Ｔ）に対する操作をエミュレートすることが可能となる。
【０１１８】
一方、「Ｎ」でない場合、すなわち動作モードがＴＰモードである場合は（Ｓ１０４：Ｎ）、決定部７０は、姿勢加速度対応データとＳ１０１に示す処理で取得した姿勢データとに基づいて、加速度パラメータの値を決定する（Ｓ１０６）。このとき、動作モードデータの値が「表面ＴＰ１」、「裏面ＴＰ１」、又は、「両面ＴＰ１」である場合は、第１加速度パラメータの値が決定される。また、動作モードデータの値が「表面ＴＰ２」、「裏面ＴＰ２」、又は、「両面ＴＰ２」である場合は、第１加速度パラメータ及び第２加速度パラメータの値が決定される。
【０１１９】
そして、決定部７０は、決定規則データと速度パラメータデータ記憶部６２に記憶されている速度パラメータデータの値とＳ１０６に示す処理で決定された加速度パラメータの値とに基づいて、当該フレームにおける速度パラメータの値を決定する（Ｓ１０７）。そして、決定部７０は、速度パラメータデータ記憶部６２に記憶されている速度パラメータデータが示す速度パラメータの値を、Ｓ１０７に示す処理で決定された値に更新する（Ｓ１０８）。Ｓ１０７及びＳ１０８に示す処理において、動作モードデータの値が「表面ＴＰ１」、「裏面ＴＰ１」、又は、「両面ＴＰ１」である場合は、第１速度パラメータの値の決定及び更新が行われる。また、動作モードデータの値が「表面ＴＰ２」、「裏面ＴＰ２」、又は、「両面ＴＰ２」である場合は、第１速度パラメータ及び第２速度パラメータの値の決定及び更新が行われる。
【０１２０】
そして、決定部７０は、エミュレート位置データ記憶部６０に記憶されているエミュレート位置データと、Ｓ１０７に示す処理で決定された速度パラメータの値と、に基づいて、当該フレームにおけるエミュレート位置の座標値を決定する（Ｓ１０９）。そして、決定部７０は、エミュレート位置データ記憶部６０に記憶されているエミュレート位置データが示すエミュレート位置の座標値を、Ｓ１０９に示す処理で決定された座標値に更新する（Ｓ１１０）。このとき動作モードデータの値が「表面ＴＰ１」、「裏面ＴＰ１」、又は、「両面ＴＰ１」である場合は、第１エミュレート位置の座標値の決定及び更新が行われる。また、動作モードデータの値が「表面ＴＰ２」、「裏面ＴＰ２」、又は、「両面ＴＰ２」である場合は、第１エミュレート位置及び第２エミュレート位置の座標値の決定及び更新が行われる。また、動作モードが両面ＴＰモードである場合は、Ｓ１０９に示す処理で決定されたエミュレート位置のＹ３座標値が１５３より小さい場合は１５３に補正される。
【０１２１】
そして、表示制御部７２が、動作モードデータに基づいて決定されるポインタ画像Ｉが、エミュレート位置データに基づいて特定される位置に配置された画面をディスプレイ１６に表示させる（Ｓ１１１）。Ｓ１１１に示す処理では、表示制御部７２は、例えば、当該画面を表すデータをディスプレイ１６に出力する。そして、ディスプレイ１６は当該データが表す画面を表示する。このとき動作モードデータの値が「表面ＴＰ１」、「裏面ＴＰ１」、又は、「両面ＴＰ１」である場合は、ポインタ画像Ｉは画面に１つ配置される。また、動作モードデータの値が「表面ＴＰ２」、「裏面ＴＰ２」、又は、「両面ＴＰ２」である場合は、ポインタ画像Ｉは画面に２つ配置される。
【０１２２】
そして、決定部７０が、タッチ状態であるエミュレート位置に対応付けられる検出位置を決定する（Ｓ１１２）。そして、エミュレーション処理実行部７４が、Ｓ１１２に示す処理で決定された検出位置が検出された際にターゲット装置３０で実行される処理を実行して（Ｓ１１３）、本処理例に示す処理を終了する。
【０１２３】
なお、本発明は上述の実施形態に限定されるものではない。
【０１２４】
例えば、コントローラ１４が備える操作スティックＳＬ、ＳＲが、傾倒自在なスティックではなく上下左右にスライド可能な操作部材であっても構わない。そして、入力データに含まれる姿勢データが、当該スライド操作がされた向き及び大きさに対応付けられるものであってもよい。
【０１２５】
また本実施形態を、ターゲット装置３０をエミュレートするエミュレート装置１２以外に適用してもよい。例えば、ターゲット装置３０において、上述のようにして、操作スティックＳＬ（Ｔ）、ＳＬ（Ｒ）に対する操作によって、タッチセンサ５２に対する操作をエミュレートできるようにしてもよい。
【０１２６】
また、エミュレーション装置１２がディスプレイ１６を内蔵していてもよい。また、エミュレーション装置１２が複数の筐体から構成されていてもよい。また、上記の具体的な文字列や数値、並びに、図面中の具体的な文字列や数値は例示であり、これらの文字列や数値には限定されない。
【図１】
0005997388.tif 000002
【図２】
0005997388.tif 000003
【図３Ａ】
0005997388.tif 000004
【図３Ｂ】
0005997388.tif 000005
【図３Ｃ】
0005997388.tif 000006
【図４Ａ】
0005997388.tif 000007
【図４Ｂ】
0005997388.tif 000008
【図５】
0005997388.tif 000009
【図６】
0005997388.tif 000010
【図７】
0005997388.tif 000011
【図８】
0005997388.tif 000012
【図９】
0005997388.tif 000013
【図１０】
0005997388.tif 000014
【図１１】
0005997388.tif 000015
【図１２】
0005997388.tif 000016
【図１３】
0005997388.tif 000017
【図１４】
0005997388.tif 000018
【図１５】
0005997388.tif 000019
【図１６】
0005997388.tif 000020
【図１７】
0005997388.tif 000021
【図１８】
0005997388.tif 000022
【図１９】
0005997388.tif 000023