[Guide] Enhanced BIOS Modding of Award BIOSes

@molex - BIOS version/Date etc, all depends on where you are looking at it after flash, this kind of data is stored in different places. This is a waste of time to edit, I mean, no reason to waste time doing that or risking bricking for such a silly thing to edit.
But yes, it can be done.

@vash_85 - not 100% sure which two BIOS you are comparing there, but I doubt the size or location of any sensitive modules was changed as that is the whole point of his package (to keep them same size/location)
You may have been looking at the replacements or something, again, not sure what two BIOS you are comparing but if it’s the same BIOS/version then these are not changed in size or location.
I assume maybe you were comparing “BIOS_Build.bin” and BIOS_Orig.bn" If yes, I see location is moved, so it’s possible in those BIOS the location of GV3 and MemInit isn’t critical, only a flash/brick or not would let you know (I always treat GV3/Meminit as sensitive just in case, 99% of the time they are)
That build BIOS may just be a general example to look at of moved files, process, how things look after adjusting, not live BIOS that should be flashed/used etc. Where is this original thread?

Size for each (all three) remains exactly the same. Ht.dll remains untouched in size, location, or module #, so that may be only sensitive module there, especially good sign of this due to the dummy above it.
Meminitentrypoint remains same in each too, as well at exact location of ht.dll

Orig-Build.png




Look at posts 24+25 here, I showed some edits, and also linked two other threads where method is given and discussed etc
GA-H57-USB3 Need to mod BIOS to update Intel Rapid Storage Option ROM (2)

@Lost_N_BIOS
Hello

Thanks for your answers

I just found the bios in my archive
As you can see from this capture the structure of modded bios (on the left) and the dimensions of sensitive module are different:

Capture.PNG



Actually i don’t know if the bios modded from modfreakz work or is just an experiment at this point.

Thanks

Bios.zip (1.39 MB)

@vash_85 - yes, those are the exact two BIOS I compared in my image above at post #81 - So all my thoughts there apply
It may be that only certain modules in “That” BIOS are sensitive, maybe that is just an example of moving things or it may be fine if only certain other-than-usual modules are the sensitive ones, etc
Size for each sensitive module (all three) remains exactly the same, only two of them are moved (which is not ideal, even if OK in this instance, due to what I explain below)

I would do that same BIOS much differently, and would not move any of the possible sensitive modules, even if it’s OK/possible in that one BIOS.
I say that because maybe only one module is sensitive, it’s kind of bad practice to move any of the sensitive modules in this case and then show others, because then it causes this exact confusion we\re discussing here
Where really, all the usual modules should be treated as sensitive, simply because they usually are, of course, or we wouldn’t be discussing sensitive modules and Gigabyte BIOS
That way it’s a common thing to make sure not to move any of them and everyone learns to do it that way thus = less bricked boards

I think I was successfully update my bios. I don’t understand half of all topics, but two minutes ago I am flash bios with new ahci, raid, q-flash, agesa, meminit, realtek rom and my mobo still work XD. SummoneR-Modfreakz package help me with that.

@molex - nice to hear all is OK! Please upload your before (Stock) and after (Mod) BIOS, all in one zip, so I can see what you’ve done, thanks

@Lost_N_BIOS Yes, mobo is alive, but I have some shortcomings.
I am lost my benchmark results and now I cant compare new results with old ones.
I am update:
AHCI to 3.3.2.0, I feel slightly speed improvement in disc initialization, maybe ssd speeds increase for 3-5%.
RAID to 3.2.1540.15 bcose 19 version uses compressed MISC.BIN. Dont test hardware raid, bcose my discs already in software raid, and I cant move data from it, not just yet (I am use SummoneR guide from #2 post).
AGESA to 3.7.1.2 with MEMINIT. Modules are taken from the GA-MA785GM-US2H (rev. 3.3) AM2+ motherboard. I was hoping to get more stability when overclock memory or CPU. Dont test CPU overclocking, but memory wont work on 960MHz CL5, but on previous BIOS memory works with that settings (and 980MHz CL6). Now only 960MHz CL6. Need more tests.
And another problem: all utilities define CPU as Phenom 1095T, but I have 1090T, I need new microcodes?
Q-Flash 2.24
RTEGXPE 2.27 didn’t check how it works now, but without driver windows detects 8111 C(P) device, but I have 8111 C(L) … does that matter?

I want to understand how to change BIOS version, date, and some default settings. How felix (post #43) do that?

I am attach my working folder with all bioses and other edited files.

hope you understand my English XD

nb.zip (5.22 MB)

Memory, yes, you probably just need more testing/adjusting, not all BIOS or modules like you swap will OC the same and newer is not always better.
CPU name, not sure, that could be due to what you did (Bug in process, or bug in modules, doesn’t sound like you swapped out or edited “Holes”, so that may be part of the issue too, this is required for Agesa update)

Realtek PXE, this does not affect you or get used at all unless you boot PXE (wake on LAN or boot to LAN). This has nothing to do with windows, LAN uses in windows, drivers or device detection

BIOS version/date can be changed with software or hex, but this is pointless edit, why risk a brick to do that??
Default settings, same, you can change in BIOS, no need to change default. (No changes made in post #43, that’s only him “Dreaming” about wanting to make changes)
Setup/_Item.bin holds the settings, but it’s very intricate to make changes, not worth anyone’s time to do that (even your own)

What a mess you uploaded! I can’t look at anything until you clarify. What stock BIOS did you edit (exact name), and what file is your final edit (Exact name)
I expected only those two files, Before/After, that is all I needed to look at

@Lost_N_BIOS orig - FKe bios, and new build bios

BIOSes.zip (1.07 MB)

@molex

This is a goal! update the memint module it was the one I had the most doubts about.

I’m trying to to the same with an older am2 (non +) motherboard in order to guarantee the update to phenom II x6, theoretically memint modules should be compatible between am2 and am2+ motherboard, because all use ddr2 rams, but i think that at this point is time to flash a modded bios, but before i have to buy an flash programmer, brick risk is so high.

When I’ll have some free time i’ll analyze the two bios in order to understand all your modification

Thanks

@vash_85 I dont know for what it’s worth, but I found most closest motherboard with new agesa and meminit. In my case (am2+ ma770-ud3 r2) it was am2+ MA785GM-US2H r3.3. Both am2+, ddr2, sb710 south bridge. I dont know if it’s a good idea to use meminit from “technically” another motherboard. And we need update all holes as Lost_N_BIOS had noticed, I am not update them, but my mobo still works, maybe because the two latest agesa havent significant differences.

What motherboard do you have?

some upd. mobo want start with memory 960MHz CL5 and 1000MHz CL6, with previous agesa and meminit 960CL5 was stable and 1000CL6 wasnt stable, but load windows and crashes only in stresstests. :frowning: And another strange thing that in AMD overdrive utility row refresh cycle time of memory shown as 127,5 - 127,5 - 75 - 75, but in BIOS all trfc set as 127,5ns. Idk, something wrong with memory

some upd2. integrate ethernet adapter works well, before update he dont work normally, only 10mb/s. Idk, new rom revive it…or maybe another reason.

What hole0 modules do? In 770-ud3 cimrd790.b2, in 785gm cimrs880.b2. I think that I cant simply add cimrs880.b2 to the 770 board, right?

@molex
My motherboard model is GA-MA69VM-S2,

In attach you can find original bios

@Lost_N_BIOS @molex
since the rom is only 512kb I am simulating how to move the modules, to understand how to size the dummy, my best simulation is attached, the only way to fit all the modules is to move the epn module at the end, but i don’t know if this is feasible.

Thanks for your time

MA69VMS2.zip (357 KB)

BIOS Analisys excel.zip (12.6 KB)

@vash_85 not good (bad) power system for phenom II x6…

@molex

I know, i have budget to use a phenom X6 95w, due to split power plane incompatibility, at now system work with a phenom x4 95w

@vash_85 - you should have $2 programmer and at least $3.50 SOIC8 test clip cable, then there is NO risk of bricked board. Why would you mess with BIOS at all, without having these VERY cheap tools in hand?

@molex - is package at post #88 two BIOS only, one before, one after? If yes, then I will look Motherboard works, boots, and works properly is two very different things
You mentioned having CPU related issues, and memory issues too, possible both due to Agesa update not done fully/correctly. You need to edit and update the holes when you do the Agesa swap, since you didn’t this may be the reason for your issues.
You will need to find a guide about editing holes, I don’t think you can simple swap them, and all may not be related either.

Probably clean install, or driver updates fixed your LAN. The BIOS LAN module has nothing at all to do with what you use in windows.

@Lost_N_BIOS yes BIOS_orig.bin is original FKe BIOS and BIOS_Build.bin - BIOS after update.

BIOS of 770 and 785 motherboards have one difference in hole0. Hole0 for 770 have cimrd790 rom, and for 785 cimrs880 rom.
Hmm another question, if I find BIOS from another 770 motherboard manufactured by another vendor (msi for example) with new agesa and holes similar to gigabyte mobo. Can I use agesa and meminit modules from another vendor mobo, or 100% brick?

And I cant use meminit from AM3 DDR3 motherboards, right?

Thanks, I will look and see what you did. This model is obviously unusual for Gigabyte, if you moved the sensitive modules (GV3 (Agesa or PPMinit), Minit/MemInit, and sometimes HTInit/HT.Dll), most you cannot move, resize, or relocate (and you should make a habit of working around that as a given)
On the holes you mentioned, did you extract and compare all the others via hex and they are same, except for the two you mentioned? There is a guide somewhere about these holes, I’m not sure if it’s here or somewhere else, but I read an depth one before.
It was about editing, moving, how the work, how they relate to Agesa and other modules in the BIOS, and how other modules point to them, or how they point to other modules or hold the locations etc. I’ll have to see if I can find that for you again

I don’t think you can simply transfer holes around without editing, even between two same brand and similar model boards, they need edited due to holing location specific details (offsets of other stuff)
Sorry, I don’t know about the Meminit either, only to say that no, you shouldn’t touch it at all (sensitive module, work around it ) Maybe Modfreaks batch files make it possible to relocate any sensitive module?
I do notice ht.dll remains in same location in his example, but as I mentioned before, maybe he knows in this BIOS the other ones are sensitive like usual for most Gigabyte BIOS.

I see you increased meminit size, other two untouched in size, but aside from that all three are in same location/count and not moved (order-wise)
MemInitEntrypoint is unchanged, but I do see GV3 (in this case = Agesa) is not in same hex location for each either, due to dummy above GV3 (For no reason??)
Dummy would be placed above to keep sensitive module in same place, yet the modules it’s above here is moved so moot point / there is no need for dummy.

In summary, I think you have a odd BIOS that is not affected so much by the general rules that should be followed for Gigabyte BIOS, since that edited BIOS boots for you.
The way that is edited by those tools, it seems that only MemInitEntryPoint and HT.dll is the only two things he coded for sensitivity in that batch file for that particular BIOS.

@Lost_N_BIOS
Yep, for sure I have to buy a flash programmer this is out of discuss
@Lost_N_BIOS @molex
I read on other topics, some time ago, that only HT and HT32GATE can’t be moved or modified, maybe this explain why we can modify the meminit module.
Then i compared meminit and agesa module from modfreak mod and i see that he “deleted” some “0” in the structure in order to fit it well, is it possible?
Thanks

In all my experiences, main ones were GV3 and MemInit always had to remain in exact place, meaning if you wanted to mod anything above them you had to replace it with dummy to keep GV3/MemInitEntryPoint in place and then anything new put below those/at bottom
HT/HT32 always directly below those too usually anyway, so already remaining in place always how I do the edits.
I linked an example of one of my recent edits around these issues on post #81 on page 6 of this thread, at that linked post you can see before/after images of everything I compared and you can see what was kept in place
That edit shows example of keeping GV3 in place, with Minit what I edited. I’ve posted a few others around here, but I don’t know where they are so can’t link them

@Lost_N_BIOS

Thanks for your all preciuous contents, I really appreciate it!

I found another interesting topic where @lordkag discouss about the memint module (post nr7)
Help extracting AGESA OrochiPI v1.5.0.6 from (Dell Server BIOS M915 Version 3.2.2)

You’re welcome. Which thread did you mean, where lordkag talks about Meminit at post #7?