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

[ PCIxROM ] Version 1.06

Copyright 2010 まりも

1.【目的】

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

2.【使い方】

 リアルモードの日本語MS-DOS(DOS/V)のコマンドラインから,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/AT互換機専用版ですが,別途PC-9821専用版も存在しています.ダウンロードは別個となっていますが,プログラム名が同一ですので混同しないように注意してください.

・MS-DOSはWindows9xのでもかまいません.ただしEMM386を組み込んだ状態では仮想86モードとなり,本プログラムは実行できません.しかしHIMEM.SYSを組み込んだ状態で使用することはできます.DOSの言語モードについては,日本語モード,英語モードどちらでも使用できます.

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

・PCI,PCI-X,PCIexpressバススロット上のボードではない,マザーボードのオンボードデバイスのROMデータは本プログラムでは取得できません.

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

・非常に古い機種(1999年以前)のマザーボードでは,PCI-PCIブリッジの下にあるデバイスのROMを読み出せない場合があります.これは,システムBIOSが正しくリソースを割り当てていないためです.

GIGABYTE製のほとんどのマザーボードでは実行できません.これは,GIGABYTEのBIOSでは,PCIデバイスに割り当てられるべきROMのメモリアドレスを,起動(POST)完了後に解放してしまうためです.

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

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

 このプログラムは,解析用,勉強用,個人的なROMイメージのバックアップ用に使ってください.BIOS ROMの不正な複製品の製造には絶対に使用しないでください.これを使用条件とします.このプログラムはフリーソフトウェアです.使用条件に反しない限りコピーフリーで使用できます.ただし不特定多数のダウンロードできる場所への転載はお断りします.使用した結果に関して,作者は一切責任を負いません.

PC/AT互換機用

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

5.【改版履歴】

 年月日   版  内容
 2010- 4-15  1.05 PC/AT互換機版を新規公開
 2010-12- 1  1.06 一部のデバイスクラス名が正しくない表示になるのを修正

←戻る