(57)【要約】【課題】バックアップ用のメモリの容量、およびデータの書き込み時間を少なくし、電源オフや電圧低下のときには自動的にデータのバックアップをする。【解決手段】ＣＰＵ１は、電圧が定常状態より低い過渡状態に変化する直前には、フラッシュメモリ６における２つの記憶エリアの中からデータが消去されている記憶エリアを指定して、ＲＡＭ５のデータを読み出して当該指定した記憶エリアに書き込み、電圧が過渡状態から定常状態に変化した直後には、指定した記憶エリアのデータを読み出して再びＲＡＭ５に書き込み、電圧が過渡状態から定常状態に変化した後、３０秒が経過したときには、フラッシュメモリ６において指定した記憶エリアとは異なる記憶エリアのデータを消去する。【選択図】図１
2004259093.tif 000002
【特許請求の範囲】
【請求項１】
供給される電源の電圧が所定範囲の定常状態であるか又は前記所定範囲よりも低い過渡状態であるかを検出する電圧検出手段と、
前記電源の電圧が前記定常状態のときにデータの正常な書き込みおよび読み出しが可能な第１の記憶手段と、
前記電源の電圧の状態にかかわらず書き込まれているデータを保持することが可能で複数の記憶エリアを有する第２の記憶手段と、
前記電圧検出手段によって検出された電圧が前記定常状態から前記過渡状態に変化する直前には前記第２の記憶手段における複数の記憶エリアの中からデータが消去されている記憶エリアを指定して前記第１の記憶手段のデータを読み出して当該指定した記憶エリアに書き込み、前記電圧検出手段によって検出された電圧が前記過渡状態から前記定常状態に変化した直後には前記指定した記憶エリアのデータを読み出して再び前記第１の記憶手段に書き込むデータ転送手段と、
前記電圧検出手段によって検出された電圧が前記過渡状態から前記定常状態に変化した後に前記第２の記憶手段において前記データ転送手段が指定した記憶エリアとは異なる記憶エリアのデータを消去するデータ消去手段と、
を備えたデータ処理装置。
【請求項２】
前記データ転送手段は、前記第１の記憶手段のデータとともに特定の設定情報を前記指定した記憶エリアに書き込み、前記特定の設定情報が有効な場合に前記指定した記憶エリアのデータを読み出して前記第１の記憶手段に書き込み、前記設定情報が無効である場合には他の記憶手段にあらかじめ記憶されているデフォルトのデータを読み込むことを特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記データ消去手段は、メインルーチンの処理とは別系統のバックグラウンドの処理で前記異なる記憶エリアのデータを消去することを特徴とする請求項１記載のデータ処理装置。
【請求項４】
前記データ消去手段は、前記異なる記憶エリアのデータを消去中において前記第２の記憶手段に対するアクセスが発生したときには当該データ消去を中断し当該アクセスが終了したときには当該データ消去を再開することを特徴とする請求項１記載のデータ処理装置。
【請求項５】
前記データ消去手段は、前記電圧検出手段によって検出された電圧が前記過渡状態から前記定常状態に変化したときから所定時間が経過した後に前記異なる記憶エリアのデータを消去することを特徴とする請求項１記載のデータ処理装置。
【請求項６】
前記データ転送手段が前記指定した記憶エリアへのデータを書き込みが完了した後に電源の供給停止処理を行なう電源制御手段をさらに備えたことを特徴とする請求項１記載のデータ処理装置。
【請求項７】
操作に応じて電源の供給および供給停止を指示する操作手段をさらに備え、前記データ転送手段は、前記操作手段から前記供給停止の指示を受けたときには前記電圧検出手段による検出を待つことなく前記第２の記憶手段における複数の記憶エリアの中からデータが消去されている記憶エリアを指定して前記第１の記憶手段のデータを読み出して当該指定した記憶エリアに書き込むことを特徴とする請求項１記載のデータ処理装置。
【請求項８】
前記データ転送手段は、前記電圧検出手段によって検出された電圧が前記過渡状態から前記定常状態に変化した直後にはデータを書き込んだ複数の記憶エリアの中で最新のデータを書き込んだ記憶エリアを指定してその最新のデータを読み出して再び前記第１の記憶手段に書き込むことを特徴とする請求項１記載のデータ処理装置。
【請求項９】
前記第１の記憶手段と前記第２の記憶手段との間において前記データ転送手段が読み出しおよび書込みを行なうデータは、楽音信号の発生に関与するデータであることを特徴とする請求項１ないし８のうちいずれか１項記載のデータ処理装置。
【請求項１０】
供給される電源の電圧が所定範囲の定常状態であるか又は前記所定範囲より低い過渡状態であるかを検出する第１のステップと、
前記第１のステップによって検出された電圧が前記定常状態から前記過渡状態に変化する直前には前記電源の電圧が前記定常状態のときにデータの正常な書き込みおよび読み出しが可能な第１の記憶手段のデータを読み出して前記電源の電圧の状態にかかわらず書き込まれているデータを保持することが可能な複数の記憶エリアを有する第２の記憶手段においてデータが消去されている記憶エリアを指定して当該指定した記憶エリアに書き込む第２のステップと、
前記第１のステップによって検出された電圧が前記過渡状態から前記定常状態に変化した直後には前記指定した記憶エリアのデータを読み出して再び前記第１の記憶手段に書き込む第３のステップと、
前記第１のステップによって検出された電圧が前記過渡状態から前記定常状態に変化した後に前記第２の記憶手段において前記第２のステップによって指定された記憶エリアとは異なる記憶エリアのデータを消去する第４のステップと、
を実行するデータ処理のプログラム。
【請求項１１】
前記第１の記憶手段と前記第２の記憶手段との間において前記第２のステップおよび前記第３のステップが読み出しおよび書込みを行なうデータは、楽音信号の発生に関与するデータであることを特徴とする請求項１０記載のデータ処理のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理装置およびデータ処理のプログラムに関する。
【０００２】
【従来の技術】
データ処理装置の中には、供給されている電源の電圧の低下が発生したときに、ＤＲＡＭなどの揮発性のメモリに記憶されているデータの消失を防止するために、ＳＲＡＭやフラッシュメモリなどの不揮発性メモリにそのデータを転送してセーブするバックアップ機能をもったものがある。例えば、電子鍵盤機器やイコライザ機器などのように、楽音信号に関与するデータを処理するデータ処理装置においては、電源の電圧の低下が発生したときには、機器基本設定のパラメータや音色設定のパラメータなどの動作条件の設定状態のデータ、および、自動演奏のシーケンスデータなどを不揮発性メモリにバックアップする処理を行なっている。
【０００３】
従来のデータ処理装置の一例として、動作条件の設定状態をバックアップする方法を改良した電子機器が提案されている。この提案によれば、機器の動作条件を簡単に設定することができ、設定された機器設定情報を安価な情報保存手段を用いて確実に保存・再現することができ、しかも、保存動作にタイムラグを感じないようにしている。
そのために、設定されるべき動作条件を表す機器設定情報を入力する手段と、入力された機器設定情報に基づいて、複数の動作条件から成る最新の機器設定情報を生成する手段と、最新の機器設定情報をセーブする指示を入力する手段と、入力されたセーブの指示に応じて、同一の最新の機器設定情報を、電源の非供給時にも記憶内容の維持が可能なバックアップメモリの２つの記憶ブロックに記憶させる手段とを具備する構成になっている。
この場合において、設定されるべき動作条件を表す機器設定情報を入力する手段と、機器設定情報が入力される度に、入力された機器設定情報を、順次、電源の供給時にも記憶内容の維持が可能なバックアップメモリに、追加的に記憶させる手段と、特定のタイミングにおいて、バックアップメモリに記憶された機器設定情報に基づき、複数の動作条件を表す最新の機器設定情報を生成する設定情報処理手段とを具備する構成になっている（例えば、特許文献１。）。
【０００４】
【特許文献１】
特開２００１−２４９８５２号公報（段落番号「０００４」、「０００５」）
【０００５】
【発明が解決しようとする課題】
しかしながら、上記従来のデータ処理装置においては、新たな機器設定情報が入力される度に、それまでの機器設定情報をバックアップメモリとしてのフラッシュメモリに履歴データとして残した状態で、新たに入力された機器設定情報をさらに追加情報としてバックアップメモリに記憶するので、バックアップメモリの容量が大きくなり、製品の価格の上昇を招くとともに、小型軽量化が図れないという課題があった。
また、バックアップメモリに用いるフラッシュメモリにデータを書き込むためには、あらかじめ書込みエリアを消去しておく必要があるが、このデータ消去処理に多大な時間がかかってしまう上に、２つのバックアップメモリに同じ機器設定情報を記憶するので、機器設定情報の書込み処理のために、他の処理が大きく制限されてしまうという課題があった。特に、上記特許文献１における実施の形態に記載されている電子楽器のように、楽音信号の発生に関与する音色、効果などのパラメータ情報からなる機器設定情報を処理するデータ処理装置においては、機器設定情報の書込み処理のために発音処理が間に合わず、音切れやノイズが発生するおそれがある。
また、上記特許文献１における実施の形態の電子楽器においては、設定操作子により入力されてきた現状の機器設定情報を確定し、最新の設定状態のセーブを指示するために、セットスイッチを操作する必要がある。このセットスイッチを操作しない状態で、電源がオフになったり、何らかの原因で電圧が低下したときには、最新の機器設定情報は消滅してしまうという課題があった。
【０００６】
本発明は、上記従来の技術の課題を解決するためのものであり、供給されている電源の電圧の低下が発生したときに、ＤＲＡＭなどのメモリに記憶されているデータの消失を防止するためのバックアップ用のメモリの容量を少なくして、製品の価格の低減と小型軽量化とを図り、そのバックアップ用のメモリにデータを書き込むための時間を少なくして、他の処理が制限されるのを回避し、さらに、セットスイッチなどの操作を必要としなくても、電源がオフになったり、何らかの原因で電圧が低下したときは、自動的にデータのバックアップが可能なデータ処理装置およびデータ処理のプログラムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
請求項１に記載のデータ処理装置は、供給される電源の電圧が所定範囲の定常状態であるか又は所定範囲より低い過渡状態であるかを検出する電圧検出手段（実施形態においては、図１の電源電圧監視部８に相当する）と、電源の電圧が定常状態のときにデータの正常な書き込みおよび読み出しが可能な第１の記憶手段（実施形態においては、図１のＲＡＭ５に相当する）と、電源の電圧の状態にかかわらず書き込まれているデータを保持することが可能な複数の記憶エリア（実施形態においては、図２のＢｌｏｃｋＡ、ＢｌｏｃｋＢ、ＷａｖｅＢｌｏｃｋに相当する）を有する第２の記憶手段と、電圧検出手段によって検出された電圧が定常状態から過渡状態に変化する直前には第２の記憶手段における複数の記憶エリアの中からデータが消去されている記憶エリアを指定して第１の記憶手段のデータを読み出して当該指定した記憶エリア（実施形態においては、例えば、図２のＢｌｏｃｋＡに相当する）に書き込み、電圧検出手段によって検出された電圧が過渡状態から定常状態に変化した直後には指定した記憶エリアのデータを読み出して再び第１の記憶手段に書き込むデータ転送手段（実施形態においては、図１のＣＰＵ１の機能に相当する）と、電圧検出手段によって検出された電圧が過渡状態から定常状態に変化した後に第２の記憶手段においてデータ転送手段が指定した記憶エリアとは異なる記憶エリア（実施形態においては、例えば、ＢｌｏｃｋＢに相当する）のデータを消去するデータ消去手段（実施形態においては、図１のＣＰＵ１の機能に相当する）とを備えた構成になっている。
【０００８】
この場合において、データ転送手段は、第１の記憶手段のデータとともに特定の設定情報（実施形態においては、図２のＫｅｙｗｏｒｄに相当する）を指定した記憶エリアに書き込み、特定の設定情報が有効な場合に指定した記憶エリアのデータを読み出して第１の記憶手段に書き込み、設定情報が無効である場合には他の記憶手段（実施形態においては、図１のＲＯＭ４に相当する）にあらかじめ記憶されているデフォルトのデータ（実施形態においては、工場出荷時のデータに相当する）を読み込むように構成してもよい。
【０００９】
また、データ消去手段は、メインルーチンの処理（実施形態においては、図３のフローチャートの処理に相当する）とは別系統のバックグラウンドの処理で異なる記憶エリアのデータを消去するように構成してもよい。
【００１０】
また、データ消去手段は、異なる記憶エリアのデータを消去中において第２の記憶手段に対するアクセスが発生したときには当該データ消去を中断し当該アクセスが終了したときには当該データ消去を再開するように構成してもよい。
【００１１】
また、データ消去手段は、電圧検出手段によって検出された電圧が過渡状態から定常状態に変化したときから所定時間（実施形態においては、３０秒に相当する）が経過した後に異なる記憶エリアのデータを消去するように構成してもよい。
【００１２】
また、データ転送手段が指定した記憶エリアへのデータを書き込みが完了した後に電源の供給停止処理を行なう電源制御手段（実施形態においては、図１のＣＰＵ１の機能に相当する）を備えた構成してもよい。
【００１３】
また、操作に応じて電源の供給および供給停止を指示する操作手段（実施形態においては、図１のスイッチ部３の電源スイッチに相当する）をさらに備え、データ転送手段は、操作手段から供給停止の指示を受けたときには電圧検出手段による検出を待つことなく第２の記憶手段における複数の記憶エリアの中からデータが消去されている記憶エリアを指定して第１の記憶手段のデータを読み出して当該指定した記憶エリアに書き込むように構成してもよい。
【００１４】
また、データ転送手段は、電圧検出手段によって検出された電圧が過渡状態から定常状態に変化した直後にはデータを書き込んだ複数の記憶エリア（実施形態の変形例におけるフラッシュメモリにおける複数の記憶エリアに相当する）の中で最新のデータを書き込んだ記憶エリアを指定してその最新のデータを読み出して再び第１の記憶手段に書き込むように構成してもよい。
【００１５】
また、第１の記憶手段と第２の記憶手段との間においてデータ転送手段が読み出しおよび書込みを行なうデータは、楽音信号の発生に関与するデータ（実施形態においては、図２のＳｅｔｕｐＰａｒａｍ、ＴｏｎｅＰａｒａｍ、ＳｅｑＤａｔａに相当する）であるように構成してもよい。
【００１６】
本発明のデータ処理のプログラムは、供給される電源の電圧が所定範囲の定常状態であるか又は所定範囲より低い過渡状態であるかを検出する第１のステップ（実施形態においては、図９のステップＳＧ２に相当する）と、第１のステップによって検出された電圧が定常状態から過渡状態に変化する直前には電源の電圧が定常状態のときにデータの正常な書き込みおよび読み出しが可能な第１の記憶手段（実施形態においては、図１のＲＡＭ５に相当する）のデータを読み出して電源の電圧の状態にかかわらず書き込まれているデータを保持することが可能な複数の記憶エリアを有する第２の記憶手段（実施形態においては、図１のフラッシュメモリ６に相当する）においてデータが消去されている記憶エリアを指定して当該指定した記憶エリアに書き込む第２のステップ（実施形態においては、図８のステップＳＦ２に相当する）と、第１のステップによって検出された電圧が過渡状態から定常状態に変化した直後には指定した記憶エリアのデータを読み出して再び第１の記憶手段に書き込む第３のステップ（実施形態においては、図４のステップＳＢ７に相当する）と、第１のステップによって検出された電圧が過渡状態から定常状態に変化した後に第２の記憶手段において第２のステップによって指定された記憶エリアとは異なる記憶エリアのデータを消去する第４のステップ（実施形態においては、図７のステップＳＥ４に相当する）とを実行する構成になっている。
【００１７】
この場合において、第１の記憶手段と第２の記憶手段との間において第２のステップおよび第３のステップが読み出しおよび書込みを行なうデータは、楽音信号の発生に関与するデータ（実施形態においては、図２のＳｅｔｕｐＰａｒａｍ、ＴｏｎｅＰａｒａｍ、ＳｅｑＤａｔａに相当する）であるように構成してもよい。
【００１８】
【発明の実施の形態】
以下、本発明によるデータ処理装置の実施形態について、電子鍵盤機器を例に採って、図を参照して説明する。
図１は、実施形態における電子鍵盤機器のシステム構成を示すブロック図である。この図において、ＣＰＵ１は、システムバスを介して、鍵盤２、スイッチ部３、ＲＯＭ４、ＲＡＭ５、フラッシュメモリ６、表示部７、電源電圧監視部８、および楽音発生部９に接続され、これら各部との間で、コマンドおよびデータを授受しながら、この電子鍵盤機器全体を制御する。
【００１９】
鍵盤２は、押鍵および離鍵の演奏に応じて、ノートオンやベロシティ、およびノートオフのデータをＣＰＵ１に入力する。
スイッチ部３は、電源をオン／オフする電源スイッチ、機器基本の設定スイッチ、音色の設定スイッチ、シーケンスデータによる自動演奏を行う自動演奏のスタート／ストップスイッチなどで構成され、操作に応じてオン／オフの状態をＣＰＵ１に入力する。なお、電源をオフにするには、電源スイッチの操作による他、ＣＰＵ１の電源オフ処理によっても可能である。
【００２０】
ＲＯＭ４は、機器基本設定のパラメータ、音色設定のパラメータ、シーケンスデータなどのを処理するデータ処理、鍵盤２の演奏によるデータを処理する鍵盤処理、演奏に応じて楽音を発生するための波形データの処理、およびその他の処理をＣＰＵ１が実行するためのプログラムや、起動時のイニシャライズにおけるデフォルトのデータなどをあらかじめ記憶している。
ＲＡＭ５は、ＣＰＵ１によって処理される各種のデータを一時的に記憶するとともに、プログラムの実行に必要な各種のレジスタやフラグのエリアが設けられている。なお、ＲＡＭ５は、供給されている電源が所定範囲の定常状態の場合にデータの正常な書込みおよび読み出しが可能なＤＲＡＭなどの揮発性メモリで構成されている。
フラッシュメモリ６は、電源オフの状態でもデータの保持が可能なバックアップ用の不揮発性のメモリであり、ＲＡＭ５の一部のデータをバックアップするとともに、楽音信号を生成するための波形データを記憶している。バックアップするデータの内容については後述する。
【００２１】
表示部７は、機器基本の設定状態や音色の設定状態などの状態、操作を促すメッセージ、自動演奏曲の楽譜データなどを表示する。
電源電圧監視部８は、供給される電源の状態を監視して、検出した電圧の状態をＣＰＵ１に入力する。
楽音生成部９は、ＣＰＵ１の発音指示（ノートオンコマンド）および波形データに応じて、楽音信号を生成してＤ／Ａ変換回路１０に出力する。Ｄ／Ａ変換回路１０は、その楽音信号をディジタルからアナログに変換し、アンプ１１を介してスピーカ１２に供給して発音させ、ＣＰＵ１の消音指示（ノートオフコマンド）に応じて発音を停止させる。
【００２２】
図２は、図１におけるフラッシュメモリ６の記憶エリアの構成、および、各記憶エリアに書き込まれるデータを示す図である。フラッシュメモリ６は、ＢｌｏｃｋＡ、ＢｌｏｃｋＢ、ＷａｖｅＢｌｏｃｋからなる３つのブロックの記憶エリアで構成されている。ＢｌｏｃｋＡおよびＢｌｏｃｋＢのそれぞれには、下記の５種類のデータが書き込まれる。
【００２３】
すなわち、機器基本設定のデータであるＳｅｔｕｐＰａｒａｍ、音色設定のデータであるＴｏｎｅＰａｒａｍ、自動演奏のシーケンスデータであるＳｅｑＤａｔａ、ＢｌｏｃｋＡ、ＢｌｏｃｋＢのどちらに最新のデータが書き込まれているかを判別するための、４バイトからなるシリアル番号のデータであるＳｅｒｉａｌ、ＢｌｏｃｋＡおよびＢｌｏｃｋＢの記憶内容が有効かどうかを判定するための、４バイトのデータであるＫｅｙｗｏｒｄの５種類のデータが書き込まれる。
また、ＷａｖｅＢｌｏｃｋには、楽音信号を生成するための波形データであるＷａｖｅＤａｔａがあらかじめ書き込まれている。
【００２４】
ＢｌｏｃｋＡおよびＢｌｏｃｋＢのデータのうち、ＳｅｔｕｐＰａｒａｍ、ＴｏｎｅＰａｒａｍ、ＳｅｑＤａｔａについては、後述するように、電源オン／オフ時に、ＲＡＭ５との間で読み書きされるバックアップ対象のデータである。これに対して、ＷａｖｅＢｌｏｃｋのＷａｖｅＤａｔａは、電源オン／オフ時のＲＡＭとの間の読み書きは行なわれない。なお、図には示さないが、工場出荷時などの初期状態のために、ＳｅｔｕｐＰａｒａｍ、ＴｏｎｅＰａｒａｍ、ＳｅｑＤａｔａのデフォルトのデータがＲＯＭ４に記憶されている。
【００２５】
次に、図１の電子鍵盤機器の動作について、図３ないし図１０に示すフローチャートに基づいて説明する。
図３は、ＣＰＵ１のメインルーチンのフローチャートであり、初期化処理（ステップＳＡ１）の後、スイッチ処理（ステップＳＡ２）、鍵盤処理（ステップＳＡ３）、表示処理（ステップＳＡ４）、電源オフ処理（ステップＳＡ５）、その他の処理（ステップＳＡ６）を繰り返し実行する。
【００２６】
図４は、メインルーチンにおけるステップＳＡ１の初期化処理のフローチャートである。電源スイッチがオンにされたときは、まず、ＢｌｏｃｋＡのＳｅｒｉａｌ、ＢｌｏｃｋＡのＫｅｙｗｏｒｄ、ＢｌｏｃｋＢのＳｅｒｉａｌ、ＢｌｏｃｋＢのＫｅｙｗｏｒｄを、それぞれ変数ＳＡ、ＫＡ、ＳＢ、ＫＢにストアする（ステップＳＢ１）。次に、ＫＡの値が正常か否かを判別する（ステップＳＢ２）。ＫＡの値が正常である場合には、さらにＫＢの値が正常であるか否かを判別する（ステップＳＢ３）。
【００２７】
ＫＢの値が正常である場合、すなわち、ＢｌｏｃｋＡおよびＢｌｏｃｋＢのＫｅｙｗｏｒｄが両方とも正常である場合には、ＳＡの値がＳＢの値より大きいか否かを判別する（ステップＳＢ４）。ＳＡの値がＳＢの値より大きい場合には、データ消去の記憶エリアを指定する変数ＥｒａｓｅＢｌｏｃｋに「１」をセットし、データ読み出しの記憶エリアを指定する変数ＲｅａｄＢｌｏｃｋに「０」をセットする（ステップＳＢ５）。ここで、「０」はＢｌｏｃｋＡを示し、「１」はＢｌｏｃｋＢを示すインデックスである。すなわち、この場合には、ＢｌｏｃｋＢをデータ消去の記憶エリアに指定し、ＢｌｏｃｋＡをデータ読み出しの記憶エリアに指定する。
なお、ＢｌｏｃｋＡおよびＢｌｏｃｋＢのＳｅｒｉａｌの値については、後述する図８の書き込み処理において説明する。
【００２８】
ステップＳＢ３において、ＫＢの値が正常でなく、ＫＡの値のみが正常である場合にも、ＥｒａｓｅＢｌｏｃｋに「１」をセットし、ＲｅａｄＢｌｏｃｋに「０」をセットして（ステップＳＢ５）、ＢｌｏｃｋＢをデータ消去の記憶エリアに指定し、ＢｌｏｃｋＡをデータ読み出しの記憶エリアに指定する。
ステップＳＢ４において、ＳＢの値がＳＡの値より大きい場合には、ＥｒａｓｅＢｌｏｃｋに「０」をセットし、ＲｅａｄＢｌｏｃｋに「１」をセットする（ステップＳＢ６）。すなわち、ＢｌｏｃｋＡをデータ消去の記憶エリアに指定し、ＢｌｏｃｋＢをデータ読み出しの記憶エリアに指定する。
【００２９】
ステップＳＢ５又はステップＳＢ６において、ＥｒａｓｅＢｌｏｃｋおよびＲｅａｄＢｌｏｃｋのそれぞれに「１」又は「０」をセットした後は、ＲｅａｄＢｌｏｃｋのＳｅｔｕｐＰａｒａｍ、ＴｏｎｅＰａｒａｍ、ＳｅｑＤａｔａを読み出して、ＲＡＭ５に転送して書き込む（ステップＳＢ７）。
【００３０】
ステップＳＢ２において、ＫＡの値が正常でない場合には、ＫＢの値が正常であるか否かを判別する（ステップＳＢ８）。ＫＢの値が正常である場合には、ＥｒａｓｅＢｌｏｃｋに「０」をセットし、ＲｅａｄＢｌｏｃｋに「１」をセットする（ステップＳＢ６）。すなわち、ＢｌｏｃｋＡをデータ消去の記憶エリアに指定し、ＢｌｏｃｋＢをデータ読み出しの記憶エリアに指定する。そして、ＲｅａｄＢｌｏｃｋのＳｅｔｕｐＰａｒａｍ、ＴｏｎｅＰａｒａｍ、ＳｅｑＤａｔａを読み出して、ＲＡＭ５に転送して書き込む（ステップＳＢ７）。
【００３１】
ステップＳＢ８において、ＫＢの値が正常でない場合には、ＥｒａｓｅＢｌｏｃｋに「０」をセットし、ＲｅａｄＢｌｏｃｋに「１」をセットする（ステップＳＢ９）。ただし、この場合には、ＢｌｏｃｋＡおよびＢｌｏｃｋＢのＫｅｙｗｏｒｄが両方とも正常でないので、この２つの記憶エリアのデータは正常でない可能性がある。この場合には、ＲＯＭ４に記憶されている工場出荷時のデフォルトのＳｅｔｕｐＰａｒａｍ、ＴｏｎｅＰａｒａｍ、ＳｅｑＤａｔａを読み出して、ＲＡＭ５に転送して書き込む（ステップＳＢ１０）。
【００３２】
ステップＳＢ７又はステップＳＢ１０において、ＳｅｔｕｐＰａｒａｍ、ＴｏｎｅＰａｒａｍ、ＳｅｑＤａｔａをＲＡＭ５に転送した後は、データ消去の待ち時間の変数ＥｒａｓｅＷａｉｔＴｉｍｅｒに「３０００」の数値をセットし、フラッシュメモリ６の状態を表す変数ＦｌａｓｈＳｔａｔｕｓに、データ消去のリクエスト中を表すＥｒａｓｅＲｅｑをセットし、機器の電源を切断するリクエスト状態を表す変数ＰｏｗｅｒＯｆｆＳｔａｔｕｓにＮｏｐ（なにもしない状態）をセットする（ステップＳＢ１１）。次に、その他の初期化処理を行い（ステップＳＢ１２）、図３のメインルーチンに戻る。
【００３３】
図５は、フラッシュメモリ制御タイマ処理のフローチャートであり、１０ｍｓ毎のタイマインタラプトに応じて実行される。まず、ＥｒａｓｅＷａｉｔＴｉｍｅｒの値が「０」より大きいか否かを判別し（ステップＳＣ１）、「０」より大きい場合には、ＥｒａｓｅＷａｉｔＴｉｍｅｒの値を「１」だけデクリメントする（ステップＳＣ２）。ＥｒａｓｅＷａｉｔＴｉｍｅｒの初期値は、図４のステップＳＢ１１において「３０００」にセットされている。この値がタイマインタラプトに応じて１０ｍｓ毎に「１」だけデクリメントされる。したがって、ＥｒａｓｅＷａｉｔＴｉｍｅｒに初期値がセットされた後、３０秒が経過するとＥｒａｓｅＷａｉｔＴｉｍｅｒの値が「０」に達することになる。
【００３４】
ステップＳＣ２においてＥｒａｓｅＷａｉｔＴｉｍｅｒの値をデクリメントした後、又は、ステップＳＣ１においてＥｒａｓｅＷａｉｔＴｉｍｅｒの値が「０」に達しているときは、電源オフ準備処理を実行する（ステップＳＣ３）。この後、消去処理（ステップＳＣ４）、書き込み処理（ステップＳＣ５）を実行して、図３のメインルーチンに戻る。
【００３５】
図６は、図５のフラッシュメモリ制御タイマ処理におけるステップＳＣ３の電源オフ準備処理のフローチャートである。まず、ＰｏｗｅｒＯｆｆＳｔａｔｕｓがＷａｉｔ（切断待ち状態）であるか否かを判別する（ステップＳＤ１）。ＰｏｗｅｒＯｆｆＳｔａｔｕｓがＷａｉｔでない場合には、このフローを終了するが、ＰｏｗｅｒＯｆｆＳｔａｔｕｓがＷａｉｔである場合には、ＥｒａｓｅＷａｉｔＴｉｍｅｒの値が「０」に達しているか否かを判別する（ステップＳＤ２）。この値が「０」に達している場合、すなわち、図４の初期化処理の時から３０秒が経過したときには、フラッシュメモリ６の状態を表す変数ＦｌａｓｈＳｔａｔｕｓがＮｏｐ（なにもしない状態）であるか否かを判別する（ステップＳＤ３）。すなわち、フラッシュメモリ６のデータ消去が完了したか否かを判別する。ＦｌａｓｈＳｔａｔｕｓがＮｏｐでない場合には、フラッシュメモリ６のデータ消去が完了していないので、このフローを終了して、データ消去の完了を待つ。ＦｌａｓｈＳｔａｔｕｓがＮｏｐである場合には、フラッシュメモリ６のデータ消去が完了しているので、ＰｏｗｅｒＯｆｆＳｔａｔｕｓにＲｅｑ（電源切断リクエスト中）をセットする（ステップＳＤ４）。そして、このフローを終了する。
【００３６】
ステップＳＤ２において、ＥｒａｓｅＷａｉｔＴｉｍｅｒの値が「０」より大きい場合、すなわち、電源の切断待ち状態で、かつ、図４の初期化処理の時から３０秒が経過していない場合には、ＰｏｗｅｒＯｆｆＳｔａｔｕｓにＲｅａｄｙ（電源切断準備完了）をセットして（ステップＳＤ５）、このフローを終了する。
【００３７】
図７は、図５のフラッシュメモリ制御タイマ処理におけるステップＳＣ４の消去処理のフローチャートである。このフローでは、ＦｌａｓｈＳｔａｔｕｓの状態がＥｒａｓｅＲｅｑ（消去リクエスト中）、ＥｒａｓｅＥｘｅｃ（消去実行中）、ＥｒａｓｅＰｅｎｄ（消去中断中）、Ｎｏｐ（なにもしない状態）のいずれであるかを判別し（ステップＳＥ１）、その判別結果に応じて処理が分岐する。
【００３８】
ＦｌａｓｈＳｔａｔｕｓがＥｒａｓｅＲｅｑである場合には、ＥｒａｓｅＷａｉｔＴｉｍｅｒの値が「０」に達したか否かを判別する（ステップＳＥ２）。この値が「０」である場合には、フラッシュメモリ６がアクセスされて、ＷａｖｅＢｌｏｃｋの記憶エリアのＷａｖｅＤａｔａが読み出されて発音中であるか否かを判別する（ステップＳＥ３）。発音中でない場合には、ＥｒａｓｅＢｌｏｃｋのデータ消去を開始し、ＦｌａｓｈＳｔａｔｕｓにＥｒａｓｅＥｘｅｃをセットする（ステップＳＥ４）。
【００３９】
ステップＳＥ２において、ＥｒａｓｅＷａｉｔＴｉｍｅｒの値が「０」に達していない場合には、誤って電源がオンされて、すぐに（３０秒が経過する前に）再び電源がオフされる可能性があるので、フラッシュメモリ６のデータ消去を行なわず、このフローを終了する。また、ステップＳＥ３において、ＷａｖｅＤａｔａが読み出されて発音中である場合には、フラッシュメモリ６にアクセスできないので、フラッシュメモリ６のデータ消去を行なわず、このフローを終了する。
【００４０】
ステップＳＥ１において、ＦｌａｓｈＳｔａｔｕｓがＥｒａｓｅＥｘｅｃである場合には、ＥｒａｓｅＢｌｏｃｋのデータ消去が終了したか否かを判別する（ステップＳＥ５）。ＥｒａｓｅＢｌｏｃｋのデータ消去が終了している場合には、ＦｌａｓｈＳｔａｔｕｓをＮｏｐに変更して（ステップＳＥ６）、このフローを終了する。ＥｒａｓｅＢｌｏｃｋのデータ消去が終了していない場合には、ＦｌａｓｈＳｔａｔｕｓを変更することなく、このフローを終了する。
【００４１】
ステップＳＥ１において、ＦｌａｓｈＳｔａｔｕｓがＥｒａｓｅＰｅｎｄである場合には、フラッシュメモリ６のＷａｖｅＤａｔａが読み出されて発音中であるか否かを判別する（ステップＳＥ７）。発音中でない場合には、ＥｒａｓｅＢｌｏｃｋのデータ消去を再開し、ＦｌａｓｈＳｔａｔｕｓをＥｒａｓｅＥｘｅｃに変更する（ステップＳＥ８）。そして、このフローを終了する。一方、フラッシュメモリ６のＷａｖｅＤａｔａが読み出されて発音中である場合には、ＦｌａｓｈＳｔａｔｕｓを変更することなく、このフローを終了する。
【００４２】
図８は、図５のフラッシュメモリ制御タイマ処理におけるステップＳＣ５の書き込み処理のフローチャートである。まず、ＰｏｗｅｒＯｆｆＳｔａｔｕｓがＲｅｑ（電源切断リクエスト中）であるか否かを判別する（ステップＳＦ１）。ＰｏｗｅｒＯｆｆＳｔａｔｕｓがＲｅｑでない場合には、このフローを終了するが、Ｒｅｑである場合には、ＲＡＭ５のＳｅｔｕｐＰａｒａｍ、ＴｏｎｅＰａｒａｍ、ＳｅｑＤａｔａを読み出して、ＥｒａｓｅＢｌｏｃｋに書き込む（ステップＳＦ２）。
【００４３】
次に、ＲｅａｄＢｌｏｃｋのＫｅｙｗｏｒｄが正常であるか否かを判別する（ステップＳＦ３）。Ｋｅｙｗｏｒｄが正常である場合には、ＲｅａｄＢｌｏｃｋのデータが正常であるので、ＲｅａｄＢｌｏｃｋのＳｅｒｉａｌの値に「１」を加算した値をＥｒａｓｅＢｌｏｃｋのＳｅｒｉａｌにセットする（ステップＳＦ４）。一方、ＲｅａｄＢｌｏｃｋのＫｅｙｗｏｒｄが正常でない場合には、ＥｒａｓｅＢｌｏｃｋのＳｅｒｉａｌに「１」をセットする（ステップＳＦ５）。
【００４４】
例えば、ＲｅａｄＢｌｏｃｋがＢｌｏｃｋＢ、ＥｒａｓｅＢｌｏｃｋがＢｌｏｃｋＡとした場合を想定する。まず、ＲｅａｄＢｌｏｃｋのＫｅｙｗｏｒｄが正常な場合には、ＲｅａｄＢｌｏｃｋのＳｅｒｉａｌも正常であるとみなすことができる。そして、その値が仮に「１００」であるとすると、ＥｒａｓｅＢｌｏｃｋのＳｅｒｉａｌを「１００」に「１」を加算した「１０１」とする。その結果、次の電源オンにおける図４の初期化処理において、ＳＡ＝「１０１」、ＳＢ＝「１００」となり、ステップＳＢ４からステップＳＢ５に進み、Ｓｅｒｉａｌの値の大きなＢｌｏｃｋＡが今度はＲｅａｄＢｌｏｃｋとなる。
【００４５】
一方、ＲｅａｄＢｌｏｃｋのＫｅｙｗｏｒｄが正常でない場合、例えば、工場出荷後の最初の電源オン時（図４のステップＳＢ９）の後でこの経路を通るような場合には、ＲｅａｄＢｌｏｃｋのＳｅｒｉａｌの値は正常ではないと判定されるので、ＥｒａｓｅＢｌｏｃｋのＳｅｒｉａｌを「１」にする。この結果、その後の電源オンにおいて、図４のフローでＫＡが正常、ＫＢが異常と判定されるので、ステップＳＢ３からステップＳＢ５に進み、Ｋｅｙｗｏｒｄが正常なＢｌｏｃｋＡがＲｅａｄＢｌｏｃｋとなる。それ以降においては、Ｋｅｙｗｏｒｄの正常なＢｌｏｃｋＡのＳｅｒｉａｌが「１」となる状態を基準として、ＢｌｏｃｋＢのＳｅｒｉａｌが「２」、ＢｌｏｃｋＡのＳｅｒｉａｌが「３」……と、交互に値が変化してゆく。
【００４６】
ステップＳＦ４又はステップＳＦ５において、ＥｒａｓｅＢｌｏｃｋのＳｅｒｉａｌに値をセットした後は、ＫｅｙｗｏｒｄをＥｒａｓｅＢｌｏｃｋに書き込む（ステップＳＦ６）。次に、ＰｏｗｅｒＯｆｆＳｔａｔｕｓにＲｅａｄｙ（電源切断準備完了）をセットして（ステップＳＦ７）、このフローを終了する。
【００４７】
図９は、図３のメインルーチンにおけるステップＳＡ５の電源オフ処理のフローチャートである。このフローでは、ＰｏｗｅｒＯｆｆＳｔａｔｕｓがＮｏｐであるか、Ｒｅａｄｙであるか、その他（Ｗａｉｔ）であるかを判別する（ステップＳＧ１）。ＰｏｗｅｒＯｆｆＳｔａｔｕｓがＮｏｐである場合には、電源電圧監視部８からの情報により電圧降下があるか否かを判別する（ステップＳＧ２）。電圧降下がある場合には、ＰｏｗｅｒＯｆｆＳｔａｔｕｓをＷａｉｔに変更して（ステップＳＧ３）、図３のメインルーチンに戻る。
【００４８】
ステップＳＧ２において、電圧降下がない場合には、スイッチ部３の電源スイッチによって電源切断操作があるか否かを判別する（ステップＳＧ４）。電源切断操作があったときは、ＰｏｗｅｒＯｆｆＳｔａｔｕｓをＷａｉｔに変更して（ステップＳＧ３）、図３のメインルーチンに戻る。電源切断操作がない場合には、ＰｏｗｅｒＯｆｆＳｔａｔｕｓを変更することなく、図３のメインルーチンに戻る。
【００４９】
ステップＳＧ１において、ＰｏｗｅｒＯｆｆＳｔａｔｕｓがＲｅａｄｙである場合には、電源切断処理を行なって（ステップＳＧ５）、図３のメインルーチンに戻る。すなわち、フラッシュメモリ制御タイマ処理の電源オフ準備処理において、ＰｏｗｅｒＯｆｆＳｔａｔｕｓにＲｅａｄｙがセットされた場合には、この電源オフ処理において電源を切断する。
【００５０】
図１０は、図３のメインルーチンにおけるステップＳＡ３の鍵盤処理のフローチャートである。このフローでは、キーオンがあるか否かを判別する（ステップＳＨ１）。すなわち、鍵盤２が押鍵されたか否かを判別する。キーオンがあったときは、フラッシュメモリ６の記憶エリアＷａｖｅＢｌｏｃｋの波形データであるＷａｖｅＤａｔａを楽音信号の生成のために使用するか否かを判別する（ステップＳＨ２）。ＷａｖｅＤａｔａを使用する場合には、ＦｌａｓｈＳｔａｔｕｓがＥｒａｓｅＥｘｅｃ（データ消去実行中）であるか否かを判別する（ステップＳＨ３）。ＦｌａｓｈＳｔａｔｕｓがＥｒａｓｅＥｘｅｃである場合には、ＷａｖｅＤａｔａを読み出せないので、ＥｒａｓｅＢｌｏｃｋのデータ消去を中断して、ＦｌａｓｈＳｔａｔｕｓをＥｒａｓｅＰｅｎｄに変更する（ステップＳＨ４）。
【００５１】
ＦｌａｓｈＳｔａｔｕｓをＥｒａｓｅＰｅｎｄに変更した後、又は、ステップＳＨ２において、ＷａｖｅＤａｔａを使用していない場合、若しくは、ステップＳＨ３において、ＦｌａｓｈＳｔａｔｕｓがＥｒａｓｅＥｘｅｃでない場合には、発音処理を実行する（ステップＳＨ５）。発音処理の後、又は、ステップＳＨ１において、キーオンがない場合には、その他の鍵盤処理、例えば、離鍵によるキーオフ処理などを行なって（ステップＳＨ６）、図３のメインルーチンに戻る。
【００５２】
以上のように、この実施形態によれば、ＣＰＵ１は、電源電圧監視部８によって検出された電圧が定常状態から過渡状態に変化する直前には、フラッシュメモリ６における２つの記憶エリアであるＢｌｏｃｋＡ、ＢｌｏｃｋＢの中からデータが消去されている記憶エリアを指定して、ＲＡＭ５のデータを読み出して当該指定した記憶エリアに書き込み、電源電圧監視部８によって検出された電圧が過渡状態から定常状態に変化した直後には、指定した記憶エリアのデータを読み出して再びＲＡＭ５に書き込み、電源電圧監視部８によって検出された電圧が過渡状態から定常状態に変化した後に、３０秒が経過したときには、フラッシュメモリ６において指定した記憶エリアとは異なる記憶エリアのデータを消去するので、操作に応じて逐次フラッシュメモリにデータを書き込む従来の技術に比べて、操作性を改善でき、追記用の記憶エリアも不要となり、バックアップ用のメモリの容量およびデータを書き込むための時間を少なくできるとともに、電源オフや電圧低下のときには自動的にデータのバックアップができる。
【００５３】
また、上記実施形態によれば、ＣＰＵ１は、ＲＡＭ５のＳｅｔｕｐＰａｒａｍ、ＴｏｎｅＰａｒａｍ、ＳｅｑＤａｔａのデータおよびＫｅｙｗｏｒｄを、フラッシュメモリ６の指定した記憶エリア（例えば、ＢｌｏｃｋＡ）に書き込み、Ｋｅｙｗｏｒｄが有効な場合に指定した記憶エリアであるＢｌｏｃｋＡのＳｅｔｕｐＰａｒａｍ、ＴｏｎｅＰａｒａｍ、ＳｅｑＤａｔａのデータを読み出して、ＲＡＭ５に書き込み、Ｋｅｙｗｏｒｄが無効である場合には、ＲＯＭ４のデフォルトのデータすなわち、工場出荷時のデータを読み込むので、ＲＡＭ５からフラッシュメモリ６に転送したＳｅｔｕｐＰａｒａｍ、ＴｏｎｅＰａｒａｍ、ＳｅｑＤａｔａのデータが正常である場合に、そのデータをＲＡＭ５に復帰させることにより、データ転送の誤りを防止することができる。
【００５４】
また、上記実施形態によれば、ＣＰＵ１は、メインルーチンの処理とは別系統のバックグラウンドの処理でフラッシュメモリ６の記憶エリアのデータを消去するので、多くの時間を必要とするデータ消去処理によって、メインルーチンの処理が制限されることがない。
【００５５】
また、上記実施形態によれば、ＣＰＵ１は、フラッシュメモリ６の記憶エリアのデータを消去中において、フラッシュメモリ６へのアクセスが発生したときには、そのデータ消去を中断し、そのアクセスが終了したときにはデータ消去を再開するので、フラッシュメモリ６のデータ消去中に、鍵盤２が押鍵されてノートオンコマンドによる発音処理を行なう場合には、データ消去を中断して、フラッシュメモリ６のＷａｖｅＤａｔａの読み出しを可能にして発音処理を優先させ、音切れやノイズの発生を防止できる。
【００５６】
また、上記実施形態によれば、ＣＰＵ１は、電源電圧監視部８によって検出された電圧が過渡状態から定常状態に変化したときから、３０秒が経過した後に、フラッシュメモリ６のデータを消去するので、ユーザが誤って電源をオフにした後、すぐに電源をオンにするような事態が発生しても、その短い電源オフの期間にフラッシュメモリ６のデータを消去しないので、誤操作のためにデータが消去されるのを防止できる。
【００５７】
また、上記実施形態によれば、ＣＰＵ１は、フラッシュメモリ６の指定した記憶エリアに対するデータを書き込みが完了した後に、電源の供給停止処理を行なうので、確実にデータのバックアップができる。
【００５８】
また、上記実施形態によれば、ＣＰＵ１は、操作に応じて電源の供給および供給停止を指示するスイッチ部３の電源スイッチから供給停止の指示を受けたときには、電源電圧監視部８による電圧降下の検出を待つことなく、フラッシュメモリ６における２つの記憶エリアであるＢｌｏｃｋＡおよびＢｌｏｃｋＢの中から、データが消去されている方の記憶エリアを指定して、ＲＡＭ５のデータを読み出して、その指定した記憶エリアに書き込むので、データ書き込みの時間に十分な余裕をもつことにより、確実なデータ書き込みを行なえる。
【００５９】
また、上記実施形態によれば、ＲＡＭ５とフラッシュメモリ６との間においてＣＰＵ１が読み出しおよび書込みを行なうデータは、楽音信号の発生に関与する機器基本設定のデータＳｅｔｕｐＰａｒａｍ、音色設定のデータＴｏｎｅＰａｒａｍ、自動演奏のシーケンスデータＳｅｑＤａｔａであるので、従来の電子鍵盤機器のように操作に応じて逐次フラッシュメモリにデータを書き込む場合に比べて、操作性を改善でき、追記用の記憶エリアも不要となり、バックアップ用のメモリの容量およびデータを書き込むための時間を少なくできるとともに、電源オフや電圧低下のときには自動的にデータのバックアップができる。したがって、電子鍵盤機器の安価を図り、小型軽量化を実現できる。
【００６０】
なお、上記実施形態においては、データをバックアップするために、フラッシュメモリ６にＢｌｏｃｋＡおよびＢｌｏｃｋＢの２つの記憶エリアを設けた例を説明したが、実施形態の変形例として、３つ以上の複数の記憶エリアを設ける構成にしてもよい。このような構成によれば、前回の電源オフ時だけでなく、それ以前の電源オフ時のバックアップも保持できるので、ＣＰＵ１は、必要に応じてデータを読み出す記憶エリアを選択することができる。
【００６１】
上記実施形態においては、図１のＲＯＭ４にあらかじめ記憶されているデータ処理のプログラムをＣＰＵ１が実行する構成のデータ処理装置について説明したが、ＦＤ（フレキシブルディスク）、ＣＤ−ＲＯＭなどの外部記憶媒体に記憶されているデータ処理のプログラムや、インターネットなどの通信網を介してダウンロードされるデータ処理のプログラムを、パソコンなどの汎用の情報処理装置にインストールして実行することも可能である。この場合には、プログラムの発明を構成する。
【００６２】
すなわち、本発明のデータ処理のプログラムは、供給される電源の電圧が所定範囲の定常状態であるか又は所定範囲より低い過渡状態であるかを検出する第１のステップと、第１のステップによって検出された電圧が定常状態から過渡状態に変化する直前には電源の電圧が定常状態のときにデータの正常な書き込みおよび読み出しが可能な第１の記憶手段（ＲＡＭ５）のデータを読み出して電源の電圧の状態にかかわらず書き込まれているデータを保持することが可能な複数の記憶エリアを有する第２の記憶手段（フラッシュメモリ６）においてデータが消去されている記憶エリアを指定して当該指定した記憶エリアに書き込む第２のステップと、第１のステップによって検出された電圧が過渡状態から定常状態に変化した直後には指定した記憶エリアのデータを読み出して再び第１の記憶手段に書き込む第３のステップと、第１のステップによって検出された電圧が過渡状態から定常状態に変化した後に第２の記憶手段において第２のステップによって指定された記憶エリアとは異なる記憶エリアのデータを消去する第４のステップとを実行する。
【００６３】
また、上記実施形態においては、電子鍵盤機器を例にとってデータ処理装置の発明を説明したが、本発明の適用範囲は電子鍵盤機器に限定するものではない。パソコン、ワークステーション、メインフレームのコンピュータ、産業機器、計測機器などのように、データを処理するすべてのデータ処理装置にも適用できることは明らかである。
【００６４】
【発明の効果】
本発明によれば、電源電圧が定常状態から低下する直前には、ＲＡＭなどの第１の記憶手段のデータを読み出して、フラッシュメモリなどの第２の記憶手段の複数の記憶エリアの中から指定した記憶エリアに書き込み、電源電圧が定常状態に上昇した直後には、指定した記憶エリアのデータを読み出して再び第１の記憶手段に書き込み、指定した記憶エリアとは異なる記憶エリアのデータを消去するので、バックアップ用のメモリの容量およびデータを書き込むための時間を少なくできるとともに、電源オフや電圧低下のときには自動的にデータのバックアップができるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の実施形態における電子鍵盤機器のシステム構成を示すブロック図。
【図２】図１におけるフラッシュメモリの記憶エリアの構成、および、各記憶エリアに記憶されるデータを示す図。
【図３】ＣＰＵのメインルーチンのフローチャート。
【図４】メインルーチンにおける初期化処理のフローチャート。
【図５】フラッシュメモリ制御タイマ処理のフローチャート。
【図６】図５のフラッシュメモリ制御タイマ処理における電源オフ準備処理のフローチャート。
【図７】図５のフラッシュメモリ制御タイマ処理における消去処理のフローチャート。
【図８】図５のフラッシュメモリ制御タイマ処理における書き込み処理のフローチャート。
【図９】図３のメインルーチンにおける電源オフ処理のフローチャート。
【図１０】図３のメインルーチンにおける鍵盤処理のフローチャート。
【符号の説明】
１  ＣＰＵ
２  鍵盤
３  スイッチ部
４  ＲＯＭ
５  ＲＡＭ
６  フラッシュメモリ
７  表示部
８  電源電圧監視部
９  楽音生成部
１０  Ｄ／Ａ変換器
１１  アンプ
１２  スピーカ
【図１】
2004259093.tif 000003
【図２】
2004259093.tif 000004
【図３】
2004259093.tif 000005
【図４】
2004259093.tif 000006
【図５】
2004259093.tif 000007
【図６】
2004259093.tif 000008
【図７】
2004259093.tif 000009
【図８】
2004259093.tif 000010
【図９】
2004259093.tif 000011
【図１０】
2004259093.tif 000012