semi automated non uefi bios editor?

Hi

is there an automated tool to update non uefi bioses with features like ubu?

I have used ubu a few times and it is quite easy to use and it is cool that it has a database of the latest option roms and you can compare and update without too much effort is there such a tool for non uefi bioses?

Not that I’ve ever seen, there’s too many different types of older BIOS like that for any one tool to cover like UBU can do now for modern BIOS.

is there any gui based bios editor or a front end for cbrom ?

Not that I know of, I’ve only ever used it in DOS/XP (I keep XP VMware running just for this). Link me to a BIOS you are playing with now, and I can tell you all the tools I know that work with it, some might have a GUI

It is an asus striker extreme:
It has an award non uefi bios and I’m prity sure I use cbrom_198 to mod it.

Basically i want to update the microcodes and option roms, i updated the microcodes to suppotr a xenon 771-775 conversion a long time ago with a hex editor from my post here but many of the microcodes were updated for spectre and meltdown since then:
https://www.bios-mods.com/forum/Thread-Asus-striker-extreme

I have used mc extractor and dumped the micro codes and found most of the updated ones and put them in to a folder and I’m going to make a clean ncpucode.bin and patch it into the bios using this guide here :
[Guide] How to update CPU microcodes (NCPUCODE.BIN/CPUCODE.BIN) on a non-UEFI Award/Phoenix BIOS

The only problem is some micro codes overlap and im not 100% to sure how to decode the hex platform ID but I believe below is correct ?
just from looking on my table with mc extractor the f49 cpuid with a platform ID BD decodes to 1011 1101 which would mean it supports ID variants 0 2 3 4 5 7

link to bios file
https://dlcdnets.asus.com/pub/ASUS/mb/so…xtreme/2002.zip

I’d use Cbrom115-219 (Many) for that BIOS, all depends on the action being done and the outcome post action (May need to switch cbrom and do again with another).
For microcodes I’d use 195 probably, unless outcome was not good (crash during insert, wrong size post insert (like doubled), nothing changed, etc) - if you have 1-2 dupes post insert be sure to see the FAQ #1 on the guide you linked.

Overlapping microcodes, not sure what exactly you mean there? For platforms, new only has to contain or also contain the old number in parenthesis. Microcode F49 is already up to date and covers all platforms, nothing to do there.
For updating to latest Xeon again, 10676 use 04, 40, and 91 that will cover all platforms, and for 1067A use 44 and B1 to cover them all

That BIOS can be modified with Modbin6 (4.50.80C and 2.04.01-2.04.03), as well as with awdbedit 1.02 (Here’s latest version Jan 29, 2007 10:15:59 build)
For editing with any of these tools, I would maybe not do unless you have recovery options in hand (flash programmer, I can link you to one that has built in PLLC32 drop in socket, it’s around $16 shipped I think, let me know if you need link)

I will have to have a play, I do have a tl866 programmer so I should be ok to recover and I have a spare mother board that is dead with possibly a good bios (water loop leak issue)

what about cpu10671 I’m guessing by the following I need 01 10 44 and 80 to cover all variants if so I think I get it now?
I don’t even know what chip it relates to but it is in there so I will update it.

0000 0001 1
0001 0000 10
0100 0100 44
1000 0000 80

cheers Lost_N_BIOS you have been very helpful.

I got stuck on this step

cbrom.exe 2002.rom /nc_cpucode NCPUCODE.BIN

I got stuck on this step

cbrom.exe 2002.rom /nc_cpucode NCPUCODE.BIN

when I do this it does not null remove the microcodes if I run it over mc extract all the original microcodes are listed in the file.

If I then do the same with my new ncpucode.bin with the updated microcodes they all verify as the original as if it were not updated.

I have done the hex edit method and the bios file is now larger but the tutiorial does not explain how to checksum etc as it does not explain how to extract and replace an option rom.

so I tried by self by extracting the silicon image rom and re intergrating it as it suggested but my bios file remains at 1036kb how do I fix this ?

@professor_jonny - 10671 is not often used, so I normally only update that if at all to the exact same as original platform only (so 04 (2), 01 (0), and 10 (4) only), unless you find a single that covers 0,2,4 at once.
Generally 10676 and 1067A is the ones I try to cover all, in case someone uses other CPU’s than the person requesting, and those for the most part cover all 775/771 that people use now.

Silicon Image rom? I don’t see one, but I didn’t extract any roms, only say that by glancing a look over the rom names. But, Silicon Image rom has nothing to do with microcodes, even if it’s in there.
BIOS size is 1024KB, unsure where you get 1036kb but if that is correct number you mentioned then this is a broken BIOS already, toss that out and start over. BIOS size should not increase, at all, ever, or it’s a failed mod.
Option roms are not edited if only updating microcodes. However, if you are updating a silicon image rom, then I gotcha, no worries (Size comments above still apply)

The error you mention, or lack of action/nothing happening with NCPUCODE.BIN commands, simply means that version, whatever it was, of cbrom is not the one to use for this particular BIOS mod.
Since you want to learn, I will not do the mod for you, but send me your updated ncpucode.bin file and I will run through a few tests real quick and let you know which version of cbrom to use for this particular BIOS.
Never mind sending your file, I made quick test with a “general 775/771” NCPUCode I keep handy, as I mentioned before 195 works fine for this one and no corrections via hex needed after. 196 and 199 also works / 115, 155, 198, 219 does not work (Did not test any others)
If you need a copy of this cbrom let me know

Cbrom195Used.png

I tried with 199 from cmd in win10 x64 and it did not work, I’ll try again from a freedos or something.
There is a silicon image ROM in there called 7331.ROM or something I verified this with a hex edit. There us a silicon image 3123 or something chipset on the motherboard.

My next step is to update the nvidia ROMs and this once I get the micro codes working.


Basically I patched in the larger micro codes file with a hex editor that made the BIOS bigger then the tut suggested I dump a rom and then it put it back in to correct the file size and checksum. Maybe the error is just an incompatable version of cbrom or I need a proper dos prompt.

It looks like my method is correct just not my environment, I will have a try again tomorrow.

Cbrom usually must be used in either XP 32, or DOS, I use XP 32 in VMware machine on Win7

I thought maybe that rom was SI, but I didn’t extract to check. That can be updated if you have update version via /pci extract and /pci filename.rom to replace.

Nvidia rom needs to be edited with your device ID (@ several instances) and then 8-bit checksum corrected, before insertion.

You cannot patch in microcodes like that, making the file bigger, you can only erase (FF) and paste over, or select and paste over, file size must always remain the exact same to the byte.
The error is explained in my reply, if you were originally using 195, 196 or 199 then yes you just need other environment (not Win10). Rom extraction and replace is not needed when cbrom works to replace microcodes, it does that right then.
That step is only sometimes needed if you make corrections after that, such as fixing FAQ #1 in hex, which is not needed in this case.

I tried cbrom199 in freedos in VMware player and it says this program cant be used in dos mode.

is there a virtual file system around for download that will run cbrom I don’t have a copy of winxp and it would be time consuming to setup,

I’m guessing vista is no good as that is the oldest I have?

will reactos work I wonder?
https://www.reactos.org/

Setup XP 32 SP3 in VMware, that is what I always use. Grab torrent, it only takes 30 minutes to setup. No, vista does not work, unsure about reactos.
As for DOS, try Win98Se instead of FreeDOS - package here to make USB Bootable (Recopy all files from USB boot folder to the USB after you use tool to make it bootable) - <Request> Flagship X470 Gaming 7 Wifi Motherboard BIOS Fix

It some what works under vm with the slic modded bios I listed above I did have an error after wards as mc extractor said #2 microcode was corrupt please report it, but it will not work with the latest stock rom except with versions 155 to 182 but then if I used the /d switch to verify the cbrom program crashed and lists 000 in the microcode in the last of the list.

I have been trying with the stock rom not the one I previously modded when I was playing with cbrom in win10

I’m wondering if you could try with the attached stock rom to see what I’m doing wrong or if is in fact just the bios or my microcodes bung?

2002.zip (682 KB)

NCPUCODEnew.zip (100 KB)

@professor_jonny - I outlined for you which cbrom versions work, for the BIOS you initially linked (Stock Asus 2002) Corrupt microcode #1-2 is covered on how to fix in FAQ #1 on first page, remember I mentioned if you see this to check that.
I also said when I tested with xxx versions cbrom this did not happen, so you don’t have to manually fix if you don’t want too, you can instead use one of the versions I mentioned that do not cause the issue with this BIOS.

No need for me to re-test with stock rom, I gave you results above with many versions of cbrom and I used the Asus stock 2002 BIOS.
I checked your NCPUCode.bin and it looks fine to me, no problem there. If you need me to upload any Cbrom versions for you let me know

@Lost_N_BIOS - I Managed to get it to work with the stock 2002 bios with my created NCPUCODE.BIN originally it would not work and kept on getting corrupt microcode with every version that would actually update my bios file.
in the end I removed the microcode file completely then inserted a SLIC Marker using the pubkey method then patched in my MCPUCODE.BIN and it worked and verified without removing microcodes as suggested with the tutorial…

Yeah, I don’t know about tutorial method, I’ve never read it, and I do not suggest (as general method) removing all microcodes or inserting a blank NCPUCode etc.
When you get dupes it’s a simple fix, covered in the first FAQ, however for your BIOS, there is several versions of cbrom that do not give dupe errors or corruption etc, all those I mentioned inserts NCPUCode properly with one move and done.

I could not get the ones you suggested to mod the stock bios with my NCPUCODE.BIN only the one I hex edited the xenon microcodes in I used cbrom182 any thing above that would not mod it unless I used andy p slic tool to mod the bios first then just about any cbrom version worked.

@professor_jonny - Higher versino number with cbrom does not always mean newer release, and there is many instances where newer is not better or the compatible one to use with certain BIOS versions or certain entire chipset series.
I mentioned to let me know if you need any cbroms, you should have asked I can upload any version for you. I know you are done now, but would you like the ones I mentioned as working without issue on this BIOS, for future use?