(57)【特許請求の範囲】
【請求項１】
１画面分より広い範囲の表示情報がＣＰＵによって書き込まれるフレームメモリから読み出す１画面分の表示情報の読み出し領域を順次移動し、各読み出し領域の表示情報を表示装置へ転送することによって画面の表示内容を順次スクロールさせるグラフィックス制御装置において、スクロール開始時の前記読み出し領域を特定する読み出しアドレスを格納するアドレス格納手段と、１回のスクロール量を格納するスクロール量格納手段と、実行すべきスクロール回数及びスクロールの都度更新される実行すべきスクロール回数を格納するスクロール回数格納手段と、スクロールの都度、前記アドレス格納手段に格納されている読み出しアドレスを前記スクロール量に応じた値だけ更新する演算手段と、前記アドレス格納手段に格納されている読み出しアドレスを基に、表示情報を読み出すべきフレームメモリのアドレスを生成するアドレス生成手段とを備え、画面の表示内容を前記スクロール量に応じた量ずつ上下、左右又は斜め方向にスクロールすべくなしてあり、前記スクロール回数格納手段に格納された実行すべきスクロール回数のスクロールが終了したときに、ＣＰＵに対して割込みを発生する発生手段をさらに備えたことを特徴とするグラフィックス制御装置。
【請求項２】
前記スクロール量が、表示内容のスクロール元の所定位置からスクロール先の所定位置相当の位置までのピクセル数である請求項１記載のグラフィックス制御装置。
【請求項３】
前記スクロール量が、表示内容のスクロール元の所定位置からスクロール先の所定位置相当の位置までの、画面上の位置をＸＹ座標で表した場合における座標値である請求項１記載のグラフィックス制御装置。
【請求項４】
スクロール速度を決定すべき、表示情報の読み出し領域の移動頻度を格納するスクロール頻度格納手段を備えた請求項１乃至３のいずれかに記載のグラフィックス制御装置。
【請求項５】
フレームメモリのメモリ空間にその全領域が含まれる読み出し領域の読み出しアドレスの最大値及び最小値をそれぞれ格納する手段と、スクロール開始前に、格納しているスクロール量及びスクロール回数でのスクロールによって前記読み出しアドレスが前記最大値を超えるか否か、又は前記最小値を下回るか否かを判定する手段と、前記読み出しアドレスが前記最大値を超える場合、又は前記最小値を下回る場合に、スクロール量格納手段及びスクロール回数格納手段に格納されているスクロール量及びスクロール回数の誤りを外部に通知する手段とを備えた請求項１記載のグラフィックス制御装置。
【請求項６】
フレームメモリにその表示情報が書き込まれている第１の表示内容に続けて、フレームメモリにその表示情報が書き込まれていない第２の表示内容をスクロールによって連続的に表示する場合、第１の表示内容の表示情報が書き込まれているフレームメモリの領域内の所定位置にある読み出し領域の読み出しアドレスを格納する手段と、前記アドレス格納手段に格納されている読み出しアドレスを前記格納する手段に格納した所定位置の読み出し領域の読み出しアドレスと比較する手段と、比較の結果、前記アドレス格納手段に格納されている読み出しアドレスが、前記格納する手段に格納した所定位置の読み出し領域の読み出しアドレスより大きい場合、又は一致した場合に、ＣＰＵに第２の表示内容の表示情報をフレームメモリへ書き込ませる割込みを発生する手段とを備えた請求項１記載のグラフィックス制御装置。
【請求項７】
スクロールを中断する手段と、スクロール中断時までに終了したスクロール回数を示す情報を外部に出力する手段とを備えた請求項１記載のグラフィックス制御装置。
【請求項８】
スクロールを中断する手段と、スクロール中断時までに終了したスクロールの積算量を示す情報を外部に出力する手段とを備えた請求項１記載のグラフィックス制御装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、アニメーションの背景，カーナビゲーションの地図等のような１画面分より広い範囲の表示情報を書き込める容量を備えたフレームメモリから読み出す１画面分の表示情報の読み出し領域を順次移動することによって画面の画像をスクロールさせるグラフィックス制御装置に関する。
【０００２】
【従来の技術】
グラフィックスコンピュータにおいて、ＣＲＴ，液晶ディスプレイ等の表示装置に画像を表示する場合、画像を構成する各ピクセルの色，濃淡等の表示情報は、画面表示用に設けられたフレームメモリに一旦書き込まれ、グラフィックス制御装置が各ピクセルの表示情報を表示装置へ連続的に転送して画像が表示される。
【０００３】
図９はグラフィックス制御装置により、１画面分以上の容量を備えたフレームメモリから表示装置へ表示情報を転送する順序を示す模式図である。グラフィックス制御装置は、表示の初期にＣＰＵから与えられるフレームメモリからの各ピクセルの表示情報の読み出しアドレスを自動的に更新しながら、図中、矢符で示すように、表示装置の画面の左上端から右方向へ１スキャンライン分の各ピクセルの表示情報を転送し、スキャンラインの右端に達した時点で次のスキャンラインの左端のピクセルから表示情報の転送を開始する。以上を上から下の各スキャンラインに対して繰り返す。このとき、表示装置が例えばＣＲＴの場合、画面の右端から次のスキャンラインの左端へビームを移動させる期間と、１画面の表示が完了した画面右下端から次画面の表示を開始する画面左上端までビームを移動させる期間（垂直帰線期間）とは表示情報の転送を必要としない。
【０００４】
また、アニメーションの背景，カーナビゲーションの地図等、１画面分以上の画像をスクロールによって連続的に表示する機能が設けられているグラフィックスコンピュータでは、１画面分以上の画像全体の表示情報をフレームメモリに書き込んでおき、１画面分の表示情報を読み出す領域を１ピクセル分等の僅かな量ずつ移動させて画面の表示内容を僅かずつスムース・スクロールさせ、ユーザに視覚的な違和感を与えないようにしている。
【０００５】
図10は、１画面分以上の、ハッチングを付した円で示される画像の表示情報が書き込まれているフレームメモリと、１画面分の表示情報が読み出される表示領域とのスクロール時の関係を示す概念図である。図10(a) に示す表示領域を、図10(b) に示すフレームメモリ上の位置に移動することで、画面に表示されている画像が相対的に左へスクロールする。
【０００６】
また、１画面分以上の容量のフレームメモリに書き込める範囲よりさらに広い範囲に連続する画像をスクロール表示する場合について、図11に示す、フレームメモリの描画領域（表示情報が実際に格納されている領域）と１画面分の表示情報が読み出される表示領域との関係を示す概念図を基に説明する。表示領域を図11(a) に矢符で示す右方向に移動し、図11(b) に示すように、表示領域の右端が、表示領域の移動方向にある描画領域の右端に達する直前に、この表示領域から描画領域の右端までの内容を、図11(c) に示すように描画領域の左半部にコピーし、表示領域の移動方向である描画領域の右半部に、スクロールによって続けて表示すべき新たな画像の表示情報を書き込む。表示内容のコピーにより図11(c) に示す位置に移動した表示領域が右方向に移動することにより、描画領域の右半部に新たに書き込まれた画像が連続的にスクロール表示される。
【０００７】
【発明が解決しようとする課題】
ところで、従来のグラフィックス制御装置は、前述のように、フレームメモリからの読み出しアドレスの初期値としてＣＰＵによりレジスタに設定された表示領域の代表点のアドレス、一般的には表示領域の左上のアドレスに、表示情報の転送タイミングに同期して所定値を加算してフレームメモリからの読み出しアドレスを自動的に生成し、各ピクセルの表示情報を表示装置に連続的に転送していく。しかし、グラフィックス制御装置が１画面分の表示情報を転送し終わらないうちに、即ち、更新するアドレスが垂直帰線期間のアドレスに達しない前に、ＣＰＵがレジスタの初期値を次の表示領域の読み出しアドレスの初期値に更新してしまった場合、更新後の初期値に所定値を加算して生成される読み出しアドレスから転送される表示情報が次の画面の図形の表示情報となってしまい図形がずれて表示される。従って、このようなことが起きないように、ＣＰＵはグラフィックス制御装置の動作を周期的に監視しながら、グラフィックス制御装置による表示情報の転送動作が垂直帰線期間にあることを確認したうえでレジスタに設定する読み出しアドレスの初期値を更新するといった処理をスクロールの間中、繰り返さなければならないので、スクロール時のＣＰＵの負荷が大きい。
【０００８】
また、従来のグラフィックス制御装置を用いて１画面分以上の容量のフレームメモリの内容を書き換えながら、フレームメモリの容量以上のさらに広範な画像をスクロールで連続的に表示する場合、ＣＰＵは、表示領域が描画領域の境界に達する直前、即ち、フレームメモリから読み出すべき表示情報がなくなる直前に、表示中の表示情報を他の領域にコピーして表示領域の移動方向にある領域を次に表示する範囲の表示情報の書き込み用に空け、表示領域の移動方向に次の範囲の表示情報を書き込まなければならないので、ＣＰＵはグラフィックス制御装置により移動される表示領域の位置を周期的に監視しなければならず、スクロール時のＣＰＵの負荷が大きい。
【０００９】
本発明はこのような問題点を解決するためになされたものであって、１回のスクロール量，スクロール回数等のスクロールに関連する値をＣＰＵが１回設定するだけで自動的にスクロールを設定回数だけ繰り返す構成とすることにより、スクロール時のＣＰＵの負荷を軽減するグラフィックス制御装置の提供を目的とする。
【００１０】
【課題を解決するための手段】
第１発明のグラフィックス制御装置は、１画面分より広い範囲の表示情報がＣＰＵによって書き込まれるフレームメモリから読み出す１画面分の表示情報の読み出し領域を順次移動し、各読み出し領域の表示情報を表示装置へ転送することによって画面の表示内容を順次スクロールさせるグラフィックス制御装置において、スクロール開始時の前記読み出し領域を特定する読み出しアドレスを格納するアドレス格納手段と、１回のスクロール量を格納するスクロール量格納手段と、実行すべきスクロール回数及びスクロールの都度更新される実行すべきスクロール回数を格納するスクロール回数格納手段と、スクロールの都度、前記アドレス格納手段に格納されている読み出しアドレスを前記スクロール量に応じた値だけ更新する演算手段と、前記アドレス格納手段に格納されている読み出しアドレスを基に、表示情報を読み出すべきフレームメモリのアドレスを生成するアドレス生成手段とを備え、画面の表示内容を前記スクロール量に応じた量ずつ上下、左右又は斜め方向にスクロールすべくなしてあり、前記スクロール回数格納手段に格納された実行すべきスクロール回数のスクロールが終了したときに、ＣＰＵに対して割込みを発生する発生手段をさらに備えたことを特徴とする。
【００１１】
第２及び第３発明のグラフィックス制御装置は、表示内容のスクロール元の所定位置からスクロール先の所定位置相当の位置までのピクセル数、又は画面上の位置をＸＹ座標で表した場合の座標値を、第１発明におけるスクロール量として格納することを特徴とする。
【００１３】
第４発明のグラフィックス制御装置は、第１発明に加えて、スクロール速度を決定する、表示情報の読み出し領域の移動頻度を格納するスクロール頻度格納手段を備えたことを特徴とする。
【００１５】
第５発明のグラフィックス制御装置は、第１発明に加えて、スクロール量格納手段及びスクロール回数格納手段が格納しているスクロール量及びスクロール回数でのスクロールによって、読み出し領域の読み出しアドレスが、フレームメモリのメモリ空間にその全領域が含まれる読み出し領域の読み出しアドレスの最大値を超えるか又は最小値を下回るかを判定する手段と、読み出し領域がフレームメモリのアドレス空間からはみ出る場合に、スクロール量格納手段及びスクロール回数格納手段に格納されているスクロール量及びスクロール回数の誤りを外部に通知する手段とを備えたことを特徴とする。
【００１６】
第６発明のグラフィックス制御装置は、第１発明に加えて、スクロール途中の読み出し領域の読み出しアドレスを基に、読み出し領域がその移動方向にあるフレームメモリのアドレス空間の境界に近づいたか否かを判定する手段と、読み出し領域がその移動方向にあるフレームメモリのアドレス空間の境界に近づいた場合に、ＣＰＵに、表示中の第１の表示内容に続けて表示すべき第２の表示内容の表示情報をフレームメモリに書き込ませる割込みを発生する手段とを備えたことを特徴とする。
【００１７】
第７及び第８発明のグラフィックス制御装置は、第１発明に加えて、スクロール中にスクロールを中断し、中断時までに終了したスクロール回数又はスクロールの積算量を示す情報を外部に出力する手段を備えたことを特徴とする。
【００１８】
第１発明のグラフィックス制御装置は、スクロール量，実行すべきスクロール回数等のスクロールに関する情報をスクロール開始時に格納するだけで、スクロール開始時の読み出し領域を特定する読み出しアドレスを、スクロールの都度、スクロール量に応じた値だけ更新し、各回のスクロールではアドレス格納手段に格納されている読み出しアドレスを基に、表示情報を読み出すべきフレームメモリのアドレスを生成して上下，左右又は斜め方向へのスクロールを自動的に行う。従って、ＣＰＵはフレームメモリからの表示情報の読み出しアドレスを周期的に監視して次のスクロールにおける読み出し領域の読み出しアドレスへの更新タイミングを図る必要がなく、負荷が軽減される。
【００１９】
第２又は第３発明のグラフィックス制御装置は、表示内容のスクロール元の所定位置からスクロール先の所定位置相当の位置までのピクセル数、又は表示内容のスクロール元の所定位置からスクロール先の所定位置相当の位置までの、画面上の位置をＸＹ座標で表した場合における座標値を、第１発明におけるスクロール量として格納する。特に、ＸＹ座標値によるスクロール量は、ユーザにとって直観的にスクロール量を把握でき、ユーザインタフェースに優れる。
【００２１】
第４発明のグラフィックス制御装置は、読み出し領域の移動頻度により決定される任意のスクロール速度でスクロールし、多様なスクロールを可能にする。
【００２３】
第５発明のグラフィックス制御装置は、スクロールを開始する前に、スクロール量格納手段及びスクロール回数格納手段に格納されているスクロール量及びスクロール回数でのスクロール結果を予測して、スクロールにより読み出し領域ガフレームメモリのアドレス空間をはみ出す場合は、これらの値の誤りを外部に通知する。従って、ユーザはスクロールの開始前にスクロール量及びスクロール回数の誤りを容易に知ることができ、ユーザインタフェースに優れる。
【００２４】
第６発明のグラフィックス制御装置は、フレームメモリにその表示情報が書き込まれている第１の表示内容に続けて、フレームメモリにその表示情報が書き込まれていない第２の表示内容をスクロールによって連続的に表示する場合、スクロール途中の読み出し領域の位置が、スクロールに伴う読み出し領域の移動方向のフレームメモリの境界に近づいた所定位置に達した時点で、割込み等によって、連続して表示すべき第２の表示内容の表示情報をＣＰＵに書き込ませる。従って、ＣＰＵは読み出し領域の位置を定期的に監視する必要がなくなり、負荷が軽減される。
【００２５】
第７及び第８発明のグラフィックス制御装置は、スクロール中にスクロールを中断し、中断時までに終了したスクロール回数又はスクロールの積算量を示す情報を外部に出力する。従って、例えば、スクロール動作を制御するソフトウェアの開発環境等で、中断時までのスクロール量及びスクロール回数が容易に把握できる。
【００２６】
【実施例】
以下、本発明をその実施例を示す図に基づいて説明する。
〔実施例１〕
図１は本発明のグラフィックス制御装置が組み込まれたグラフィックスコンピュータの一実施例の構成を示すブロック図である。ＣＰＵ１はフレームメモリ２に図形を描画し、グラフィックス制御装置３にスクロール量，スクロール回数等のスクロールに関する情報をスクロールに先立って１回設定し、スクロール動作の制御をグラフィックス制御装置３に渡す。グラフィックス制御装置３は、ＣＰＵ１によって設定された値を基にスクロールを実行する。グラフィックス制御装置３は、フレームメモリ２に書き込まれている表示情報をパラレル−シリアル変換器５へ出力し、パラレル−シリアル変換器５はこのパラレルな表示情報をシリアルなビデオ信号に変換してＣＲＴ４に転送する。
【００２７】
グラフィックス制御装置３の構成を以下に説明する。グラフィックス制御装置３はレジスタ31として、表示情報の読み出し領域である表示領域のスクロール開始初期のアドレス、一般的にはＣＲＴ４の表示領域の左上のピクセルの表示情報が格納されているアドレス、即ち、表示領域の左上のアドレスを格納する表示アドレスレジスタＢＳ3101、ピクセル数，ＸＹ座標値，アドレス値等によるスクロール量を格納するスクロール量設定レジスタＤＢ3102、例えばダウンカウンタからなり、スクロールの都度、カウント値が１ずつ減じられ、実行されたスクロール回数をダウンカウントするスクロール回数設定レジスタＣＲ3103、スクロール速度を決定する表示領域の移動頻度を格納するスクロール頻度設定レジスタＦＲ3104、例えば０以外の値が設定されるた場合にグラフィックス制御装置３によるスクロールを開始させ、スクロール終了時に自動的に０に初期化されるスクロール開始レジスタＳＳ3105、例えば０以外の値が設定された場合、スクロールが正常に終了した時点でＣＰＵ１に対する割込みを発生し、スクロールの終了をＣＰＵ１に通知するスクロール終了通知レジスタＥＮ3106を備える。また、この他に、図示は省略するが、ＣＲＴ４の１スキャンラインあたりのピクセル数を指定する画面幅指定レジスタＷＲ、１ピクセルあたりの表示情報のビット数を指定するピクセルサイズ指定レジスタＰＲも備える。
【００２８】
スクロール量設定レジスタＤＢ3102、スクロール回数設定レジスタＣＲ3103、及びスクロール頻度設定レジスタＦＲ3104はｎ組設けられており、ｎ種類の値をそれぞれ設定することにより、スクロール量，スクロール回数，スクロール速度等がそれぞれ異なるｎ種類の複雑なスクロールを行うことができる。
なお、表示アドレスレジスタＢＳ3101には、各ピクセルの表示情報に充てられるビット数によって、１ピクセルが８ビットであれば、１バイト毎に付されるアドレスそのものが、１ピクセルが４ビットであれば、８ビットのうちの上位の４ビットであるか下位の４ビットであるかを示す１ビットの拡張ビットを持たせたアドレスデータが、また１ピクセルが２ビットであれば、同様に８ビットのうちの何組目の２ビットであるかを示す２ビットの拡張ビットを持たせたアドレスデータが、また１ピクセルが１ビットであれば、同様に８ビットのうちの何ビット目であるかを示す３ビットの拡張ビットを持たせたアドレスデータが格納される。
【００２９】
アドレス生成部32は、表示アドレスレジスタＢＳ3101に格納されているアドレスデータを読み出し、ＣＲＴ４に転送すべき表示情報のフレームメモリ２からの読み出しアドレスを生成する。同期信号生成部33は、スクロール開始レジスタＳＳ3105への０以外の値の設定、スクロール頻度設定レジスタＦＲ3104に設定されたスクロール頻度等に応じて、フレームメモリ２からパラレル−シリアル変換器５への表示情報の転送、パラレル−シリアル変換器５からＣＲＴ４へのビデオ信号の転送等の同期信号を生成し、各部に供給する。演算部34は、スクロールの都度、スクロール量設定レジスタＤＢ3102に設定されたスクロール量に応じた値を表示アドレスレジスタＢＳ3101の値に加算して表示アドレスレジスタＢＳ3101のアドレスデータを更新する。割込み生成部35は、スクロール回数設定レジスタＣＲ3103に設定された回数のスクロールが正常に終了したとき等にＣＰＵ１に対して割込みを発生する。制御部36は以上の各部の動作を制御する。
【００３０】
図２はＣＲＴ４の画面上の各ピクセルと各ピクセルの表示情報のフレームメモリ２内での記憶位置との対応を示す模式図である。各ピクセルの表示情報は白黒、カラー、濃淡等に応じた数の、またカラーであれば色数に応じた数のビットで構成される。各ピクセルの表示情報はＣＲＴ４の左上から左下に向けて、フレームメモリ２の下位から上位の、ＣＲＴ上の各ピクセルの位置に対応するアドレスに格納される。
【００３１】
以上のような構成の本発明のグラフィックス制御装置のスクロール手順の概略を図３のフローチャートに基づいて説明する。
ＣＰＵ１により設定されたスクロール開始時における読み出しアドレスの初期値・スクロール量・スクロール回数・スクロール頻度を、表示アドレスレジスタＢＳ3101、スクロール量設定レジスタＤＢ3103、スクロール回数設定レジスタＣＲ3104、スクロール頻度設定レジスタＦＲ3105にそれぞれ格納する（Ｓ１）。ＣＰＵ１により設定された０以外の値をスクロール開始レジスタＳＳ3105に格納してスクロールを開始する（Ｓ２）。スクロールの開始とともに、スクロール回数設定レジスタＣＲ3103の値を１だけ減ずる（Ｓ３）。アドレス生成部32は表示アドレスレジスタＢＳ3101の値に所定値を加算しながら更新し、フレームメモリ２からの表示情報の読み出しアドレスを生成する（Ｓ４）。
【００３２】
アドレス生成部32により生成されたフレームメモリ２の読み出しアドレスから表示情報を読み出し、パラレル−シリアル変換器５を介してＣＲＴ４に表示情報を転送する（Ｓ５）。１画面の表示が終了すると、スクロール回数設定レジスタＣＲ3103のカウント値が０以下、即ち、設定された回数のスクロールが終了したか否かを判定する（Ｓ６）。終了していない場合は、演算部34が表示アドレスレジスタＢＳ3101の値をスクロール量に応じた値だけ更新し（Ｓ７）、次の画面の読み出しアドレスの初期値が表示アドレスレジスタＢＳ3101に格納される。このように読み出しアドレスの初期値を更新しながらステップＳ３〜Ｓ７を繰り返し、表示内容をスクロールする。設定された回数のスクロールが終了すると、第２〜第ｎのスクロール量設定レジスタＤＢ3102、スクロール回数設定レジスタＣＲ3103、スクロール頻度設定レジスタＦＲ3104に値が設定されているか否か、即ち、他の設定値でのスクロールを行うか否かを判定する（Ｓ８）。スクロールが終了でない場合はステップＳ１に戻り、第２〜第ｎのレジスタの設定値でステップＳ１〜Ｓ７を繰り返す。１種類又は複数種のスクロールが正常終了すると、ＣＰＵ１に対した割込みを発生し、スクロールの正常終了を通知する（Ｓ９）。
【００３３】
次に、本実施例のグラフィックス制御装置のスクロール動作について具体的に説明する。図４は本発明のグラフィックス制御装置のスクロール動作において、１画面分の表示情報が読み出される表示領域と、フレームメモリ２の、表示情報が実際に格納されている描画領域の表示情報により描画される図形との関係を示す概念図である。なお、説明の簡単のため、各レジスタの名称は記号で略記する。
本実施例では１ピクセルの表示情報に１バイトが充てられ、スクロール量を、図形のスクロール元の所定位置から、スクロール先の所定位置相当の位置までのピクセル数で設定するものとする。また、スクロール頻度は１表示周期の単位で指定するものとする。なお、ＣＲＴ４の１スキャンラインのピクセル数をｘ１、即ちＷＲ＝ｘ１、また１ピクセルあたりのビット数を８ビット、即ちＰＲ＝８とする。
【００３４】
(1) 図４(a) の状態で、
ＤＢ１＝１，ＤＢ２〜ＤＢｎ＝０
ＣＲ１＝10，ＣＲ２〜ＣＲｎ＝０
ＦＲ１＝１，ＦＲ２〜ＦＲｎ＝０
が設定され、ＳＳに０以外の値を設定されるとスクロールが開始する。１表示周期あたり１ピクセルずつ表示領域を右に移動し、図形を１ピクセルずつ左にスクロールする。最後に図形を10ピクセル左にスクロールした状態でスクロールを終了する（図４(b) ）。
【００３５】
(2) 図４(a) の状態で、ＤＢ１＝−１が設定され、その他のレジスタが(1) と同じ値に設定された場合、図形を10ピクセル右にスクロールした状態でスクロールを終了する（図４(c) ）。
(3) 図４(a) の状態で、ＤＢ１＝ｘ１が設定され、その他のレジスタが(1) と同じ値に設定された場合、図形を10ピクセル上にスクロールした状態でスクロールを終了する（図４(d) ）。
(4) 図４(a) の状態で、ＤＢ１＝−ｘ１が設定され、その他のレジスタが(1) と同じ値に設定されてスクロールを開始した場合、図形を10ピクセル下にスクロールした状態でスクロールを終了する（図４(e) ）。
【００３６】
(5) 図４(a) の状態で、レジスタが(1) と同じ値に設定されてスクロールを開始した後、スクロール終了前にＳＳに０が設定されるとスクロールを中断する。中断した時点のＣＲ１の値が５の場合、図形は元の位置から５ピクセル左にスクロールした状態でスクロールが中断されている（図４(f) ）。
中断時のＣＲ１の値は所定の手続きで読み出すことができ、例えば、スクロール動作を制御するソフトウェアは、スクロール中断時のスクロール回数を容易に知ることができる。
【００３７】
(6) 図４(a) の状態で、ＦＲ１＝５が設定され、その他のレジスタが(1) と同じ値に設定された場合、表示領域を５表示周期毎に１ピクセルずつ右に移動し、図形を左にスクロールする。最後に図形を10ピクセル左にスクロールした状態でスクロールを終了するが（図４(b) ）、スクロールのスピードは上述の(1) の場合の１／５である。
(7) 図４(a) の状態で、
ＤＢ１＝１，ＤＢ２＝−ｘ１，ＤＢ３〜ＤＢｎ＝０
ＣＲ１＝１，ＣＲ２＝20，ＣＲ３〜ＣＲｎ＝０
ＦＲ１＝１，ＦＲ２＝５，ＦＲ３〜ＦＲｎ＝０
が設定された場合、表示領域を、１表示周期毎に１ピクセルずつ、合計10ピクセル右に移動した後、５表示周期毎に１ピクセルずつ合計20ピクセル上に移動してスクロールを終了する。即ち、図形を10ピクセル左にスクロールした後（図４(b) ）、20ピクセル下に、初回のスクロールの１／５のスピードでスクロールする（図４(g) ）。
【００３８】
(8) 図４(a) の状態で、
ＤＢ１＝（ｘ１−１），ＤＢ２〜ＤＢｎ＝０
ＣＲ１＝１０，ＣＲ２〜ＣＲｎ＝０
ＦＲ１＝１，ＦＲ２〜ＦＲｎ＝０
が設定された場合、表示領域を、１表示周期毎に左に１ピクセル、下に１ピクセルずつ移動するので、図形は１表示周期毎に右に１ピクセル、上に１ピクセルずつスクロールし、図形を右に10ピクセル、上に10ピクセル移動した状態でスクロールを終了する（図４(h) ）。
【００３９】
〔実施例２〕
図５は本発明のグラフィックス制御装置が組み込まれたグラフィックスコンピュータの他の実施例の構成を示すブロック図である。なお、図１の実施例と同一、又は相当部分には同一符号を付してその説明を省略する。本実施例では、スクロール量がピクセル数又はアドレスで設定されるスクロール量設定レジスタＤＢ3102の替わりに、スクロール量をＣＲＴ４の画面上をＸＹ座標で表した場合のＸＹ座標の値で設定するものであって、Ｘ軸方向のスクロール量を格納するＸ方向スクロール量設定レジスタＸＲ3107と、Ｙ軸方向のスクロール量を格納するＹ方向スクロール量設定レジスタＹＲ3108とがｎ組設けられ、さらに、Ｘ軸方向のスクロールの積算量を示す情報を格納するＸ方向スクロール積算量レジスタＸＳ3112と、Ｙ軸方向のスクロールの積算量を示す情報を格納するＹ方向スクロール積算量レジスタＹＳ3113とが設けられている。
なお、本実施例ではスクロール頻度設定レジスタＦＲを設けず、スクロールの頻度は１表示周期に１回の固定値として説明するが、実施例１と同様に１個又はｎ個のスクロール頻度設定レジスタＦＲを設け、任意のスクロール頻度、又は複数種のスクロール頻度を設定する構成としてもよい。
また、本実施例では簡単のためスクロール終了通知レジスタＥＮを図示省略した。
【００４０】
次に、本実施例のグラフィックス制御装置のスクロール動作について説明する。
(1) 図４(a) の状態で、
ＸＲ１＝−１、ＸＲ２〜ＸＲｎ＝０
ＹＲ１〜ＹＲｎ＝０
ＣＲ１＝10、ＣＲ２〜ＣＲｎ＝０
が設定され、ＳＳに０以外の値が設定されるとスクロールを開始する。１表示周期あたり１ピクセルずつ表示領域を右に移動し、図形を１ピクセルずつ左に（＝Ｘ軸のマイナス方向に１ピクセルずつ）スクロールする。最後に図形をＸ軸のマイナス方向に10ピクセルスクロールした状態でスクロールが終了する（図４(b) ）。
【００４１】
(2) 図４(a) の状態で、ＸＲ１＝１が設定され、その他のレジスタが(1) と同じ値に設定された場合、図形を10ピクセル右（＝Ｘ軸のプラス方向）にスクロールした状態でスクロールを終了する（図４(c) ）。
(3) 図４(a) の状態で、ＸＲ１＝０、ＹＲ１＝１が設定され、その他のレジスタが(1) と同じ値に設定された場合、図形を10ピクセル上（＝Ｙ軸のプラス方向）にスクロールした状態でスクロールを終了する（図４(d) ）。
(4) 図４(a) の状態で、ＸＲ１＝０、ＹＲ１＝−１が設定され、その他のレジスタが(1) と同じ値に設定されてスクロールを開始した場合、図形を10ピクセル下（＝Ｙ軸のマイナス方向）にスクロールした状態でスクロールを終了する（図４(e) ）。
【００４２】
(5) 図４(a) の状態で、ＣＲ１＝10が設定され、その他のレジスタが(1) と同じ値に設定されてスクロールを開始した後、スクロール終了前にＳＳに０が設定されるとスクロールを中断する。中断した時点でＸＳ＝−１、ＹＳ＝０の場合、図形は元の位置からＸ方向に−５スクロールした状態でスクロールが中断されている（図４(f) ）。
【００４３】
(6) 図４(a) の状態で、
ＸＲ１＝−１、ＸＲ２〜ＸＲｎ＝０
ＹＲ１＝０、ＹＲ２＝−１、ＹＲ３〜ＹＲｎ＝０
ＣＲ１＝10、ＣＲ２＝20、ＣＲ３〜ＣＲｎ＝０
が設定された場合、表示領域を１表示周期毎に１ピクセルずつ合計10ピクセル右（Ｘ軸のプラス方向）に移動した後、１表示周期毎に１ピクセルずつ合計20ピクセル上（Ｙ軸のプラス方向）に移動する。即ち、図形を１表示周期毎に１ピクセルずつ合計10ピクセル左（Ｘ軸のマイナス方向）にスクロールした後、１ピクセルずつ下（Ｙ軸のマイナス方向）にスクロールした状態でスクロールを終了する（図４(g) ）。
【００４４】
(7) 図４(a) の状態で、
ＸＲ１＝１、ＸＲ２〜ＸＲｎ＝０
ＹＲ１＝１、ＹＲ２〜ＹＲｎ＝０
ＣＲ１＝10、ＣＲ２〜ＣＲｎ＝０
が設定された場合、図形を１表示周期毎にＸ軸のプラス方向に１ピクセルずつ、Ｙ軸のプラス方向に１ピクセルずつスクロールし、最終的にはＸ軸のプラス方向に10ピクセル、Ｙ軸のプラス方向に10ピクセルスクロールした状態でスクロールを終了する（図４(h) ）。
【００４５】
以上のように、スクロール量をＸＹ座標で設定するので、例えばスクロール動作を制御するソフトウェアの開発環境でスクロール量を直観的に設定できるユーザインタフェースを提供する。
【００４６】
〔実施例３〕
図６は本発明のグラフィックス制御装置が組み込まれたグラフィックスコンピュータの他の実施例の構成を示すブロック図である。なお、図１の実施例と同一、又は相当部分には同一符号を付してその説明を省略する。本実施例では、実施例１のレジスタ群に加えて、表示アドレスレジスタＢＳ3101に設定されるアドレスの上限値、即ち、１画面分の表示情報の全部を読み出し得る表示領域の表示アドレスの上限値を格納する上限レジスタＭＡＸ3109と、表示アドレスレジスタＢＳ3101に設定されるアドレスの下限値、即ち、１画面分の表示情報の全部を読み出し得る表示領域の表示アドレスの下限値を格納する下限レジスタＭＩＮ3110と、スクロールのモード値を格納するモードレジスタＭＯＤＥ3111が設けられている。
【００４７】
モードレジスタＭＯＤＥ3111に０が設定された場合は上限レジスタＭＡＸ3109、下限レジスタＭＩＮ3110に設定された値は意味を持たない。モードレジスタＭＯＤＥ3111に１が設定された場合は設定されたスクロール量及びスクロール回数でのスクロールの結果として表示アドレスレジスタＢＳ3101の値が上限レジスタＭＡＸ3109の設定値以上になるとき、又は下限レジスタＭＩＮ3110の設定値以下になるときにスクロール開始の時点でＣＰＵ１に割込みを発生して設定の誤りを通知する（事前通知モード）。モードレジスタＭＯＤＥ3111に２が設定された場合は設定されたスクロール量及びスクロール回数でのスクロールの途中で表示アドレスレジスタＢＳ3101の値が上限レジスタＭＡＸ3109の設定値以上になるとき、又は下限レジスタＭＩＮ3110の設定値以下になるときにＣＰＵ１に割込みを発生して次の範囲の図形の表示データの書き込みを通知する（動作時通知モード））。
【００４８】
なお、本実施例ではスクロール頻度設定レジスタＦＲを設けず、スクロールの頻度は１表示周期に１回の固定値として説明するが、実施例１のように１個又はｎ個のスクロール頻度設定レジスタＦＲを設け、任意のスクロール頻度、又は複数種のスクロール頻度を設定する構成としてもよい。
また、本実施例では簡単のためスクロール終了通知レジスタＥＮを図示省略した。
さらに、実施例１と同様、スクロール量設定レジスタＤＢ3102、スクロール回数設定レジスタＣＲ3103を複数組設けてもよい。
【００４９】
次に、各モードの動作について説明する。
(1) 事前通知モード
図７はＭＯＤＥ＝１が設定された事前通知モードでのスクロール時のフレームメモリと１画面分の表示領域との関係を示す概念図である。本実施例では表示領域のサイズを横ｘ０ピクセル×縦ｙ０ピクセル、またフレームメモリのサイズを横ｘ１ピクセル×縦ｙ１ピクセルとし、フレームメモリのアドレス範囲をＡ０〜Ａ１（Ａ１を含まない：Ａ１＝Ａ０＋ｘ１×ｙ１）とする。この場合、表示領域を特定する代表アドレスがＣＲＴ１の表示領域の左上のピクセルの表示情報が格納されているアドレス、即ち左上のアドレスであるとすると、ＭＩＮ＝Ａ０（図７(b) ）、ＭＡＸ＝Ａ１−（ｙ０×ｘ１）＋（ｘ１−ｘ０）（図７(c) ）が設定される。
【００５０】
図７(a) の状態で、ＤＢ＝ｘ１、ＣＲ＝ｙ１が設定された場合、スクロールの結果、表示領域は図７(d) の位置に移動する。この位置でのＢＳの値はＭＡＸの設定値以上になるので、スクロールを開始せずにＣＰＵ１に対して割込みを発生し、設定の誤りをＣＰＵ１に通知する。
このようにしてスクロールの開始前に設定値の誤りを通知する機能は、例えばグラフィックス制御装置にスクロール動作を行わせるソフトウェアの開発環境でより良いユーザインタフェースを提供できる。
【００５１】
(2) 実行時通知モード
図８はＭＯＤＥ＝２が設定された実行時通知モードでのスクロール時及びフレームメモリの表示情報の書き換え時におけるフレームメモリと１画面分の表示領域との関係を示す概念図である。このモードは、スクロールにより、フレームメモリ２に現在その表示情報が書き込まれている第１の画像に連続して第２の画像を表示する場合に利用される。
図８(a) の状態で、
ＤＢ＝ｘ１
ＣＲ＝ｙ１
ＭＡＸ＝〔図８(a) の破線で示す位置の表示領域の左上のアドレス〕
なお、この破線で示す位置は、スクロールによって表示領域がフレームメモリの境界に近づき、以後のスクロールに不要となった領域が第２の画像の表示内容を書き込むのに充分な広さに達しており、しかも、後述する、ＣＰＵ１による第１の画像の表示内容の他の領域へのコピー，表示アドレスの更新等に要する時間内のスクロール量を充分に残した位置に設定する。
【００５２】
以上のような値が設定され、スクロールを開始した場合、スクロールの途中で表示領域が図８(a) の破線で示す位置に達したとき、即ち、スクロールの都度、スクロール量設定レジスタＤＢ3102に設定されたスクロール量に応じたアドレスずつ演算部34が更新する表示アドレスレジスタＢＳ3101の値と、上限レジスタＭＡＸ3109に設定された値とを演算部34が比較した結果、表示アドレスレジスタＢＳ3101の値が上限レジスタＭＡＸ3109の値よりも大きくなった、あるいは一致したとき、割込み生成部35がＣＰＵ１に対して割込みを発生する。ＣＰＵ１はこの割込み発生に同期して、表示中の表示領域を含む、図８(b) に斜線で示す領域（スクロールに伴う表示領域の移動方向にあるフレームメモリ２の下半部）の内容を、これからのスクロールによって表示されることのない領域にコピーし（図８(c) ）、表示アドレスレジスタＢＳ3101の値を、内容がコピーされた新しい領域のアドレスに書き換え、他のレジスタに自動スクロールの設定を再度行うと、グラフィックス制御装置３がスクロールを再開する。その後、ＣＰＵ１は表示中の図形に連続している図形の表示情報を、図８(c) の白地部分に書き込む。これによって、自動スクロールで、フレームメモリ２の容量以上の範囲の図形が表示されていく。
【００５３】
このとき、一連のスクロールで、スクロール中の第１の画像から第１の画像には連続していない別個の第２の画像の表示に切り替える場合は、前述のように、表示中の表示領域を含む領域の内容をフレームメモリ２の上半部にコピーせず、以後のスクロールに不要な表示情報が書き込まれているフレームメモリ２の上半部に、次に表示すべき第２の画像の表示情報を書き込む（図８(d) ）。この場合、ＭＡＸには表示領域がフレームメモリ２の下端の境界まで達した場合のアドレスを設定しておき、表示領域がフレームメモリ２に達した時点、即ち、表示アドレスレジスタＢＳ3101の値と、上限レジスタＭＡＸ3109に設定された値とを比較した結果、表示アドレスレジスタＢＳ3101の値が上限レジスタＭＡＸ3109の値よりも大きくなった、あるいは一致したときに表示アドレスレジスタＢＳ3101の値をフレームメモリ２の上半部に書き込んだ第２の画像でのスクロール開始アドレスに書き換える。
【００５４】
なお、上述の実施例１〜３では、スクロール量をピクセル数又はＸＹ座標で設定する場合について説明したが、スクロール量をフレームメモリ２のアドレスに対応するアドレスデータで設定してもよい。その場合、１ピクセルに充てられているビット数に応じて、例えば、１ピクセルが８ビットであれば、１バイト毎に付されるアドレスそのもので、１ピクセルが４ビットであれば、１バイト毎に付されるアドレスに、８ビットのうちの上位の４ビットであるか下位の４ビットであるかを示す１ビットの拡張ビットを持たせたアドレスデータで、また１ピクセルが２ビットであれば、８ビットのうちの何組目の２ビットであるかを示す２ビットの拡張ビットを持たせたアドレスデータで、また１ピクセルが１ビットであれば、８ビットのうちの何ビット目であるかを示す３ビットの拡張ビットを持たせたアドレスデータでスクロール量が設定できる。
【００５５】
【発明の効果】
第１発明のグラフィックス制御装置は、スクロール量，実行すべきスクロール回数等のスクロールに関する情報をスクロール開始時に格納するだけで、スクロール開始時の読み出し領域を特定する読み出しアドレスを、スクロールの都度、スクロール量に応じた値だけ更新し、各回のスクロールではアドレス格納手段に格納されている読み出しアドレスを基に、表示情報を読み出すべきフレームメモリのアドレスを生成して上下，左右又は斜め方向へのスクロールを自動的に行うので、ＣＰＵはグラフィックス制御装置のフレームメモリからの読み出し状態を周期的に監視して次のスクロールにおける読み出し領域の読み出しアドレスへの更新タイミングを図る必要がなく、負荷が軽減されるという優れた効果を奏する。
【００５６】
第２及び第３発明のグラフィックス制御装置は、表示内容のスクロール元の所定位置からスクロール先の所定位置相当の位置までのピクセル数、又は表示内容のスクロール元の所定位置からスクロール先の所定位置相当の位置までの、画面上の位置をＸＹ座標で表した場合における座標値を、第１発明におけるスクロール量として格納し、特に、ＸＹ座標値によるスクロール量は、ユーザにとって直観的にスクロール量を把握でき、優れたユーザインタフェースを提供するという優れた効果を奏する。
【００５８】
第４発明のグラフィックス制御装置は、読み出し領域の移動頻度により決定される任意のスクロール速度でスクロールし、多様なスクロールを可能にするという優れた効果を奏する。
【００６０】
第５発明のグラフィックス制御装置は、スクロールを開始する前に、スクロール量格納手段及びスクロール回数格納手段に格納されているスクロール量及びスクロール回数でのスクロール結果を予測して、スクロールにより読み出し領域ガフレームメモリのアドレス空間をはみ出す場合は、これらの値の誤りを外部に通知するので、ユーザはスクロールの開始前にスクロール量及びスクロール回数の誤りを容易に知ることができ、優れたユーザインタフェースを提供するという優れた効果を奏する。
【００６１】
第６発明のグラフィックス制御装置は、フレームメモリにその表示情報が書き込まれている第１の表示内容に続けて、フレームメモリにその表示情報が書き込まれていない第２の表示内容をスクロールによって連続的に表示する場合、スクロール途中の読み出し領域の位置が、スクロールに伴う読み出し領域の移動方向のフレームメモリの境界に近づいた所定位置に達した、又は超えた時点で割込みを発生し、これを同期として連続して表示すべき第２の表示内容の表示情報をＣＰＵに書き込ませるので、ＣＰＵは読み出し領域の位置を定期的に監視する必要がなくなり、負荷が軽減されるという優れた効果を奏する。
【００６２】
第７及び第８発明のグラフィックス制御装置は、スクロール中にスクロールを中断し、中断時までに終了したスクロール回数又はスクロールの積算量を示す情報を外部に出力するので、例えば、スクロール動作を制御するソフトウェアの開発環境等で、中断時までのスクロール量及びスクロール回数が容易に把握できるので、開発者は所要量の自動スクロールをグラフィックス制御装置に行わせるのに最適なスクロール量及びスクロール回数を容易に設定でき、優れたユーザインタフェースを提供するという優れた効果を奏する。
【図面の簡単な説明】
【図１】  本発明のグラフィックス制御装置が組み込まれたグラフィックスコンピュータの第１の実施例の構成を示すブロック図である。
【図２】  ディスプレイ上の各ピクセルとフレームメモリにおける各ピクセルの表示情報の記憶位置との対応を示す概念図である。
【図３】  本発明のグラフィックス制御装置のスクロール手順の概略を示すフローチャートである。
【図４】  スクロール時におけるフレームメモリの描画領域の表示情報により描画されるべき図形と１画面分の表示領域との関係を示す概念図である。
【図５】  本発明のグラフィックス制御装置が組み込まれたグラフィックスコンピュータの第２の実施例の構成を示すブロック図である。
【図６】  本発明のグラフィックス制御装置が組み込まれたグラフィックスコンピュータの第３の実施例の構成を示すブロック図である。
【図７】  第３の実施例のグラフィックス制御装置による事前通知モードでのスクロール時のフレームメモリと１画面分の表示領域との関係を示す概念図である。
【図８】  第３の実施例のグラフィックス制御装置による実行時通知モードでのスクロール時及びフレームメモリの表示情報の書き換え時におけるフレームメモリと１画面分の表示領域との関係を示す概念図である。
【図９】  フレームメモリからの表示情報の転送順序を示す概念図である。
【図１０】  スクロール時におけるフレームメモリ内の表示情報により描画されるべき図形と１画面分の表示領域との関係を示す概念図である。
【図１１】  スクロール時及びフレームメモリの表示情報の書き換え時における表示領域とフレームメモリとの関係を示す概念図である。
【符号の説明】
２  フレームメモリ、３  グラフィックス制御装置、４  ＣＲＴ、31  レジスタ、32  アドレス生成部、33  同期信号生成部、34  演算部、35  割込み生成部、36  制御部、3101  表示アドレスレジスタＢＳ、3102  スクロール量設定レジスタＤＢ、3103  スクロール回数設定レジスタＣＲ、3104  スクロール頻度設定レジスタＦＲ、3105  スクロール開始レジスタＳＳ、3106  スクロール終了通知レジスタＥＮ、3107  Ｘ方向スクロール量設定レジスタＸＲ、3108  Ｙ方向スクロール量設定レジスタＹＲ、3109  上限レジスタＭＡＸ、3110  下限レジスタＭＩＮ、3111  モードレジスタＭＯＤＥ、3112  Ｘ方向スクロール積算量レジスタＸＳ、3113  Ｙ方向スクロール積算量レジスタＹＳ。
【図１】
0003788524.tif 000002
【図２】
0003788524.tif 000003
【図３】
0003788524.tif 000004
【図４】
0003788524.tif 000005
【図５】
0003788524.tif 000006
【図６】
0003788524.tif 000007
【図７】
0003788524.tif 000008
【図８】
0003788524.tif 000009
【図９】
0003788524.tif 000010
【図１０】
0003788524.tif 000011
【図１１】
0003788524.tif 000012