Dear all.
While waiting for new Phenom x6 1100 BE used chip, I didn't resist to the temptation of Bios Modding, so first I've built mysel a simple serial to SPI programmer, then made some experiments, then the more performant USB programmer has arrived.
Having no fear of bricking the motherboards and some different environemt in my house
( I've two identical DFI with quite different settings
, one as main PC with RAID disk and a 940 BE x4 phenom, another as mediacenter with Native IDE disks and only an athlon X3 435 2.9ghz CPU) I was able to discover some facts that were NOT reported in other thread I've seen around the web, and that maybe can help all of us in finding the solution to upgrade boards to newer CPU support / better understand this generation of BIOSes :
0) Upgrading NCPUCODE and adding different iSLIC at end of modules were only safe mods i could perform !
This is a fact, and CBROM 195 is the only one working under dos propmpt of 7x64.
Other did collapse even ordering them /d. However, using latest CBROM 198 in pure dos environment seems to produce no different results from 195 (and i could not find a changelog).
1) Order IS important !
Bricking was mathematecally sure if module order was not respected, meaning to substitute AGESA I've to extract & release first all the following modules, then sustitute AGESA, then rebuilt in the same order the BIOS, else (same modules, different orders). no chance to enter DOS mode. This did not happen on old Athlon motherboards, and I was quite surprised !
2) Better missing than misplaced !
If i put the AGESA as last module (no matter if followed or not by the three memory initialization commands MEMINIT, HT.DLL and HT32GATE.BIN) I'll brick the system, if i just
release the AGESA module I'll have a booting system to DOS or Bart Pe environment, only problem was the lack of processor string recognition at boot and processor at fixed 3Ghz speed (By luck i do have a Phenom 940 BE chip, so maybe the setted informations iN BIOS were enought). Of course 7x64 stops booting after animated win flag composes from 4 lights, keeping pulse effect forever until reset.
3) You can rename modules, it doesen't matter (at least for video),
but trying to subtitute video BIOS from another board of same chipset can prevent Windows boot or block Cool&Quiet, depending on SATA settings a thing that was quite unexpected from me.
In few words, after seeing that no memory seting was included in video BIOS with a RADEON bios editor, I tried to move upgraded BIOS from identical DDR3 DFI (same manufature) board to mine, changing module name in accord to the one present in the original BIOS or mantaining the same odf donor board.
In both cases I could enter DOS and Bart Pe, but no windows boot like in point 2) (Raid only board test)
Then tried to get video BIOS from Jetway/Sapphire (By Jetway) boards : they all (ddr2, DDr3) shared same module, it worked perfectly in RAID environment, even if completelyt blocking cool & quiet, but prevent proper booting of Windows in Native Ide environment of my mediacenter (but ok DOS and Bart Pe disk).
4) New AGESA allowed DOS and BArt Pe boot, but not windows boot (7x64)
Adding bigger new AGESA from a same producer DD3 board or similar size AGESA from a similar DDR2 board (both supporting Ph6) produced same effects of boot block on 7x64 as removing AGESA in point 2) (except for CPU string recognition) or putting wrong video BIOS bios, but no board brick.
5) Copying AGESA and HT.DLL from DDR2 board in my BIOS produced same poor results as point 4
No need to describe anymore
.
6) Copying AGESA , MEMINIT, HT.DLL and HT32GATE.BIN from identical Jetway /sapphire DDR2 board bricked the MOBO Debug port 80 stopped with C1 code, meaning block at memory detection step in board boot sequence.
7) Changing or removing AHCI module prevented Windos boot and disks detection, not RAID disks detection , but i was still able to load USB boot Key equipped with awdflash and re-flash good bios.
This happened just changig the bootrom version by one step, including modules form both DFI DDR3 board and from JETWAY / Sapphire mobos (that producer utilized same modules for each bios of any mobo, I can presume hacking would be very easy in that case)
8) Removing SB750/RAID modules prevented loading of arrays but allowed windows boot in Native EIDE env. , as expected.
9) Changing SB750/RAID modules in a RAID environment blocked Raid routine after RAID screen display (no dots were produced , no array was searched for, complete block in this step.)
CMOS resetting and disabling module from BIOS however allowed me to usb Key but i was still able to load USB boot Key equipped with awdflash and re-flash good bios.
10) Changing AHCI and RAID modules blocked both Raid routine after RAID screen display (no dots were produced , no array was searched for, complete block in this step.) or any disk boot if RAID disabled.
CMOS resetting and disabling RAID module from BIOS however allowed me to usb Key but i was still able to load USB boot Key equipped with awdflash and re-flash good bios.
CONCLUSIONS
From what I've seen it seems that probably updated modules were not easily recognized (not really modular BIOS was written). And were REALLY interdependent. I've searched to understand what was the module header to try to rename it to what is expected to be,
but at the moment I'nm not so skilled to do it.
But i can play as guinea pig for anybody or try to learn / understand from suggestions
Just to complete explanations, I did these experiments with the OLD cpu were supposed to work good on the boards, tomorrow new Ph6 1100 BE will arrive but i don' think it will work if older don't.
All these experiments were made flashing only main bios block (from DOS), than clearing cmos, while briking experiments induced a full SPI chip reprogramming via parallel port utilizing DOS environment from same USB key and
SPIPGM2 with the undocumented command /s (my common SST 25V080B chip is not working with classical /p on SPIPGM2 or with classic SPIPGM program).
For all these reasons i did remove all the previous attachments, I don't want anybody can hurt its own system !
In case anybody would be interested in discovering how to setup a cheap and easy SPI programmer from a LPT port (not USB to LPT adaptor, at least a PCI card) i can post some links and explanations, all the explanations found around have at least on big error and were not easy to follow.
I attach to this mail for testing only working BIOS i produced, made simply upgrading CPU microcode to SLIC version, that works perfectly on both my test systems.
Of course
DO USE IT AT YOUR OWN RISK and only if you do know what you are doing, I and nooney from this forum can be responsable for any damage it can cause to your system.
best wishes to everybody who reads, hope to get soon at least one message of interest by someone
here.
Gyxx
P.S. here below structure of attached R7JDA14.BIN
Code:
cbrom V1.95 [12/14/07] (C)Phoenix Technologies 2001-2007
******** r7jda14.bin BIOS component ********
No. Item-Name Original-Size Compressed-Size Original-File-Name
================================================================================
0. System BIOS 20000h(128.00K) 13130h(76.30K) r7jda12.BIN
1. XGROUP CODE 0CB50h(50.83K) 08E78h(35.62K) awardext.rom
2. ACPI table 09506h(37.26K) 04266h(16.60K) ACPITBL.BIN
3. YGROUP ROM 0C6D0h(49.70K) 06364h(24.85K) awardeyt.rom
4. GROUP ROM[ 0] 07FC0h(31.94K) 035B5h(13.43K) _EN_CODE.BIN
5. SETUP0 032D0h(12.70K) 01368h(4.85K) _ITEM.BIN
6. BIOSF0 02490h(9.14K) 015BEh(5.44K) _DMI.BIN
7. FLSH CODE 02640h(9.56K) 00ED1h(3.70K) SPIFLASH.BIN
8. SMI32 002E0h(0.72K) 00246h(0.57K) SMI32COD.BIN
9. SMIAP 087E0h(33.97K) 00453h(1.08K) SMIAPCOD.BIN
10. VGA ROM[1] 0EA00h(58.50K) 0951Dh(37.28K) 780D.rom
11. PCI ROM[A] 0EC00h(59.00K) 093BEh(36.94K) SB750.BIN
12. PCI ROM[B] 06C00h(27.00K) 0665Fh(25.59K) AHCI.BIN
13. GV3 08978h(34.37K) 02DA3h(11.41K) AGESACPU.ROM
14. MINIT 0F08Fh(60.14K) 0F0BCh(60.18K) MEMINIT.BIN
15. HTINIT 05021h(20.03K) 05052h(20.08K) HT.DLL
16. 2 PE32 in MB 004D8h(1.21K) 00537h(1.30K) HT32GATE.BIN
17. LOGO BitMap 4B30Ch(300.76K) 1A477h(105.12K) 790JR.bmp
18. NoCompress ROM 00176h(0.37K) 001A7h(0.41K) iSLIC.BIN
(SP) NCPUCODE 07800h(30.00K) 07800h(30.00K) NCPUCODE.BIN
(SP) HOLE0 BC00h(47.00K) BC00h(47.00K) misc.BIN
(SP) HOLE1 7C08h(31.01K) 7C08h(31.01K) CIMRS780.B2
(SP) HOLE2 30B8h(12.18K) 30B8h(12.18K) CIMSB700.B2
(SP) HOLE3 FFFFh(64.00K) FFFFh(64.00K) ODMEC8.2.BIN
Total hole area space = 30000h(192.00K)
Total compress code space = A5000h(660.00K)
Total compressed code size = 7FB17h(510.77K)
Remain compress code space = 25509h(149.26K)
** Micro Code Information **
Bridge ID | Bridge ID
North South Patch ID CPUID | North South Patch ID CPUID
---------------------------------------+----------------------------------------
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 01000002 0000 | 00000000 00000000 01000020 1000
00000000 00000000 01000085 1040 | 00000000 00000000 01000086 1041
00000000 00000000 01000095 1022 | 00000000 00000000 01000096 1020
00000000 00000000 010000B6 1043 | 00000000 00000000 010000B7 1062
00000000 00000000 010000BF 10A0 |