ROMライターを使えば簡単にROMを焼けるのですが、個人が趣味で購入するには少々値が張ります。 AWARD社のBIOSを搭載したマザーを使い、他のマザーやメーカー製PCのBIOSを焼く方法をご紹介いたします。

1.基礎知識

BIOSとは
Basic Input Output System の略で、パソコン起動時にハードウェアをチェックしたり、OSをスタートさせる機能を持っています。通常はFlash ROMというメモリーに保持されています。 一旦パソコンが起動した後は使われないため、ROMを交換したり書き換えたりできます。

なぜFlash ROMなのか
データを電気的に消去、書き込みが出来るため、BIOSのアップグレードが容易に行えるからです。 モデムやビデオカード、SCSIアダプタなども多くの機種がFlash ROMを使っています。

Flash ROMの問題点
データが飛んでしまう場合があります。例えば書き込み中に停電したらアウトです。 他に、「SCSIボードを追加したら飛んだ」とか、「何もしていないのに突然飛んだ」という話も聞きます。 BIOSが飛ぶとパソコンは起動しませんので、復活させるにはROMライターか他のパソコンで書き込む他はありません。

Flash ROMの種類
<形状の違い>
パソコンでは下図のようなDIPタイプ(左)とPLCCタイプ(右)が使われます。 多くはソケットに挿されていますが、メーカー製のパソコンやビデオカードなどでは直付けされている場合があります。 また、直付けの場合はTSOPというタイプが使われている場合もあります。

<容量の違い>
一般的にはSocket7マザーは1Mbit、BXマザーは2MbitのROMが使われています。 ROMの型番を調べれば分かりますが、BIOSのデータ容量からも判断できます。 8bit=1Byteですから、1MbitのROMならデータは128KBになります。

<電圧の違い>
新しいマザーでは、動作電圧3.3Vの物が多く使われています。 少し古いマザーなら5Vの物が多く、さらに古いマザーでは動作時5V、書き込み時12Vを使用します。 また、搭載ROMが12Vでも、ジャンパーで5Vに切り替えできるマザーもあります。

<BootBlockタイプ>
Intel 28F001BXというROMにはBootBlockという機能があり、FDからパソコンを起動する最低限の機能だけは保護されています。 BIOSが飛んでも、電源を入れたときにFDランプが点くなら自力復活の可能性ありです。

<FarmwareHUBタイプ>
810チップ以降、BIOSはFlashROMに代わってHardwareHUB(FWH)に格納されます。 FWHはチップセットの一部という扱いになっていますが、乱数の発生機能が追加されただけで、 実質的にFlashROMと同じです。

BISOの入手方法
<HPからダウンロード>
市販マザーの多くがAWARD BIOSを採用しているため、ダウンロードしたBIOSもそのまま書き込みに使えます。 メーカー製PCの場合、書き込みソフトとBIOSが一体になっている場合が多く、BIOS部分だけをバイナリエディタで切り取らないと使えません。

<ROMから読み出す>
AWDFLASH(書き込みソフト)はROMからBIOSを読み出す機能もあるので、BIOSのバックアップを作ることが出来ます。 また、読み出したBIOSは、書き込みソフトとBIOSが一体になったバイナリからBIOSだけを切り出すヒントになります。

2.必要な道具

ROMを抜く道具
<DIPタイプ>
細いマイナスドライバーの先端をROMとソケットの間に差し込み、両側から少しずつ持ち上げると簡単に外せます。

<PLCCタイプ>
専用工具の使用をお勧めします。無い場合、硬い針金(例えばクリップを伸ばした物)の先端を2mmほど直角に曲げ、そこをソケットの溝から差し込んでROMを持ち上げます。 結構硬い上、、両側から少しずつ持ち上げないと足をまげてしまいます。

パソコン
これが無いと始まりません。完全なパソコンでなくても、マザーとFDドライブだけで何とか書き込めます。 ISAバス用のVGAカードがあると便利な場合があります。

ROM焼きだいじょうぶ!
2つのROMをスイッチで切り換えるツールです。無くても焼けますが、これがあれば安全、確実です。


上の写真はROM焼きの強い見方、「ROM焼きだいじょうぶ!」のパッケージ

DIP←→PLCC変換器
ありそうで見つからないのがこれ。 大須(名古屋)のタケイムセンで聞いたら、「取り寄せで2〜3万円程度。ソケットがあるから自作したら?」と。 それで自作したのが下の写真。壊れた「ROM焼きだいじょうぶ!」とPCLLのソケットを32本の細い線で繋いでいます。 ハンダ付けできる面積が小さいので、付けては外れるの繰り返し。 素人には厳しかったです。 これをGA-6BXC(DIP)に繋いで、BX-Master(PLCC)のBIOS復活に成功しました。

3.焼き方

パソコンの起動
まず起動FDを作成し、書き込みソフト(通常はAWDFLASH.EXE)とBIOSデータをコピーします。 2ndキャッシュをDisableにした方が書き込み中のエラーが少ないという説もあります。

ROMの切り替え
起動したらROMを切り替えます。

<「ROM焼きだいじょうぶ!」を使う場合>
スイッチを切り換えるだけです。 参考ですが、スイッチで切り替えるのはCE(ChipEnable)というピン1本だけです。 32本のピンを全部切り替えるわけではありません。

<ホットスワップする場合>
要するに、動作中のパソコンのROMを引っこ抜いて他と交換するわけです。 一旦ROMを抜き、ソケットとROMの間にセロテープを2〜3枚重ねて挟んでおくと抜きやすくなります。

専門家は、「グランドが電源よりも先に抜けるとROMを破損する可能性大」と言ってました。 でもピンの長さは全部一緒だから、運に任せる他はありません。(意外と大丈夫ですが。。)
それから、PLCCタイプでホットスワップする場合は専用工具の使用をお勧めします。 私は針金で引き抜き、ROMをマザー上に落として壊しました。

BOISの書き込み
<普通の書き込み>
他のマザー(又はパソコン)のBIOSを書き込もうとすると、「ボードとBIOSの互換性が無い」とか、「チェックサム・エラー」いう警告が表示されます。 構わず書き込みすれば、たいてい正常に終了します。

<ダメな場合>
/Fオプションを付けると書き込みできる場合があります。

A:\>AWDFLASH ****.BIN /F

<それでもダメな場合>
AWDFLASHのバージョンを変えると書き込みできる場合があります。 BIOSと一緒にZIP圧縮されている場合が多いので、色々なBIOSを集めると、結構な数のバージョンが集まります。

<BootBlockタイプの自力復活>
BIOSが飛んでも、BootBlockタイプのROMなら自力復活の可能性が残っています。 メモ帳を開いて

A:\AWDFLASH ****.BIN /SN /PY /R

という1行を書き、AUTOEXEC.BATというファイル名で起動FDに保存します。 起動後、FDのアクセスランプが点けば成功です。 1分程で再起動されていつもの起動画面が復活します。 ISAバスのVGAカードがあれば、リカバリー中のディスプレイ表示も出来ます。

4.実験

2Mのマザーで1MのROM焼き
焼けました。

マザー:GIGABYTE GA-6BXC
元のROM:SST 29EE020(2Mbit、5V)
テストしたROM:Winbond W29EE011(1Mbit、5V)

12Vのマザーで5VのROM焼き
焼けました。5Vと12Vは違うピンから入力されているので、 書き込みソフトが使用するフラッシュROMに対応していれば大丈夫なようです。

マザー:富士通 FMV 5200CL
元のROM:Intel 28F001BX(1Mbit、12V)
テストしたROM:Winbond W29EE011(1Mbit、5V)

5Vのマザーで12VのROM焼き
基本的にダメです。

マザー:富士通 FMV 5200CL
元のROM:Intel 28F001BX(1Mbit、12V)
テストしたROM:Winbond W29EE011(1Mbit、5V)

2MのROMで1Mのマザーを起動
起動できました。試した手順で説明しますと、

<そのまま1MのBIOSを書き込み>
AWDFLASHに「サイズが違う」と怒られます。

<1Mのデータの後ろに"0"を並べて2Mにする>
書き込みは出来ましたが、起動しません。

<1MのBIOSを2つ連結して2Mにする>
起動しました。上の結果を合わせて考えると、この場合は2MのROMの後半1Mを読み込んでいることが分かります。 ただし、前半1Mを読むか後半1Mを読むかは、ソケットの30番ピンがLowかHighかで変わるはずです。 どっちにしても、BIOSを2つ連結しておけば間違いなでしょう。 DOSのCOPYコマンドで

A:\>COPY /B OLD + OLD NEW

とすれば、OLDが2つ連結されてNEWが出来ます。

起動したマザー:DFI 586IHXX
元のROM:Intel 28F001BX(1Mbit、12V)
使ったROM:Winbond W29C020C(2Mbit、5V)

5VのROMで12Vのマザー起動
起動しました。12VのROMも読み出しは5Vなので、問題無いようです。

起動したマザー:DFI 586IHXX
元のROM:MXIC 28F1000P(1Mbit、12V)
使ったROM:Winbond W29EE001(1Mbit、5V)

5.リンク

IOSS社のホームページ
「ROM焼きだいじょうぶ!」の製造元です。 動作検証のリストが参考になります。