*爆音対策 [#CPU_LIST] **使用するツール [#TOOLS] -AMI純正の [[AFUWIN または AFUDOS (amibiosフォルダ) :http://www.ami.com/support/bios.cfm]] -最新の [[MMTOOL:http://www.rebelshavenforum.com/sis-bin/ultimatebb.cgi?ubb=get_topic;f=52;t=000023;p=0]] (3.22 Mod 21FIX でないとROMチェックサムエラーとなる) -バイナリ・エディタ ([[WinHex:http://www.x-ways.net/winhex/]]、[[BZ:http://www.zob.ne.jp/~c.mos/soft/bz.html]] など) **手順 [#STEPS] &color(red){&size(20){''BIOSの改造は、自己責任でお願いします。''};}; +BIOSイメージの保存 ++AFUWIN で「Save」を押して BIOSイメージを amiboot.rom というファイル名で、起動可能なUSBメモリに保存(または AFUDOSを使用)。 ---更新失敗時のリカバリ用として保存しておく事。 ---BIOSイメージには、機種名や個体毎のシリアル番号等が含まれているので、改造には該当個体からダンプした物を使用する事。 +BIOSイメージの編集 ++MMTOOLで「Load ROM」を押して読み込む。 ++「Extract」タブでModule ID:1B を 「In uncompressed form」 にチェックして適当な名前のファイルへ「Extract」を押して書き出す。 ++書き出したファイルをバイナリ・エディタで開き、「<Q><9><4><5><0>」 (0x49487) の文字列を 「<SP><C><P><U><SP>」 に、 または、「<SP><4><3><0>」 (0x49459) の文字列を 「<SP><C><P><U>」 に書き換える。 ---CPU個別のプロセッサブランドストリングは、[[CPU-Z:http://www.cpuid.com/cpuz.php]]の「CPU」タブ「Specification」欄で確認可能。 先頭から「@」の直前までの48バイト。ここに「_CPU_」 (_はスペース) の文字列があれば適用可能。 ---他の方法として、「<E><7><2><0><0>」 (0x49493) の文字列をプロセッサブランドストリング中のCPU名に書き換える (初期Core2系の場合、「<SP><4><3><0>」 (0x49459) の文字列を同中の英字無しCPU番号に書き換える) という方法も有る。 ---Module 1B ファイルのバイト数を増減させない方が無難。 ---2つ目のCPUリストで、アドレス 0x49423 以降の部分の他の文字列を使用しても良いが、認識されない場合が有る。 ++編集したファイルを、MMTOOLの「Replace」タブで Module ID:1B として「Replace」を押して読み込む。 ++「Save ROM as」 を押して別のファイル名で保存する。 +BIOSイメージの書込み ++別名で保存したROMファイルを AFUWIN または AFUDOS で書き換える。 ---Boot Blockは書き換えない事を推奨。 NVRAM のプログラム、Destroy CMOS Checksumは忘れずに。 ---AFUWINでは、「Setup」タブの「Block Option」で、「Boot Block」のチェックを''外す''。 「Main BIOS Image」と「NVRAM」のみにチェックを入れる。 「Setup」タブの「CMOS Option」で、「Destroy CMOS Checksum」にチェックを入れる。 ---AFUDOSでは、「AFUDOS ROMFILE /P /N /C」 +再起動 --BIOSの再設定を忘れずに。特にRAIDモードの変更。 **更新失敗時のリカバリ [#RECOVERY] -ブート可能なUSBメモリに amiboot.rom というファイル名でBIOSイメージを入れ、起動時に「CTRL + HOME」を連打する。 *CPUマイクロコードの入れ替え [#CPU_MICROCODE] -MMTOOLは使用せず、直接バイナリ・ファイルを編集し、マイクロコード部分を置き換える。 --チェックサムは無い模様。 Location=0x91020 : size=0x0800, cpuid=0x00F65, package=0x04, PlatformID=2 Location=0x91820 : size=0x1000, cpuid=0x006F6, package=0x01, PlatformID=0 Location=0x92820 : size=0x1000, cpuid=0x006F7, package=0x10, PlatformID=4 Location=0x93820 : size=0x1000, cpuid=0x006F2, package=0x01, PlatformID=0 Location=0x94820 : size=0x1000, cpuid=0x006FD, package=0x01, PlatformID=0 Location=0x95820 : size=0x1000, cpuid=0x006FB, package=0x10, PlatformID=4 Location=0x96820 : size=0x1000, cpuid=0x10661, package=0x01, PlatformID=0 Location=0x97820 : size=0x1000, cpuid=0x10676, package=0x10, PlatformID=4 Location=0x98820 : size=0x1000, cpuid=0x10676, package=0x01, PlatformID=0 Location=0x99820 : size=0x1000, cpuid=0x10677, package=0x10, PlatformID=4 Location=0x9A820 : size=0x2000, cpuid=0x1067A, package=0x11, PlatformID=0,4