Есть материнка Foxconn WinFast MCP61VM2MA-RS2H, которая не тянет первый Phenom, но существует ее почти полная копия Foxconn M61PMX, отличия - минус два слота DIMM и 8 МБит PLCC32 БИОС флешка вместо 4 МБит, и она тянет фен. Существует множество способов заменить БИОС, наидешевейший из которых - заказать с Aliexpress флешку SST49LF008A-33-4C-NHE и прошить методом "горячей замены". Но как мне кжется, есть еще менее затратный способ - впихнуть данные из второй материнки в первую.
В общем я скачал обе прошивки. Заюзав cbrom 1.95, выдрал из своего образа все модули, потом в HEX-редакторе заменил главный файл на тот, который был во второй прошивке. Предварительно я извлек модули из новой флешки и после замены главного файла запаковал новые файлы в старый образ. Почти все получилось, но не зря Foxconn'овцы использовали 8 Мбит флешку, так как при последней операции засовывания NCPUCODE.BIN cbrom пишет, что данные уже не влезают. Вопрос, что можно выкинуть из образа? Картинки уже пожаты и имеют микроскопический размер. Есть модуль vga, который вроде бы отвечает за встроенное видео. Так вот, можно ли его исключить, если я буду пользоваться только дискреткой? А вдруг в настройках стоит загрузка со встройкой, а потом юзверь уже меняет видео на PCI-E, тогда можно вообще не загрузиться? А может вообще не интегрировать NCPUCODE.BIN? Но какая разница между nc_cpucode и просто cpucode, вдруг первый нельзя удалять?
Старый образ.
C:\m61pmx>cbrom195 662W1P45.BIN /D
cbrom195 V1.95 [12/14/07] (C)Phoenix Technologies 2001-2007
******** 662W1P45.BIN BIOS component ********
No. Item-Name Original-Size Compressed-Size Original-File-Name
================================================================================
0. System BIOS 20000h(128.00K) 13BC2h(78.94K) 662W1P45.BIN
1. XGROUP CODE 0E300h(56.75K) 0978Eh(37.89K) awardext.rom
2. CPU micro code 01800h(6.00K) 00390h(0.89K) CPUCODE.BIN
3. ACPI table 06806h(26.01K) 02168h(8.35K) ACPITBL.BIN
4. EPA LOGO 0168Ch(5.64K) 002AAh(0.67K) AwardBmp.bmp
5. YGROUP ROM 0F9E0h(62.47K) 04798h(17.90K) awardeyt.rom
6. GROUP ROM[ 0] 05900h(22.25K) 02679h(9.62K) _EN_CODE.BIN
7. SETUP0 01A50h(6.58K) 00AF2h(2.74K) _ITEM.BIN
8. BIOSF0 01D50h(7.33K) 0129Dh(4.65K) _DMI.BIN
9. OEM0 CODE 0BCD0h(47.20K) 007ABh(1.92K) BSMICODE.ROM
10. PCI ROM[A] 0BC00h(47.00K) 07212h(28.52K) NVRAID.ROM
11. PCI ROM[ B] 0F000h(60.00K) 07AE1h(30.72K) NVPXES.NIC
12. VGA ROM[1] 0EE00h(59.50K) 0A87Ch(42.12K) MCP61-85.rom
13. GV3 040E8h(16.23K) 01101h(4.25K) AGESACPU.ROM
14. OSB LOGO ROM 4B30Ch(300.76K) 018FFh(6.25K) WinFast.bmp
(BB) Compress BT-VGA 06000h(24.00K) 0431Ch(17.03K) mcp61s-00.rom
Total compress code space = 59000h(356.00K)
Total compressed code size = 44DACh(275.42K)
Remain compress code space = 14254h(80.58K)
*** NVMM 4.064.0711/10/06 ◄♥ * Start Offset => 0, End Offset => 1b00 ***
** Micro Code Information **
Update ID CPUID | Update ID CPUID | Update ID CPUID | Update ID CPUID
------------------+--------------------+--------------------+-------------------
0062 0414| 0068 040A| 0083 0680|
Новый образ.
C:\m61pmx>cbrom195 82AF1P06.BIN /D
cbrom195 V1.95 [12/14/07] (C)Phoenix Technologies 2001-2007
******** 82AF1P06.BIN BIOS component ********
No. Item-Name Original-Size Compressed-Size Original-File-Name
================================================================================
0. System BIOS 20000h(128.00K) 13EE0h(79.72K) 82AF1P06.BIN
1. XGROUP CODE 0E050h(56.08K) 09422h(37.03K) awardext.rom
2. ACPI table 07128h(28.29K) 027DBh(9.96K) ACPITBL.BIN
3. EPA LOGO 0168Ch(5.64K) 002AAh(0.67K) AwardBmp.bmp
4. YGROUP ROM 0FF50h(63.83K) 04AE8h(18.73K) awardeyt.rom
5. GROUP ROM[ 0] 05910h(22.27K) 026FCh(9.75K) _EN_CODE.BIN
6. SETUP0 01A60h(6.59K) 00AE0h(2.72K) _ITEM.BIN
7. BIOSF0 027C0h(9.94K) 01742h(5.81K) _DMI.BIN
8. OEM0 CODE 0C070h(48.11K) 0079Dh(1.90K) BSMICODE.ROM
9. PCI ROM[A] 0BC00h(47.00K) 07212h(28.52K) NVRAID.ROM
10. PCI ROM[ B] 0F000h(60.00K) 07AE1h(30.72K) NVPXES.NIC
11. VGA ROM[1] 0EE00h(59.50K) 0A87Ch(42.12K) MCP61-85.rom
12. GV3 09348h(36.82K) 02C4Bh(11.07K) AGESACPU.ROM
13. MINIT 0D71Fh(53.78K) 0D74Ch(53.82K) MEMINIT.BIN
14. JPEG ENGINE 04000h(16.00K) 00E52h(3.58K) jpeg.rom
15. JPEG ROM 0A9F4h(42.49K) 0599Bh(22.40K) AWD-JPEG.BIN
(SP) NCPUCODE 06000h(24.00K) 06000h(24.00K) NCPUCODE.BIN
(BB) Compress BT-VGA 06000h(24.00K) 0431Ch(17.03K) mcp61s-00.rom
Total compress code space = D6000h(856.00K)
Total compressed code size = 5FA3Dh(382.56K)
Remain compress code space = 765E3h(473.47K)
*** NVMM 4.073.3709/04/07 ◄♥ * Start Offset => 0, End Offset => 1e00 ***
** Micro Code Information **
Bridge ID | Bridge ID
North South Patch ID CPUID | North South Patch ID CPUID
---------------------------------------+----------------------------------------
00000000 00000000 01000002 0000 | 00000000 00000000 00000062 0414
00000000 00000000 00000068 040A | 00000000 00000000 0000006D 041B
00000000 00000000 00000083 0680 | 00000000 00000000 0000007A 0413
00000000 00000000 0000007B 0433 | 00000000 00000000 01000020 1000
00000000 00000000 01000083 1022 | 00000000 00000000 01000084 1020
00000000 00000000 01000085 1040 | 00000000 00000000 01000086 1041
Мой образ
C:\m61pmx>cbrom195 MODBIOS.BIN /D
cbrom195 V1.95 [12/14/07] (C)Phoenix Technologies 2001-2007
******** MODBIOS.BIN BIOS component ********
No. Item-Name Original-Size Compressed-Size Original-File-Name
================================================================================
0. System BIOS 20000h(128.00K) 13EEAh(79.73K) 82AF1P06.BIN
1. XGROUP CODE 0E050h(56.08K) 09422h(37.03K) awardext.rom
2. ACPI table 07128h(28.29K) 027DBh(9.96K) ACPITBL.BIN
3. EPA LOGO 0168Ch(5.64K) 002AAh(0.67K) AwardPic.bmp
4. YGROUP ROM 0FF50h(63.83K) 04AE8h(18.73K) awardeyt.rom
5. GROUP ROM[ 0] 05910h(22.27K) 026FCh(9.75K) _EN_CODE.BIN
6. SETUP0 01A60h(6.59K) 00AE0h(2.72K) _ITEM.BIN
7. BIOSF0 027C0h(9.94K) 01742h(5.81K) _DMI.BIN
8. OEM0 CODE 0C070h(48.11K) 0079Dh(1.90K) BSMICODE.ROM
9. PCI ROM[A] 0BC00h(47.00K) 07212h(28.52K) NVRAID.ROM
10. PCI ROM[ B] 0F000h(60.00K) 07AE1h(30.72K) NVPXES.NIC
11. VGA ROM[1] 0EE00h(59.50K) 0A87Ch(42.12K) MCP61-85.ROM
12. GV3 09348h(36.82K) 02C4Bh(11.07K) AGESACPU.ROM
13. MINIT 0D71Fh(53.78K) 0D752h(53.83K) MEMINIT.BIN
14. JPEG ENGINE 04000h(16.00K) 00E52h(3.58K) jpeg.rom
15. JPEG ROM 05C7Bh(23.12K) 01513h(5.27K) AWD-JPEG.BIN
(BB) Compress BT-VGA 06000h(24.00K) 0431Ch(17.03K) mcp61s-00.rom
Total compress code space = 59328h(356.79K)
Total compressed code size = 555A5h(341.41K)
Remain compress code space = 03D83h(15.38K)
*** NVMM 4.064.0711/10/06 ◄♥ * Start Offset => 0, End Offset => 1b00 ***
** Micro Code Information **
Update ID CPUID | Update ID CPUID | Update ID CPUID | Update ID CPUID
------------------+--------------------+--------------------+-------------------
C:\Users\Den\Desktop\m61pmx>cbrom195 MODBIOS.BIN /nc_cpucode NCPUCODE.BIN
cbrom195 V1.95 [12/14/07] (C)Phoenix Technologies 2001-2007
Combine NCPUCODE.BIN file to MODBIOS.BIN...
MODBIOS.BIN have not enough space for adding ROM. (Over 229Dh bytes)
!!! Combine NC_CPUCODE have some error.
При желании можно выбросить из bootblock'а то, что связано с видеокартой - вполне хватит.
Хотя можно и еще разновсякого повыбрасывать, если не используется. Блок микрокодов (более новый, естественно) было бы неплохо оставить.
Покопался еще, ужиматься ужимается, но modbin падает при попытке чтения нового образа. Я уже и так и этак, вырезал вставлял original.bin, вырезал начало и конец образа, добавлял удалял FF'ки для соответствия 512 KB. Или пишет, что не является сжатым Award BIOS'ом или падает. Если вырезать пустое место из большого образа и поудалять пару модулей, то тоже самое, cbrom видит, modbin нет.
Разница между ncpucode.bin и просто cpucode.bin в том что один из них является сжатым вариантом, то есть в случае перехода на не сжатый вариант программа биоса уже должна знать где его искать, а этого нет так как старый алгоритм был распаковать в память и искать в распакованном месте подходящий микрокод для процессора. По аналогичной причине просто пересобранный 8мбит в 4мбит образ может не работать даже на той плате для которой он предназначен. Что стоит в настройках по умолчанию можно узнать предварительно сбросив настройки кмос памяти на выключенной системе или посмотреть в самом биосе при установке BIOS Default, возможно оно есть в меню помощи или указано справа при выборе опции или использовать редактор биосов показывающий значения установок setup и default. При отсутствии микросхемы флеш для хотсвопа или использования иного способа восстановления содержимого биоса, перед прошивкой лучше оцените риски.
В вашем распоряжении уже имеется процессор под который готовится обновление биоса?
Нет, проца пока нет. Буду брать микросхему и шить на плате. Если что, отпишусь в теме о результатах.
На горячую прошить не удаётся.
Имею материнскую плату MCP61SM2MA-RS2HV, и процессор AMD Phenom 8450. Нашёл флеш SST49LF008A. Но проблема в том, что данная мать не хочет в принципе работать с этой флеш. Даже если на неё устанавливается bios заведомо рабочий и подходящий для этой платы (662W1P45 работает на SST49LF004B). Прошивал на "внешнем" программаторе. AWDFLASH также не знает такой флеш, хотя программатором ID определяется верно. Какие могут быть мысли и предположения?
Стоит задуматься над вопросом: по каким адресам находится загрузчик, если захотелось использовать микросхему большего объема, и обеспечить данное условие, записав прошивку по старшим адресам (в верхнюю половинку, в данном случае). Или продублировать прошивку, создав файл нужного размера, а потом прошить его программатором.
Вариант прошивки заведомо рабочего bios в старшие адреса был. Результат тот-же - не стартует. Больше настораживает, что при прошивке на "горячую" AWDFLASH не видит SST49LF008A в принципе - пишет незнакомая флеш.
Отправить комментарий