誘うPC98互換機(7) GDC(ビデオのコントローラ)のお話です

Kitsuneno Shippo

初代PC-9801からPC98本体にはGDC(μPD7220A)が使われていました。漢字用とグラフィック用のそれぞれに1個ずつ、合計2個のGDCが装備されていました。またなぜ当初は2.5MHzだったのかを含めお話を進めていきます。<外伝>は、GDCを実質3個使ったCAD用のPC98互換機を解説します。

※誘うPC98互換機 投稿順indexはこちら

この時点のGDC(μPD7220A)の最大周波数は5MHzでした。漢字用のVRAMは1文字分16ビット、英数文字のANKは1文字分8ビットです。16ビットも8ビットもリード時間は同じです(メモリマップを参照ください)。表示のためには8ビット/16ビットのリード時間内にANK文字もしくは漢字文字のビットパターンを格納したROMを読みださねばなりません。ちなみに文字ROMのリードサイクルは最大400nsです。この時GDCクロックは2.5MHzが丁度良かったのです。

このPC-9801が多くのソフウェアベンダーに支持され、PC98本体のGDCクロックは2.5MHzが定着しました。なお、グラフィック側が2.5MHzならば、VRAMのサイクルタイムが400ns、5MHzならばVRAMのサイクルタイムが200nsもありです。後々のPC98本体のグラフィックは、2.5MHzまたは5MHzの選択もできるようになります(文字表示GDCは2.5MHzで固定です。)

なぜGDCが2個なのかは以上の文言から想像が付くように、文字用とグラフィック用が別々に存在したからです。日本語の漢字表示はANK文字と比較してもかなり高度で、グラフィック機能と別々の方が良かったのでしょう。また、GDCの2個利用も問題はないのですが、片方が2.5MHz、もう一方が5MHzは相性も良く,その後はこのラインナップが継承します。

GDCには描画機能があります。描画機能は表示がブランキング期間(表示時間を除いた時間で、VBP、VS、VFPとHBP、HS、HFPの時間です。[ハイレゾはインターレスだった]を参照)以外ではアクセスができません。線、面描画や、円弧表現などが可能です。表示オン/オフなどがあり、表示のオフの時は全体がブランキング時間となります。また、線描画などはリードモディファイライト機能を使い既存の線画そのものを残し、新しい描画をする機能も含めています。

また、GDCはCRTを主とするコントローラや、グラフィック画面は32ビット単位のアドレッシング機能、文字も8ドットや16ドット、(24ドットハイレゾ漢字)モードも備えています。VRAMをCPUから直接アクセスできる機能などもありました。この後発表されるEGCも含めて、PC98本体も互換機もこの線を継承していくこととなります。

<外伝>

GDCがブランキング(非表示)時間にしか描画アクセスができない。これがCADユーザからは大問題でした。CADユーザは作画中はグラフィック画面を消すことをしません。そのとき非表示時間はHDの23%、VDを加味した全体の表示時間は約70%(*1)となります。CADソフトが描画に使える時間がブランキング時間(30%)ではあまりにも少なかったのです。そこでCAD市場向けPC98互換機ではグラフィック描画用用GDCは常に表示しないモードにしました。

1*)    (71+0.23×750)/(71+750)=0.2965 (非表示時間約30%、表示時間約70%)

そのために表示on/offの機能をGDCの前段に備えました。描画専用GDC側は表示をoffにキープするなどとすれば良く。CADユーザからみえるグラフィック描画に使用できる時間は100%÷30%で約3.33倍になったように見えます。また、グラフィック描画専用GDC側をクロック上限の8MHz(uPD7220A-2)にすることもしました。これで描画時間は5MHzの1.6倍です。当時のCADユーザにとって3.33×1.6=5.38倍は驚異的なスピードアップでした。

GDCの他の機能はたいしたことはしていませんが、ほとんど使われていないスクロール機能やNRDY処理もあり、なかなかGDCの区分は骨が折れる内容でした。そうしてCAD市場専用の、PC98互換機「PRO-486」なるものを提供できました。

誘うPC98互換機(6) プリンターはパラレルIFだった。へ戻る

誘うPC98互換機(8) GDCの同期は大変そうである へ進む