*** AGP2PCI変換ボード ***

PCIライザー(1スロット用)を使い、ELOさんのページにあるプロトタイプのAGP2PCI変換ボードを作ってみました。技術的に新しいものではありませんが、作り方のヒントにはなるかもしれません。


↑PCIスロットのL字変換基板を使えば AGP変換ボードを作りやすい。


CHANGE AGP2PCIの概要

玄人志向CHANGE-AGP2PCIは、PCIスロットに差すAGP増設(変換)ボードでした。後継製品としてPCIブリッジを搭載したCHANPON ZEROシリーズがあります。厳密にはZEROも「AGP2PCI」の一種なのですが(箱にAGP2PCIボードとか書いてあったと思います)、ここでは便宜上AGP2PCIと言った場合は前者を指すものとします。どちらも変換基板の部分だけPCIスロットの高さを占めるため、原則としてロープロファイルのGAのみ対応とされています。ただしロープロ用ブラケット金具は使用しませんので、金具を外して基板部分が物理的に収まりそうなGAなら使えることになります。

AGPはPCIを単純にコネクタ変換するだけでも「一応」作ることができるようで、上記ELOさんの実験結果が元になって玄人志向からAGP2PCIボードが発売されました。しかし単純にはいかない部分もあります。実際のAGPはソフトから見てPCIのバス番号1上に存在しているようなのですが、PCIを変換したAGPではバス0上のデバイス5に存在します。BIOSがこうした構成を想定していないせいか、そのままではPCIデバイスに割り込み(IRQ)が振られておらず、正常に動作しません。また、VGA-BIOSも読み込まれません。後者についてはPC-98ではさほど問題ではないのですが、前者の対策をする必要があります。PC起動後にソフトウエア的な手段でPCIレジスタを適切に書き替えればよいのですが、特にPC-98でAT互換機のGAを利用できるNT/2kの環境を考えればOS起動前に行う必要があるでしょう。

ELOさんのページではまりも氏のIPLwareを使ってPCIレジスタを書き替えるサンプルプログラムのアセンブリソースとバイナリのダンプ値が示されています。これを元に拙作PCIPLでは同等のことを行う設定ファイルAGP2PCI.INIを添付していますので、バイナリエディタを使える環境でない方はこちらを使えばテキストエディタとDOS環境があれば利用できると思います(というか私自身その動作確認をしていなかったので、今回実際にAGP2PCIを作ってみることにしたわけですが・・・)。詳しくはELOさんのページか、AGP2PCI.INIのコメント行を参照してください。またまりも氏自身からも、さらに細かい設定が可能なAGP2PCI専用ツール「VGAENB」が公開されていました。だたしこちらは現在も入手できるかどうかは分かりません。

なおCHANPON ZEROの場合はCHACHAという別のソフトを使うことになっています。ZEROではブリッジを介すことでバス1上にAGPが出現するため、VGA-BIOS ROMも読み込まれてAT互換機ではそのまま使えることが多いようです。逆にPC-98ではAT互換機用VGA-BIOSの防止対策が必要になります。

PCIのL字変換基板



↑PCIスロットのライザー基板

今回たまたまPCIライザーボードの基板部分だけ入手することができました。しかもPCIスロットひとつだけのもので、実質的にただのL字変換基板です。この基板が、CHANPON ZEROのPCI側の基板と同じくらいの高さだったのです。

そこで千石電商でAGPソケットを買い、この基板に繋げてみることにしました。AGPスロットのピン側には出っ張りや固定金具が突き出ています。PCI基板に合わせた時に干渉する部分はPCI基板側を削ることにしました。また固定金具はそのまま使えるようにPCI基板をΛ字型に削っておき、AGP側の金具に噛み合うようにしたところ、うまく合体させることができました。もちろん両者はPCIとAGPでブラケットの位置が合うように組み合わせる位置を調整しておく必要があります。


↑PCIスロットのライザー基板に
AGPソケットを設置したもの。
ピンとホールが配線しやすく露出している。

結線作業

配線はELOさんのページに掲載されている通りに行いました。

写真を見ても分かるように、PCI基板とAGPソケットを組み合わせたものは、配線しやすいようにAGPのピンとPCI基板の穴が出ています。AGPスロットのピン4列のうち内側2列にPCI基板を挟み込む形になっていますので、内側2列は基板上パターンのように見なすことができます。外側の2列のみ空中配線になります。さらにPCI基板は両側にスルーホールが繋がっており、AGPコネクタのどちら側からの線も繋ぐことができます。実際にはAGP・PCIともAサイドはAサイド、BサイドはBサイドにほとんど配線されています(1箇所だけ例外があります)。ここでは片側(Aサイド)を例にとって説明します(実際にはBサイドから配線するほうが安全です)。

AGPソケットには4列の足が出ており、そのうち片側(Aサイド)の偶数ピンと奇数ピンの2列がPCI基板の片側に出ています。AサイドではAGPの奇数ピン(A1、A3・・・A65)が内側なのでPCI基板に貼り付いた形になっています。偶数ピンが空中配線になります。最初に内側のピンを配線するとやりやすいので、内側のピンを半田付けしやすいように、外側のピンは「足上げ」のようにすべて外側に曲げておきましょう。

一方のPCI基板の穴は、同じように4列になっています。このうちAサイドで使われるのは主にAGPソケットから遠い(PCIカードエッジに近い)2列です。そのうち偶数ピン(A2、A4・・・A62)がAGPに近い側となります。当然ながら近い側から配線しないと遠い側の配線の下敷きになって配線しにくくなってしまいます。したがってこれらの条件から以下の順番で配線(半田付け)することになります。

1: 例外となっている、AGP-PCI間でサイドの異なるピンを接続(PCI基板の一番近い列に配線する必要があるので)。
2: AGP側のA奇数ピンとPCI側のA偶数ピンを接続。
3: AGP側のA奇数ピンとPCI側のA奇数ピンを接続。
4: 「足上げ」した外側AGPピンを元通り寝かせます。
5: AGP側のA偶数ピン(空中配線)とPCI側のA偶数ピンを接続。
6: AGP側のA偶数ピン(空中配線)とPCI側のA奇数ピンを接続。

ピン番号の順番通りに配線するわけではないので、ELOさんのページの表を見ながら注意していないと配線忘れを招きます。一列配線するごとに必ず導通テストなり目視確認してください。

一方のBサイド同士の配線では偶数・奇数の関係が一部逆転することに注意します。AGPソケットのB偶数ピンがPCI基板に貼り付いており、B奇数ピンが空中配線となります。すなわちそれぞれAGP-PCI間で、B偶数-B偶数、B偶数-B奇数、B奇数-B偶数、B奇数-B奇数という順番となります。

実は今回、Bサイドはこの順番でやらなかったので、配線の出来に以下のような差ができています。CHANPON ZEROと違ってブリッジがありませんから安定動作のためには配線は極力短くすべきと考えられます。配線を無駄に長くしないためにも計画的に配線すべきでしたね。

 
↑計画した順番通りに配線すると
配線をスッキリさせることができる。

設置



↑CHANPON ZERO用のPCIブラケット
を利用することができる。

 
↑うまく開口部にVGAコネクタの出るようなAGPボードを選ぶ。
この例では下限ぎりぎりだが、上限を超えるほうが厄介。

PCI基板がCHANPON ZEROのカードエッジ基板とほぼ同じ高さなので、そこに直接設置したAGPスロットはZEROのそれよりやや低い程度になります。すなわちZERO付属のPCIブラケットがほぼそのまま使えると思います。ただしこれでは必ずしも固定されていないので、できればVGAコネクタ位置の合うジャンクVGAボードを探してブラケットを移植したほうがよいのではないかと思います。多少位置がずれていても、ネジ止めを延長する金具(基板固定に使うやつ)で固定できると思います。

またAGPボードなら何でも使えるわけではなく、直接PC-98に設置するとなると物理的干渉で使えない物が少なくありません。特に平置きデスクトップ機であればボードが高くなる分だけすぐに天板に干渉してしまいます。この点に関してはタワー機なら大丈夫なのかもしれません。しかしそれ以上に問題なのが、VGAコネクタの位置が高くなった結果、元々のPCIスロット開口部に収まらなくなっている場合です。これではVGAケーブルの繋ぎようがありません。CHANPON ZEROではCバスに延長するキットも知られていますが、ブリッジのないAGP2PCIではあまり延長できるとは考えられません。PCI延長ケーブルを使っても Cバス籠の枠に物理干渉しそうに思います。結局のところVGAコネクタが低い位置に付いているAGPボードを使うか、VGAコネクタそのものを改造するしかなさそうです。

ロープロファイルを謳わないAGPボードのうちどれくらいがAGP2PCI+デスクトップPC-98に対応するか、手持ちのAGPボードを漁って調べてみました。

メーカー・ボード名(推定) チップ コネクタ位置 ボード高さ
玄人志向 GF2MX200-AGP64 GeForce2MX200
玄人志向 GF4TI42008XV-AGP128C GeForce4Ti4200 VGA× DVI○ ×
AOpen MX400-V128 GeForce2MX400 VGA○ RCA× ×
ATi All in Wonder128(Pro)16/32 AGPRage128(Pro) VGA○ TV× ×
メルコ WGA-FX16 Voodoo Banshee ×
Diamond Stealth III S520 Savage4Pro ×
Creative EXXTREME 4MB AGP Permedia2 ×
(ジャンク入手で詳細不明) Quadro ×

その結果、十数枚のAGPボードのうちそのまま装着できたのはわずかに1枚という結果になりました。やはりロープロファイル用というのは重要な条件のようですね。

動作確認

実質的に唯一装着可能だったGF2MX200で動作を確認しました。最初は無難にVGAENBを使ったところ、2kで普通に認識し、動作している様子でした。VGAENBを外すとブルースクリーンで起動しません。そしてPCIPL+AGP2PCI.INIを利用した場合・・・起動しました。まだ使い続けたわけではありませんが、一応動作している様子でひと安心です。

もっとも自分の半田付けに自信が持てない限りは全然安心して使えないことにもなりますが・・・(汗)。問題なのは半田付けが不充分だった箇所が今は繋がっていても時間と共に外れるかもという心配なのですが、少なくとも今動いている以上は、市販のAGP2PCIを入手する前のテストには十分かもしれません。

実は今回AGP2PCIを作ったもう1つの理由は、PC-98+ZEROでは動作しなかったAOpen MX400V-128の動作確認です。GeForce2MX400はPC-98では定番と呼べるほどのGAなのですが(AT互換機用BIOSによる起動障害が起きないことが知られるため)、普通の製品ではVRAMは32MBか64MBのようです。しかしこのAOpenの製品はなぜか128MB搭載している点が異なります。そのせいかどうかは分かりませんが、ZERO+CHACHAで動作しないならAGP2PCI+VGAENBではどうかと思ったのですが、やはりブルースクリーンでした。エラー内容は前述のVGAENBなしで2kを起動したブルースクリーンと同じものでした。MX400Vにぶら下がる子デバイスにリソース割り振りがうまくいっていないのでしょうか? しかしそれならZERO+CHACHAで動かないのも変です(この場合、デバイスは認識されるがデスクトップの設定には認識されない)。機会があればもう少し調べてみたいと思います。ただ、とりあえずGeForce2MX400でもPC-98では動作しないものがあるということは確かなようです。ちなみにこのGAは、i810なDELLのマザー+ZEROの環境では普通に動きますのでボードの故障というわけではなさそうです。

追記 (09-10-06)

今回作ったAGP2PCIはCHANPON ZEROと比べると若干背が低いようなので、恐らく本物のAGP2PCIよりもわずかに背の高いボードでも装着できるのではないでしょうか。そう思ってロープロファイルでなくても基板の背がPCIブラケットより数ミリ低いものであれば、まぁ装着できるだろうということで中古のAGPボードを買ってみました。GAINWARDのGW-FX5500A256D(GeForce FX5500の256MB版)です。これでぎりぎりデスクトップ9821筐体に設置できるくらいです。固定する手段は無いですが、天板に押しつけられるくらいのぎりぎりですので、実質的に固定されているのと大差無さそうです。このボードはPCIブラケットを外してもDVIやらTV出力やらのコネクタが並ぶので、ZEROのブラケットが合いません。しかしコネクタが並んでいる分だけ見た目は隙間があまりありません。土台である自作AGP2PCI部分の隙間を除けば、ですが。


↑自作AGP2PCI用のPCIブラケットを自作。

せっかくなので自作AGP2PCI部分だけを塞ぐ専用のブラケットを作ってみました。プラ版を加工してアルミテープを貼ったものですが、余計な隙間を少しでも塞ぐことができるので便利そうです。


↑ロープロファイル版GeForce2MX200
を装着したところ。


↑うまく土台部分の隙間が塞がった。
これでほぼAGPスロット感覚で使用できる。

前述のGeForceFX5500はZERO上で使う事にしたので、もともとロープロファイル対応である玄人のGeForce2MX200で写真を撮りました。ちょうどロープロファイルのブラケットと合体して良い感じです。ただしロープロファイルのブラケットはネジ止め部分が逆向きですので、隣のPCIボードのネジ止め部分と重ねて固定するか、逆に干渉しないように並べて固定するなど工夫する必要があります。


↑ネジ止めは若干工夫する必要があるが
別に難しいものではない。
両側からネジで固定する。


ジャンクパーツへ