(57)【特許請求の範囲】
【請求項１】
画面上にキャラクタを表示するために、該キャラクタのパターンデータを格納する１キャラクタ分の領域の任意の部分にアクセスするキャラクタエリアアクセス制御回路であって、
画面上での前記キャラクタの表示開始位置と、１キャラクタ分の領域の任意の部分のパターンデータの垂直方向の先頭読み出し位置と、１キャラクタ分の領域の任意の部分のパターンデータの垂直方向の終了読み出し位置と、パターンデータを指定するキャラクタコードと、が記憶されたビデオＲＡＭと、
前記垂直方向の先頭読み出し位置がプリセットされ、水平ラインをカウントして順次読み出し位置をインクリメントする計数部と、
前記垂直方向の終了読み出し位置がセットされる記憶部と、
前記計数部からの計数値と前記記憶部からの値との一致を検出する一致検出部と、を備え、
前記キャラクタコードの読み出しに先立って、前記垂直方向の先頭読み出し位置及び前記垂直方向の終了読み出し位置を前記計数部及び前記記憶部にそれぞれセットすることで、１キャラクタ分のパターンデータの前記垂直方向の先頭読み出し位置から前記垂直方向の終了読み出し位置の範囲のみを読み出すことを特徴とするキャラクタエリアアクセス制御回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、テレビ画面等に文字などのキャラクタを表示するために、キャラクタを格納するキャラクタエリアへのアクセスを制御するキャラクタエリアアクセス制御回路、特にキャラクタエリアの特定範囲のみをアクセスするように制御するものに関する。
【０００２】
【従来の技術】
従来より、所定のコードデータに応じて、ＲＧＢ処理されたカラーの文字をテレビ画面に表示できるテレビジョン装置が知られている。なお、コードデータは、受信信号より再生される場合もあるし、内部で発生する場合もある。
【０００３】
このような装置において文字表示を行う場合、所定の文字フォントのドットパターン（キャラクタパターン）が記憶されたキャラクタＲＯＭと、このキャラクタＲＯＭのアクセスアドレスを決定するキャラクタコードを記憶するビデオＲＡＭを設ける。そして、このビデオＲＡＭのアドレスは、テレビ画面上における文字の表示位置に対応している。このため、ビデオＲＡＭの各アドレスに記憶されているキャラクタコードに応じて、キャラクタＲＯＭから対応するキャラクタパターンを読み出すことで、文字表示を行うことができる。
【０００４】
ここで、ビデオＲＡＭに記憶するキャラクタコードは常に一定のビット数であり、このキャラクタコードによってアドレッシングされるキャラクタＲＯＭ内のエリア、すなわち１キャラクタが記憶されるエリアも常に一定の大きさに設定されている。一方、画面上に表示するキャラクタとしては、常に一定の大きさではなく、大きなものや、小さなものを表示したい場合がある。しかし、上述のようにキャラクタを記憶するためのエリアはそのサイズが固定であり、固定のサイズ分だけ読み出して、これを表示に用いていた。
【０００５】
【発明が解決しようとする課題】
このように、従来のキャラクタＲＯＭでは、小さなキャラクタであっても大きなキャラクタが収容できる大きな領域に格納されている。従って、小さなキャラクタを収容した場合、実際には使用しない領域が生じている。そこで、ＲＯＭの有効利用の観点から、複数のキャラクタを１つの領域に収容したいという要望がある。
【０００６】
しかし、キャラクタコードによって指定される領域は、１キャラクタ分の領域であって、これを分割することはできない。そこで、収容されている複数のキャラクタが一緒に読み出されてしまう。そこで、結局は小さなキャラクタも１キャラクタ分の領域に格納することになり、ＲＯＭの利用効率が悪くなるという問題点があった。
【０００７】
本発明は、上記問題点を解決することを課題としてなされたものであり、１キャラクタ分の領域を分割して、読み出すことを可能とするキャラクタエリアアクセス制御回路を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明は、画面の表示に対応した位置にマトリクス状にキャラクタコードが記憶されたビデオＲＡＭから読み出されたキャラクタコードに応じて、１キャラクタ分のエリアが指定されるキャラクタ格納エリアへのアクセスを制御するキャラクタエリアアクセス制御回路であって、１キャラクタ分のエリア内の垂直方向の先頭読み出し位置がプリセットされ、水平ラインをカウントして順次読み出し位置をインクリメントする計数部と、１キャラクタ分のエリア内の垂直方向の終了読み出し位置がセットされる記憶部と、計数部の計数値と記憶部の値との一致を検出する一致検出部と、を有すると共に、ビデオＲＡＭのキャラクタコードのローの先頭部分に、上記先頭読み出し位置及び終了読み出し位置が記憶されており、キャラクタコードの読み出しに先立ってビデオＲＡＭから読み出された先頭読み出し位置及び終了読み出し位置を計数部及び記憶部にそれぞれセットすることで、対応するローのキャラクタについて、キャラクタ格納エリアの所定本数の水平走査ラインに対応する範囲のみ読み出すことを特徴とする。
【００１４】
ビデオＲＡＭからキャラクタコードを読み出して、これに応じてキャラクタを表示する際に、その読み出し範囲が特定できる。このため、１キャラクタ分のエリアを縦方向の任意の部分を読み出すことができる。従って、キャラクタ格納エリア（例えばキャラクタＲＯＭ）の１キャラクタ分のエリアに、複数のキャラクタの縦に並べて記憶しておくことで、これらを別々に読み出すことができ、キャラクタ格納エリアの有効利用が図れる。
【００１５】
【発明の実施の形態】
以下、本発明に好適な実施の形態（以下、実施形態という）について、図面に基づいて説明する。図１は、キャラクタ表示制御回路の全体構成を示すブロック図であり、この回路はマイクロコンピュータにより実現される。
【００１６】
ビデオＲＡＭ１は、表示文字に対応するキャラクタコードをテレビ画面の表示部分に対応するアドレスに記憶する。また、文字色及び背景色を示す修飾（アトリビュート）情報を記憶する場合には、キャラクタコードに代えて、これらを指定するアトリビュートコードが記憶される。このアトリビュートは、一旦指定すると、その後は同一の状態を維持するようになっている。このため、アトリビュートコードは、アトリビュートを変更したい文字のアドレスの直前のアドレスに記憶される。従って、テレビ画面の中で、表示文字を同じアトリビュートで連続表示する場合には、１文字目のキャラクタコードが記憶されるアドレスの直前のアドレスにアトリビュートコードを記憶するだけでよい。
【００１７】
また、本実施例では、ビデオＲＡＭ１の各アドレスは、９ビットで構成されている。最上位ビット（ＭＳＢ）が文字コードまたはアトリビュートコードの別を示す識別ビット、残りの８ビットが、文字コード（キャラクタコード）またはアトリビュートコードを示している。そして、ＭＳＢ「０」はキャラクタコード、ＭＳＢ「１」はアトリビュートコードを示しており、このＭＳＢを読み出し判定することで、キャラクタコードかアトリビュートコードかを識別できる。残りの８ビット、すなわち「０００」〜「０ＦＦ」Ｈ（Ｈはヘキサデシマル）は、２５６種類のキャラクタコードまたはアトリビュートコードの内容を示している。
【００１８】
また、図において破線で分割して示したように、ビデオＲＡＭ１の内部には、パレットデータ領域が設けられている。このパレットデータ領域には、表示文字に色または背景色を付すための修飾データが記憶される。すなわち、ビデオＲＡＭ１から読み出されたアトリビュートコードをアドレスデータとして、このパレットデータ領域がアクセスされ、表示文字の文字色、背景色が決定される。
【００１９】
「ビデオＲＡＭの構成」
ここで、ビデオＲＡＭ１のマップ構成例を図２に示す。このように、ビデオＲＡＭ１は、縦方向が「００〜１０」Ｈの１７のローアドレス、横方向が「００〜２Ｆ」Ｈの４８のカラムアドレスからなっている。そして、ローアドレス「００〜０Ｆ」Ｈ及びカラムアドレス「００〜０８」Ｈで指定される右上がり斜線で示される領域には、テレビ画面上での文字表示開始位置、及びテレビ画面に初めて表示を行う文字についてのアトリビュート（文字色及び背景色）を示す初期設定データが書き込まれる。
【００２０】
特に、この初期設定データのカラムアドレス「００」には、そのローの文字の表示開始位置を示すデータ（画面上の垂直位置を示す水平走査線番号）が記憶されている。また、カラムアドレス「０１」Ｈには１キャラクタ内における表示開始位置を示すデータ「Ｍ」、カラムアドレス「０２」Ｈには１キャラクタ内の表示終了位置を示すデータ「Ｎ」、カラムアドレス「０４」Ｈには１水平ラインにおける最初のキャラクタの表示開始位置（水平同期信号Ｈｓの立ち上がりからキャラクタ表示開始までのドットクロックＤＣＬＫの数）を示すデータが記憶されている。
【００２１】
また、ローアドレス「００〜０Ｆ」Ｈ及びカラムアドレス「０９〜２Ｆ」Ｈで指定される領域には、テレビ画面への文字表示位置に対応してキャラクタコード（またはアトリビュートコード）が書き込まれる。
【００２２】
また、ローアドレス「１０」Ｈ及びカラムアドレス「００〜１Ｆ」Ｈで指定される左上がり斜線で示される領域（パレットデータ領域）には、上述の修飾データが書き込まれる。さらに、詳細に説明すると、ローアドレス「１０」Ｈ及びカラムアドレス「００〜１７」で指定される領域には、文字色を示す修飾データが書き込まれ、ローアドレス「１０」Ｈ及びカラムアドレス「１８〜２Ｆ」Ｈ指定される領域には、背景色を示す修飾データが書き込まれる。
【００２３】
ここで、アトリビュートコードのビット配列の一例について説明すると、アトリビュートコードは、９ビット構成であり、ＭＳＢがアトリビュートコードとキャラクタコードの識別ビット、上位の８ビット目が文字色及び背景色の識別ビット、上位７ビット目が文字色を着色するか否かのオンオフビット、上位６ビット目が背景色を着色するか否かのオンオフビット、残りの５ビットがパレットデータ領域のカラムアドレス「００〜１７」Ｈまたは「１８〜２Ｆ」の１つを指定するビットに割り振られている。
【００２４】
また、パレットデータ領域の各アドレスも９ビット構成であり、９ビットすべてがＲＧＢの情報として使用できる。本実施形態では、ＲＧＢ各々に２ビットを割り当て、６４種類の色指定を可能としている（残り３ビットは不使用）。
【００２５】
「ＣＰＵタイミングによるビデオＲＡＭへのアクセス」
ここで、マイクロコンピュータの１マシンサイクルは、プログラムの解読結果に基づき、ビデオＲＡＭ１の書き込み読み出し動作を行うＣＰＵタイミングと、ＣＰＵ（図示せず）の動作とは無関係にビデオＲＡＭ１の読み出しを行うＯＳＤ（ＯＮ  ＳＣＲＥＥＮ  ＤＩＳＰＬＡＹ）タイミングとからなっている。具体的には、１マシンサイクルは、３期間のＣＰＵタイミング（ローレベル）及び３期間のＯＳＤタイミング（ハイレベル）を交互に繰り返す６ステートからなっている（図８のＯ／Ｃ参照）。ビデオＲＡＭ１は、ＣＰＵタイミング及びＯＳＤタイミングで独立にアクセスされるため、構成が簡単なシングルポートで構成されている。
【００２６】
また、図１に示すようにビデオＲＡＭ１は、データバス２に接続されている。ビデオＲＡＭ１は、ＣＰＵからの指示に従い、書き込みモードまたは読み出しモードに切り換えられる。例えば、ビデオＲＡＭ１が書き込みモードになっているとき、キャラクタコードや、アトリビュートコードや、修飾データが、ビデオＲＡＭ１に書き込まれる。また、読み出しモードになっている場合には、キャラクタコードや、アトリビュートコードが読み出されてデータバス２にのる。この書き込み及び読み出しの際のビデオＲＡＭ１のアドレッシングは、後述するローアドレスレジスタ３及びカラムアドレスレジスタ４に所望のアドレスデータをデータバス２を介しセットすることによって行う。
【００２７】
すなわち、各マシンサイクル中のＣＰＵタイミング中にビデオＲＡＭ１のローアドレスをアドレッシングする場合には、ローアドレスレジスタ３に、ＣＰＵからのローアドレスデータをデータバス２を介しセットする。
【００２８】
同様に、カラムアドレスレジスタ４に、データバス２を介しＣＰＵからのカラムアドレスデータがセットされる。これによって、ビデオＲＡＭ１をアドレッシングする。
【００２９】
ビデオＲＡＭ１へのデータの書き込みは、このＣＰＵタイミングにおいて、ＣＰＵからのデータによって行う。また、画面表示のためのビデオＲＡＭ１からのデータの読み出しは、ＯＳＤタイミングの読み出しによって行う。
【００３０】
「ＯＳＤタイミングのビデオＲＡＭへのアクセス」
各マシンサイクルのＯＳＤタイミング中のローアドレスを決定するために、垂直位置制御回路５が設けられている。
【００３１】
ここで、テレビ画面における文字表示の垂直方向開始位置を示す初期設定データが、ローアドレス「００〜０Ｆ」Ｈ、カラムアドレス「００」で指定される領域にそれぞれ書き込まれている。
【００３２】
垂直位置制御回路５は、タイミング切換信号Ｏ／Ｃ、水平同期信号Ｈｓ、及び垂直同期信号Ｖｓが印加されて動作する。このため、垂直位置制御回路５の内部には、最初の表示文字の垂直方向の開始位置を検出する手段として、第１カウンタ（図示せず）と、第２カウンタ（図示せず）と、一致検出回路（図示せず）が設けられている。
【００３３】
第１カウンタは、水平同期信号Ｈｓの立ち上がりでリセットされ、水平同期信号のＨｓの立ち上がり期間中（ブランキング期間）にローアドレスを「００」Ｈから「０Ｆ」Ｈまで変更させる。このため、これに対応する周波数のクロック信号をカウントする。このとき、カラムアドレスは「００」に固定されており、この状態で、垂直位置制御回路５は、第１カウンタの値によってビデオＲＡＭ１からバイナリデータを順次読み込む。
【００３４】
第２カウンタは、垂直同期信号Ｖｓでリセットされ、水平同期信号Ｈｓをカウントする。一致検出回路は、第１カウンタのカウント値でアクセスされた「００〜０Ｆ」Ｈのいずれか１つのローアドレス（カラムアドレスは「００」）に書き込まれたバイナリデータと、第２カウンタでカウントされた水平同期信号Ｈｓのバイナリデータとの一致を検出する。従って、第２カウンタに得られる水平同期信号Ｈｓの垂直方向の位置を表すデータが、ローアドレス「００〜０Ｆ」Ｈのいずれか１つに書かれていると、その位置が最初の表示文字の垂直方向の表示開始位置と認識される。そこで、一致検出回路は、このときに一致信号（ROWSTART）を出力する。なお、この一致検出に応じて、対応ローアドレスのデータが出力され、文字表示が開始される。
【００３５】
垂直位置制御回路５は、キャラクタＲＯＭ１７の読み出しを制御するために、現在表示されている１つのキャラクタの垂直方向の位置を認識するための構成を有している。すなわち、上述の一致検出回路から出力される一致検出信号（ROWSTART）でイネーブル状態にされ、水平同期信号Ｈｓの立ち上がりをバイナリでカウントして、キャラクタＲＯＭ１７の読み出しアドレスを発生するが、この構成については、後述する。
【００３６】
ビデオＲＡＭ１におけるパレットデータ領域のローアドレスを指定するために、パレットローアドレスレジスタ６が設けられている。この例では、このパレットローアドレスレジスタ６に、「１０」Ｈが予めセットされている。
【００３７】
ローアドレスレジスタ３、垂直位置制御回路５、パレットローアドレスレジスタ６とビデオＲＡＭ１の間には、ローアドレス切換回路７が設けられており、いずれかのローアドレスを切り換え出力する。具体的には、タイミング切換信号Ｏ／Ｃと、パレットリード信号ＰＲのハイレベル及びローレベルの組み合わせにより、いずれか１つのローアドレスを切り換え出力する。この信号Ｏ／Ｃ及びＰＲの発生のタイミングは図８のタイミングチャートに示すとおりである。
【００３８】
このように、タイミング切換信号Ｏ／Ｃ及びパレットリード信号ＰＲがローレベルの時はローアドレスレジスタ３にセットされているローアドレスデータが選択され、タイミング切換信号Ｏ／Ｃがハイレベルで、パレットリード信号ＰＲがローレベルの時は垂直位置制御回路５から供給されるローアドレスデータが選択され、タイミング切換信号Ｏ／Ｃ及びパレットリード信号ＰＲが共にハイレベルの時はパレットローアドレスレジスタ６にセットされているローアドレスデータが選択される。
【００３９】
水平位置制御回路８は、表示文字の水平方向の開始位置を検出する。各マシンサイクルのＯＳＤタイミング中、ビデオＲＡＭ１は、水平位置制御回路８の出力に基づきアドレッシングされる。水平位置制御回路８は、水平同期信号Ｈｓの立ち上がりから、ローアドレス「００」Ｈ，カラムアドレス「０４」Ｈから読み出された表示文字の水平方向文字表示開始位置に至ると、ドットクロックＤＣＬＫの立ち上がりをバイナリでカウントするカウント手段を有している。なお、文字表示を行う水平走査ラインにのみ、表示を許可する信号を出力する構成も有しているが、これについては後述する。
【００４０】
そして、このカウント手段は、カウントを開始したときに、パルスＰＰＣを発生すると共に、カウントを開始し、ＤＣＬＫをｎ回カウントする度にＰＰＣを発生する。なお、水平位置制御回路８は、文字表示の開始位置（カウントの開始位置）についてのデータを記憶するためのレジスタ手段も有している。ここで、ドットクロックＤＣＬＫは、文字データの横方向の各ドット毎が１周期となる周波数を有している。そこで、表示文字の区切り毎に（変更時点で）パルスＰＰＣが発生される。
【００４１】
カラムカウンタ９には、ＯＲゲート１０を介し、水平位置制御回路８からのパルスＰＰＣが印加される。そして、カラムカウンタ９は、パルスＰＰＣが入力される度に、インクリメントされるカラムアドレスデータを発生する。
【００４２】
カラムアドレス切換回路１１は、タイミング切換信号Ｏ／Ｃ及びパレットリード信号ＰＲに応じて、カラムアドレスレジスタ４、カラムカウンタ９及び後述するラッチ回路１５のいずれかの出力を選択し、ビデオＲＡＭ１に印加するカラムアドレスデータを切り換える。具体的には、タイミング切換信号Ｏ／Ｃ及びパレットリード信号ＰＲが共にローレベルのときカラムアドレスレジスタ４にセットされたカラムアドレスデータを選択し、タイミング切換信号Ｏ／Ｃがハイレベルでパレットリード信号ＰＲがローレベルの時カラムカウンタ９でカウントされたカラムアドレスデータを選択し、タイミング切換信号Ｏ／Ｃ及びパレットリード信号ＰＲが共にハイレベルの時、前記ラッチ回路１５の出力を選択する。
【００４３】
このようにして、ビデオＲＡＭ１は、ローアドレス及びカラムアドレスが決定され、当該アドレスのデータ（キャラクタコード、アトリビュートコード、修飾データ）がデータが読み出される。なお、垂直位置制御回路５では、垂直方向の文字開始位置を検出するために、上述したように、ローアドレス「００〜０Ｆ」Ｈ及びカラムアドレス「００」Ｈで指定されるアドレスに書き込まれたデータの取り込みが必要である。そこで、タイミング切換信号Ｏ／Ｃの立ち下がりで読み出されたビデオＲＡＭ１の全９ビットのデータＶＤＡＴＡは垂直位置制御回路５に印加されるようになっている。
【００４４】
「ビデオＲＡＭの読み出し出力ＶＤＡＴＡの処理」
キャラクタコードラッチ回路１２は、ビデオＲＡＭ１のＯＳＤタイミングの読み出し出力であるＶＤＡＴＡのうち、キャラクタコードのみをラッチする。
【００４５】
アトリビュートコードラッチ回路１３は、ビデオＲＡＭ１の出力のうちアトリビュートコードのみをラッチする。このため、ビデオＲＡＭ１の読み出し出力ＶＤＡＴＡの最上位ビットＭＳＢが「１」であり、かつ水平位置制御回路８からアトリビュートクロックＡＴＲＣＫが発生したとき、ＡＮＤゲート１４から出力されるＡＴＲＣＫと同一の出力の立ち下がりに同期して、ＶＤＡＴＡの下位８ビット（アトリビュートコード）をラッチする。
【００４６】
ＡＮＤゲート１４の出力は、一方の入力に信号ＰＰＣが供給されるＯＲゲート１０の他方の入力にも印加され、アトリビュートコードラッチ回路１３がアトリビュートコードをラッチする直前にカラムカウンタ９の値は前記クロックＡＴＲＣＫの立ち上がりに同期して＋１インクリメントされる。
【００４７】
ラッチ回路１５は、アトリビュートコードラッチ回路１３にラッチされたアトリビュートコードをパレットデータ領域のカラムアドレスに解読し、パルスＰＰＣの立ち上がりに同期してラッチする。これにより、ラッチ回路１５には、文字色か背景色かを識別するデータ（アトリビュートコードの上位８ビット目）と、文字色のオンオフデータ（アトリビュートコードの上位７ビット目）と、背景色のオンオフデータ（アトリビュートコードの上位６ビット目）と、パレットデータ領域のカラムアドレスデータとが保持される。
【００４８】
修飾データラッチ回路１６は、パレットローアドレスレジスタ６から出力された「１０」Ｈの固定されたローアドレスデータと、ラッチ回路１５から出力された「００〜２Ｆ」のカラムアドレスデータで指定されたビデオＲＡＭ１のパレットデータ領域の任意のアドレスから読み出された修飾データ（アトリビュートデータ）をラッチする。このデータのラッチは、水平位置制御回路８から出力される修飾データクロックＰＬＤＣＬＫの立ち上がりに同期して行われる。
【００４９】
キャラクタＲＯＭ１７には、縦ｍドット×横ｎドットの文字フォントを有する所定のドットパターンが各アドレスに記憶されている。そして、キャラクタコードラッチ回路１２に記憶されたキャラクタコードにより、アドレスが指定され、読み出されるキャラクタ（１文字分の文字フォントが記憶される領域）が決定される。また、垂直位置制御回路５から供給される水平ラインを示すアドレス信号によって、１キャラクタのドットデータにおける垂直位置が決定される。従って、１回の読み出して、１つのキャラクタの水平方向ｎビット分のドットデータが読み出される。
【００５０】
そして、キャラクタコードラッチ回路１２にラッチされるキャラクタコードが変更される度に、読み出されるキャラクタが変更される。１水平ラインの読み出しが終了すると、次のラインの読み出しに移り、同一のキャラクタの次の水平ラインのデータの読み出しが繰り返される。
【００５１】
このキャラクタＲＯＭ１７の出力には、シフトレジスタ１８が接続されている。このシフトレジスタ１８は、ｎビットのシフトレジスタであり、パルスＰＰＣの立ち上がりに同期してキャラクタＲＯＭ１７から読み出されているｎビットデータを保持し、ドットクロックＤＣＬＫに同期してｎビットのドットデータをシリアル出力する。
【００５２】
一方、修飾データラッチ回路１６には、レジスタＡ１９及びレジスタＢ２０が接続されている。レジスタＡ１９は、修飾データラッチ回路１６でラッチしているデータが表示文字自体の色指定を行う修飾データの場合、そのデータをパルスＰＰＣの立ち上がりに同期して保持する。一方、レジスタＢ２０は、表示文字に付す背景色を示す修飾データを同様のタイミングで保持する。
【００５３】
選択ラッチ回路２１は、レジスタＡ１９、Ｂ２０のいずれか一方へ修飾データを選択入力させるための回路であり、インバータ２２を介して印加されるパルスＰＰＣの立ち下がりに同期して、ラッチ回路１５にラッチされているアトリビュートコードが文字色指定か背景色指定かのデータをラッチする。例えば、選択ラッチ回路２１は、「０」をラッチしたときにレジスタＡ１９への入力を許可し、「１」をラッチしたときにレジスタＢ２０への入力を許可する。
【００５４】
出力処理回路２３は、色出力制御ラッチ回路２４からの出力に基づいて、シフトレジスタ１８から出力されるドットデータと、レジスタＡ１９及びＢ２０から出力される修飾データとに対して信号処理を施し、テレビ画面上にＲＧＢの信号処理が施された文字を表示するための信号を出力する。
【００５５】
色出力制御ラッチ回路２４は、ラッチ回路１５にラッチされているアトリビュートコードにおける文字色のオンオフデータと背景色のオンオフデータとを、パルスＰＰＣの立ち上がりに同期してラッチする。そして、このラッチ出力を出力処理回路２３に供給することにより、出力処理回路における文字色及び背景色のオンオフを制御する。
【００５６】
「キャラクタＲＯＭからの部分読み出し」
ここで、本実施形態では、キャラクタＲＯＭ（キャラＲＯＭ）１７の１キャラクタ分の領域、縦ｍビット、横ｎビットを縦方向に複数に分割して部分的に読み出すことができる。すなわち、図３（Ａ）、（Ｂ）に示すように、縦方向のアドレスが「０００００」から「１１１１１」の３２ビットであった場合に、その中のＭからＮのアドレスを読み出すことができる。そこで、図３（Ａ）であれば「Ａ」という文字の一部、図３（Ｂ）であれば、「Ｂ」という文字あるいは「ｂ」という文字のみを出力することができる。なお、このＭ，Ｎの値を変更することで、１キャラクタ分の領域の任意の部分が読み出せることはいうまでもない。
【００５７】
このために、垂直位置制御回路５及び水平位置制御回路８の内部に図４に示すような構成を有している。カウンタ３０は、初期値として表示開始位置「Ｍ」がプリセットされ、その後水平同期信号の立ち上がりをカウントし、カウント値を＋１インクリメントする。また、レジスタ３１は、表示終了位置「Ｎ」を保持する。比較回路３２は、カウンタ３０のカウント値が、レジスタ３１に保持されている値に一致したかを判定する。そして、この回路により、水平ラインの位置が、表示するキャラクタの「Ｍ」〜「Ｎ」の間だけ垂直表示許可信号ＶＤＳＰＥＮを出力する。そこで、この構成について、以下に詳細に説明する。
【００５８】
まず、カウンタ３０のクロック入力端には、ＨCLK が入力される。このＨCLK は、水平同期信号の立ち上がりに発生するパルス信号である。そこで、カウンタ３０は、このＨCLK をカウントすることで、水平同期信号の立ち上がりをカウントできる。また、このＨCLK は、ラッチ回路３３の一端にも入力されており、このラッチ回路３３の他端には、カラムアドレス「００」Ｈに記憶されている文字表示開始水平ラインに至ったときにハイレベルになる一致信号ROWSTARTが、入力されている。従って、このラッチ回路３３は、一致信号ROWSTARTのハイレベルから次のＨCLK のハイレベルまでの期間にハイレベルを出力する。さらに、このラッチ回路３３の出力はＡＮＤゲート３４の一端に入力され、このＡＮＤゲート３４の他端には、カラムアドレス「０１」Ｈの読み出しタイミングにハイレベルになる信号CLM1RDが供給されており、出力は、カウンタ３０のプリセット許可端子に信号CLM1STとして接続されている。さらに、カウンタ３０のプリセットデータ端子には、ビデオＲＡＭ１の読み出しデータの０〜５ビット目が入力されるようになっている。
【００５９】
従って、一致信号ROWSTRATが立ち上がった後のカラムアドレス「０１」Ｈの時のビデオＲＡＭ１の出力「Ｍ」がカウンタ３０にプリセットされ、カウンタ３０はその後水平同期信号の立ち上がり、すなわち水平ラインを順次カウントアップする。
【００６０】
一方、レジスタ３１のクロック入力端には、カラムアドレス「０２」Ｈの読み出しタイミングである信号CLM2RDが、ＡＮＤゲート３５を介し、信号CLM2STとして入力されている。このＡＮＤゲート３５の他の入力端には、ラッチ回路３３の出力が入力されており、レジスタ３１は、カウンタが「Ｍ」を取り込んだ次のタイミングで、カラムアドレス「０２」ＨのビデオＲＡＭ１の出力を取り込む。この出力ＶＤＡＴＡは、「Ｎ」であり、これによって、「Ｎ」がレジスタ３１に取り込まれる。
【００６１】
この状態で、カウンタ３０が水平ラインをカウントアップしていく。ここで、このカウンタ３０のカウント値は、キャラクタＲＯＭ１７の読み出しアドレスとして供給される。従って、キャラクタＲＯＭ１７は、１つのキャラクタの垂直位置「Ｍ」から順次読み出されることになる。
【００６２】
一方、カウンタ３０の出力と、レジスタ３１の出力は、比較回路３２に入力されている。この比較回路３２は、両者が一致するかを検出し、一致した場合には、ハイレベルの出力を出す。この比較回路３２の出力は、他端に比較イネーブル信号を受け入れるＡＮＤゲート３６を介し、ラッチ回路３７に入力されている。このラッチ回路３７の他端には一致信号ROWSTARTが入力されている。そこで、一致信号ROWSTARTがハイレベルとなった後、比較回路３２からハイレベルが出力されるまでの期間ラッチ回路３７からハイレベルが出力される。このラッチ回路３７の出力が垂直表示許可信号VDSPENになっている。なお、比較イネーブル信号は、比較が不要な期間にVDSPENが出力されないようにするものである。また、ラッチ回路の比較回路３２の出力と同一の入力端には、垂直同期信号Ｖｓが入力されている。これは、垂直帰線期間など不要な期間にVDSPENが出力されないようにするためである。
【００６３】
一方、水平位置制御回路８には、カウンタ４０が設けられており、このカウンタ４０は、文字表示開始位置に至ったときに、ハイレベルを出力する。そのために、カウンタ４０のクロック入力端には、ドットクロックＤＣＬＫが入力され、プリセット許可端には、カラム「０４」Ｈの読み出しを規定する信号CLM4RDが入力され、プリセットデータ入力端には、ビデオＲＡＭ１の出力であるＶＤＡＴＡの０〜８ビット目がインバータ４１を介し、補数として入力されている。
【００６４】
従って、水平同期信号が立ち上がってから、ドットクロックＤＣＬＫをカウントし、そのカウント値がカラムアドレス「０４」Ｈで設定された位置（値）に至った時にハイレベルの出力を出す。
【００６５】
このカウンタ４０の出力は、ラッチ回路４２に入力されており、このラッチ回路４２の他の入力端には、水平同期信号Ｈｓ及びインバータ４３を介して信号VDSPENが入力されている。そこで、このラッチ回路４２からは、水平方向の文字開始位置から水平同期信号の立ち上がりまでの間ハイレベルになる信号が、垂直表示許可信号VDEPENがハイレベルの時のみに得られる。従って、このラッチ回路４２の出力が水平表示許可信号HDSPENとなる。
【００６６】
従って、図５に示すように、キャラクタＲＯＭ１７から読み出されたキャラクタの垂直位置「Ｍ」から「Ｎ」までの区間のみが表示される。なお、この区間の設定は、水平方向については、変更ができないため、水平方向一列の文字については、同一の高さの表示となる。
【００６７】
しかし、このような制御によって、キャラクタＲＯＭ１７の１キャラクタ領域に複数の文字を書き込んでおき、これを別々に読み出すことができる。例えば、１つのキャラクタ領域、大きさの異なる文字を複数縦方向に記憶しておけば、カラムアドレス「０１」Ｈ、「０２」Ｈに書き込む「Ｍ」、「Ｎ」の設定によって、文字の大きさを制御することができる。なお、カラムアドレス「００」に設定する値で、縦方向の文字間隔を制御することができる。
【００６８】
次に、この動作について、図６、７に基づいて、説明する。まず、水平同期信号ＨＳが立ち上がると、信号ＨCLK に１つパルスが出力される。この信号ＨCLK は、水平同期信号ＨＳの立ち上がりによって常に出力される。また、比較イネーブルも信号ＨCLK の次のタイミングで常にパルスを出力する。
【００６９】
水平同期信号の立ち下がりにおいて、垂直位置制御回路５は、カラムアドレス「００」を読み出し、水平走査位置が文字表示開始位置に至ったときに、一致信号ROWSTARTを出力する。図６においては、最初の比較で、この一致が得られたとしている。そして、この一致信号ROWSTARTのハイレベルによって、垂直表示許可信号VDSPENがハイレベルになる。この後、信号CLM1STのハイレベルによってカウンタ３０に「Ｍ」が取り込まれ、信号CLM2STのハイレベルによってレジスタ３１に「Ｎ」が取り込まれる。
【００７０】
その後、信号ＨCLK が出力される度に比較イネーブルがハイレベルになり、比較回路３２の比較結果を出力し、カウンタ３０の値が「Ｎ」になったときに、垂直表示許可信号VDSPENがローレベルになる。
【００７１】
なお、カラムアドレス「０４」の値は、垂直表示許可信号VDSPENがハイレベルの期間は、毎回読まれ、カウンタ４０は、その度にプリセットされる。従って、このカウンタ４０の出力HSTARTは、表示開始位置に至ったときに毎水平ライン出力される。そこで、水平表示許可信号HDSPENは、垂直表示許可信号VDSPENがハイレベルの期間は、毎水平ラインの文字表示開始位置から水平同期信号の立ち上がりまでの期間ハイレベルになる。
【００７２】
「全体動作」
次に、図１に示す回路の全体動作を図８のタイミングチャートに基づいて説明する。特に、ビデオＲＡＭ１に記憶されているコードを表示の目的で読み出し、テレビ画面上に１水平走査分だけ表示する場合（ローアドレスは変化しない）について説明する。なお、図８では、表示文字の初期の開始位置を認識できた後の動作を示している。また、タイミング切換信号Ｏ／ＣとパルスＰＰＣとは同期させる必要なないが、説明の都合上、同期した状態で説明する。
【００７３】
時刻ｔ０において、パルスＰＰＣが立ち上がると、このパルスＰＰＣの立ち上がりに同期してカラムカウンタ９がインクリメントされる。ここで、カラムカウンタ９の値はｎ−１からｎになったとする。このとき、ビデオＲＡＭ１から読み出されているのがカラムアドレスｎ−１に対応するキャラクタコードＮ−１であると、パルスＰＰＣの立ち上がりに同期してキャラクタコードＮ−１がキャラクタコードラッチ回路１２にラッチされる。
【００７４】
このとき、タイミング切換信号Ｏ／Ｃはローレベルからハイレベルに立ち上がった状態であり、その後のハイレベル期間にカラムカウンタ９のカラムアドレスデータｎがカラムアドレス切換回路１１を介しビデオＲＡＭ１に印加され、ビデオＲＡＭ１のカラムアドレスｎ（ローアドレスは任意のアドレスで固定されている）で指定されるアドレスがアクセスされる。
【００７５】
次に、タイミング切換信号Ｏ／Ｃの立ち下がりに同期して、ビデオＲＡＭ１から読み出されるコードがＮ−１からＮに変更される。なお、カラムアドレスｎに対応するビデオＲＡＭ１の読み出しコードは大文字のＮで表す。
【００７６】
ここで、読み出しコードＮが、アトリビュートコードであると、ＭＳＢが「１」であることから、アトリビュートクロックＡＴＲＣＫの立ち上がりに同期して、カラムカウンタ９の値がｎからｎ＋１に変更され、またアトリビュートクロックＡＴＲＣＫの立ち下がりに同期して、アトリビュートコードＮがアトリビュートコードラッチ回路１３にラッチされる。
【００７７】
なお、アトリビュートクロックＡＴＲＣＫが発生している期間はパレットリード信号ＰＲがハイレベルになるように設定されている。このため、カラムカウンタ９の出力がカラムアドレス切換回路１１から出力される動作は禁止され、その代わりにラッチ回路１５に既にラッチされている前アトリビュートコードのパレットアドレスがビデオＲＡＭ１に印加される。これによって、前修飾データがビデオＲＡＭ１から読み出される。
【００７８】
そして、タイミング切換信号Ｏ／Ｃの立ち上がりと同時に、修飾データクロックＰＬＤＣＫが発生し、この立ち上がりに同期して修飾データラッチ回路１６に修飾データがラッチされる。なお、カラムカウンタ９の値ｎ＋１で指定されるアドレスから読み出されるコードはキャラクタコードであるものとする。
【００７９】
ここで、１文字分の文字フォントの横方向のドット表示が終了し、時刻ｔ１において、パルスＰＰＣが再び立ち上がると、パルスＰＰＣの立ち上がりに同期してカラムカウンタ９がインクリメントされ、カラムカウンタ９の値はｎ＋１からｎ＋２になる。同時に、ビデオＲＡＭ１から読み出されているのは、カラムアドレスデータｎ＋１に対応するキャラクタコードＮ＋１となり、パルスＰＰＣの立ち上がりに同期してキャラクタコードＮ＋１がキャラクタコードラッチ回路１２にラッチされる。さらに、パルスＰＰＣの立ち上がりに同期して、アトリビュートコードラッチ回路１３に既にラッチされているアトリビュートコードＮがラッチ回路１５にラッチされる。
【００８０】
そして、キャラクタコードＮ−１でアクセスされ、キャラクタＲＯＭ１７から読み出されたドットデータ（Ｎ−１）がシフトレジスタ１８に取り込まれる。また、パルスＰＰＣの立ち下がりに同期して、修飾データラッチ回路１６にラッチされている前修飾データがレジスタＡ１９またはレジスタＢ２０のいずれかにセットされる。
【００８１】
このとき、タイミング切換信号Ｏ／Ｃはローレベルからハイレベルに立ち上がった状態であり、その後のハイレベル期間にカラムカウンタ９のカラムアドレスデータｎ＋２がカラムアドレス切換回路１１を介してビデオＲＡＭ１に印加され、ビデオＲＡＭ１のカラムアドレスｎ＋２（ローアドレスは任意のアドレスで固定されている）で指定されるアドレスがアクセスされる。
【００８２】
次に、タイミング切換信号Ｏ／Ｃの立ち上がりに同期して、ビデオＲＡＭ１から読み出されるコードがＮ＋１からＮ＋２に変更される。ここで、読み出しコードＮ＋２がキャラクタコードであると、該キャラクタコードの最上位ビットＭＳＢが「０」であることから、アトリビュートクロックＡＴＲＣＫが発生してもカラムカウンタ９の値は変更されることはなくｎ＋２のままである。また、ＡＮＤゲート１４からアトリビュートコードラッチ回路１３のためのクロックも発生しないため、キャラクタコードＮ＋２がアトリビュートコードラッチ回路１３にラッチされる動作も禁止される。
【００８３】
なお、アトリビュートクロックＡＴＲＣＫが発生している期間はパレットリード信号ＰＲがハイレベルとなっているため、カラムカウンタ９の出力がカラムアドレス切換回路１１から出力される動作は禁止され、その代わりにラッチ回路１５に既にラッチされているアトリビュートコードＮのパレットアドレスがビデオＲＡＭ１に印加され、タイミング切換信号Ｏ／Ｃの立ち下がりに同期して、ビデオＲＡＭ１から修飾データＮが読み出される。
【００８４】
次に、タイミング切換信号Ｏ／Ｃの立ち上がりと同時に修飾データクロックＰＬＤＣＫが発生すると、修飾データクロックＰＬＤＣＫの立ち上がりに同期して修飾データラッチ回路１６に修飾データＮがラッチされる。
【００８５】
そして、１文字分の表示が終了し、時刻ｔ２になったときに、パルスＰＰＣが立ち上がると、このパルスＰＰＣの立ち上がりに同期してカラムカウンタ９がインクリメントされ、カラムカウンタ９の値はｎ＋２からｎ＋３になる。
【００８６】
これによって、ビデオＲＡＭ１から読み出されているデータが、カラムアドレスｎ＋２に対応するキャラクタコードＮ＋２になり、パルスＰＰＣの立ち上がりに同期してキャラクタコードラッチ回路１２にラッチされる。さらにパルスＰＰＣの立ち上がりに同期して、アトリビュートコードラッチ回路１３にラッチされているアトリビュートコードＮのパレットアドレスがラッチ回路１５によって再びラッチされ、かつキャラクタコードＮ＋１でアクセスされるキャラクタＲＯＭ１７から読み出されて、その出力（Ｎ＋１）シフトレジスタ１８にセットされる。
【００８７】
また、パルスＰＰＣの立ち下がりに同期して、ラッチ回路１５に既にラッチされているアトリビュートコードの文字色または背景色を指定するデータに応じて、修飾データラッチ回路１６にラッチされている修飾データＮが、レジスタＡ１９またはレジスタＢ２０のいずれか一方にセットされる。
【００８８】
このとき、タイミング切換信号Ｏ／Ｃは、ローレベルからハイレベルに立ち上がった状態であり、その後のハイレベル期間にカラムカウンタ９のカラムアドレスデータｎ＋３がカラムアドレス切換回路１１を介してビデオＲＡＭ１に印加され、ビデオＲＡＭ１のカラムアドレスｎ＋３（ローアドレスは任意のアドレスで固定されている）で指定されるアドレスがアクセスされる。
【００８９】
次に、タイミング切換信号Ｏ／Ｃの立ち下がりに同期して、ビデオＲＡＭ１から読み出されるコードがＮ＋２からＮ＋３に変更される。ここで、読み出しコードＮ＋３がアトリビュートコードであると、このアトリビュートコードの最上位ビットＭＳＢが「１」であることから、アトリビュートクロックＡＴＲＣＫの立ち上がりに同期してカラムカウンタ９の値がｎ＋３からｎ＋４にインクリメントされる。また、アトリビュートクロックＡＴＲＣＫの立ち下がりに同期してアトリビュートコードＮ＋３がアトリビュートコードラッチ回路１３にラッチされる。また、アトリビュートクロックＡＴＲＣＫが発生している期間はパレットリード信号ＰＲがハイレベルとなっているためカラムカウンタ９の出力がカラムアドレス切換回路１１から出力される動作は禁止され、その代わりにラッチ回路１５に既にラッチされているアトリビュートコードＮが再びビデオＲＡＭ１に印加され、タイミング切換信号Ｏ／Ｃの立ち下がりに同期して修飾データＮが読み出される。
【００９０】
その後、タイミング切換信号Ｏ／Ｃの立ち上がりと同時に修飾データクロックＰＬＤＣＫが発生すると、修飾データクロックＰＬＤＣＫの立ち上がりに同期して修飾データラッチ回路１６に修飾データＮがラッチされる。
【００９１】
そして、時刻ｔ１からｔ２の間は、シフトレジスタ１８の値が（Ｎ−１）になっている。一方、レジスタＡ１９またはレジスタＢ２０の値は、前修飾データに書き換えられている。従って、この期間は、この修飾データが出力処理回路２３に印加され、所定のＲＧＢ信号が出力されることになる。同様に時刻ｔ２からｔ３の期間においては、シフトレジスタ１８の値が（Ｎ＋１）、レジスタＡ１９またはレジスタＢ２０の値が修飾データＮとなっており、これが出力処理回路２３に印加され、これに応じて所定のＲＧＢ信号が出力される。
【００９２】
このように、本実施形態によれば、ビデオＲＡＭ１のアドレスの一部に修飾データを記憶させるため、１アドレスについてアトリビュートコードのみを記憶できるため、他種類の色指定も可能となる。
【００９３】
そして、本実施形態では、キャラクタＲＯＭ１７の縦方向の任意の範囲を読み出すことができる。従って、キャラクタＲＯＭ１７に複数のキャラクタを書き込みこれらを別々に読み出すことができる。そこで、キャラクタＲＯＭ１７の有効利用を図ることができる。
【図面の簡単な説明】
【図１】  本発明のキャラクタエリアアクセス制御回路の全体構成を示すブロック図である。
【図２】  ビデオＲＡＭのエリアマップを示す図である。
【図３】  キャラクタＲＯＭの１キャラクタ分の構成を示す図である。
【図４】  キャラクタＲＯＭの部分読み出しのための構成を示す図である。
【図５】  キャラクタの１列分の表示を示す図である。
【図６】  キャラクタＲＯＭの部分読み出しの動作を示すタイミングチャートである。
【図７】  キャラクタＲＯＭの部分読み出しの動作を示すタイミングチャートである。
【図８】  全体動作を示すタイミングチャートである。
【符号の説明】
１  ビデオＲＡＭ、１７  キャラクタＲＯＭ、１８  シフトレジスタ、１９，２０  レジスタ、２３  出力処理回路  ３０  カウンタ、３１  レジスタ、３２比較回路。
【図１】
0003789537.tif 000002
【図２】
0003789537.tif 000003
【図３】
0003789537.tif 000004
【図４】
0003789537.tif 000005
【図５】
0003789537.tif 000006
【図６】
0003789537.tif 000007
【図７】
0003789537.tif 000008
【図８】
0003789537.tif 000009