Image: Auxiliary Video Extension (AVE)は単なるVGAスルー出力ではない [PS/55]

Micro Channelは32ビット拡張バスの一種で、そのスロットには32ビットと16ビットがあり、また、16ビットスロットには Auxiliary Video Extension(ハードウェア・インターフェース技術解説書での日本語訳は『補助ビデオ拡張』)という、システムボードのビデオデータ(基本的にはVGA回路の出力)を拡張カードに渡すためのピンが追加されている。

Image: Micro Channel

XGA表示アダプター/AやPS/55の日本語ディスプレイ・アダプターは、これによってVGA上位互換のグラフィック機能を実装していた。

Image: Auxiliary Video Extension
この図はAuxiliary Video Extension (AVE) - Ardent Tool of Capitalismより。

私は、AVEコネクターは単にVGAのアナログRGB出力をカードにスルー出力するものだと思っていたが、どうもそうではないことに最近気付いた。下の回路図を見ると、AVEコネクターには同期信号とピクセルクロック信号の他に、ビデオメモリーの8ビットデジタルデータが結線されていることが分かる。

Image: Auxiliary Video Extension

カードにHDMI-VGA変換アダプターのようなシンプルなDACを搭載すればいいのかというと、実はそんな単純な話ではない。というのは、VGAが出力する8ビットデジタルデータは262,144色から256色を選んだ結果のパレット番号であり、パレットデータ (Color Look-up Table) に基づいてRGB値に変換した上でアナログ信号に変換する必要がある。

しかしながら、上の回路図を見る限り、パレットデータはAVEコネクターを通して受け渡しされるわけではなさそうだ。つまり、システムボードのDACと同じ仕様のパレットを持つDACチップをカード側にも搭載し、I/Oポートも一致させてデータバス経由でDACのパレットレジスターへアクセスできるようにする必要がある。Micro Channelは各スロットへのアクセスを有効・無効に切り替える機構を持つが、オンボードVGAのことしか考慮していないソフトウェアと互換性を保つためには、この機構を無視してDACのパレットにアクセスできるようにしておく必要があるだろう。

PS/55の話に置き換えるなら、システムユニットの電源投入時は日本語ディスプレイ・アダプターの機能は無効の状態で、オンボードVGAのビデオ信号がディスプレイ・アダプター上のモニター端子にスルー出力されているように見える。実際にはこれは完全なスルー出力ではなく、ディスプレイ・アダプター上のDACはパレットとともに常に有効になっていて、システムROMのVGA初期化ルーチンはVGAのパレットを初期化すると同時に、ディスプレイ・アダプター上のDACも初期化していたことになる。

カード上の回路をマザーボードのI/Oポートとわざと重複させるなんて、そんな事が許されるのだろうか。ただ1本の出力端子にディスプレイ出力信号をまとめるためだけに、そんなハードウェアに制約を課すようなことをするだろうか。しかし、そうでないと説明が付かない。とても奇妙だ。

記事中の画像は IBM Personal System/2 Model 80 Technical Reference First Edition (April 1987), IBMより。


※コメント欄が表示されない場合はdisqusについてJavascriptが有効であることを確認して下さい。コメントはスパム防止フィルターによる承認制のため、投稿してもすぐに反映されない場合があります。

管理人 : Akamaki (akm)

は、PCとVTuberに夢中になっている電気技術者です。

私はレトロコンピューティングの愛好家ですが、そのようなリグはもう収集していません。

私の活動はトップページで見ることができます。読んでくれてありがとう!