V200/M7マザーに、Xc16/M7のマザーのBIOS ROMも載せる

はじめに

・V200/M7(青札)のマザーボードは、[G8YDPZ]です。
・Xc16/M7(初代)のマザーボードは、[G8YDPA]です。

 これら異なる機種ではありますが、抜かないでください98グラフィクス同居ビデオカード以外の点では、根本的に違いがないように見えます。そこで、V200/M7のマザーボード上に、Xc16/M7の BIOS(ITF) ROMを載せてみることにしました。載せると言ってもスイッチで切り替えできるようにするということです。あるときはV200またあるときはXc16という使い方ができないだろうかと言うわけです。

 ちなみに、うちには完全なV200のパーツはそろっていません。しかもXc16/M7のマザーボードは起動できない故障状態です。ということでXc16/M7のROMを引っ剥がすことはなんの抵抗もありませんでした。

 
方法

 とにかくROMをきれいに取り外します。60Wくらいのはんだごてを用いて、ROMの片側一列の全ピンに新しいハンダを盛ってやると、一気に半田が融けます。このすきにチップを持ち上げて、余分なハンダをすぐに落とします。これがうまくいったらもう片側も同じようにすると、手早くはがすことができます。

 はがしたROMは、PSOPタイプなのでピンが外側にベンドされていますが、これを精密ラジオペンチでまっすぐに伸ばします。通常のDIPのチップのピンのような状態にしておきます。これを、V200マザーのROMに、子亀のように重ねてやろうというわけです。しかしただ重ねても正常に動作するわけはありません。それは、両方のチップが同時に動作してしまう状態にあるからです。この場合データが衝突して最悪チップを破壊しますし、意味のあるデータは読み出せません。スイッチで切り替えて、常にどちらかの側のROMチップだけが動作状態になるようにします。

 動作の可否を決定するピンは、CE#(Chip Enable)というピンです(CS#, Chip Selectと表記する場合もある)。切り替え回路はこの図のようになります。マザーボード側からのCE#に、どちらか一方のROMのCE#を接続する、という回路です。CE#ピンは負論理動作で、GNDレベルのときにチップ動作となります。念のため両方のROMのCE#ピンをVccにプルアップしておき、スイッチが接続していない側が必ず非動作となるようにしておきます。

 工作手順は次のようになります。

  1. もともと載っている(V200の)ROMの12番ピン(CE#)を足上げする。このとき足を折らないように注意する。足上げしたらペンチでまっすぐに伸ばしておく。
  2. 切り離されたマザーボードのCE#パターンをスイッチのコモン端子と接続する。
  3. 足上げしたCE#ピンとスイッチの片方の端子とを接続する。
  4. 別の(Xc16の)のROMのCE#ピンのみ、根元を残して短く切っておく(折損事故の予防)。
  5. これを子亀状に既存のROM(V200)の上に重ねて、CE#ピン以外をすべて半田付けする。
  6. 上のROMのCE#とスイッチのもう片方の端子とを接続する。
これで完了です。なお切り替えはROMが動作しているときに行なってはいけません。電源を落とした状態か、またはDOSが立ち上がった後(このときはRAM化BIOSが動作しておりROMはdisableになっている)のいずれかのときだけ切り替えることができます。

V200のROMの上にXc16のROMが載っている図
 

動作

 もともとV200/M7のマザーですからROMをV200側にしているときは当然起動します。今度はXc16側にしてみます。と、ビデオ信号がでかかったあたりで起動はストップ、ハングアップ状態になってしまい、ぴぽ音も鳴りません。どうやら抜かないでください表示のボードがV200用ではだめなようです。これをXc16/M7用のシーラスロジック5446チップが載ったものに置き換えることで、起動できるようになります。逆にこのボードを使うときにはV200側のROMでは起動できません。どうもビデオアクセラレータチップが98グラフィクスと連動しているようです。5446の場合は98グラフィクスとVRAMを共有するのですから、当然なんらかの設定があり、V200モードではそれが行われないので起動できないと考えられます。
クリックすると拡大
 ところが抜かないでくださいビデオカードを、Xa13/Wなどで使用されている、Tridentチップが載った物と取り替えてみると、ROMがどちらのモードであっても起動できることがわかりました。取り替えた後はうまく起動できないこともありますが、ソフトウェアスイッチ関係が初期化された後は、必ず起動できるようになります。本来のチップ(Cirrus, Matrox)とはまったく異なるTridentチップは、ITFのテストではエラーとなると思われますが、起動停止にはならないようです。ではTridentチップが必須なのかというとそういうことはないようです。Tridentチップへのクロック供給を切った場合でも、どちらのROMモードとも起動できました。というわけで両方のROMモードで使用できるようにするためには、Tridentつきの抜かないでくださいビデオカードを使うと便利だということがわかりました。

 さてV200Xc16とで最も異なるのは音源関係です。動作させるためには、それぞれ専用のCバスライザーボードと音源ボードとが必要です。ROMがV200のときにXc16X-PCM音源を使うというようなことはできないようです。Windowsではリソース競合と判断されてしまいます。頑強なBIOSレベルPnPが災いしているといえます。実在しなくともOSからみるとそのデバイスは存在することになっているのです。うちにはV200の音源ボードがないため、Xc16のROMモードのときのテストはできませんでしたが、おそらくこの組み合わせでは動作はしないと思われます。

 システムセットアップメニューを出させてみると、それぞれの機種のBIOSでは違っています。例えばXc16には「セキュリティ」の項目がありますが、V200にはそれがありません。反対に音源MIDI使用可否の設定はXc16にはありません。共通して存在する項目については、どちらかの機種BIOSで設定した内容は、もう一方のBIOS使用時にも反映されています。このことからすると、システムセットアップメニューで使うデータは、機種共通のものは同じ記憶場所に置かれているものと推測できます。セキュリティ関係の設定、例えばXc16のBIOSで起動時パスワードを設定してみると、V200のBIOSで起動したときにはパスワードの要求がなされなくなります。再びXc16のBIOSに戻しても失われることはありません。I/Oロック機能についても保持されていました。このことから、機種固有の項目については、異なる機種で同じ記憶場所を流用するようなことはしていないと言えます。なおこれは類似機種間でのみ成り立つことであって、大きく異なる機種間で、システムセットアップメニューの記憶内容と位置とに互換性はないと思った方がよいでしょう。