(57)【要約】【構成】ゲーム機１０はＣＰＵ４０を含み、ゲーム機１０にゲームカートリッジ３２が装着されると、ＣＰＵ４０は、ゲームカートリッジ３２内のＲＯＭ５６および２つのバックアップ領域を有するフラッシュメモリ５８に電気的に接続される。ゲームの進行状況に応じて発生するゲームデータはワークメモリ４４に保存（更新）され、たとえば、ユーザの指示に従って最新ゲームデータがバックアップ領域に書き込まれる。ＣＰＵ４０は、最新ゲームデータを書き込むとき、２つのバックアップ領域のうち、書き込まれた時間がより古いゲームデータを記憶するバックアップ領域を書込対象のバックアップ領域として選択する。このとき、選択されたバックアップ領域への書込みができなければ、直前に書き込まれたゲームデータへの上書きを禁止して、１世代前のゲームデータを残す。【効果】ゲームデータの喪失を防止することができる。【選択図】  図２
2004160050.tif 000002
【特許請求の範囲】
【請求項１】
電気的に書き換え可能な記憶領域に２つまたは３つ以上のバックアップ領域を有する不揮発性メモリを備え、当該バックアップ領域にゲームデータを書き込むゲーム機であって、
最新ゲームデータを書き込むとき、前記２つまたは３つ以上のバックアップ領域のうち、書き込まれた時間がより古いゲームデータを記憶するバックアップ領域を当該最新ゲームデータの書込対象バックアップ領域として優先的に選択する領域選択手段、
前記領域選択手段によって選択された前記書込対象バックアップ領域への前記最新ゲームデータの書込みを実行する書込手段、
前記書込手段によって前記最新ゲームデータの書込みをできたかどうかを検出する検出手段、
前記検出手段によって前記最新ゲームデータの書込みができなかったことが検出されたとき、必要に応じて前記領域選択手段による書込対象バックアップ領域の選択を繰り返す繰返手段、および
前記領域選択手段によって、前記最新ゲームデータの直前に書き込まれたゲームデータを記憶するバックアップ領域だけが前記書込対象バックアップ領域として最後に選択可能な状態になったとき、当該書込対象バックアップ領域への書込みを禁止する禁止手段を備える、ゲーム機。
【請求項２】
前記書込手段は、ゲームデータの新旧を識別するための履歴データを前記最新ゲームデータに含めて書込み、
前記領域選択手段は、前記最新ゲームデータを書き込む前に、前記履歴データに基づいて、書き込まれた時間がより古いゲームデータを記憶するバックアップ領域を前記書込対象バックアップ領域として選択する、請求項１記載のゲーム機。
【請求項３】
前記禁止手段は、前記領域選択手段によって、前記最新ゲームデータの直前に書き込まれたゲームデータを記憶するバックアップ領域だけが前記書込対象バックアップ領域として最後に選択可能な状態になったとき、前記最新ゲームデータの書込み処理を強制的に終了する強制終了手段を含む、請求項１または２に記載のゲーム機。
【請求項４】
前記禁止手段によって上書きが禁止されたとき、所定の警告メッセージを表示するメッセージ表示手段をさらに備える、請求項１ないし３のいずれかに記載のゲーム機。
【請求項５】
ゲーム機に電気的に接続されるかつ電気的に書き換え可能な記憶領域に２つまたは３つ以上のバックアップ領域を有する不揮発性メモリの当該バックアップ領域にゲームデータを書き込むためのバックアップ制御プログラムであって、
前記ゲーム機のコンピュータに、
最新ゲームデータを書き込むとき、前記２つまたは３つ以上のバックアップ領域のうち、書き込まれた時間がより古いゲームデータを記憶するバックアップ領域を当該最新ゲームデータの書込対象バックアップ領域として優先的に選択する領域選択ステップ、
前記領域選択ステップによって選択された前記書込対象バックアップ領域への前記最新ゲームデータの書込みを実行する書込ステップ、
前記書込ステップによって前記最新ゲームデータの書込みをできたかどうかを検出する検出ステップ、
前記検出ステップによって前記最新ゲームデータの書込みができなかったことが検出されたとき、必要に応じて前記領域選択ステップによる書込対象バックアップ領域の選択を繰り返す繰返ステップ、および
前記領域選択ステップによって、前記最新ゲームデータの直前に書き込まれたゲームデータを記憶するバックアップ領域だけが前記書込対象バックアップ領域として最後に選択可能な状態になったとき、当該書込対象バックアップ領域への書込みを禁止する禁止ステップを実行させるバックアップ制御プログラム。
【請求項６】
前記書込ステップは、ゲームデータの新旧を識別するための履歴データを前記最新ゲームデータに含めて書込み、
前記領域選択ステップは、前記最新ゲームデータを書き込む前に、前記履歴データに基づいて、書き込まれた時間がより古いゲームデータを記憶するバックアップ領域を前記書込対象バックアップ領域として選択する、請求項５記載のゲームデータのバックアップ制御プログラム。
【請求項７】
前記禁止ステップは、前記領域選択手段によって、前記最新ゲームデータの直前に書き込まれたゲームデータを記憶するバックアップ領域だけが前記書込対象バックアップ領域として最後に選択可能な状態になったとき、前記最新ゲームデータの書込み処理を強制的に終了する強制終了ステップを含む、請求項５または６に記載のゲームデータのバックアップ制御プログラム。
【請求項８】
前記禁止ステップによって上書きが禁止されたとき、所定の警告メッセージを表示するメッセージ表示ステップをさらに実行させる、請求項５ないし７のいずれかに記載のゲームデータのバックアップ制御プログラム。
【請求項９】
ゲーム機に電気的に接続されるかつ電気的に書き換え可能な記憶領域に少なくとも２つのバックアップ領域を有する不揮発性メモリの当該バックアップ領域にゲームデータを書き込むゲームデータのバックアップ制御方法であって、
（ａ）書き込まれた時間がより古いゲームデータを記憶するバックアップ領域であり、かつ最新ゲームデータを書込み可能なバックアップ領域を書込対象バックアップ領域として選択し、
（ｂ）前記書込対象バックアップ領域に書き込むことができず、かつ前記最新ゲームデータの直前に書き込まれたゲームデータが記憶されたバックアップ領域だけしか当該書込対象バックアップ領域として選択することができないとき、
（ｃ）前記最新ゲームデータの直前に書き込まれたゲームデータを残するために、前記最新ゲームデータを破棄する、バックアップ制御方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明はゲーム機、ゲームデータのバックアップ制御プログラムおよびバックアップ制御方法に関し、特にたとえば電気的に書き換え可能な記憶領域に２つまたは３つ以上のバックアップ領域を有する不揮発性メモリを備え、当該バックアップ領域にゲームデータを書き込む、ゲーム機、ゲームデータのバックアップ制御プログラムおよびバックアップ制御方法に関する。
【０００２】
【従来の技術】
従来のこの種のゲーム機の一例が特許文献１に開示される。この特許文献１のホットスタートシステムでは、操作者の操作によって、ゲームカートリッジのスタティックＲＡＭに設けたゲーム１〜ゲーム３までの記憶領域の中からバックアップ箇所が選択される。選択されたバックアップ箇所にゲームデータがバックアップされていなければ、テレビゲーム機に設けられるスクラッチＲＡＭのバックアップ対象データ領域を初期化して、最初からゲームを開始する。一方、選択されたバックアップ箇所にゲームデータがバックアップされていれば、テレビゲーム機のスクラッチＲＡＭに当該ゲームデータを読み込み、続きからゲームを開始する。ゲームの進行に従ってスクラッチＲＡＭのゲームデータが更新され、たとえば、主人公を動作させる毎に、スクラッチＲＡＭのゲームデータのうちバックアップ対象データがゲームカートリッジのスタティックＲＡＭの予め定めた（選択した）記憶領域に自動的に記憶され、ゲームの状態が随時自動的にバックアップされる。
【０００３】
また、従来技術の他の一例が特許文献２に開示される。この特許文献２の不揮発性メモリ記憶媒体用ファイルシステムでは、使用頻度リストの未使用状態情報のものの中らから書込み回数情報値が最小のものをサーチして得た論理ブロック番号を書込対象とすることにより、利用可能メモリブロックを平均的に書き込むようにして、つまり書込み頻度を平準化して、不揮発性メモリの長寿命化を図っている。
【０００４】
【特許文献１】
特開平５−１２１３９号公報（第４頁〜第５頁，第６図〜第７図）
【特許文献２】
特開平１０−３１６１１号公報（第５頁〜第７頁，第２図〜第４図）
【０００５】
【発明が解決しようとする課題】
しかし、前者の場合には、バックアップメモリとしてスタティックＲＡＭを使用しており、ゲームデータのバックアップのために電池を利用する必要がある。このため、特に電池の消耗が激しいゲーム中に電池が切れる可能性が高く、このような場合には、スタティックＲＡＭ内の全てのゲームデータが消滅しまうという問題があった。近年、このような問題を回避するため、バックアップメモリとしてデータの保持に電池を必要としない不揮発性メモリ（例えばフラッシュメモリ、強誘電体メモリなど）が使用され始めている。このように、不揮発性メモリを利用すれば、電池切れの心配はないが、特にフラッシュメモリは、スタティックＲＡＭに比べて、書込み速度が遅く記憶素子の寿命が短いというデメリットを有している。このため、ユーザが選択した同一のバックアップ箇所が集中して書き換えられると、そのバックアップ個所の記憶素子の寿命が、他の個所に比べて縮まるので、当該バックアップ領域に記憶されるゲームデータが失われやすいという問題が新たに生じている。
【０００６】
一方、後者の場合には、不揮発性メモリの各メモリブロックの書き換え回数を平準化して特定のメモリブロックだけの寿命が他のメモリブロックの寿命に比べて極端に短くなることがないようにしている。
【０００７】
しかしながら、上述した両者を考慮しても、最新ゲームデータを或るバックアップ個所に書き込んでいる途中に或る記憶素子（又は記憶領域の一部）が突然不良（寿命等）になってしまうと、最新ゲームデータを書き込めなくなり、さらに、最新ゲームデータの書込み前の旧ゲームデータの一部に最新ゲームデータの一部が書き込まれてしまっているので、その旧ゲームデータが壊れて消滅してしまうという問題は従前と変わらず存在する。さらに、最新ゲームデータの書込み途中でゲーム機側の電源を切られてしまうと、最新ゲームデータとともに旧ゲームデータのいずれも壊れてしまい最悪全てのゲームデータが消滅する問題も生じる。なお、プレイヤがこれまでに長時間をかけてゲームを進めた結果であるゲームデータの破損による消滅は、プレイヤによって非常に重要な問題である。
【０００８】
それゆえに、この発明の主たる目的は、少なくとも１世代前のゲームデータの消滅を確実に防止することができる、ゲーム機、ゲームデータのバックアップ制御プログラムおよびバックアップ制御方法を提供することである。
【０００９】
【課題を解決するための手段】
この発明は、電気的に書き換え可能な記憶領域に２つまたは３つ以上のバックアップ領域を有する不揮発性メモリを備え、当該バックアップ領域にゲームデータを書き込むゲーム機である。このゲーム機は、最新ゲームデータを書き込むとき、２つまたは３つ以上のバックアップ領域のうち、書き込まれた時間がより古いゲームデータを記憶するバックアップ領域を当該最新ゲームデータの書込対象バックアップ領域として優先的に選択する領域選択手段、領域選択手段によって選択された書込対象バックアップ領域への最新ゲームデータの書込みを実行する書込手段、書込手段によって最新ゲームデータの書込みをできたかどうかを検出する検出手段、検出手段によって最新ゲームデータの書込みができなかったことが検出されたとき、必要に応じて領域選択手段による書込対象バックアップ領域の選択を繰り返す繰返手段、および領域選択手段によって、最新ゲームデータの直前に書き込まれたゲームデータを記憶するバックアップ領域だけが書込対象バックアップ領域として最後に選択可能な状態になったとき、当該書込対象バックアップ領域への書込みを禁止する禁止手段を備える。
【００１０】
請求項２は、請求項１に従属し、書込手段は、ゲームデータの新旧を識別するための履歴データを最新ゲームデータに含めて書込み、領域選択手段は、最新ゲームデータを書き込む前に、履歴データに基づいて、書き込まれた時間がより古いゲームデータを記憶するバックアップ領域を書込対象バックアップ領域として選択する、ゲーム機である。
【００１１】
請求項３は、請求項１または請求項２に従属し、禁止手段は、領域選択手段によって、最新ゲームデータの直前に書き込まれたゲームデータを記憶するバックアップ領域だけが書込対象バックアップ領域として最後に選択可能な状態になったとき、最新ゲームデータの書込み処理を強制的に終了する強制終了手段を含む、ゲーム機である。
【００１２】
請求項４は、請求項１ないし３のいずれかに従属し、禁止手段によって上書きが禁止されたとき、所定の警告メッセージを表示するメッセージ表示手段をさらに備える、ゲーム機である。
【００１３】
請求項５は、ゲーム機に電気的に接続されるかつ電気的に書き換え可能な記憶領域に２つまたは３つ以上のバックアップ領域を有する不揮発性メモリの当該バックアップ領域にゲームデータを書き込むためのバックアップ制御プログラムである。このバックアップ制御プログラムは、ゲーム機のコンピュータに、最新ゲームデータを書き込むとき、２つまたは３つ以上のバックアップ領域のうち、書き込まれた時間がより古いゲームデータを記憶するバックアップ領域を当該最新ゲームデータの書込対象バックアップ領域として優先的に選択する領域選択ステップ、領域選択ステップによって選択された書込対象バックアップ領域への最新ゲームデータの書込みを実行する書込ステップ、書込ステップによって最新ゲームデータの書込みをできたかどうかを検出する検出ステップ、検出ステップによって最新ゲームデータの書込みができなかったことが検出されたとき、必要に応じて領域選択ステップによる書込対象バックアップ領域の選択を繰り返す繰返ステップ、および領域選択ステップによって、最新ゲームデータの直前に書き込まれたゲームデータを記憶するバックアップ領域だけが書込対象バックアップ領域として最後に選択可能な状態になったとき、当該書込対象バックアップ領域への書込みを禁止する禁止ステップを実行させる。
【００１４】
請求項９は、ゲーム機に電気的に接続されるかつ電気的に書き換え可能な記憶領域に少なくとも２つのバックアップ領域を有する不揮発性メモリの当該バックアップ領域にゲームデータを書き込むゲームデータのバックアップ制御方法である。このバックアップ制御方法は、（ａ）書き込まれた時間がより古いゲームデータを記憶するバックアップ領域であり、かつ最新ゲームデータを書込み可能なバックアップ領域を書込対象バックアップ領域として選択し、（ｂ）書込対象バックアップ領域に書き込むことができず、かつ最新ゲームデータの直前に書き込まれたゲームデータが記憶されたバックアップ領域だけしか当該書込対象バックアップ領域として選択することができないとき、（ｃ）最新ゲームデータの直前に書き込まれたゲームデータを残するために、最新ゲームデータを破棄する。
【００１５】
【作用】
ゲーム機  （１０：実施例で相当する参照符号。以下同じ。）は、電気的に書き換え可能な記憶領域に少なくとも２つのバックアップ領域を有する不揮発性メモリ（５８）を備え、当該バックアップ領域にゲームデータを書き込む。領域選択手段（４０，Ｓ１５）  は、最新ゲームデータを書き込むとき、少なくとも２つのバックアップ領域のうち、書きこまれた時間がより古いゲームデータを記憶するバックアップ領域を当該最新ゲームデータの書込対象バックアップ領域として優先的に選択する。書込手段（４０，Ｓ１７，Ｓ２５）は、領域選択手段（４０，Ｓ１５）によって選択された書込対象バックアップ領域への最新ゲームデータの書込みを実行する。検出手段（４０，Ｓ２７）は、書込手段（４０，Ｓ１７，Ｓ２５）によって最新ゲームデータの書込みをできたかどうかを検出する。繰返手段（４０，Ｓ１０１，Ｓ１０３）は、検出手段（４０，Ｓ２７）によって、最新ゲームデータの書込みができなかったことが検出されたとき、必要に応じて領域選択手段（４０，Ｓ１５）による書込対象バックアップ領域の選択を繰り返す。具体的には、バックアップ領域が２つの場合には、最新ゲームデータの書込みができなかったことが検出されても、選択手段（４０，Ｓ１５）による書込対象バックアップ領域の選択を繰り返さない。一方、バックアップ領域が３つ以上の場合には、最新ゲームデータの書込みができなかったことが検出されると、選択手段（４０，Ｓ１５）による書込対象バックアップ領域の選択を繰り返して、最新ゲームデータの書込み処理を繰り返し実行する。そして、禁止手段（４０，Ｓ２９）は、領域選択手段（４０，Ｓ１５）によって、最新ゲームデータがバックアップ領域に最新ゲームデータの直前に書き込まれたゲームデータを記憶するバックアップ領域だけが書込対象バックアップ領域として最後に選択可能な状態となったとき、書込対象バックアップ領域への書込みを禁止する。
【００１６】
なお、バックアップ領域にゲームデータが未だ記憶されていない場合には、当該バックアップ領域が優先的に書込対象バックアップ領域として選択される。
【００１７】
この発明によれば、確実に１世代前のゲームデータを残すことができる。
【００１８】
請求項２の発明によれば、書込手段（４０，Ｓ１７，Ｓ２５）は、ゲームデータの新旧を識別するための履歴データを最新ゲームデータに含めて書き込むので、領域選択手段（４０，Ｓ１５）は最新ゲームデータを書き込む前に、旧ゲームデータに含まれる履歴データに基づいて、書き込まれた時間がより古いゲームデータを記憶するバックアップ領域を書込対象バックアップ領域として選択することができる。したがって、たとえば、最も古い履歴データを有するゲームデータを決定して、当該ゲームデータが記憶されるバックアップ領域を書込対象に選択することができるのである。
【００１９】
請求項３の発明の発明によれば、強制終了手段（４０，Ｓ２９）は、領域選択手段（４０，Ｓ１５）によって、最新ゲームデータの直前に書き込まれたゲームデータを記憶するバックアップ領域だけが書込対象バックアップ領域として最後に選択可能になったとき、最新ゲームデータの書込み処理を強制終了するので、上書きが禁止される旧ゲームデータを確実に残すことができる。このとき、最新ゲームデータは破棄される。
【００２０】
請求項４の発明では、禁止手段（４０，Ｓ２９）によって上書きが禁止されたとき、メッセージ表示手段（１４，４０，Ｓ３１）が所定の警告メッセージを表示して、ユーザに不揮発性メモリの交換を促すことができる。
【００２１】
請求項５および請求項９の発明においても、請求項１の発明と同様に、確実に１世代前のゲームデータを残すことができる。
【００２２】
【発明の効果】
この発明によれば、最新ゲームデータの直前に書き込まれたゲームデータを記憶するバックアップ領域だけが書込対象バックアップ領域として選択可能な状態となったとき、直前のゲームデータへの上書きを禁止するので、直前のゲームデータを確実に残すことができる。つまり、ゲームデータの破損を防止することができる。
【００２３】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【００２４】
【実施例】
図１を参照して、この実施例のゲーム機１０はケース１２を含む。ケース１２の表面には、その略中央にカラーの液晶表示器（以下、「ＬＣＤ」という。）１４が設けられる。このＬＣＤ１４には、ゲーム空間およびそのゲーム空間内に存在するゲームキャラクタが表示されるとともに、必要に応じてメッセージが表示される。また、ケース１２の表面には、操作ボタン１６，１８，２０，２２，２４，２６，２８が設けられる。操作ボタン１６，１８および２０はＬＣＤ１４の左方に配置され、操作ボタン２２および２４はＬＣＤ１４の右方に配置される。さらに、ケース１２の上側（ＬＣＤの上方）の端面には、操作ボタン２６および２８が配置される。
【００２５】
操作ボタン１６は、ディジタルジョイスティックとして機能する十字ボタンであり、４つの押圧部の１つを操作することによって、ＬＣＤ１４上に表示されたゲームキャラクタの移動方向を指示したり、カーソルを移動させたりすることができる。操作ボタン１８は、プッシュボタンで構成されたスタートボタンであり、ゲーム開始を指示するため等に利用される。操作ボタン２０は、プッシュボタンで構成されたセレクトボタンであり、ゲームモードの選択等に利用される。
【００２６】
操作ボタン２２は、プッシュボタンで構成されたＡボタンであり、ＬＣＤ１４上に表示されたゲームキャラクタに打つ、投げる、つかむ、乗る、ジャンプするなどの任意のアクションをさせることができる。操作ボタン２４は、プッシュボタンで構成されたＢボタンであり、セレクトボタン２０で選択したゲームモードの変更やＡボタン２２で決定したアクションの取り消し等のために利用される。操作ボタン２６は、プッシュボタンで構成された左押しボタン（Ｌボタン）であり、操作ボタン２８は、プッシュボタンで構成された右押しボタン（Ｒボタン）である。操作ボタン２６および操作ボタン２８は、Ａボタン２２およびＢボタンと同様の操作をすることができ、また、Ａボタン２２およびＢボタン２４の補助的な操作をすることができる。
【００２７】
また、ケース１２の裏面上端部には、挿入口３０が形成される。この挿入口３０には、ゲームカートリッジ３２が挿入される。図示は省略するが、挿入口３０の奥部とゲームカートリッジ３２の挿入方向先端部とには、それぞれコネクタが設けられており、ゲームカートリッジ３２が挿入口３０に挿入されたとき、２つのコネクタが互いに接続される。このため、ゲームカットリッジ３２がゲーム機１０のＣＰＵ４０（図２参照）でアクセス可能となる。
【００２８】
さらに、ケース１２の表面でありＡボタン２２およびＢボタン２４の下方には、ゲーム中にＢＧＭやゲームキャラクタの音声或いは擬声音などを出力するためのスピーカ３４が設けられる。
【００２９】
なお、図示は省略するが、ケース１２の天面側にはさらに、外部拡張コネクタが設けられ、ケース１２の裏面側には、電池収容ボックスが設けられ、そして、ケース１２の底面側には電源スイッチ、音量ボリュームおよびイヤフォンジャックなどが設けられる。
【００３０】
ゲーム機１０の電気的な構成は図２のように示される。この図２を参照して、ゲーム機１０には、上述したようにＣＰＵ４０が設けられ、このＣＰＵ４０は、コンピュータまたはプロセサなどとも呼ばれ、ゲーム機１０の全体制御を司る。ＣＰＵ４０またはコンピュータは、内部バス（以下、単に「バス」という。）４２を介してワークメモリ４４、外部メモリインターフェイス（Ｉ／Ｆ）４６、コントローラＩ／Ｆ４８、ＶＲＡＭ５０および液晶ドライバ５２に接続される。
【００３１】
ワークメモリ４４は、ＣＰＵ４０の作業領域或いはバッファ領域として使用される。外部メモリＩ／Ｆ４６には、上述したように、挿入口３０に挿入されたゲームカートリッジ３２がコネクタ（図示せず）を介して接続される。
【００３２】
コントローラＩ／Ｆ４８には、図１に示した十字ボタン１６、スタートボタン１８、セレクトボタン２０、Ａボタン２４、Ｂボタン２６、Ｌボタン３０およびＲボタン３２を含むコントローラ５４が接続され、したがって、これらのボタン操作に応じた操作信号がコントローラＩ／Ｆ４８を介してＣＰＵ４０に入力される。
【００３３】
ＶＲＡＭ５０には、ＣＰＵ４０の指示の下、ゲーム画像データやキャラクタ画像データが描画される。また、液晶ドライバ５２は、ＣＰＵ４０の指示に従って、ＶＲＡＭ５０に描画されたゲーム画像データやキャラクタ画像データを読み出し、ＬＣＤ１４にゲーム画面やキャラクタを表示する。
【００３４】
また、ゲームカートリッジ３２には、ＲＯＭ５６および不揮発性メモリの一例のフラッシュメモリ５８が設けられ、図示は省略するが、ＲＯＭ５６とフラッシュメモリ５８とは互いにバスで接続されるとともに、コネクタに接続される。したがって、上述したように、ゲームカートリッジ３２がゲーム機１０に装着されると、ＣＰＵ４０はＲＯＭ５６およびフラッシュメモリ５８に電気的に接続される。
【００３５】
なお、この実施例では、フラッシュメモリ５８を用いるようにしてあるが、他の不揮発性メモリとしてたとえば強誘電体メモリ（ＦｅＲＡＭ）やＥＥＰＲＯＭなどを用いることもできる。
【００３６】
ＲＯＭ５６には、図３に示すように、ゲームプログラム５６０、画像データ（ゲーム画像データ、キャラクタ画像データ、メッセージ表示画像データなど）５６２およびバックアップ制御プログラム５６４が予め格納（記憶）される。このバックアップ制御プログラム５６４は、領域選択プログラム５６４ａ、故障検出プログラム５６４ｂ、上書禁止プログラム５６４ｃ、メッセージ表示プログラム５６４ｄおよび履歴データ更新プログラム５６４ｅで構成される。ただし、これらのプログラム５６４ａ〜５６４ｅは、それぞれ別個独立に実行されるのではなく、一連の処理として実行される（図１０参照）。
【００３７】
なお、図示は省略するが、ＲＯＭ５６には、ゲームに必要な音楽データなどのゲームプログラムに必要な各種データやプログラムも記憶される。
【００３８】
また、フラッシュメモリ５８には、ゲームデータ（バックアップデータ）が記憶される。たとえば、ユーザがゲーム機１０を用いてゲームをすると、ゲームの進行状況に応じてゲームデータがゲーム機１０のワークメモリ４４に保存（更新）される。そして、ユーザの指示或いは所定のタイミング（イベント）に従って、ゲームデータがゲームカートリッジ３２のフラッシュメモリ５８に書き込まれる（セーブされる）。その後、ゲームを続行する場合には、そのままゲームが進行され、上述したようなゲームデータの保存およびバックアップが実行される。また、一旦ゲームを終了した場合には、次回ゲームをするときに、バックアップしておいたゲームデータを読み出して、前回の続きからゲームを開始することができる。
【００３９】
ここで、ゲームデータをバックアップするためのフラッシュメモリ５８は、ＳＲＡＭのようなメモリと比較した場合に、バックアップ電源を有しないという利点がある反面、書き換え寿命が短く、書換え速度が遅いという欠点があり、特にデータの書込み時に、物理的故障や電気的故障のような書込み不能な不具合が発生すると、ゲームデータの一部を書き込むことができず、結果的にゲームデータの破損を招いてしまう。特に、ゲームデータは、上述したように、ゲームの進行に従って頻繁に書き換えられるため、何ら手当てをしない場合には、ゲームデータの破損が顕在化する。
【００４０】
なお、物理的故障としては、メモリセル（記憶素子）故障，ハンダ不良，配線不良などが該当する。電気的故障としては、不注意による電源の切断や瞬間停電などが該当する。瞬間停電した場合には、復旧処理に戻らないなどの不具合が生じる。
【００４１】
そこで、この実施例では、フラッシュメモリ５８に２つのバックアップ領域を設けて、２つのバックアップ領域に順次ゲームデータを保存する。これにより、一方のバックアップ領域が故障したときでも、他方のバックアップ領域には必ずゲームデータが残るようにして、全てのゲームデータの完全消滅を防いでいる。さらに、直前に書き込まれたゲームデータ（旧ゲームデータ）への上書きしかできなくなったときに、当該直前の旧ゲームデータへの上書きを禁止するようにしてある。これにより、旧ゲームデータに最新ゲームデータを上書しているときにおける故障により、両方のゲームデータが消滅してしまうことを防いでいる。
【００４２】
なお、フラッシュメモリ５８は、一般的にセクタ（ブロック）単位でデータを書き換える必要があるため（アドレス単位で書換え可能な製品もある）、バックアップ領域には１または２以上のセクタが含まれる。つまり、ゲームデータの容量によって、バックアップ領域に含まれるセクタ数が決定される。
【００４３】
フラッシュメモリ５８は、図４（Ａ）に示すように、第１バックアップ領域５８ａおよび第２バックアップ領域５８ｂを有している。また、上述したように、ゲームデータを第１バックアップ領域５８ａおよび第２バックアップ領域５８ｂに順次書き込むようにするため、本実施例ではゲームデータには履歴データを含める（付加する）ようにしてある。つまり、図４（Ａ）は、第１バックアップ領域５８ａに履歴データ（１）を有するゲームデータが書き込まれ、第２バックアップ領域５８ｂに履歴データ（２）を有するゲームデータが書き込まれた状態を示している。
【００４４】
なお、履歴データの代わりに、たとえばセーブされたゲームデータのパターンをワークメモリ４４に記憶させておくことにより、いずれが古いゲームデータであるかを判断させることもできる。
【００４５】
ここで、ゲーム機１０のワークメモリ４４に保存されたゲームデータ（最新ゲームデータ）をフラッシュメモリ５８に書き込む場合には、当該最新ゲームデータに履歴データ（３）が割り当てられ、所定のルール（領域選択の条件）に従って、当該最新ゲームデータを書き込む領域すなわち第１バックアップ領域５８ａまたは第２バックアップ領域５８ｂが選択される。
【００４６】
履歴データは、ゲーム機１０のＣＰＵ４０によって、１→２→３→４→１の順でゲームデータに割り当てられ、ゲームデータに含まれる。たとえば、図示は省略するが、履歴データは、２ビットのカウンタのカウント値によって決定され、ゲームデータを保存するときに、カウンタはインクリメントされる。つまり、カウント値は、“００”（「１」）→“０１”（「２」）→“１０”（「３」）→“１１”（「４」）のように変化され、最大値“１１”ではカウンタはリセットされる（“１１”→“００”）。
【００４７】
なお、この実施例では、最大値“１１”（「４」）は、バックアップ領域の個数の倍数に決定される。したがって、カウンタとしては、少なくともバックアップ領域の個数の倍数をカウントできるカウンタを用いればよい。
【００４８】
また、領域選択の条件は、２＞１，３＞２，４＞３，１＞４の４つの不等式で表される。この１〜４の数字は、履歴データが示す数値であり、左辺の数字の履歴データを含むゲームデータよりも右辺の数字の履歴データを含むゲームデータの方が古い（フラッシュメモリ５８に書き込まれた時間が古い）データであることを意味する。このような領域選択の条件は、最新ゲームデータの履歴データに対応して使用される不等式（条件）が決定（定義）されており、具体的には表１のように示される。
【００４９】
【表１】
2004160050.tif 000003
【００５０】
したがって、図４（Ａ）に示す状態においては、履歴データ（３）を含む最新ゲームデータの書込対象は、領域選択の条件（２＞１）に従って、書き込まれた時間がより古いゲームデータが記憶されている第１バックアップ領域５８ａに選択される。以下、同様にして、書込対象のバックアップ領域が選択される。そして、最新ゲームデータが第１バックアップ領域５８ａに書き込まれると、図４（Ｂ）に示すような状態となる。
【００５１】
この図４（Ｂ）の状態において、次のゲームデータ（最新ゲームデータ）を書き込む場合には、ワークメモリ４４に記憶される最新ゲームデータに履歴データ（４）が割り当てられ、当該最新ゲームデータの書込対象が領域選択の条件（３＞２）に従って、第２バックアップ領域５８ｂに選択される。そして、履歴データ（４）を含む最新ゲームデータが第２バックアップ領域５８ｂに書き込まれると、図５（Ａ）に示すような状態となる。
【００５２】
この図５（Ａ）の状態において、次のゲームデータ（最新ゲームデータ）を書き込む場合には、ワークメモリ４４に記憶される最新ゲームデータに履歴データ（１）が割り当てられ、当該最新ゲームデータの書込対象が領域選択の条件（４＞３）に従って、第１バックアップ領域５８ａに選択される。そして、履歴データ（１）を含む最新ゲームデータが第１バックアップ領域５８ａに書き込まれると、図５（Ｂ）に示すような状態となる。
【００５３】
この図５（Ｂ）の状態において、次のゲームデータ（最新ゲームデータ）を書き込む場合には、ワークメモリ４４に記憶される最新ゲームデータに履歴データ（２）が割り当てられ、当該最新ゲームデータの書込対象が領域選択の条件（１＞４）に従って、第２バックアップ領域５８ｂに選択される。そして、履歴データ（２）を含む最新ゲームデータが第２バックアップ領域５８ｂに書き込まれる。
【００５４】
このように領域選択の条件に従ってゲームデータの書込み（上書き）が実行されるが、上述したように、フラッシュメモリ５８の物理的故障や電気的故障により、領域選択の条件に従って選択した領域に最新ゲームデータを書込みできない場合がある。かかる場合には、直前（１世代前）のゲームデータに上書きすることも考えられるが、上書き時に物理的故障や電気的故障が発生してしまうと、すべてのゲームデータを失ってしまうこととなるため、この実施例では、当該最新ゲームデータの上書きを禁止するようにしてある。つまり、ゲームデータの書込み処理が強制的に終了される。
【００５５】
具体的には、図６に示すように、第１バックアップ領域５８ａに履歴データ（１）を含むゲームデータが書き込まれ、第２バックアップ領域５８ｂに履歴データ（４）を含むゲームデータが書き込まれている場合には、領域選択の条件（４＞１）に従って、履歴データ（２）を含む最新ゲームデータの書込対象は第２バックアップ領域５８ｂに選択される。そして、最新ゲームデータの書込み処理が実行される。ゲームデータの書込み処理では、チェックサムにより、正常にゲームデータが書き込まれたかどうかが判断され、正常に書込みが行われていない場合には、書込み処理が複数回（たとえば、３回）繰り返される。複数回書込み処理を行った結果、ゲームデータの書込みに失敗すれば、書込み不能であると判断する。そして、他の領域（図６では、第１バックアップ領域５８ａ）への最新ゲームデータの書込みを禁止すべく、ゲームデータの書込み処理を強制終了する。
【００５６】
また、このように、フラッシュメモリ５８へのゲームデータの書込みができなくなった場合には、ＬＣＤ１４に警告メッセージを表示して、フラッシュメモリ５８の交換（ゲームカートリッジ３２の修理）を促すようにしてある。たとえば、ユーザがゲームデータの保存（セーブ画面の表示）を指示すると、これに応じて、図７（Ａ）に示すようなセーブを実行するか否かを選択する画面（セーブ画面）がＬＣＤ１４に表示される。具体的には、ＣＰＵ４０が、ユーザの指示に従ってゲームカートリッジ３２のＲＯＭ５６に記憶された画像データ５６２からセーブ画面の画像データを読み出し、ＶＲＡＭ５０上に展開する。そして、液晶ドライバ５２がＣＰＵ４０の指示の下、ＶＲＡＭ５０上に展開されたセーブ画面の画像データを読み出し、ＬＣＤ１４に出力する。
【００５７】
以下、画面を表示する場合には、このような処理が実行されるため、その都度詳細な説明をするのは省略することにする。
【００５８】
なお、セーブ画面は、ゲーム画面の一部に表示されるため、厳密には、ＶＲＡＭ５０に展開されたゲーム画面の画像データの一部にセーブ画面の画像データが上書きされる。後述するセーブ終了画面およびエラー画面についても同様である。
【００５９】
このセーブ画面で、“いいえ”が選択されると、ゲーム画面に戻ってゲームが続行される。一方、“はい”が選択されると、最新ゲームデータの書込み処理が実行される。最新ゲームデータの書込みに成功すると、図７（Ｂ）に示すように、“セーブが終了しました”のようなセーブの終了（正常終了）のメッセージを表示する画面（セーブ終了画面）が表示される。一方、最新ゲームデータの書込みに失敗し、他のバックアップ領域への書込みが禁止されると、図７（Ｃ）に示すように、“バックアップメモリが故障していますので、修理に出してください。最新データはセーブされません。”のような警告メッセージを表示する画面（エラー画面）が表示される。
【００６０】
以上のように、１世代前のゲームデータを確実に残すことができ、警告メッセージが表示されたときには、たとえばそのカートリッジを製造メーカに修理に出すことにより、１世代前のゲームデータを残したまま、新規なフラッシュメモリに交換することが可能である。これにより、プレイヤは、１世代前のゲームデータではあるが、続きからゲームを開始することができる。
【００６１】
なお、一方のバックアップ領域が書込み不能となり、他方のバックアップ領域が書込み禁止となった後に、さらにプレイヤがゲームを進めた場合には、最新ゲームデータを記憶させるときに初めて書込みできない旨が表示されるので、それまでのプレイヤの労力が無駄になる恐れがある。そこで、図８に示すように、フラッシュメモリ５８内に書込み禁止フラグ領域５８ｃをさらに設け、書込み禁止となったバックアップ領域の禁止フラグをセット（オン）しておけば、つまり、当該バックアップ領域への上書きを禁止しておけば、ゲーム開始時やセーブ画面の表示を指示された時に、この書込み禁止フラグ領域５８ｃを参照して、直ぐに警告メッセージを表示することができ、上述したような無駄を無くすこともできる。
【００６２】
また、書込み禁止フラグ領域５８ｃに物理的故障や電気的故障が発生する可能性もあるため、第１バックアップ領域５８ａおよび第２バックアップ領域５８ｂの特定のセル（たとえば、最終セル）に所定のデータ（この実施例では、“ＦＦ”）を書き込んでおき、バックアップ領域への書込みが不能となったときに、当該バックアップ領域の特定のセルに書き込まれた所定データを他のデータ（“ＦＦ”以外のデータ）に書き換えるようにしてもよい。このようにすれば、各バックアップ領域の特定のセルに書き込まれたデータを調べることにより、書込み不能となったバックアップ領域を簡単に知ることができ、一方のバックアップ領域が書込み不能となっている場合には、他方のバックアップ領域に書き込まれた旧ゲームデータへの上書きが禁止されていると判断することができる。
【００６３】
なお、特定のセルに書き込む所定のデータ（“ＦＦ”）は、当該セルへのゲームデータの書込みを禁止するデータであり、通常はデータの書込み（書き換え）が実行されないため、寿命が長い。
【００６４】
上述のような動作を、図２に示したＣＰＵ４０が図９〜図１２に示すフロー図に従って処理する。図９に示すように、ゲームが開始されると、ステップＳ１でゲームの進行状況に応じて発生するゲームデータをワークメモリ４４に保存する。つまり、ゲームデータを更新する。続くステップＳ３では、セーブ画面表示が指示されたかどうかを判断する。ステップＳ３で“ＮＯ”であれば、つまりセーブ画面表示が指示されなければ、そのままステップＳ１に戻る。
【００６５】
一方、ステップＳ３で“ＹＥＳ”であれば、つまりセーブ画面表示が指示されれば、ステップＳ５で図７（Ａ）に示したようなセーブ画面を表示する。
【００６６】
続くステップＳ７では、セーブが選択されたかどうかを判断する。つまり、セーブ画面において、“はい”が選択されたかどうかを判断する。ステップＳ７で“ＮＯ”であれば、つまり“いいえ”が選択されれば、そのままステップＳ１に戻る。一方、ステップＳ７で“ＹＥＳ”であれば、つまり“はい“が選択されれば、ステップＳ９でバックアップ処理を実行してからステップＳ１に戻る。
【００６７】
なお、図９においては、ユーザがセーブを指示した場合に、バックアップ処理を実行する場合についてのみ示してあるが、ゲームの進行中に自動でバックアップ処理を実行するようにしてもよい。たとえば、所定時間をカウントするタイマを設けておき、タイマが所定時間をカウントしたときにバックアップ処理を実行したり、ゲームの進行状況やゲーム中のユーザの所定の操作（セーブの指示以外の操作）に応じてバックアップ処理を実行したりすることができる。これらは、ゲームの開発者やプログラマによって、任意に決定（設定）される。
【００６８】
図１０に示すように、バックアップ処理が開始されると、ステップＳ１１でワークメモリ４４に記憶されるゲームデータ（最新ゲームデータ）に履歴データを割り当てる。つまり、カウンタのカウント値に対応する数値データが最新ゲームデータに割り当てられる（含まれる）。次いで、ステップ１３では、バックアップ領域５８ａおよびバックアップ領域５８ｂに記憶されるゲームデータに含まれる履歴データを読み出し、ステップＳ１５で書込対象のバックアップ領域の選択処理を実行する。
【００６９】
続くステップＳ１７では、選択した書込対象のバックアップ領域への最新ゲームデータと履歴データとの書込みを実行する。つまり、履歴データを含む最新ゲームデータの書込み処理を実行する。そして、ステップＳ１９では、チェックサムにより正常に書き込めたかどうかを判断する。つまり、ＣＰＵ４０は、書き込んだゲームデータをフラッシュメモリ５８から読み出し、ワークメモリ４４に記憶されるゲームデータと比較して、一致するかどうかを判断する。一致する場合には、つまりステップＳ１９で“ＹＥＳ”であれば、正常に書き込めたと判断して、ステップＳ２１で履歴データの更新処理を実行し、ステップＳ２３で図７（Ｂ）に示したようなセーブ終了画面を表示してバックアップ処理をリターンする。
【００７０】
一方、ゲームデータが一致しない場合には、つまりステップＳ１９で“ＮＯ”であれば、正常に書き込めていないと判断して、ステップＳ２５でゲームデータの書込みを所定回数（たとえば、３回）実行する。このとき、ゲームデータの書込みを実行する毎に、上述したようなチェックサムを実行する。
【００７１】
続くステップＳ２７では、ゲームデータの書込みに成功したかどうかを判断する。ステップＳ２７で“ＹＥＳ”であれば、つまりゲームデータの書込みに成功すれば、ステップＳ２１に進む。一方、ステップＳ２７で“ＮＯ”であれば、つまり複数回書込み処理を実行してもゲームデータの書込みに失敗すれば、ステップＳ２９で１世代前のゲームデータへの上書きを禁止すべく、書込み処理を終了（強制終了）し、ステップＳ３１で、図７（Ｃ）に示したようなエラー画面を表示してから、バックアップ処理をリターンする。このように、ゲームデータ（最新ゲームデータ）の書込み処理を強制的に終了した場合には、当該最新ゲームデータは破棄される。
【００７２】
なお、図８に示したように、フラッシュメモリ５８に書込み禁止フラグ領域５８ｃを設ける場合には、ステップＳ２９でゲームデータの書込み処理を終了したときに、書込み禁止フラグの書込みを実行してから、ステップＳ３１でエラー画面を表示するようにすればよい。このようにすれば、次回のゲーム開始時やセーブ画面の表示が指示された時に、書込み禁止フラグ領域を参照して、最新ゲームデータの書込みが禁止されているかどうかを容易に知ることができ、直ぐにエラー画面を表示することができる。
【００７３】
また、書込み禁止フラグ領域５８ｃを設けない場合であっても、ステップＳ２９でゲームデータの書込み処理を終了したときに、書込み不能となったバックアップ領域の最終セルのデータを変更するようにしてもよい。この場合には、次回のゲーム開始時やセーブ画面の表示が指示された時に、各バックアップ領域の最終セルのデータを参照することにより、最新ゲームデータの書込みが禁止されているかどうかを容易に知ることができる。
【００７４】
図１１に示すように、バックアップ領域の選択処理が開始されると、ステップＳ３１で、読み出した各履歴データを、上述したような領域選択の条件に従って比較する。このとき使用される領域選択の条件は、表１を用いて説明したように、最新ゲームデータに割り当てられる履歴データに応じて決定される。そして、ステップＳ３３で、最も古い（より古い）履歴データを含むゲームデータが書き込まれるバックアップ領域を、書込対象のバックアップ領域として選択して、選択処理をリターンする。
【００７５】
ただし、初期状態などでフラッシュメモリ５８にゲームデータが記憶されていない場合には、履歴データを参照することができないため、各領域に予め優先順位をつけておき、各バックアップ領域にゲームデータが書き込まれるまでは、その優先順位に従ってゲームデータを書き込むようにすればよい。つまり、この実施例では、第１バックアップ領域５８ａ，第２バックアップ領域５８ｂの順にゲームデータを書き込むようにしたり、その逆の順番でゲームデータを書き込むようにしたりすることができる。
【００７６】
また、図１２に示すように、履歴データの更新処理が開始されると、ステップＳ４１で，履歴データが「４」すなわちカウンタのカウント値が“１１”であるかどうかを判断する。ステップＳ４１で“ＮＯ”であれば、つまりカウント値が“１１”でなければ、ステップＳ４３でワークメモリ４４内の履歴データを＋１して、すなわちカウンタをインクリメントして、履歴データの更新処理をリターンする。
【００７７】
一方、ステップＳ４１で“ＹＥＳ”であれば、つまりカウント値が“１１”であれば、ステップＳ４５でワークメモリ４４内の履歴データを「１」に書き換えて、すなわちカウンタをリセットして、履歴データの更新処理をリターンする。
【００７８】
この実施例によれば、一方のバックアップ領域へのゲームデータの書込みが不能となったとき、他方へのゲームデータの書込みを禁止するので、１世代前のゲームデータを確実に残すことができる。つまり、ゲームデータの破損を防止することができる。
【００７９】
また、２つのバックアップ領域に順次ゲームデータを書き込むことにより、書き換え回数を平準化するので、フラッシュメモリの書き換え寿命を最大限に生かすことができる。
【００８０】
他の実施例のゲーム機１０は、ゲームカートリッジ３２に設けられるフラッシュメモリ５８のバックアップ領域を３つ以上設けるようにした以外は、上述の実施例と同じであるため、重複した説明は省略する。
【００８１】
図１３に示すように、この他の実施例では、フラッシュメモリ５８には、Ｎ個のバックアップ領域５８ｎ（１≦ｎ（自然数）≦Ｎ）が設けられる。他の実施例においても、上述の実施例と同様に、各バックアップ領域５８ｎに順次ゲームデータが記憶される。たとえば、すべてのバックアップ領域５８ｎにゲームデータが記憶されるまでは、ｎ＝１から順番にバックアップ領域を選択してゲームデータが記憶されるが、すべてのバックアップ領域５８ｎにゲームデータが記憶された後では、所定の領域選択の条件に従ってゲームデータが上書きされる。
【００８２】
なお、この実施例では、最初にすべてのバックアップ領域５８ｎにゲームデータが記憶されるまでは、ｎ＝１から順番にバックアップ領域を選択するようにしてあるが、重複するバックアップ領域への書込みをしなければ、いずれの方法でバックアップ領域を選択するようにしてもよい。
【００８３】
他の実施例における領域選択の条件は、表２のように示され、上述の実施例と同様に、最新ゲームデータの履歴データに対応して使用される領域選択の条件が予め決定される。たとえば、最新ゲームデータの履歴データが「１」であれば、使用される領域選択の条件は２Ｎ＞２Ｎ−１＞…＞Ｎ＋２＞Ｎ＋１である。
【００８４】
【表２】
2004160050.tif 000004
【００８５】
つまり、上述の実施例と同様に、バックアップ領域の個数（Ｎ）の倍数（２Ｎ）以上の数をカウントすることができるカウンタを設けておき、そのカウンタのカウント値をインクリメントして履歴データの数値を順次更新し、また、バックアップ領域の個数の倍数をカウントしたときは、カウンタをリセットするようにすれば、表２に示したような簡易な不等式を用いて領域選択の条件を設定することができる。
【００８６】
また、上述の実施例と同様に、不等式の左辺の数で示される履歴データを含むゲームデータよりも右辺の数で示される履歴データを含むゲームデータの方が古いデータである。したがって、領域選択の条件に従って最新ゲームデータを書き込む場合には、右端に記述される（最右辺の）数の履歴データを含むゲームデータが記憶されるバックアップ領域が書込対象のバックアップ領域に選択される。
【００８７】
ただし、書込み不能となったバックアップ領域が存在する場合には、当該書込み不能となったバックアップ領域を除くバックアップ領域に記憶されるゲームデータの履歴データを取得し、それらを領域選択の条件に当てはめて、書込対象のバックアップ領域が選択される。したがって、たとえば、領域選択の条件において最右辺の数の履歴データを含むゲームデータが記憶されたバックアップ領域が書込み不能となった場合には、その次に古いゲームデータ（右端から２番目の数の履歴データを含むゲームデータ）が記憶されたバックアップ領域が書込対象に選択される。つまり、読み出した履歴データを領域選択の条件に従って比較した結果、最右辺となる数の履歴データを含むゲームデータが記憶されたバックアップ領域が書込対象として選択されるのである。言い換えると、ゲームデータがフラッシュメモリ５８に書き込まれた時間がより古いゲームデータを記憶するバックアップ領域が優先的に選択されるのである。
【００８８】
次に、ＣＰＵ４０の具体的な処理について説明するが、バックアップ処理の一部が異なる以外は上述の実施例で示した処理と同じであるため、重複した説明は省略することにする。
【００８９】
具体的には、ＣＰＵ４０は、図１４および図１５に示すフロー図に従ってバックアップ処理を実行する。なお、図１４および図１５では、図１０に示したバックアップ処理と同じ処理については同じ参照番号（ステップ番号）を付してある。
【００９０】
図１４に示すように、他の実施例のバックアップ処理においては、ステップＳ２７で“ＮＯ”と判断された場合には、つまりゲームデータの書込みに失敗した場合には、ステップＳ１０１で、他に書き込めるバックアップ領域があるかどうかを判断する。具体的には、書込み可能なバックアップ領域が２つ以上存在するかどうかを判断する。このステップＳ１０１で“ＮＯ”であれば、つまり書込み可能なバックアップ領域が１つしか存在しなければ、当該バックアップ領域への書込みを禁止すべく、ステップＳ２９でゲームデータの書込み処理を終了する。
【００９１】
一方、ステップＳ１０１で“ＹＥＳ”であれば、つまり書込み可能なバックアップ領域が２つ以上存在すれば、ステップＳ１０３で、他の書き込める（書込対象の）バックアップ領域を選択してからステップ１７に戻る。つまり、ステップＳ１０３においては、ステップＳ１５のバックアップ領域の選択処理で選択されたバックアップ領域に記録されるゲームデータの次に古いゲームデータが記憶されるバックアップ領域が選択される。このように、上書きが禁止されるまでは、書込対象のバックアップ領域の選択処理が繰り返し実行される。
【００９２】
なお、他の実施例では、ステップＳ１０１において、他に書き込めるバックアップ領域があるかどうかを判断するようにしてあるため、図８を用いて説明したような書込み禁止フラグ領域を設けるようにして、その判断を容易にすることもできる。
【００９３】
ただし、書込み禁止フラグがオンになるまでは、つまり正常なバックアップ領域が１つになるまでは、書込み不能となったバックアップ領域へのゲームデータの書込み処理を実行することとなるため、図１６に示すように、書込み不能となったバックアップ領域についてのフラグ（書込み不能フラグ）を書き込む領域（書込み不能フラグ領域）５８ｐを設け、不要な書込み処理を回避すれば、迅速にバックアップ処理を終了することができる。この場合には、書込み不能フラグ領域５８ｐを固定すると、当該領域に物理的故障や電気的故障が発生した場合には、書込み不能な領域を簡単に調べることができなくなるため、この書込み不能フラグ領域５８ｐもバックアップ領域５８ｎと同様に考えて、書き換えの必要が生じたときに、他のバックアップ領域５８ｎに移動させる（書き換える）必要がある。たとえば、最新ゲームデータを書き込んだバックアップ領域５８に記録されたゲームデータの次に古いゲームデータが記録されたバックアップ領域に書込み不能フラグ領域５８ｐを書き換えるようにすればよい。したがって、この場合には、書込み可能なバックアップ領域が２つになったときに書込み処理を終了する必要がある。
【００９４】
また、書込み不能フラグ領域５８ｐを設けない場合であっても、上述の実施例で説明したように、各バックアップ領域の最終セルに書込み不能か否かを示すデータを書き込むようにしても、書込み不能なバックアップ領域５８ｎを容易に知ることができる。
【００９５】
他の実施例によれば、最も古いゲームデータへの上書きを実行し、１のバックアップ領域以外のバックアップ領域のすべてについてゲームデータの書込みが不能となったとき、当該１のバックアップ領域へのゲームデータの書込みを禁止するので、１世代前のゲームデータを確実に残すことができる。つまり、ゲームデータの破損を防止することができる。
【００９６】
また、複数のバックアップ領域に順次ゲームデータを書き込むことにより、書き換え回数を平準化することができるので、フラッシュメモリの書き換え寿命を最大限に生かすことができる。
【００９７】
なお、これらの実施例では、本発明におけるゲーム機として携帯型のゲーム機を例にあげて説明したが、ゲームプログラムを実行しかつゲームデータをフラッシュメモリ等の不揮発性メモリにセーブするゲーム機として機能する電子機器であれば、パーソナルコンピュータ，家庭用ゲーム機，アーエードゲーム機，携帯情報端末，携帯電話などいかなる形態のものにも適用できることは言うまでもない。
【００９８】
また、バックアップ制御プログラムを記憶したＲＯＭおよび不揮発性メモリは、ゲーム機に着脱可能に設ける必要もなく、ゲーム機内に設けるようにしてもよい。
【図面の簡単な説明】
【図１】この発明のゲーム機の外観の一例を示す図解図である。
【図２】図１実施例に示すゲーム機の電気的な構成を示すブロック図である。
【図３】図２に示すゲームカートリッジ内に設けられるＲＯＭのメモリマップを示す図解図である。
【図４】図２に示すフラッシュメモリのバックアップ領域を２つ設けた場合におけるバックアップ領域の選択を説明するための図解図である。
【図５】図２に示すフラッシュメモリのバックアップ領域を２つ設けた場合におけるバックアップ領域の選択を説明するための図解図である。
【図６】図２にフラッシュメモリのバックアップ領域を２つ設けた場合に、一方のバックアップ領域が書込み不能となった場合に他方のバックアップ領域へのデータの書込みを禁止する様子を説明するための図解図である。
【図７】図１および図２に示すＬＣＤに表示されるセーブ画面、セーブ終了画面およびエラー画面の一例を示す図解図である。
【図８】図２にフラッシュメモリのバックアップ領域を２つ設け、さらに書込み禁止フラグ領域を設けた場合に、一方のバックアップ領域が書込み不能となった場合に他方のバックアップ領域へのデータの書込みを禁止する様子を説明するための図解図である。
【図９】図２に示すＣＰＵの全体処理の一例を示すフロー図である。
【図１０】図２に示すＣＰＵのバックアップ処理を示すフロー図である。
【図１１】図２に示すＣＰＵのバックアップ領域の選択処理を示すフロー図である。
【図１２】図２に示すＣＰＵの履歴データの更新処理を示すフロー図である。
【図１３】この発明の他のゲーム機に装着されるゲームカートリッジに設けられるフラッシュメモリのメモリマップの一例を示す図解図である。
【図１４】他の実施例におけるＣＰＵのバックアップ処理の一部を示すフロー図である。
【図１５】他の実施例におけるＣＰＵのバックアップ処理の他の一部を示すフロー図である。
【図１６】他の実施例のゲーム機に装着されるゲームカートリッジに設けられるフラッシュメモリのメモリマップの他の一例を示す図解図である。
【符号の説明】
１０  …ゲーム機
１４  …ＬＣＤ
１６〜２８  …操作ボタン
３２  …ゲームカートリッジ
４０  …ＣＰＵ
４４  …ワークメモリ
５０  …ＶＲＡＭ
５６  …ＲＯＭ
５８  …フラッシュメモリ
【図１】
2004160050.tif 000005
【図２】
2004160050.tif 000006
【図３】
2004160050.tif 000007
【図４】
2004160050.tif 000008
【図５】
2004160050.tif 000009
【図６】
2004160050.tif 000010
【図７】
2004160050.tif 000011
【図８】
2004160050.tif 000012
【図９】
2004160050.tif 000013
【図１０】
2004160050.tif 000014
【図１１】
2004160050.tif 000015
【図１２】
2004160050.tif 000016
【図１３】
2004160050.tif 000017
【図１４】
2004160050.tif 000018
【図１５】
2004160050.tif 000019
【図１６】
2004160050.tif 000020