PCIブリッジ下のデバイスのリソース割り当てを修正したりPCIホストブリッジの設定をおこなうプログラム
PCISET Version 1.30
2024.12.19 Copyright(C) 2010,18-24 まりも
PCI-PCIブリッジを搭載したボードや、USB2.0ボードのような「マルチファンクションボード」は、PC-9821に挿しても正常に動作しない場合があります。これは、システムBIOSが誤ったリソース割り当てを行なっていたり、なにも設定をしていないことが原因です。
本プログラム"PCISET"は、システムBIOSに成り代わって、その不適切なリソース(メモリ空間アドレス,I/Oアドレス,IRQ)の割り当てを、可能な限り修正します。そのほか、PCIホストブリッジに通常おこなわれていないいくつかの設定も行うことができます。
本プログラムは、システムの起動中、ハードディスクのIPLが読み込まれるときに作用して問題を解決しますので、Windowsに限らずどのOSでも有効です。PCI-PCIブリッジやマルチファンクションデバイスが存在しない環境で本プログラムを組み込んであっても、とくに問題はありません。取り外しが面倒ならとりあえず組み込んでおいてもかまいません。
動作対象はPCI BIOS 2.1に"機能的に準拠"の機種です。初代Xa,XtなどではIRQの設定はできません(Xa7以降の機種からOKと考えられる)。SV-98/2やPC-9821Xf、St、EPSON機にはまったく対応していません。
バージョン1.10から、IPLwareが必要になりました。まずはIPLwareもダウンロードして、IPLware.exeを用意しておいてください。
アーカイブファイルを解凍すると次のファイルが作られます。
PCISET.TXT 説明テキストファイル
PCISET.BIN IPLware
SETCBIO.EXE PCISETカスタマイズ用プログラム
PCISET.BINは、MS-DOS実行プログラム形式ですが、「IPLware」です。PC-9821のハードディスクの起動メニューIPLに組み込まれて動作します。OSが起動する前に作用し、OSの種類には依存しませんが、組み込み時にはMS-DOSか、Windows9xのDOSモードかsafeモードが起動できる環境が必要です。
MS-DOS(Win9xのMS-DOSモード起動)のコマンドラインから、
IPLwareでの初回起動時に、下記のように、本プログラムの動作オプションを設定する問が出ます。
「する」に設定するとオンボードのPCIデバイスのI/Oアドレスを整理します。極力I/Oアドレス帯をPCI-PCIブリッジのために空ける ような割り当てを行ないます。したがってかなり複雑なPCIバス構成でもリソースの修正がなされるようになります。ただしブートデバイスの場合は I/Oアドレスの変更をすると起動できなくなるため、どちらに設定してあってもI/Oアドレスの変更は行われません。
通常は「する」を選択しておいてください。「しない」に設定すると、PCI-PCIブリッジ配下のデバイスしかメモリアドレスの設定は行いませんが、 それとオンボードスロットのデバイスのメモリアドレスとの競合や矛盾が起こる場合があります。
通常は「する」を選択しておいてください。とくに不都合は発生しません。SATAやSCSIハードディスクの書き込みが高速化できる場合があります。PC-9821St20では「しない」に設定してください。
RvIIではチップセットとデバイスとの相性が問題になる場合が多いです。HiNT製PCI-PCIブリッジを使用したUSB2.0を含むボードや、VIA のUSB2.0 ボードの場合に、USB2.0ストレージが正常に動作しないことを確認しています。
このような場合は、禁止「する」 で応答して様子を見てください。ただし転送速度は遅くなります。RvIIかどうかは実行時に自動判別されますので、RvII以外の機種で実行されている場合は、どちらに設定してあっても、禁止「しない」の状態となります。
バージョン1.10で新設された設定です。通常は「しない」にしますが、一部のPC/AT用ビデオカードでは「する」に設定することで、グラフィックドイライバが動作するようになると思われます。しかし「する」に設定すると、オンボードのグラフィックデバイスが動作しなくなる可能性が高いので、オンボードとPCIビデオカードの併存はできなくなるかもしれません。
通常は「しない」を選択しておけばよいと思われます。機種によってはバスのパリティチェックを「する」にしても無効となります。とくに問題はないのにパリティエラーが発生する機種もあるので、「する」にすると正常に動作せず、Windowsのブルースクリーンエラーが発生することもあります。
通常はIRQの再割り当てを「しない」を選択してください。この場合、システムが割り当てた状態に従ってIRQは設定されます。いっぽう再割り当てを「する」に設定すると、ブートデバイス以外のIRQを極力まとめてIRQの共有化をはかります。CバスPnPボード用に空きのIRQを予め確保しておきたい場合には、「する」の設定にしてください。IRQの共有で不都合が発生する場合(たとえばWindows9xが起動しないなど)には「しない」を選択してください。PCI BIOSのリビジョンが旧い機種、およびPC-9821StではIRQの設定ができないという警告が出ます。この場合は再設定はできませんが動作は可能です。
通常は「しない」を選択して下さい。「する」を選ぶと、IOLOCK機能により1stCCUやプリンタを使用しない場合、IRQ4やIRQ14をPCIで使用できるようにします。しかし既にそれらのデバイスドライバがインストールされている状態でIRQを移動すると、OSが動作しなくなる可能性があります。「する」を選択するのは、CバスのボードでIRQ3,5,6,9,10を使い切ってしまっているような場合です。なおこのオプションで「する」を選択すると、自動的に前のオプションも「する」に設定されます。
通常は「する」で構いません。これによりBIOSディスクアクセスが高速化します。2倍くらい速くなることがあります。BIOSを使わないOSでは意味を持たないので、Windowsでしか使わない場合は「しない」に設定してもよいでしょう。※PC-9821Stでは「しない」の設定にしてください。
PCIとはとくに関係ない機能です。SCSIを使っていてIDEやSATAのディスクを増設するとドライブ番号が変化して困るような場合に使います。ただし、ディスクドライブをBIOSで無視するようにしても、存在が取り消されるわけではないので、Windowsでは存在を見つけられてしまいます。(このオプションは将来廃止や変更する可能性があります)
「する」を選択すれば全デバイスリストを1秒間程度表示します。デバイスリスト画面は白地に黒字です。リストの表示を保持したい場合には、表示中にSHIFTキーを押し続けていてください。いっぽう、表示「しない」を選択すれば、表示しないぶん起動に要する時間の短縮になります。
I/Oアドレスの連続割り当てができない場合は、デバイス構成を変更するか、逆にオンボードスロットのPCIデバイスのI/Oアドレスを動かして、空きを作るしかありません。オンボードのデバイスのI/Oアドレスを移動するオプションを有効にすると、7000h〜に集約します。
また、このオプション機能を使わなくても、PCIセットアップユーティリティを使えばオンボードスロットのデバイスのI/Oアドレスを動かすことができます。その際は、2000hゾーンや4000hゾーンにするとよいでしょう。これによりC000h〜E000hゾーンにうまく空きができる場合があります。とくにブートデバイスの場合は後からI/Oアドレスを移動できないため、PCIセットアップユーティリティを使う方法しかありません。しかしながら、PCIセットアップユーティリティを使ってリソースを固定すると、システムが起動しなくなるという問題が起こりやすくなります。
2つ以上のアドレス帯を要求するデバイス構成のときは、本プログラムが空きをスキャンして、可能な限り多段PCI-PCIブリッジにI/Oアドレスの割り当てを行ないます。しかしブートデバイスについては、そのBIOSが既に稼働していると、I/Oアドレスを強制的に移動することはできません。またこのような場合、同じブリッジ上またはその配下のブリッジに存在するI/Oアドレス使用デバイスも、道連れで使用できなくなります。デバイス構成を工夫する以外に対処法はありません。
なお 2000h,4000h,6000h,C000h,D000h,E000h のゾーンはCバスのボードでも使われますが、それをシステムに知らせる機構がPC-98にはありません。そこで、特定のI/Oアドレスゾーンには本プログラムが割り当てをおこなわないよう、カスタマイズすることができるようにしました。アーカイブにある SETCBIO.EXE を実行すると、いくつかのアドレスゾーンにPCI用のI/Oアドレスを割り当てないように、PCISET.BINがカスタマイズされます。
1段目のPCI-PCIブリッジ直下にある SCSIやATAなどのストレージ系、VGAデバイスは、ブートBIOSのROMをスキャンされます。このため、正しくPC-9821向けに設計されたボードのROMであれば、起動しようとします。そうでないボードの場合はハングアップします。いっぽうPCI-PCIブリッジの2段目以下にある場合はROMは読みに行けない欠陥があります(システムBIOSの作りが不完全なため検索されない)。またリソース割り当ても2段目以下のデバイスについては全くなされないか完全に誤った設定になってしまいます。
本プログラムでは、PCI-PCIブリッジが2段となっている場合でも適切にリソース割り当てを行うことができます。玄人志向製CHANPON-ZERO上にさらにブリッジ搭載ボードを載せたり、PCI-PCIバスブリッジによるPCI拡張ボックスなどの装置でも動作します。
次のような環境ではおそらく使用できません。
機種によっては存在する「拡張割り込みモード」に設定されていると正常に動作しない可能性があります。1024MiBを超えるメモリを搭載(エミュレータでは可能)している場合も動作しません。
本プログラムを使用する場合は、無責任・無保証とします。すなわちこのプログラムを使用したことによるあらゆる損害、被害、などについて、一切当方は責任を負わないものとします。また使用できなかった場合についても同様です。
旧バージョン1.20のダウンロード