クレバリーオリジナル Radeon HD 2600PROのBIOSチューニング

2007年10月13日


TOPへ戻る



なんかRadeon HD 2600PROってウィンドウ描画遅くない?

 Vista HomeBasic使ってて思ったんですが、先日買ったHD 2600PROにビデオカードを換えてからウィンドウの描画にやたらと時間がかかり、常用にあたって最近ストレスを感じるようになってきました。

※CrystalMark2004 GDIテストのスコア
Radeon HD 2600PRO 4646
GeForce 8600GTS 19268
GeForce 7600GS-Z 20412
GeForce 7600GS 17762

 このスコア明らかおかしくない?
それと、2chの自作板でも話が出てるようですが時々画面がブラックアウトして映らなくなるですよ。
で、これって多分両方とも可変クロックによるものじゃないかという話で、各社が修正BIOSをリリースしているとの事。

でも2600PRO GDDR3なんてキワモノのBIOSなんて何処にも在りません・・・・・・orz


・・・・・・そうだ、無いなら作れば良いじゃないか。

ということで、これから作ります。


※注意
 ここに書かれている作業は機器の故障の可能性を伴う非常に危険な作業であり、またメーカーからのサポートも受けられなくなる可能性も非常に高いです。これらを行われる際は全て自己責任の上で、万一壊れてもかまわないという覚悟を持って行われますようお願い致します。



(0). まずは、状況の確認。


これが元凶。この製品、アイドル時はコアクロックが110MHzまで下がります。
BIOSをいじることでクロック固定化を狙います。


2D描画等、GPU使用率が25%〜50%の時はコアクロックは300MHzで動作。



使用率が50%を超えると本来のクロックで動作し始めるようです。






(1). ビデオカードに入ってる本来のBIOSをバックアップしておく。

ATIWinflashを使ってBIOSのバックアップを取ります。


ATIWinflash.exeを起動します。


ソフトが立ち上がったら、「保存」ボタンでBIOSイメージを保存します。


適当な名前でわかるところに保存しておきましょう。


保存が完了しました。






(2). BIOSをバイナリエディタで開く

今回バイナリエディタプログラムはBz(http://www.zob.ne.jp/~c.mos/soft/bz.html)を使わせていただきました。



(1)の手順で作成したファイルのコピーを作成します。オリジナルをそのまま使わないよう注意しましょう。


ファイルを開こうとすると、


こういった注意が出ると思いますので、一覧からプログラムを選択するを選びOKを押します。


参照ボタンからこのファイルを開くのに使うプログラムを選択します。


Bz.exeを選択肢、開くを押すとBzが起動し、BIOSイメージの中身が表示されます。





(3). BIOSファイル中から書き換えるべき場所を探す


バイナリエディタでBIOSイメージを開くと、中身はこのような感じになっています。
ここで目的のコアクロック値を目標に書き換えるべき部分を検索します。Windows電卓を起動しましょう。


わかってるとは思いますが、電卓はここ。アクセサリフォルダの中にあります。



16進数を使うので表示は関数電卓に切り替えておいてください。



さて、アイドル時のコアクロック110Mhzをなんとかしたいのでした。
RadeonのBIOS中ではクロックの値は110.00MHzというように小数点以下第二位までの制御が行われます。
BIOS中ではこれは単に11000と記述されているので、11000と10進数で打ち込んで16進数に変換します。


すると2AF8という結果が出ました。これをバイナリエディタから検索してやります。


アーキテクチャの性質上、バイナリ中のクロックの値はリトルエンディアンで記録されています。
ですから2桁ごとにひっくり返して、2A F8なら「F8 2A」と検索する必要があります。
ちなみに11170なら「70 11 01」です。



検索すると、それらしい部分が出てきました。この部分を書き換えてやれば良さそうです。

しかし、BIOS等の適用には通常チェックサムやCRCチェック等というものが介在し、
こいつがBIOSの中身が壊れていないか、改ざんされていないかをチェックし、NGだと弾かれます。
Radeonは基本的に1バイトずつの全加算で大丈夫っぽい感じですので、


イメージファイル末尾の明らかに有意味でないまっさらな領域を埋め合わせ用に使います。





(4). CRCチェックを合わせつつ、BIOSの書き換えを行う


このF8 2Aっていうのを60 EAにすればいいわけです。まずは2AをEAに書き換えます。
しかし、このままだとBIOS書き戻しの際のCRCチェックに引っかかってしまいます。
そこで16進数電卓の出番です。[ EA - 2A = C0 ]
この部分にC0だけ数値を足したわけですから、辻褄を合わせるためには何処かからC0を引く必要があります。


そこで、(3)の最後で挙げたファイル末尾の(多分)無意味な部分。ここからC0を引いてやります。
[ FF - C0 = 3F ]


他の部分についても同じようにして足して引いてを繰り返して書き換えを行っていけばいいんですが・・・

この部分。ここは60にしたいんですが、この場合ここは加算ではなく減算になりますね。
そうすると他のどこかから引くのではなく、逆に足してやる必要が出てきます。


FFにこれ以上足すと3桁になってしまうので、足しても3桁にならない部分に足していきましょう。




最終的にこのように固定できればOKです。ファイルを保存しておきましょう。



ちなみにこの部分はどうやらコア電圧っぽい感じです。アイドル時に対応する部分だけ低くなってます。
これも同じように変更することは可能ですが、変更するかどうかはお好みで。無理に変更はしなくて良いと思います。




(5). 書き換えたBIOSをビデオカードへ書き戻す

「イメージの読み込み」ボタンから先ほど作成した改造BIOSを読み込みます。




CRCが現在のBIOSと同値になっていればBIOSの書き換えが行えます。
同値になっていない場合は、バイナリエディタ操作中に計算間違い等のミスがあったのだと思われます。
もう一度BIOSを作り直してきてください。


CRCが合っていたなら、「プログラム」を押してBIOSをビデオカードに書き込みます。



書き込み中。Programming VBIOSという文字が表示され、数十秒間マウスやキーボードのレスポンスが著しく低下します。



BIOS書き換えが正常に完了するとメッセージが表示されます。この後再起動を促されますので指示に従い再起動です。




再起動後、Catalystを起動。アイドル時にもコアクロック600MHzで動くようになりました。


この処置後、CrystalMark2004のGDIスコアは4646から9981へ、およそ倍以上にアップしました。
ウィンドウの描画速度も若干速くなり……ました? ・・・うむ、気持ち早くなった気もするが誤差程度のような気もする。




(6). Catalyst overdriveのクロック制限ははずせないの?

明らかにここが怪しいんですが、ここ書き換えるとCatalystでカードが認識されなくなります。
たぶんどこかでチェックを行ってると思うんですが、そんなの解析してムリにOCするよりRivaTuner使った方が速いですし。
まあCatalystの方が使いやすいっていうのはありますので、また暇があれば弄ってみてもいいかなという気はしますが、 とりあえずは現段階ではここはいじらない方向で・・・ヘタレでごめんなさい。