(57)【特許請求の範囲】
【請求項１】
コンピュータにより具体化されたビデオ表示システムにおける、ビットマップ化された出力スキャン・ラインによって表現される出力文字を、対応するビットマップ化された入力スキャン・ラインであって、該出力スキャン・ラインと異なるビット数を有する入力スキャン・ラインによって表現される入力文字から生成する方法であって：
（ａ）入力スキャン・ラインの少なくとも一部によってアドレス可能であり、対応する出力スキャン・ラインの少なくとも一部を収めたエントリを包含する変換テーブルを用意するステップ；および、
（ｂ）前記入力スキャン・ラインを用いて前記変換テーブルにアクセスし、対応する出力スキャン・ラインを獲得するステップ；
からなり、
前記入力スキャン・ラインのそれぞれは、１ピクセル当たり１ビットを含み、前記出力スキャン・ラインのそれぞれは、１ピクセル当たり２ビットを含み、出力文字の各ピクセルを表す２ビットは、対応する入力ピクセルが第１のバイナリ値を有するピクセルについては、該第１のバイナリ値を有し；前記出力文字の各ピクセルを表す２ビットは、対応する入力ピクセルが第２のバイナリ値を有するピクセルについては、該第２のバイナリ値、第３のバイナリ値、および第４のバイナリ値のうちの選択されたいずれか１つの値を有することを特徴とする方法。
【請求項２】
前記出力スキャン・ラインは、前記入力スキャン・ラインより多くのビットを有することを特徴とする前記請求項１記載の方法。
【請求項３】
前記入力スキャン・ラインのそれぞれは、１バイトのビットマップ化されたデータを含み、前記出力スキャン・ラインのそれぞれは、１ワードのビットマップ化されたデータを含むことを特徴とする前記請求項１記載の方法。
【請求項４】
前記変換テーブル内の各エントリは、入力スキャン・ラインの１ニブルによってアドレス可能であり、かつ１バイトの対応する出力スキャン・ラインを収めており、前記ステップ（ｂ）は、各入力スキャン・ラインについて：
（ｂ１）前記入力スキャン・ラインの第１のニブルを用いて前記変換テーブルにアクセスし、対応する出力スキャン・ラインの第１のバイトを獲得するサブステップ；および、
（ｂ２）前記入力スキャン・ラインの第２のニブルを用いて前記変換テーブルにアクセスし、対応する出力スキャン・ラインの第２のバイトを獲得するサブステップ；
を包含することを特徴とする前記請求項３記載の方法。
【請求項５】
前記出力スキャン・ラインは、前記入力スキャン・ラインより１ピクセル当たりのビット数を多く有することを特徴とする前記請求項１記載の方法。
【請求項６】
前記第１から第４までのバイナリ値は、それぞれ００、０１、１０、および１１であることを特徴とする前記請求項１記載の方法。
【請求項７】
前記変換テーブルは、第１、第２および第３のセクションからなり、それにおいては前記出力文字の各ピクセルを表す前記２ビットが、前記入力ピクセルが前記第２のバイナリ値を有するときの、前記第２、第３、および第４のバイナリ値をそれぞれ有し；かつ、
前記ステップ（ｂ）は、前記第２、第３および第４のバイナリ値のうちの選択された１つに従って、前記３つのセクションのいずれか１つにアクセスするステップを含むことを特徴とする前記請求項１記載の方法。
【請求項８】
前記変換テーブルは、第４のセクションを有し、それにおいては前記出力文字の各ピクセルを表す前記２ビットが、前記入力ピクセルが前記第１のバイナリ値を有するときの第１のバイナリ値を有し；かつ、
前記ステップ（ｂ）は、前記第１のバイナリ値の選択に従って、前記第４のセクションにアクセスするステップを含むことを特徴とする前記請求項７記載の方法。
【請求項９】
前記ステップ（ｂ）は、前記入力スキャン・ラインのそれぞれを用いて前記変換テーブルにアクセスし、選択された回数にわたって対応する出力スキャン・ラインを獲得することにより、該選択された回数にわたって、入力文字から出力文字を生成するステップを含むことを特徴とする前記請求項１記載の方法。
【請求項１０】
前記ステップ（ｂ）は、前記入力スキャン・ラインを用いて前記変換テーブルに、前記選択された回数にわたってアクセスするステップを含むことを特徴とする前記請求項９記載の方法。
【請求項１１】
前記ステップ（ｂ）は、各入力スキャン・ラインを用いた前記変換テーブルのアクセスに関し：
（ｂ１）ストレージ内に前記入力スキャン・ラインをストアするサブステップ；および、
（ｂ２）前記変換テーブルへのアクセスを発生させ、前記入力スキャン・ラインを前記ストレージ内の対応する出力スキャン・ラインによって置換させる翻訳命令を実行するサブステップ；
を包含することを特徴とする前記請求項１記載の方法。
【請求項１２】
前記ストレージは、コンピュータのレジスタであることを特徴とする前記請求項１１記載の方法。
【請求項１３】
ビットマップ化された出力スキャン・ラインによって表現される出力文字を、対応するビットマップ化された入力スキャン・ラインであって、該出力スキャン・ラインと異なるビット数を有する入力スキャン・ラインによって表現される入力文字から生成するための、コンピュータにより具体化されたビデオ表示システムであって：
入力スキャン・ラインの少なくとも一部によってアドレス可能であり、対応する出力スキャン・ラインの少なくとも一部を収めたエントリを包含する変換テーブル；および、
前記入力スキャン・ラインを用いて前記変換テーブルにアクセスし、対応する出力スキャン・ラインを獲得するコンピュータ；
を備え、
前記入力スキャン・ラインのそれぞれは、１ピクセル当たり１ビットを含み、前記出力スキャン・ラインのそれぞれは、１ピクセル当たり２ビットを含み、出力文字の各ピクセルを表す２ビットは、対応する入力ピクセルが第１のバイナリ値を有するピクセルについては、該第１のバイナリ値を有し；前記出力文字の各ピクセルを表す２ビットは、対応する入力ピクセルが第２のバイナリ値を有するピクセルについては、該第２のバイナリ値、第３のバイナリ値、および第４のバイナリ値のうちの選択されたいずれか１つの値を有することを特徴とするシステム。
【請求項１４】
前記出力スキャン・ラインは、前記入力スキャン・ラインより多くのビットを有することを特徴とする前記請求項１３記載のシステム。
【請求項１５】
前記入力スキャン・ラインのそれぞれは、１バイトのビットマップ化されたデータを含み、前記出力スキャン・ラインのそれぞれは、１ワードのビットマップ化されたデータを含むことを特徴とする前記請求項１３記載のシステム。
【請求項１６】
前記変換テーブル内の各エントリは、入力スキャン・ラインの１ニブルによってアドレス可能であり、かつ１バイトの対応する出力スキャン・ラインを収めており；さらに、
前記コンピュータは、各入力スキャン・ラインについて、前記入力スキャン・ラインの第１のニブルを用いて前記変換テーブルにアクセスし、対応する出力スキャン・ラインの第１のバイトを獲得し；かつ、前記入力スキャン・ラインの第２のニブルを用いて前記変換テーブルにアクセスし、対応する出力スキャン・ラインの第２のバイトを獲得することを特徴とする前記請求項１５記載のシステム。
【請求項１７】
前記出力スキャン・ラインは、前記入力スキャン・ラインより１ピクセル当たりのビット数を多く有することを特徴とする前記請求項１３記載のシステム。
【請求項１８】
前記第１から第４までのバイナリ値は、それぞれ００、０１、１０、および１１であることを特徴とする前記請求項１３記載のシステム。
【請求項１９】
前記変換テーブルは、第１、第２および第３のセクションからなり、それにおいては前記出力文字の各ピクセルを表す前記２ビットが、前記入力ピクセルが前記第２のバイナリ値を有するときの、前記第２、第３、および第４のバイナリ値をそれぞれ有し；さらに、
前記コンピュータは、前記第２、第３および第４のバイナリ値のうちの選択された１つに従って、前記３つのセクションのいずれか１つにアクセスすることを特徴とする前記請求項１３記載のシステム。
【請求項２０】
前記変換テーブルは、第４のセクションを有し、それにおいては前記出力文字の各ピクセルを表す前記２ビットが、前記入力ピクセルが前記第１のバイナリ値を有するときの第１のバイナリ値を有し；さらに、
前記コンピュータは、前記第１のバイナリ値の選択に従って、前記第４のセクションにアクセスすることを特徴とする前記請求項１９記載のシステム。
【請求項２１】
前記コンピュータは、前記入力スキャン・ラインのそれぞれを用いて前記変換テーブルにアクセスし、選択された回数にわたって対応する出力スキャン・ラインを獲得することにより、該選択された回数にわたって、入力文字から出力文字を生成することを特徴とする前記請求項１３記載のシステム。
【請求項２２】
前記コンピュータは、前記入力スキャン・ラインを用いて前記変換テーブルに、前記選択された回数にわたってアクセスすることを特徴とする前記請求項２１記載のシステム。
【請求項２３】
さらにストレージを備え；
各スキャン・ラインに関し、前記コンピュータは、前記入力スキャン・ラインを用いて前記変換テーブルにアクセスし、該入力スキャン・ラインを前記ストレージにストアし；かつ、前記変換テーブルへのアクセスを発生させ、前記入力スキャン・ラインを前記ストレージ内の対応する出力スキャン・ラインによって置換させる翻訳命令を実行することを特徴とする前記請求項１３記載のシステム。
【請求項２４】
前記ストレージはレジスタからなることを特徴とする前記請求項２３記載のシステム。
【請求項２５】
変換テーブル；および、
ビットマップ化された出力スキャン・ラインによって表現される出力文字を、対応するビットマップ化された入力スキャン・ラインであって、該出力スキャン・ラインと異なるビット数を有する入力スキャン・ラインによって表現される入力文字から生成するためのコンピュータ・プログラムをストアするストレージ；
を備えるＢＩＯＳ（ベーシック・インプット・アウトプット・システム）読み出し専用メモリ（ＲＯＭ）であって：
前記変換テーブルは、入力スキャン・ラインの少なくとも一部によってアドレス可能であり、対応する出力スキャン・ラインの少なくとも一部を収めたエントリを包含し；かつ
前記コンピュータ・プログラムは、前記入力スキャン・ラインを用いて前記変換テーブルにアクセスし、対応する出力スキャン・ラインを獲得する命令を含むことを特徴とするＢＩＯＳＲＯＭ。
【請求項２６】
前記出力スキャン・ラインは、前記入力スキャン・ラインより多くのビットを有することを特徴とする前記請求項２５記載のＢＩＯＳ ＲＯＭ。
【請求項２７】
前記入力スキャン・ラインのそれぞれは、１バイトのビットマップ化されたデータを含み、前記出力スキャン・ラインのそれぞれは、１ワードのビットマップ化されたデータを含むことを特徴とする前記請求項２５記載のＢＩＯＳＲＯＭ。
【請求項２８】
前記変換テーブル内の各エントリは、入力スキャン・ラインの１ニブルによってアドレス可能であり、かつ１バイトの対応する出力スキャン・ラインを収めており；さらに、
前記コンピュータ・プログラムは、各入力スキャン・ラインについて、前記入力スキャン・ラインの第１のニブルを用いて前記変換テーブルにアクセスし、対応する出力スキャン・ラインの第１のバイトを獲得し；かつ、前記入力スキャン・ラインの第２のニブルを用いて前記変換テーブルにアクセスし、対応する出力スキャン・ラインの第２のバイトを獲得する命令を含むことを特徴とする前記請求項２７記載のＢＩＯＳＲＯＭ。
【請求項２９】
前記出力スキャン・ラインは、前記入力スキャン・ラインより１ピクセル当たりのビット数を多く有することを特徴とする前記請求項２５記載のＢＩＯＳＲＯＭ。
【請求項３０】
前記入力スキャン・ラインのそれぞれは、１ピクセル当たり１ビットを含み、前記出力スキャン・ラインのそれぞれは、１ピクセル当たり２ビットを含むことを特徴とする前記請求項２５記載のＢＩＯＳＲＯＭ。
【請求項３１】
出力文字の各ピクセルを表す２ビットは、対応する入力ピクセルが第１のバイナリ値を有するピクセルについては、該第１のバイナリ値を有し；前記出力文字の各ピクセルを表す２ビットは、対応する入力ピクセルが第２のバイナリ値を有するピクセルについては、該第２のバイナリ値、第３のバイナリ値、および第４のバイナリ値のうちの選択されたいずれか１つの値を有することを特徴とする前記請求項３０記載のＢＩＯＳＲＯＭ。
【請求項３２】
前記第１から第４までのバイナリ値は、それぞれ００、０１、１０、および１１であることを特徴とする前記請求項３１記載のＢＩＯＳ ＲＯＭ。
【請求項３３】
前記変換テーブルは、第１、第２および第３のセクションからなり、それにおいては前記出力文字の各ピクセルを表す前記２ビットが、前記入力ピクセルが前記第２のバイナリ値を有するときの、前記第２、第３、および第４のバイナリ値をそれぞれ有し；さらに、
前記コンピュータ・プログラムは、前記第２、第３および第４のバイナリ値のうちの選択された１つに従って、前記３つのセクションのいずれか１つにアクセスする命令を含むことを特徴とする前記請求項３１記載のＢＩＯＳＲＯＭ。
【請求項３４】
前記変換テーブルは、第４のセクションを有し、それにおいては前記出力文字の各ピクセルを表す前記２ビットが、前記入力ピクセルが前記第１のバイナリ値を有するときの第１のバイナリ値を有し；さらに、前記コンピュータ・プログラムは、前記第１のバイナリ値の選択に従って、前記第４のセクションにアクセスすることを特徴とする前記請求項３３記載のＢＩＯＳＲＯＭ。
【請求項３５】
前記コンピュータ・プログラムは、前記入力スキャン・ラインのそれぞれを用いて前記変換テーブルにアクセスし、選択された回数にわたって対応する出力スキャン・ラインを獲得することにより、該選択された回数にわたって、入力文字から出力文字を生成する命令を含むことを特徴とする前記請求項２５記載のＢＩＯＳＲＯＭ。
【請求項３６】
前記コンピュータ・プログラムは、前記入力スキャン・ラインを用いて前記変換テーブルに、前記選択された回数にわたってアクセスする命令を含むことを特徴とする前記請求項３５記載のＢＩＯＳＲＯＭ。
【請求項３７】
前記コンピュータ・プログラムは、前記入力スキャン・ラインを用いて前記変換テーブルにアクセスし、該入力スキャン・ラインをストレージにストアする命令；および、前記変換テーブルへのアクセスを発生させ、前記入力スキャン・ラインを前記ストレージ内の対応する出力スキャン・ラインによって置換させる翻訳命令を実行する命令を含むことを特徴とする前記請求項２５記載のＢＩＯＳＲＯＭ。
【請求項３８】
前記ストレージは、コンピュータのレジスタであることを特徴とする前記請求項３７記載のＢＩＯＳ ＲＯＭ。
【発明の詳細な説明】
【０００１】
【発明の背景】
発明の分野
本発明は、概してディジタル・コンピュータに関し、より具体的には、モノクローム画像をカラー画像に拡張するための拡張テーブルを備えたＢＩＯＳ（ベーシック・インプット・アウトプット・システム）読み出し専用メモリ（ＲＯＭ）に関する。
【０００２】
関連技術の説明
ディジタル・コンピュータのグラフィック表示能力は、向上の一途をたどっている。今や、極めて高い解像度および極めて多色のカラー表示を提供するビデオ・モードも珍しくない。
ＣＧＡ（カラー・グラフィック・アダプタ）等の旧来のビデオ・モードは、すでに過去のものになっている。しかしながら、旧モードとの後方互換性を提供することは、これらのモードで記述されたソフトウェアがより新しいコンピュータ上で実行されることがあることからも望まれている。
【０００３】
旧来の、よりシンプルなグラフィック・モードの使用によって利益を得ることができるアプリケーションも少なからず存在する。たとえば、スーパーマーケットにある電子キャッシュ・レジスタは、数行の単純なテキストを表示するだけであり、複雑なものは表示し得ないが高速性に優れたＣＧＡテキスト・モード以上の機能を必要としない。
【０００４】
ＩＢＭ  ＰＣタイプのコンピュータにおいては、たとえばテキスト表示等のビデオ表示サービスが、入力パラメータをコンピュータ・レジスタ内にストアし、割り込み１０ｈ要求（数字の後の「ｈ」はこの数が１６進数であることを表す）を生成することによって呼び出される。後方互換性を維持するためには、割り込み１０ｈを介して呼び出されたビデオ表示サービスが、コンピュータのＢＩＯＳ（ベーシック・インプット・アウトプット・システム）読み出し専用メモリ（ＲＯＭ）チップ内でロケートされなければならない。
【０００５】
一般に広く使用されているビデオ・サービスとしては、ビットマップ化されたビットマップ化グラフィック・テキスト文字をＣＧＡモード４または５を用いてビデオ表示スクリーンに書き出すビデオ・サービスがある。モード４は、４０列４色のカラー表示を提供する。モード５は、４０列４階調のグレイスケール表示を提供する。
【０００６】
スクリーンに書き出すべく入力されたテキスト文字は、１バイト（８つのバイナリ・ビット）を使用して表現されるＡＳＣＩＩコードとして受信される。ＡＳＣＩＩコードは、ビットマップ・テーブルにアクセスするために使用され、このビットマップ・テーブル内には、それぞれが１バイト、すなわち８ビットからなる各文字が、８本のスキャン・ラインを有するマトリクスによって表現されている。
【０００７】
このビットマップ・テーブルには、それぞれの文字のモノクローム画像が含まれており、モノクローム画像の各ピクセルは１ビットで表現され、ピクセルの表示時には２色（たとえば黒と白）のうちの一方が現れる。しかしながら、ＣＧＡモード４および５においては、各ピクセルに４つの値が用意され、１つのピクセルはモード４であれば４色のうちのいずれか、モード５であれば４つの階調のうちのいずれかとなり得る。
【０００８】
文字を表示することになる色は、割り込みを発生し、文字表示ルーチンに渡されるファンクションによって選択ないしは指定される。異なるカラー・パレット使用すれば、各種の組み合わせを使用することができる。しかしながら、１つの文字を構成するすべてのピクセルは、同じ色を用いて表示される。
ＣＧＡモード４または５における各文字は、モノクローム・ビットマップ画像における場合と同様に、８本のスキャン・ラインからなる。しかしながら、各スキャン・ラインは、１ワード（２バイト）を含み、そこでは２ビットを用いて各ピクセルが表現される。このように各ピクセルに対して２ビット・コードを使用することから、４色のうちのいずれかを指定することが可能になる。
【０００９】
ビットマップ化テキスト文字をＣＧＡモード４または５において表示するためには、モノクロームのビットマップ画像をカラー・ビットマップ画像に拡張しなければならず、それにおいては、モノクローム画像においてバイナリ値「０」によって表現されていた各バックグラウンド・ピクセルをバイナリ値「００」に拡張し、モノクローム画像においてバイナリ値「１」によって表現されていたフォアグラウンド画像を、選択された色、すなわち選択色に従ってバイナリ値「０１」「１０」または「１１」に拡張する。
【００１０】
Ｊ． Ｂｒａｄｌｅｙ（ブラッドレー）により１９８８年８月３１日に登録されたヨーロッパ特許第７１７２５号「ＭＥＴＨＯＤ  ＦＯＲ  ＳＣＲＯＬＬＩＮＧ  ＴＥＸＴ  ＡＮＤ  ＧＲＡＰＨＩＣ  ＤＡＴＡ  ＩＮ  ＳＥＬＥＣＴＥＤ  ＷＩＮＤＯＷＳ  ＯＦ  Ａ  ＧＲＡＰＨＩＣ  ＤＩＳＰＬＡＹ（グラフィック表示の選択ウィンドウにおけるテキストおよびグラフィック・データをスクロールする方法）」には、文字のモノクローム・ビットマップ画像からカラー・ビットマップ画像に開示されており、これにおいては一度に１ピクセルずつ拡張される。
【００１１】
より具体的に述べれば、そこではビットマップ画像の各ビットが個別に調べられる。ビットが「０」であれば、表示用に「００」がビデオ・ディスプレイ・バッファ内の対応するロケーションにストアされる。ビットが「１」の場合は、選択色に従って、「０１」、「１０」または「１１」がストアされる。このプロシージャは、各ビット（ピクセル）が個別に拡張されることから、望ましいと言える速さには及ばない。
【００１２】
１９９５年８月２４日に公開されたＧ．Ｐａｌｅｙ（パレイ）等によるドイツ特許出願第４４０５３２９Ａ１号「ＭＥＴＨＯＤ  ＦＯＲ  ＤＩＳＰＬＡＹＩＮＧ  ＴＥＸＴ  ＯＮ  Ａ  ＰＣ  ＭＯＮＩＴＯＲ  ＩＮ  ＴＨＥ  ＣＧＡ  ＧＲＡＰＨＩＣ  ＭＯＤＥ（ＣＧＡグラフィック・モードによりＰＣモニタ上にテキストを表示する方法）」には、Ｂｒａｄｌｅｙ（ブラッドレー）によるこの方法の改良が開示されている。この特許に開示された、シフトおよび論理もしくは演算のシーケンスを使用してレジスタ内においてスキャン・ラインを拡張する方法は、Ｂｒａｄｌｅｙ（ブラッドレー）のシステムに比べて速度が改善される。
【００１３】
しかしながら、Ｐａｌｅｙ（パレイ）の方法もまた、一度に文字の１ピクセルを拡張する方法であり、１文字を拡張するために６４のプログラム・ループ（８スキャン・ライン×８ビット／スキャン・ライン）を必要とし、その速度は望ましいと言えない。
【００１４】
【発明の概要】
本発明は、ビットマップ化されたグラフィック文字をモノクロームからカラーに拡張する速度を実質的に向上し、ビデオ表示スクリーン上における表示用にビデオ・ディスプレイ・バッファにストアすることによって、前述した従来技術の改良を提供する。
【００１５】
この目的を達成するため本発明は、ビットマップ化されたテキスト文字の拡張において、一度に１ピクセルではなく、一度に１スキャン・ラインを拡張する変換テーブルまたは拡張テーブルを使用する方法を提供する。
より具体的に述べれば、本発明に従ったコンピュータ用ＢＩＯＳ（ベーシック・インプット・アウトプット・システム）読み出し専用メモリ（ＲＯＭ）は、拡張テーブルおよびコンピュータ・プログラムをストアするためのストレージを備え、当該コンピュータ・プログラムは、ビットマップ化された出力スキャン・ラインによって表される出力文字を、ビットマップ化された入力スキャン・ラインによって表される対応する入力文字であって、当該出力スキャン・ラインより少ないビット数を有する入力スキャン・ラインによって表される入力文字から生成する。
【００１６】
入力スキャン・ラインは、好ましくはそれぞれを１バイト長とし、１ピクセルは１ビットを用いて表現される。出力スキャン・ラインは、好ましくはそれぞれを１ワード長とし、１ピクセルは２ビットを用いて表現され、選択可能な４色のカラーを提供する。
コンピュータ・プログラムは、入力スキャン・ラインを用いて拡張テーブルにアクセスし、対応する出力スキャン・ラインを獲得するための命令を含んでいる。この拡張テーブルは、入力スキャン・ラインのニブルによってアドレス可能であり、出力スキャン・ラインの対応するバイトを収めたエントリを包含し、４色それぞれに分けられた個別のセクションを有する。文字は、１回または選択された回数にわたり、高速で生成することができる。
【００１７】
文字拡張を実行するためのプログラムの命令は、好ましくはＢＩＯＳ  ＲＯＭのストレージ（ＲＯＭエリア）に収められ、より最近のコンピュータに、あるいはその他のデータ処理デバイスに、ビルトインの、後方互換性のある、低解像度表示能力、たとえばＣＧＡ（カラー・グラフィック・アダプタ）テキスト表示を提供する。
【００１８】
当業者であれば、以上をはじめ、それ以外の本発明の特徴ならびに利点が、添付図面を参照した詳細な説明から明らかになることであろう。なお、これらの図面においては、類似の部品に対して類似の参照番号を使用している。
【００１９】
【実施例の詳細な説明】
図１に本発明に従ったＢＩＯＳ（ベーシック・インプット・アウトプット・システム）読み出し専用メモリ（ＲＯＭ）を含む、コンピュータによって具体化されるビデオ表示システム１０を示す。
システム１０は、パーソナル・コンピュータ（ＰＣ）ワークステーションまたはそれ相当の装置として実装され、従来的な標準コンポーネント、たとえば揮発性および不揮発性メモリ、キーボード、大容量磁気および／または光学記憶デバイス、マウス等を含むが、本発明の主題とするところではないことから図示を省略している。
【００２０】
システム１０は、ＣＲＴまたは液晶表示スクリーンを備えた、ビデオ・メモリまたはバッファ１４にストアされたテキストおよびグラフィック画像を表示するためのビデオ表示スクリーン１２を有する。システム１０にはさらに、ここでは包括的に１６ａとして示した多数のオンボード・レジスタを含む、Ｉｎｔｅｌ製Ｘ８６またはＰｅｎｔｉｕｍ（ペンティアム）チップといったプロセッサ１６が備わる。プロセッサ１６は、揮発性メモリおよび／または不揮発性メモリ内にストアされたプログラム命令を実行する。
【００２１】
さらにシステム１０は、本発明に従ったＢＩＯＳ ＲＯＭ１８を備える。ＢＩＯＳＲＯＭ１８は、ＲＯＭエリアの形式でストレージ２０を有し、そこにはプロセッサ１６によって実行されるコンピュータ・プログラム命令がストアされている。またＢＩＯＳＲＯＭ１８は、１表示ビットが１バイナリ・ビットによって表されるビットマップ化テキスト文字のモノクローム画像をストアするビットマップ・テーブル２２を含んでいる。本発明の重要な特徴の１つによれば、ＢＩＯＳＲＯＭ１８がさらに、テキスト文字のカラー変換または拡張テーブル２４備えるが、それについての詳細は後述する。
【００２２】
図２は、ストアされ、ビデオ表示１２のスクリーン上に表示されるＣＧＡ（カラー・グラフィック・アダプタ）モード４または５によるビットマップ化グラフィック・テキスト表示２６を示している。表示２６は、４０列×２５行のテキスト文字を含む。モード４においては、４色のうちの１色を用いてそれぞれの文字を表示することができる。モード５においては、４階調のうちの１つを用いてそれぞれの文字を表示することができる。図からわかるように、例示したテキスト・メッセージは、表示２６の行番号６列番号７から始まっている。
【００２３】
図３ａ、図３ｂおよび図４は、ＣＧＡモード４および５において、ビットマップ化グラフィック・テキスト文字をビデオ・バッファ１４内にストアする方法を図示している。それぞれの文字は、ピクセルのマトリクスからからなり、それはビデオ・バッファ１４内に場所を変えてストアされるスキャン・ラインを含む。  図３ａに示したように、ビデオ・バッファ１４全体は、４０列×２５行のテキスト文字を表すデータをストアし、それぞれの文字は、８ピクセル×８ピクセルのマトリクスによって表現される。つまり、表示全体は、水平方向に４０列×８ピクセル＝３２０ピクセル、垂直方向に２５行×８ピクセル＝２００ピクセルの並びから構成される。
【００２４】
各文字は、８本の水平スキャン・ラインを含み、それぞれのラインは、２バイト（１ワードまたは１６ビット）からなる。各文字が８つの水平ピクセルを含むことから、各ピクセルを２ビットで表すことができる。つまり、各ピクセルは４色のうちのいずれか（ＣＧＡモード４）または４グレイ・レベルのいずれか（ＣＧＡモード５）を持つことができる。したがって、ビデオ・メモリに求められる合計ビット数は、８０バイト／行×２５行×８ビット／バイト＝１６，０００ビットとなる。
【００２５】
図３ｂを参照するとわかるように、ビデオ・バッファ１４は、各メモリ・ロケーションに１バイトをストアし、それぞれ８，０００バイトからなる２つのバンクに分かれている。これにおいてバンク１は、偶数スキャン・ラインを、バンク２は奇数スキャン・ラインをストアする。バンク１は８，０００バイトしか必要としないが、バンク２は２０００ｈから開始しており、これはバンク１の先頭から数えると８１９２バイトに相当する。
【００２６】
この関係を図４に示すが、これは一例として挙げた、バッファ１４の最初の行にストアされる文字「Ａ」および「Ｃ」の最左翼を図示している。文字「Ａ」の最初のスキャン・ライン（２バイト）は、バンク１のそれぞれ００００ｈおよび０００１ｈでアドレスされるロケーションにストアされる。２番目のスキャン・ラインは、バンク２の２０００ｈおよび２００１ｈでアドレスされるロケーションにストアされる。３番目のスキャン・ラインは、バンク１のそれぞれ００５０ｈおよび００５１ｈでアドレスされるロケーションにストアされ、４番目のスキャン・ラインは、バンク２の２０５０ｈおよび２０５１ｈでアドレスされるロケーションにストアされ、以下同様に続く。
【００２７】
図５は、ＢＩＯＳ  ＲＯＭ１８内のビットマップ・テーブル２２の構成を示す。ビットマップ・テーブル２２は、前半１２８文字のＡＳＣＩＩ文字のモノクローム・グラフィック表現をストアしており、それにおいて各ピクセルはビットマップ化されたビットマップ化データの１ビットによって表現される。それぞれの「１」は文字ピクセルを表し、「０」はバックグラウンド・ピクセルを表す。
【００２８】
表示１２に表示する１文字のテキスト文字は、１バイトのＡＳＣＩＩコードとして受け取られ、それがテーブル２２の入力アドレスを計算するために使用される。各文字が８本のスキャン・ラインを有することから、各文字の最初のスキャン・ラインは、入力ＡＳＣＩＩコードをＣＨＡＲで表したとき、アドレス（ＣＨＡＲ×８）を有するロケーションにストアされる。たとえば、文字「Ａ」の最初のスキャン・ラインは、テーブル２２内のロケーション０２０８ｈにストアされるが、これは、文字「Ａ」のＡＳＣＩＩコード４１ｈを８倍した値、つまり４１ｈ×８ｈ＝０２０８ｈに等しい。
【００２９】
任意の文字の８本のスキャン・ラインは、最初のラインのアドレスを値（ＡＳＣＩＩコード×８）から求め、逐次それを７回インクリメントすることによって、続く７本のラインのアドレスを求めてテーブル２２にアクセスすれば獲得することができる。
図６は、本発明に従った変換または拡張テーブル２４の構成を表している。テーブル２４は、４つのセクションまたはセグメント２４ａ、２４ｂ、２４ｃおよび２４ｄからなり、それぞれは２ビットのピクセルが取り得る４色のいずれか、または４つのグレー値のいずれかに対応している。たとえば、ＣＧＡモード４または５によるテキスト文字の表示を要求するファンクションがピクセル値「０１」によって表現される色を選択または指定したとき、セクション２４ｂがアクセスされる。
【００３０】
テーブル２４の各セクションは、１６バイト長であり、テーブル２４の合計サイズは６４バイトである。テーブル２４の各セクションのアドレスは、図示したとおりである。
詳細については後述するが、本発明を実施する好ましい方法は、テーブル２２から獲得した各文字のスキャン・ラインが１バイト長のモノクローム文字のビット画像を、各文字のスキャン・ラインが１ワード（２バイト）長のカラー文字ビット画像に拡張する。本発明は、一度に１ニブル（２分の１バイトまたは４ビット）を用いてテーブル２２にアクセスする。したがってテーブル２４は、テーブル２２からのスキャン・ラインの１ニブルをアドレスとして使用してアクセスされ、アクセスされたアドレス・ロケーションは、当該ニブルに対応するカラー拡張バイトを含んでいる。
【００３１】
図７に示されるように、テーブル２４の各セクションには、テーブル２２内の１スキャン・ラインの１ニブル（４ビット）によって表わすことができる１６の異なる値を表す１６個のエントリが含まれている。１６個のエントリのそれぞれは、各セクション２４ａ〜２４ｄの開始からニブルの値に対応する分だけオフセットされている。図７を参照すると、カラー「０１」用のセクション２４ｂが００１０ｈから開始しており、それがバイナリの入力ニブル値「００００」対応のエントリであることがわかる。次のニブル値「０００１」対応のエントリは、次のアドレス「００１１ｈ」にあり、以下同様になる。
【００３２】
テーブル２４内の各エントリは、入力ニブル値に対応しており、たとえば入力値の「０」は「００」に置換され、入力値の「１」は、セクション２４ａ〜２４ｄにおいて、それぞれ「００」、「０１」、「１０」、または「１１」に置換される。たとえば、アドレス００１４ｈ（カラー「０１」用のセクション２４ｂ内のアドレス）においては、入力ニブル値「０１００」に対応して、カラー拡張バイトが値「０００１００００」を有する。これにおいて、入力値「０１００」に含まれている「０」、「１」、「０」および「０」のビットは、それぞれ「００」、「０１」、「００」および「００」に置換される。
【００３３】
包括的に言えば、本発明の方法は、ＣＧＡモード４または５で表示予定の文字のＡＳＣＩＩコードを用いてビットマップ・テーブル２２にアクセスし、ビットマップ化されたモノクローム・スキャン・ラインを獲得するステップを含む。各モノクローム・スキャン・ラインは、選択色に従ってカラー拡張され、ビデオ表示１２上で表示するためにビデオ・バッファ１４内に書き込まれる。
【００３４】
図８ａ〜図８ｈは、テーブル２２から獲得したモノクローム・スキャン・ラインを本発明の好ましい実施例に従ってカラー拡張する方法を示している。この拡張は、レジスタ１６ａの１つを使用して実行される。なおプロセッサ１６は、ＩＢＭのｘ８６またはＰｅｎｔｉｕｍ（ペンティアム）互換アーキテクチャおよび命令セットを有するものとし、拡張を実行するレジスタは、アキュームレータ・レジスタＡＸであると考える。
【００３５】
図８ａに示されるように、アキュームレータ・レジスタＡＸのサイズは１６ビットであり、上位バイト・セクションＡＨおよび下位バイト・セクションＡＬに分かれ、個別にアクセスすることができる。拡張プロセスの最初のステップにおいては、テーブル２２から獲得した入力スキャン・ライン（１バイト）をレジスタ・セクションＡＬにロードする。図８ａ〜図８ｈに例示した入力スキャン・ラインは、バイナリ値「１００１０１１０」（９２ｈ）を有し、それにおいて選択色は「０１」とする。
【００３６】
図８ｂにおいては、セクションＡＬ内の１バイトのスキャン・ラインをセクションＡＨにコピーする。図８ｃにおいては、たとえば、セクションＡＬ内の値とバイナリ数「００００１１１１」の論理アンド演算を実行することによって、セクションＡＬの上位４ビットをクリアする。これは、入力スキャン・ラインの下位ニブルを分離し、セクションＡＬ内において下位ニブルを１バイトに拡張するためのスペースを確保する。
【００３７】
ニブルの拡張は図８ｄにおいて実行される。これは、好ましくはｘ８６命令セットで言えば「ｘｌａｔ」等の翻訳命令を使用して実行され、ニブル値をアドレス（テーブル内のオフセット）として拡張テーブル２４にアクセスし、テーブル２４内のアクセスしたアドレスにあるエントリを用いてセクションＡＬ内の値を置き換える。このようにして、セクションＡＬ内において、値「０００００１１０」が値「０００１０１００」に置き換えられる。
【００３８】
テーブル２４をルックアップする実際のオフセットアドレスは、カラー値に１６（１０ｈ）を乗じて、セクション２４ａのベースを２４ｄにシフトし、ニブル値をこのベースに加えることによって計算される。図８ｄに示した例の場合、テーブル２４のオフセットは「０１」（カラー）×１０ｈ＝００１０ｈ（カラー「０１」に対応するセクション２４ｂのベース）＋「０１１０」または６ｈ（ニブル値）＝００１６ｈとなる。図７を参照すると、このアドレスから拡張された値「０００１０１００」が得られることがわかる。
【００３９】
下位ニブルの拡張を完了した後、図８ｅに示すように、ＡＬレジスタ・セクションとＡＨレジスタ・セクションの内容を入れ替えまたは交換する。従来のｘ８６命令セットでは、「ｘｌａｔ」命令が下位のレジスタ・セクションＡＬに関してのみ使用できることから、それを使用する場合にはこのステップが必要になる。
【００４０】
モノクローム・スキャン・ラインの上位ニブル（４ビット）は、レジスタ・セクションＡＬを右に４ビット分シフトすることによって、図８ｆに示されるように分離されるが、これは、レジスタ・セクションＡＬの下位４ビットが入力モノクローム・スキャン・ラインの上位ニブルになっていることを別にすれば、図８ｃに示した構成に等しい。
【００４１】
上位ニブルは、図８ｄを参照して下位ニブルについて前述した方法と同じ方法によって図８ｇに示されるように拡張される。上位ニブルの値は「１００１」（０００９ｈ）であり、テーブル２４内のロケーション００１９ｈをポイントする。このロケーションに収められている拡張後の値、つまり続いてレジスタ・セクションＡＬに置き換える値は「０１０００００１」である。
【００４２】
図８ｈにおいては、ＡＬレジスタ・セクションとＡＨレジスタ・セクションの内容が入れ替えられ、拡張されたスキャン・ラインの上位バイトがＡＨ内に、下位バイトがＡＬに収められる。このようにして、入力モノクローム・スキャン・ラインのバイト「１００１０１１０」がアキュームレータ・レジスタＡＸ内において「０１０００００１０００１０１００」に拡張される。
【００４３】
図９ａ〜図９ｄをつなげると、本発明に従って出力文字を生成する方法を示すフローチャートになる。
このプロセスは、ビデオ・ディスプレイ１２上に表示するＡＳＣＩＩ文字を表す変数ＣＨＡＲ、選択文字色「００」〜「１１」を指定する変数ＣＯＬＯＲ、ストア・モードまたはエクスクルーシブ・オア（ＸＯＲ）モードを指定する変数ＭＯＤＥ、およびビデオ・ディスプレイ１２上に表示するために、ビデオ・バッファ１４にＣＨＡＲを書き込む回数を指定する変数ＣＯＵＮＴを入力する呼び出しファンクションによって開始される。これらの変数は、レジスタを使用して渡され、呼び出しファンクションは、割り込み１０ｈ要求を生成し、それが内部的にこれらの変数をスタック上にプッシュし、これらをポイントする変数「ｂｐ」をセットアップする。
【００４４】
ＰＣ  ｘ８６およびＰｅｎｔｉｕｍ（ペンティアム）互換アーキテクチャにおいては、ＢＩＯＳサービスを要求する標準ＩＢＭコア・ビデオ要求を使用して変数がアクセスされ、この場合においてはそれがＣＧＡモードのテキスト表示サービスになる。
割り込み１０ｈを呼び出すためのサンプル・コードを次に示す。
【００４５】
ｍｏｖ  ａｈ，９        ；文字書き込みファンクション
ｍｏｖ  ａｌ，’−’    ；書き込む文字
ｍｏｖ  ｂｌ，２        ；カラー
ｍｏｖ  ｃｘ，２０      ；ハイフンを２０回書き込む
ｉｎｔ  １０ｈ
割り込み１０ｈによって実行されるコードは、次のベーシック・フローを実行する。
【００４６】
ｐｕｓｈａ              ；スタック上にすべてのレジスタをセーブ
ｍｏｖ  ｂｐ，ｓｐ      ；ｂｐ＝３Ｄ  ｓｐ（現在のポインタは
ｒｅｇＳｔａｃｋ）
．
．
．
ａｈ内のファンクションをチェックし、適切なルーチンにジャンプする。
【００４７】
．
．
ｐｏｐａ
ｉｒｅｔ
これらの初期化オペレーションの実行完了後、図９ａに示したステップ１００からフローが開始され、それにおいて、書き出す予定の文字の最初のスキャン・ラインが格納されたビデオ・バッファ１４のバンク１のアドレスをポイントすべくディスティネーション・ポインタＤＥＳＴが計算される。
【００４８】
このルーチンを図９ｃに示す。ディスティネーション・ポインタＤＥＳＴは、ステップ１０２において、通常ＢＩＯＳ  ＲＯＭルーチンによって維持されているカーソルの行および列のロケーションから計算される。図２に示した表示２６を例として用いて、最初の文字「Ｔ」を行番号６、列番号７に表示することをここで仮定する。
【００４９】
ポインタＤＥＳＴの値は、ＤＥＳＴ＝（カーソル行×ビデオ列×４）＋カーソル列として計算される。ビデオ列の値は、表示可能な最大列数であり、モード４および５においては４０、モード６においては８０になる。図２に示した例の場合、この値は、ＤＥＳＴ＝（６×４０×４）＋７＝９６７すなわち０３Ｃ７ｈとなる。４による乗算は、図３ａ、図３ｂおよび図４を参照して前述したように、ビデオ・バッファ１４のバンク１およびバンク２のそれぞれに、各文字の４本のスキャン・ラインがストアされるため必要となる。
【００５０】
ステップ１０４においては、要求されたサービスがＣＧＡモード６に関するものであるか否かを判断する。このモードは、８０列×２５行のモノクローム・テキスト・モードであり、本発明の主題とするところではないが、ここでは、現存するＢＩＯＳサービスとの一貫性を維持するためにステップ１０４を含めている。
【００５１】
ビデオ・モードがＣＧＡモード６でなければ、ステップ１０６に進み、ディスティネーション・ポインタＤＥＳＴに２を乗じる。これは、各ビデオ列（文字）のスキャン・ラインがＣＧＡモード４および５においては２バイトで表現されることから行われる。現在取り上げている例においては、これによって値がＤＥＳＴ＝１９３４（０７８Ｅｈ）になる。
【００５２】
図９ａに戻るが、ディスティネーション・ポインタの計算を完了した後にステップ１０８が実行され、それにおいてはＡＳＣＩＩ文字コードが１２７（００７Ｆｈ）を超えるか否かが判断される。前述したように、ＢＩＯＳ  ＲＯＭ１８内のビットマップ・テーブル２２には、前半の１２８文字のＡＳＣＩＩ文字だけが収められている。これより多くの文字が必要な場合には、ユーザが用意した外部のビットマップ・テーブル（図示せず）にそれをストアしておく必要がある。
【００５３】
ＣＨＡＲの値が１２７を超えていなければ、ステップ１１０において、ビットマップ・テーブル２２のベースをポイントすべくソース・ポインタＳＯＵＲＣＥがセットされる。ＣＨＡＲの値が１２７を超えていると、ステップ１１２において、外部ビットマップ・テーブルのベースをポイントすべくソース・ポインタＳＯＵＲＣＥがセットされる。
【００５４】
ステップ１１４は、標準ＢＩＯＳサービスとの互換性を確保するために挿入されている。呼び出しファンクションにおけるエラーに起因して、入力ルーチンにより外部ビットマップ・テーブルが指定されない可能性もある。その場合には、ステップ１１６においてＣＨＡＲの値がゼロにセットされる。
図９ａでは最後になるステップ１１８において、ビットマップ・テーブル２２（または外部ビットマップ・テーブル）内の、入力文字ＣＨＡＲの最初のスキャン・ラインを読み出すロケーションとして、ソース・ポインタＳＯＵＲＣＥ用の新しい値を計算する。この値は、図５を参照して前述したように、値（ＣＨＡＲ×８）をビットマップ・テーブル２２のベース・アドレス（ステップ１１０から）に、あるいは外部ビットマップ・テーブルのベース・アドレス（ステップ１１２から）に加えることによって計算される。
【００５５】
プロセス・フローは、リンクＡによって示したが、図９ｂに継続される。ステップ１２０においては、要求されたサービスがＣＧＡモード６であるか否かをチェックする。モード６である場合には、８０列×２５行のモノクローム・テキスト文字書き込みルーチン１２２を実行してその後プロセスを終了するが、これには本発明の主題から外れる。
【００５６】
ビデオ・モードがＣＧＡモード６でなければ、ステップ１２４において拡張ポインタＥＸＰＡＮＤが計算される。このポインタＥＸＰＡＮＤは、拡張テーブル２４内の選択色に対応するセクション２４ａ〜２４ｄのベース・アドレスをポイントする。すでに図６を参照して説明したように、この値は、テーブル２４のベース・アドレスにＣＯＬＯＲ×１６（００１０ｈ）を加えて計算される。
【００５７】
ステップ１２６においては、カウンタ変数ＳＣＡＮＬＩＮＥＳを４に初期化する。この変数ＳＣＡＮＬＩＮＥＳは、テーブル２２から読み出し、拡張し、ビデオ・バッファ１４のバンク１およびバンク２に書き込んだスキャン・ラインの数をカウントするために使用される。
ステップ１２８においては、図９ｄに示した、ビットマップ・テーブル２２から得た偶数スキャン・ライン（バイト）を拡張して、拡張後のスキャン・ライン（ワード）をビデオ・バッファ１４のバンク１内に書き込むルーチンを呼び出す。ステップ１３０においては、図９ｄに示した、ビットマップ・テーブル２２から得た奇数スキャン・ラインを拡張し、拡張後のスキャン・ラインをビデオ・バッファ１４のバンク２内に書き込むルーチンを呼び出す。ステップ１３０は、ビデオ・バッファ１４のバンク２のベース・アドレスをポイントすべくディスティネーション・ポインタＤＥＳＴの現在の値に２０００ｈを加えることを除けば、ステップ１２８に等しい。
【００５８】
図９ｄを参照すると、ステップ１３２〜１４６は、図８ａ〜８ｈを参照してすでに説明した操作にそれぞれ対応している。結果として得られたカラー拡張済みのスキャン・ライン（ワード）は、アキュームレータ・レジスタＡＸにストアされる。
ステップ１４８においては、変数ＭＯＤＥがストアであるか、あるいはエクスクルーシブ・オア（ＸＯＲ）であるかを判断する。モードがストアであれば、ステップ１５０において、レジスタＡＸ内の拡張済みのスキャン・ライン（ワード）を、ディスティネーション・ポインタＤＥＳＴによってポイントされるビデオ・バッファ１４内のロケーションにストアし、ステップ１５２において変数ＣＯＵＮＴをデクリメントする。ステップ１５４においては、変数ＣＯＵＮＴがゼロに到達したか否かを調べる。ゼロに到達した場合には、プロセスが図９ｂに示したフローに戻り、後述する処理を行う。
【００５９】
変数ＭＯＤＥがＸＯＲである場合は、ステップ１５６において、レジスタＡＸ内の拡張済みのスキャン・ラインとディスティネーション・ポインタＤＥＳＴによってポイントされるロケーションの内容とがエクスクルーシブ・オア演算される。ＸＯＲ演算は、ビデオ・バッファ１４内において現存する画像上に新しい画像を重畳することが求められているときに行われる。
【００６０】
新しい画像のビットが「０」であれば、現存するビットは変更されない。しかし新しい画像のビットが「１」であると、現存するビットが反転される。これによりたとえば、現存するバックグラウンドが白の場合、「００」ビットが「１１」（たとえば黒）に反転されることから現存する白いバックグラウンド上に白い文字を書き込むことが可能になり、新しい黒いバックグラウンド上に新しい白い文字が浮かび上がる。ステップ１５８においては、変数ＣＯＵＮＴをデクリメントし、ステップ１６０においては、変数ＣＯＵＮＴがゼロに到達したか否かを調べる。
【００６１】
ステップ１５４または１６０においてＹＥＳ（真）が得られると、図９ｄに示したルーチンから、偶数スキャン・ラインの書き込み終了時には図９ｂのステップ１３０に、奇数スキャン・ラインの書き込み終了時にはステップ１６２にそれぞれ戻る。ステップ１６２においては、ディスティネーション・ポインタＤＥＳＴのインクリメント、ソース・ポインタＳＯＵＲＣＥのインクリメント、およびカウンタ変数ＳＣＡＮＬＩＮＥＳのデクリメントを行って、次のスキャン・ラインの拡張ならびに書き込みの準備を行う。ステップ１６４において、文字のすべてのスキャン・ラインについて拡張ならびに書き込みが完了したと判断された場合には、プロセスを終了して呼び出したファンクションに戻る。拡張ならびに書き込みを行うべきスキャン・ラインが１ないしは複数残っているときは、プロセスがステップ１２８にループ・バックする。
【００６２】
変数ＣＯＵＮＴは、ビデオ・バッファ１４に対する複数回にわたる文字の高速書き込みを可能にする。変数ＣＯＵＮＴがデクリメントされてゼロになるまで、図９ｄに示したプロセス・フローが、ステップ１５４またはステップ１６０からそれぞれステップ１５０またはステップ１５６にループ・バックし、ステップ１３２〜１４６において拡張されたスキャン・ラインが繰り返しストア、またはＸＯＲ演算される。この構成は、文字をビデオ・バッファ１３４に書き込む回数とは無関係に、その文字のスキャン・ラインは一度だけ拡張すればよいことから、極めて効率的である。
【００６３】
要約すれば、本発明は改良された方法、ビデオ表示システムおよびＢＩＯＳ  ＲＯＭを提供し、ビデオ表示スクリーン上に表示するために、ビットマップ化されたグラフィック文字をモノクロームからカラーに拡張し、ビデオ表示バッファ内にストアする速度を実質的に向上させる。本発明は、変換または拡張テーブルを使用して、ビットマップ化されたテキスト文字について、一度に１ピクセルごとの拡張ではなく、一度に１スキャン・ラインの拡張を行うことによってこの目的を達成している。
【００６４】
当業者にとっては、本発明の開示の後であれば、その範囲を逸脱することなく各種の変形が可能となろう。
たとえば、本発明は、変換テーブルを使用して入力文字から出力文字を生成するものとして説明し、それにおいては、入力文字のスキャン・ラインより出力文字のスキャン・ラインが多くのビット数を有していたが、本発明はそれに制限されることなく、たとえば、出力文字のスキャン・ラインの有するビット数が、入力文字のスキャン・ラインより少ない構成にも適用することができる。
【図面の簡単な説明】
【図１】  本発明に従ったＢＩＯＳ  ＲＯＭを含む、コンピュータにより具体化されるビデオ表示システムのブロック図である。
【図２】  ＣＧＡモード４または５のビデオ表示を説明するための説明図である。
【図３ａ】  ＣＧＡモード４または５のディスプレイ・バッファの構成を説明するための説明図である。
【図３ｂ】  ＣＧＡモード４または５のディスプレイ・バッファの構成を説明するための説明図である。
【図４】  ＣＧＡモード４または５のディスプレイ・バッファの構成を説明するための説明図である。
【図５】  モノクローム・テキスト文字のビットマップ・テーブルを説明するための説明図である。
【図６】  本発明の変換または拡張テーブルを説明するための説明図である。
【図７】  本発明の変換または拡張テーブルを説明するための説明図である。
【図８ａ】  本発明のカラー拡張操作を説明するための説明図である。
【図８ｂ】  本発明のカラー拡張操作を説明するための説明図である。
【図８ｃ】  本発明のカラー拡張操作を説明するための説明図である。
【図８ｄ】  本発明のカラー拡張操作を説明するための説明図である。
【図８ｅ】  本発明のカラー拡張操作を説明するための説明図である。
【図８ｆ】  本発明のカラー拡張操作を説明するための説明図である。
【図８ｇ】  本発明のカラー拡張操作を説明するための説明図である。
【図８ｈ】  本発明のカラー拡張操作を説明するための説明図である。
【図９ａ】  本発明に従ったコンピュータ・プログラムの命令によって実行される方法を説明するためのフローチャートであり、すべてをつなげると１つのフローチャートが構成される。
【図９ｂ】  本発明に従ったコンピュータ・プログラムの命令によって実行される方法を説明するためのフローチャートであり、すべてをつなげると１つのフローチャートが構成される。
【図９ｃ】  本発明に従ったコンピュータ・プログラムの命令によって実行される方法を説明するためのフローチャートであり、すべてをつなげると１つのフローチャートが構成される。
【図９ｄ】  本発明に従ったコンピュータ・プログラムの命令によって実行される方法を説明するためのフローチャートであり、すべてをつなげると１つのフローチャートが構成される。
【図１】
0004176305.tif 000002
【図２】
0004176305.tif 000003
【図３ａ】
0004176305.tif 000004
【図３ｂ】
0004176305.tif 000005
【図４】
0004176305.tif 000006
【図５】
0004176305.tif 000007
【図６】
0004176305.tif 000008
【図７】
0004176305.tif 000009
【図８ａ】
0004176305.tif 000010
【図８ｂ】
0004176305.tif 000011
【図８ｃ】
0004176305.tif 000012
【図８ｄ】
0004176305.tif 000013
【図８ｅ】
0004176305.tif 000014
【図８ｆ】
0004176305.tif 000015
【図８ｇ】
0004176305.tif 000016
【図８ｈ】
0004176305.tif 000017
【図９ａ】
0004176305.tif 000018
【図９ｂ】
0004176305.tif 000019
【図９ｃ】
0004176305.tif 000020
【図９ｄ】
0004176305.tif 000021