PC-98標準の表示機構 (ハードウェア関連)


ディスプレイ端子について → PC98標準の表示機構 (ディスプレイ出力端子)
画面モードや設定について → PC-98標準の表示機構 (設定関連)
発展の経緯について → PC-98標準の表示機構についてメモ
ハードウェアサイドの話 → ↓↓↓



○標準的なPC-98のディスプレイ出力周りについてのダイアグラム
Figure 1 : PC9821 display output
ほとんどの機種では640x400モード時にグラフィック画面用ビデオメモリ(GVRAM)が2組あり、表示用と内部処理(描画)用にわけて交互に切り替えることができる。


○640x400/16色モード時のGVRAMの構成
Figure 2 : Memory map of graphics memory
各プレーンの1ビットが画面上の1画素と対応する。
既定ではプレーン0=青、プレーン1=赤、プレーン2=緑、プレーン3=輝度、となるように表示色を構成しているが、
パレットレジスタを変更することでプレーン0〜3の4ビット=16種類のパレットに対してRGBそれぞれ4ビットずつ輝度を設定することができる。
つまり12ビット・4096色のうちの16色までを1画面上に表現できる。

この構成のGVRAMは2組(2画面分)あるが、CPUからは一時には片方のGVRAMにしかアクセスできない。
アクセスするGVRAMや表示するGVRAMの切り替えはI/Oポートで操作する。



○アプリケーションからの利用
アプリケーションからPC-98のグラフィックシステムを利用する方法は複数ある。

・I/O命令で直接ハードウェア(GDCやEGCなど)を操作
グラフィック描画を多用する処理では他の方法と比べ処理速度を上げることができる。
ただGDCの描画制御のためのパラメータ指定に癖があり扱いにくい。

・BIOS(Basic Input and Output System)を利用
簡単な画面モードの設定や描画を行えるが、サポートする機能は少ない。
また、拡張グラフィック機能(4096色中16色表示)はサポートしていない。

・GLIO(Graphic Logical Input and Output)を利用
GLIOはN88-BASIC(ROM-BASIC)のグラフィック関係の処理のためにBIOS-ROMに納められているサブルーチンで、多くの機能をサポートする。
BIOSとは異なり、拡張グラフィック機能もサポートする(初期の機種を除く。)
GDCを直接制御するのに比べ処理速度は若干劣るが操作性は上がる。

・OSが用意するドライバーやライブラリを利用
MS-DOS 3.3以降ではGRAPH.SYS, MS-DOS 6.2では256色モードをサポートしたAVGDRV.SYSというグラフィックライブラリが付属する。
GLIOよりもさらに簡単に利用でき機能も豊富。ドライバはMS-DOSに付属するためOSの条件さえ満たせばアプリケーションの配布時にライブラリを添付する必要がないことが利点。
ただ操作性や処理速度が劣っていたようで、これを利用するアプリケーションは少なかった。

なお、Windows上ではPC/AT互換機と同じく半強制的にWindowsが用意するライブラリを利用することになるので、ユーザーも開発者もハードウェアを意識する必要はほとんどなくなる。



○I/Oポートの詳細
参考サイト http://www.webtech.co.jp/company/doc/undocumented_mem/


QLOOK ANALYTICS