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

Guys please tell me, MC Extractor v1.24.0 r82 indicated that for my BIOS the microcode has become obsolete:
cpu1067A_plat11_ver00000A0B_2010-09-28_PRD_B007E7E3.bin
cpu10676_plat01_ver0000060F_2010-09-29_PRD_8FE1A246.bin
cpu10676_plat10_ver0000060F_2010-09-29_PRD_8FE1A237.bin

in the folder CPUMicrocodes-master there are the following microcodes:
cpu1067A_plat44_ver00000A0E_2015-07-29_PRD_A3107D75.bin
cpu1067A_platB1_ver00000A0E_2015-07-29_PRD_59BF808E.bin
cpu10676_plat04_ver00000612_2015-08-02_PRD_AEAA6CC1.bin
cpu10676_plat40_ver00000612_2015-08-02_PRD_B6F50E9C.bin
cpu10676_plat44_ver0000060F_2010-09-29_PRD_8FE1A203.bin
cpu10676_plat54_ver0000060C_2008-01-19_PRD_FBAC0F19.bin
cpu10676_plat91_ver00000612_2015-08-02_PRD_1750A2A6.bin

Which one of them do I need a microcode.

Did I understand correctly that for the obsolete:
cpu1067A_plat11_ver00000A0B_2010-09-28_PRD_B007E7E3.bin should be replaced by cpu1067A_platB1_ver00000A0E_2015-07-29_PRD_59BF808E.bin, and
cpu10676_plat01_ver0000060F_2010-09-29_PRD_8FE1A246.bin and cpu10676_plat10_ver0000060F_2010-09-29_PRD_8FE1A237.bin must be replaced by cpu10676_plat91_ver00000612_2015-08-02_PRD_1750A2A6.bin

Hello Dagal,

yes, you are right.

This is for S.775 CPU (C2D, C2Q):
platform 0x11 = platform 0, 4

You can use B1 instead with new microcode:
platform 0xB1 = platform 0, 4, 5, 7


platform 0x91 = platform 0, 4, 7 -> so it can be used instead of
platform 0x10 = platform 4
platform 0x01 = platform 0


And this is for S.771 CPU (XEON):
platform 0x04, 0x40 and 0x44 = 2, 6

regards, MiMo

@MiesMosel !
Hello! Many thanks for the detailed response!

why opening the file bios with a hex editor I find 2 ncpucode.bin in which the first is preceded by Y?

I canā€™t copy an entire complete ncpucode create by me?

I think itā€™s better to exchange the MCs with HxD in a correct way & fix the checksum, then to copy more and more MCs into the BIOS file.

I use always cbrom to update but i want change all mc that i had save in a one ncpucode.bin

I do it that way pipes80, then check with MC Extractor once done and make sure you do not get the duplicate/badly pack errro mentioned in the FAQ #1, if so you will need to correct via the guides outlined method.
Some cbrom will not insert properly, depending on BIOS, it may not insert at all, or may double ncpucode size in BIOS, in those instances itā€™s wrong cbrom try another.

If you use CBROM for inserting, I guess you to (extract and) release the whole NCPUCODE.BIN before inserting new one.

@pipes80
Which BIOS we talk about in your case?

I do not extract/release usually. I build new one from scratch and overwrite current one in place.

And how do you overwrite it with CBROM?
I only noticed, that CBROM couldnā€™t exchange/overwrite ā€¦ only add microcodes by single, some MCs or whole NCPUCODE.bin.

Add single is >> /cpucode CPUCODE.BIN
Overwrite entire NCPUCode in place >> /nc_cpucode NCPUCODE.BIN

My process is as follows
1. Put all updated microcodes I want to have in the BIOS into one folder
2. Make list of folder contents >> dir /b > dir.txt
3. Create blank >> Nul > NCPUcode.bin
4. Combine microcode in text file into single contiguous command >>> copy /b ncpucode.bin + 1060319.bin + 1060312.bin + etc.bin ncpucode.bin
5. Use command from above at command prompt to combine into single new ncpucode.bin
6. Mark new NCPUCode.bin file as read only.
7. Insert into BIOS >> cbrom115 ep45ds5.f12 /nc_cpucode NCPUCODE.BIN
8. Check NCPUCode.bin size in new BIOS
8a. If double what expected wrong cbrom used, if no change likely incorrect cbrom (would likely notice this at step 6 command too, insert would not look normal),
8b. If new NCPUcode size is correct check with MC extractor for possible dupe/packing issue, if itā€™s there fix per FAQ on page 1, if not BIOS is good to go if everything else looks good (In all other checks you might do, other tools, etc)

@ 7. Thanks - I forgot that.

8. Check NCPUCode.bin size in new BIOS with: cbromxxx <biosfilename> /D -> p.e.: cbrom115 ep45ds5.f12 /D

Overwrite entire NCPUCode in place >> /nc_cpucode NCPUCODE.BIN -> This should also releases NCPUCODE.BIN before inserting the new.

Youā€™re welcome! Iā€™m surprised it slipped your mind, I look up to your help sometimes , but I know we all forget little stuff like that especially on older BIOS we donā€™t see too often anymore, it would be great if every little tip we knew always stayed in front of our minds!

Yes, sorry I should have included that command layout for #8

No sorry - I only added it for complement.

I edited #273, so you might see, that I didnā€™t remember wrong.
If you use command ā€œ/nc_cpucodeā€, the NCPUCODE.BIN changes position in bios-file.

I donā€™t think it releases, due to sometimes doubling, or also often giving the dupe packed issue too. It overwrites in place, that is how the duplicate/packing issue happens when that occurs.
I think position change only occurs if size changes, or did you test no size change and it still moves? If so, it could be due to being recompiled by cbrom different than the original manufacturer tool? I am not sure?
I always thought only /release would release, /extract leaves in place and I assume due to above /nc_cpucode left in place tooā€¦ Both of which you can use on NCPUCode.bin or like /cpucode extract (or release) I think

Like I said, not sure, I never do any of that, only do as I mentioned and see evidence of things left in place (@ duplicate/packing errors), so assume itā€™s left there/written over in place.

is nforce xfx 790i, but i think to resolved

Do you mean, youā€™ll try solving it by yourself?

I dont know to correct checksum with hex mc edit. My bios is 811n3p10.bin forn xfx nforce 790i ultra sli

Do the hex edit, then extract and replace last file/module/entry (Or some PCI Rom if below sensitive modules) in BIOS with known working cbrom version for that BIOS.