(57)【特許請求の範囲】
【請求項１】
情報処理装置の省電力モードと通常モードとを切り替える状態切替手段、
少なくとも前記省電力モードのとき、歩数を検出する歩数検出手段、
前記歩数検出手段によって検出された歩数に対応する歩数データを第１メモリに記憶する歩数記憶手段、および
前記第１メモリに記憶された歩数データを、前記通常モードに切り替えられた後、自動的に読み出して当該第１メモリとは異なる第２メモリに保存する保存手段を備える、情報処理装置。
【請求項２】
前記保存手段は、前記歩数データを、省電力モードの間の所定のタイミングで一時的に前記通常モードに切り替えられた後、自動的に読み出して前記第２メモリに保存する、請求項１記載の情報処理装置。
【請求項３】
前記歩数検出手段は、前記省電力モードのとき、歩数を検出し、前記通常モードのとき、歩数を検出しない、請求項１または２記載の情報処理装置。
【請求項４】
前記保存手段は、前記通常モードのときに、前記第１メモリに記憶された歩数データを、所定のタイミングで自動的に読み出して前記第２メモリに保存する、請求項１または２記載の情報処理装置。
【請求項５】
歩数を検出する歩数検出手段、
前記歩数検出手段によって検出された歩数に対応する歩数データを第１メモリに記憶する歩数記憶手段、
前記第１メモリに記憶された歩数データを当該第１メモリとは異なる第２メモリに保存する保存手段、および
前記保存手段が能動化されている状態と不能動化されている状態とを切り替える状態切替手段を備え、
前記歩数検出手段は、少なくとも、前記保存手段が不能動化されている状態のとき、歩数を検出し、
前記保存手段は、前記第１メモリに記憶された歩数データを、前記状態切替手段によって能動化された状態に切り替えられた後、自動的に読み出して前記第２メモリに保存することを特徴とする情報処理装置。
【請求項６】
前記歩数検出手段は、前記保存手段が不能動化されている状態のとき、歩数を検出し、前記保存手段が能動化されている状態のとき、歩数を検出しない、請求項５記載の情報処理装置。
【請求項７】
前記保存手段は、能動化されている状態のとき、前記第１メモリに記憶された歩数データを、所定のタイミングで自動的に読み出して前記第２メモリに保存する、請求項５記載の情報処理装置。
【請求項８】
前記所定のタイミングは、所定時間を経過する毎である、請求項１ないし７のいずれかに記載の情報処理装置。
【請求項９】
最初の前記所定のタイミングは、基準となる時刻から前記所定時間を経過したときである、請求項８記載の情報処理装置。
【請求項１０】
電源のオフまたは再起動を選択する選択手段をさらに備え、
前記所定のタイミングは、前記選択手段によって電源のオフまたは再起動が選択されたタイミングである、請求項８記載の情報処理装置。
【請求項１１】
前記第１メモリは、短期間における歩数データを記憶する記憶領域を有し、
前記第２メモリは、前記第１メモリの記憶領域よりも長期間における歩数データを記録する大容量の記憶領域を有している、請求項１ないし１０のいずれかに記載の情報処理装置。
【請求項１２】
情報処理プログラムであって、
コンピュータを、
情報処理装置の省電力モードと通常モードとを切り替える状態切替手段、
少なくとも前記省電力モードのとき、歩数を検出する歩数検出手段、
前記歩数検出手段によって検出された歩数に対応する歩数データを第１メモリに記憶する歩数記憶手段、および
前記第１メモリに記憶された歩数データを、前記通常モードに切り替えられた後、自動的に読み出して当該第１メモリとは異なる第２メモリに保存する保存手段として機能させる、情報処理プログラム。
【請求項１３】
情報処理方法であって、
コンピュータは、
（ａ）情報処理装置の省電力モードと通常モードとを切り替え、
（ｂ）少なくとも前記省電力モードのとき、歩数を検出し、
（ｃ）前記ステップ（ｂ）によって検出された歩数に対応する歩数データを第１メモリに記憶し、そして
（ｄ）前記第１メモリに記憶された歩数データを、前記通常モードに切り替えられた後、自動的に読み出して当該第１メモリとは異なる第２メモリに保存する、情報処理方法。
【請求項１４】
情報処理プログラムであって、
コンピュータを、
歩数を検出する歩数検出手段、
前記歩数検出手段によって検出された歩数に対応する歩数データを第１メモリに記憶する歩数記憶手段、
前記第１メモリに記憶された歩数データを当該第１メモリとは異なる第２メモリに保存する保存手段、および
前記保存手段が能動化されている状態と不能動化されている状態とを切り替える状態切替手段を備え、
前記歩数検出手段は、少なくとも、前記保存手段が不能動化されている状態のとき、歩数を検出し、
前記保存手段は、前記第１メモリに記憶された歩数データを、前記状態切替手段によって能動化された状態に切り替えられた後、自動的に読み出して前記第２メモリに保存するように機能させる、情報処理プログラム。
【請求項１５】
情報処理方法であって、
コンピュータは、
（ａ）歩数を検出し、
（ｂ）前記ステップ（ａ）によって検出された歩数に対応する歩数データを第１メモリに記憶し、
（ｃ）前記第１メモリに記憶された歩数データを所定のタイミングで自動的に読み出して当該第１メモリとは異なる第２メモリに保存し、そして
（ｄ）前記ステップ（ｂ）が能動化されている状態と不能動化されている状態とを切り替え、
前記ステップ（ａ）において、少なくとも、前記ステップ（ｂ）が不能動化されている状態のとき、歩数を検出し、
前記ステップ（ｂ）において、前記第１メモリに記憶された歩数データを、前記ステップ（ｄ）によって能動化された状態に切り替えられた後、自動的に読み出して前記第２メモリに保存する、情報処理方法。
【請求項１６】
歩数を検出し、検出した歩数に対応する歩数データを第１メモリに記憶するマイコン、および
前記第１メモリに記憶された歩数データを読み出して当該第１メモリとは異なる第２メモリに保存するＣＰＵを備え、
前記ＣＰＵは、起動中では、前記第１メモリに記憶された歩数データを所定のタイミングで自動的に読み出して前記第２メモリに保存し、前記マイコンからの要求に応じて停止し、停止中では、前記マイコンからの要求に応じて起動し、前記第１メモリに記憶された歩数データを読み出して前記第２メモリに保存する、情報処理装置。
【請求項１７】
歩数を検出し、検出した歩数に対応する歩数データを第１メモリに記憶するマイコン、および
前記第１メモリに記憶された歩数データを読み出して当該第１メモリとは異なる第２メモリに保存するＣＰＵを備える、情報処理装置の情報処理方法であって、
前記ＣＰＵは、起動中では、前記第１メモリに記憶された歩数データを所定のタイミングで自動的に読み出して前記第２メモリに保存し、前記マイコンからの要求に応じて停止し、停止中では、前記マイコンからの要求に応じて起動し、前記第１メモリに記憶された歩数データを読み出して前記第２メモリに保存する、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は情報処理装置、情報処理プログラムおよび情報処理方法に関し、特にたとえば、歩数を計測および記憶する、情報処理装置、情報処理プログラムおよび情報処理方法に関する。
【背景技術】
【０００２】
この種の情報処理装置の一例が特許文献１に開示されている。この特許文献１の運動情報の記録機能を持った靴では、記録された運動情報を通信手段によりパソコン等に転送し、長期的に運動履歴を表示し管理することが開示されている。
【０００３】
また、この種の情報処理装置の他の例が特許文献２に開示されている。この特許文献２の歩数計測システムでは、歩数計の押しボタンを押すことによって歩数管理装置と通信を開始し、歩数計で検出・記録された歩数を歩数管理装置に送信することが開示されている。
【特許文献１】特開２００５−２３７９２６号［A43B 23/00, A63B 23/04, G01C 22/00］
【特許文献２】特開２０１０−９３２８号［G06M 3/00, A63B 23/04, A63B 71/06, A63B 69/00］
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１および２では、歩数計で検出・記録された歩数を、歩数計とは別の装置に送信して歩数を管理するため、そのような別の装置を準備する必要がある。また、歩数計から別の装置へ送信するための操作を行う必要もある。さらに、ユーザがそのような操作を行わないことも考えられ、歩数の長期的な記録・管理が適切に行われない恐れがあった。
【０００５】
それゆえに、この発明の主たる目的は、歩数を長期的に保存するための新規な、情報処理装置、情報処理プログラムおよび情報処理方法を提供することである。
【課題を解決するための手段】
【０００６】
第１の発明は、状態切替手段、歩数検出手段、歩数記憶手段、および保存手段を備える、情報処理装置である。状態切替手段は、情報処理装置の省電力モードと通常モードとを切り替える。歩数検出手段は、少なくとも省電力モードのとき、歩数を検出する。歩数記憶手段は、歩数検出手段によって検出された歩数に対応する歩数データを第１メモリに記憶する。保存手段は、第１メモリに記憶された歩数データを、通常モードに切り替えられた後、自動的に読み出して当該第１メモリとは異なる第２メモリに保存する。
【０００７】
第１の発明によれば、第１メモリに記憶された歩数データを、所定のタイミングで自動的に第２メモリに保存するので、何ら操作を必要とせずに、簡単かつ容易に歩数の長期的な保存を実現することができる。また、省電力モードの間に歩数を検出し、通常モードに切り替えて歩数データを保存するので、ユーザに意識させることなく歩数を長期的に保存することができるとともに、保存にかかる消費電力を低減することができる。
【００１２】
第２の発明は、第１の発明に従属し、保存手段は、歩数データを、省電力モードの間の所定タイミングで一時的に通常モードに切り替えられた後、自動的に読み出して第２メモリに保存する。
【００１３】
第２の発明によれば、省電力モードの間に歩数を検出し、所定のタイミングで一時的に通常モードに切り替えて歩数データを保存するので、ユーザに意識させることなく歩数を長期的に保存することができるとともに、保存にかかる消費電力を低減することができる。
【００１４】
第３の発明は、第１または２の発明に従属し、歩数検出手段は、省電力モードのとき、歩数を検出し、通常モードのとき、歩数を検出しない。
【００１５】
第３の発明によれば、省電力モードのときに、情報処理装置を歩数計として機能させることができる。
【００１６】
第４の発明は、第１または２の発明に従属し、保存手段は、通常モードのときに、第１メモリに記憶された歩数データを、所定のタイミングで自動的に読み出して第２メモリに保存する。
【００１７】
第４の発明によれば、省電力モードで検出した歩数を、通常モードにおける所定のタイミングで第２メモリに保存することができる。
【００１８】
第５の発明は、歩数検出手段、歩数記憶手段、保存手段、および状態切替手段を備える、情報処理装置である。歩数検出手段は、歩数を検出する。歩数記憶手段は、歩数検出手段によって検出された歩数に対応する歩数データを第１メモリに記憶する。保存手段は、第１メモリに記憶された歩数データを、当該第１メモリとは異なる第２メモリに保存する。状態切替手段は、保存手段が能動化されている状態と不能動化されている状態とを切り替える。そして、歩数検出手段は、不能動化されている状態のとき、歩数を検出する。保存手段は、第１メモリに記憶された歩数データを、状態切替手段によって能動化された状態に切り替えられた後、自動的に読み出して第２メモリに保存する。
【００１９】
第５の発明によれば、歩数データを保存する機能が不能動化されている間に歩数を検出し、歩数データを保存する機能を能動化した後に歩数データを保存するので、ユーザに意識させることなく歩数を長期的に保存することができるとともに、歩数を保存する機能に供給する電力を低減することができる。
【００２０】
第６の発明は、第５の発明に従属し、歩数検出手段は、保存手段が不能動化されている状態のとき、歩数を検出し、保存手段が能動化されている状態のとき、歩数を検出しない。
【００２１】
第６の発明によれば、保存手段が不能動化されている状態のときに、情報処理装置を歩数計として機能させることができる。
【００２２】
第７の発明は、第５の発明に従属し、保存手段は、能動化されている状態のとき、第１メモリに記憶された歩数データを、所定のタイミングで自動的に読み出して第２メモリに保存する。
【００２３】
第７の発明によれば、不能動化されたときに検出された歩数を、能動化された状態における所定のタイミングで第２メモリに保存することができる。
【００２４】
第８の発明は、第１ないし７のいずれかの発明に従属し、所定のタイミングは、所定時間を経過するタイミングである。
【００２５】
第８の発明によれば、所定時間を経過するタイミングで歩数データを保存するので、より確実にかつ定期的に歩数を長期的に保存することができる。
【００２６】
第９の発明は、第８の発明に従属し、最初の所定のタイミングは、基準となる時刻から所定時間を経過したときである。たとえば、基準となる時刻としては、情報処理装置の起動または再起動の時刻や情報処理装置をスリープさせる時刻などが該当する。
【００２７】
第９の発明によれば、基準となる時刻から所定時間を経過する毎に、第１メモリに記憶された歩数データを第２メモリに保存することができる。
【００２８】
第１０の発明は、第８の発明に従属し、情報処理装置は、選択手段をさらに備える。選択手段は、電源のオフまたは再起動を選択する。所定のタイミングは、選択手段によって電源のオフまたは再起動が選択されたタイミングである。
【００２９】
第１０の発明によれば、情報処理装置を終了または再起動する際に確実に歩数を保存することができる。
【００３０】
第１１の発明は、第１ないし１０のいずれかの発明に従属し、第１メモリは、短期間における歩数データを記憶する記憶領域を有している。一方、第２メモリは、第１メモリの記憶領域よりも長期間における歩数データを記録する大容量の記憶領域を有している。
【００３１】
第１１の発明によれば、容量の異なる第１メモリおよび第２メモリを設けるので、１つの情報処理装置内で、歩数の短期的な記憶から長期的な保存に移行することができる。
【００３６】
第１２の発明は、情報処理プログラムであって、コンピュータを、状態切替手段、歩数検出手段、歩数記憶手段、および保存手段として機能させる。状態切替手段は、情報処理装置の省電力モードと通常モードとを切り替える。歩数検出手段は、少なくとも省電力モードのとき、歩数を検出する。歩数記憶手段は、歩数検出手段によって検出された歩数に対応する歩数データを第１メモリに記憶する。保存手段は、第１メモリに記憶された歩数データを、通常モードに切り替えられた後、自動的に読み出して当該第１メモリとは異なる第２メモリに保存する。
【００３７】
第１３の発明は、情報処理方法であって、コンピュータは、（ａ）情報処理装置の省電力モードと通常モードとを切り替え、（ｂ）少なくとも省電力モードのとき、歩数を検出し、（ｃ）ステップ（ｂ）によって検出された歩数に対応する歩数データを第１メモリに記憶し、そして（ｄ）第１メモリに記憶された歩数データを、省電力モードに切り替えられた後、自動的に読み出して当該第１メモリとは異なる第２メモリに保存する。
第１４の発明は、情報処理プログラムであって、コンピュータを、歩数を検出する歩数検出手段、歩数検出手段によって検出された歩数に対応する歩数データを第１メモリに記憶する歩数記憶手段、第１メモリに記憶された歩数データを当該第１メモリとは異なる第２メモリに保存する保存手段、および保存手段が能動化されている状態と不能動化されている状態とを切り替える状態切替手段を備え、歩数検出手段は、少なくとも、保存手段が不能動化されている状態のとき、歩数を検出し、保存手段は、第１メモリに記憶された歩数データを、状態切替手段によって能動化された状態に切り替えられた後、自動的に読み出して前記第２メモリに保存するように機能させる。
第１５の発明は、情報処理方法であって、コンピュータは、（ａ）歩数を検出し、（ｂ）ステップ（ａ）によって検出された歩数に対応する歩数データを第１メモリに記憶し、（ｃ）第１メモリに記憶された歩数データを所定のタイミングで自動的に読み出して当該第１メモリとは異なる第２メモリに保存し、そして（ｄ）ステップ（ｂ）が能動化されている状態と不能動化されている状態とを切り替え、
ステップ（ａ）において、少なくとも、ステップ（ｂ）が不能動化されている状態のとき、歩数を検出し、ステップ（ｂ）において、第１メモリに記憶された歩数データを、ステップ（ｄ）によって能動化された状態に切り替えられた後、自動的に読み出して前記第２メモリに保存する。
【００３８】
第１６の発明は、情報処理装置であって、歩数を検出し、検出した歩数に対応する歩数データを第１メモリに記憶するマイコン、および第１メモリに記憶された歩数データを読み出して当該第１メモリとは異なる第２メモリに保存するＣＰＵを備え、ＣＰＵは、起動中では、第１メモリに記憶された歩数データを所定のタイミングで自動的に読み出して第２メモリに保存し、マイコンからの要求に応じて停止し、停止中では、マイコンからの要求に応じて、第１メモリに記憶された歩数データを読み出して第２メモリに保存する。
【００３９】
第１７の発明は、歩数を検出し、検出した歩数に対応する歩数データを第１メモリに記憶するマイコン、および第１メモリに記憶された歩数データを読み出して当該第１メモリとは異なる第２メモリに保存するＣＰＵを備える、情報処理装置の情報処理方法であって、ＣＰＵは、起動中では、第１メモリに記憶された歩数データを所定のタイミングで自動的に読み出して第２メモリに保存し、マイコンからの要求に応じて停止し、停止中では、マイコンからの要求に応じて、第１メモリに記憶された歩数データを読み出して第２メモリに保存する。
【００４０】
第１６−第１９の発明においても、第１の発明と同様に、簡単かつ容易に歩数の長期的な保存を実現することができる。
【発明の効果】
【００４１】
この発明によれば、第１メモリに記憶された歩数データを、所定のタイミングで自動的に第２メモリに保存するので、何ら操作を必要とせずに、簡単かつ容易に歩数の長期的な保存を実現することができる。
【００４２】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００４３】
【図１】図１はこの発明の一実施例であるゲーム装置の外観図であり、開状態における正面を示す。
【図２】図２はゲーム装置の外観図であり、（Ａ）が閉状態における上面を示し、（Ｂ）が閉状態における左側面を示し、（Ｃ）が閉状態における正面を示し、（Ｄ）が閉状態における右側面を示し、（Ｅ）が閉状態における背面を示し、（Ｆ）が閉状態における下面を示す。
【図３】図３は３Ｄ調整スイッチの動作を説明するための図解図である。
【図４】図４はゲーム装置の電気的構成の一例を示すブロック図である。
【図５】図５は図４の電気的構成の要部（立体ＬＣＤとＳｏＣの一部とで構成される立体ＬＣＤ制御部）を示すブロック図である。
【図６】図６は視差バリア方式による３Ｄ／２Ｄ表示の原理を説明するための図解図であり、（Ａ）が視差バリアＯＮ状態（３Ｄ表示）を示し、（Ｂ）が視差バリアＯＦＦ状態（２Ｄ表示）を示す。
【図７】図７は仮想空間において左右２つの仮想カメラでオブジェクトを撮影する様子を示す図解図である。
【図８】図８は２つの仮想カメラによる撮影画像（カメラ間距離が最大値Ｄ０の場合）を示す図解図であり、（Ａ）がＶＲＡＭの左画像を示し、（Ｂ）がＶＲＡＭの右画像を示し、（Ｃ）が上ＬＣＤの立体視画像（３Ｄ最大）を示す。
【図９】図９はカメラ間距離による立体視画像の変化を説明するための図解図であり、（Ａ）がカメラ間距離の一例（０．５×Ｄ０）を示し、（Ｂ）が当該距離に対応する立体視画像（３Ｄ中）を示す。
【図１０】図１０はカメラ間距離による３Ｄ調整を説明するための図解図であり、（Ａ）がカメラ間距離の他の例（最小値０）を示し、（Ｂ）が当該距離に対応する立体視画像（３Ｄ最小＝２Ｄ）を示す。
【図１１】図１１は図４に示すメインメモリのメモリマップを示す図解図である。
【図１２】図１２は図４に示すマイコン内に設けられたメモリのメモリマップを示す図解図である。
【図１３】図１３は図４に示すＣＰＵの全体処理の第１の一部を示すフロー図である。
【図１４】図１４は図４に示すＣＰＵの全体処理の第２の一部であって、図１３に後続するフロー図である
【図１５】図１５は図４に示すＣＰＵの全体処理の第３の一部であって、図１４に後続するフロー図である。
【図１６】図１６は図４に示すＣＰＵの全体処理の第４の一部であって、図１３に後続するフロー図である。
【図１７】図１７は図４に示すＣＰＵの全体処理の第５の一部であって、図１６に後続するフロー図である。
【図１８】図１８は図４に示すＣＰＵの歩数保存処理を示すフロー図である。
【図１９】図１９は図４に示すマイコンの全体処理の第１の一部を示すフロー図である。
【図２０】図２０は図４に示すマイコンの全体処理の第２の一部であって、図１９に後続するフロー図である。
【図２１】図２１は図４に示すマイコンの全体処理の第３の一部であって、図２０に後続するフロー図である。
【図２２】図２２は図４に示すマイコンの全体処理の第４の他の一部であって、図２１に後続するフロー図である。
【図２３】図２３は図４に示すマイコンの全体処理の第５の一部であって、図１９に後続するフロー図である。
【図２４】図２４は図４に示すマイコンの歩数カウント処理を示すフロー図である。
【発明を実施するための形態】
【００４４】
図１および図２には、本発明の一実施例であるゲーム装置１０の外観が示される。ゲーム装置１０は、折り畳み式のゲーム装置であり、図１は開状態におけるゲーム装置１０の正面を示し、図２（Ａ）〜図２（Ｆ）は閉状態におけるゲーム装置１０の上面、左側面、前面、右側面、背面および下面を示している。
【００４５】
ゲーム装置１０は、図１に示されるように、互いに回動可能に連結された上側ハウジング１０Ａおよび下側ハウジング１０Ｂを備え、上側ハウジング１０Ａの正面には、裸眼３Ｄ表示に対応した立体ＬＣＤ１２、内側カメラ１８ａ、３Ｄ調整スイッチ２０、３Ｄランプ２０Ａ、ならびに左右のスピーカ２２ａおよび２２ｂなどが設けられる。下側ハウジング１０Ｂの正面には、タッチパネル１６付きの下ＬＣＤ１４、Ａ，Ｂ，Ｘ，Ｙボタン２４ａ−２４ｄ、十字キー（ボタン）２４ｇ、ホーム，セレクト，スタートボタン２４ｈ−２４ｊ、電源ボタン２４ｋ、アナログパッド２６、およびマイク３０が設けられる。
【００４６】
また、図２（Ａ）に示されるように、ゲーム装置１０の上面（図１に示した上側ハウジング１０Ａの裏面）には、３Ｄ撮影に対応した左右の外側カメラ１８ｂおよび１８ｃが設けられる。また、図２（Ｃ）に示されるように、ゲーム装置１０の前面には、ヘッドホン端子３６、および電源ランプ４２ａなどが設けられる。また、図２（Ｂ），図２（Ｅ）および図２（Ｄ）に示されるように、ゲーム装置１０の左側面から背面に跨ってＬボタン２４ｅが設けられ、右側面から背面に跨ってＲボタン２４ｆが設けられる。また、ゲーム装置１０の左側面には、音量調整スイッチ３２およびＳＤカードスロット３４などがさらに設けられ、ゲーム装置１０の右側面には、無線スイッチ２８、無線ランプ４２ｂなどがさらに設けられる。上述の３Ｄ調整スイッチ２０は、この右側面から露見している。また、ゲーム装置１０の背面には、赤外線受発光部４０などがさらに設けられる。そして、図２（Ｅ）および図２（Ｆ）に示されるように、ゲーム装置１０の背面から下面に跨ってゲームカードスロット３８が設けられる。
【００４７】
立体ＬＣＤ１２は、視差バリア（パララックスバリア）方式による３Ｄ液晶（図６参照）であり、裸眼で立体視が可能な画像（裸眼立体視画像）を表示する。立体ＬＣＤ１２では、液晶による視差バリアをＯＦＦすることで、平面画像の表示も可能である。なお、視差バリア方式に限らず、凹凸付のシート（レンチキュラレンズ）を利用するレンチキュラ方式や、その他の裸眼３Ｄ方式を採用してもよい。
【００４８】
内側カメラ１８ａは平面画像（２Ｄ画像）を撮影し、外側カメラ１８ｂおよび１８ｃは立体視画像（３Ｄ画像）を撮影する。プレイヤを撮影した２Ｄまたは３Ｄの画像は、ゲームプログラムのようなアプリケーションプログラムへの画像入力として利用可能である。この場合、ゲームプログラムは、画像認識を行うことで、プレイヤの顔や手の動き、視線方向（眼球の向き）などを検出し、検出結果に応じた処理を実行する。内側カメラ１８ａによる２Ｄ画像はまた、下ＬＣＤ１４に表示可能であり、外側カメラ１８ｂおよび１８ｃによる３Ｄ画像はまた、立体ＬＣＤ１２に表示可能である。
【００４９】
３Ｄ調整スイッチ２０は、立体ＬＣＤ１２の表示に関して、３Ｄおよび２Ｄの間の切り替えを手動で行い、さらには、３Ｄでの立体感の手動調整をも行うためのスライドスイッチであり、たとえば図３のように動作する。３Ｄの立体感は、この実施例では、スライダＳｄが上端にあるとき最大（Ｓｄ＝１）であり、スライダＳｄを下げるに従って減少し、下端にあるとき最小（Ｓｄ＝０）となる。そして、スライダＳｄを下端まで下げきると、３Ｄから２Ｄに切り替わる。
【００５０】
なお、詳細は後述するが、このような３Ｄの立体感の変化は、仮想空間内に配置された左右の仮想カメラ（ＩＣＬおよびＩＣＲ：図７参照）の間の距離（カメラ間距離Ｄ）を変化させることによって実現される（図７〜図１０参照）。つまり、３Ｄ調整スイッチ２０の動作に応じて、カメラ間距離Ｄが調整される。そして、カメラ間距離Ｄは、こうして手動調整されるだけでなく、ゲームプログラムによる自動調整（後述）も受ける。
【００５１】
３Ｄランプ２０Ａは、立体ＬＣＤ１２の表示状態を示すランプであり、３Ｄでは点灯し、２Ｄでは消灯する。なお、単に点灯よび消灯するだけでなく、３Ｄの程度（立体感の大小）に応じて輝度や色を変化させてもよい。
【００５２】
タッチパネル１６や、Ａ，Ｂ，Ｘ，Ｙボタン２４ａ−２４ｄ、十字キー（ボタン）２４ｇ、ホーム，セレクト，スタートボタン２４ｈ−２４ｊ、あるいはアナログパッド２６への操作は、ゲームプログラムへのタッチ／ボタン／パッド入力として利用される。電源ボタン２４ｋは、ゲーム装置１０の電源をオン／オフするために用いられる。電源ランプ４２ａは、電源のオン／オフと連動して点灯／消灯する。
【００５３】
マイク３０は、プレイヤの発話音声や環境音などを音声データに変換する。音声データは、ゲームプログラムへの音声入力として利用可能である。この場合、ゲームプログラムは、音声認識を行うことで、プレイヤの発話音声を検出し、検出結果に応じた処理を実行する。マイク３０による音声データはまた、ＮＡＮＤ型フラッシュメモリ４８（図４参照）などに記録可能である。
【００５４】
スピーカ２２ａおよび２２ｂは、ゲーム音声やマイク音声などを出力する。ヘッドホン端子３６には、図示しないヘッドホンが接続される。音量調整スイッチ３２は、スピーカ２２ａおよび２２ｂの音量またはヘッドホン端子３６の出力を調整するためのスライドスイッチである。
【００５５】
ＳＤカードスロット３４には、カメラ画像やマイク音声などを保存するためのＳＤメモリカード（図示せず）が装着され、ゲームカードスロット３８には、ゲームプログラムなどが格納されたゲームカード（図示せず）が装着される。赤外線受発光部４０は、他のゲーム装置との間での赤外線（ＩＲ）通信に利用される。
【００５６】
図４には、ゲーム装置１０の電気的構成が示される。ゲーム装置１０は、ＣＰＵ，ＧＰＵ，ＶＲＡＭおよびＤＳＰなどで構成されたＳｏＣ(System-on-a-Chip)４４を含む。ＳｏＣ４４には、上述した立体ＬＣＤ１２、下ＬＣＤ１４、内側カメラ（Ｉｎカメラ）１８ａ、左右の外側カメラ（ＯＣＡＭ−ＬおよびＯＣＡＭ−Ｒ）１８ｂおよび１８ｃ、Ａ，Ｂ，Ｘ，Ｙ，Ｌ，Ｒボタン２４ａ−２４ｆ、十字ボタン２４ｇ、ＳＤカードスロット３４、ゲームカードスロット３８、および赤外線受発光部（ＩＲ）４０が接続される。ＳｏＣ４４にはまた、マイコン５６を介して、上述した３Ｄ調整スイッチ（３Ｄ Ｖｏｌ）２０、３Ｄランプ２０Ａ、ホーム，セレクト，スタートボタン２４ｈ−２４ｊ、電源ボタン（Ｐｏｗｅｒ）２４ｋ、無線スイッチ（ＷｉＦｉ）２８、音量調整スイッチ（音量Ｖｏｌ）３２，および電源，無線ランプ４２ａ，４２ｂが接続される。ＳｏＣ４４にはさらに、ＩＦ回路５８を介して、上述したタッチパネル１６、左右のスピーカ２２ａおよび２２ｂ、アナログパッド２６、マイク（Ｍｉｃ）３０およびヘッドホン端子３６が接続される。
【００５７】
また、ＳｏＣ４４には、上述した以外の要素として、無線モジュール４６、ＮＡＮＤ型フラッシュメモリ４８およびメインメモリ５０が接続される。無線モジュール４６は、無線ＬＡＮに接続する機能を有する。ＮＡＮＤ型フラッシュメモリ４８は、カメラ画像，マイク音声など保存用のデータを記憶する。メインメモリ５０は、ＳｏＣ４４に作業領域を提供する。すなわち、メインメモリ５０には、ゲームなどのアプリケーションで用いられる各種のデータやプログラムが記憶され、ＳｏＣ４４はメインメモリ５０に記憶されたデータやプログラムを利用して作業を行う。
【００５８】
マイコン５６には、電源管理ＩＣ５２および加速度センサ５４が接続される。電源管理ＩＣ５２はゲーム装置１０の電源管理を行い、図示しない電源（電池）からの電力をゲーム装置１０の各コンポーネントに選択的に供給または停止する。また、加速度センサ５４は、３軸の加速度センサであり、下側ハウジング１０Ｂ（上側ハウジング１０Ａでもよい）の内部に設けられる。ゲーム装置１０の立体ＬＣＤ１２（下ＬＣＤ１４）の面に対して垂直な方向の加速度、および立体ＬＣＤ１２（下ＬＣＤ１４）の面に対して平行であり、互いに直交する２方向（縦方向および横方向）の加速度を検出する。加速度センサ５４は、検出した加速度についての信号（加速度信号）をマイコン５６に出力する。マイコン５６は、加速度信号に基づいて、ゲーム装置１０の向きを検出したり、ゲーム装置１０の振動の大きさを検出したりすることができる。たとえば、この加速度センサ５４の検出結果は、ゲームプログラムなどのアプリケーションプログラムへの動き入力として利用可能である。この場合、アプリケーションプログラムは、検出結果に基づいてゲーム装置１０自体の動きを計算し、計算結果に応じた処理を実行する。
【００５９】
また、マイコン５６は、ＲＴＣ（リアルタイムクロック）５６ａおよびメモリ５６ｂを含む。マイコン５６は、ＲＴＣ５６ａでカウントされる時間をＳｏＣ４４に供給する。メモリ５６ｂは、ＲＡＭやフラッシュメモリのようなメモリであり、マイコン５６によって実行されるプログラムや各種のデータが記憶される。
【００６０】
また、開閉スイッチ６０からは、オンまたはオフの信号がマイコン５６に与えられる。開閉スイッチ６０がオンされている状態、すなわちゲーム装置１０本体ないしゲーム装置１０の蓋（上側ハウジング１０Ａ）が開かれている状態で、ゲーム装置１０の電源がオンされている場合には、マイコン５６の制御の下、電源管理ＩＣ５２によってゲーム装置１０の全コンポーネントに電力を供給するモード（以下、「通常モード」という）が設定される。通常モードでは、ゲーム装置１０は任意のアプリケーションを実行可能であり、ユーザないしプレイヤがゲーム装置１０を使用している状態（使用状態）である。
【００６１】
また、ゲーム装置１０の電源がオンされている場合に、開閉スイッチ６０がオフされている状態、すなわちゲーム装置１０本体ないしゲーム装置１０の蓋が閉じられている閉状態には、電源管理ＩＣ５２からゲーム装置１０の一部のコンポーネントに電力を供給するモード（以下、「スリープモード」という）が設定される。ただし、アプリケーションの種類やアプリケーションの実行（進行）状況によっては、スリープモードが設定されないこともある。スリープを実行するか否かは、ＣＰＵ４４ａによって判断され、スリープを実行することが判断されると、ＣＰＵ４４ａは、スリープの実行をマイコン５６に指示する。また、スリープが実行されない場合であっても、閉状態では立体ＬＣＤ１２および下ＬＣＤ１４の電源はオフされる。したがって、閉状態は、電力の供給量を低減する省電力のモードということもできる。
【００６２】
スリープモードまたは閉状態では、ゲーム装置１０は原則として任意のアプリケーションを実行不能であり、ユーザないしプレイヤがゲーム装置１０を使用していない状態（不使用状態）である。この実施例では、一部のコンポーネントは、ＣＰＵ４４ａ、無線モジュール４６、電源管理ＩＣ５２およびマイコン５６である。ただし、スリープモード（スリープ状態）では、ＣＰＵ４４ａは、基本的にクロックを停止された状態（不能化された状態）であるため、ほとんど電力を消費しない。または、スリープモードでは、ＣＰＵ４４ａへの電力の供給を停止しても良い。したがって、上述したように、この実施例では、スリープモードにおいては、ＣＰＵ４４ａによって、アプリケーションが実行されることはない。
【００６３】
なお、電源管理ＩＣ５２およびマイコン５６には、ゲーム装置１０の電源がオフされている場合にも、電力が供給される。
【００６４】
また、スリープ状態においては、上述したように、ＣＰＵ４４ａは不能化された状態であり、無線モジュール４６が、他の機器を探索するための接続要求／応答信号（ビーコン）を送受信する。そして、探索によって条件に合致する他の機器が見つかったときに、無線通信モジュール４６からの制御信号によってＣＰＵ４４ａを起動する。つまり、無線モジュール４６によってＣＰＵ４４ａのクロックが動作され、その後、無線モジュール４６からＣＰＵ４４ａに通信の開始指示が与えられる。以下、同じ。そして、ＣＰＵ４４ａからマイコン５６に指示して、ＮＡＮＤ型フラッシュメモリ４８への電力の供給が開始される。したがって、通信（すれ違い通信）により、ＮＡＮＤ型フラッシュメモリ４８に記憶されたデータを、他のゲーム装置、コンピュータまたはアクセスポイント（上記の「他の機器」に相当）に送信したり、他の機器から受信したデータを、ＮＡＮＤ型フラッシュメモリ４８に記憶したりすることができる。
【００６５】
さらに、ゲーム装置１０の蓋が開かれると、開閉スイッチ６０からオンの信号がマイコン５６に入力される。このとき、ゲーム装置１０がスリープ状態である場合には、マイコン５６は、スリープを解除する。具体的には、マイコン５６は、ＣＰＵ４４ａを起動したり、電源管理ＩＣ５２を制御して、全コンポーネントへの電力を供給したりする。したがって、ゲーム装置１０は、通常モードへ移行し、使用状態になる。さらに、マイコン５６は、ＣＰＵ４４ａに、スリープの解除を指示する。したがって、アプリケーション等の処理を中断していた場合には、ＣＰＵ４４ａは、スリープの解除の指示に応じて、中断していた処理を再開する。ただし、ゲーム装置１０の蓋が開けられたときに、ゲーム装置１０がスリープ状態でない場合には、ＣＰＵ４４ａの指示の下、マイコン５６は、電源管理ＩＣ５２を制御して、立体ＬＣＤ１２および下ＬＣＤ１４に電力を供給する。
【００６６】
図５には、立体ＬＣＤ１２とＳｏＣ４４の一部とで構成される立体ＬＣＤ制御部１２Ａが示される。立体ＬＣＤ１２は、ＬＣＤコントローラ１２ａ、バリア液晶１２ｂおよび上ＬＣＤ１２ｃを含む。バリア液晶１２ｂは、図６（Ａ）に示されるように、縦（列）方向に伸びる複数の液晶スリットを含み、バックライトからの光を複数の液晶スリットで交互に遮ることによって、右目および左目に上ＬＣＤ１２ｃの異なる列の画素を通過した光が見えるようにする。上ＬＣＤ１２ｃは、下ＬＣＤ１４と同様、普通の（２Ｄ表示用の）液晶でよい。ＬＣＤコントローラ１２ａは、ＧＰＵ４４ｂひいてはＣＰＵ４４ａの制御下で、上ＬＣＤ１２ｃに描画を行い、かつバリア液晶１２ｂ（への印加電圧）をＯＮ／ＯＦＦする。バリア液晶１２ｂをＯＦＦすると、図６（Ｂ）に示されるように、右目および左目には、上ＬＣＤ１２ｃのどの列の画素を通過した光も見えるようになる。
【００６７】
詳しくは、たとえば図７に示すように、仮想空間内で、オブジェクトＯｂ１およびＯｂ２を、左右に間隔（Ｄ＝Ｄ０）を空けて配置された左仮想カメラＩＣＬおよび右仮想カメラＩＣＲで撮像する場合、ＣＰＵ４４ａの制御下で、ＧＰＵ４４ｂがＶＲＡＭ４４ｃに図８（Ａ）および図８（Ｂ）のような左画像４４Ｌおよび右画像４４Ｒを書き込み、ＬＣＤコントローラ１２ａは、ＶＲＡＭ４４ｃに記憶された左画像４４Ｌおよび右画像４４Ｒを１列ずつ交互に読み出して、上ＬＣＤ１２ｃに順番に描画していく。これによって、上ＬＣＤ１２ｃには、図８（Ｃ）のような立体視画像（立体視を実現するための画像）が表示される。立体視画像へのバックライト光をバリア液晶１２ｂで制限すると、左目には図８（Ａ）のような左画像４４Ｌが見え、右目には図８（Ｂ）のような右画像４４Ｒが見える結果、裸眼による立体視が実現される。
【００６８】
なお、図５には、立体ＬＣＤ１２に対応して、ＬＣＤコントローラ１２ａ、ＧＰＵ４４ｂおよびＶＲＡＭ４４ｃが設けられるように示してあるが、当然に、下ＬＣＤ１４に対応して、ＬＣＤコントローラ、ＧＰＵおよびＶＲＡＭが設けられている。図５を参照して分かるように、下ＬＣＤ１４に対応するＧＰＵもまた、ＣＰＵ４４ａと信号を送受信可能に接続され、下ＬＣＤ１４に対応するＧＰＵとＶＲＡＭとは信号を送受信可能に接続される。そして、ＣＰＵ４４ａ、下ＬＣＤ１４に対応するＧＰＵ、およびＶＲＡＭのそれぞれが、下ＬＣＤ１４に対応するＬＣＤコントローラと信号を送受信可能に接続され、このＬＣＤコントローラに下ＬＣＤ１４が接続されるのである。
【００６９】
ところで、先述したように、図８（Ｃ）の立体視画像は、カメラ間距離Ｄが最大（Ｄ＝Ｄ０：図７参照）のときの画像であり、カメラ間距離Ｄが図９（Ａ）さらには図１０（Ａ）のように短くなるに従って、図９（Ｂ）さらには図１０（Ｂ）のように変化する。カメラ間距離Ｄは、次式（１）で計算される。
【００７０】
Ｄ＝Ｓｄ×Ｐｄ×Ｄ０  …（１）
ここで、Ｓｄは、図３に示した３Ｄ調整スイッチ２０におけるスライダＳｄの値を示す変数であり、スライダＳｄの動作に応じて０から１の範囲で変化する（０≦Ｓｄ≦１）。Ｐｄは、ゲームプログラムなどのアプリケーションプログラムによって制御される変数であり、同じく０から１の範囲で変化する（０≦Ｐｄ≦１）。Ｄ０は、人間の２つの瞳の間隔に対応した定数であり、たとえば６５ｍｍに設定される（Ｄ０=６５ｍｍ）。
【００７１】
図７、図９（Ａ）および図１０（Ａ）では、いずれも変数Ｓｄは１であり、スライダＳｄは上端に固定されている（Ｓｄ＝１）。アプリケーションプログラムによって変数Ｐｄが１→０．５→０のように変化する結果、カメラ間距離ＤはＤ０→（０．５×Ｄ０）→０のように変化している。そして、このようなカメラ間距離Ｄの短縮方向への変化に応じて、立体視画像は、図８（Ｃ）→図９（Ｂ）→図１０（Ｂ）のように変化する。つまり、左画像４４Ｌおよび右画像４４Ｒの間の視差が減少していき、ついには平面画像と同等になる。
【００７２】
なお、変数Ｓｄがたとえば０．５に固定されていれば（Ｓｄ＝０．５）、カメラ間距離Ｄは０から（０．５×Ｄ０）の範囲内で変化する。また、変数Ｓｄがたとえば０に固定されていれば（Ｓｄ＝０）、カメラ間距離Ｄは０のままである。
【００７３】
図１０（Ａ）の状態つまり３Ｄ最小ないし２Ｄの場合、カメラ間距離Ｄは０なので、ＶＲＡＭ４４ｃに書き込まれる左画像４４Ｌおよび右画像４４Ｒは同一（つまり視差が０）となる。この場合も、ＬＣＤコントローラ１２ａは、ＶＲＡＭ４４ｃに記憶された左画像４４Ｌおよび右画像４４Ｒを１列ずつ交互に読み出して、上ＬＣＤ１２ｃに順番に描画していく。これによって、上ＬＣＤ１２ｃには、図１０（Ｂ）のような平面画像（つまり視差のない画像）が表示される。立体視画像へのバックライト光を制限するバリア液晶１２ｂをＯＦＦすると、左右どちらの目にも、図１０（Ｂ）のような平面画像が見える結果となる。
【００７４】
なお、このときバリア液晶１２ｂをＯＦＦしなくても、図１０（Ｂ）の平面画像が見える結果に変わりはない。ただし、バリア液晶１２ｂをＯＦＦすると、適視位置が拡大し、平面画像が明るく見えるようになる。また、ＬＣＤコントローラ１２ａは、交互読み出しを行う代わりに、左画像４４Ｌおよび右画像４４Ｒのいずれか一方を読み出して、上ＬＣＤ１２ｃに描画してもよい。この場合も、上ＬＣＤ１２ｃには、図１０（Ｂ）のような平面画像が表示される。
【００７５】
たとえば、電源ボタン２４ｋがオンされ、ゲーム装置１０の電源がオンされると、ゲーム装置１０が起動され、図示しないメインメニュー画面が下ＬＣＤ１４（または、上ＬＣＤ１２ｃ）に表示される。プレイヤは、このメインメニュー画面において、所望のアプリケーションを選択して、その実行を指示することができる。アプリケーションの実行が指示されると、ゲーム装置１０では、そのアプリケーションに対応するアプリケーションプログラムに従って処理が実行される。
【００７６】
ただし、図示は省略するが、この実施例のゲーム装置１０は、本願出願人が製造販売する下位機種のゲーム装置（商品名：ニンテンドーＤＳ、ニンテンドーＤＳ  Ｌｉｇｈｔ、ニンテンドーＤＳｉ)の上位互換機種であり、その下位機種のゲーム装置用のアプリケーションも実行可能である。
【００７７】
図示は省略したが、ＣＰＵ４４ａは、複数のコア（ＣＰＵコア）を含み、ゲーム装置１０用のアプリケーションを実行するＣＰＵコア（説明の都合上、「第１ＣＰＵコア」ということがある）と、下位機種のゲーム装置用のアプリケーションを実行するＣＰＵコア（説明の都合上、「第２ＣＰＵコア」ということがある）とが異なる。したがって、下位機種のゲーム装置用のアプリケーションを実行する場合には、第２ＣＰＵコアでタスクを実行するために、ゲーム装置１０用のアプリケーションを実行可能なモード（第１モード）から、この第１モードとは異なる第２モードに切り替えられる。
【００７８】
具体的には、第１モードから第２モードに切り替えられる場合には、ゲーム装置１０は再起動（リブート）され、下位機種のゲーム装置のアプリケーションを実行するための第２モードで起動され、第２ＣＰＵコアによってタスクが実行される。また、第２モードにおいて、電源ボタン２４ｋがオンされると、ゲーム装置１０の電源はオフされずに、第１モードに切り替えられる。つまり、ゲーム装置１０がリブートされ、第１モードで起動される。したがって、第１ＣＰＵコアによってタスクが実行される。
【００７９】
第１モードで実行されるアプリケーションであるか、または、第２モードで実行されるアプリケーションであるかは、アプリケーションプログラムのヘッダ情報に含まれる識別情報に基づいて判別することができる。詳細な説明等は省略するが、第１モードで実行されるアプリケーションのアプリケーションプログラムと、第２モードで実行されるアプリケーションのアプリケーションプログラムとは、ＮＡＮＤ型フラッシュメモリ４８の異なる領域に記憶されるため、アプリケーションプログラムが記憶されている領域から判別することも可能である。さらに、ゲームカードからアプリケーションプログラムをロードする場合には、ゲームカードのボリュームラベルのような識別情報からも判別することができる。これらの方法は、２つ以上を組み合わせて判別することにより、より正確な判別が可能である。
【００８０】
また、ゲーム装置１０の電源がオンされている状態で、ゲーム装置１０が閉じられ、不使用状態になると、当該ゲーム装置１０は、歩数計として機能し、歩数のカウントを開始する。上述したように、このとき、実行中の処理（アプリケーションの処理）は中断され、スリープが実行される。ただし、アプリケーションの種類やアプリケーションの実行（進行）状況によっては、スリープが実行されない場合もある。
【００８１】
以下、ゲーム装置１０が歩数計として機能する場合について説明するが、第１モードと第２モードとでは基本的な処理はほとんど同じであるため、異なる処理が実行される場合には、第１モードと第２モードとを分けて説明することにする。
【００８２】
ゲーム装置１０では、マイコン５６が加速度センサ５４からの出力に基づいて、歩数をカウントする。加速度センサ５４を用いた歩数計は既に周知であるため、その詳細な内容については省略するが、加速度の大きさに応じて歩数がカウント（検出）される。
【００８３】
また、歩数は第１所定時間（この実施例では、１時間）毎のまとまりで管理され、マイコン５６のメモリ５６ｂに記憶される。後述するように、メモリ５６ｂには、歩数データ記憶領域６５０（図１２参照）が設けられ、この実施例では、歩数データ記憶領域６５０は、短期間（２４時間×７日分）における歩数データ（６５０ａ、６５０ｂ、…）を記憶可能である。また、第１モードでは、マイコン５６のメモリ５６ｂに記憶された歩数データ（６５０ａ、６５０ｂ、…）は、第２所定時間（この実施例では、２４時間）毎に、ゲーム装置１０のＮＡＮＤ型フラッシュメモリ４８に保存（移動）される。したがって、第２モードにおいて、マイコン５６のメモリ５６ｂに記憶された歩数データ（６５０ａ、６５０ｂ、…）は、第１モードに切り替えられた後に、第２所定時間が経過するときに、ＮＡＮＤ型フラッシュメモリ４８に保存される。この実施例では、ＮＡＮＤ型フラッシュメモリ４８は、長期間（１０年分）における歩数データ（６５０ａ、６５０ｂ、…）を記憶可能な歩数データ記憶領域４８ａを有している。つまり、歩数データ記憶領域４８ａは、歩数データ記憶領域６５０よりも大容量である。
【００８４】
ただし、この実施例では、第１モードから第２モードに切り替えられる場合およびゲーム装置１０の電源がオフされる場合にも、切り替え前や電源オフの前に、メモリ５６ｂに記憶された歩数データがＮＡＮＤ型フラッシュメモリ４８に保存される。
【００８５】
なお、上述したように、第２モードで電源ボタン２４ｋがオンされた場合には、第１モードに切り替えられるため、第１モードに切り替えられた後に、電源ボタン２４ｋがオンされると、ゲーム装置１０の電源がオフされる。
【００８６】
たとえば、第１モードにおいて、ゲーム装置１０が閉状態で、スリープモードが設定されている場合に、第２所定時間を経過すると、マイコン５６からの制御信号によってＣＰＵ４４ａを起動する。つまり、マイコン５６によってＣＰＵ４４ａのクロックが動作される。また、マイコン５６は、電源管理ＩＣ５２を制御して、ＮＡＮＤ型フラッシュメモリ４８への電力の供給を開始する。その後、マイコン５６からの保存要求に応じて、ＣＰＵ４４ａは、マイコン５６のメモリ５６ｂから歩数データ（６５０ａ、６５０ｂ、…）を読み出し、ＮＡＮＤ型フラッシュメモリ４８に記憶する。ただし、ゲーム装置１０の電源がオンされたときに、第２所定時間のカウントが開始され、そのときの現在時刻（開始時刻）についてのデータがＮＡＮＤ型フラッシュメモリ４８に記憶される。したがって、開始時刻についてのデータは、ゲーム装置１０の電源がオンされる度に更新される。ただし、開始時刻は、スリープが実行されるときの現在時刻であってもよい。
【００８７】
一方、第１モードにおいて、上述したように、ゲーム装置１０が閉状態で、スリープモードが設定されていない場合には、第２所定時間が経過したときに、ＣＰＵ４４ａは、マイコン５６のメモリ５６ｂから歩数データ（６５０ａ、６５０ｂ、…）を読み出して、ＮＡＮＤ型フラッシュメモリ４８に記憶する。この場合、ＣＰＵ４４ａは、自身に設けられるタイマ４４０でカウントされた時間に基づいて第２所定時間が経過したかどうかを判断する。タイマ４４０は、ＣＰＵ４４ａを動作させるクロックにより更新されるタイマ（Ｔｉｃｋ）である。このタイマ４４０は、ゲーム装置１０の電源がオンであり、使用状態である場合に、現在時刻（年月日を含む）をカウントする。ただし、スリープ状態やゲーム装置１０の電源がオフの場合には、ＣＰＵ４４ａのクロックが停止されているため、タイマ４４０も停止される。したがって、ＣＰＵ４４ａは、ゲーム装置１０の電源がオンされたり、スリープ状態が解除されたりしたときに、ＲＴＣ５６ａから現在時刻を読み出して、タイマ４４０のカウント値（現在時刻）を補正する。詳細な説明は省略するが、タイマ４４０のカウント値を補正する際には、ユーザないしプレイヤが設定した現在時刻と、この現在時刻を設定したときのＲＴＣ５６ａでカウントされた現在時刻との差分時間（オフセット）が考慮される。このオフセットについてのデータ（オフセットデータ）は、ＣＰＵ４４ａ内のメモリ４４２に記憶されており、ユーザによって現在時刻が変更（再設定）されると、更新される。
【００８８】
図１１は図４に示したメインメモリ５０のメモリマップ５００の例を示す図解図である。図１１に示すように、メインメモリ５０は、プログラム記憶領域５０２およびデータ記憶領域５０４を含む。プログラム記憶領域５０２には、メイン処理プログラム５０２ａ、画像生成プログラム５０２ｂ、画像表示プログラム５０２ｃ、通信プログラム５０２ｄ、スリープ制御プログラム５０２ｅおよび歩数保存プログラム５０２ｆなどが記憶される。
【００８９】
メイン処理プログラム５０２ａは、ゲーム装置１０本体のメインルーチンを処理するためのプログラムである。画像生成プログラム５０２ｂは、後述する画像データ５０４ｃを用いて、メインメニュー画面などの各種画面を表示するための表示画像データを生成するためのプログラムである。画像表示プログラム５０２ｃは、画像生成プログラム５０２ｂに従って生成された表示画像データを立体ＬＣＤ１２または下ＬＣＤ１４或いはその両方に出力するためのプログラムである。
【００９０】
通信プログラム５０２ｄは、他のゲーム装置１０やコンピュータまたはアクセスポイントと通信するためのプログラムである。スリープ制御プログラム５０２ｅは、スリープの実行をマイコン５６に指示したり、マイコン５６からのスリープの解除指示に応じて、中断された処理を再開したりするためのプログラムである。歩数保存プログラム５０２ｆは、所定のタイミングで、マイコン５６内のメモリ５６ｂに記憶された歩数データ（６５０ａ、６５０ｂ、…）を、ＮＡＮＤフラッシメモリ４８に保存するためのプログラムである。この実施例では、所定のタイミングは、第２所定時間（たとえば、２４時間）が経過したとき、第１モードから第２モードに切り替えられる前、ゲーム装置１０の電源をオフする前である。
【００９１】
図示は省略するが、プログラム記憶領域５０２には、アプリケーションプログラムや音出力プログラムも記憶される。アプリケーションプログラムは、仮想ゲームなどの任意のアプリケーションについてのプログラムである。このアプリケーションプログラムは、ＳＤカードスロット３４に挿入されたＳＤカードやゲームカードスロット３８に挿入されたゲームカードからロードされたり、ＮＡＮＤ型フラッシュメモリ４８からロードされたり、ダウンロードされたりする。音出力プログラムは、図示しない音（音楽）データを用いて、音楽（ＢＧＭ）、効果音などの音を出力するためのプログラムである。
【００９２】
データ記憶領域５０４には、操作データバッファ５０４ａおよび通信データバッファ５０４ｂが設けられる。また、データ記憶領域５０４には、画像データ５０４ｃが記憶される。
【００９３】
操作データバッファ５０４ａは、操作ボタン（２４ａ−２４ｇ）およびアナログパッド２６から入力される操作データやタッチパネル１６から入力されるタッチ位置データを時系列に従って記憶（一時記憶）する。操作データやタッチ位置データは、ゲーム処理などの情報処理に使用されると、操作データバッファ５０４ａから削除される。通信データバッファ５０４ｂは、通常モードにおいて、他のゲーム装置１０などとの通信（すれ違い通信を除く）を実行する際に、送信するデータ（ゲームデータやコンテンツデータなど）や受信したデータを記憶（一時記憶）する。画像データ５０４ｃは、表示画像データを生成するためのポリゴンデータやテクスチャデータなどのデータである。
【００９４】
図示は省略するが、データ記憶領域５０４には、音データのような他のデータが記憶されたり、アプリケーションの処理を含む情報処理に必要なカウンタ（タイマ）やフラグが設けられたりする。
【００９５】
図１２は、マイコン５６に内蔵されるメモリ５６ｂのメモリマップ６００を示す図解図である。図１２に示すように、メモリ５６ｂは、プログラム記憶領域６０２およびデータ記憶領域６０４を含む。プログラム記憶領域６０２には、時刻設定プログラム６０２ａ、開閉検出プログラム６０２ｂ、電源制御プログラム６０２ｃ、および歩数カウントプログラム６０２ｄなどが記憶される。
【００９６】
時刻設定プログラム６０２ａは、後述する開始時刻データ６０４ａ、オフセットデータ６０４ｂおよび繰上げ分秒データ６０４ｃを記憶（設定）するためのプログラムである。開閉検出プログラム６０２ｂは、開閉スイッチ６０の状態（オンまたはオフ）に応じて、ゲーム装置１０が開状態であるか、閉状態であるかを検出し、開状態（蓋開情報）または閉状態（蓋閉情報）をＣＰＵ４４ａに通知するためのプログラムである。この実施例では、開閉スイッチ６０からオンの信号がマイコン５６に与えられている場合には、ゲーム装置１０は開状態であり、蓋開情報がＣＰＵ４４ａに通知される。また、開閉スイッチ６０からオフの信号がマイコン５６に与えられている場合には、ゲーム装置１０は閉状態であり、蓋閉情報がＣＰＵ４４ａに通知される。
【００９７】
電源制御プログラム６０２ｃは、電源管理ＩＣ５２を指示して、ゲーム装置１０の各コンポーネントへの電力の供給および停止を制御するためのプログラムである。歩数カウントプログラム６０２ｄは、ゲーム装置１０が不使用状態において、加速度センサ５４から入力される加速度信号に基づいて歩数をカウントするためのプログラムである。具体的には、歩数カウントプログラム６０２ｄは、加速度センサ５４から入力される加速度信号が所定値以上であるとき、最新歩数記憶領域識別データ６０４ｄが示す現在の記憶領域に記憶された歩数データ（６５０ａ、６５０ｂ、…）に対応する歩数を１加算するとともに、累積歩数データ６０４ｅに対応する歩数を１加算する。
【００９８】
図示は省略するが、プログラム記憶領域６０２には、情報処理に必要な他のプログラムも記憶される。
【００９９】
データ記憶領域６０４には、開始時刻データ６０４ａ、オフセットデータ６０４ｂ、繰上げ分秒データ６０４ｃ、最新歩数記憶領域識別データ６０４ｄ、最新歩数日時データ６０４ｅおよび累計歩数データ６０４ｆが記憶される。また、データ記憶領域６０４には、歩数データ記憶領域６５０が設けられる。さらに、データ記憶領域６０４には、スリープフラグ６０４ｇが設けられる。
【０１００】
開始時刻データ６０４ａは、第２所定時間のカウントを開始する時刻（開始時刻）についてのデータである。ただし、開始時刻は、年月日の情報も含む。オフセットデータ６０４ｂは、ユーザないしプレイヤがゲーム装置１０に設定（再設定）した現在時刻（ユーザ設定の現在時刻）とＲＴＣ５６ａとのオフセットについてのデータである。したがって、ユーザ設定の現在時刻は、ＲＴＣ５６ａでカウントされる現在時刻とオフセットデータ６０４ｂに対応するオフセットとによって更新される。上述したように、オフセットデータは、ユーザが現在時刻を設定（再設定）したときに算出され、ＣＰＵ４４ａ内のメモリ４４２に記憶される。したがって、オフセットデータ６０４ｂは、マイコン５６によってＣＰＵ４４ａから取得される。
【０１０１】
繰上げ分秒データ６０４ｃは、ユーザ設定の現在時刻が示す毎時の５９分５９秒に対応する、ＲＴＣ５６ａでカウントされる現在時刻が示す毎時の分および秒についてのデータである。これは、上述したように、カウントされる歩数に対応する歩数データ（６５０ａ、６５０ｂ、…）を、第１所定時間（１時間）毎のまとまりでマイコン５６のメモリ５６ｂに記憶するためであり、この１時間の区切りをユーザ設定の現在時刻が示す毎時の５９分５９秒に設定するためである。繰上げ分秒データもまた、ユーザが現在時刻を設定したときに算出され、ＣＰＵ４４ａ内のメモリ４４２に記憶される。したがって、繰上げ分秒データ６０４ｃは、マイコン５６によって、ＣＰＵ４４ａから取得される。なお、ユーザ設定の現在時刻が再設定された場合は、メモリ４４２に記憶された繰上げ分秒データは更新される。
【０１０２】
歩数データ記憶領域６５０は、複数の記憶領域を含み、各記憶領域には、第１所定時間（この実施例では、１時間）毎の歩数データが記憶される。図１２に示す例では、歩数１データ６５０ａ、歩数２データ６５０ｂ、…が記憶される。
【０１０３】
なお、詳細な説明は省略するが、上述したように、歩数データ記憶領域６５０には、一週間（２４時間×７日）分の記憶領域が設けられる。
【０１０４】
最新歩数記憶領域識別データ６０４ｄは、最新の歩数データ（６５０ａ、６５０ｂ、…）が記憶されている記憶領域を識別するための識別情報についてのデータである。上述したように、歩数データ（６５０ａ、６５０ｂ、…）は、第１所定時間毎のまとまりで記憶されるため、歩数データ（６５０ａ、６５０ｂ、…）の記録領域は、たとえば、所定の順番に従って変更される。
【０１０５】
最新歩数日時データ６０４ｅは、最新の歩数データ（６５０ａ、６５０ｂ、…）に付加される日時（最新歩数日時）についてのデータである。ただし、最新歩数日時は、年月の情報も含む。この最新歩数日時データ６０４ｅは、歩数データ（６５０ａ、６５０ｂ、…）の記憶領域が変更されるときに更新される。最新の歩数データ（６５０ａ、６５０ｂ、…）についての日時が分かれば、それよりも前に記憶された過去の歩数データ（６５０ａ、６５０ｂ、…）の日時については、所定の順番で変更された記憶領域を１時間ずつ遡ることにより、知ることができる。累積歩数データ６０４ｆは、ゲーム装置１０が最初に歩数計として使用されたときからカウントされている歩数の総数（累積値）についてのデータである。
【０１０６】
スリープフラグ６０４ｇは、スリープの実行中かどうかを判断するためのフラグであり、１ビットのレジスタで構成される。スリープフラグ６０４ｇがオン（成立）であれば、レジスタにデータ値「１」が設定される。スリープフラグ６０４ｅがオフ（不成立）であれば、レジスタにデータ値「０」が設定される。ただし、スリープフラグ６０４ｇは、ＣＰＵ４４ａからスリープの実行が指示されたときにオンされ、スリープを解除したときにオフされる。
【０１０７】
図示は省略するが、データ記憶領域６０４には、他のデータが記憶されたり、情報処理に必要なカウンタ（タイマ）や他のフラグなども設けられたりする。
【０１０８】
具体的には、図４に示したＣＰＵ４４ａおよびマイコン５６が情報処理を実行し、歩数をカウントしたり、保存したりする。具体的には、ＣＰＵ４４ａが、図１３−図１７に示す全体処理および図１８に示す歩数保存処理を実行する。また、マイコンが、図１９−図２３に示す全体処理および図２４に示す歩数カウント処理を実行する。以下、それぞれの処理について説明する。ただし、同じ処理については、重複する内容の説明を省略することにする。
【０１０９】
図１３に示すように、ゲーム装置１０の電源がオンされると、ＣＰＵ４４ａは、全体処理を開始し、ステップＳ１で、メインメニュー画面を立体ＬＣＤ１２に表示する。ただし、ゲーム装置１０の電源がオンされた当初では、第１モードでゲーム装置１０は起動される。また、図示等は省略するが、メインメニュー画面には、ゲーム装置１０で実行可能なアプリケーション（第１モードまたは第２モードで実行可能なアプリケーション）を示す画像（アイコン）が表示される。次のステップＳ３では、アプリケーションが選択されたかどうかを判断する。ステップＳ３で“ＮＯ”であれば、つまりアプリケーションが選択されていなければ、そのままステップＳ１５に進む。ステップＳ３で“ＹＥＳ”であれば、つまりアプリケーションが選択されれば、ステップＳ５で、選択されたアプリケーションが第１モードで実行されるアプリケーションであるかどうかを判断する。第１モードで実行されるか第２モードで実行されるかの判別方法は、上述したとおりである。
【０１１０】
ステップＳ５で“ＮＯ”であれば、つまり選択されたアプリケーションが第２モードで実行されるアプリケーションであれば、ステップＳ７で、後述する歩数保存処理（図１８参照）を実行し、ステップＳ９で、第２モードで起動する。つまり、第２モードのアプリケーションを第２ＣＰＵコアで実行するべく、ゲーム装置１０がリブートされる。そして、ステップＳ１１で、選択された第２モードで実行されるアプリケーションの処理を実行し、図１６に示すステップＳ５５に進む。図示は省略するが、アプリケーションの処理は、全体処理とは異なるタスクで実行される。
【０１１１】
一方、ステップＳ５で“ＹＥＳ”であれば、つまり選択されたアプリケーションが第１モードで実行されるアプリケーションであれば、ステップＳ１３で、選択された第１モードで実行されるアプリケーションの処理を実行し、ステップＳ１５で、第２所定時間（たとえば、２４時間）を経過したかどうかを判断する。
【０１１２】
図示等は省略したが、ゲーム装置１０の電源がオンされたときに、第２所定時間のカウントが開始される。たとえば、ゲーム装置１０の電源がオンされ、ＲＴＣ５６ａでカウントされている現在時刻とメモリ４４２に記憶された設定時刻データが示すオフセットとに基づいて、タイマ４４０のカウント値が補正され、このときのカウント値が開始時刻としてＮＡＮＤ型フラッシュメモリ４８に記憶される。ただし、上述したように、スリープが実行されたときに、第２所定時間のカウントが開始されてもよい。かかる場合には、スリープが実行されたときに、タイマ４４０のカウント値が開始時刻としてＮＡＮＤ型フラッシュメモリ４８に記憶される。したがって、ＣＰＵ４４ａは、ステップＳ１５で、タイマ４４０のカウント値を参照して、ＮＡＮＤ型フラッシュメモリ４８に記憶された開始時刻から第２所定時間が経過したかどうかを判断する。後述するステップＳ２９も同じである。
【０１１３】
ステップＳ１５で“ＮＯ”であれば、つまり第２所定時間を経過していなければ、そのままステップＳ１９に進む。一方、ステップＳ１５で“ＹＥＳ”であれば、つまり第２所定時間を経過すれば、ステップＳ１７で、歩数保存処理を実行して、ステップＳ１９に進む。
【０１１４】
ステップＳ１９では、マイコン５６からの蓋閉情報を受信したかどうかを判断する。ステップＳ１９で“ＮＯ”であれば、つまりマイコン５６からの蓋閉情報を受信していなければ、図１５に示すステップＳ４９に進む。一方、ステップＳ１９で“ＹＥＳ”であれば、つまりマイコン５６からの蓋閉情報を受信すれば、ステップＳ２１で、歩数カウントの開始をマイコン５６に指示する。
【０１１５】
続いて、図１４に示すステップＳ２３では、スリープを実行するかどうかを判断する。実行中のアプリケーションによってスリープするものと、スリープしないものとがあり、また、アプリケーションの進行状況によってはスリープできないことがあるため、ここでは、ＣＰＵ４４ａは、実行中の処理を中断して、スリープを実行することが可能かどうかを判断する。ステップＳ２３で“ＹＥＳ”であれば、つまりスリープを実行する場合には、ステップＳ２５で、実行中の処理（第１モードで実行されるアプリケーションの処理）を中断し、ステップＳ２７で、スリープの実行をマイコン５６に指示して、図１５に示すステップＳ３７に進む。つまり、ステップＳ２７では、アプリケーションの処理を実行しているタスクが一時停止され、スリープモードに移行する。
【０１１６】
一方、ステップＳ２３で“ＮＯ”であれば、つまりスリープを実行しない場合には、ステップＳ２９で、第２所定時間を経過したかどうかを判断する。ステップＳ２９で“ＮＯ”であれば、そのままステップＳ３３に進む。一方、ステップＳ２９で“ＹＥＳ”であれば、ステップＳ３１で、歩数保存処理を実行して、ステップＳ３３に進む。
【０１１７】
ステップＳ３３では、マイコン５６からの蓋開情報を受信したかどうかを判断する。ステップＳ３３で“ＮＯ”であれば、つまりマイコン５６からの蓋開情報を受信していなければ、そのままステップＳ２９に戻る。一方、ステップＳ３３で“ＹＥＳ”であれば、つまりマイコン５６からの蓋開情報を受信すれば、ステップＳ３５で、歩数カウントの停止をマイコン５６に指示して、図１５に示すステップＳ４９に進む。
【０１１８】
図１５に示すように、ステップＳ３７では、上述したような、すれ違い通信処理を実行する。ここでは、簡単のため、ＣＰＵ４４ａによってすれ違い通信処理が実行されるように示してあるが、上述したように、実際には、無線モジュール４６が、他の機器を探索するための接続要求／応答信号（ビーコン）を送受信し、探索によって条件に合致する他の機器が見つかったときに、無線通信モジュール４６からの制御信号によってＣＰＵ４４ａを起動する。そして、無線モジュール４６からＣＰＵ４４ａに通信の開始指示が与えられ、すれ違い通信処理が実行される。
【０１１９】
続いて、ステップＳ３９では、マイコン５６からの歩数保存要求を受信したかどうかを判断する。ただし、マイコン５６からの歩数保存要求が有る前に、マイコン５６によって、ＣＰＵ４４ａは起動され、ＮＡＮＤ型フラッシュメモリ４８に電力が供給される。ステップＳ３９で“ＮＯ”であれば、つまりマイコン５６からの歩数保存要求を受信していなければ、そのままステップＳ４５に進む。一方、ステップＳ３９で“ＹＥＳ”であれば、つまり歩数保存要求を受信すれば、ステップＳ４１で、歩数保存処理を実行し、ステップＳ４３で、スリープの実行をマイコン５６に指示して、スリープ状態に戻る。その後、ステップＳ４５に進む。
【０１２０】
ステップＳ４５では、マイコン５６からのスリープ解除の指示があるかどうかを判断する。ステップＳ４５で“ＮＯ”であれば、つまりマイコン５６からのスリープ解除の指示がなければ、そのままステップＳ３７に戻り、スリープモードを継続する。一方、ステップＳ４５で“ＹＥＳ”であれば、つまりマイコン５６からのスリープ解除の指示があれば、ステップＳ４７で、中断していた処理を再開し、ステップＳ４９で、マイコン５６からの電源オフ情報を受信したかどうかを判断する。つまり、ステップＳ４７では、一時停止されたタスクが再開され、通常モードに移行する。
【０１２１】
ステップＳ４９で“ＮＯ”であれば、つまりマイコン５６からの電源オフ情報を受信していなければ、図１３に示したステップＳ３に戻る。一方、ステップＳ４９で“ＹＥＳ”であれば、つまりマイコン５６からの電源オフ情報を受信していれば、ステップＳ５１で、歩数保存処理を実行し、ステップＳ５３で、電源オフ実行をマイコン５６に指示して、全体処理を終了する。その後、後述するように、マイコン５６によって、ゲーム装置１０の電源がオフされる。
【０１２２】
また、上述したように、ステップＳ１１で、選択された第２モードで実行されるアプリケーションの処理を実行すると、図１６に示すように、ステップＳ５５で、蓋閉情報を受信したかどうかを判断する。ステップＳ５５で“ＮＯ”であれば、そのまま図１７に示すステップＳ７５に進む。一方、ステップＳ５５で“ＹＥＳ”であれば、ステップＳ５７で、歩数カウントの開始をマイコン５６に指示し、ステップＳ５９で、スリープを実行するかどうかを判断する。
【０１２３】
ステップＳ５９で“ＹＥＳ”であれば、ステップＳ６１で、実行中の処理（第２モードで実行されるアプリケーションの処理）を中断し、ステップＳ６３で、スリープの実行をマイコン５６に指示して、図１７に示すステップＳ６９に進む。一方、ステップＳ５９で“ＮＯ”であれば、ステップＳ６５で、蓋開情報を受信したかどうかを判断する。ステップＳ６５で“ＮＯ”であれば、同じステップＳ６５に戻る。一方、ステップＳ６５で“ＹＥＳ”であれば、ステップＳ６７で、歩数カウントの停止をマイコン５６に指示して、ステップＳ７５に進む。
【０１２４】
図１７に示すように、ステップＳ６９では、すれ違い通信処理を実行する。続くステップＳ７１では、スリープ解除の指示があるかどうか、たとえば、蓋開情報を受信したか否かを判断する。ステップＳ７１で“ＮＯ”であれば、そのままステップＳ６９に戻る。一方、ステップＳ７１で“ＹＥＳ”であれば、ステップＳ７３で、中断していた処理を再開し、ステップＳ７５で、電源オフ情報を受信したかどうかを判断する。
【０１２５】
ステップＳ７５で“ＮＯ”であれば、そのまま図１６に示したステップＳ５５に戻る。一方、ステップＳ７５で“ＹＥＳ”であれば、ステップＳ７７で、第１モードで起動する。つまり、ＣＰＵ４４ａは、第１ＣＰＵコアでタスクを実行するべく、ゲーム装置１０を再起動する。そして、図１３に示したステップＳ１に戻る。
【０１２６】
したがって、第２モードでカウントされた歩数についての歩数データは、第１モードに切り替えた後に、第２所定時間が経過するタイミングで、ＮＡＮＤ型フラッシュメモリ４８に保存される。
【０１２７】
図１８は、図１３−図１５に示したステップＳ７、Ｓ１７、Ｓ３１、Ｓ４１およびＳ５１の歩数保存処理のフロー図である。図１８に示すように、ＣＰＵ４４ａは歩数保存処理を開始すると、ステップＳ１０１で、マイコン５６内のメモリ５６ｂに歩数データ（６５０ａ、６５０ｂ、…）が記憶されているかどうかを判断する。
【０１２８】
ステップＳ１０１で“ＮＯ”であれば、つまりマイコン５６内のメモリ５６ｂに歩数データ（６５０ａ、６５０ｂ、…）が記憶されていなければ、そのまま図１３−図１７に示した全体処理にリターンする。一方、ステップＳ１０１で“ＹＥＳ”であれば、つまりマイコン５６内のメモリ５６ｂに歩数データ（６５０ａ、６５０ｂ、…）が記憶されていれば、ステップＳ１０３で、マイコン５６から歩数データ（６５０ａ、６５０ｂ、…）と時刻情報とを取得する。上述したように、ＣＰＵ４４ａは、最新の歩数データ（６５０ａ、６５０ｂ、…）の時刻情報を、最新歩数日時データ６０４ｅから取得する。そして、上述したように、最新歩数日時データ６０４ｅが示す日時から１時間ずつ遡ることにより、最新の歩数データ（６５０ａ、６５０ｂ、…）よりも前に記憶された過去の歩数データ（６５０ａ、６５０ｂ、…）について時刻情報を取得する。ただし、時刻情報は、最新歩数日時データ６０４ｅが示す時刻がメモリ４４２に記憶されたオフセットデータに対応するオフセットで補正されることにより取得される。
【０１２９】
次のステップＳ１０５では、マイコン５６から取得した時刻情報を、各歩数データ（６５０ａ、６５０ｂ、…）に付加してＮＡＮＤ型フラッシュメモリ４８に保存する。そして、ステップＳ１０７で、マイコン５６のメモリ５６ｂをリセットして、全体処理にリターンする。
【０１３０】
なお、ステップＳ１０７では、ＣＰＵ４４ａは、マイコン５６にメモリ５６ｂのリセットを指示し、これに応じて、マイコン５６がメモリ５６ｂに記憶された歩数データ（６５０ａ、６５０ｂ、…）をすべて消去する。
【０１３１】
上述したように、図１９−図２３は、マイコン５６の全体処理を示すフロー図である。図１９に示すように、ゲーム装置１０の電源がオンされると、マイコン５６は、全体処理を開始し、ステップＳ１２１で、ユーザ設定の現在時刻とオフセットと繰上げ分秒とを取得する。ここでは、マイコン５６は、タイマ４４０でカウントされるユーザ設定の現在時刻をＣＰＵ４４ａから取得し、対応する現在時刻のデータを開始時刻データ６０４ａとしてメモリ５６に記憶する。また、マイコン５６ａは、ＣＰＵ４４ａからオフセットデータを取得し、メモリ５６ｂに記憶する。さらに、マイコン５６は、繰上げ分秒データをＣＰＵ４４ａから取得し、メモリ５６ｂに記憶する。
【０１３２】
続くステップＳ１２３では、蓋が閉じられたかどうかを判断する。ここでは、マイコン５６は、開閉スイッチ６０からオフの信号が与えられたかどうかを判断する。ステップＳ１２３で“ＮＯ”であれば、つまり蓋が閉じられていなければ、そのまま図２３に示すステップＳ１７３に進む。一方、ステップＳ１２３で“ＹＥＳ”であれば、つまり蓋が閉じられた場合には、ステップＳ１２５で、蓋閉情報をＣＰＵ４４ａに送信する。次のステップＳ１２７では、ＣＰＵ４４ａからの歩数カウントの開始の指示を受信したかどうかを判断する。
【０１３３】
ステップＳ１２７で“ＮＯ”であれば、つまりＣＰＵ４４ａからの歩数カウントの開始の指示を受信していなければ、同じステップＳ１２７に戻る。一方、ステップＳ１２７で“ＹＥＳ”であれば、つまりＣＰＵ４４ａからの歩数カウントの開始の指示を受信すれば、ステップＳ１２９で、歩数カウントを開始する。つまり、マイコン５６は、後述する歩数カウント処理（図２４参照）を全体処理とは異なるタスクで実行する。
【０１３４】
続いて、ステップＳ１３１で、領域更新フラグ６０４ｇをオフし、図２０に示すステップＳ１３３で、ＣＰＵ４４ａからスリープの実行の指示があるかどうかを判断する。ステップＳ１３３で“ＮＯ”であれば、つまりＣＰＵ４４ａからスリープの実行の指示がなければ、そのままステップＳ１３９に進む。一方、ステップＳ１３３で“ＹＥＳ”であれば、つまりＣＰＵ４４ａからスリープの実行の指示があれば、ステップＳ１３５で、スリープを実行し、ステップＳ１３７で、スリープフラグ６０４ｇをオンして、ステップＳ１３９に進む。
【０１３５】
なお、上述したように、マイコン５６は、スリープを実行すると、電源管理ＩＣ５２を制御して、無線モジュール４６以外のコンポーネントの電力を停止させる。ただし、ＣＰＵ４４ａ、電源管理ＩＣ５２およびマイコン５６には、電力が常に供給されている。
【０１３６】
ステップＳ１３９では、第２所定時間（この実施例では、２４時間）を経過したかどうかを判断する。ここでは、マイコン５６は、ＲＴＣ５６ａによってカウントされる現在時刻とオフセットデータ６０４ｂが示すオフセットとからユーザ設定の現在時刻を算出し、開始時刻データ６０４ａが示す開始時刻から第２所定時間を経過したかどうかを判断しているのである。ただし、スリープを実行するときに、第２所定時間のカウントを開始してもよい。かかる場合には、スリープを実行するとき、ＣＰＵ４４ａからユーザ設定の現在時刻を取得し、取得したユーザ設定の現在時刻を開始時刻としてメモリ５６ｂに記憶すればよい。
【０１３７】
ステップＳ１３９で“ＮＯ”であれば、つまり第２所定時間を経過していなければ、図２２に示すステップＳ１５７に進む。一方、ステップＳ１３９で“ＹＥＳ”であれば、つまり第２所定時間を経過すれば、ステップＳ１４１で、第１モードであるかどうかを判断する。図示は省略したが、マイコン５６のメモリ５６ａにはモード判別フラグが記憶される。モード判別フラグは、第１モードまたは第２モードを判別するためのフラグであり、１ビットのレジスタで構成される。第１モードでは、モード判別フラグはオンされ、レジスタにデータ値「１」が設定される。また、第２モードでは、モード判別フラグはオフされ、レジスタにデータ値「０」が設定される。
【０１３８】
なお、ゲーム装置１０の電源がオンされたときや第２モードから第１モードに切り換えられたときに、モード判別フラグはオンされ、第１モードから第２モードに切り換えられたときに、モード判別フラグはオフされる。
【０１３９】
ステップＳ１４１で“ＮＯ”であれば、つまりモード判別フラグがオフであれば、第２モードであると判断して、ステップＳ１５７に進む。一方、ステップＳ１４１で“ＹＥＳ”であれば、つまりモード判別フラグがオンであれば、第１モードであると判断して、図２１に示すステップＳ１４３で、スリープ中であるかどうかを判断する。ここでは、マイコン５６は、スリープフラグ６０４ｇがオンであるかどうかを判断する。ステップＳ１４３で“ＮＯ”であれば、つまりスリープ中でなければ、そのままステップＳ１５７に進む。
【０１４０】
一方、ステップＳ１４３で“ＹＥＳ”であれば、つまりスリープ中であれば、ステップＳ１４５で、スリープの解除（１）を実行する。ここでは、ゲーム装置１０は閉状態であり、また、後述するように、歩数保存要求をＣＰＵ４４ａに送信し、ＣＰＵ４４ａが歩数保存処理を実行するだけである。したがって、スリープの解除（１）では、マイコン５６は、ＣＰＵ４４ａを起動するとともに、電源管理ＩＣ５２を制御して、ＮＡＮＤ型フラッシュメモリ４８にのみ電力を供給する。続く、ステップＳ１４７では、スリープフラグ６０４ｇをオフし、ステップＳ１４９で、歩数保存要求をＣＰＵ４４ａに送信する。つまり、第１モードでは、スリープ中に第２所定時間が経過すると、歩数保存処理が実行されるが、第２モードでは、スリープ中に第２所定時間が経過しても、歩数保存処理は実行されない。
【０１４１】
続いて、ステップＳ１５１では、ＣＰＵ４４ａからスリープの実行の指示があるかどうかを判断する。ステップＳ１５１で“ＮＯ”であれば、つまりＣＰＵ４４ａからスリープの実行の指示がなければ、同じステップＳ１５１に戻って、スリープの実行の指示があるのを待機する。一方、ステップＳ１５１で“ＹＥＳ”であれば、つまりＣＰＵ４４ａからスリープの実行の指示があれば、ステップＳ１５３で、スリープを実行し、ステップＳ１５５で、スリープフラグ６０４ｇをオンして、ステップＳ１５７に進む。つまり、ステップＳ１５３では、マイコン５６は、ＣＰＵ４４ａのクロックを停止し、電源管理ＩＣ５２を制御して、ＮＡＮＤ型フラッシュメモリ４８の電力を停止し、スリープ状態に戻る。
【０１４２】
図２２に示すように、ステップＳ１５７では、蓋が開けられたかどうかを判断する。ここでは、マイコン５６は、開閉スイッチ６０からオンの信号が与えられたかどうかを判断する。ステップＳ１５７で“ＮＯ”であれば、つまり蓋が開けられていなければ、図２０に示したステップＳ１３９に戻る。一方、ステップＳ１５７で“ＹＥＳ”であれば、つまり蓋が開けられれば、ステップＳ１５９で、スリープ中かどうかを判断する。
【０１４３】
ステップＳ１５９で“ＮＯ”であれば、そのままステップＳ１６７に進む。一方、ステップＳ１５９で“ＹＥＳ”であれば、ステップＳ１６１で、スリープの解除（２）を実行する。ここでは、ゲーム装置１０の蓋が開けられたため、スリープの解除（２）では、マイコン５６は、ＣＰＵ４４ａを起動するとともに、電源管理ＩＣ５２を制御して、全コンポーネントに電力を供給する。続いて、ステップＳ１６３では、スリープ解除をＣＰＵ４４ａに指示し、ステップＳ１６５では、スリープフラグ６０４ｇをオフして、ステップＳ１６７に進む。
【０１４４】
ステップＳ１６７では、蓋開情報をＣＰＵ４４ａに送信する。そして、ステップＳ１６９では、ＣＰＵ４４ａから歩数カウントの停止の指示があるかどうかを判断する。ステップＳ１６９で“ＮＯ”であれば、つまりＣＰＵ４４ａから歩数カウントの停止の指示がなければ、同じステップＳ１６９に戻って、歩数カウントの停止の指示があるのを待機する。一方、ステップＳ１６９で“ＹＥＳ”であれば、つまりＣＰＵ４４ａから歩数カウントの停止の指示があれば、ステップＳ１７１で、歩数カウントを終了し、図２３に示すステップＳ１７３に進む。ステップＳ１７１では、マイコン５６は、歩数カウント処理のタスクを終了する。
【０１４５】
図２３に示すように、ステップＳ１７３では、電源オフの指示があるかどうかを判断する。つまり、マイコン５６は、電源ボタン２４ｋがオンされたかどうかを判断する。ステップＳ１７３で“ＮＯ”であれば、つまり電源オフの指示がなければ、図１９に示したステップＳ１２３に戻る。一方、ステップＳ１７３で“ＹＥＳ”であれば、つまり電源オフの指示があれば、ステップＳ１７５で、電源オフ情報をＣＰＵ４４ａに送信し、ステップＳ１７７で、ＣＰＵ４４ａから電源オフ実行の指示があるかどうかを判断する。
【０１４６】
ステップＳ１７７で“ＮＯ”であれば、つまりＣＰＵ４４ａから電源オフ実行の指示がなければ、同じステップＳ１７７に戻って、電源オフ実行の指示があるのを待機する。一方、ステップＳ１７７で“ＹＥＳ”であれば、つまりＣＰＵ４４ａから電源オフ実行の指示があれば、ステップＳ１７９で、ゲーム装置１０の電源をオフして、全体処理を終了する。ステップＳ１７９では、マイコン５６は、電源管理ＩＣ５２を制御して、電源管理ＩＣ５２およびマイコン５６を除く全コンポーネントの電力を停止する。
【０１４７】
なお、図１９−図２３では省略したが、マイコン５６は、ステップＳ１２３で“ＹＥＳ”である場合には、電源管理ＩＣ５２を制御して、立体ＬＣＤ１２および下ＬＣＤ１４の電力を停止する。また、マイコン５６は、ステップＳ１５７で“ＹＥＳ”である場合には、スリープ中か否かに拘わらず、電源管理ＩＣ５２を制御して、立体ＬＣＤ１２および下ＬＣＤ１４に電力を供給する。
【０１４８】
図２４は、マイコン５６の歩数カウント処理を示すフロー図である。図２４に示すように、マイコン５６は、歩数カウント処理を開始すると、ステップＳ２０１で、所定値以上の加速度を検出したかどうかを判断する。つまり、マイコン５６は、加速度センサ５４からの加速度信号が示す加速度が所定値以上であるかどうかを判断する。
【０１４９】
ステップＳ２０１で“ＮＯ”であれば、つまり所定値以上の加速度を検出していなければ、そのままステップＳ２１３に進む。一方、ステップＳ２０１で“ＹＥＳ”であれば、つまり所定値以上の加速度を検出すると、ステップＳ２０３で、繰上げ分秒を迎えたかどうかを判断する。ここでは、マイコン５６は、ＲＴＣ５６ａでカウントされる現在時刻、オフセットデータ６０４ｂが示すオフセット、繰上げ分秒データ６０４ｃが示す繰上げ分秒および最新歩数日時データ６０４ｅが示す最新歩数日時に基づいて、歩数データ（６５０ａ、６５０ｂ、…）の記憶領域を変更するかどうかを判断する。ステップＳ２０３で“ＮＯ”であれば、つまり繰上げ分秒を迎えていなければ、そのままステップＳ２０９に進む。一方、ステップＳ２０３で“ＹＥＳ”であれば、つまり繰上げ分秒を迎えると、ステップＳ２０５で、ＲＴＣ５６ａでカウントされた現在時刻を最新歩数日時として、対応する最新歩数日時データ６０４ｅをメモリ５６ｂに書き込む。つまり、最新歩数日時データ６０４ｅが更新される。次のステップＳ２０７では、歩数データの記憶領域を変更して、ステップＳ２０９に進む。
【０１５０】
ステップＳ２０９では、現在の記憶領域に記憶された歩数データ（６５０ａ、６５０ｂ、…）に対応する歩数を１加算する。このとき、マイコン５６は、最新歩数記憶領域識別データ６０４ｄが示す記憶領域を現在の記憶領域と判断する。ただし、現在の記憶領域に歩数データが記憶されていない場合には、歩数が１である歩数データを現在の記憶領域に記憶する。
【０１５１】
続くステップＳ２１１では、累積歩数を１加算する。つまり、マイコン５６は、累積歩数データ６０４ｆが示す累積歩数を１加算する。そして、ステップＳ２１３で、歩数カウントの終了かどうかを判断する。上述したように、マイコン５６は、ＣＰＵ４４ａから歩数カウントの停止の指示があると、歩数カウントを終了する。
【０１５２】
ステップＳ２１３で“ＮＯ”であれば、つまり歩数カウントの終了でなければ、そのままステップＳ２０１に戻って、歩数カウントを続行する。一方、ステップＳ２１３で“ＹＥＳ”であれば、つまり歩数カウントの終了であれば、歩数カウント処理を終了する。
【０１５３】
この実施例によれば、ゲーム装置の電源がオンされ、第１モードが設定されている場合には、スリープ状態であるか否かに拘わらず、第２所定時間毎、第１モードから第２モードに切り替えられる前、および電源がオフされる前のような所定のタイミングで、マイコン内のメモリに記憶された歩数データが、ＮＡＮＤ型フラッシュメモリに保存される。したがって、マイコン内のメモリの記憶領域が一杯になり、歩数を記憶できない状態になることを回避することができる。つまり、ユーザないしプレイヤの操作を必要とせず、簡単かつ容易に歩数の長期的な保存を実現することができる。
【０１５４】
なお、この実施例では、ゲーム装置がスリープ状態でない場合には、ＣＰＵ内部に設けられたタイマのカウント値に基づいて第２所定時間を経過したかどうかを判断するようにしたが、かかる場合にも、ＲＴＣのカウント値に基づいて第２所定時間を経過したかどうかを判断するようにしてもよい。
【０１５５】
また、この実施例では、第２所定時間が経過したとき、第１モードから第２モードに切り換えられる前（ゲーム装置を再起動する前）および電源をオフする前のような所定のタイミングで、マイコン内のメモリに記憶された歩数データをＮＡＮＤ型フラッシュメモリに保存するようにしたが、これに限定される必要はない。
【０１５６】
具体的には、第１モードでスリープが実行される前、第１モードでスリープが解除されたとき、および第１モードでマイコン内のメモリの歩数データ記憶領域が一杯になったときなどにも、歩数保存処理を実行してもよい。または、電源をオフするときには、歩数保存処理を実行しないようにしてもよい。ただし、ゲーム装置の電源をオフするか、ゲーム装置を再起動するかは、ＣＰＵによって選択（判断）される。
【０１５７】
また、この実施例で示したゲーム装置の構成に限定される必要はない。ＬＣＤは１つでもよく、タッチパネルは設けなくてもよい。または、両方のＬＣＤにタッチパネルを設けてもよい。また、カメラは設けなくてもよいし、４つ以上設けてもよい。もちろん、カメラは、１つまたは２つでも構わない。さらに、２つの立体ＬＣＤを設けてもよく、逆に、２つとも立体表示できないＬＣＤを設けてもよい。さらにまた、各種ボタンやアナログパッドは、一部を省略してもよいし、また、それらの配置位置は任意に変更することができる。
【０１５８】
さらに、この実施例では、情報処理装置の一例として、携帯型のゲーム装置を説明したが、これに限定される必要はない。記憶容量の異なるメモリを２つ以上備えるとともに、歩数を検出する機能を備える情報処理装置であれば、携帯電話機やＰＤＡのような他の情報処理装置にも適用可能である。
【符号の説明】
【０１５９】
１０  …ゲーム装置
１２  …立体ＬＣＤ
１２ａ  …ＬＣＤコントローラ
１２ｂ  …バリア液晶
１２ｃ  …上ＬＣＤ
１４  …下ＬＣＤ
１６  …タッチパネル
１８ａ−１８ｃ  …カメラ（内側，外側左，外側右）
２０  …３Ｄ調整スイッチ（３Ｄ Ｖｏｌ）
２０Ａ  …３Ｄランプ
３０  …マイク
２４ａ−２４ｋ  …ボタン（キー）
２６  …アナログパッド
４４  …ＳｏＣ
４４ａ  …ＣＰＵ
４４ｂ  …ＧＰＵ
４４ｃ  …ＶＲＡＭ
５０  …メインメモリ
５２  …電源管理ＩＣ
５４  …加速度センサ
６０  …開閉スイッチ
４４０  …タイマ（Ｔｉｃｋ）
Ｓｄ  …スライダ
ＩＣＬ，ＩＣＲ  …仮想カメラ（左，右）
【図１】
0005618818.tif 000002
【図２】
0005618818.tif 000003
【図３】
0005618818.tif 000004
【図４】
0005618818.tif 000005
【図５】
0005618818.tif 000006
【図６】
0005618818.tif 000007
【図７】
0005618818.tif 000008
【図８】
0005618818.tif 000009
【図９】
0005618818.tif 000010
【図１０】
0005618818.tif 000011
【図１１】
0005618818.tif 000012
【図１２】
0005618818.tif 000013
【図１３】
0005618818.tif 000014
【図１４】
0005618818.tif 000015
【図１５】
0005618818.tif 000016
【図１６】
0005618818.tif 000017
【図１７】
0005618818.tif 000018
【図１８】
0005618818.tif 000019
【図１９】
0005618818.tif 000020
【図２０】
0005618818.tif 000021
【図２１】
0005618818.tif 000022
【図２２】
0005618818.tif 000023
【図２３】
0005618818.tif 000024
【図２４】
0005618818.tif 000025