[19104]  CHANPON零(偽) for Ra20/N12 の製作〜
投稿者:いーとん さん   2002-06-03 23:27:26
貧乏な私は非常に高価な"ふえ太郎"を飼うお金がないので、最終兵器である PCI-PCIバスブリッジを搭載した PCI増設ボード「CHANPON零(偽) for Ra20/N12」の製作に踏み切りました。
事の発端は例の AGP2PCI です(笑

今回の材料はいつもの様に「SV-98/2-B06L から PCI信号を引き出す」と言う物をベースとし、増設PCIスロットには DE○L製の PCI RISER を利用しています。
★ DP/N0009171E-12402-9CH-7247 Rev A01 等と書かれている PCI x5 + ISA x4 のボードです。
この RISERボードには 21152(PCI-PCIバスブリッジ)が載っているので部品取りとして狩っておいた物ですが、観察の結果何とか使えるだろうとの見込みになり ISA x3 を切り離して使用する事にしました。
★ISA x3 を切り離さないと高さが Ra20 の筐体に収まらない(汗
☆この RISER は奥行きが長いので溝1Ra には激しく適さないのが難点です。(今回の物はCPUに当たるので挿せない)

増設する母体は表題の様に Ra20/N12(G8WTP-□-A11A) のみを対象としたカスタマイズ仕様で、抜いちゃ駄目スロットを置き換える形としましたのでCバスは全廃となっています。
スロットの配置は、一番下が抜いちゃ駄目スロットの完全コピーで抜いちゃ駄目新スロット。
下から2段目は非バスマスタスロットで、クロックは抜いちゃ駄目スロットとの共用。
★82441FX から REQ#4/GNT#4 を持ってくればバスマスタ可能。
下から3段目〜5段目は RISER に載っている 21152配下の PCIスロットとなります。(全スロットバスマスタ)
21152 はマザーの抜いちゃ駄目スロットから REQ#/GNT# を拝借し、クロックはオンボードの 82557 からの分岐(クロックジェネレータの根本から分岐)としています。
#此処までの文章だけでイメージできる人はかなり PCI増設に詳しいと思いますが(大汗

この増設作業で判った事)
1.PCI BIOS の管理下に無い PCI増設スロットにデバイスを挿すと IRQルーティングが不可となる(Win98/SE) 訳ですが、此処に PCI-PCIバスブリッジを挿入するとIRQルーティングが可能となる。
2.既出ですが、PCI-PCIバスブリッジ下に UIDE-66 を挿すと UIDE-66 は接続したデバイスを認識せずブートできない。(デバイススキャンは行うがデバイスを見つけない)
3.IRQルーティングが不可の状態でも PCI-PCIバスブリッジ下のデバイスも正常に動作する。
4.Ra20/N12 のマザーは PCI増設に対して寛容な様だ。(クロック配線が適当でもきちんと動く)
5.21152配下のデバイス番号は[-16]の値となる。(IDSEL=AD22 なら DEV No.6) <今回限定の話か?
6.DEV No.20(AD31) まできちんと利用できる(爆 <以前利用に失敗した経験が有るので...

此処までごちゃごちゃ書きましたけど、とりあえずバスマスタPCIスロットx5+非バスマスタPCIスロットx1の Ra20/N12 が始動しました。
現時点で、全スロット埋めても問題なく動作しております。

以上ですが、ちょっと長くなりましたので増設データはレスの形で出します m(_ _)m
  1. いーとん さん   2002-06-03 23:33:33
    以下、使用OSは Win98SE でのリストです。
    ★非バスマスタスロットに WGP-FX8N を挿しているので IRQルーティングは不可となっています。

    IRQ デバイス
    0 システム タイマ
    1 NEC PC-9800 シリーズ キーボードまたは 98 スタンダード キーボード(95)
    2 スタンダード ディスプレイ アダプタ (9821 シリーズ)
    3 NEC Firewarden OHCI Compliant IEEE 1394 Host Controller
    3 Intel 8255x-based PCI Ethernet Adapter (10/100)
    3 PCI ステアリング用 IRQ ホルダ
    4 通信ポート サポート 115.2Kbps (COM1)
    5 第 2 通信ポート サポート 115.2Kbps (COM2)
    6 WGP-FX8N (3Dfx)
    6 I-O DATA Ultra ATA Bus Mastering Controller
    6 PCI ステアリング用 IRQ ホルダ
    7 プログラミング可能な割り込みコントローラ
    8 数値データ プロセッサ
    9 YAMAHA DS-XG PCI Audio CODEC
    9 Symbios Logic 815XS PCI SCSI Adapter; 53C815 Device
    9 NEC USB Open Host Controller
    9 PCI ステアリング用 IRQ ホルダ
    10 YAMAHA DS-XG Legacy Sound System
    11 標準フロッピー ディスク コントローラ
    12 Mate-X PCM
    13 標準バス アダプタ マウス
    14 プリンタ ポート (36pin Parallel Interface) (LPT1)
    15 システム CMOS/リアル タイム クロック

    PC-9821 PCI Interrupt routing option and configuration
    [ PCIIRQR ] Version 1.28 Copyright(C) 2000-2001 まりも
    PCI BIOS Version 2.0, Last bus number(BIOS)=0, Configuration mechanism #1
    PCI host bridge is Intel 440FX Natoma PCI/Memory Controller.
    PCI-C bus bridge device found at Bus[ 0]:Dev[ 6]:Func[ 0].

    Bus :Device Class IRQ INT#A INT#B INT#C INT#D 所在
    [ 0]:[ 8] VGA-VIDEO -- *** *** *** *** 本体内蔵
    [ 0]:[11] EtherNet 3 PIRQ#3 *** *** *** 本体内蔵
    [ 0]:[16] SCSI H/A 6 PIRQ#0 PIRQ#1 PIRQ#2 PIRQ#3 PCIスロット#1
    [ 0]:[17] MM-AUDIO 9 PIRQ#1 PIRQ#2 PIRQ#3 PIRQ#0 PCIスロット#2
    以下増設スロット分 ----------------------------------------------------------
    [ 0]:[20] VGA-VIDEO 6 PIRQ#0
    [ 1]:[ 6] USB 9 PIRQ#1
    [ 1]:[ 8] iLink 3 PIRQ#3
    [ 1]:[10] SCSI H/A 9 PIRQ#1

    [ IRQ routing by PCI-C(ISA) bridge ]
    PIRQ#0 ==> IRQ 6
    PIRQ#1 ==> IRQ 9
    PIRQ#2 ==> ***
    PIRQ#3 ==> IRQ 3

    Bus Dev Func Class Vendor IRQ INT# B/M P/E I/O MEM SER FBB PED DPD SED
    [0]:[ 0] PCI--HOST Intel -- --- Yes No No Yes No o - - -
    [0]:[ 6] 98C-Bus B NEC -- --- Yes No Yes Yes Yes - - - -
    [0]:[ 7] 98 VIDEO NEC -- --- No No Yes Yes No o - - -
    [0]:[ 8] VGA-VIDEO Trident ** [A] No No No No No - - - -
    [0]:[11] EtherNet Intel 3 [A] Yes Yes Yes Yes Yes o - - -
    [0]:[15] PCI--PCI DEC -- --- Yes Yes Yes Yes Yes o - - -
    [0]:[16] SCSI H/A ARTOP 6 [A] Yes Yes Yes Yes Yes - - - -
    [0]:[17]:[0] MM-AUDIO YAMAHA 9 [A] Yes Yes No Yes Yes - - - -
    [0]:[20]:[0] VGA-VIDEO 3Dfx 6 [A] No No Yes Yes No o - - - < IDSEL=AD31
    [1]:[ 6] USB NEC 9 [A] Yes Yes No Yes Yes - - - - < IDSEL=AD22
    [1]:[ 8] iLink NEC 3 [A] Yes Yes No Yes Yes o - - - < IDSEL=AD24
    [1]:[10] SCSI H/A SYMBIOS 9 [A] Yes Yes Yes Yes Yes - - - - < IDSEL=AD26

    Bus Dev Func Class Base address
    [0]:[ 0] PCI--HOST
    [0]:[ 6] 98C-Bus B
    [0]:[ 7] 98 VIDEO
    [0]:[ 8] VGA-VIDEO ROM
    [0]:[11] EtherNet 20110000h C000h 20200000h ROM
    [0]:[15] PCI--PCI for Bus[1] ( 20000000h ) ( 6000h )
    [0]:[16] SCSI H/A C020h C028h C030h C02Ch 2000h ROM
    [0]:[17]:[0] MM-AUDIO 20118000h
    [0]:[20]:[0] VGA-VIDEO 24000000h 26000000h 2100h ROM
    [1]:[ 6] USB 20000000h
    [1]:[ 8] iLink 20001000h
    [1]:[10] SCSI H/A 6000h 20002000h ROM

    以上。
  2. まりも さん   2002-06-03 23:57:30
    私も部材は揃えてあったのですが、なかなかボード固定の工作が面倒なのでずっと放置してました。とくにPCIライザーボードを入れるケースをどうするかで…。原理的にはこれでなんら問題ありません。1段ブリッジだと、リソース割り当ても一応(問題はあるが)行なわれます。少なくともIRQが正しい割り当てになるので、メモリアドレスが誤っていても Windows98,Windows2000では問題ないようです(起動後に修正されている)。
    ところで[1][10]のSCSI H/Aは、アイオーデータ SC-UPCI系かと思いますが、ブートできましたでしょうか。うちでは UIDE-66同様、ブートできませんでした。

    # "CHANPON-Zero with AGP"を作ってくれるメーカさんはないかと言ってみるテスト。
  3. いーとん さん   2002-06-04 00:40:46
    挿してあるのは SC-PCI です。
    ブートに関しましては DOS のみしか試してませんがOKでした。

    > PCIライザーボードを入れるケースをどうするかで…。
    SV-98/2-B06L に 6mm のスペーサを入れて RISERボードと一体化させてます。
  4. まりも さん   2002-06-04 00:54:40
    >SC-PCI
    Uナシというと古そうですね。SC-UPCIの BIOS 1.62以前相当ならブート可能なのかなと思っているんですが、古いデータを保存してないので実験できそうにないです(^^;)。
  5. いーとん さん   2002-06-04 01:13:55
    > 少なくともIRQが正しい割り当てになるので、
    そうでも無い様です。
    PCI BIOS の管理下にないスロットに PCI-PCIバスブリッジを配した場合、デバイスの挙動はデバイスナンバーと PIRQ# の関係は自動的に整合を取らないみたいです。
    その結果今回の RISERボードを改造しないでそのまま利用するとデバイスのリソースはほぼ正しく割り当てられますけど全く動作しませんでした。

    結局 IRQステアリングが有効な状況下でも、実装したデバイスには反映されていない(勝手に増設デバイスと見なされる?)となってしまいます。
    ★PCI BIOS の管理下にないスロットに CHANPON1 を増設したときも、デバイスは全てインストールされリソースも正しく割り当てられていましたが、実装されたデバイスは全て動作しませんでした。(深くは突っ込んで調査してませんけど)
  6. まりも さん   2002-06-04 01:37:22
    >PCI BIOS の管理下にないスロットに PCI-PCIバスブリッジを配した場合
    あぁ、その場合は、なにを載せてもそのスロットには正しいIRQは割り当てられる保証ナシです。PCI-PCIブリッジのセカンダリ側は、デバイス番号の4の剰余系で PORQ#nが対応すると見なされるので、元々のPCI-PCIブリッジのPIRQ#の配線が誤っていると、当然セカンダリ側も誤りになります。
  7. いーとん さん   2002-06-04 01:50:50
    PCI-PCIブリッジには PIRQ# は配線されていないのでは?
    最初これですごく悩みましたけど、IRQ を必要としないのだから当然だな...と完結しました(笑

    結局の所、CHANPON1 が既存のスロットでは動くのに旧来の方法で増設したバスマスタスロットではうまく動かないと言う事に集約されてしまいました(大汗
    ★CHANPON1 を切り刻む勇気は有りませんでしたので。
  8. まりも さん   2002-06-04 02:13:25
     ブリッジのチップ自体には配線されませんが(PCI-PCI chip に割り込みという概念はない)、プライマリ側スロットのINT#ABCDを介して、セカンダリ側スロットに行っており、それはスロット番号との対応付けがあるようです。例えばスロット番号の4の余りが0であれば セカンダリデバイス側INT#Aはプライマリ側INT#Aに対応付けというようにです。自分で規則を変えると、BIOSや OSが狂った動作をすると思いますので、セカンダリ側までPCスロット増設をしようと欲張る場合(^^;)には、注意して下さい。

    # そのPCI-PCI拡張板、プライマリ側1個要らないからセカンダリ側にもう一つ欲しかったですよね。
  9. まりも さん   2002-06-04 02:24:15
    過去ログ読んだ人のためにいちおう6.の訂正いれときましょう
    誤>PORQ#n
    正:PIRQ#n

    誤>元々のPCI-PCIブリッジのPIRQ#の配線が
    正:大元のPCI-PCIブリッジのあるスロットのPIRQ#の配線が

  10. いーとん さん   2002-06-04 02:40:27
    SC-UPCI の BIOS 1.60 ですと BIOS起動にたどり着けません(大汗
    最新の 1.66 ですとデバイススキャンに入ったところでストールします。

    > # そのPCI-PCI拡張板、プライマリ側1個要らないからセカンダリ側にもう一つ欲しかったですよね。
    いやあ、微妙です(笑
    今の SC-UPCI みたいなボードのことを考えると Bus=0 のスロットが多い方が良いかも知れませんし。
    Intel EtherExpress PRO/100+ PCI マネージメント・アダプタ も今一変な挙動してました。
    ★当然ながら Bus=0 で扱う分には両方とも正常に動作します。
  11. いーとん さん   2002-06-04 15:42:44
    SC-UPCI について。
    BIOS 1.41, 1.60, 1.61 では BIOS画面にたどり着けません。
    BIOS 1.62, 1.63, 1.66 では BIOS画面を出すことは出来ますけど、デバイススキャンで止まります。

    と言う事で、増設スロットに問題が有るのか BIOS に問題があるのかは切り分けが出来ませんけど、現時点では PCI^PCIバスブリッジ下で SC-UPCI を動作させられません。