JP3789537B2 - Character area access control circuit - Google Patents
Character area access control circuit Download PDFInfo
- Publication number
- JP3789537B2 JP3789537B2 JP2094896A JP2094896A JP3789537B2 JP 3789537 B2 JP3789537 B2 JP 3789537B2 JP 2094896 A JP2094896 A JP 2094896A JP 2094896 A JP2094896 A JP 2094896A JP 3789537 B2 JP3789537 B2 JP 3789537B2
- Authority
- JP
- Japan
- Prior art keywords
- character
- data
- signal
- code
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Digital Computer Display Output (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、テレビ画面等に文字などのキャラクタを表示するために、キャラクタを格納するキャラクタエリアへのアクセスを制御するキャラクタエリアアクセス制御回路、特にキャラクタエリアの特定範囲のみをアクセスするように制御するものに関する。
【0002】
【従来の技術】
従来より、所定のコードデータに応じて、RGB処理されたカラーの文字をテレビ画面に表示できるテレビジョン装置が知られている。なお、コードデータは、受信信号より再生される場合もあるし、内部で発生する場合もある。
【0003】
このような装置において文字表示を行う場合、所定の文字フォントのドットパターン(キャラクタパターン)が記憶されたキャラクタROMと、このキャラクタROMのアクセスアドレスを決定するキャラクタコードを記憶するビデオRAMを設ける。そして、このビデオRAMのアドレスは、テレビ画面上における文字の表示位置に対応している。このため、ビデオRAMの各アドレスに記憶されているキャラクタコードに応じて、キャラクタROMから対応するキャラクタパターンを読み出すことで、文字表示を行うことができる。
【0004】
ここで、ビデオRAMに記憶するキャラクタコードは常に一定のビット数であり、このキャラクタコードによってアドレッシングされるキャラクタROM内のエリア、すなわち1キャラクタが記憶されるエリアも常に一定の大きさに設定されている。一方、画面上に表示するキャラクタとしては、常に一定の大きさではなく、大きなものや、小さなものを表示したい場合がある。しかし、上述のようにキャラクタを記憶するためのエリアはそのサイズが固定であり、固定のサイズ分だけ読み出して、これを表示に用いていた。
【0005】
【発明が解決しようとする課題】
このように、従来のキャラクタROMでは、小さなキャラクタであっても大きなキャラクタが収容できる大きな領域に格納されている。従って、小さなキャラクタを収容した場合、実際には使用しない領域が生じている。そこで、ROMの有効利用の観点から、複数のキャラクタを1つの領域に収容したいという要望がある。
【0006】
しかし、キャラクタコードによって指定される領域は、1キャラクタ分の領域であって、これを分割することはできない。そこで、収容されている複数のキャラクタが一緒に読み出されてしまう。そこで、結局は小さなキャラクタも1キャラクタ分の領域に格納することになり、ROMの利用効率が悪くなるという問題点があった。
【0007】
本発明は、上記問題点を解決することを課題としてなされたものであり、1キャラクタ分の領域を分割して、読み出すことを可能とするキャラクタエリアアクセス制御回路を提供することを目的とする。
【0008】
【課題を解決するための手段】
本発明は、画面の表示に対応した位置にマトリクス状にキャラクタコードが記憶されたビデオRAMから読み出されたキャラクタコードに応じて、1キャラクタ分のエリアが指定されるキャラクタ格納エリアへのアクセスを制御するキャラクタエリアアクセス制御回路であって、1キャラクタ分のエリア内の垂直方向の先頭読み出し位置がプリセットされ、水平ラインをカウントして順次読み出し位置をインクリメントする計数部と、1キャラクタ分のエリア内の垂直方向の終了読み出し位置がセットされる記憶部と、計数部の計数値と記憶部の値との一致を検出する一致検出部と、を有すると共に、ビデオRAMのキャラクタコードのローの先頭部分に、上記先頭読み出し位置及び終了読み出し位置が記憶されており、キャラクタコードの読み出しに先立ってビデオRAMから読み出された先頭読み出し位置及び終了読み出し位置を計数部及び記憶部にそれぞれセットすることで、対応するローのキャラクタについて、キャラクタ格納エリアの所定本数の水平走査ラインに対応する範囲のみ読み出すことを特徴とする。
【0014】
ビデオRAMからキャラクタコードを読み出して、これに応じてキャラクタを表示する際に、その読み出し範囲が特定できる。このため、1キャラクタ分のエリアを縦方向の任意の部分を読み出すことができる。従って、キャラクタ格納エリア(例えばキャラクタROM)の1キャラクタ分のエリアに、複数のキャラクタの縦に並べて記憶しておくことで、これらを別々に読み出すことができ、キャラクタ格納エリアの有効利用が図れる。
【0015】
【発明の実施の形態】
以下、本発明に好適な実施の形態(以下、実施形態という)について、図面に基づいて説明する。図1は、キャラクタ表示制御回路の全体構成を示すブロック図であり、この回路はマイクロコンピュータにより実現される。
【0016】
ビデオRAM1は、表示文字に対応するキャラクタコードをテレビ画面の表示部分に対応するアドレスに記憶する。また、文字色及び背景色を示す修飾(アトリビュート)情報を記憶する場合には、キャラクタコードに代えて、これらを指定するアトリビュートコードが記憶される。このアトリビュートは、一旦指定すると、その後は同一の状態を維持するようになっている。このため、アトリビュートコードは、アトリビュートを変更したい文字のアドレスの直前のアドレスに記憶される。従って、テレビ画面の中で、表示文字を同じアトリビュートで連続表示する場合には、1文字目のキャラクタコードが記憶されるアドレスの直前のアドレスにアトリビュートコードを記憶するだけでよい。
【0017】
また、本実施例では、ビデオRAM1の各アドレスは、9ビットで構成されている。最上位ビット(MSB)が文字コードまたはアトリビュートコードの別を示す識別ビット、残りの8ビットが、文字コード(キャラクタコード)またはアトリビュートコードを示している。そして、MSB「0」はキャラクタコード、MSB「1」はアトリビュートコードを示しており、このMSBを読み出し判定することで、キャラクタコードかアトリビュートコードかを識別できる。残りの8ビット、すなわち「000」〜「0FF」H(Hはヘキサデシマル)は、256種類のキャラクタコードまたはアトリビュートコードの内容を示している。
【0018】
また、図において破線で分割して示したように、ビデオRAM1の内部には、パレットデータ領域が設けられている。このパレットデータ領域には、表示文字に色または背景色を付すための修飾データが記憶される。すなわち、ビデオRAM1から読み出されたアトリビュートコードをアドレスデータとして、このパレットデータ領域がアクセスされ、表示文字の文字色、背景色が決定される。
【0019】
「ビデオRAMの構成」
ここで、ビデオRAM1のマップ構成例を図2に示す。このように、ビデオRAM1は、縦方向が「00〜10」Hの17のローアドレス、横方向が「00〜2F」Hの48のカラムアドレスからなっている。そして、ローアドレス「00〜0F」H及びカラムアドレス「00〜08」Hで指定される右上がり斜線で示される領域には、テレビ画面上での文字表示開始位置、及びテレビ画面に初めて表示を行う文字についてのアトリビュート(文字色及び背景色)を示す初期設定データが書き込まれる。
【0020】
特に、この初期設定データのカラムアドレス「00」には、そのローの文字の表示開始位置を示すデータ(画面上の垂直位置を示す水平走査線番号)が記憶されている。また、カラムアドレス「01」Hには1キャラクタ内における表示開始位置を示すデータ「M」、カラムアドレス「02」Hには1キャラクタ内の表示終了位置を示すデータ「N」、カラムアドレス「04」Hには1水平ラインにおける最初のキャラクタの表示開始位置(水平同期信号Hsの立ち上がりからキャラクタ表示開始までのドットクロックDCLKの数)を示すデータが記憶されている。
【0021】
また、ローアドレス「00〜0F」H及びカラムアドレス「09〜2F」Hで指定される領域には、テレビ画面への文字表示位置に対応してキャラクタコード(またはアトリビュートコード)が書き込まれる。
【0022】
また、ローアドレス「10」H及びカラムアドレス「00〜1F」Hで指定される左上がり斜線で示される領域(パレットデータ領域)には、上述の修飾データが書き込まれる。さらに、詳細に説明すると、ローアドレス「10」H及びカラムアドレス「00〜17」で指定される領域には、文字色を示す修飾データが書き込まれ、ローアドレス「10」H及びカラムアドレス「18〜2F」H指定される領域には、背景色を示す修飾データが書き込まれる。
【0023】
ここで、アトリビュートコードのビット配列の一例について説明すると、アトリビュートコードは、9ビット構成であり、MSBがアトリビュートコードとキャラクタコードの識別ビット、上位の8ビット目が文字色及び背景色の識別ビット、上位7ビット目が文字色を着色するか否かのオンオフビット、上位6ビット目が背景色を着色するか否かのオンオフビット、残りの5ビットがパレットデータ領域のカラムアドレス「00〜17」Hまたは「18〜2F」の1つを指定するビットに割り振られている。
【0024】
また、パレットデータ領域の各アドレスも9ビット構成であり、9ビットすべてがRGBの情報として使用できる。本実施形態では、RGB各々に2ビットを割り当て、64種類の色指定を可能としている(残り3ビットは不使用)。
【0025】
「CPUタイミングによるビデオRAMへのアクセス」
ここで、マイクロコンピュータの1マシンサイクルは、プログラムの解読結果に基づき、ビデオRAM1の書き込み読み出し動作を行うCPUタイミングと、CPU(図示せず)の動作とは無関係にビデオRAM1の読み出しを行うOSD(ON SCREEN DISPLAY)タイミングとからなっている。具体的には、1マシンサイクルは、3期間のCPUタイミング(ローレベル)及び3期間のOSDタイミング(ハイレベル)を交互に繰り返す6ステートからなっている(図8のO/C参照)。ビデオRAM1は、CPUタイミング及びOSDタイミングで独立にアクセスされるため、構成が簡単なシングルポートで構成されている。
【0026】
また、図1に示すようにビデオRAM1は、データバス2に接続されている。ビデオRAM1は、CPUからの指示に従い、書き込みモードまたは読み出しモードに切り換えられる。例えば、ビデオRAM1が書き込みモードになっているとき、キャラクタコードや、アトリビュートコードや、修飾データが、ビデオRAM1に書き込まれる。また、読み出しモードになっている場合には、キャラクタコードや、アトリビュートコードが読み出されてデータバス2にのる。この書き込み及び読み出しの際のビデオRAM1のアドレッシングは、後述するローアドレスレジスタ3及びカラムアドレスレジスタ4に所望のアドレスデータをデータバス2を介しセットすることによって行う。
【0027】
すなわち、各マシンサイクル中のCPUタイミング中にビデオRAM1のローアドレスをアドレッシングする場合には、ローアドレスレジスタ3に、CPUからのローアドレスデータをデータバス2を介しセットする。
【0028】
同様に、カラムアドレスレジスタ4に、データバス2を介しCPUからのカラムアドレスデータがセットされる。これによって、ビデオRAM1をアドレッシングする。
【0029】
ビデオRAM1へのデータの書き込みは、このCPUタイミングにおいて、CPUからのデータによって行う。また、画面表示のためのビデオRAM1からのデータの読み出しは、OSDタイミングの読み出しによって行う。
【0030】
「OSDタイミングのビデオRAMへのアクセス」
各マシンサイクルのOSDタイミング中のローアドレスを決定するために、垂直位置制御回路5が設けられている。
【0031】
ここで、テレビ画面における文字表示の垂直方向開始位置を示す初期設定データが、ローアドレス「00〜0F」H、カラムアドレス「00」で指定される領域にそれぞれ書き込まれている。
【0032】
垂直位置制御回路5は、タイミング切換信号O/C、水平同期信号Hs、及び垂直同期信号Vsが印加されて動作する。このため、垂直位置制御回路5の内部には、最初の表示文字の垂直方向の開始位置を検出する手段として、第1カウンタ(図示せず)と、第2カウンタ(図示せず)と、一致検出回路(図示せず)が設けられている。
【0033】
第1カウンタは、水平同期信号Hsの立ち上がりでリセットされ、水平同期信号のHsの立ち上がり期間中(ブランキング期間)にローアドレスを「00」Hから「0F」Hまで変更させる。このため、これに対応する周波数のクロック信号をカウントする。このとき、カラムアドレスは「00」に固定されており、この状態で、垂直位置制御回路5は、第1カウンタの値によってビデオRAM1からバイナリデータを順次読み込む。
【0034】
第2カウンタは、垂直同期信号Vsでリセットされ、水平同期信号Hsをカウントする。一致検出回路は、第1カウンタのカウント値でアクセスされた「00〜0F」Hのいずれか1つのローアドレス(カラムアドレスは「00」)に書き込まれたバイナリデータと、第2カウンタでカウントされた水平同期信号Hsのバイナリデータとの一致を検出する。従って、第2カウンタに得られる水平同期信号Hsの垂直方向の位置を表すデータが、ローアドレス「00〜0F」Hのいずれか1つに書かれていると、その位置が最初の表示文字の垂直方向の表示開始位置と認識される。そこで、一致検出回路は、このときに一致信号(ROWSTART)を出力する。なお、この一致検出に応じて、対応ローアドレスのデータが出力され、文字表示が開始される。
【0035】
垂直位置制御回路5は、キャラクタROM17の読み出しを制御するために、現在表示されている1つのキャラクタの垂直方向の位置を認識するための構成を有している。すなわち、上述の一致検出回路から出力される一致検出信号(ROWSTART)でイネーブル状態にされ、水平同期信号Hsの立ち上がりをバイナリでカウントして、キャラクタROM17の読み出しアドレスを発生するが、この構成については、後述する。
【0036】
ビデオRAM1におけるパレットデータ領域のローアドレスを指定するために、パレットローアドレスレジスタ6が設けられている。この例では、このパレットローアドレスレジスタ6に、「10」Hが予めセットされている。
【0037】
ローアドレスレジスタ3、垂直位置制御回路5、パレットローアドレスレジスタ6とビデオRAM1の間には、ローアドレス切換回路7が設けられており、いずれかのローアドレスを切り換え出力する。具体的には、タイミング切換信号O/Cと、パレットリード信号PRのハイレベル及びローレベルの組み合わせにより、いずれか1つのローアドレスを切り換え出力する。この信号O/C及びPRの発生のタイミングは図8のタイミングチャートに示すとおりである。
【0038】
このように、タイミング切換信号O/C及びパレットリード信号PRがローレベルの時はローアドレスレジスタ3にセットされているローアドレスデータが選択され、タイミング切換信号O/Cがハイレベルで、パレットリード信号PRがローレベルの時は垂直位置制御回路5から供給されるローアドレスデータが選択され、タイミング切換信号O/C及びパレットリード信号PRが共にハイレベルの時はパレットローアドレスレジスタ6にセットされているローアドレスデータが選択される。
【0039】
水平位置制御回路8は、表示文字の水平方向の開始位置を検出する。各マシンサイクルのOSDタイミング中、ビデオRAM1は、水平位置制御回路8の出力に基づきアドレッシングされる。水平位置制御回路8は、水平同期信号Hsの立ち上がりから、ローアドレス「00」H,カラムアドレス「04」Hから読み出された表示文字の水平方向文字表示開始位置に至ると、ドットクロックDCLKの立ち上がりをバイナリでカウントするカウント手段を有している。なお、文字表示を行う水平走査ラインにのみ、表示を許可する信号を出力する構成も有しているが、これについては後述する。
【0040】
そして、このカウント手段は、カウントを開始したときに、パルスPPCを発生すると共に、カウントを開始し、DCLKをn回カウントする度にPPCを発生する。なお、水平位置制御回路8は、文字表示の開始位置(カウントの開始位置)についてのデータを記憶するためのレジスタ手段も有している。ここで、ドットクロックDCLKは、文字データの横方向の各ドット毎が1周期となる周波数を有している。そこで、表示文字の区切り毎に(変更時点で)パルスPPCが発生される。
【0041】
カラムカウンタ9には、ORゲート10を介し、水平位置制御回路8からのパルスPPCが印加される。そして、カラムカウンタ9は、パルスPPCが入力される度に、インクリメントされるカラムアドレスデータを発生する。
【0042】
カラムアドレス切換回路11は、タイミング切換信号O/C及びパレットリード信号PRに応じて、カラムアドレスレジスタ4、カラムカウンタ9及び後述するラッチ回路15のいずれかの出力を選択し、ビデオRAM1に印加するカラムアドレスデータを切り換える。具体的には、タイミング切換信号O/C及びパレットリード信号PRが共にローレベルのときカラムアドレスレジスタ4にセットされたカラムアドレスデータを選択し、タイミング切換信号O/Cがハイレベルでパレットリード信号PRがローレベルの時カラムカウンタ9でカウントされたカラムアドレスデータを選択し、タイミング切換信号O/C及びパレットリード信号PRが共にハイレベルの時、前記ラッチ回路15の出力を選択する。
【0043】
このようにして、ビデオRAM1は、ローアドレス及びカラムアドレスが決定され、当該アドレスのデータ(キャラクタコード、アトリビュートコード、修飾データ)がデータが読み出される。なお、垂直位置制御回路5では、垂直方向の文字開始位置を検出するために、上述したように、ローアドレス「00〜0F」H及びカラムアドレス「00」Hで指定されるアドレスに書き込まれたデータの取り込みが必要である。そこで、タイミング切換信号O/Cの立ち下がりで読み出されたビデオRAM1の全9ビットのデータVDATAは垂直位置制御回路5に印加されるようになっている。
【0044】
「ビデオRAMの読み出し出力VDATAの処理」
キャラクタコードラッチ回路12は、ビデオRAM1のOSDタイミングの読み出し出力であるVDATAのうち、キャラクタコードのみをラッチする。
【0045】
アトリビュートコードラッチ回路13は、ビデオRAM1の出力のうちアトリビュートコードのみをラッチする。このため、ビデオRAM1の読み出し出力VDATAの最上位ビットMSBが「1」であり、かつ水平位置制御回路8からアトリビュートクロックATRCKが発生したとき、ANDゲート14から出力されるATRCKと同一の出力の立ち下がりに同期して、VDATAの下位8ビット(アトリビュートコード)をラッチする。
【0046】
ANDゲート14の出力は、一方の入力に信号PPCが供給されるORゲート10の他方の入力にも印加され、アトリビュートコードラッチ回路13がアトリビュートコードをラッチする直前にカラムカウンタ9の値は前記クロックATRCKの立ち上がりに同期して+1インクリメントされる。
【0047】
ラッチ回路15は、アトリビュートコードラッチ回路13にラッチされたアトリビュートコードをパレットデータ領域のカラムアドレスに解読し、パルスPPCの立ち上がりに同期してラッチする。これにより、ラッチ回路15には、文字色か背景色かを識別するデータ(アトリビュートコードの上位8ビット目)と、文字色のオンオフデータ(アトリビュートコードの上位7ビット目)と、背景色のオンオフデータ(アトリビュートコードの上位6ビット目)と、パレットデータ領域のカラムアドレスデータとが保持される。
【0048】
修飾データラッチ回路16は、パレットローアドレスレジスタ6から出力された「10」Hの固定されたローアドレスデータと、ラッチ回路15から出力された「00〜2F」のカラムアドレスデータで指定されたビデオRAM1のパレットデータ領域の任意のアドレスから読み出された修飾データ(アトリビュートデータ)をラッチする。このデータのラッチは、水平位置制御回路8から出力される修飾データクロックPLDCLKの立ち上がりに同期して行われる。
【0049】
キャラクタROM17には、縦mドット×横nドットの文字フォントを有する所定のドットパターンが各アドレスに記憶されている。そして、キャラクタコードラッチ回路12に記憶されたキャラクタコードにより、アドレスが指定され、読み出されるキャラクタ(1文字分の文字フォントが記憶される領域)が決定される。また、垂直位置制御回路5から供給される水平ラインを示すアドレス信号によって、1キャラクタのドットデータにおける垂直位置が決定される。従って、1回の読み出して、1つのキャラクタの水平方向nビット分のドットデータが読み出される。
【0050】
そして、キャラクタコードラッチ回路12にラッチされるキャラクタコードが変更される度に、読み出されるキャラクタが変更される。1水平ラインの読み出しが終了すると、次のラインの読み出しに移り、同一のキャラクタの次の水平ラインのデータの読み出しが繰り返される。
【0051】
このキャラクタROM17の出力には、シフトレジスタ18が接続されている。このシフトレジスタ18は、nビットのシフトレジスタであり、パルスPPCの立ち上がりに同期してキャラクタROM17から読み出されているnビットデータを保持し、ドットクロックDCLKに同期してnビットのドットデータをシリアル出力する。
【0052】
一方、修飾データラッチ回路16には、レジスタA19及びレジスタB20が接続されている。レジスタA19は、修飾データラッチ回路16でラッチしているデータが表示文字自体の色指定を行う修飾データの場合、そのデータをパルスPPCの立ち上がりに同期して保持する。一方、レジスタB20は、表示文字に付す背景色を示す修飾データを同様のタイミングで保持する。
【0053】
選択ラッチ回路21は、レジスタA19、B20のいずれか一方へ修飾データを選択入力させるための回路であり、インバータ22を介して印加されるパルスPPCの立ち下がりに同期して、ラッチ回路15にラッチされているアトリビュートコードが文字色指定か背景色指定かのデータをラッチする。例えば、選択ラッチ回路21は、「0」をラッチしたときにレジスタA19への入力を許可し、「1」をラッチしたときにレジスタB20への入力を許可する。
【0054】
出力処理回路23は、色出力制御ラッチ回路24からの出力に基づいて、シフトレジスタ18から出力されるドットデータと、レジスタA19及びB20から出力される修飾データとに対して信号処理を施し、テレビ画面上にRGBの信号処理が施された文字を表示するための信号を出力する。
【0055】
色出力制御ラッチ回路24は、ラッチ回路15にラッチされているアトリビュートコードにおける文字色のオンオフデータと背景色のオンオフデータとを、パルスPPCの立ち上がりに同期してラッチする。そして、このラッチ出力を出力処理回路23に供給することにより、出力処理回路における文字色及び背景色のオンオフを制御する。
【0056】
「キャラクタROMからの部分読み出し」
ここで、本実施形態では、キャラクタROM(キャラROM)17の1キャラクタ分の領域、縦mビット、横nビットを縦方向に複数に分割して部分的に読み出すことができる。すなわち、図3(A)、(B)に示すように、縦方向のアドレスが「00000」から「11111」の32ビットであった場合に、その中のMからNのアドレスを読み出すことができる。そこで、図3(A)であれば「A」という文字の一部、図3(B)であれば、「B」という文字あるいは「b」という文字のみを出力することができる。なお、このM,Nの値を変更することで、1キャラクタ分の領域の任意の部分が読み出せることはいうまでもない。
【0057】
このために、垂直位置制御回路5及び水平位置制御回路8の内部に図4に示すような構成を有している。カウンタ30は、初期値として表示開始位置「M」がプリセットされ、その後水平同期信号の立ち上がりをカウントし、カウント値を+1インクリメントする。また、レジスタ31は、表示終了位置「N」を保持する。比較回路32は、カウンタ30のカウント値が、レジスタ31に保持されている値に一致したかを判定する。そして、この回路により、水平ラインの位置が、表示するキャラクタの「M」〜「N」の間だけ垂直表示許可信号VDSPENを出力する。そこで、この構成について、以下に詳細に説明する。
【0058】
まず、カウンタ30のクロック入力端には、HCLK が入力される。このHCLK は、水平同期信号の立ち上がりに発生するパルス信号である。そこで、カウンタ30は、このHCLK をカウントすることで、水平同期信号の立ち上がりをカウントできる。また、このHCLK は、ラッチ回路33の一端にも入力されており、このラッチ回路33の他端には、カラムアドレス「00」Hに記憶されている文字表示開始水平ラインに至ったときにハイレベルになる一致信号ROWSTARTが、入力されている。従って、このラッチ回路33は、一致信号ROWSTARTのハイレベルから次のHCLK のハイレベルまでの期間にハイレベルを出力する。さらに、このラッチ回路33の出力はANDゲート34の一端に入力され、このANDゲート34の他端には、カラムアドレス「01」Hの読み出しタイミングにハイレベルになる信号CLM1RDが供給されており、出力は、カウンタ30のプリセット許可端子に信号CLM1STとして接続されている。さらに、カウンタ30のプリセットデータ端子には、ビデオRAM1の読み出しデータの0〜5ビット目が入力されるようになっている。
【0059】
従って、一致信号ROWSTRATが立ち上がった後のカラムアドレス「01」Hの時のビデオRAM1の出力「M」がカウンタ30にプリセットされ、カウンタ30はその後水平同期信号の立ち上がり、すなわち水平ラインを順次カウントアップする。
【0060】
一方、レジスタ31のクロック入力端には、カラムアドレス「02」Hの読み出しタイミングである信号CLM2RDが、ANDゲート35を介し、信号CLM2STとして入力されている。このANDゲート35の他の入力端には、ラッチ回路33の出力が入力されており、レジスタ31は、カウンタが「M」を取り込んだ次のタイミングで、カラムアドレス「02」HのビデオRAM1の出力を取り込む。この出力VDATAは、「N」であり、これによって、「N」がレジスタ31に取り込まれる。
【0061】
この状態で、カウンタ30が水平ラインをカウントアップしていく。ここで、このカウンタ30のカウント値は、キャラクタROM17の読み出しアドレスとして供給される。従って、キャラクタROM17は、1つのキャラクタの垂直位置「M」から順次読み出されることになる。
【0062】
一方、カウンタ30の出力と、レジスタ31の出力は、比較回路32に入力されている。この比較回路32は、両者が一致するかを検出し、一致した場合には、ハイレベルの出力を出す。この比較回路32の出力は、他端に比較イネーブル信号を受け入れるANDゲート36を介し、ラッチ回路37に入力されている。このラッチ回路37の他端には一致信号ROWSTARTが入力されている。そこで、一致信号ROWSTARTがハイレベルとなった後、比較回路32からハイレベルが出力されるまでの期間ラッチ回路37からハイレベルが出力される。このラッチ回路37の出力が垂直表示許可信号VDSPENになっている。なお、比較イネーブル信号は、比較が不要な期間にVDSPENが出力されないようにするものである。また、ラッチ回路の比較回路32の出力と同一の入力端には、垂直同期信号Vsが入力されている。これは、垂直帰線期間など不要な期間にVDSPENが出力されないようにするためである。
【0063】
一方、水平位置制御回路8には、カウンタ40が設けられており、このカウンタ40は、文字表示開始位置に至ったときに、ハイレベルを出力する。そのために、カウンタ40のクロック入力端には、ドットクロックDCLKが入力され、プリセット許可端には、カラム「04」Hの読み出しを規定する信号CLM4RDが入力され、プリセットデータ入力端には、ビデオRAM1の出力であるVDATAの0〜8ビット目がインバータ41を介し、補数として入力されている。
【0064】
従って、水平同期信号が立ち上がってから、ドットクロックDCLKをカウントし、そのカウント値がカラムアドレス「04」Hで設定された位置(値)に至った時にハイレベルの出力を出す。
【0065】
このカウンタ40の出力は、ラッチ回路42に入力されており、このラッチ回路42の他の入力端には、水平同期信号Hs及びインバータ43を介して信号VDSPENが入力されている。そこで、このラッチ回路42からは、水平方向の文字開始位置から水平同期信号の立ち上がりまでの間ハイレベルになる信号が、垂直表示許可信号VDEPENがハイレベルの時のみに得られる。従って、このラッチ回路42の出力が水平表示許可信号HDSPENとなる。
【0066】
従って、図5に示すように、キャラクタROM17から読み出されたキャラクタの垂直位置「M」から「N」までの区間のみが表示される。なお、この区間の設定は、水平方向については、変更ができないため、水平方向一列の文字については、同一の高さの表示となる。
【0067】
しかし、このような制御によって、キャラクタROM17の1キャラクタ領域に複数の文字を書き込んでおき、これを別々に読み出すことができる。例えば、1つのキャラクタ領域、大きさの異なる文字を複数縦方向に記憶しておけば、カラムアドレス「01」H、「02」Hに書き込む「M」、「N」の設定によって、文字の大きさを制御することができる。なお、カラムアドレス「00」に設定する値で、縦方向の文字間隔を制御することができる。
【0068】
次に、この動作について、図6、7に基づいて、説明する。まず、水平同期信号HSが立ち上がると、信号HCLK に1つパルスが出力される。この信号HCLK は、水平同期信号HSの立ち上がりによって常に出力される。また、比較イネーブルも信号HCLK の次のタイミングで常にパルスを出力する。
【0069】
水平同期信号の立ち下がりにおいて、垂直位置制御回路5は、カラムアドレス「00」を読み出し、水平走査位置が文字表示開始位置に至ったときに、一致信号ROWSTARTを出力する。図6においては、最初の比較で、この一致が得られたとしている。そして、この一致信号ROWSTARTのハイレベルによって、垂直表示許可信号VDSPENがハイレベルになる。この後、信号CLM1STのハイレベルによってカウンタ30に「M」が取り込まれ、信号CLM2STのハイレベルによってレジスタ31に「N」が取り込まれる。
【0070】
その後、信号HCLK が出力される度に比較イネーブルがハイレベルになり、比較回路32の比較結果を出力し、カウンタ30の値が「N」になったときに、垂直表示許可信号VDSPENがローレベルになる。
【0071】
なお、カラムアドレス「04」の値は、垂直表示許可信号VDSPENがハイレベルの期間は、毎回読まれ、カウンタ40は、その度にプリセットされる。従って、このカウンタ40の出力HSTARTは、表示開始位置に至ったときに毎水平ライン出力される。そこで、水平表示許可信号HDSPENは、垂直表示許可信号VDSPENがハイレベルの期間は、毎水平ラインの文字表示開始位置から水平同期信号の立ち上がりまでの期間ハイレベルになる。
【0072】
「全体動作」
次に、図1に示す回路の全体動作を図8のタイミングチャートに基づいて説明する。特に、ビデオRAM1に記憶されているコードを表示の目的で読み出し、テレビ画面上に1水平走査分だけ表示する場合(ローアドレスは変化しない)について説明する。なお、図8では、表示文字の初期の開始位置を認識できた後の動作を示している。また、タイミング切換信号O/CとパルスPPCとは同期させる必要なないが、説明の都合上、同期した状態で説明する。
【0073】
時刻t0において、パルスPPCが立ち上がると、このパルスPPCの立ち上がりに同期してカラムカウンタ9がインクリメントされる。ここで、カラムカウンタ9の値はn−1からnになったとする。このとき、ビデオRAM1から読み出されているのがカラムアドレスn−1に対応するキャラクタコードN−1であると、パルスPPCの立ち上がりに同期してキャラクタコードN−1がキャラクタコードラッチ回路12にラッチされる。
【0074】
このとき、タイミング切換信号O/Cはローレベルからハイレベルに立ち上がった状態であり、その後のハイレベル期間にカラムカウンタ9のカラムアドレスデータnがカラムアドレス切換回路11を介しビデオRAM1に印加され、ビデオRAM1のカラムアドレスn(ローアドレスは任意のアドレスで固定されている)で指定されるアドレスがアクセスされる。
【0075】
次に、タイミング切換信号O/Cの立ち下がりに同期して、ビデオRAM1から読み出されるコードがN−1からNに変更される。なお、カラムアドレスnに対応するビデオRAM1の読み出しコードは大文字のNで表す。
【0076】
ここで、読み出しコードNが、アトリビュートコードであると、MSBが「1」であることから、アトリビュートクロックATRCKの立ち上がりに同期して、カラムカウンタ9の値がnからn+1に変更され、またアトリビュートクロックATRCKの立ち下がりに同期して、アトリビュートコードNがアトリビュートコードラッチ回路13にラッチされる。
【0077】
なお、アトリビュートクロックATRCKが発生している期間はパレットリード信号PRがハイレベルになるように設定されている。このため、カラムカウンタ9の出力がカラムアドレス切換回路11から出力される動作は禁止され、その代わりにラッチ回路15に既にラッチされている前アトリビュートコードのパレットアドレスがビデオRAM1に印加される。これによって、前修飾データがビデオRAM1から読み出される。
【0078】
そして、タイミング切換信号O/Cの立ち上がりと同時に、修飾データクロックPLDCKが発生し、この立ち上がりに同期して修飾データラッチ回路16に修飾データがラッチされる。なお、カラムカウンタ9の値n+1で指定されるアドレスから読み出されるコードはキャラクタコードであるものとする。
【0079】
ここで、1文字分の文字フォントの横方向のドット表示が終了し、時刻t1において、パルスPPCが再び立ち上がると、パルスPPCの立ち上がりに同期してカラムカウンタ9がインクリメントされ、カラムカウンタ9の値はn+1からn+2になる。同時に、ビデオRAM1から読み出されているのは、カラムアドレスデータn+1に対応するキャラクタコードN+1となり、パルスPPCの立ち上がりに同期してキャラクタコードN+1がキャラクタコードラッチ回路12にラッチされる。さらに、パルスPPCの立ち上がりに同期して、アトリビュートコードラッチ回路13に既にラッチされているアトリビュートコードNがラッチ回路15にラッチされる。
【0080】
そして、キャラクタコードN−1でアクセスされ、キャラクタROM17から読み出されたドットデータ(N−1)がシフトレジスタ18に取り込まれる。また、パルスPPCの立ち下がりに同期して、修飾データラッチ回路16にラッチされている前修飾データがレジスタA19またはレジスタB20のいずれかにセットされる。
【0081】
このとき、タイミング切換信号O/Cはローレベルからハイレベルに立ち上がった状態であり、その後のハイレベル期間にカラムカウンタ9のカラムアドレスデータn+2がカラムアドレス切換回路11を介してビデオRAM1に印加され、ビデオRAM1のカラムアドレスn+2(ローアドレスは任意のアドレスで固定されている)で指定されるアドレスがアクセスされる。
【0082】
次に、タイミング切換信号O/Cの立ち上がりに同期して、ビデオRAM1から読み出されるコードがN+1からN+2に変更される。ここで、読み出しコードN+2がキャラクタコードであると、該キャラクタコードの最上位ビットMSBが「0」であることから、アトリビュートクロックATRCKが発生してもカラムカウンタ9の値は変更されることはなくn+2のままである。また、ANDゲート14からアトリビュートコードラッチ回路13のためのクロックも発生しないため、キャラクタコードN+2がアトリビュートコードラッチ回路13にラッチされる動作も禁止される。
【0083】
なお、アトリビュートクロックATRCKが発生している期間はパレットリード信号PRがハイレベルとなっているため、カラムカウンタ9の出力がカラムアドレス切換回路11から出力される動作は禁止され、その代わりにラッチ回路15に既にラッチされているアトリビュートコードNのパレットアドレスがビデオRAM1に印加され、タイミング切換信号O/Cの立ち下がりに同期して、ビデオRAM1から修飾データNが読み出される。
【0084】
次に、タイミング切換信号O/Cの立ち上がりと同時に修飾データクロックPLDCKが発生すると、修飾データクロックPLDCKの立ち上がりに同期して修飾データラッチ回路16に修飾データNがラッチされる。
【0085】
そして、1文字分の表示が終了し、時刻t2になったときに、パルスPPCが立ち上がると、このパルスPPCの立ち上がりに同期してカラムカウンタ9がインクリメントされ、カラムカウンタ9の値はn+2からn+3になる。
【0086】
これによって、ビデオRAM1から読み出されているデータが、カラムアドレスn+2に対応するキャラクタコードN+2になり、パルスPPCの立ち上がりに同期してキャラクタコードラッチ回路12にラッチされる。さらにパルスPPCの立ち上がりに同期して、アトリビュートコードラッチ回路13にラッチされているアトリビュートコードNのパレットアドレスがラッチ回路15によって再びラッチされ、かつキャラクタコードN+1でアクセスされるキャラクタROM17から読み出されて、その出力(N+1)シフトレジスタ18にセットされる。
【0087】
また、パルスPPCの立ち下がりに同期して、ラッチ回路15に既にラッチされているアトリビュートコードの文字色または背景色を指定するデータに応じて、修飾データラッチ回路16にラッチされている修飾データNが、レジスタA19またはレジスタB20のいずれか一方にセットされる。
【0088】
このとき、タイミング切換信号O/Cは、ローレベルからハイレベルに立ち上がった状態であり、その後のハイレベル期間にカラムカウンタ9のカラムアドレスデータn+3がカラムアドレス切換回路11を介してビデオRAM1に印加され、ビデオRAM1のカラムアドレスn+3(ローアドレスは任意のアドレスで固定されている)で指定されるアドレスがアクセスされる。
【0089】
次に、タイミング切換信号O/Cの立ち下がりに同期して、ビデオRAM1から読み出されるコードがN+2からN+3に変更される。ここで、読み出しコードN+3がアトリビュートコードであると、このアトリビュートコードの最上位ビットMSBが「1」であることから、アトリビュートクロックATRCKの立ち上がりに同期してカラムカウンタ9の値がn+3からn+4にインクリメントされる。また、アトリビュートクロックATRCKの立ち下がりに同期してアトリビュートコードN+3がアトリビュートコードラッチ回路13にラッチされる。また、アトリビュートクロックATRCKが発生している期間はパレットリード信号PRがハイレベルとなっているためカラムカウンタ9の出力がカラムアドレス切換回路11から出力される動作は禁止され、その代わりにラッチ回路15に既にラッチされているアトリビュートコードNが再びビデオRAM1に印加され、タイミング切換信号O/Cの立ち下がりに同期して修飾データNが読み出される。
【0090】
その後、タイミング切換信号O/Cの立ち上がりと同時に修飾データクロックPLDCKが発生すると、修飾データクロックPLDCKの立ち上がりに同期して修飾データラッチ回路16に修飾データNがラッチされる。
【0091】
そして、時刻t1からt2の間は、シフトレジスタ18の値が(N−1)になっている。一方、レジスタA19またはレジスタB20の値は、前修飾データに書き換えられている。従って、この期間は、この修飾データが出力処理回路23に印加され、所定のRGB信号が出力されることになる。同様に時刻t2からt3の期間においては、シフトレジスタ18の値が(N+1)、レジスタA19またはレジスタB20の値が修飾データNとなっており、これが出力処理回路23に印加され、これに応じて所定のRGB信号が出力される。
【0092】
このように、本実施形態によれば、ビデオRAM1のアドレスの一部に修飾データを記憶させるため、1アドレスについてアトリビュートコードのみを記憶できるため、他種類の色指定も可能となる。
【0093】
そして、本実施形態では、キャラクタROM17の縦方向の任意の範囲を読み出すことができる。従って、キャラクタROM17に複数のキャラクタを書き込みこれらを別々に読み出すことができる。そこで、キャラクタROM17の有効利用を図ることができる。
【図面の簡単な説明】
【図1】 本発明のキャラクタエリアアクセス制御回路の全体構成を示すブロック図である。
【図2】 ビデオRAMのエリアマップを示す図である。
【図3】 キャラクタROMの1キャラクタ分の構成を示す図である。
【図4】 キャラクタROMの部分読み出しのための構成を示す図である。
【図5】 キャラクタの1列分の表示を示す図である。
【図6】 キャラクタROMの部分読み出しの動作を示すタイミングチャートである。
【図7】 キャラクタROMの部分読み出しの動作を示すタイミングチャートである。
【図8】 全体動作を示すタイミングチャートである。
【符号の説明】
1 ビデオRAM、17 キャラクタROM、18 シフトレジスタ、19,20 レジスタ、23 出力処理回路 30 カウンタ、31 レジスタ、32比較回路。[0001]
BACKGROUND OF THE INVENTION
The present invention controls a character area access control circuit for controlling access to a character area for storing a character, in particular, to access only a specific range of the character area in order to display a character such as a character on a television screen or the like. About things.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, there is known a television apparatus that can display RGB-processed color characters on a television screen according to predetermined code data. Note that the code data may be reproduced from the received signal or may be generated internally.
[0003]
When displaying characters in such an apparatus, a character ROM storing a dot pattern (character pattern) of a predetermined character font and a video RAM storing a character code for determining an access address of the character ROM are provided. The video RAM address corresponds to the character display position on the television screen. Therefore, character display can be performed by reading the corresponding character pattern from the character ROM in accordance with the character code stored at each address of the video RAM.
[0004]
Here, the character code stored in the video RAM is always a fixed number of bits, and the area in the character ROM addressed by this character code, that is, the area where one character is stored is always set to a fixed size. Yes. On the other hand, as a character displayed on the screen, there are cases where it is desired to display a large or small character, not always a fixed size. However, as described above, the area for storing the character has a fixed size, and only the fixed size is read and used for display.
[0005]
[Problems to be solved by the invention]
Thus, in the conventional character ROM, even a small character is stored in a large area that can accommodate a large character. Therefore, when a small character is accommodated, there is an area that is not actually used. Therefore, there is a demand for accommodating a plurality of characters in one area from the viewpoint of effective use of ROM.
[0006]
However, the area specified by the character code is an area for one character and cannot be divided. Therefore, a plurality of accommodated characters are read together. Therefore, in the end, a small character is also stored in the area for one character, and there is a problem that the utilization efficiency of the ROM is deteriorated.
[0007]
The present invention has been made to solve the above problems, and an object of the present invention is to provide a character area access control circuit that can divide and read an area for one character.
[0008]
[Means for Solving the Problems]
The present invention provides access to a character storage area in which an area for one character is designated in accordance with a character code read from a video RAM in which character codes are stored in a matrix at positions corresponding to display on the screen. Character area access control circuit to control, an area for one character Inside A vertical reading start position is preset, a counting unit that counts horizontal lines and sequentially increments the reading position, and one character Within minutes And a coincidence detection unit for detecting coincidence between the count value of the counting unit and the value of the storage unit, and a leading portion of the character code row of the video RAM The head reading position and the end reading position are stored, and the head reading position and the end reading position read from the video RAM prior to the character code reading are set in the counting unit and the storage unit, respectively. For the corresponding row character, only a range corresponding to a predetermined number of horizontal scanning lines in the character storage area is read.
[0014]
When the character code is read from the video RAM and the character is displayed according to the character code, the read range can be specified. For this reason, an arbitrary portion in the vertical direction can be read out from the area for one character. Therefore, by storing a plurality of characters vertically in an area for one character in a character storage area (for example, a character ROM), these can be read out separately, and the character storage area can be used effectively.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, preferred embodiments (hereinafter referred to as embodiments) of the invention will be described with reference to the drawings. FIG. 1 is a block diagram showing the overall configuration of the character display control circuit, which is realized by a microcomputer.
[0016]
The
[0017]
In this embodiment, each address of the
[0018]
Further, as shown by being divided by broken lines in the figure, a palette data area is provided in the
[0019]
"Configuration of video RAM"
Here, a map configuration example of the
[0020]
In particular, the column address “00” of the initial setting data stores data indicating the display start position of the row character (horizontal scanning line number indicating the vertical position on the screen). The column address “01” H includes data “M” indicating the display start position within one character, the column address “02” H includes data “N” indicating the display end position within one character, and the column address “04”. "H" stores data indicating the display start position of the first character in one horizontal line (the number of dot clocks DCLK from the rise of the horizontal synchronization signal Hs to the start of character display).
[0021]
In the area specified by the row address “00-0F” H and the column address “09-2F” H, a character code (or attribute code) is written corresponding to the character display position on the television screen.
[0022]
Further, the above-described modification data is written in an area (pallet data area) indicated by a left-upward oblique line designated by the row address “10” H and the column address “00 to 1F” H. More specifically, in the area specified by the row address “10” H and the column address “00-17”, the modification data indicating the character color is written, and the row address “10” H and the column address “18” are written. ˜2F ”H is written in the area designated by the decoration data indicating the background color.
[0023]
Here, an example of the bit arrangement of the attribute code will be described. The attribute code has a 9-bit configuration, the MSB is the identification code of the attribute code and the character code, the upper 8th bit is the identification bit of the character color and the background color, An on / off bit indicating whether or not the upper 7 bits are for coloring a character color, an on / off bit indicating whether or not the upper 6 bits are for coloring a background color, and the remaining 5 bits are column addresses “00 to 17” of the palette data area Allocated to a bit that designates one of H or "18-2F".
[0024]
Each address of the palette data area has a 9-bit configuration, and all 9 bits can be used as RGB information. In this embodiment, 2 bits are assigned to each of RGB, and 64 types of colors can be designated (the remaining 3 bits are not used).
[0025]
"Access to video RAM by CPU timing"
Here, one machine cycle of the microcomputer is based on the decoding result of the program, the CPU timing for performing the writing / reading operation of the
[0026]
As shown in FIG. 1, the
[0027]
That is, when addressing the row address of the
[0028]
Similarly, column address data from the CPU is set in the
[0029]
Data writing to the
[0030]
"Access to video RAM at OSD timing"
A vertical
[0031]
Here, initial setting data indicating the vertical start position of character display on the television screen is written in the areas specified by the row address “00-0F” H and the column address “00”, respectively.
[0032]
The vertical
[0033]
The first counter is reset at the rising edge of the horizontal synchronizing signal Hs, and changes the row address from “00” H to “0F” H during the rising edge of Hs of the horizontal synchronizing signal (blanking period). For this reason, the clock signal of the frequency corresponding to this is counted. At this time, the column address is fixed to “00”, and in this state, the vertical
[0034]
The second counter is reset by the vertical synchronization signal Vs and counts the horizontal synchronization signal Hs. The coincidence detection circuit counts binary data written to any one row address (column address is “00”) of “00 to 0F” H accessed by the count value of the first counter and the second counter. The coincidence with the binary data of the horizontal synchronizing signal Hs is detected. Therefore, when data representing the vertical position of the horizontal synchronization signal Hs obtained by the second counter is written in any one of the row addresses “00 to 0F” H, that position is the first display character. This is recognized as the vertical display start position. Therefore, the coincidence detection circuit outputs a coincidence signal (ROWSTART) at this time. In response to this coincidence detection, the data of the corresponding row address is output and the character display is started.
[0035]
The vertical
[0036]
A palette
[0037]
A row
[0038]
As described above, when the timing switching signal O / C and the palette read signal PR are at the low level, the row address data set in the
[0039]
The horizontal
[0040]
The counting means generates a pulse PPC when counting is started, starts counting, and generates PPC every time DCLK is counted n times. The horizontal
[0041]
A pulse PPC from the horizontal
[0042]
The column address switching circuit 11 selects one of the outputs of the
[0043]
In this manner, the
[0044]
"Processing of video RAM read output VDATA"
The character
[0045]
The attribute code latch circuit 13 latches only the attribute code among the outputs of the
[0046]
The output of the AND gate 14 is also applied to the other input of the
[0047]
The latch circuit 15 decodes the attribute code latched by the attribute code latch circuit 13 into a column address in the palette data area and latches it in synchronization with the rising edge of the pulse PPC. As a result, the latch circuit 15 receives data for identifying the character color or background color (upper 8 bits of the attribute code), character color on / off data (upper 7 bits of the attribute code), and on / off of the background color. Data (upper sixth bit of the attribute code) and column address data in the palette data area are held.
[0048]
The modification data latch circuit 16 has a fixed row address data “10” H output from the palette
[0049]
In the
[0050]
Each time the character code latched by the character
[0051]
A
[0052]
On the other hand, a register A 19 and a
[0053]
The selection latch circuit 21 is a circuit for selectively inputting the modification data to one of the registers A19 and B20. The selection latch circuit 21 latches the latch circuit 15 in synchronization with the falling edge of the pulse PPC applied through the inverter 22. Latches whether the specified attribute code is text color or background color. For example, the selection latch circuit 21 permits input to the register A19 when “0” is latched, and permits input to the register B20 when “1” is latched.
[0054]
Based on the output from the color output
[0055]
The color output
[0056]
"Partial read from character ROM"
Here, in the present embodiment, the area for one character, the vertical m bits, and the horizontal n bits of the character ROM (character ROM) 17 can be divided into a plurality of parts in the vertical direction and partially read out. That is, as shown in FIGS. 3A and 3B, when the vertical address is 32 bits from “00000” to “11111”, the addresses from M to N can be read out. . Therefore, a part of the character “A” can be output in FIG. 3A, and only the character “B” or “b” can be output in FIG. 3B. Needless to say, by changing the values of M and N, it is possible to read an arbitrary part of the area for one character.
[0057]
For this purpose, the vertical
[0058]
First, HCLK is input to the clock input terminal of the
[0059]
Therefore, the output “M” of the
[0060]
On the other hand, the signal CLM2RD, which is the read timing of the column address “02” H, is input to the clock input terminal of the
[0061]
In this state, the
[0062]
On the other hand, the output of the
[0063]
On the other hand, the horizontal
[0064]
Therefore, the dot clock DCLK is counted after the horizontal synchronizing signal rises, and when the count value reaches the position (value) set by the column address “04” H, a high level output is output.
[0065]
The output of the
[0066]
Therefore, as shown in FIG. 5, only the section from the vertical position “M” to “N” of the character read from the
[0067]
However, by such control, a plurality of characters can be written in one character area of the
[0068]
Next, this operation will be described with reference to FIGS. First, when the horizontal synchronizing signal HS rises, one pulse is output to the signal HCLK. This signal HCLK is always output at the rising edge of the horizontal synchronizing signal HS. The comparison enable also always outputs a pulse at the next timing of the signal HCLK.
[0069]
At the fall of the horizontal synchronization signal, the vertical
[0070]
Thereafter, each time the signal HCLK is output, the comparison enable becomes high level, the comparison result of the
[0071]
The value of the column address “04” is read every time the vertical display permission signal VDSPEN is at a high level, and the
[0072]
"Overall operation"
Next, the overall operation of the circuit shown in FIG. 1 will be described based on the timing chart of FIG. In particular, a case where a code stored in the
[0073]
When the pulse PPC rises at time t0, the
[0074]
At this time, the timing switching signal O / C rises from the low level to the high level, and the column address data n of the
[0075]
Next, the code read from the
[0076]
Here, if the read code N is an attribute code, the MSB is “1”, so that the value of the
[0077]
Note that the palette read signal PR is set to a high level during the period when the attribute clock ATRCK is generated. Therefore, the operation of outputting the output of the column counter 9 from the column address switching circuit 11 is prohibited, and instead, the palette address of the previous attribute code already latched in the latch circuit 15 is applied to the
[0078]
At the same time as the rise of the timing switching signal O / C, the modified data clock PLDCK is generated, and the modified data is latched in the modified data latch circuit 16 in synchronization with this rising. It is assumed that the code read from the address specified by the value n + 1 of the
[0079]
Here, when the horizontal dot display of the character font for one character is completed and the pulse PPC rises again at time t1, the
[0080]
Then, the dot data (N−1) accessed by the character code N−1 and read from the
[0081]
At this time, the timing switching signal O / C rises from the low level to the high level, and the column address data n + 2 of the
[0082]
Next, the code read from the
[0083]
Since the palette read signal PR is at a high level during the period when the attribute clock ATRCK is generated, the operation of outputting the output of the column counter 9 from the column address switching circuit 11 is prohibited. Instead, the latch circuit The palette address of the attribute code N already latched at 15 is applied to the
[0084]
Next, when the modified data clock PLDCK is generated simultaneously with the rise of the timing switching signal O / C, the modified data N is latched in the modified data latch circuit 16 in synchronization with the rising of the modified data clock PLDCK.
[0085]
Then, when the display of one character is completed and the pulse PPC rises at time t2, the
[0086]
As a result, the data read from the
[0087]
In addition, in accordance with the data specifying the character color or background color of the attribute code already latched in the latch circuit 15 in synchronization with the fall of the pulse PPC, the modification data N latched in the modification data latch circuit 16 Is set in either register A19 or register B20.
[0088]
At this time, the timing switching signal O / C is in a state of rising from the low level to the high level, and the column address data n + 3 of the
[0089]
Next, the code read from the
[0090]
Thereafter, when the modified data clock PLDCK is generated simultaneously with the rise of the timing switching signal O / C, the modified data N is latched in the modified data latch circuit 16 in synchronization with the rising of the modified data clock PLDCK.
[0091]
The value of the
[0092]
Thus, according to the present embodiment, since the modification data is stored in a part of the address of the
[0093]
In the present embodiment, an arbitrary range in the vertical direction of the
[Brief description of the drawings]
FIG. 1 is a block diagram showing an overall configuration of a character area access control circuit according to the present invention.
FIG. 2 is a diagram showing an area map of a video RAM.
FIG. 3 is a diagram illustrating a configuration of one character in a character ROM.
FIG. 4 is a diagram showing a configuration for partial reading of a character ROM.
FIG. 5 is a diagram illustrating display of one column of characters.
FIG. 6 is a timing chart showing an operation of partial reading of the character ROM.
FIG. 7 is a timing chart showing a partial read operation of the character ROM.
FIG. 8 is a timing chart showing the overall operation.
[Explanation of symbols]
1 video RAM, 17 character ROM, 18 shift register, 19, 20 register, 23
Claims (1)
画面上での前記キャラクタの表示開始位置と、1キャラクタ分の領域の任意の部分のパターンデータの垂直方向の先頭読み出し位置と、1キャラクタ分の領域の任意の部分のパターンデータの垂直方向の終了読み出し位置と、パターンデータを指定するキャラクタコードと、が記憶されたビデオRAMと、
前記垂直方向の先頭読み出し位置がプリセットされ、水平ラインをカウントして順次読み出し位置をインクリメントする計数部と、
前記垂直方向の終了読み出し位置がセットされる記憶部と、
前記計数部からの計数値と前記記憶部からの値との一致を検出する一致検出部と、を備え、
前記キャラクタコードの読み出しに先立って、前記垂直方向の先頭読み出し位置及び前記垂直方向の終了読み出し位置を前記計数部及び前記記憶部にそれぞれセットすることで、1キャラクタ分のパターンデータの前記垂直方向の先頭読み出し位置から前記垂直方向の終了読み出し位置の範囲のみを読み出すことを特徴とするキャラクタエリアアクセス制御回路。A character area access control circuit for accessing an arbitrary portion of an area for one character storing pattern data of the character in order to display the character on the screen,
A display start position of the character on the screen, 1 and the character content head reading position in the vertical direction of the pattern data in any part of the region of the end of the vertical pattern data of an arbitrary portion of the region of one character A video RAM in which a reading position and a character code designating pattern data are stored;
The vertical head reading position is preset, and a counting unit that counts horizontal lines and sequentially increments the reading position;
A storage unit in which the end reading position in the vertical direction is set;
A coincidence detection unit that detects a coincidence between the count value from the counting unit and the value from the storage unit,
Prior to the reading of the character code, the vertical start reading position and the vertical end reading position are set in the counting unit and the storage unit, respectively, so that the pattern data for one character in the vertical direction is set. A character area access control circuit which reads only a range of a vertical end read position from a start read position.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2094896A JP3789537B2 (en) | 1996-02-07 | 1996-02-07 | Character area access control circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2094896A JP3789537B2 (en) | 1996-02-07 | 1996-02-07 | Character area access control circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09212332A JPH09212332A (en) | 1997-08-15 |
JP3789537B2 true JP3789537B2 (en) | 2006-06-28 |
Family
ID=12041425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2094896A Expired - Fee Related JP3789537B2 (en) | 1996-02-07 | 1996-02-07 | Character area access control circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3789537B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4544669B2 (en) * | 1999-09-30 | 2010-09-15 | 三洋電機株式会社 | Character readout circuit |
-
1996
- 1996-02-07 JP JP2094896A patent/JP3789537B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09212332A (en) | 1997-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0185294B1 (en) | Display apparatus | |
JPS5848927B2 (en) | Microcomputer terminal system | |
JPS6049391A (en) | Raster scan display system | |
US5396297A (en) | Character display device for displaying characters on a television screen | |
JP3789537B2 (en) | Character area access control circuit | |
CA2013615C (en) | Window priority encoder | |
JP3461063B2 (en) | Character display device | |
US5367317A (en) | Screen display device | |
JP3373993B2 (en) | Character read control circuit | |
KR100329942B1 (en) | Circuit for controlling character display | |
JP2623541B2 (en) | Image processing device | |
JP3423176B2 (en) | Character display control circuit | |
JPH1185123A (en) | Cursor display control circuit | |
US5426734A (en) | Apparatus for controlling a displayed image on a raster scan display | |
JP3579064B2 (en) | Character display device | |
JPH09212333A (en) | Character display control circuit | |
JP3101499B2 (en) | Character display device | |
JP4484278B2 (en) | Display control circuit | |
JPH08339175A (en) | Character display device | |
JP2568716B2 (en) | CRT display circuit | |
JPS59229598A (en) | Indication system for discharge display panel | |
JPS61273584A (en) | Display unit | |
JPH02224587A (en) | Screen display device | |
JPH05165452A (en) | Test system for font data | |
JPS61193196A (en) | Crt display system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060131 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060329 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 4 Free format text: PAYMENT UNTIL: 20100407 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 5 Free format text: PAYMENT UNTIL: 20110407 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120407 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 7 Free format text: PAYMENT UNTIL: 20130407 |
|
LAPS | Cancellation because of no payment of annual fees |