PCIのカードでDOS/V用,98用というのがありますが,何が違うのでしょう?
PC-98シリーズが初めてPCIバスを採用したころは,PCIバスのピンアウトでありながら,PCIバス標準ではないカードの形状を採用した機種がありました。そのような機種では,物理的にDOS/V用のPCIカードを装備することができません。
しかし,現在のNEC PC-98シリーズはカードの形状を含めて,ほぼPCIバスRev.2.1仕様に基づいていますので,原則的にDOS/V用のPCIカードを用いることができます。実際,最近は共用カードが多く市販されています。
ただし,カードの上に装備しているBIOS-ROM内のファームウェアには,非互換の問題が残されているのです。例えば,DOS/VマシンのSCSIカードの多くはBIOS-ROMを装備していますが,そのBIOSはIBM PC/AT互換機標準のディスクBIOSをエミュレートしています。そのため,PCはSCSIのストレージからOSを起動することができるわけです。同じように,PC-98シリーズのSCSIカードはPC-98標準のBIOSと互換性を持つ部分が必要になるわけですが,PC-98シリーズ標準とIBM PC/AT互換機標準のBIOS仕様は異なりますから,おのずとROMの内容が異なるわけです。これと同じことは,BIOSを持つビデオカードにもいえるでしょう。
もっとも,こうした問題も,ROMの内容などをPCIカード側で十分考慮すれば,双方で利用できるカードを設計することが可能です。現在ではPC-98シリーズでもDOS/Vマシンで使われているPCIカードが数多く動作することが確認されていますから,両者の差は縮まっていると考えてよさそうです。
余談になりますが,PCIはPC-98やDOS/Vマシンのようなインテルプロセッサを搭載したPCだけでなく,PowerPCのMacintoshや,RISCプロセッサ搭載のワークステーションにも採用されています。こうした機種では,PCのように入出力の目的でBIOSを使うことはないものの,例えばビデオカードの場合はカードの初期化を行うためにカード上のファームウェアを実行しなければならないというケースがあります。ROMがインテルコードで書かれていれば,ほかのプロセッサはそれを実行することができません。
Macintoshでは,PCIバスデバイスでプロセッサ非依存ファームウェア(FORTH言語で記述する)を採用することが推奨されています。しかし,今のところ,このようなファームウェアはMacintosh以外には普及していないようです。
そこで,AlphaAXPではマザーボードにインストールされているファームウェア(NTを起動するROM)にインテルプロセッサのエミュレータを内蔵させています。そのエミュレータが,PC用のPCIカードのROMを実行してカードの初期化を行うので,基本的にPC用のカードがほぼ問題なく動作します。このように,アーキテクチャに依存しないはずのPCIバスも,カード側のファームウェアをどうするかという問題は依然としてあるわけです。
(米田 聡)