Enhanced Graphics Adapter

Enhanced Graphics Adapterは、IBMが1984年に開発したディスプレイ規格である。グラフィックモードで640×350 64色中16色が表示可能。

1. 歴史
-----

EGAは1984年10月にIBMより発表された。

EGA規格は1987年にPS/2とともに発表されたMCGAおよびVGAに置き換えられた。

VGAが発表される少し前に、ジェノア・システムズ  がプロプライエタリなチップセットを搭載したハーフサイズのグラフィックカード、//Super EGA//を発表した。

2. 設計
-----

EGAは最大640x350ピクセルの画面解像度で64色のパレットから16色を選択して同時に表示する。EGAカードは追加のグラフィック機能をサポートするシステムBIOSの拡張のために16KBのROMを搭載し、また、旧来のグラフィックコントローラーでビデオタイミング信号を生成するのに使われていたモトローラMC6845チップと後方互換のモードを持つカスタムCRTCを搭載していた。

640x350高解像度モードではピクセルあたり赤、緑、青の各2ビットずつ、それぞれの原色に4階調の輝度を設定でき、それらを組み合わせ可能なパレットから16色を選択できた。EGAはCGAの640x200および320x200グラフィックモードのうち16色バージョンを搭載していた。EGA 4ビットグラフィックモードはCPUのビット演算によるビットプレーンとマスクレジスタの複雑な使用方法としても知られ、VGAや多くの互換ハードウェアに継承されることになる、早期のグラフィックアクセラレータを構成するものであった。

EGAは350ラインモード時に21.8kHz、200ラインモード時に15.7kHzで駆動するデュアルシンクである。オリジナルのCGAモードも存在するが、EGAはCGAとのハードウェア互換性は完全ではない。EGAはボード上のスイッチの設定を変えることでMDA用モニターを使用できるものの、この設定では640x350高解像度モノクログラフィックと標準MDAテキストモードのみが利用可能である。

EGAカードはISAバスを採用し、当初は8ビット版および16ビット版が用意されていた。オリジナルのIBM製EGAカードは64KBのオンボードRAMを持ち、64KBを追加するためにはドーターボードを必要とした。ほとんどのサードパーティー製カードは128KBが実装済みで、一部は256KBを搭載して複数のグラフィックページをサポートした。いくつかのサードパーティー製EGA互換品は640x400、640x480、720x540などの拡張されたグラフィックモード、モニター種別の自動検出、CGAモニターを使うための400ラインインターレースモードをサポートしていた。

2.1. 表示機能
---------

テキストモード：

40x25、8x8ピクセルフォント
80x25、8x8ピクセルフォント
80x25、8x14ピクセルフォント
80x43、8x8ピクセルフォントEGA グラフィックモード：

640x350、16色、ピクセル縦横比は1:1.37
640x350、2色、ピクセル縦横比は1:1.37
640x200、16色、ピクセル縦横比は1:2.4
320x200、16色、ピクセル縦横比は1:1.2サードパーティー製ボードの拡張グラフィックモード：

640x400
640x480
720x540

2.2. カラーパレット
------------

EGAパレットは全ての16色CGAカラーを同時に使用することができ、これらの色はそれぞれ計64色から選んで置き換えることができた。これは追加のディスプレイハードウェア無しでCGA特有の茶色を表示させることも可能にした。後のVGA規格では64色をさらにカスタマイズすることができた。拡張カラーパレットは200ラインモードでは使用できなかった。

EGAパレットから色を選択するとき、赤、緑、青チャンネルに2ビットが使用される。これは各チャンネルが0、1、2、3の値を設定できることを意味する。マゼンタカラーを選択するには、赤と青の値を中輝度として、緑の値をオフにセットする。64色EGAパレットで指定値を計算するとき、指定するバイナリ値の書式は"rgbRGB"、小文字をチャンネル輝度の最下位ビット、大文字を最上位ビットとする。マゼンタであれば、赤と青の最上位ビットは1なので、大文字のRとBの場所が1になる。残りの桁は全て0となり、マゼンタカラーを表すバイナリ値は"000101"となる。これは10進数で5となるから、パレット指定に5をセットすることでマゼンタが選択されたことになる。全てのデフォルト色のカラー値を次の表に記述する。



2.3. 仕様
-------

EGAはCGA端子と同じ9ピンメスのDサブ端子を使用する。ピン割り当てを含むハードウェア信号インターフェースはCGAとほぼ互換性がある。その違いは3つのピンがEGAのセカンダリRGB信号となっていること。詳しくは、CGAではenピンとされていたのがen、enピンとされていたのがen、予約ピンとされていたのがenに変更されている。EGAがCGAと同じ走査レートのモードで動作している場合、CGAモニターへの接続は正常に動作するが、モニターが2ピンをグラウンドに接続している場合はEGAのen出力をグラウンドに短絡させることになり、EGAアダプターの損傷に繋がる恐れがある。

ほとんどのEGAカードはカード背面にモニター種別を選択するためのディップスイッチを持っており、CGAが選択されていると、カードは200ラインモードで動作し、テキストモードでは8x8ピクセルフォントが使用される。350ラインモードには切り替えることができず、拡張カラーパレットも使用できない。EGAが選択されると、カードは350ラインモードで動作し、8x14ピクセルフォントが使用される。しかし、グラフィックモードは640x350x2のみが使用できる。

IBM 5154 EGAモニターは特殊なIBM 5153 CGA互換モードを備えていて、CGA相当の同期信号で動作しているときは自動でCGAのピン割り当てに切り替え、先に述べた問題を回避するようになっている。

2.4. メモリ割り当て
------------

EGAグラフィックモードはプレーンアクセス方式で、これはCGAやHerculesモードとは対照的である。ビデオメモリは4ページに分割され、それぞれRGBI色空間を持つ。各ビットは1ピクセルを表す。赤ページの1ビットが有効にされると、他のページの同等のビットがセットされていなくても、画面上の指定位置に赤色のドットが現れる。同じピクセルの他のプレーン全てのビットも有効にすると、それは白色になる。各プレーンのサイズは、8KB、16KB、32KBとなり、CPUアドレス空間のセグメントA000に割り当てられる。それらはバンク切り替え方式で、一度に1プレーンのみ読むことができるのだが、プログラマーは書き込み先のプレーンをEGAカードのコントロールレジスタにセットする手法をとっていた。したがって、読み込みは常に1プレーンのみだが、書き込みは全てのプレーンに一度に行うことができた。

後方互換性を確保するため、カラーテキストとCGAモードはセグメントB800、モノクロテキストはB000に割り当てられた。

2.5. コネクタ
---------

EGAではDE-9メスコネクタが使われている。ピン番号は上段が1-5、下段が6-9で、どちらも右から左に番号を割り当てた状態のピン割り当てを次に示す。



2.6. 信号
-------



3. 脚注
-----

注釈出典

4. 参考文献
-------

title=IBM Options and Adapters Technical Reference 

5. 関連項目
-------

ビデオカード
画面解像度