[Guide] How to update the CPU microcodes on a non-UEFI Award/Phoenix BIOS

@l1d1ya :
I have merged your 2 posts (to save space), moved your request into this already existent 100% matching thread and hope, that this is ok for you.

@MiesMosel is the best person Iā€™ve seen with modifying AMD Microcodes, hopefully he can help when he has some time. Often, microcode is stored in ā€œHoleā€ modules in some AMD, which are only shown in certain CBROM versions, but I have not looked at the BIOS you mentioned, will check if Miesmosel doesnā€™t
I checked with all cbrom and cannot find any ā€œHoleā€ regions in this BIOS, hopefully Miesmosel can help you

Hello!

Holes - I only know from AMI BIOS, but this is Award/Phoenix Non-UEFI BIOS.
This BIOS doubles the MCs & maybe binds it near together with AGESA - I donā€™t know exactly!


I could exchange the MCs with the new by using HxD, but I couldnā€™t fix the checksum.
CBROM finds all OROMs & shows minimal the MCs. I used the original BIOS F8f from Gigabyte.
Iā€™ll try some more times ā€¦

ā€¦ or if somebody wanna check+fix the checksum (should be ā€œXX 00ā€, where XX could be every hex from 0-F, but 00 has to be @ the end) ā€¦

Regards, MiMo

!!! I canā€™t give any guarantee/warranty, but i made this by best purposes & knowing. Use/Flash of own risk only !!!
Be aware, the checksum isnā€™t fixed yet!

970AUD3.F8f.ROM.zip (1.01 MB)



I checked:

1
2
3
4
 

GIGABYTE SPI Flash BIOS Update Utility v2.13
!!! Bad BIOS Image !!!
 
 

And how is the checksum, which digits?

Thanks for stopping in and helping @MiesMosel - Iā€™ve only seen Holes in cbromxx AMD BIOS, so I donā€™t think those were AMI, but Iā€™ve only seen it a few times since I donā€™t mod AMD often. Your cbrom image shows total ā€œHole area spaceā€ too, but the holes themselves are not shown like Iā€™ve seen before.
Hereā€™s a recent thread I remember with Cbrom/AMD and holes Gigabyte GA-M68MT-S2 REV1.3 CPU BIOS MODS? (2)

Checksum which would be shown on your mod BIOS in Qflash if not error, or maybe still shows(?), is 8e4b (Hex 4b8e - 40x instances in BIOS) (64x instances in BIOS for original 8e4b)



I do not know how to read a checksum and where to edit checksum.

I think that at address 0x210000h is the AMD module. I looked at the sources of the project "coreboot".


https://github.com/XVilka/coreboot/blob/master/src/vendorcode/amd/agesa/f12/AMD.h

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 

/// AGESA Binary module header structure
typedef struct {
IN UINT32 Signature; ///< Binary Signature
IN CHAR8 CreatorID[8]; ///< 8 characters ID
IN CHAR8 Version[12]; ///< 12 characters version
IN UINT32 ModuleInfoOffset; ///< Offset of module
IN UINT32 EntryPointAddress; ///< Entry address
IN UINT32 ImageBase; ///< Image base
IN UINT32 RelocTableOffset; ///< Relocate Table offset
IN UINT32 ImageSize; ///< Size
IN UINT16 Checksum; ///< Checksum
IN UINT8 ImageType; ///< Type
IN UINT8 V_Reserved; ///< Reserved
} AMD_IMAGE_HEADER;
 
 

1
2
3
4
5
6
7
8
9
10
11
 

//
//
// AGESA Types and Definitions
//
//
#define LAST_ENTRY 0xFFFFFFFF
#define IMAGE_SIGNATURE Int32FromChar ('$', 'A', 'M', 'D')
#define IOCF8 0xCF8
#define IOCFC 0xCFC
 
 



What will he say? Can this be a module "AMD"?

I have no time at the moment, but I look at it at weekend.

Editing AGESA is too complicated for me at the moment. I donā€™t know anything about it.
I only know, that itā€™s not only one module. Itā€™s related & implementated to/in some other modules.

What I could try is, to find out a CBROM version to fix in any way the checksum.



update with a thing, the bios evga no work, i have download xfx bios and work fine but i have quit clr cmos jumper because no bot with that in mode disable

790i_P10_XFX.rar (510 KB)

Hello pipes80,

am I understand that right, that ā€¦
1. the Asus A8N5X BIOS v1003 (from me) is working for you?
2. the Evga 790i SLI vP10 could be flashed, but is not booting?
Any checksum problem shown by Flash tool? Is there any error message on Post?

3. What is the problem with the XFX-BIOS? I donā€™t understand what you mean. Could you please explain with other words?
- ā€˜quit clear CMOS jumperā€™ make no sense for me,
- What do you mean with ā€˜no boot with that in mode disableā€™?
active ā€˜clr cmosā€™? Clr cmos should only used some seconds & then put jumper back to default.
something different?

Regards, MiMo

practically initially the nforce 790i ultra worked with the bios xfx and without jumper in normal mode, only with that or without that jumper does not change anything, it goes and not goes, when you can turn on and access the bios is all very slow

I donā€™t understand what you mean.

in a nutshell now the card succeeds and fails to make the post of the bios and when it does, the navigation in the bios is very very slowā€¦

I noticed that using the award bios editor, surfing the system bios is very slow while trying with the asus bios does not happen

this is the board if can help http://www.pcgameshardware.de/Mainboard-ā€¦psatz-636576/5/

Solved, thx for support

Hello pipes80,

both BIOS are working now?

Hello, do you know why this bios havent NCPUCODE.BIN ? Mobo is a p35c ds3r. Trying to figure how to add the xeon 45nm microcodes. Thanks

C:\XEON>
C:\XEON>CBROM195.EXE P35CDS3R.F10 /D
CBROM195.EXE V1.95 [12/14/07] (C)Phoenix Technologies 2001-2007

******** P35CDS3R.F10 BIOS component ********

No. Item-Name Original-Size Compressed-Size Original-File-Name
========================================1545Dh(85.09K)==p35cds3r.BIN============ 0. System BIOS 20000h(128.00K)
1. XGROUP CODE 0F380h(60.88K) 0AB2Dh(42.79K) awardext.rom
2. ACPI table 04D1Ah(19.28K) 0190Eh(6.26K) ACPITBL.BIN
3. EPA LOGO 0168Ch(5.64K) 0030Dh(0.76K) AwardBmp.bmp
4. GROUP ROM[18] 02BC0h(10.94K) 01E27h(7.54K) ggroup.bin
5. YGROUP ROM 0C470h(49.11K) 0674Eh(25.83K) awardeyt.rom
6. GROUP ROM[ 0] 081E0h(32.47K) 02CAAh(11.17K) _EN_CODE.BIN
7. PCI ROM[A] 10000h(64.00K) 09DBEh(39.44K) ICH9RAID.BIN
8. PCI ROM[B] 03600h(13.50K) 02553h(9.33K) ICH8AHCI.BIN
9. PCI ROM[C] 07A00h(30.50K) 04479h(17.12K) JMB59.BIN
10. MINIT 0CB20h(50.78K) 0CB53h(50.83K) MEMINIT.BIN
11. PCI ROM[D] 0C800h(50.00K) 079FDh(30.50K) rtegrom.lom
12. LOGO BitMap 4B30Ch(300.76K) 05CE3h(23.22K) ds3.bmp
13. LOGO1 ROM 00B64h(2.85K) 00520h(1.28K) dbios.bmp
14. GV3 0182Dh(6.04K) 00AA8h(2.66K) PPMINIT.ROM
15. OEM0 CODE 028ABh(10.17K) 01E1Bh(7.53K) SBF.BIN
16. OEM2 CODE 01000h(4.00K) 00092h(0.14K) AFSC_HDR.ROM

Total compress code space = 67000h(412.00K)
Total compressed code size = 5A5F6h(361.49K)
Remain compress code space = 0CA0Ah(50.51K)

******** P35CDS3R.F10 Bootblock component ********

No. Item-Name Original-Size Compressed-Size Original-File-Name
========================================07231h(28.55K)==DDR2_MRC.BIN============ 1. MEM INIT IN BB 07200h(28.50K)

** Micro Code Information **
Update ID CPUID | Update ID CPUID | Update ID CPUID | Update ID CPUID
------------------Ā±-------------------Ā±-------------------Ā±------------------
C:\XEON>

Motherboad Dell T7500
need add 0206h cpuid
CBROM198.EXE ā€œbios nameā€ /D
Nothing happens.

@robers - Gigabyte P35 is tricky, you cannot see/edit/insert NCPUCode.bin, only the insert /cpucode CPUCODE.BIN method works, or direct hex edit on the BIOS itself - latest BIOS version is F12 or F13d (last beta, contains most fixes and improvements)
Here is F12 and F13d with latest versions 1067A+10676 covering all platforms

1067A-10676-Latest-All.png


http://s000.tinyupload.com/index.php?filā€¦792171636999364

@nippy - link exact BIOS exe, I will check. If nothing happens in cbrom then usually not compatible with cbrom at all, or not compatible with that cbrom version