(57)【要約】  【課題】  操作者による摺動操作に応じたパルス信号に基づいて画像信号を生成する画像信号生成装置を提供する。  【解決手段】  摺動操作部材２には光反射部４５及び光吸収部４４からなる反射パターン４３が形成される。被摺動部３３の内部には発光ダイオード３６及びフォトトランジスタ３４，３５が設けられる。摺動操作部材２を被摺動部３３に接触させ摺り動かすと、発光ダイオード３６からの赤外光が反射パターン４３で反射され、これを受光したフォトトランジスタ３４，３５からパルス信号Ａ，Ｂが出力される。画像信号生成装置としての自動演奏装置の本体１に内蔵された高速プロセッサ２００は、パルス信号Ａ，Ｂから、摺動速さ、摺動方向、及び摺動時間を求め、これらに応じて、スクリーン８２に表示されるキャラクタ７３の動きを制御する。【選択図】  図１
2005230532.tif 000002
【特許請求の範囲】
【請求項１】
被摺動体と、
前記被摺動体の被摺動部と接触した状態で摺り動かされる摺動操作部材と、
前記摺動操作部材の摺動速さに応じた画像信号を生成するプロセッサと、を備え、
前記被摺動体は、前記摺動操作部材の前記摺動速さを計測する計測手段を含む、画像信号生成装置。
【請求項２】
被摺動体と、
前記被摺動体の被摺動部と接触した状態で摺り動かされる摺動操作部材と、
摺動方向を変えることなく行われた前記摺動操作部材の摺動時間に応じた画像信号を生成するプロセッサと、を備え、
前記被摺動体は、前記摺動操作部材の前記摺動時間を計測する計測手段を含む、画像信号生成装置。
【請求項３】
被摺動体と、
前記被摺動体の被摺動部と接触した状態で摺り動かされる摺動操作部材と、
前記摺動操作部材の摺動方向に応じた画像信号を生成するプロセッサと、を備え、
前記被摺動体は、前記摺動操作部材の前記摺動方向を計測する計測手段を含む、画像信号生成装置。
【請求項４】
前記被摺動体の前記計測手段は、発光素子及び受光素子を有する光センサを含み、
前記摺動操作部材には、その長手方向に、異なる光学特性を有する第１の受光領域及び第２の受光領域が交互に形成され、
前記受光素子は、前記発光素子が発光し、前記摺動操作部材の前記第１の受光領域を介した光を受光して、電気信号に変換し、
前記プロセッサは、前記受光素子が出力する前記電気信号に応じた前記画像信号を生成する、請求項１又は２記載の画像信号生成装置。
【請求項５】
前記被摺動体の前記計測手段は、発光素子、第１の受光素子、及び、第２の受光素子、を有する光センサを含み、
前記摺動操作部材には、その長手方向に、異なる光学特性を有する第１の受光領域及び第２の受光領域が交互に形成され、
前記第１の受光素子は、前記発光素子が発光し、前記摺動操作部材の前記第１の受光領域を介した光を受光して、第１の電気信号に変換し、
前記第２の受光素子は、前記発光素子が発光し、前記摺動操作部材の前記第１の受光領域を介した光を受光して、第２の電気信号に変換し、
前記第１の受光素子と前記第２の受光素子とは、前記摺動操作部材の摺動方向に、所定間隔をおいて配置され、かつ、その所定間隔は、前記第１の電気信号と前記第２の電気信号との間に一定の位相差が生じる間隔であり、
前記プロセッサは、前記第１の電気信号及び前記第２の電気信号に応じた前記画像信号を生成する、請求項１から３記載の画像信号生成装置。
【請求項６】
前記プロセッサは、前記摺動操作部材の前記摺動速さに応じて、ディスプレイ上のキャラクタ画像の移動速度を制御する、請求項１、４、又は５記載の画像信号生成装置。
【請求項７】
前記プロセッサは、前記摺動操作部材の前記摺動時間に応じて、ディスプレイ上のキャラクタ画像の移動距離を制御する、請求項２、４、又は５記載の画像信号生成装置。
【請求項８】
前記プロセッサは、前記摺動操作部材の前記摺動方向に応じて、ディスプレイ上のキャラクタ画像の移動方向を制御する、請求項３又は５記載の画像信号生成装置。
【請求項９】
被摺動体と接触した状態で摺り動かされる摺動操作部材の摺動速さを計測するステップと、
前記摺動操作部材の前記摺動速さに応じた画像信号を生成するステップと、をコンピュータに実行させる画像信号生成プログラム。
【請求項１０】
被摺動体と接触した状態で摺り動かされる摺動操作部材の摺動時間を計測するステップと、
摺動方向を変えることなく行われた前記摺動操作部材の前記摺動時間に応じた画像信号を生成するステップと、をコンピュータに実行させる画像信号生成プログラム。
【請求項１１】
被摺動体と接触した状態で摺り動かされる摺動操作部材の摺動方向を計測するステップと、
前記摺動操作部材の前記摺動方向に応じた画像信号を生成するステップと、をコンピュータに実行させる画像信号生成プログラム。
【請求項１２】
被摺動体と接触した状態で摺り動かされる摺動操作部材の摺動速さを計測するステップと、
前記摺動操作部材の前記摺動速さに応じた画像信号を生成するステップと、を含む画像信号生成方法。
【請求項１３】
被摺動体と接触した状態で摺り動かされる摺動操作部材の摺動時間を計測するステップと、
摺動方向を変えることなく行われた前記摺動操作部材の前記摺動時間に応じた画像信号を生成するステップと、を含む画像信号生成方法。
【請求項１４】
被摺動体と接触した状態で摺り動かされる摺動操作部材の摺動方向を計測するステップと、
前記摺動操作部材の前記摺動方向に応じた画像信号を生成するステップと、を含む画像信号生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作者による摺動操作に応じたパルス信号に基づいて画像信号を生成する画像信号生成装置及びその関連技術に関する。
【背景技術】
【０００２】
特許文献１には、電子擦弦楽器が開示されている。この電子擦弦楽器は、反射型フォトインタラプタを有する本体、及び、光ビームを反射する薄板の反射部材で構成される弓部、からなる。さらに、この弓部の片側表面には、細長いスリット状の多数の黒色のパターンが形成される。この黒色のパターンは、光吸収領域である。従って、弓部による擦弦操作の際には、弓部の黒色のパターン及びそれ以外の部分に、本体のフォトインタラプタからの光ビームが当たって、吸収又は反射することにより、そのフォトインタラプタから、擦弦速度に応じた周期のパルスが、本体内部のマイクロコンピュータに入力される。このマイクロコンピュータは、入力されたパルスの周期に応じて、音量制御を行う。このように、この電子擦弦楽器は、楽器であるため、当然音楽を奏でる装置である。
【０００３】
【特許文献１】特開平９−２１２１６２号公報（００２８、００２９、図１、図２０、図２２）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、操作者による摺動操作に応じたパルス信号に基づいて画像信号を生成する画像信号生成装置及びその関連技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の第１の観点による画像信号生成装置は、被摺動体と、前記被摺動体の被摺動部と接触した状態で摺り動かされる摺動操作部材と、前記摺動操作部材の摺動速さに応じた画像信号を生成するプロセッサと、を備え、前記被摺動体は、前記摺動操作部材の前記摺動速さを計測する計測手段を含む。
【０００６】
この構成によれば、操作者は、摺動操作部材の摺動速さを調節するだけで、表示される画像に変化を与えることができる。
【０００７】
例えば、前記プロセッサは、前記摺動操作部材の前記摺動速さに応じて、ディスプレイ上のキャラクタ画像の移動速度を制御する。
【０００８】
本発明の第２の観点による画像信号生成装置は、被摺動体と、前記被摺動体の被摺動部と接触した状態で摺り動かされる摺動操作部材と、摺動方向を変えることなく行われた前記摺動操作部材の摺動時間に応じた画像信号を生成するプロセッサと、を備え、前記被摺動体は、前記摺動操作部材の前記摺動時間を計測する計測手段を含む。
【０００９】
この構成によれば、操作者は、摺動操作部材の摺動時間を調節するだけで、表示される画像に変化を与えることができる。
【００１０】
例えば、前記プロセッサは、前記摺動操作部材の前記摺動時間に応じて、ディスプレイ上のキャラクタ画像の移動距離を制御する。
【００１１】
本発明の第３の観点による画像信号生成装置は、被摺動体と、前記被摺動体の被摺動部と接触した状態で摺り動かされる摺動操作部材と、前記摺動操作部材の摺動方向に応じた画像信号を生成するプロセッサと、を備え、前記被摺動体は、前記摺動操作部材の前記摺動方向を計測する計測手段を含む。
【００１２】
この構成によれば、操作者は、摺動操作部材の摺動方向を変化させるだけで、表示される画像に変化を与えることができる。
【００１３】
例えば、前記プロセッサは、前記摺動操作部材の前記摺動方向に応じて、ディスプレイ上のキャラクタ画像の移動方向を制御する。
【００１４】
上記第１及び第２の観点による画像信号生成装置において、前記被摺動体の前記計測手段は、発光素子及び受光素子を有する光センサを含み、前記摺動操作部材には、その長手方向に、異なる光学特性を有する第１の受光領域及び第２の受光領域が交互に形成され、前記受光素子は、前記発光素子が発光し、前記摺動操作部材の前記第１の受光領域を介した光を受光して、電気信号に変換し、前記プロセッサは、前記受光素子が出力する前記電気信号に応じた前記画像信号を生成する。
【００１５】
この構成によれば、摺動操作部材の摺動速さ及び摺動時間を、簡易に計測できる。
【００１６】
上記第１から第３の観点による画像信号生成装置において、前記被摺動体の前記計測手段は、発光素子、第１の受光素子、及び、第２の受光素子、を有する光センサを含み、前記摺動操作部材には、その長手方向に、異なる光学特性を有する第１の受光領域及び第２の受光領域が交互に形成され、前記第１の受光素子は、前記発光素子が発光し、前記摺動操作部材の前記第１の受光領域を介した光を受光して、第１の電気信号に変換し、前記第２の受光素子は、前記発光素子が発光し、前記摺動操作部材の前記第１の受光領域を介した光を受光して、第２の電気信号に変換し、前記第１の受光素子と前記第２の受光素子とは、前記摺動操作部材の摺動方向に、所定間隔をおいて配置され、かつ、その所定間隔は、前記第１の電気信号と前記第２の電気信号との間に一定の位相差が生じる間隔であり、前記プロセッサは、前記第１の電気信号及び前記第２の電気信号に応じた前記画像信号を生成する。
【００１７】
この構成によれば、摺動操作部材の摺動速さ、摺動時間、及び、摺動方向、を簡易に計測できる。
【００１８】
上記第１から第３の観点による画像信号生成装置において、前記プロセッサは、記憶媒体に格納されたプログラムを実行して、その記憶媒体に格納された画像情報に基づき、前記画像信号を生成する。
【００１９】
この構成によれば、ユーザは、記憶媒体を交換するだけで、様々なアプリケーションを利用できる。
【００２０】
上記第１から第３の観点による画像信号生成装置において、前記プロセッサは、前記摺動操作部材の摺動操作に基づくトリガに従って、音声信号を生成する。
【００２１】
この構成によれば、操作者は、摺動操作部材の摺動操作により、画像だけでなく、音声の発音をも制御できる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、各図面において、同一の部分については、同一の参照符号を付している。
【００２３】
図１は、本発明の実施の形態における画像信号生成装置としての自動演奏装置の全体構成を示す図である。図２（ａ）は、図１の自動演奏装置本体１の平面図である。図２（ｂ）は、図１の自動演奏装置本体１の側面図である。図３は、図１の自動演奏装置本体１の底面図である。
【００２４】
図１に示すように、この自動演奏装置は、自動演奏装置本体１、及び、摺動操作部材２、を含む。本実施の形態では、自動演奏装置本体１の形状の１例として、バイオリンを模した形状を挙げている。従って、この例では、摺動操作部材２は、言わば弓に相当する。
【００２５】
自動演奏装置本体１は、胴部１０を含み、この胴部１０の表面には、ネック部２０、被摺動部３３、選択キー１２ａ，１２ｂ、キャンセルキー１２ｃ、決定キー１２ｄ、及び、表示部１５、が設けられる。ここで、自動演奏装置本体１は、被摺動部３３を含むため、被摺動体と呼ぶこともある。ネック部２０の表面には、発音する楽音にビブラートを付加するためのビブラートスイッチ１２ｅが設けられる。
【００２６】
図２（ｂ）に示すように、この自動演奏装置本体１の側面には、ボリュームダイヤル１６、ヘッドホン端子１７、ＡＶ端子１８、電源端子１９、及び、コネクタ２２、が設けられる。
【００２７】
図３に示すように、この自動演奏装置本体１の底面には、ハードウエアをリセットするリセットスイッチ２５、電源スイッチ２４、スピーカ部１１、電池ボックス２６、及び、カートリッジ挿入口２７、が設けられる。このカートリッジ挿入口２７の底部には、カートリッジソケット２３が設けられる。電源スイッチ２４を一方端側にスライドさせると電源オフ、中央にスライドさせるとテレビモード、他方端側にスライドさせるとスピーカモード、になる。テレビモードとは、テレビジョンモニタ８０のスピーカから音声が出力されるモードであり、スピーカモードとは、自動演奏装置本体１のスピーカ部１１から音声が出力されるモードである。スピーカ部１１からの音量は、ボリュームダイヤル１６により調節する。
【００２８】
カートリッジソケット２３には、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）を内蔵した図１のメモリカートリッジ２９が装着される。また、ＥＥＰＲＯＭ（ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ａｎｄ  ｐｒｏｇｒａｍａｂｌｅ  ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）を内蔵したメモリカートリッジ２９を装着して使用することもできる。なお、メモリカートリッジ２９に内蔵されるメモリは、これらに限定されるものではない。
【００２９】
図１に戻って、テレビジョンモニタ８０には、その前面にスクリーン８２が設けられ、スクリーン８２の下部にＡＶ端子８１が設けられる。自動演奏装置本体１とテレビジョンモニタ８０とは、ＡＶケーブル６０により接続される。具体的には、自動演奏装置本体１のＡＶ端子１８とテレビジョンモニタ８０のＡＶ端子８１とが、ＡＶケーブル６０により接続される。また、自動演奏装置本体１には、ＡＣアダプタ５０により、直流電源電圧が与えられる。ただし、ＡＣアダプタ５０に代えて、電池ボックス２６にセットされた電池（図示せず）により、直流電源電圧を与えることもできる。また、自動演奏装置本体１のヘッドホン端子１７に、ヘッドホン（図示せず）を接続して使用することもできる。ヘッドホンからの音量は、ボリュームダイヤル１６により調節する。
【００３０】
次に、図２（ａ）（ｂ）を用いて、被摺動部３３について説明する。後で詳述するが、被摺動部３３は、断面視において、円弧状に形成されている。この被摺動部３３の両端の頂部には、それぞれガイド３１及びガイド３２が突出して形成される。対向するガイド３１，３２の側縁は、摺動操作部材２が接する部分であって、平面視において、曲面となっている。これは、主に、摺動操作部材２が接触しても、滑らかに摺動操作部材２を動かすことができるようにするため、及び、摺動操作部材２の接触を原因としたガイド３１，３２の劣化を防止するため、である。操作者は、被摺動部３３のガイド３１とガイド３２との間の曲面に摺動操作部材２を接触させた状態で摺り動かし、自動演奏装置による自動演奏、あるいは、スクリーン８２上のキャラクタの動きを制御する。
【００３１】
図４（ａ）は、図１の摺動操作部材２の側面図である。図４（ｂ）は、図１の摺動操作部材２の底面図である。図４（ｂ）に示すように、摺動操作部材２の底面４１には、反射パターン４３が形成される。この反射パターン４３は、交互に形成される光反射部４５と光吸収部４４とからなる。光反射部４５は受けた光を反射し、光吸収部４４は、受けた光を吸収する。操作者は、この摺動操作部材２の底面４１を、被摺動部３３に接触した状態で摺り動かす。
【００３２】
図５（ａ）は、図２（ａ）に示した被摺動部３３の拡大図、図５（ｂ）は、図５（ａ）に示した光センサユニット９０の平面図、である。図５（ａ）に示すように、被摺動部３３の内部であって、摺動操作部材２が通過する位置には、光センサユニット９０が配置される。この光センサユニット９０は、発光ダイオード３６、光ファイバ９１，９２、及び、フォトトランジスタ３４，３５（図５には現れていない。）、を含む。光ファイバ９１及び光ファイバ９２は、摺動操作部材２の摺動方向に並んで配置されている。また、発光ダイオード３６は、光ファイバ９１，９２と対向する位置に設けられる。なお、図５（ｂ）に示すように、光センサユニット９０の上面には、つまり、被摺動部３３の内面に接触する部分には、周縁に沿って、密着部材９３が取り付けられている。この密着部材９３は、光センサユニット９０と被摺動部３３との密着性をよくして、光センサユニット９０の位置ずれを防止している。
【００３３】
図６は、図５（ａ）のＡ−Ａ断面図である。図７は、図５（ａ）のＢ−Ｂ断面図である。図６に示すように、光センサユニット９０は、被摺動部３３の内面に密着するように取り付けられる。光ファイバ９１，９２の一方端は、光センサユニット９０の上面（被摺動部３３と対向する側）から露出している。光ファイバ９１と光ファイバ９２とは、摺動方向に、所定間隔をおいて配置され、その所定間隔は、フォトトランジスタ３４からのパルス信号とフォトトランジスタ３５からのパルス信号との間に、一定の位相差が生じる間隔である。この点は、後で詳述する。
【００３４】
一方、光ファイバ９１，９２の他方端は、それぞれ、フォトトランジスタ３４，３５の頂部付近に固定される。このようにして、発光ダイオード３６が発光し、摺動操作部材２により反射された光は、光ファイバ９１，９２により、フォトトランジスタ３４，３５まで導かれる。光センサユニット９０及びフォトトランジスタ３４，３５は、基板９４に取り付けられる。さらに、フォトトランジスタ３４，３５は、それぞれ、光センサユニット９０の下部に形成された２つの穴に挿入されている。これにより、フォトトランジスタ３４，３５には、光ファイバ９１，９２からの光のみが入射し、それ以外の光の入射を防止できる。
【００３５】
また、図７に示すように、発光ダイオード３６は、光センサユニット９０の上部に形成された傾斜面に取り付けられる。これにより、矢印＃に示すように、発光ダイオード３６が発光し、摺動操作部材２が反射した光の光ファイバ９１，９２への入射光量を多くすることができる。なお、発光ダイオード３６は、赤外光を発生する。そして、フォトトランジスタ３４，３５が、発光ダイオード３６が発生する赤外光だけを極力検知できるように、被摺動部３３は、赤外光だけを通過させる赤外フィルタとしての機能を有している。
【００３６】
次に、図１の自動演奏装置による自動演奏について説明する。操作者は、自動演奏装置本体１とテレビジョンモニタ８０とを、ＡＶケーブル６０により接続する。そして、図３の電源スイッチ２４をオン（テレビモード）にする。すると、テレビジョンモニタ８０のスクリーン８２に、モード選択画面（図示せず）が表示されるので、操作者は、選択キー１２ａ，１２ｂにより自動演奏モードを選択し、決定キー１２ｄを押下する。すると、楽曲選択画面（図示せず）が表示されるので、操作者は、選択キー１２ａ，１２ｂにより曲を選択し、決定キー１２ｄを押下する。なお、表示部１５には、選択した曲の番号が表示される。操作者が曲を選択し確定すると、演奏を開始できる。
【００３７】
図８は、図１のテレビジョンモニタ８０のスクリーン８２に表示される操作ガイド画面の例示図である。操作者が、楽曲を選択して確定すると、図８に示すように、スクリーン８２には、操作ガイド画面が表示される。この操作ガイド画面の上枠の近傍には、操作者が選択した曲名が表示される。この例では、曲名として、曲Ａが表示されている。曲名の下段には、インジケータ１０３が表示される。このインジケータ１０３は、ＢＧＭ（ｂａｃｋｇｒｏｕｎｄ  ｍｕｓｉｃ）の進行状況を表す。すなわち、インジケータ１０３を構成する帯状の長方形の長さが、曲Ａ全体の時間的な長さを表す。そして、ＢＧＭの進行に従って、インジケータ１０３の色を特定の色に変化させていくことで、現在発音されているＢＧＭの時間的な位置を表す。このため、ＢＧＭの発音が進むに従って、インジケータ１０３において、特定の色に変化した部分の面積が増加し、曲Ａの最後には、インジケータ１０３の全てが特定の色に変化する。なお、図８では、特定の色を斜線で表している。
【００３８】
さらに、インジケータ１０３に重ねて、操作者の現在の操作位置を表す縦棒１０４が表示される。従って、操作者は、適切な操作位置に対して、どの程度ずれて操作しているかを把握できる。つまり、インジケータ１０３において、特定の色に変化した部分の先端（右端）が、現在の適切な操作位置であるため、この先端（右端）の位置と、操作者の現在の操作位置を表す縦棒１０４の位置と、を比較すれば、現在自分がどの程度ずれて操作しているかを把握できる。ここで言う操作位置とは、楽曲全体の時間を表す時間軸上の位置のことである。
【００３９】
また、インジケータ１０３の下段には、操作ガイドとして、音符マークｎ−０、…、ｎ−６、…、が表示される。ここで、音符マークｎ−０、…、ｎ−６、…、を包括的に表現する場合は、音符マークｎと表記する。
【００４０】
この音符マークｎは、スクリーン８２の右端に出現し、ＢＧＭのテンポに従って、左方向に移動し、スクリーンの左端に到達して消滅する。この音符マークｎが、操作指示枠１０１に入った時あるいは操作指示マーク１０２の真上に来たときに、操作者が摺動操作部材２を操作してトリガを発生させると、自動演奏装置は、ＢＧＭの進行に合った楽音を発生させる。
【００４１】
また、この音符マークｎの間隔は、選択した曲Ａの楽譜での音符の間隔を表している。従って、操作者は、この間隔を見ることで、摺動操作部材２の操作のタイミングを直感的に把握できる。ここで、摺動操作部材２の操作のタイミングとは、トリガを発生させるタイミングのことである。
【００４２】
さらに、音符マークｎに付随した発音長指示バー１００は、発音する長さを表している。従って、操作者は、この発音長指示バー１００を見ることで、ある音符に対応する楽音を発音してから、その発音を持続させる期間を直感的に把握できる。なお、音符マークｎ−１に付随する発音長指示バー１００は、次の音符マークｎ−２まで延びていない。これは、この発音長指示バー１００の終端（右端）に休符があることを示している。
【００４３】
さらに、操作者が摺動操作部材２を操作して、自動演奏装置が楽音を発生させると、発生させた楽音に対応する音符マークｎ及びその音符マークｎに付随する発音長指示バー１００の色が変化する。これにより、操作者は、自動演奏装置がトリガに応じて現在どの音符マークｎに対応した楽音を発生しているかを直感的に知ることができる。
【００４４】
トリガについて簡単に説明する。上記のように、操作者は、摺動操作部材２を操作してトリガを発生させる。すると、トリガが発生する度に、楽曲の一音一音が発音される。トリガは、摺動操作部材２の自動演奏装置本体１に対する相対的な速さ（本明細書において、「摺動速さ」と呼ぶ。）が、予め定められた閾値より大きくなり、かつ、摺動操作部材２の摺動方向が変化した場合に発生する。また、摺動操作部材４０の摺動速さに応じて、楽音の音量が制御される。
【００４５】
次に、図１の自動演奏装置による、摺動操作部材２の摺動速さに基づくゲーム処理について説明する。本実施の形態では、摺動操作部材２の摺動速さに基づくゲームとして、ランニングゲームを例に挙げる。操作者が、モード選択画面（図示せず）において、ゲームモードを選択すると、ゲーム選択画面が表示される。操作者は、選択キー１２ａ，１２ｂによりランニングゲームを選択し、決定キー１２ｄを押下する。これにより、ランニングゲームが開始される。
【００４６】
図９は、図１の自動演奏装置によるランニングゲーム画面の例示図である。図９に示すように、スクリーン８２に表示されるランニングゲーム画面は、キャラクタ７３、背景７４、タイム表示部７２、現在位置指示オブジェクト７１、マスク８８、及び、トータル距離指示バー７０、を含む。操作者による摺動操作部材２の摺動速さに応じて、キャラクタ７３の移動速さ（背景７４に対する相対的な速さ）が異なる。つまり、摺動速さが速いほど、キャラクタ７３は、速く進み（背景７４に対する相対的な速さが速くなり）、かつ、アニメーション速度も速くなり、摺動速さが遅いほど、キャラクタ７３は、遅く進み（背景７４に対する相対的な速さが遅くなり）、かつ、アニメーション速度も遅くなる。
【００４７】
このような画像の変化に加えて、摺動操作部材２によるトリガが発生するたびに、楽曲を構成する楽音が一音一音発音される。従って、操作者による摺動操作部材２の摺動操作が速いほど、楽音が速いテンポで発音され、摺動操作が遅いほど、楽音が遅いテンポで発音される。そして、楽曲を構成する全ての音符に対応する楽音が発音されたらゲーム終了となる。つまり、速いテンポでトリガを発生させると、早くゲームが終了し、タイムも短くなり、遅いテンポでトリガを発生させると、遅くゲームが終了し、タイムも長くなる。
【００４８】
トータル距離指示バー７０は、キャラクタ７３が走ることになるトータル距離を示す。現在位置指示オブジェクト７１は、キャラクタ７３の現在位置を、トータル距離指示バー７０上に示す。具体的には、トータル距離指示バー７０は、楽曲を構成する音符の数に比例した長さとなっており、現在位置指示オブジェクト７１は、一音符に対する楽音が発音されるたびに、１つ進む。また、タイム表示部７２には、キャラクタ７３のスタートから現在までのタイムが表示される。
【００４９】
次に、図１の自動演奏装置による、摺動操作部材２の摺動時間に基づくゲーム処理について説明する。本実施の形態では、摺動操作部材２の摺動時間に基づくゲームとして、飛行ゲームを例に挙げる。操作者が、ゲーム選択画面において、選択キー１２ａ，１２ｂにより飛行ゲームを選択し、決定キー１２ｄを押下する。これにより、飛行ゲームが開始される。
【００５０】
図１０は、図１の自動演奏装置による飛行ゲーム開始画面の例示図である。図１１は、図１の自動演奏装置による飛行ゲーム開始後の画面の例示図である。図１０に示すように、スクリーン８２に表示される飛行ゲーム開始画面は、キャラクタ７３、背景７４、入力通知バー７５、マスク８８、及び、風船オブジェクト７６、を含む。ゲーム開始に伴って、キャラクタ７３が走り出し、所定位置に到達したらジャンプして、風船オブジェクト７６につかまる。これと同時に、操作者は、摺動操作部材２の摺動を開始する。摺動開始に伴い、入力通知バー７５の色が変化する（図１１では斜線で示している。）。
【００５１】
そして、操作者が、摺動方向を変えることなく、継続的な摺動を行っている限り、図１１に示すように、風船オブジェクト７６につかまったキャラクタ７３は、飛行を続ける。そして、摺動操作部材２の摺動速さが一定値より小さくなったら、入力がなくなったとして（摺動終了として）、入力通知バー７５の色が元の色に戻り、かつ、風船オブジェクト７６につかまったキャラクタ７３が下降し始める。キャラクタ７３が着地したら、飛行距離が表示される。摺動方向を変えることなく行われた摺動時間が長いほど飛行距離は長くなり、短いほど飛行距離は短くなる。
【００５２】
次に、図１の自動演奏装置による、摺動操作部材２の摺動方向に基づくゲーム処理について説明する。本実施の形態では、摺動操作部材２の摺動方向に基づくゲームとして、キャッチゲームを例に挙げる。操作者が、ゲーム選択画面において、選択キー１２ａ，１２ｂによりキャッチゲームを選択し、決定キー１２ｄを押下する。これにより、キャッチゲームが開始される。
【００５３】
図１２は、図１の自動演奏装置によるキャッチゲーム画面の例示図である。図１２に示すように、スクリーン８２に表示されるキャッチゲーム画面は、キャラクタ７３、背景７４、落下オブジェクト７９、窓オブジェクト７７、及び、ライフオブジェクト７８、を含む。ゲーム開始に伴って、窓オブジェクト７７が開いて、そこから、落下オブジェクト７９が次々に落下してくる。操作者が、摺動操作部材２を、図２（ａ）の（＋）方向に摺動させると、キャラクタ７３が、図１２の（＋）方向に移動し、図２（ａ）の（−）方向に摺動させると、キャラクタ７３が、図１２の（−）方向に移動する。操作者は、摺動操作部材２により、キャラクタ７３の移動方向を操作して、落下オブジェクト７９が、地面に衝突する前に、落下オブジェクト７９をキャッチする。落下オブジェクト７９が、地面に衝突したら、ライフオブジェクト７８が１つ消滅する。全てのライフオブジェクトが消滅したら、ゲームオーバーとなる。
【００５４】
次に、自動演奏装置本体１の電気的な構成について説明する。図１３は、図１の自動演奏装置本体１の電気的な構成を示す図である。図１３に示すように、自動演奏装置本体１は、検知部３０、キースイッチ群１２０、ＡＶ端子１８、高速プロセッサ２００、外部ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）３００、及び、外部バス４００、を含む。キースイッチ群１２０は、決定キー１２ｄ、キャンセルキー１２ｃ、選択キー１２ａ，１２ｂ、及び、ビブラートスイッチ１２ｅ、を含む。検知部３０は、光センサユニット９０を含む。
【００５５】
高速プロセッサ２００には、外部バス４００が接続される。さらに、外部バス４００には、外部ＲＯＭ３００が接続される。従って、高速プロセッサ２００は、外部バス４００を介して、外部ＲＯＭ３００にアクセスすることができるので、外部ＲＯＭ３００に格納されたプログラムをリードして実行でき、また、外部ＲＯＭ３００に格納されたデータをリードして処理することができる。
【００５６】
また、高速プロセッサ２００は、外部バス４００を介して、自動演奏装置本体１のカートリッジソケット２３に装着されたメモリカートリッジ２９に内蔵される外部ＲＯＭ９１にアクセスできる。従って、高速プロセッサ２００は、外部バス４００を介して、外部ＲＯＭ９１にアクセスすることができるので、外部ＲＯＭ９１に格納されたプログラムをリードして実行でき、また、外部ＲＯＭ９１に格納されたデータをリードして処理することができる。
【００５７】
さらに、高速プロセッサ２００は、検知部３０のフォトトランジスタ３４，３５（図６参照）からのパルス信号Ａ，Ｂを受けて、摺動操作部材２の摺動速さ、摺動方向及び摺動時間を求める。また、高速プロセッサ２００は、キースイッチ群１２０の各キー１２ａ〜１２ｅからのオン／オフ信号を受けて、各キー１２ａ〜１２ｅにより指示された処理を実行する。
【００５８】
図１４は、図１３の高速プロセッサ２００のブロック図である。図１４に示すように、この高速プロセッサ２００は、中央演算処理装置（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）２０１、グラフィックプロセッサ２０２、サウンドプロセッサ２０３、ＤＭＡ（ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ）コントローラ２０４、第１バス調停回路２０５、第２バス調停回路２０６、内部メモリ２０７、Ａ／Ｄコンバータ（ＡＤＣ：ａｎａｌｏｇ  ｔｏ  ｄｉｇｉｔａｌ  ｃｏｎｖｅｒｔｅｒ）２０８、入出力制御回路２０９、タイマ回路２１０、ＤＲＡＭ（ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）リフレッシュ制御回路２１１、外部メモリインタフェース回路２１２、クロックドライバ２１３、ＰＬＬ（ｐｈａｓｅ−ｌｏｃｋｅｄ  ｌｏｏｐ）回路２１４、低電圧検出回路２１５、第１バス２１８、及び、第２バス２１９、を含む。
【００５９】
ＣＰＵ２０１は、メモリ（内部メモリ２０７、外部ＲＯＭ３００、又は、外部ＲＯＭ９１）に格納されたプログラムに従い、各種演算やシステム全体の制御を行う。ＣＰＵ２０１は、第１バス２１８及び第２バス２１９のバスマスタであり、それぞれのバスに接続された資源にアクセスが可能である。
【００６０】
グラフィックプロセッサ２０２は、第１バス２１８及び第２バス２１９のバスマスタであり、メモリ（内部メモリ２０７、外部ＲＯＭ３００、又は、外部ＲＯＭ９１）に格納されたデータを基に、画像信号ＶＤを生成して、ＡＶ端子１８へ出力する。グラフィックプロセッサ２０２は、第１バス２１８を通じて、ＣＰＵ２０１により制御される。また、グラフィックプロセッサ２０２は、ＣＰＵ２０１に対して、割込み要求信号２２０を発生する機能を有する。
【００６１】
サウンドプロセッサ２０３は、第１バス２１８及び第２バス２１９のバスマスタであり、メモリ（内部メモリ２０７、外部ＲＯＭ３００、又は、外部ＲＯＭ９１）に格納されたデータを基に、音声信号ＡＬ，ＡＲを生成して、ＡＶ端子１８へ出力する。サウンドプロセッサ２０３は、第１バス２１８を通じて、ＣＰＵ２０１により制御される。また、サウンドプロセッサ２０３は、ＣＰＵ２０１に対して、割込み要求信号２２０を発生する機能を有する。
【００６２】
ＤＭＡコントローラ２０４は、外部ＲＯＭ３００又は外部ＲＯＭ９１から、内部メモリ２０７へのデータ転送を司る。また、ＤＭＡコントローラ２０４は、データ転送の完了を通知するために、ＣＰＵ２０１に対する割込み要求信号２２０を発生する機能を有する。ＤＭＡコントローラ２０４は、第１バス２１８及び第２バス２１９のバスマスタである。ＤＭＡコントローラ２０４は、第１バス２１８を通じてＣＰＵ２０１により制御される。
【００６３】
内部メモリ２０７は、マスクＲＯＭ、ＳＲＡＭ（ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、及び、ＤＲＡＭのうち、必要なものを備える。バッテリによるＳＲＡＭのデータ保持が必要とされる場合、バッテリ２１７が必要となる。ＤＲＡＭが搭載される場合、定期的にリフレッシュと呼ばれる記憶内容保持のための動作が必要とされる。
【００６４】
第１バス調停回路２０５は、第１バス２１８の各バスマスタからの第１バス使用要求信号を受け付け、調停を行い、各バスマスタへの第１バス使用許可信号を発行する。各バスマスタは、第１バス使用許可信号を受領することによって第１バス２１８に対するアクセスが許可される。ここで、第１バス使用要求信号及び第１バス使用許可信号は、図１４では、第１バス調停信号２２２として示されている。
【００６５】
第２バス調停回路２０６は、第２バス２１９の各バスマスタからの第２バス使用要求信号を受け付け、調停を行い、各バスマスタへの第２バス使用許可信号を発行する。各バスマスタは、第２バス使用許可信号を受領することによって第２バス２１９に対するアクセスが許可される。ここで、第２バス使用要求信号及び第２バス使用許可信号は、図１４では、第２バス調停信号２２３として示されている。
【００６６】
入出力制御回路２０９は、外部入出力装置や外部の半導体素子との通信等を入出力信号を介して行う。入出力信号は、第１バス２１８を介して、ＣＰＵ２０１からリード／ライトされる。また、入出力制御回路２０９は、ＣＰＵ２０１に対して、割込み要求信号２２０を発生する機能を有する。
【００６７】
この入出力制御回路２０９へ、検知部３０からのパルス信号Ａ，Ｂ、及び、キースイッチ群１２０の各キー１２ａ〜１２ｅからのオン／オフ信号、が入力される。
【００６８】
タイマ回路２１０は、設定された時間間隔に基づき、ＣＰＵ２０１に対する割込み要求信号２２０を発生する機能を有する。時間間隔等の設定は、第１バス２１８を介してＣＰＵ２０１によって行われる。
【００６９】
ＡＤＣ２０８は、アナログ入力信号をデジタル信号に変換する。このデジタル信号は、第１バス２１８を介してＣＰＵ２０１によってリードされる。また、ＡＤＣ２０８は、ＣＰＵ２０１に対して、割込み要求信号２２０を発生する機能を有する。
【００７０】
ＰＬＬ回路２１４は、水晶振動子２１６より得られる正弦波信号を逓倍した高周波クロック信号を生成する。
【００７１】
クロックドライバ２１３は、ＰＬＬ回路２１４より受け取った高周波クロック信号を、各ブロックへクロック信号２２５を供給するのに十分な信号強度へ増幅する。
【００７２】
低電圧検出回路２１５は、電源電圧Ｖｃｃを監視し、電源電圧Ｖｃｃが一定電圧以下のときに、ＰＬＬ回路２１４のリセット信号２２６、その他のシステム全体のリセット信号２２７を発行する。また、内部メモリ２０７がＳＲＡＭで構成されており、かつ、ＳＲＡＭのバッテリ２１７によるデータ保持が要求される場合、電源電圧Ｖｃｃが一定電圧以下のときに、バッテリバックアップ制御信号２２４を発行する機能を有する。
【００７３】
外部メモリインタフェース回路２１２は、第２バス２１９を外部バス４００に接続するための機能、及び、第２バス２１９のサイクル終了信号２２８を発行することにより、第２バスのバスサイクル長を制御する機能、を有する。
【００７４】
ＤＲＡＭリフレッシュ制御回路２１１は、一定期間毎に第１バス２１８の使用権を無条件に獲得し、ＤＲＡＭのリフレッシュ動作を行う。なお、ＤＲＡＭリフレッシュ制御回路２１１は、内部メモリ２０７がＤＲＡＭを含む場合に設けられる。
【００７５】
次に、摺動操作部材２の摺動速さ、及び、摺動操作部材２の摺動方向、を求める方法を詳細に説明する。
【００７６】
図１５は、図５（ａ）の光センサユニット９０の光ファイバ９１，９２の配置と、摺動操作部材２の反射パターン４３と、の関係を示す図である。図１５に示すように、摺動操作部材２の反射パターン４３において、光反射部４５の幅及び光吸収部４４の幅の合計距離をＬとする。この場合、光ファイバ９１の露出端と光ファイバ９２の露出端とを、Ｌ／４だけ離して配置する。ここで、露出端とは、光ファイバ９１，９２の先端であって、被摺動部３３の内面側に露出している先端である。
【００７７】
フォトトランジスタ３４，３５は、発光ダイオード３６により発光され、反射パターン４３で反射された赤外光を、光ファイバ９１，９２を介して受光する。反射パターン４３は、光反射部４５及び光吸収部４４を交互に配置して形成されるため、摺動操作部材２が操作されると、フォトトランジスタ３４，３５には、間欠的に赤外光が入射することになる。従って、摺動操作部材２が操作されると、フォトトランジスタ３４，３５は、摺動操作部材２の摺動速さに応じた周波数のパルス信号Ａ，Ｂを出力する。つまり、摺動操作部材２の摺動速さが大きいほど、フォトトランジスタ３４，３５が出力するパルス信号Ａ，Ｂの周波数は高くなり、一方、摺動操作部材２の摺動速さが小さいほど、フォトトランジスタ３４，３５が出力するパルス信号Ａ，Ｂの周波数は低くなる。
【００７８】
フォトトランジスタ３４に赤外光を導く光ファイバ９１とフォトトランジスタ３５に赤外光を導く光ファイバ９２とは、Ｌ／４だけ離して配置されているため、フォトトランジスタ３４が出力するパルス信号Ａとフォトトランジスタ３５が出力するパルス信号Ｂとの位相差は、摺動操作部材２の摺動方向によって、（９０度）あるいは（−９０度）になる。この点を詳細に説明する。
【００７９】
図１６（ａ）は、図２（ａ）の（＋）方向に摺動操作部材２を摺動させたときの、フォトトランジスタ３４，３５が出力するパルスＡ，Ｂ信号を示す図である。図１６（ｂ）は、図２（ａ）の（−）方向に摺動操作部材２を摺動させたときの、フォトトランジスタ３４，３５が出力するパルス信号Ａ，Ｂを示す図である。なお、図１６（ａ）（ｂ）においては、説明の便宜のため、摺動操作部材２が一定の速さで操作された場合のパルス信号を示している。
【００８０】
図１６（ａ）（ｂ）に示すように、フォトトランジスタ３４が出力するパルス信号Ａとフォトトランジスタ３５が出力するパルス信号Ｂとの位相差は、それぞれ（９０度）及び（−９０度）になっている。そこで、摺動操作部材２が（＋）方向に操作された場合と（−）方向に操作された場合とでは、パルス信号Ａ，Ｂの状態遷移の方向が異なる。この点を詳しく説明する。
【００８１】
図１７は、フォトトランジスタ３４，３５が出力するパルス信号Ａ，Ｂの状態遷移を示す図である。摺動操作部材２が図２（ａ）の（＋）方向に操作される場合は（図１６（ａ）に対応）、パルス信号Ａ，Ｂの状態は、時計回りに遷移する（（＋）方向遷移と呼ぶ。）。一方、摺動操作部材２が図２（ａ）の（−）方向に操作される場合は（図１６（ｂ）に対応）、パルス信号Ａ，Ｂの状態は、半時計回りに遷移する（（−）方向遷移と呼ぶ。）。
【００８２】
このような状態遷移を検知することで、摺動操作部材２の摺動方向を求めることができる。つまり、パルス信号Ａ，Ｂの状態遷移が、（＋）方向遷移である場合は、摺動操作部材２が図２（ａ）の（＋）方向に動いていることを意味し、パルス信号Ａ，Ｂの状態遷移が、（−）方向遷移である場合は、摺動操作部材２が図２（ａ）の（−）方向に動いていることを意味する。この状態遷移の検出は、ハードウエアにより行うこともできるが、本実施の形態では、ソフトウエアにより行う例を挙げる。この点は、後述する。
【００８３】
図１８は、自動演奏装置本体１に内蔵される検知部３０の回路図である。図１８に示すように、この検知部３０は、発光ダイオード３６、抵抗素子５７、及び、検知回路２５２，２５５、を含む。検知回路２５２は、フォトトランジスタ３４、抵抗素子５２、電解コンデンサ５５、アンプ２５４、及び、ヒステリシス回路２５３、を含む。検知回路２５５は、フォトトランジスタ３５、電解コンデンサ５５、アンプ２５４、及び、ヒステリシス回路２５３、を含む。アンプ２５４は、抵抗素子５１，５６、コンデンサ３８、及び、インバータ５３を含む。ヒステリシス回路２５３は、抵抗素子３７，５４およびインバータ２５０，２５１を含む。
【００８４】
抵抗素子５７と発光ダイオード３６とは、電源Ｖｃｃと接地ＧＮＤとの間に直列に接続される。フォトトランジスタ３４と抵抗素子５２とは、電源Ｖｃｃと接地ＧＮＤとの間に直列に接続される。フォトトランジスタ３４及び抵抗素子５２の接続点と、インバータ５３の入力端と、の間には、抵抗素子５６及び電解コンデンサ５５が直列に接続される。インバータ５３の入力端と出力端との間には、コンデンサ３８及び抵抗素子５１が並列に接続される。抵抗素子５４の一方端は、インバータ５３の出力端に接続され、他方端は、インバータ２５１の入力端に接続される。インバータ２５０の出力端は、インバータ２５１の入力端に接続され、インバータ２５１の入力端とインバータ２５０の出力端との間には、抵抗素子３７が接続される。
【００８５】
アンプ２５４は、負帰還増幅回路であり、フォトトランジスタ３４からの電気信号を増幅する。また、このアンプ２５４は、ローパスフィルタとしても機能し、高周波成分を除去する。ヒステリシス回路２５３は、正帰還回路であり、抵抗素子３７と抵抗素子５４との比で決まる不感帯をつくって、一定の電圧範囲で出力が反転しないようにしている。
【００８６】
一方、検知回路２５５は、フォトトランジスタ３５、抵抗素子５２、電解コンデンサ５５、アンプ２５４、及び、ヒステリシス回路２５３、を含む。接続関係は、検知回路２５５も検知回路２５２と同様であるため、説明を省略する。また、検知回路２５５のアンプ２５４及びヒステリシス回路２５３も、検知回路２５２のものと同様の動作をするので説明を省略する。
【００８７】
さて、図１９は、図１３の外部ＲＯＭ３００に格納されるプログラム及びデータの概念図である。図１９に示すように、外部ＲＯＭ３００には、プログラム３０１、画像データ３０４、及び、楽曲データ３０７が格納される。画像データ３０４は、オブジェクト画像データ３０５及び背景画像データ３０６を含む。楽曲データ３０７は、楽譜データ３０８及び音源データ３０９を含む。
【００８８】
外部ＲＯＭ３００に格納されたプログラム３０１及びデータ３０４，３０７を、メモリカートリッジ２９のＲＯＭ９１に格納して、このメモリカートリッジ２９を、ソケット２３に装着することで、これらのプログラム３０１及びデータ３０４，３０７を利用するようにすることもできる。
【００８９】
図１３の高速プロセッサ２００は、外部ＲＯＭ３００あるいは外部ＲＯＭ９１に格納されたプログラム３０１をロードして実行し、画像データ３０４に応じた画像信号ＶＤを生成するとともに、楽曲データ３０７に応じた音声信号ＡＬ，ＡＲを生成する。
【００９０】
その結果、図８〜図１２に示すように、高速プロセッサ２００によって、スクリーン８２には、背景７４、及び、音符マークｎやキャラクタ７３等のオブジェクトが表示される。スクリーン８２のサイズは、例えば、横２５６画素×縦２２４画素とする。また、オブジェクトは、単数又は複数のスプライトにより構成される。このスプライトは、矩形の画素集合である。例えば、スプライトは、（横８画素×縦８画素）や（横１６画素×縦１６画素）などからなる。なお、スプライトは、スクリーン８２の任意の位置に配置することができる。
【００９１】
図２０は、オブジェクトを構成するスプライトの説明図である。図２０に示すように、このオブジェクトは、４個のスプライトｓｐ１〜ｓｐ４から構成される。このようなオブジェクトを表示するためのオブジェクト画像データ３０５が、外部ＲＯＭ３００あるいは外部ＲＯＭ９１に格納されている。具体的には、オブジェクト画像データ３０５は、オブジェクトの、水平座標（左上のスプライトの中心の水平座標）、垂直座標（左上のスプライトの中心の垂直座標）、サイズ、各スプライトｓｐ１〜ｓｐ４の、サイズ、カラーパレット情報、画素パターンデータ、デプス値、及び、その他画像生成に必要な情報を含む。
【００９２】
ここで、カラーパレット情報は、複数のカラーパレットのうちの１つを指定する情報である。カラーパレットは、所定数の色情報からなる。画素パターンデータは、スプライトを構成する各画素の色を指定する情報である。従って、画素パターンデータによって、カラーパレット情報により指定されたカラーパレット中の色情報が指定される。デプス値は、画素の奥行きを表す情報であり、同じ位置に、複数の画素が存在することとなる場合、最も大きなデプス値を持つ画素だけが表示されることになる。
【００９３】
次に、背景７４のスクロールについて説明する。まず、バックグラウンドスクリーンについて説明する。図２１は、図１のテレビジョンモニタ８０のスクリーン８２に表示されるバックグラウンドスクリーン３０２の説明図である。図２１に示すように、バックグラウンドスクリーン３０２は、例えば、３２個×３２個のブロック「０」〜ブロック「１０２３」により構成される。ブロック「０」〜ブロック「１０２３」の各々は、例えば、８画素×８画素からなる矩形要素である。ブロック「０」〜ブロック「１０２３」に対応して、配列ＰＡ［０］〜配列ＰＡ［１０２３］及び配列ＣＡ［０］〜配列ＣＡ［１０２３］が用意される。ここで、ブロック「０」〜ブロック「１０２３」を包括して表現するときは、単に「ブロック」と表記し、配列ＰＡ［０］〜配列ＰＡ［１０２３］を包括して表現するときは、「配列ＰＡ」と表記し、配列ＣＡ［０］〜配列ＣＡ［１０２３］を包括して表現するときは、「配列ＣＡ」と表記する。
【００９４】
配列ＰＡには、対応するブロックの画素パターンを指定するデータ（画素パターンデータ）の格納位置情報が代入される。この場合の画素パターンデータは、ブロックを構成する８画素×８画素の各画素の色を指定する情報である。また、配列ＣＡには、対応するブロックのためのカラーパレット情報及びデプス値が代入される。
【００９５】
図２２（ａ）は、バックグラウンドスクリーン３０２をスクロールする前の説明図、図２２（ｂ）は、バックグラウンドスクリーン３０２をスクロールした後の説明図、である。図２２（ａ）に示すように、スクリーン８２のサイズは、横２５６画素×縦２２４画素であるため、バックグラウンドスクリーン３０２のうち、横２５６画素×縦２２４画素の範囲がスクリーン８２に表示される。ここで、バックグラウンドスクリーン３０２の中心をスクリーン８２上でｋ画素だけ左に移動することを考える。そうすると、バックグラウンドスクリーン３０２の横方向（水平方向）の幅が、スクリーン８２の横方向の幅と同じであるため、図２２（ｂ）に示すように、スクリーン８２の範囲外となった部分（斜線部分）が、スクリーン８２の右端に表示される。つまり、概念的には、横方向にスクロールをする場合は、同じ複数のバックグラウンドスクリーン３０２が横方向に連なっていると考えることができる。
【００９６】
例えば、スクリーン８２の範囲外となった部分（斜線部分）が、図２１のブロック「６４」，ブロック「９６」，…，ブロック「８９６」，ブロック「９２８」とすると、これらのブロックに対応する配列ＰＡ［６４］，…ＰＡ［９２８］及び配列ＣＡ［６４］，…ＣＡ［９２８］によって定まる画像が、スクリーン８２の右端に表示される。従って、バックグラウンドスクリーン３０２の左スクロールにより、背景が連続的に連なるようにするには、スクリーン８２の範囲外となった部分（斜線部分）に含まれるブロックに対応する配列ＰＡ及び配列ＣＡに代入されたデータを更新する必要がある。そうすれば、更新された配列ＰＡ及び配列ＣＡによって定まる画像が、スクリーン８２の右端に表示される。
【００９７】
背景７４を滑らかに連続するように見せるためには、スクリーン８２の右端に表示される前に、該当する配列ＰＡ及び配列ＣＡのデータを更新する必要がある。そうすると、スクリーン８２の左端に表示中のときに、該当する配列ＰＡ及び配列ＣＡのデータを更新する必要が生じ、スクリーン８２の左端の表示が不連続なものとなる。従って、このような不都合を回避するため、図９〜図１１に示すように、スクリーン８２の左端にマスク８８をする。なお、本実施形態では、右方向へのスクロールは行わないが、バランスをとるため、右端にもマスク８８をしている。
【００９８】
以上のように、バックグラウンドスクリーン３０２の中心をスクリーン８２上で移動させることにより、背景７４をスクロールさせる。なお、背景７４を表示するための背景画像データ３０６が、外部ＲＯＭ３００あるいは外部ＲＯＭ９１に格納されている。具体的には、背景画像データ３０６は、バックグラウンドスクリーン３０２を構成する各ブロックの画素パターンデータ、及びその他画像生成に必要な情報を含む。
【００９９】
次に、グラフィックプロセッサ２０２による処理（画像信号ＶＤの生成処理）の詳細を説明する。図２３は、図１４のグラフィックプロセッサ２０２のブロック図である。図２３に示すように、グラフィックプロセサ２０２は、制御回路４５０、スプライトメモリ４５１、画素バッファ４５２、及び、カラーパレット４５３、を含む。カラーパレット４５３は、複数の上記カラーパレットからなる。
【０１００】
ＣＰＵ２０１は、表示すべきスプライトの、水平座標、垂直座標、デプス値、サイズ、カラーパレット情報、及び、画素パターンデータ格納位置情報を、垂直ブランキング期間に、グラフィックプロセッサ２０２のスプライトメモリ４５１に書き込む。
【０１０１】
そして、制御回路４５０は、スプライトメモリ４５１に格納された情報に従って、画素バッファ４５２に、スプライトの画素パターンデータ及びデプス値を書き込んでいく。なお、画素パターンデータは、スプライトメモリ４５１の画素パターンデータ格納位置情報に基づいて、制御回路４５０が、外部ＲＯＭ３００あるいは外部ＲＯＭ９１から読み出す。
【０１０２】
また、制御回路４５０は、内部メモリ２０７にアクセスして、配列ＰＡの情報に基づいて、外部ＲＯＭ３００あるいは外部ＲＯＭ９１から、バックグラウンドスクリーン３０２の各ブロックの画素パターンデータを読み出すとともに、配列ＣＡの情報を読み込む。そして、画素バッファ４５２に、バックグラウンドスクリーン３０２の画素パターンデータ及びデプス値を書き込んでいく。
【０１０３】
ただし、制御回路４５０は、同じ位置に画素が重なる場合は、デプス値の大きいスプライト又はブロックの画素パターンデータ及びデプス値を画素バッファ４５２に書き込む。
【０１０４】
ここで、画素バッファ４５２は、スクリーン８２に表示される画像（横２５６画素×縦２２４画素）の横一列を構成する２５６画素よりも少ない数の画素バッファ単位で構成される。この画素バッファ単位は、１画素分のデプス値及び画素パターンデータを保持する。なお、１画素分のデプス値及び画素パターンデータを総括して、画素情報と呼ぶ。
【０１０５】
より詳細には、制御回路４５０は、走査位置を末尾とし、該走査位置から画素バッファ４５２の容量分先が先頭となるように、画素情報を各画素バッファ単位に順次的に格納する。そして、制御回路４５０は、走査位置が移動したときに、末尾の画素情報格納位置が先頭の画素情報格納位置に来るように、画素バッファ単位を巡回させて切り換える。
【０１０６】
制御回路４５０は、画素バッファ４５２から画素情報を読み出して（走査して）、読み出した画素情報の画素パターンデータにより指定された、カラーパレット４５３のカラーパレットから、色相（Ｈｕｅ）、彩度（Ｓａｔｕｒａｔｉｏｎ）、および明度（Ｂｒｉｇｈｔｎｅｓｓ）の情報を取得して、コンポジット信号を生成し、画像信号ＶＤとして出力する。
【０１０７】
次に、サウンドプロセッサ２０３による処理（音声信号ＡＬ，ＡＲの生成処理）の詳細を説明する。図２４は、図１４のサウンドプロセッサ２０３のブロック図である。図２４に示すように、サウンドプロセッサ２０３は、制御回路２７０、ＤＡＣブロック２７１、及び、ローカルメモリ２７２、を含む。
【０１０８】
図２５は、図２４のＤＡＣブロック２７１のブロック図である。図２５に示すように、ＤＡＣブロック２７１は、メインボリュームＤＡＣ（ＭＶＤＡＣ）２７５、Ｍ（Ｍは自然数）個のチャンネルブロック２８３， ２８３´，…、及び、ミキシング回路２８１，２８２を含む。チャンネルブロック２８３， ２８３´，…、はそれぞれ、チャンネルボリュームＤＡＣ（ＣＶＤＡＣ）２７６、エンベロープ（Ｌ）ＤＡＣ（ＥＶＬＤＡＣ）２７７、エンベロープ（Ｒ）ＤＡＣ（ＥＶＲＤＡＣ）２７９、波形ＤＡＣ（ＷＶＤＡＣ）２７８、及び、波形ＤＡＣ（ＷＶＤＡＣ）２８０を含む。この場合、チャンネルブロック２８３，２８３´，…、の各々が、Ｎ個（Ｎは２以上の整数）のチャンネルを処理できるとすると、全体でＭ × Ｎ個のチャンネルの処理が可能である。例えば、Ｍ＝４、Ｎ＝４として、１６チャンネルが処理できる。ここで、チャンネルブロック２８３， ２８３´，…、を包括して表現するときは、チャンネルブロック２８３０と表記する。
【０１０９】
図２５に示すように、ＭＶＤＡＣ２７５、ＣＶＤＡＣ２７６、ＥＶＬＤＡＣ２７７、及び、ＷＶＤＡＣ２７８は、カスケード接続される。同様に、ＭＶＤＡＣ２７５、ＣＶＤＡＣ２７６、ＥＶＲＤＡＣ２７９、及び、ＷＶＤＡＣ２８０は、カスケード接続される。以上のように、複数のＤＡＣ（Ｄ／Ａコンバータ：ｄｉｇｉｔａｌ  ｔｏ  ａｎａｌｏｇ  ｃｏｎｖｅｒｔｅｒ）をカスケード接続することで、アナログ乗算回路を構成する。
【０１１０】
ＭＶＤＡＣ２７５には、制御回路２０３から、音声信号全体のボリュームを制御するためのメインボリュームデータＭＶが入力される。ＭＶＤＡＣ２７５は、入力されたメインボリュームデータＭＶをアナログ信号に変換し、その変換信号をＣＶＤＡＣ２７６へ出力する。
【０１１１】
チャンネルブロック２８３， ２８３´，…、のＣＶＤＡＣ２７６には、制御回路２７０から、チャンネルボリュームデータＣＶ，ＣＶ´，…、が入力される。なお、チャンネルボリュームデータＣＶ，ＣＶ´，…、の各々は、Ｎ組（Ｎは２以上の整数）のチャンネルのチャンネルボリュームデータが時分割多重されたものである。このチャンネルボリュームデータは、対応するチャンネルのボリュームを制御するデータである。ここで、チャンネルボリュームデータＣＶ，ＣＶ´，…、を包括的に表現するときは、チャンネルボリュームデータＣＶ０と表記する。なお、チャンネルボリュームデータＣＶ０は、デジタル信号である。
【０１１２】
ＣＶＤＡＣ２７６０は、入力されたチャンネルボリュームデータＣＶ０と、ＭＶＤＡＣ２７５から入力された変換信号（アナログ信号）と、を乗算し、乗算信号（アナログ信号）を、ＥＶＬＤＡＣ２７７及びＥＶＲＤＡＣ２７９に出力する。
【０１１３】
ここで、チャンネルボリュームデータは、制御回路２７０が、内部メモリ２０７から読み出して、ローカルメモリ２７２に格納したものである。
【０１１４】
チャンネルブロック２８３， ２８３´，…、のＥＶＬＤＡＣ２７７には、制御回路２７０から、エンベロープデータＥＶＬ， ＥＶＬ´，…、が入力される。なお、エンベロープデータＥＶＬ， ＥＶＬ´，…、の各々は、Ｎ組のチャンネルのエンベロープデータが時分割多重されたものである。このエンベロープデータは、対応するチャンネルの左チャンネルのエンベロープを制御するデータである。ここで、エンベロープデータＥＶＬ， ＥＶＬ´，…、を包括的に表現するときは、エンベロープデータＥＶＬ０と表記する。なお、エンベロープデータＥＶＬ０は、デジタル信号である。
【０１１５】
ＥＶＬＤＡＣ２７７は、入力されたエンベロープデータＥＶＬ０と、ＣＶＤＡＣ２７６から入力された乗算信号（アナログ信号）と、を乗算し、乗算信号（アナログ信号）を、ＷＶＤＡＣ２７８に出力する。
【０１１６】
ここで、エンベロープデータは、制御回路２７０が、ＲＯＭ９１あるいはＲＯＭ３００から読み出して、ローカルメモリ２７２に格納したものである。従って、制御回路２７０は、エンベロープピッチ制御情報に基づくアドレスポインタをインクリメントしながら、エンベロープデータをローカルメモリ２７２から順次読み出し、多重化して、ＤＡＣブロック２７１へ与える。
【０１１７】
チャンネルブロック２８３， ２８３´，…、のＷＶＤＡＣ２７８には、制御回路２７０から、波形データＷＶ，ＷＶ´，…、が入力される。なお、波形データＷＶ，ＷＶ´，…、の各々は、Ｎ組のチャンネルの波形データが時分割多重されたものである。ここで、波形データＷＶ，ＷＶ´，…、を包括的に表現するときは、波形データＷＶ０と表記する。なお、波形データＷＶ０は、デジタル信号である。
【０１１８】
ＷＶＤＡＣ２７８は、入力された波形データＷＶＬ０と、ＥＶＬＤＡＣ２７７から入力された乗算信号（アナログ信号）と、を乗算し、乗算信号（アナログ信号）を、ミキシング回路２８１に出力する。この乗算信号が、アナログ音声信号となる。
【０１１９】
ここで、波形データは、制御回路２７０が、ＲＯＭ９１あるいはＲＯＭ３００から読み出したデータである。つまり、制御回路２７０は、ローカルメモリ２７２に書き込んだ、波形データの先頭アドレス情報に従って、ＲＯＭ３００から波形データを読み出し、ローカルメモリ２７２に一旦格納する。そして、制御回路２７０は、波形ピッチ制御情報に基づくアドレスポインタをインクリメントしながら、波形データをローカルメモリ２７２から読み出し、多重化してＷＶＤＡＣ２７８へ与える。
【０１２０】
ミキシング回路２８１は、チャンネルブロック２８３，２８３´，…、のそれぞれが出力するアナログ音声信号をミキシングして、左チャンネルの音声信号ＡＬを出力する。左チャンネルの音声信号ＡＬを生成する場合と同様にして、ＥＶＲＤＡＣ２７９、ＷＶＤＡＣ２８０、及び、ミキシング回路２８２により、右チャンネルの音声信号ＡＲが生成される。
【０１２１】
ここで、ピッチ制御情報について説明しておく。ピッチ制御情報は、波形データやエンベロープデータを読み出す周期を変えることによって行われるピッチ変換に用いられる。つまり、サウンドプロセッサ２０３は、ピッチ制御情報を一定期間毎に読み出して累算する。そして、サウンドプロセッサ２０３は、この累算結果を加工して、波形データやエンベロープデータのアドレスポインタとする。よって、ピッチ制御情報に大きな値が設定されれば、アドレスポインタのインクリメントは早く行われ、周波数が高くなり、ピッチ制御情報に小さな値が設定されれば、アドレスポインタのインクリメントは遅く行われ、周波数が低くなる。このようにして、サウンドプロセッサ２０３は、波形データやエンベロープデータのピッチ変換を行う。なお、上記のように、波形データのピッチ制御情報を波形ピッチ制御情報と呼び、エンベロープデータのピッチ制御情報をエンベロープピッチ制御情報と呼ぶ。
【０１２２】
次に、図１の自動演奏装置の全体の処理の流れをフローチャートを用いて説明する。まず、摺動操作部材２の摺動速さに基づくゲーム処理（図９のランニングゲーム処理）について説明する。
【０１２３】
図２６は、図１の自動演奏装置によるランニングゲーム処理の流れを示すフローチャートである。図２６に示すように、ステップＳ１にて、ＣＰＵ２０１は、システムの初期設定を実行する。ステップＳ２にて、ＣＰＵ２０１は、音楽が終了したか否かをチェックして、音楽が終了したならば、処理を終了し、音楽が継続中であれば、ステップＳ３に進む。
【０１２４】
ステップＳ３にて、ＣＰＵ２０１は、操作者による摺動操作部材２の操作が、トリガの発生条件を満足したか否かをチェックする。ステップＳ４にて、ＣＰＵ２０１は、摺動操作部材２の摺動速さに基づいて、キャラクタ７３の位置を制御する。ステップＳ５にて、ＣＰＵ２０１は、摺動操作部材２の摺動速さに基づいて、キャラクタ７３のアニメーションを制御する。ステップＳ６にて、ＣＰＵ２０１は、摺動操作部材２の摺動操作により発生したトリガに基づいて、現在位置指示オブジェクト７１の位置を制御する。ステップＳ７にて、ＣＰＵ２０１は、キャラクタ７３の現在のタイムを算出する。
【０１２５】
ステップＳ８にて、ＣＰＵ２０１は、ビデオ同期の割込み待ちかどうかを判断する。ビデオ同期の割込み待ちであれば（ビデオ同期信号による割り込みがなければ）、同じステップＳ８に戻る。一方、ビデオ同期の割込み待ちでなければ（ビデオ同期信号による割り込みがあれば）、ステップＳ９に進む。ステップＳ９にて、ＣＰＵ２０１の指示を受けたグラフィックプロセッサ２０２は、テレビジョンモニタ８０の表示画像を更新する。ステップＳ１０にて、ＣＰＵ２０１は、サウンドプロセッサ２０３による音声信号ＡＬ，ＡＲの生成に必要な情報を内部メモリ２０７にセットする。サウンドプロセッサ２０３は、それらの情報を基に、音声信号ＡＬ，ＡＲを生成する。このように、ステップＳ９の表示画像更新処理およびステップＳ１０の音声処理は、ビデオ同期信号に同期して実行される。なお、ビデオ同期信号による割り込みは、１フレーム毎に行われる。
【０１２６】
ステップＳ１１のパルスカウント処理は、タイマ回路２１０による割り込みが発生したときに、ＣＰＵ２０１により実行される。このパルスカウント処理は、フォトトランジスタ３４，３５（図１８参照）が出力するパルス信号Ａ，Ｂの状態遷移をカウントする処理である。
【０１２７】
図２７は、図２６のステップＳ１の初期設定処理の流れを示すフローチャートである。図２７に示すように、ステップＳ２０にて、ＣＰＵ２０１は、楽譜データポインタを初期化する。楽譜データポインタは、楽譜データ３０８の読み出し位置を示すポインタである。ステップＳ２１にて、ＣＰＵ２０１は、トリガカウンタＣｔを「０」にセットする。トリガカウンタは、トリガの発生回数をカウントする。ステップＳ２２にて、ＣＰＵ２０１は、リリースカウンタＣｒを「０」にセットする。リリースカウンタは、摺動操作部材２の摺動速さが、連続して「０」になった回数をカウントする。ステップＳ２３にて、ＣＰＵ２０１は、速度カウンタＣｖを「０」にセットする。速度カウンタは、フォトトランジスタ３４，３５が出力するパルス信号Ａ，Ｂの状態遷移をカウントする。ステップＳ２４にて、ＣＰＵ２０１は、各種フラグを初期化する。ステップＳ２５にて、ＣＰＵ２０１は、タイマ回路２１０をステップＳ１１のパルスカウントのための割込み源としてセットする。この場合、フォトトランジスタ３４からのパルス信号Ａあるいはフォトトランジスタ３５からのパルス信号Ｂの、想定される最も短いハイレベル期間あるいはローレベル期間より短い間隔で、割り込みが発生するように、タイマ回路２１０がセットされる。
【０１２８】
図２８は、図２６のステップＳ１１のパルスカウント処理の流れを示すフローチャートである。図２８に示すように、ステップＳ３０にて、ＣＰＵ２０１は、入出力制御回路２０９を介して、入出力ポートＩＯ０及びＩＯ１の値を読み込む。ここで、入出力ポートＩＯ０には、フォトトランジスタ３４からパルス信号Ａが入力される。入出力ポートＩＯ１には、フォトトランジスタ３５からパルス信号Ｂが入力される。
【０１２９】
ステップＳ３１にて、ＣＰＵ２０１は、入出力ポートＩＯ０の値がハイレベルであり、かつ、入出力ポートＩＯ１の値がローレベルであるときは、入出力ポートＩＯ０，ＩＯ１の状態情報を「０」として、ステップＳ３４に進み、それ以外のときは、ステップＳ３２に進む。ステップＳ３２にて、ＣＰＵ２０１は、入出力ポートＩＯ０の値がハイレベルであり、かつ、入出力ポートＩＯ１の値がハイレベルであるときは、入出力ポートＩＯ０，ＩＯ１の状態情報を「１」として、ステップＳ３４に進み、それ以外のときは、ステップＳ３３に進む。ステップＳ３３にて、ＣＰＵ２０１は、入出力ポートＩＯ０の値がローレベルであり、かつ、入出力ポートＩＯ１の値がハイレベルであるときは、入出力ポートＩＯ０，ＩＯ１の状態情報を「２」として、ステップＳ３４に進み、それ以外のときは、入出力ポートＩＯ０の値がローレベルであり、かつ、入出力ポートＩＯ１の値がローレベルであるので、入出力ポートＩＯ０，ＩＯ１の状態情報を「３」として、ステップＳ３４に進む。
【０１３０】
ステップＳ３４にて、ＣＰＵ２０１は、入出力ポートＩＯ０，ＩＯ１の今回の状態情報を内部メモリ２０７に格納する。ステップＳ３５にて、ＣＰＵ２０１は、入出力ポートＩＯ０，ＩＯ１の今回の状態情報と前回の状態情報と比較する。ステップＳ３６にて、ＣＰＵ２０１は、入出力ポートＩＯ０，ＩＯ１の状態情報に変化があった場合は、ステップＳ３７に進む。ステップＳ３７にて、ＣＰＵ２０１は、入出力ポートＩＯ０，ＩＯ１の状態情報の変化の方向を判断する（図１７参照）。ＣＰＵ２０１は、状態情報の変化の方向が、（＋）方向遷移であれば（図１６（ａ）参照）、ステップＳ３８に進み、速度カウンタＣｖを１つインクリメントする。一方、ＣＰＵ２０１は、状態情報の変化が、（−）方向遷移であれば（図１６（ｂ）参照）、ステップＳ３９に進み、速度カウンタＣｖを１つデクリメントする。以上ようにして、フォトトランジスタ３４，３５からのパルス信号Ａ，Ｂの状態遷移をカウントする。
【０１３１】
図２９は、図２６のステップＳ３のトリガ処理の流れの一例を示すフローチャートである。図２９に示すように、ステップＳ５０にて、ＣＰＵ２０１は、速度カウンタＣｖを参照して、そのカウント値を取得する。取得したカウント値は、１フレーム当たりのカウント値であり、摺動操作部材２の現在の摺動速度を表す。ステップＳ５１にて、ＣＰＵ２０１は、速度カウンタＣｖをリセットする。
【０１３２】
ステップＳ５２にて、ＣＰＵ２０１は、摺動操作部材２の摺動速度（速度カウンタＣｖのカウント値）の移動平均を算出する。例えば、摺動操作部材２の現在の摺動速度および過去９フレーム分の摺動速度を用いて、１０フレーム分の移動平均を算出する。摺動操作部材２の摺動速度の移動平均を摺動速度Ｖａと表記する。
【０１３３】
ステップＳ５３にて、ＣＰＵ２０１は、摺動速度Ｖａの絶対値｜Ｖａ｜、つまり、摺動速さ｜Ｖａ｜を算出する。ステップＳ５４にて、ＣＰＵ２０１は、摺動操作部材２の摺動速さ｜Ｖａ｜が、予め定められた最大値ＭＡＸを超えているか否かを判断する。摺動操作部材２の摺動速さ｜Ｖａ｜が、予め定められた最大値ＭＡＸを超えていなければ、ステップＳ５９に進み、超えていれば、ステップＳ５５に進む。
【０１３４】
ステップＳ５５にて、ＣＰＵ２０１は、摺動速度Ｖａの符号を判断し、正であれば、ステップＳ５７にて、摺動速度Ｖａに、最大値ＭＡＸを代入する。一方、ＣＰＵ２０１は、摺動速度Ｖａの符号が、負であれば、ステップＳ５６にて、摺動速度Ｖａに、（−１）×ＭＡＸを代入する。ステップＳ５８では、ＣＰＵ２０１は、摺動速さ｜Ｖａ｜に、最大値ＭＡＸを代入して、ステップＳ５９に進む。
【０１３５】
ステップＳ５９にて、ＣＰＵ２０１は、摺動操作部材２の摺動速さ｜Ｖａ｜が予め定められた閾値ＴｈＶを超えているかどうか判断する。摺動速さ｜Ｖａ｜が予め定められた閾値ＴｈＶを超えていれば、ステップＳ６０に進み、閾値ＴｈＶ以下であれば、ステップＳ６４に進む。
【０１３６】
ステップＳ６０にて、ＣＰＵ２０１は、摺動操作部材２の前回と今回の摺動速度Ｖａの符号を比較する。そして、ＣＰＵ２０１は、摺動速度Ｖａの符号が変化していない場合は、摺動方向に変化がないとして、メインルーチンにリターンし、摺動速度Ｖａの符号が変化している場合は、摺動方向が変化したとして、ステップＳ６２に進む。そして、ステップＳ６２では、ＣＰＵ２０１は、発音フラグ及び発音中フラグをオンにする。発音フラグのオンは、トリガ発生を意味する。
【０１３７】
ステップＳ６３にて、ＣＰＵ２０１は、トリガカウンタＣｔを１つインクリメントして、メインルーチンにリターンする。
【０１３８】
以上のように、トリガは、摺動操作部材２の自動演奏装置本体１に対する相対的な速さ（つまり、摺動速さ｜Ｖａ｜）が、予め定められた閾値ＴｈＶより大きくなり（ステップＳ５９参照）、かつ、摺動操作部材２の摺動方向が変化した場合（ステップＳ６１参照）に発生する。
【０１３９】
さて、一方、ステップＳ６４にて、ＣＰＵ２０１は、摺動操作部材２の摺動速さ｜Ｖａ｜が「０」か否かを判断する。摺動操作部材２の摺動速さ｜Ｖａ｜が「０」でないならば、ステップＳ６９へ進み、リリースカウンタＣｒをリセットして、メインルーチンにリターンし、摺動速さ｜Ｖａ｜が「０」ならば、ステップＳ６５へ進む。
【０１４０】
ステップＳ６５にて、ＣＰＵ２０１は、リリースカウンタＣｒを１つインクリメントする。ステップＳ６６にて、ＣＰＵ２０１は、リリースカウンタＣｒが一定値ｋになったかどうかを判断する。リリースカウンタＣｒが一定値ｋになっていない場合は、メインルーチンにリターンし、一定値ｋになった場合は、ステップＳ６７に進む。ステップＳ６７にて、ＣＰＵ２０１は、リリースカウンタＣｒをリセットする。ステップＳ６８にて、ＣＰＵ２０１は、ハードウエアリリースフラグをオンにして、メインルーチンにリターンする。
【０１４１】
ステップＳ６４〜Ｓ６９の処理は、摺動速さ｜Ｖａ｜が、ｋ（例えば、ｋ＝７）回連続して「０」であった場合に、ハードウエアリリースを実行する処理である。なお、ハードウエアリリースの代わりに、ソフトウエアリリースを行うことができる。
【０１４２】
ここで、図２６のステップＳ４のキャラクタ位置制御処理の説明に入る前に、ステップＳ４の説明で必要になる仮想座標及び速度変換テーブルについて説明する。図３０は、仮想座標の説明図である。図３０に示すように、横１０２４画素×縦２５６画素の背景画像３０３が、外部ＲＯＭ３００あるいは外部ＲＯＭ９１に用意される。この背景画像３０３は、キャラクタ７３が摺動速さ｜Ｖａ｜に応じて移動するスタートからゴールに至るまでの画像である。この背景画像３０３上の座標を仮想座標と定義する。この仮想座標の原点は、背景画像３０３の左端中央とする。ＣＰＵ２０１は、摺動操作部材２の摺動速さ｜Ｖａ｜に基づいて、仮想座標上のキャラクタ７３の位置を算出する。
【０１４３】
図３１は、図３０の背景画像３０３の部分拡大図である。図３１に示すように、背景画像３０３は、バックグラウンドスクリーン３０２のブロックに対応して、例えば、８画素×８画素のブロックに分割されている（図３１の破線で示す矩形要素）。ここで、バックグラウンドスクリーン３０２に映し出される範囲は、キャラクタ７３を中心とした矩形範囲（左上角が（ｘ１，ｙ１）、右下角が（ｘ２，ｙ２））である。つまり、バックグラウンドスクリーン３０２を構成する配列ＰＡ［０］〜［１０２３］及び配列［０］〜［１０２３］には、背景画像３０３のうち、キャラクタ７３を中心とした矩形範囲を表す画素パターンデータ格納位置情報、カラーパレット情報、およびデプス値が代入される。
【０１４４】
そして、矢印で示すように、キャラクタ７３の仮想座標上の位置が、背景画像３０３の他のブロックに移動した場合は、ＣＰＵ２０１は、移動後のキャラクタ７３を中心とした矩形範囲（左上角が（ｘ３，ｙ３）、右下角が（ｘ４，ｙ４））をバックグラウンドスクリーン３０２に映し出す。つまり、この場合、ＣＰＵ２０１は、バックグラウンドスクリーン３０２を構成する配列ＰＡ［０］〜［１０２３］及び配列［０］〜［１０２３］の各要素を、背景画像３０３のうち、移動後のキャラクタ７３を中心とした矩形範囲を表す画素パターンデータ格納位置情報、カラーパレット情報、およびデプス値に書き換える。
【０１４５】
以上のように、キャラクタ７３の仮想座標上の移動に伴って、配列ＰＡ及び配列ＣＡの要素を書き換えることで、キャラクタ７３のスクリーン８２上の位置を固定しながらも（スクリーン８２のほぼ中心）、映し出す背景画像３０３を変化させて、キャラクタ７３の移動を表現する。
【０１４６】
なお、仮想座標は、（ｘ，ｙ）と表記し、テレビジョンモニタ８０のスクリーン８２上の座標は、（Ｘ，Ｙ）と表記する。スクリーン８２上の座標では、スクリーン８２の中心を座標原点とし、垂直上方向をＸ軸の正方向、水平右方向をＹ軸の正方向とする。
【０１４７】
さて、一方、キャラクタ７３が仮想座標上で、１つのブロックの中で移動した場合は、次のようにして、キャラクタ７３の移動を表現する。キャラクタ７３がｘ方向に、距離Ｖｖだけ移動したとする。そうすると、ＣＰＵ２０１は、バックグラウンドスクリーン３０２の中心をスクリーン８２上で、Ｘ方向に距離（−Ｖｖ）だけ移動させる。つまり、この場合、スクロールにより、キャラクタ７３の移動を表現する。なお、この場合、キャラクタ７３のスクリーン８２上の位置は、固定したままである（スクリーン８２のほぼ中心）。
【０１４８】
上記のように、キャラクタ７３の仮想座標上のｘ方向の移動距離Ｖｖ（この例では、キャラクタ７３のｙ座標は固定している。）に応じて、バックグラウンドスクリーン３０２を構成する配列ＰＡ，ＣＡやバックグラウンドスクリーン３０２の中心を移動させた。この移動距離Ｖｖは、摺動操作部材２の摺動速さ｜Ｖａ｜を基に、速度変換テーブルを参照して決定される。
【０１４９】
図３２は、速度変換テーブルの例示図である。図３２に示すように、速度変換テーブルは、摺動操作部材２の摺動速さ｜Ｖａ｜と、仮想座標上の移動距離Ｖｖと、を関連付けたものである。例えば、摺動速さ｜Ｖａ｜がＶａ０のときは、移動距離Ｖｖは、距離Ｖｖ０となる。この速度変換テーブルでは、摺動速さ｜Ｖａ｜が大きくなれば、移動距離Ｖｖも大きくなり、摺動速さ｜Ｖａ｜が小さくなれば、移動距離Ｖｖも小さくなる。
【０１５０】
図３３は、図２６のステップＳ４のキャラクタ位置制御処理の流れを示すフローチャートである。図３３に示すように、ステップＳ８０にて、ＣＰＵ２０１は、図３２の速度変換テーブルを参照して、摺動操作部材２の摺動速さ｜Ｖａ｜に応じた仮想座標上のキャラクタ７３の移動距離Ｖｖを取得する。ステップＳ８１にて、ＣＰＵ２０１は、移動距離Ｖｖを基に、キャラクタ７３の仮想座標上の位置を算出する。
【０１５１】
ステップＳ８２にて、ＣＰＵ２０１は、キャラクタ７３が、他のブロックに移動したかどうかを判断し（図３１参照）、他のブロックに移動していない場合は、ステップＳ８３に進み、他のブロックに移動した場合は、ステップＳ８４に進む。ステップＳ８３では、ＣＰＵ２０１は、バックグラウンドスクリーン３０２の中心のスクリーン８２上の座標（Ｘｆ，Ｙｆ）を、（Ｘｆ−Ｖｖ，Ｙｆ）として、メインルーチンにリターンする。一方、ステップＳ８４にて、ＣＰＵ２０１は、キャラクタ７３の仮想座標上の位置を中心とする矩形範囲の背景画像３０３をスクリーン８２に表示すべく、バックグラウンドスクリーン３０２を構成する配列ＰＡ，ＣＡを書き換えて、メインルーチンにリターンする。
【０１５２】
なお、バックグラウンドスクリーン３０２の中心のスクリーン８２上の座標情報および配列ＰＡ，ＣＡは、内部メモリ２０７の所定領域に格納される。
【０１５３】
ここで、図２６のステップＳ５のキャラクタアニメーション制御処理の説明に入る前に、ステップＳ５の説明で必要になるアニメーションテーブルについて説明する。図３４は、アニメーションテーブルの例示図である。図３４に示すように、各アニメーションテーブルは、弓速レンジ、アニメーションを行うキャラクタ７３の番号、持続フレーム数情報、後続情報、アニメーション画像データの格納位置情報、キャラクタサイズ情報、カラーパレット情報、デプス値、スプライトサイズ情報、及び、キャラクタ７３のスクリーン８２上の表示座標情報、を関連付けてなる。
【０１５４】
弓速レンジは、摺動操作部材２の摺動速さ｜Ｖａ｜を５段階に分けて、段階毎にアニメーションの速度を変化させるために設けてある。キャラクタ番号は、キャラクタ７３の異なる形態毎に番号を割り当てたものである。持続フレーム数情報は、対応するキャラクタ番号で示される形態のキャラクタ７３を、何フレーム連続して表示するかを示す情報である。後続情報は、持続フレーム数情報に従って特定形態のキャラクタ７３を表示した後に、どのキャラクタ番号で示される形態のキャラクタ７３を表示するかを指示する情報である。例えば、後続情報「ｎｅｘｔ」は、キャラクタ番号「１」が示す形態のキャラクタ７３を１フレーム（持続フレーム数）表示した後は、同じ弓速レンジの次のキャラクタ番号「２」が示す形態のキャラクタ７３を表示することを意味する。また、例えば、後続情報「ｔｏｐ」は、キャラクタ番号「１０」が示す形態のキャラクタ７３を１フレーム（持続フレーム数）表示した後は、同じ弓速レンジの先頭のキャラクタ番号「１」が示す形態のキャラクタ７３を表示することを意味する。また、例えば、後続情報「ｓｅｌｆ」は、キャラクタ番号「１１」が示す形態のキャラクタ７３を４フレーム（持続フレーム数）表示した後は、再び同じキャラクタ番号「１１」のキャラクタ７３を表示することを意味する。
【０１５５】
アニメーション画像データは、アニメーションを行うキャラクタ７３を時系列に配置したデータである。アニメーション画像データの格納位置情報は、このアニメーション画像データの先頭アドレスを示す。なお、アニメーション画像データは、画素パターンデータである。キャラクタサイズ情報は、キャラクタのサイズ情報である。カラーパレット情報、デプス値、およびスプライトサイズについては、上述のとおりである。
【０１５６】
アニメーション画像データの格納位置情報は、キャラクタ番号「１」のキャラクタ７３の画素パターンデータ格納位置情報であるため、キャラクタサイズ情報を利用して、２番以降のキャラクタ７３の画素パターンデータ格納位置情報が算出される。また、キャラクタ７３を構成する各スプライトの画素パターンデータ格納位置情報は、キャラクタ７３の画素パターンデータ格納位置情報が分かるので、これとスプライトサイズ情報とから算出される。また、キャラクタ７３を構成する各スプライトの表示座標は、キャラクタ７３の表示座標が分かるので、これとスプライトサイズ情報とから算出される。
【０１５７】
なお、摺動速さ｜Ｖａ｜が閾値ＴｈＶ（図２９のステップＳ５９参照）以下の場合は、キャラクタ番号は「１１」のみとし、後続情報を「ｓｅｌｆ」としている。こうすれば、静止した（アニメーションしない）キャラクタ７３がスクリーン８２に表示される。
【０１５８】
図３５は、図２６のステップＳ５のキャラクタアニメーション処理の流れを示すフローチャートである。図３５に示すように、ステップＳ９０にて、ＣＰＵ２０１は、アニメーションポインタが指すアニメーションテーブルを参照する。アニメーションポインタは、現在のアニメーションテーブルを指すポインタである。ステップＳ９１にて、ＣＰＵ２０１は、アニメーションテーブルの情報を基に、キャラクタ７３を構成する各スプライトの表示座標および画素パターン格納位置情報を算出して、内部メモリ２０７の所定領域に格納する。ステップＳ９２にて、ＣＰＵ２０１は、アニメーションテーブルから、キャラクタ７３を構成する各スプライトの他の画像情報（サイズ、カラーパレット情報、およびデプス値など）を取得して、内部メモリ２０７の所定領域に格納する。
【０１５９】
ステップＳ９３にて、ＣＰＵ２０１は、アニメーションテーブルの持続フレーム数が終了したか否かを判断して、終了していない場合は、メインルーチンにリターンし、終了している場合は、ステップＳ９４に進む。ステップＳ９４にて、ＣＰＵ２０１は、アニメーションが終了したか否かを判断して、終了していない場合はステップＳ９７に進み、終了している場合はステップＳ９５に進む。ここで、アニメーションの終了とは、同じ弓速レンジにおいて、全てのキャラクタ番号「１」〜「１０」のキャラクタ７３の表示が終了したことを意味する。
【０１６０】
さて、ステップＳ９５にて、ＣＰＵ２０１は、摺動操作部材２の摺動速さ｜Ｖａ｜が属する弓速レンジを判定する。ステップＳ９６にて、ＣＰＵ２０１は、摺動速さ｜Ｖａ｜が属する弓速レンジに対応するキャラクタ番号「１」のアニメーションテーブルにアニメーションポインタを進め、メインルーチンにリターンする。一方、ステップＳ９７にて、ＣＰＵ２０１は、アニメーションテーブルの後続情報に従って、アニメーションポインタを制御して、メインルーチンにリターンする。例えば、アニメーションポインタが、弓速レンジ（ＴｈＶ＜｜Ｖａ｜≦Ｖ１）に対応するキャラクタ番号「１」のアニメーションテーブルを指している場合は、ＣＰＵ２０１は、同じ弓速レンジ（ＴｈＶ＜｜Ｖａ｜≦Ｖ１）に対応する次のキャラクタ番号「２」のアニメーションテーブルにアニメーションポインタを進める。
【０１６１】
ここで、図３４から分かるように、摺動速さ｜Ｖａ｜が大きくなれば、アニメーションのコマ送りも速くなり（持続フレーム数が少なくなり）、摺動速さ｜Ｖａ｜が小さくなれば、アニメーションのコマ送りも遅くなる（持続フレーム数が多くなる）。
【０１６２】
図３６は、図２６のステップＳ６の現在位置指示オブジェクト制御処理の流れを示すフローチャートである。図３６に示すように、ステップＳ１１０にて、ＣＰＵ２０１は、トリガカウンタＣｔのカウント値に、所定画素数を乗算して、その結果を、現在位置指示オブジェクト７１の移動距離ＬＸとする。ステップＳ１１１にて、ＣＰＵ２０１は、移動距離ＬＸに、初期座標Ｘｏｂ０を加算して、現在位置指示オブジェクト７１のＸ座標Ｘｏｂとする。なお、Ｙ座標Ｙｏｂは固定である。ステップＳ１１２にて、ＣＰＵ２０１は、現在位置指示オブジェクト７１を構成するスプライトの画像情報（画素パターンデータ格納位置情報、表示座標、サイズ、カラーパレット情報、およびデプス値など）を、内部メモリ２０７の所定領域にセットする。なお、現在位置指示オブジェクト７１は、１つのスプライトから構成されるとした。ステップＳ１１３にて、ＣＰＵ２０１は、トータル距離指示バー７０を構成する各スプライトの画像情報（画素パターンデータ格納位置情報、表示座標、サイズ、カラーパレット情報、およびデプス値など）を内部メモリ２０７の所定領域にセットする。
【０１６３】
ここで、トータル距離指示バー７０の長さは、楽譜データ３０８に含まれる音符の数に比例した長さになっている。そして、上記の処理により、トリガが発生するたびに、１音符に対応する距離（ステップＳ１１０の所定画素数）だけ、現在位置指示オブジェクト７１が移動していく。
【０１６４】
図３７は、図２６のステップＳ７のタイムカウント処理の流れを示すフローチャートである。図３７に示すように、ステップＳ１２０にて、ＣＰＵ２０１は、カウンタＣｔｍをインクリメントする。ステップＳ１２１にて、ＣＰＵ２０１は、カウンタＣｔｍのカウント値から、スタートからの経過時間を算出する。ここで、ビデオ同期信号による割り込みが１／６０秒ごとに発生するとする。カウンタＣｔｍは、表示画像（フレーム）が更新されるたびにインクリメントされるので、容易に経過時間を算出できる。ステップＳ１２２にて、ＣＰＵ２０１は、キャラクタ７３のランニングスタートからの経過時間を表示すべく、経過時間を表すための各数字オブジェクトを構成するスプライトの画像情報（画素パターンデータ格納位置情報、表示座標、サイズ、カラーパレット情報、およびデプス値など）を、内部メモリ２０７の所定領域にセットする。なお、各数字ブジェクトは、１つのスプライトから構成されるとした。
【０１６５】
図２６に戻って、ステップＳ９にて、垂直ブランキング期間に、ＣＰＵ２０１は、グラフィックプロセッサ２０２に対して、各スプライトの画像情報を与える。また、垂直ブランキング期間に、グラフィックプロセッサ２０２は、内部メモリ２０７に格納された配列ＰＡ，ＣＡの情報を読み込む。そして、グラフィックプロセッサ２０２は、それらの情報を基に画像信号ＶＤを生成して、表示画像を更新する。
【０１６６】
図３８は、図２６のステップＳ１０の音声処理の流れを示すフローチャートである。ステップＳ１３０にて、ＣＰＵ２０１は、発音フラグのオン／オフ（トリガ発生の有無）を判断して、発音フラグがオフであれば、ステップＳ１３７に進み、発音フラグがオン（トリガ発生）であれば、ステップＳ１３１に進む。ステップＳ１３１にて、ＣＰＵ２０１は、外部ＲＯＭ３００あるいは外部ＲＯＭ９１に格納された楽譜データ３０８から、楽譜データポインタが指す音符情報（つまり、ピッチ情報）を読み込む。ステップＳ１３２にて、ＣＰＵ２０１は、読み込んだ音符情報に応じた波形ピッチ制御情報を内部メモリ２０７にセットする。
【０１６７】
ステップＳ１３３にて、ＣＰＵ２０１は、読み出した音符情報に応じた波形データのアタック部の先頭アドレスを内部メモリ２０７にセットする。ステップＳ１３４にて、ＣＰＵ２０１は、読み出した音符情報に応じた波形データのループ部の先頭アドレスを内部メモリ２０７にセットする。ステップＳ１３５にて、ＣＰＵ２０１は、楽譜データポインタをインクリメントする。なお、楽譜データ３０８は、音符情報（ピッチ情報）が時系列に配置されたデータである。ステップＳ１３６にて、ＣＰＵ２０１は、発音フラグをオフにする。
【０１６８】
ステップＳ１３７にて、ＣＰＵ２０１は、発音中フラグがオンかどうかを判断して、オフであれば、メインルーチンにリターンし、オンであれば、ステップＳ１３８に進む。ステップＳ１３８にて、ＣＰＵ２０１は、ハードウエアリリースフラグの状態をチェックし、オンであれば、ステップＳ１４４に進み、発音中フラグをオフにして、ステップＳ１４３に進む。一方、ハードウエアリリースフラグがオフであれば、ステップＳ１３９に進む。ステップＳ１３９にて、ＣＰＵ２０１は、摺動操作部材２の摺動速さ｜Ｖａ｜に応じたエンベロープ係数を算出する。例えば、速度カウンタＣｖを８ビットカウンタとしたとき、エンベロープ係数を、８×｜Ｖａ｜×（１／２５５）とし、これが「１」を超えたら、「１」にクリッピングする。ステップＳ１４０にて、ＣＰＵ２０１は、外部ＲＯＭ３００あるいは外部ＲＯＭ９１に格納された圧縮されたエンベロープデータを読み出して、内部メモリ２０７に展開する。なお、ステップＳ１４０では、ステップＳ１３１で読み込んだ音符情報に応じた波形データに対応したエンベロープデータが読み出される。
【０１６９】
ステップＳ１４１にて、ＣＰＵ２０１は、展開したエンベロープデータに、ステップＳ１３９で求めたエンベロープ係数を乗算する。ステップＳ１４２にて、ＣＰＵ２０１は、ステップＳ１４１の乗算結果を、新たなエンベロープデータとして、内部メモリ２０７に再セットする。このように、エンベロープを摺動速さ｜Ｖａ｜に応じて制御することにより、音量を制御する。ステップＳ１４３にて、ＣＰＵ２０１は、サウンドプロセッサ２０３に対して、内部メモリ２０７へのアクセス指示を出す。すると、サウンドプロセッサ２０３は、必要なタイミングで、内部メモリ２０７にセットされたアタック部先頭アドレス、ループ部先頭アドレス、及び、エンベロープデータを読み込んで、音声信号ＡＬ，ＡＲを生成する。なお、ハードウエアリリースフラグがオンのときは、サウンドプロセッサ２０３は消音処理を実行する。従って、発音フラグがオンになってから、ハードウエアリリースフラグがオンになるまで、該当する音符情報に応じた音声信号ＡＬ，ＡＲが継続して生成される。
【０１７０】
ここで、摺動操作部材２を操作して、自動演奏を行う場合も、図２６と同様の処理（トリガ処理、音声処理）が実行される。ただし、画像表示のための処理は、図８のような画面を表示するための処理になる。
【０１７１】
次に、摺動操作部材２の摺動時間に基づくゲーム処理（図１０及び図１１の飛行ゲーム処理）について説明する。
【０１７２】
図３９は、図１の自動演奏装置による飛行ゲーム処理の流れを示すフローチャートである。図３９に示すように、ステップＳ２００にて、ＣＰＵ２０１は、システムの初期設定を実行する。この処理は、図２６のステップＳ１の初期設定処理と同様であり、詳細な説明は省略する。ステップＳ２０１にて、ＣＰＵ２０１は、ゲームが終了したか否かをチェックして、ゲームが終了したならば（キャラクタ７３が着地して所定時間経過）、処理を終了し、ゲームが継続中であれば、ステップＳ２０２に進む。
【０１７３】
ステップＳ２０２にて、ＣＰＵ２０１は、操作者による摺動操作部材２の操作が、トリガの発生条件を満足したか否かをチェックする。この処理は、図２６のステップＳ３のトリガ処理と同様であり、詳細な説明は省略する。ステップＳ２０３にて、ＣＰＵ２０１は、摺動操作部材２の摺動時間に基づいて、キャラクタ７３の位置を算出する。ステップＳ２０４にて、ＣＰＵ２０１は、ステップＳ２０３の算出結果に基づいて、キャラクタ７３の位置を制御する。ステップＳ２０５にて、ＣＰＵ２０１は、キャラクタ７３のアニメーションを制御する。ステップＳ２０６にて、ＣＰＵ２０１は、摺動操作部材２の摺動操作に基づいて、入力通知バー７５の色を制御する。ステップＳ２０７にて、ＣＰＵ２０１は、キャラクタ７３の飛行距離を算出する。
【０１７４】
ステップＳ２０８にて、ＣＰＵ２０１は、ビデオ同期の割込み待ちかどうかを判断する。ビデオ同期の割込み待ちであれば（ビデオ同期信号による割り込みがなければ）、同じステップＳ２０８に戻る。一方、ビデオ同期の割込み待ちでなければ（ビデオ同期信号による割り込みがあれば）、ステップＳ２０９に進む。ステップＳ２０９にて、ＣＰＵ２０１の指示を受けたグラフィックプロセッサ２０２は、テレビジョンモニタ８０の表示画像を更新する。この点は、図２６のステップＳ９の処理と同様である。
【０１７５】
ステップＳ２１０にて、ＣＰＵ２０１は、サウンドプロセッサ２０３による音声信号ＡＬ，ＡＲの生成に必要な情報を内部メモリ２０７にセットする。風船ゲームでは、ランニングゲームのように、トリガによる発音を実行しないので、ステップＳ２１０では、ＣＰＵ２０１は、トリガに依存しない楽譜データポインタが示す音符情報に従って、波形ピッチ制御情報、波形データのアタック部先頭アドレス及びループ部先頭アドレス、並びに、エンベロープピッチ制御情報及びエンベロープデータの先頭アドレス、を内部メモリ２０７にセットする。サウンドプロセッサ２０３は、それらの情報を基に、外部ＲＯＭ３００あるいは外部ＲＯＭ９１から波形データ及びエンベロープデータを読み出して、ＢＧＭのための音声信号ＡＬ，ＡＲを生成する。以上のように、ステップＳ２０９の表示画像更新処理およびステップＳ２１０の音声処理は、ビデオ同期信号に同期して実行される。
【０１７６】
ステップＳ２１１のパルスカウント処理は、タイマ回路２１０による割り込みが発生したときに、ＣＰＵ２０１により実行される。このパルスカウント処理は、図２６のステップＳ１１のパルスカウント処理と同様であり、詳細な説明は省略する。
【０１７７】
図４０は、図３９のステップＳ２０３のキャラクタ位置算出処理の流れを示すフローチャートである。図４０に示すように、ステップＳ２２０にて、ＣＰＵ２０１は、仮想座標上（図３０参照）で、キャラクタ７３が、ジャンプ地点に到達したか否かを判断して、到達したならば、ステップＳ２２１に進み、到達していないならば、ステップＳ２２７に進む。ステップＳ２２７にて、ＣＰＵ２０１は、変数Ｖｘに所定値Ｖｘ０を、変数ａに「０」を、変数Ｖｙに「０」を、変数ｇに「０」を、代入する。一方、ステップＳ２２１にて、ＣＰＵ２０１は、仮想座標上で、キャラクタ７３が、風船オブジェクト７６の位置に到達したか否かを判断して、到達したならば、ステップＳ２２２に進み、到達していないならば、ステップＳ２２９に進む。ステップＳ２２９にて、ＣＰＵ２０１は、変数Ｖｘに所定値Ｖｘ０を、変数ａに「０」を、変数Ｖｙに所定値Ｖｙ０を、変数ｇに所定値ｇ０を、を代入する。
【０１７８】
ステップＳ２２２では、ＣＰＵ２０１は、発音フラグがオンかどうかを判断して、オフであれば、ステップＳ２２８に進み、オンであれば、ステップＳ２２３に進む。ステップＳ２２３にて、ＣＰＵ２０１は、ハードウエアリリースフラグがオンかどうかを判断して、オンであればステップＳ２２４に進み、オフであれば、ステップＳ２２８に進む。ステップＳ２２８にて、ＣＰＵ２０１は、変数Ｖｘに所定値Ｖｘ１を、変数ａに「０」を、変数Ｖｙに所定値Ｖｙ１を、変数ｇに所定値ｇ０を、代入する。
【０１７９】
ステップＳ２２４では、ＣＰＵ２０１は、キャラクタ７３が上限位置に達したかどうかを判断して、上限位置に達していればステップＳ２２６に進み、上限位置に達していなければステップＳ２２５に進む。ステップＳ２２５にて、ＣＰＵ２０１は、変数Ｖｘに所定値Ｖｘ２を、変数ａに「０」を、変数Ｖｙに所定値Ｖｙ２を、変数ｇに所定値ｇ０を、代入する。一方、ステップＳ２２６にて、ＣＰＵ２０１は、変数Ｖｘに所定値Ｖｘ２を、変数ａに「０」を、変数Ｖｙに「０」を、変数ｇに「０」を、代入する。
【０１８０】
ステップＳ２３０にて、ＣＰＵ２０１は、ステップＳ２２７、ステップＳ２２８、ステップＳ２２９、ステップＳ２２５、あるいは、ステップＳ２２６で設定された変数Ｖｖ，Ｖｙ，ａ，ｇに基づいて、次式を計算する。なお、変数ｘｃには初期値ｘｃ０が、変数ｙｃには初期値ｙｃ０が代入される。
ｘｃ←ｘｃ＋Ｖｘ  …（１）
Ｖｘ←Ｖｘ＋ａ    …（２）
ｙｃ←ｙｃ＋Ｖｘ  …（３）
Ｖｙ←Ｖｙ−ｇ    …（４）
ここで、ステップＳ２２７の処理は、スタート地点からジャンプ地点までのキャラクタ７３の位置を計算するための設定であり、ステップＳ２２９の処理は、ジャンプ地点から風船位置までのキャラクタ７３の位置を計算するための設定である。ステップＳ２２８，Ｓ２２５，Ｓ２２６の処理は、キャラクタ７３が風船につかまった以降のキャラクタ７３の位置を計算するための設定である。この場合、ステップＳ２２８の処理は、トリガが発生していないとき、あるいは、摺動操作が終了したとき（入力が終了したとき）、のキャラクタ７３の位置を計算するための設定であり、ステップＳ２２６は、摺動操作中において、キャラクタ７３の位置が所定の上限に達した後のキャラクタ７３の位置を計算するための設定であり、ステップＳ２２５は、摺動操作中に、キャラクタ７３の位置が所定の上限以下になったときのキャラクタ７３の位置を計算するための設定である。
【０１８１】
図４１は、図３９のステップＳ２０４のキャラクタ位置制御処理の流れを示すフローチャートである。図４１に示すように、ステップＳ２４０にて、ＣＰＵ２０１は、キャラクタ７３が、仮想座標上でのジャンプ地点に到達したか否かを判断して、到達していない場合は、ステップＳ２４８に進んで、スクリーン８２上のキャラクタ７３の座標（Ｘｃ，Ｙｃ）に、図４０のステップＳ２３０で求めた仮想座標上の座標（ｘｃ，ｙｃ）を代入し、到達した場合は、ステップＳ２４１に進む。ステップＳ２４１にて、ＣＰＵ２０１は、キャラクタ７３が仮想座標上でのジャンプ地点を通過したか否かを判断して、通過した場合は、ステップＳ２４２に進み、通過していない場合は（つまり、ちょうどジャンプ地点に位置する場合）、ステップＳ２４４に進む。ステップＳ２４２にて、ＣＰＵ２０１は、キャラクタ７３が、所定の上限位置に達したかどうかを判断して、上限位置に達していればステップＳ２４４に進み、上限位置に達していなければステップＳ２４３に進む。ステップＳ２４３にて、ＣＰＵ２０１は、キャラクタ７３が、所定の下限位置に達したかどうかを判断して、下限位置に達していればステップＳ２４４に進み、下限位置に達していなければステップＳ２４９に進む。
【０１８２】
ステップＳ２４９では、ＣＰＵ２０１は、スクリーン８２上のキャラクタ７３の座標（Ｘｃ，Ｙｃ）を、座標（前回のＸｃ＋Ｖｘ，前回のＹｃ＋Ｖｙ）とする。このようにして、キャラクタ７３が、仮想座標上の所定の上限と下限との間に位置する場合は、背景７４は動かさずに、キャラクタ７３自体のスクリーン８２上の位置を移動させる。
【０１８３】
ステップＳ２４４では、ＣＰＵ２０１は、キャラクタ７３が他のブロックへ移動したか否かを判断して、移動していれば、ステップＳ２４５へ進み、移動していない場合は、ステップＳ２４６へ進む。ステップＳ２４６では、ＣＰＵ２０１は、バックグラウンドスクリーン３０２の中心のスクリーン８２上の座標（Ｘｆ，Ｙｆ）を、（Ｘｆ−Ｖｘ，Ｙｆ−Ｖｙ）とする。一方、ステップＳ２４５にて、ＣＰＵ２０１は、キャラクタ７３の仮想座標上の位置を中心とする矩形範囲の背景画像をスクリーン８２に表示すべく、バックグラウンドスクリーン３０２を構成する配列ＰＡ，ＣＡを書き換える。ステップＳ２４７にて、ＣＰＵ２０１は、スクリーン８２上のキャラクタ７３の座標（Ｘｃ，Ｙｃ）を、座標（Ｘｃ０，Ｙｃ０）とする。座標（Ｘｃ０，Ｙｃ０）は、スクリーン８２のほぼ中心位置であり、一定値である。このように、キャラクタ７３が、仮想座標上の所定の上限に位置する場合および下限以下の場合は、キャラクタ７３は動かさずに、背景７４を変化させて、キャラクタ７３の移動を表現する。
【０１８４】
図４２は、図３９のステップＳ２０５のキャラクタアニメーション制御の流れを示すフローチャートである。図４２に示すように、ステップＳ２６０にて、ＣＰＵ２０１は、キャラクタ７３が、仮想座標上のジャンプ地点に到達したか否かを判断して、到達していない場合は、ステップＳ２６２に進み、到達していれば、ステップＳ２６１に進む。ステップＳ２６１にて、ＣＰＵ２０１は、キャラクタ７３を静止画として表示すべく、適切な位置にアニメーションポインタを進める。つまり、キャラクタ７３がジャンプ地点に到達した以降では、キャラクタ７３のアニメーションは行わない。
【０１８５】
ステップＳ２６２にて、ＣＰＵ２０１は、アニメーションポインタが示すアニメーションテーブルを参照する。この場合のアニメーションテーブルは、図３４のアニメーションテーブルと同様の構成となっている。ただし、弓速レンジは設けられておらず、アニメーション処理は、摺動操作部材２の摺動速さ｜Ｖａ｜には依存しない。ステップＳ２６３にて、ＣＰＵ２０１は、アニメーションテーブルの情報を基に、キャラクタ７３を構成する各スプライトの表示座標および画素パターンデータ格納位置情報を算出して、内部メモリ２０７の所定領域に格納する。ステップＳ２６４にて、ＣＰＵ２０１は、アニメーションテーブルから、キャラクタ７３を構成する各スプライトの他の画像情報（サイズ、カラーパレット情報、およびデプス値など）を取得して、内部メモリ２０７の所定領域に格納する。
【０１８６】
ステップＳ２６５にて、ＣＰＵ２０１は、アニメーションテーブルの持続フレーム数が終了したか否かを判断して、終了していない場合は、メインルーチンにリターンし、終了している場合は、ステップＳ２６６に進む。ステップＳ２６６にて、ＣＰＵ２０１は、アニメーションテーブルの後続情報に従って、アニメーションポインタを適切な位置に進めて、メインルーチンにリターンする。
【０１８７】
図４３は、図３９のステップＳ２０６の入力通知バー制御処理の流れを示すフローチャートである。図４３に示すように、ステップＳ２８０にて、ＣＰＵ２０１は、発音フラグがオンか否かを判断して、オンであれば、ステップＳ２８２に進み、オフの場合は、ステップＳ２８１に進む。ステップＳ２８１では、ＣＰＵ２０１は、入力通知バー７５を構成する各スプライトの画像情報（画素パターンデータ格納位置情報、表示座標、サイズ、カラーパレット情報、およびデプス値など）を内部メモリ２０７の所定領域にセットする。一方、ステップＳ２８２では、ＣＰＵ２０１は、ハードウエアリリースフラグがオンか否かを判断して、オンであれば、ステップＳ２８４に進み、オフであれば、ステップＳ２８３に進む。ステップＳ２８３では、ＣＰＵ２０１は、入力中（摺動中）であることを操作者に通知すべく、入力通知バー７５を構成する各スプライトのカラーパレット情報を変更して、メインルーチンにリターンする。一方、ステップＳ２８４では、ＣＰＵ２０１は、入力が終了（摺動終了）したことを操作者に通知すべく、入力通知バー７５を構成する各スプライトのカラーパレット情報を元に（デフォルト値に）戻して、メインルーチンにリターンする。
【０１８８】
図４４は、図３９のステップＳ２０７の飛行距離算出処理の流れを示すフローチャートである。図４４に示すように、ステップＳ２７０にて、ＣＰＵ２０１は、キャラクタ７３の仮想座標上のｙ座標ｙｃが、所定値ｙｃｅ（ゴール地点のｙ座標）になったかどうかを判断する。つまり、キャラクタ７３が、ゴール地点に着地したかどうかを判断する。キャラクタ７３が、まだゴール地点に着地していない場合は、メインルーチンにリターンし、着地した場合は、ステップＳ２７１に進む。ステップＳ２７１にて、ＣＰＵ２０１は、キャラクタ７３の仮想座標上のｘ座標に比例した飛行距離を算出する。ステップＳ２７２にて、ＣＰＵ２０１は、飛行距離を表示するための各数字オブジェクトを構成するスプライトの画像情報（画素パターンデータ格納位置情報、表示座標、サイズ、カラーパレット情報、およびデプス値など）を内部メモリ２０７にセットする。ステップＳ２７３にて、ＣＰＵ２０１は、ハードウエアリリースフラグ、発音フラグ及び発音中フラグをリセットする。
【０１８９】
次に、摺動操作部材２の摺動方向に基づくゲーム処理（図１２のキャッチゲーム処理）について説明する。
【０１９０】
図４５は、図１の自動演奏装置によるキャッチゲーム処理の流れを示すフローチャートである。図４５に示すように、ステップＳ３００にて、ＣＰＵ２０１は、システムの初期設定を実行する。この処理は、図２６のステップＳ１の初期設定処理と同様であり、詳細な説明は省略する。ステップＳ３０１にて、ＣＰＵ２０１は、ゲームが終了したか否かをチェックして、ゲームが終了したならば（ライフオブジェクト７８が全て消滅あるいは最後の落下オブジェクト７９が出現して所定時間経過）、処理を終了し、ゲームが継続中であれば、ステップＳ３０２に進む。
【０１９１】
ステップＳ３０２にて、ＣＰＵ２０１は、操作者による摺動操作部材２の操作が、トリガの発生条件を満足したか否かをチェックする。この処理は、図２６のステップＳ３のトリガ処理と同様であり、詳細な説明は省略する。ステップＳ３０３にて、ＣＰＵ２０１は、摺動操作部材２の摺動方向に基づいて、キャラクタ７３の位置を制御する。ステップＳ３０４にて、ＣＰＵ２０１は、タイムテーブルを参照して、落下オブジェクト７９の出現処理を実行する。ステップＳ３０５にて、ＣＰＵ２０１は、落下中の落下オブジェクト７９の位置を制御する。ステップＳ３０６にて、ＣＰＵ２０１は、キャラクタ７３が、落下オブジェクト７９をキャッチしたか否かを判定する。
【０１９２】
ステップＳ３０７にて、ＣＰＵ２０１は、ビデオ同期の割込み待ちかどうかを判断する。ビデオ同期の割込み待ちであれば（ビデオ同期信号による割り込みがなければ）、同じステップＳ３０７に戻る。一方、ビデオ同期の割込み待ちでなければ（ビデオ同期信号による割り込みがあれば）、ステップＳ３０８に進む。ステップＳ３０８にて、ＣＰＵ２０１の指示を受けたグラフィックプロセッサ２０２は、テレビジョンモニタ８０の表示画像を更新する。この点は、図２６のステップＳ９の処理と同様である。
【０１９３】
ステップＳ３０９にて、ＣＰＵ２０１は、サウンドプロセッサ２０３による音声信号ＡＬ，ＡＲの生成に必要な情報を内部メモリ２０７にセットする。キャッチゲームでは、ランニングゲームのように、トリガによる発音を実行しないので、ステップＳ３０９では、ＣＰＵ２０１は、トリガに依存しない楽譜データポインタが示す音符情報に従って、波形ピッチ制御情報、波形データのアタック部先頭アドレス及びループ部先頭アドレス、並びに、エンベロープピッチ制御情報及びエンベロープデータの先頭アドレス、を内部メモリ２０７にセットする。サウンドプロセッサ２０３は、それらの情報を基に、外部ＲＯＭ３００あるいは外部ＲＯＭ９１から波形データ及びエンベロープデータを読み出して、ＢＧＭのための音声信号ＡＬ，ＡＲを生成する。以上のように、ステップＳ２０８の表示画像更新処理およびステップＳ３０９の音声処理は、ビデオ同期信号に同期して実行される。
【０１９４】
ステップＳ３１０のパルスカウント処理は、タイマ回路２１０による割り込みが発生したときに、ＣＰＵ２０１により実行される。このパルスカウント処理は、図２６のステップＳ１１のパルスカウント処理と同様であり、詳細な説明は省略する。
【０１９５】
図４６は、図４５のステップＳ３０３のキャラクタ制御処理の流れを示すフローチャートである。図４６に示すように、ステップＳ３２０にて、ＣＰＵ２０１は、キャラクタ７３のスクリーン８２上のＸ座標Ｘｃを算出する。具体的には、Ｘｃ←Ｘｃ＋摺動速度（弓速）Ｖａ、とする。ステップＳ３２１にて、ＣＰＵ２０１は、アニメーションポインタが示すアニメーションテーブルを参照する。この場合のアニメーションテーブルは、図３４のアニメーションテーブルと同様の構成となっている。ただし、弓速レンジは設けられておらず、アニメーション処理は、摺動操作部材２の摺動速さ｜Ｖａ｜には依存しない。ステップＳ３２２にて、ＣＰＵ２０１は、アニメーションテーブルの情報を基に、キャラクタ７３を構成する各スプライトの表示座標および画素パターン格納位置情報を算出して、内部メモリ２０７の所定領域に格納する。ステップＳ３２３にて、ＣＰＵ２０１は、アニメーションテーブルから、キャラクタ７３を構成する各スプライトの他の画像情報（サイズ、カラーパレット情報、およびデプス値など）を取得して、内部メモリ２０７の所定領域に格納する。
【０１９６】
ステップＳ３２４にて、ＣＰＵ２０１は、アニメーションテーブルの持続フレーム数が終了したか否かを判断して、終了していない場合は、メインルーチンにリターンし、終了している場合は、ステップＳ３２５に進む。ステップＳ３２５にて、ＣＰＵ２０１は、アニメーションが終了したか否かを判断して、終了していない場合はステップＳ３２７に進み、終了している場合はステップＳ３２６に進む。ここで、アニメーションの終了とは、全てのキャラクタ番号のキャラクタ７３の表示が終了したことを意味する。
【０１９７】
ステップＳ３２７では、ＣＰＵ２０１は、アニメーションテーブルの後続情報に従って、アニメーションポインタを適切な位置に進める。一方、ステップＳ３２６では、ＣＰＵ２０１は、摺動速度（弓速）Ｖａの符号に従って、アニメーションポインタを制御する。ここで、キャラクタ７３のアニメーションテーブルは、図１２の（＋）方向用と（−）方向用が用意されている。従って、摺動操作部材２の摺動方向が変化した場合は（摺動速度Ｖａの符号が変化した場合は）、アニメーションポインタを、摺動方向に応じたアニメーションテーブルを指すように制御する。
【０１９８】
さて、図４５のステップＳ３０４の落下オブジェクト出現処理を説明する前に、そこで使用するタイムテーブルについて説明する。図４７は、落下オブジェクト７９を出現させるためのタイムテーブルの例示図である。図４７に示すように、タイムテーブルは、落下オブジェクト７９の出現時間とスクリーン８２上の出現位置とを関連付けたものである。
【０１９９】
図４８は、図４５のステップＳ３０４の落下オブジェクト出現処理の流れを示すフローチャートである。図４８に示すように、ステップＳ３４０にて、ＣＰＵ２０１は、カウンタＣａをインクリメントする。ステップＳ３４１にて、ＣＰＵ２０１は、図４７のタイムテーブルを参照する。そして、ステップＳ３４２にて、ＣＰＵ２０１は、現在のカウンタＣａのカウント値が、タイムテーブル中の出現時間と一致するかどうかを判断して、一致しない場合は、落下オブジェクト７９の出現時間ではないので、メインルーチンにリターンし、一致する場合は、ステップＳ３４３に進む。
【０２００】
ステップＳ３４３にて、ＣＰＵ２０１は、タイムテーブル中の出現位置を参照して、出現させるべき落下オブジェクト７９を構成する各スプライトの座標を算出する。また、各スプライトの画素パターンデータ格納位置情報を算出する。ステップＳ３４４にて、ＣＰＵ２０１は、出現させるべき落下オブジェクト７９を構成する各スプライトの他の画像情報（サイズ、カラーパレット情報、およびデプス値など）を内部メモリ２０７の所定領域にセットする。
【０２０１】
図４９は、図４５のステップＳ３０５の落下オブジェクト位置制御処理の流れを示すフローチャートである。図４９に示すように、ステップＳ３５０にて、ＣＰＵ２０１は、表示中の落下オブジェクト７９のスクリーン８２上のＹ座標Ｙｄを算出する。具体的には、Ｙｄ←Ｙｄ−Ｖｄ０とする。このように、落下オブジェクト７９を一定速度Ｖｄ０で落下させる。ステップＳ３５１にて、ＣＰＵ２０１は、落下オブジェクト７９が、地面に衝突したか否かを判断して、衝突した場合は、ステップＳ３５５に進み、衝突していない場合は、ステップＳ３５２に進む。衝突の有無の判断は、落下オブジェクト７９のＹ座標Ｙｄが、地面のＹ座標を中心とした所定範囲に存在するかどうかで判断する。
【０２０２】
ステップＳ３５５では、ＣＰＵ２０１は、落下オブジェクト７９の消滅処理を行う。具体的には、落下オブジェクト７９の表示座標を、スクリーン８２の範囲外とする。ステップＳ３５６にて、ＣＰＵ２０１は、ライフオブジェクト７８の消滅処理を行う。具体的には、ライフオブジェクト７８の表示座標を、スクリーン８２の範囲外とする。
【０２０３】
一方、ステップＳ３５２では、ＣＰＵ２０１は、落下オブジェクト７９のＹ座標Ｙｄを元に、落下オブジェクト７９を構成する各スプライトの座標を算出する。また、落下オブジェクト７９を構成する各スプライトの画素パターンデータ格納位置情報を算出する。ステップＳ３５３にて、ＣＰＵ２０１は、落下オブジェクト７９を構成する各スプライトの他の画像情報（サイズ、カラーパレット情報、およびデプス値など）を内部メモリ２０７の所定領域にセットする。ステップＳ３５４にて、ＣＰＵ２０１は、表示中の全落下オブジェクト７９について、ステップＳ３５０〜ステップＳ３５６の処理が終了したかどうかを判断して、終了した場合は、メインルーチンにリターンし、終了していない場合は、ステップＳ３５０に進む。
【０２０４】
図５０は、図４５のステップＳ３０６のキャッチ判定処理の流れを示すフローチャートである。図５０に示すように、ステップＳ３６０にて、ＣＰＵ２０１は、落下オブジェクト７９のＸ座標Ｘｄを中心とした所定範囲に、キャラクタ７３のＸ座標Ｘｃが存在するかどうかを判定する。ステップＳ３６１にて、ＣＰＵ２０１は、落下オブジェクト７９のＸ座標Ｘｄを中心とした所定範囲に、キャラクタ７３のＸ座標Ｘｃが存在する場合は、ステップＳ３６２に進み、存在しない場合は、ステップＳ３６５に進む。ステップＳ３６２では、ＣＰＵ２０１は、落下オブジェクト７９のＹ座標Ｙｄとキャラクタ７３のＹ座標Ｙｃとの差が、所定範囲に入っているかどうかを判定する。ステップＳ３６３にて、ＣＰＵ２０１は、落下オブジェクト７９のＹ座標Ｙｄとキャラクタ７３のＹ座標Ｙｃとの差が、所定範囲に入っていない場合は、ステップＳ３６５に進み、入っている場合は、ステップＳ３６４に進む。ステップＳ３６４にて、ＣＰＵ２０１は、落下オブジェクト７９の消滅処理を実行する。具体的には、落下オブジェクト７９の表示座標を、スクリーン８２の範囲外とする。ステップＳ３６５では、ＣＰＵ２０１は、表示中の全落下オブジェクト７９について、ステップＳ３６０〜ステップＳ３６４の処理が終了したかどうかを判断して、終了した場合は、メインルーチンにリターンし、終了していない場合は、ステップＳ３６０に進む。
【０２０５】
さて、以上のように本実施の形態によれば、高速プロセッサ２００は、摺動操作部材２の摺動速さ｜Ｖａ｜に応じた画像信号ＶＤを生成する。このため、操作者は、摺動操作部材２の摺動速さを調節するだけで、表示される画像に変化を与えることができる。図９に示す例では、高速プロセッサ２００は、摺動操作部材２の摺動速さ｜Ｖａ｜に応じて、スクリーン８２上のキャラクタ７３の移動速さを制御する。このように、摺動操作部材２の摺動速さ｜Ｖａ｜を調節するだけで、表示されるキャラクタ７３の移動速さをコントロールできる。
【０２０６】
また、本実施の形態によれば、高速プロセッサ２００は、摺動操作部材２の摺動時間に応じた画像信号ＶＤを生成する。このため、操作者は、摺動操作部材２の摺動時間を調節するだけで、表示される画像に変化を与えることができる。図１０及び図１１に示す例では、高速プロセッサ２００は、摺動方向を変えることなく行われた摺動操作部材２の摺動時間に応じて、キャラクタ７３の移動距離を制御する。このように、摺動操作部材２の摺動時間を調節するだけで、表示されるキャラクタ７３の移動距離をコントロールできる。
【０２０７】
さらに、本実施の形態によれば、高速プロセッサ２００は、摺動操作部材２の摺動方向に応じた画像信号ＶＤを生成する。このため、操作者は、摺動操作部材２の摺動方向を調節するだけで、表示される画像に変化を与えることができる。図１２に示す例では、高速プロセッサ２００は、摺動操作部材２の摺動方向に応じて、キャラクタ７３の移動方向を制御する。このように、摺動操作部材２の摺動方向を調節するだけで、表示されるキャラクタ７３の移動方向をコントロールできる。
【０２０８】
さらに、本実施の形態によれば、発光ダイオード３６、フォトトランジスタ３４，３５、及び、反射パターン４３が形成された摺動操作部材２、によりリニアエンコーダを構成することで、簡易に、摺動速さ、摺動方向、及び、摺動時間を計測できる。
【０２０９】
さらに、本実施の形態によれば、高速プロセッサ２００は、メモリカートリッジ２９のＲＯＭ９１に格納されたプログラム３０１を実行して、そのＲＯＭ９１に格納された画像データ３０４及び楽曲データ３０７に基づき、画像信号ＶＤ及び音声信号ＡＬ，ＡＲを生成することもできる。このため、ユーザは、メモリカートリッジ２９を交換するだけで、様々なアプリケーションを利用できる。
【０２１０】
さらに、本実施の形態によれば、高速プロセッサ２００は、摺動操作部材２の摺動操作に基づくトリガに従って、音声信号ＡＬ，ＡＲを生成する。このため、操作者は、摺動操作部材２の摺動操作により、画像だけでなく、音声の発音をも制御できる。
【０２１１】
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
【０２１２】
（１）上記では、光センサユニット９０が出力するパルス信号Ａ，Ｂの状態遷移をソフトウエアカウンタにより検知したが、入出力制御回路２０９が有するハードウエアカウンタにより検知することもできる。
【０２１３】
（２）上記では、摺動操作部材２に、光吸収部４４と光反射部４５とからなる反射パターン４３を設け、反射型の光センサ９０により、反射光を検知した。しかし、このような反射型に限定されるものではなく、透過型にすることもできる。即ち、光透過部と遮光部とを交互に設けたパターンを、摺動操作部材２に設ける。そして、透過型の光センサにより、透過光を検知する。
【０２１４】
（３）図５１は、画像信号生成装置としての自動演奏装置の他の使用例の説明図である。図５１に示すように、自動演奏装置本体１をマスタとして、自動演奏装置本体１と自動演奏装置本体１０００とを、ケーブル４１１により接続し、二人の操作者で操作を行うこともできる。なお、自動演奏装置本体１０００及び摺動操作部材３は、自動演奏装置本体１及び摺動操作部材２と同じ機能を有する。
【０２１５】
ケーブル４１１は、自動演奏装置本体１のコネクタ２２と（図２（ｂ）参照）、自動演奏装置本体１０００のコネクタと（図示せず）、に接続される。ケーブル４１１は、自動演奏装置本体１０００の光センサユニット（光センサユニット９０に相当）が出力するパルス信号（パルス信号Ａ，Ｂに相当）を自動演奏装置本体１に伝送するための２本のライン、自動演奏装置本体１から自動演奏装置本体１０００に電源電圧Ｖｃｃ及び接地電圧ＧＮＤを供給するための２本の電源ライン（Ｖｃｃ，ＧＮＤ）、自動演奏装置本体１０００自体の電源をオフにするための信号を自動演奏装置本体１から与えるためのライン、及び、自動演奏装置本体１０００のビブラートスイッチのオン／オフ情報を自動演奏装置本体１に与えるためのライン、を含む。
【０２１６】
以上のように、２台の自動演奏装置本体１，１０００を接続することで、二人の操作者で、自動演奏やゲームを楽しむことができる。例えば、図９のランニングゲームの応用として、図５２に示すように、２つのキャラクタ７３，４１５を登場させ、一方を自動演奏装置本体１の操作者に制御させ、他方を自動演奏装置本体１０００の操作者に制御させることで、両者を競争させることもできる。なお、図５２の画面には、図９の画像に加えて、キャラクタ４１５に対するタイム表示部２６０及び現在位置指示オブジェクト２６１が表示される。
【０２１７】
（４）図１５の例では、光ファイバ９１と光ファイバ９２との距離をＬ／４として、パルス信号Ａとパルス信号Ｂとの位相差が、−９０度又は９０度になるようにした。しかし、この距離は、これに限定されるものではない。
【０２１８】
（５）実施の形態では、摺動操作部材２の摺動速さが、予め定められた閾値より大きくなり、かつ、摺動操作部材２の摺動方向が変化した場合に、トリガを発生させた。しかし、トリガの条件はこれに限定されない。例えば、摺動操作部材２の摺動速さが、予め定められた閾値より大きくなったことのみを条件にトリガを発生させてもよいし、あるいは、摺動操作部材２の摺動方向が変化したことのみを条件にトリガを発生させてもよい。
【０２１９】
（６）図１４の高速プロセッサ２００として、任意の種類のプロセッサを使用できるが、本件出願人が既に特許出願している高速プロセッサ（商品名：ＸａｖｉＸ）を用いることが好ましい。この高速プロセッサは、例えば、特開平１０−３０７７９０号公報およびこれに対応するアメリカ特許第６，０７０，２０５号に詳細に開示されている。
【図面の簡単な説明】
【０２２０】
【図１】本発明の実施の形態における画像信号生成装置としての自動演奏装置の全体構成を示す図。
【図２】（ａ）図１の自動演奏装置本体の平面図。（ｂ）図１の自動演奏装置本体の側面図。
【図３】図１の自動演奏装置本体の底面図。
【図４】（ａ）図１の摺動操作部材の側面図。（ｂ）図１の摺動操作部材の底面図。
【図５】（ａ）図２（ａ）に示した被摺動部の拡大図。（ｂ）図５（ａ）に示した光センサユニットの平面図。
【図６】図５（ａ）のＡ−Ａ断面図。
【図７】図５（ａ）のＢ−Ｂ断面図。
【図８】図１のテレビジョンモニタのスクリーンに表示される操作ガイド画面の例示図。
【図９】図１の自動演奏装置によるランニングゲーム画面の例示図。
【図１０】図１の自動演奏装置による飛行ゲーム開始画面の例示図。
【図１１】図１の自動演奏装置による飛行ゲーム開始後の画面の例示図。
【図１２】図１の自動演奏装置によるキャッチゲーム画面の例示図。
【図１３】図１の自動演奏装置本体の電気的な構成を示す図。
【図１４】図１３の高速プロセッサのブロック図。
【図１５】図１３の検知部の光ファイバの配置と摺動操作部材の反射パターンとの関係を示す図。
【図１６】（ａ）図２（ａ）の（＋）方向に摺動操作部材を摺動させたときの、フォトトランジスタが出力するパルスＡ，Ｂ信号を示す図。（ｂ）図２（ａ）の（−）方向に摺動操作部材を摺動させたときの、フォトトランジスタが出力するパルス信号Ａ，Ｂを示す図。
【図１７】図６のフォトトランジスタが出力するパルス信号Ａ，Ｂの状態遷移を示す図。
【図１８】図１３の検知部の回路図。
【図１９】図１３の外部ＲＯＭに格納されるプログラム及びデータの概念図。
【図２０】図１のスクリーンに表示されるオブジェクトを構成するスプライトの説明図。
【図２１】図１のテレビジョンモニタのスクリーンに表示されるバックグラウンドスクリーンの説明図。
【図２２】（ａ）バックグラウンドスクリーンをスクロールする前の説明図。（ｂ）バックグラウンドスクリーンをスクロールした後の説明図。
【図２３】図１４のグラフィックプロセッサのブロック図。
【図２４】図１４のサウンドプロセッサのブロック図。
【図２５】図２４のＤＡＣブロックのブロック図。
【図２６】図１の画像信号生成装置としての自動演奏装置によるランニングゲーム処理の流れを示すフローチャート。
【図２７】図２６のステップＳ１の初期設定処理の流れを示すフローチャート。
【図２８】図２６のステップＳ１１のパルスカウント処理の流れを示すフローチャート。
【図２９】図２６のステップＳ３のトリガ処理の流れを示すフローチャート。
【図３０】本実施の形態で定義する仮想座標の説明図。
【図３１】図３０の背景画像の部分拡大図。
【図３２】本実施の形態で使用する速度変換テーブルの例示図。
【図３３】図２６のステップＳ４のキャラクタ位置制御処理の流れを示すフローチャート。
【図３４】本実施の形態で使用するアニメーションテーブルの例示図。
【図３５】図２６のステップＳ５のキャラクタアニメーション処理の流れを示すフローチャート。
【図３６】図２６のステップＳ６の現在位置指示オブジェクト制御処理の流れを示すフローチャート。
【図３７】図２６のステップＳ７のタイムカウント処理の流れを示すフローチャート。
【図３８】図２６のステップＳ１０の音声処理の流れを示すフローチャート。
【図３９】図１の画像信号生成装置としての自動演奏装置による飛行ゲーム処理の流れを示すフローチャート。
【図４０】図３９のステップＳ２０３のキャラクタ位置算出処理の流れを示すフローチャート。
【図４１】図３９のステップＳ２０４のキャラクタ位置制御処理の流れを示すフローチャート。
【図４２】図３９のステップＳ２０５のキャラクタアニメーション制御の流れを示すフローチャート。
【図４３】図３９のステップＳ２０６の入力通知バー制御処理の流れを示すフローチャート。
【図４４】図３９のステップＳ２０７の飛行距離算出処理の流れを示すフローチャート。
【図４５】図１の画像信号生成装置としての自動演奏装置によるキャッチゲーム処理の流れを示すフローチャート。
【図４６】図４５のステップＳ３０３のキャラクタ制御処理の流れを示すフローチャート。
【図４７】本実施の形態における落下オブジェクト７９を出現させるためのタイムテーブルの例示図。
【図４８】図４５のステップＳ３０４の落下オブジェクト出現処理の流れを示すフローチャート。
【図４９】図４５のステップＳ３０５の落下オブジェクト位置制御処理の流れを示すフローチャート。
【図５０】図４５のステップＳ３０６のキャッチ判定処理の流れを示すフローチャート。
【図５１】図１の画像信号生成装置としての自動演奏装置の他の使用例の説明図。
【図５２】図９のランニングゲーム画面の他の例示図。
【符号の説明】
【０２２１】
１，１０００…自動演奏装置本体（画像信号生成装置本体）、２，３…摺動操作部材、１０…胴部、１１…スピーカ部、１２ａ，１２ｂ…選択キー、１２ｃ…キャンセルキー、１２ｄ…決定キー、１２ｅ…ビブラートスイッチ、１５…表示部、１６…ボリュームダイヤル、１７…ヘッドホン端子、１８，８１…ＡＶ端子、１９…電源端子、２０…ネック部、２２…コネクタ、２３…カートリッジソケット、２４…電源スイッチ、２５…リセットスイッチ、２７…カートリッジ挿入口、２９…メモリカートリッジ、３０…検知部、３１，３２…ガイド、３３…被摺動部、３４，３５…フォトトランジスタ、３６…発光ダイオード、４１…底面、４２…側面、４３…反射パターン、４４…光吸収部、４５…光反射部、５０…ＡＣアダプタ、６０…ＡＶケーブル、８０…テレビジョンモニタ、８２…スクリーン、９１，３００…外部ＲＯＭ、１００…発音長指示バー、１０１…操作指示枠、１０２…操作指示マーク、１０３…インジケータ、１０４…縦棒、１２０…キースイッチ群、２００…高速プロセッサ、２０１…ＣＰＵ、２０２…グラフィックプロセッサ、２０３…サウンドプロセッサ、２０４…ＤＭＡコントローラ、２０５…第１バス調停回路、２０６…第２バス調停回路、２０７…内部メモリ、２０８…ＡＤＣ（Ａ／Ｄコンバータ）、２０９…入出力制御回路、２１０…タイマ回路、２１１…ＤＲＡＭリフレッシュ制御回路、２１２…外部メモリインタフェース回路、２１３…クロックドライバ、２１４…ＰＬＬ回路、２１５…低電圧検出回路、２１６…水晶振動子、２１７…バッテリ、２１８…第１バス、２１９…第２バス、２２０…割込み要求信号、２２２…第１バス調停信号、２２３…第２バス調停信号、２２４…バッテリバックアップ制御信号、２２５…クロック信号、２２６，２２７…リセット信号、２２８…サイクル終了信号、２７０，４５０…制御回路、２７１…ＤＡＣブロック、２７２…ローカルメモリ、２７５…メインボリュームＤＡＣ、２７６…  チャンネルボリュームＤＡＣ、２７７…  エンベロープ（Ｌ）ＤＡＣ、２７８…  波形ＤＡＣ、２７９…  エンベロープ（Ｒ）ＤＡＣ、２８０…  波形ＤＡＣ、２８１，２８２…ミキシング回路、２８３…  チャンネルブロック、３０１…プログラム、３０４…画像データ、３０５…オブジェクト画像データ、３０６…背景画像データ、３０７…楽曲データ、３０８…楽譜データ、３０９…音源データ、４００…外部バス、４１１…ケーブル、４５１…スプライトメモリ、４５２…画素バッファ、４５３…カラーパレット、９０…光センサユニット、９１，９２…光ファイバ、９３…密着部材、９４…基板、７４…背景、７３，４１５…キャラクタ、７１，２６１…現在位置指示ブジェクト、７０…トータル距離指示バー、７２，２６０…タイム表示部、８８…マスク、７５…入力通知バー、７６…風船オブジェクト、７７…窓オブジェクト、７８…ライフオブジェクト、７９…落下オブジェクト、３０２…バックグラウンドスクリーン、２５２，２５５…検知回路、２５４…アンプ、２５３…ヒステリシス回路、３０３…背景画像、ｎ−０〜ｎ−６…音符マーク、ｓｐ１〜ｓｐ４…スプライト。
【図１】
2005230532.tif 000003
【図２】
2005230532.tif 000004
【図３】
2005230532.tif 000005
【図４】
2005230532.tif 000006
【図５】
2005230532.tif 000007
【図６】
2005230532.tif 000008
【図７】
2005230532.tif 000009
【図８】
2005230532.tif 000010
【図９】
2005230532.tif 000011
【図１０】
2005230532.tif 000012
【図１１】
2005230532.tif 000013
【図１２】
2005230532.tif 000014
【図１３】
2005230532.tif 000015
【図１４】
2005230532.tif 000016
【図１５】
2005230532.tif 000017
【図１６】
2005230532.tif 000018
【図１７】
2005230532.tif 000019
【図１８】
2005230532.tif 000020
【図１９】
2005230532.tif 000021
【図２０】
2005230532.tif 000022
【図２１】
2005230532.tif 000023
【図２２】
2005230532.tif 000024
【図２３】
2005230532.tif 000025
【図２４】
2005230532.tif 000026
【図２５】
2005230532.tif 000027
【図２６】
2005230532.tif 000028
【図２７】
2005230532.tif 000029
【図２８】
2005230532.tif 000030
【図２９】
2005230532.tif 000031
【図３０】
2005230532.tif 000032
【図３１】
2005230532.tif 000033
【図３２】
2005230532.tif 000034
【図３３】
2005230532.tif 000035
【図３４】
2005230532.tif 000036
【図３５】
2005230532.tif 000037
【図３６】
2005230532.tif 000038
【図３７】
2005230532.tif 000039
【図３８】
2005230532.tif 000040
【図３９】
2005230532.tif 000041
【図４０】
2005230532.tif 000042
【図４１】
2005230532.tif 000043
【図４２】
2005230532.tif 000044
【図４３】
2005230532.tif 000045
【図４４】
2005230532.tif 000046
【図４５】
2005230532.tif 000047
【図４６】
2005230532.tif 000048
【図４７】
2005230532.tif 000049
【図４８】
2005230532.tif 000050
【図４９】
2005230532.tif 000051
【図５０】
2005230532.tif 000052
【図５１】
2005230532.tif 000053
【図５２】
2005230532.tif 000054