SCSIアダプタのROMに組み込んで使う,VGA BIOSなどのPC/AT用ブートコード実行阻止プログラム
[ NoATboot ] 文書 Version 2.10 Copyright(C)2004 まりも

[目的]

 PC-9821でPC/AT互換機用BIOSの載ったPCIボードを動かそうとすると、それが無意味に実行されて、9821の起動を阻害してしまう問題があります。本プログラムは、SCSIカードのROMに組み込むことによって、この問題を解消します。PC-9821のPCI boot ROM初期化作業の最初に介入して、メモリ上に展開しているPCI BIOSを書き換えるということをおこないます。これにより、次以降に検索されるビデオカードのAT互換機用BIOSは、呼び出されることがなくなります。

 ただし、ROMにプログラムを書き込むということから、ROMライタをお持ちで あるか、フラッシュROM書き込みプログラムが入手可能なSCSIアダプタでないと使用できません。対応できるアダプタは限られており、プログラムが用意されているのは、

です。UIDE-98,UIDE-66,UIDE-133/98とAHA-2940UWは、メーカのwebサイトからダウンロードできるユーテリティにフラッシュ書き込みプログラムがあるので、ROMライタは不要です。供給ファイルは、ROMデータにパッチあてをおこなうMS-DOS実行プログラムです(使い方は下記参照)。

[使い方]

パッチあて実行プログラムの使い方

 拙作の "PCIXROM" というソフト(別途ダウンロードしておいてください)を 使い、本体またはスロットの対象SCSIアダプタのBIOS ROMイメージを ファイル化します。コマンドラインから

PCIXROM   -f  -n
と打って下さい。PCIXROM.BINという名前のファイルが作られるので、それを下記の表「入力ファイル名」欄のように、各アダプタ用の実行プログラムで使う名前に変更しておいてください。実行すると新しいROMイメージファイルが作成されます。そのファイルをそのアダプタ付属の(またはダウンロード可能な)フラッシュ書き換えプログラムを使って書き換えて下さい。PC-9821X-B09ボードやオンボードSCSI機種の場合は、ROMライタで焼いてからROMソケットに戻してください。

 各アダプタと対応する実行プログラム名、入力および作成されるファイル名は次の表のとおりです。くれぐれもとりちがえないようにしてください。プログラムは、対応ROM内容の厳重なチェックをおこないません。
 
 
対応SCSIアダプタ 対応プログラム名 入力ファイル名 作成されるファイル名
PC-9821X-B09
オンボードSCSI
SCSInoAT.exe SCSIROM.BIN SCSIROM.PAT
AHA-2940UW AUW_noAT.exe A2940UW.BIN A2940UW.PAT
IOI-1060 SCSI
(CHANPON3)
1060noAT.exe 1060_98.BIN 1060_98.PAT
UIDE-98, UIDE-66 UIDEnoAT.exe コマンドラインより
任意の名前(UIDExx.BIN)
←と同じ名前
(置き換わり)

 なおUIDE用だけはファイル名は任意のものをコマンドオプションで指定する必要がある点に注意してください(UIDEシリーズ共通化のため)。例えばUIDE-66用BIOSファイルは デフォルトではUIDE66.BINですから、実行する際は

UIDEnoAT   UIDE66.BIN
のように打ちます。しかしPCIXROMを用いて現在のUIDEのROM内容を吸い出したデータでも構いません。どのUIDEであるかやファイルサイズは、データの内容で自動判別するようになっています。

[導入結果と注意]

 各アダプタは、もっとも若い番号のPCIスロットに挿して下さい。CHANPONシリーズの上にあるデバイスは、オンボードのPCIスロットより後に検索されてしまうので、本プログラムは意味を為しません。本プログラムをCHANPON-ZEROの上のスロットのSCSIボード、またはCHANPON3 のSCSIに搭載させたとしても、オンボードのPCIスロットにビデオカードを載せていると意味がないことになります。なおオンボードのSCSIは最初に検索されるのでこの心配はありません。

 システム起動中、画面に本プログラムのメッセージが表示されます。PCIスロットあるいはCHANPON-ZEROのAGPスロットにAT互換機用ビデオカードを載せても、システムの起動が途中でストップすることはなくなっているはずです。

 VGA BIOSは実行はされなくなるものの、拡張ROM領域へは出現します。 C0000〜D7FFFhのどこかに現れます。C0000〜の64KB中に存在していると、MS-DOSのときにEMS(EMM386)が使えなくなってしまいます。 これを回避するには、拙作「MaskVGA2」をお使い下さい。config.sysの 先頭行に記述して回避します。また32KBサイズのVGA BIOSをもつものはD0000h〜に出現することがあります。これによりMS-DOSのUMB領域が著しく狭くなってしまいます。これを回避するには、PCIセットアップ ユーティリティを使用して、D0000〜D7FFFhまで(D4000〜D7FFFでもよい)をCバス予約にしておいてください。そうするとC0000〜CFFFFhのどこかに出現するようになります。なおC0000h〜D7FFFh全部を予約にしないようにしてください。SCSIアダプタのBIOSの出現も取り消されてしまう恐れがあります。

[お約束]

 本プログラムはフリーソフトウェアですので、コピーは自由ですが、 不特定多数の人がダウンロードできるような場所に置いて二次的に配布することは禁止とします。また商用にすること(本プログラムを売ること)も禁止とします。これは本プログラムがROMに既に入った状態で有料配布してはいけないということを意味します(ROM実費との区別がつかないので)。 もちろん、本プログラムの入ったSCSI ROMが載ったままの本体を売るということも禁止事項に含まれます。

 また、SCSInoAT.EXEなどのプログラムでパッチあてをおこなったROMには、SCSIボードベンダが著作権を持つBIOSコードが含まれています。これを複製して販売なり配布することは、著作権侵害となる可能性があります。 十分に注意して下さい。上記禁止事項に抵触するような行為がおこなわれているのを見聞きした場合は、ご連絡ください。

 本プログラムの動作の保証はありませんし、サポートのようなものもありません。今後改良は行いません。

2004-5-28/2006-3-13/2006-10-15改訂  まりも

最後まで読んだのでダウンロードする