UAP14475 のブログⅢ

Yahoo!ブログから引っ越してきました。パソコンとトイガンが大好物です。  暇になると艦これを始めてしまいます。とにかく秘書艦は阿武隈ちゃんで。

BIOSを見る:EP-51 MVP3E-M

ROM焼きだいじょうぶ! 」 による実験は現在のところ、成果を上げられないでいます。
失敗事例については後ほど記事にするとして、”BIOSを見る”という観点から記事を書くことにしました。

■参考ページ : 『 AWARD BIOS を解析する



BIOSって何でできてるの?

LZHと無圧縮データでできているようです。
参考ページにある「award.exe」でバラバラにすると、
複数のLZHとどれにも属さない値の集まり、そして文字として読める部分が得られます。
入っている順番に決まりはないらしく、original.tmpが先頭に入っているモノもあれば、
逆に末尾に入っているモノもあります。

サンプルとして、EP-51 MVP3E-M用のvp300411.binと、
EP-MVP3G-M用のvp3c0c21.binを用意してみましたが、
「original.tmp」はどちらのBIOSでも他のLZH成分と離れた部分にありました。

※なお、「award.exe」はコマンドプロンプトから操作します。
参考ページに使い方が軽く書いてあります。それと Windows7 64bit では動かない模様。
WindowsXP modeでは動くようなので、コレで対処しましょう。仮想マシンは便利だね。



で、私は特にvp3c0c21.binを調べてみました。

■中身
・ 0x00000~0x0440B : awardext.rom
・ 0x0440C~0x050BF : ACPITBL.BIN
・ 0x050C0~0x05360 : AWARDEPA.BIN
・ 0x05361~0x07900 : ncr306.16k
・ 0x07901~0x1FFFF : 値(FFだけ)
・ 0x20000~0x346EC : original.tmp
・ 0x346ED : 値(0A) ←2017,04,21追記
・ 0x346EE~0x35FF9 : 値(FFだけ) ←2017,04,21修正
・ 0x35FFA~0x3682A : 値
・ 0x3682B~0x36FFB : 値(00だけ)
・ 0x36FFC~0x37C3A : 値・文字(「= Award Decompression BIOS =」の文字)
・ 0x37C3B~0x37FFE : 値(FFだけ) ←2017,04,21修正
・ 0x37FFF : 値(90) ←2017,04,21追記
・ 0x38000~0x3BFFF : 値(FFだけ) ←2017,04,21修正
・ 0x3C000~0x3CB44 : 値
・ 0x3CB45~0x3DFFF : 値(00だけ)
・ 0x3E000~0x3E82A : 値・文字(「Award BootBlock BIOS v1.0」の文字)
・ 0x3E82B~0x3F064 : 値(00だけ)
・ 0x3F065~0x3F750 : 値 ←2017,04,21修正
・ 0x3F751~0x3F80A : 値(00だけ)
・ 0x3F80B~0x3FF68 : 値・文字(エラーメッセージが書いてあった) ←2017,04,21修正
・ 0x3FF69~0x3FFE7 : 値(00だけ)
・ 0x3FFE8~0x3FFFF : 値

FFだけのエリアと00だけのエリアって何か違うんですかね?
たしかにSAVCUTでもどっちで埋めるか指定できたりしますが・・・

original.tmpの前方にFFだけのスペースがあることを除けば、
取り出せるLZHBIOSの最初の方にあって、
逆に後ろの方には無圧縮と思われるデータが詰まっているようです。

これが何の役に立つのか? それは自分でもわかりません。
でもなんだか機材があると実験したくなるんです!
この雄大BIOSに値を刻み込みたい!



vp300411.binも同じように調べたいんですが、1Mbitのbinをただただ見つめる作業というのが苦痛でして・・・
まあ↑のvp3c0c21.binは2Mbitなんですけどね。ツラカッタ・・・



いや、やっぱり経緯も話しましょう。
以前作っておいた改造BIOS(vp300411.binの2Mbit版とその派生)は、いずれも焼けませんでした。
書きこもうとしても、ファイルが見つからないとか、焼き始めるけど目盛が増えずに止まるとか・・・
しかし、vp3c0c21.binはPart Numberの不一致を無視すれば普通に焼けました。
ただしPOSTしませんでした。(画面が出ない)

そこで、vp3c0c21.binのガワだけパクって「実質vp300411.bin」を作ろうと思ってるわけです。

vp300411.binの2Mbit版が焼けない理由は不明です。
これが結構気になるんですが、もしかしたらデータの座標が狂ったか、
あるいはどこかの部分が末尾や内容を規定していて、これが不一致なので止まるのか、
それともチェックサムが不正で止まるのか、とにかく分かりません。

ちなみに1Mbit版の純正vp300411.binを焼こうとしても止まります。←は?

話を整理すると、
①2Mbitを使えるか ⇒ vp3c0c21.binを書けることから可能と断定
②2MbitPLCCは正常か ⇒ 不明。



■2017,0421 update
不一致検索をかけたところ、飛び地に1byteだけ値がある場合を発見したため追記。
何を意味する値なのかは不明。チェックサムか末端の目印かもしれない。


■目次
BIOS取り違え?:EP51 MVP3E-M
EP-51 MVP3E-M BIOS更新完了
EP-51 MVP3E-M XPインストール!
EP-51 MVP3E-M XP起動
⑤こ↑こ↓
BIOSを見る②:EP-51 MVP3E-M