PCIデバイスの拡張BIOS ROMイメージをファイル化するプログラム

[ PCIxROM ] Version 1.04

Copyright 2003-2006 まりも

1.【目的】

 PCIデバイスにはブート用ROMを持つものがあります。たとえばSCSIやストレージ、ethernet、VGAデバイスなどです。そのROMイメージをファイル化するのが本プログラムです。ROMイメージはシステム起動時に拡張ROM空間にマップされてはいますが、これはイメージの全てではなく、またRAM上にコピーおよび改変されてマップされており、ROMチップ内のイメージデータとは同一でないことが普通です。本プログラムではROMから直接読み出します。一般に、PC/AT互換機用には、PCIの拡張ROM書き換えツールにバックアップ機能がありますが、PC-9821にほとんどの場合存在しないので作成しました。またPC/AT互換機用も用意しました(バージョン1.05から)。
 

2.【使い方】

 まずアーカイブを解凍して PCIXROM.EXEを取り出してください。

 HIMEM.SYSを組み込んであるリアルモードのMS-DOSコマンドラインから、PCIXROMと打って実行します。実行開始すると全PCIデバイスをスキャンし、拡張ROMを持つ可能性のあるデバイスのみのリストを作成します。リストの中から↑↓キーで選択してリターンキーで確定してください。そのデバイスのROMイメージを読みに行きます。PCIデバイスはベンダコード、デバイスコード、クラスコードというもので識別されます。本プログラムが知っているコードの場合は、名前で表示します。ベンダ名はチップ製造メーカの名前なので、ボードのベンダ会社名とは異なる場合があります。クラスコード(デバイスの種別)は、おおよその名前で表示します。たとえばATAカードであってもSCSIアダプタと表示する場合があります。

 ROMを実装していなかったり不正なデータ構造になっているデバイスもあります。このときは実行を中止します。ただしコマンドオプション /F をつけている場合は、内容のいかんにかかわらずファイルを出力します。

 作成されるファイルは、いつも PCIXROM.BINという名前になっていますので、どのデバイスのROMイメージファイルであるかは覚えているようにしてください。適当に名前を変えて置いたほうがよいでしょう。なお、カレントディレクトリにファイルは作成されます。

 【応用的使い方】

 ROMソケットがついたPCIボード(Ethernetボードに多い)に、何かのROMを載せると、そのROMの内容を読み出すことができます。ただしROM内容によっては、PCシステムの起動を阻害します。PCIとは完全に関係ない内容のROM(先頭が55h,AAhでないデータ)だと無視されるので、すんなり起動できます。

3.【諸注意】

・このプログラムはPC-9821専用版とPC/AT互換機専用版とがあります。ダウンロードも別個となっていますが、プログラム名が同一ですので混同しないように注意してください。HIMEM.SYSが組み込まれていない場合に対応していません。

・MS-DOSはWindows9xのでもかまいません。ただしEMM386を組み込んだ状態では仮想86モードとなり、本プログラムは実行できません。いっぽうHIMEM.SYSは必要です。

・出力されるファイルサイズは正しいとは限りません。イメージサイズはROMヘッダーの当該箇所から取得しているので、実際と異なる大きさが書かれている場合やデータがPCI ROMとして不正な場合には、本来のサイズではファイルが作成されません。 コマンドオプション /N をつけた場合は、拡張ROMベースアドレスレジスタで 要求するサイズで出力します。この場合実際のデータサイズ より大きくなる可能性があります。

・取得できる最大のサイズは、DOSプログラムの制限のため512KBとなっています。ネットワークブート用ROMでは不足するものが存在するかもしれません。

PCI-PCIブリッジの下にあるデバイスのROMを読み出す場合、別のソフト「PCISET」が実行されていることが必要です。そうでないない環境ではROMアドレス空間にアクセスできないので、正しいデータは読み出せません。

・実行に際しMS-DOSのコンベンショナルメモリの空きが550KB程度必要です。

4.【お約束】(無保証・無責任)

 このプログラムは、解析用、勉強用、個人的なROMイメージのバックアップ用に使ってください。BIOS ROMの不正な複製には絶対に使用しないでください。これを使用条件とします。このプログラムはフリーソフトウェアです。使用条件に反しない限りコピーフリーで使用できます。ただし不特定多数のダウンロードできる場所への転載はお断りします。使用した結果に関して、作者は一切責任を負いません。またここに書いた以上の説明責任も負いません。分からない点はご自身で調べてください。PCIデバイス関連の書籍を見れば、ある程度のことは理解できます。

PC-9821用 PC-9821用:ここをクリックしてダウンロードする

5.【改版履歴】

 年月日   版  内容
 2003- 6-25  1.00 新規作成
 2003- 8-11  1.01 コマンドレジスタメモリアクセス不可の場合でも読み出す
 2003-11-17  1.02 PCI-PCIブリッジを表示リストから除外
 2004- 6-19  1.03 対象デバイスがひとつもないときは即終了するようにした
 2006- 5-15  1.04 マルチファンクションも検索するようにした(IFC-PCI7ESAU2に対応)


[戻る]