Add Microcode Request to MSI X570 Godlike AND Unify BIOS\'s

@KedarWolf - Here is new test for those guys >> 00A00F00 Removed >> Replace with >> 00A20F10 >> Updated with UBU after
I’d say if this fails, then for sure something else is needed in BIOS, Agesa update and or other modules also updated/changed
http://s000.tinyupload.com/index.php?fil…916625628031447

You never answered me, for the mod BIOS for you, with stock BIOS can you already see CBS/PBS menu by default?
And if yes, just to confirm, the images above are from stock BIOS flashed in correct?

The images are from the buggy mod BIOS. NO PBS or CBS menus in the stock BIOS.

@KedarWolf - Ohh, OK. Here, please redo the images, sorry
I guess this is ONLY needed, if ANYTHING looks different, even a single added or removed setting, because I will be starting with and only editing stock BIOS, so I need to see what to enable/disable directly on that.
This is stock BIOS, I then only unlocked the CBS/PBS and did nothing else yet - http://s000.tinyupload.com/index.php?fil…759552472593422

If everything looks exactly same as the images you sent me, then OK, thanks, and let me know. Then I will unlock the rest of what’s missing, and hide that empty menu (if it’s really empty inside, I will check first)

Only two things still not working, but might be limitations of my CPU etc.

Edit: The 300/400/500 Chipset Common Options doesn’t open at all.




@KedarWolf - As mentioned, I ONLY enabled the menus, nothing else yet. So some stuff may not work, some may not be visible, etc.
Reminder for self, so I don’t have to look back, previously you said >> NVDIMM opens but doesn’t show anything, the 300/400/500 Chipset Common Options doesn’t open at all
So, all same/same then, and I can use the images you provided earlier? What actually happens when you select and try to enter 300/400/500 options? And yes, that may be CPU specific, but doesn’t 300 apply to your CPU type?

I looked inside 300/400/500, there is a single suppressed setting, so it may be, if he did not unsuppress this for you, then that may be why it’s locking you out?
But, I would expect it to be suppressed instead (hidden), and then inside contents just blank, that’s how this should work. But, I’ll make it visible for you, and then we’ll sort why you can’t enter

300/400/500 Chipset Common Options, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x9, FormId: 0x7009 {0F 0F 0D 00 0D 00 09 00 00 00 FF FF 00 09 70}
0x1697B Suppress If {0A 82}
0x1697D QuestionId: 0xA equals value 0xFF {12 86 0A 00 FF 00}
0x16983 Not {17 02}
0x16985 End {29 02}
0x16987 Numeric: Combo CBS, VarStoreInfo (VarOffset/VarName): 0x20, VarStore: 0x5000, QuestionId: 0xA, Size: 1, Min: 0x0, Max 0xFF, Step: 0x0 {07 91 0E 00 0F 00 0A 00 00 50 20 00 10 20 00 FF 00}
0x16998 Default: DefaultId: 0x0, Value (8 bit): 0xFE {5B 06 00 00 00 FE}
0x1699E End {29 02}
0x169A0 End If {29 02}

While I was in there, I checked NVDIMM for you, it’s blank inside, so we’ll hide it >>

Form: NVDIMM, FormId: 0x7019 {01 86 19 70 F3 00}
0x1955F Subtitle: Statement.Prompt: NVDIMM, Flags: 0x0 {02 87 F3 00 00 00 00}
0x19566 End {29 02}
0x19568 Subtitle: Statement.Prompt: , Flags: 0x0 {02 87 02 00 00 00 00}
0x1956F End {29 02}
0x19571 End Form {29 02}

500 applies to my motherboard type. The earlier images you can use, yes. When I try to select the 300/400/500 Chipset Common Options it just stays on the same menu and nothing opens, not even an empty menu. Just stays like in that picture.

Ohh, OK, I was not sure what 300/400/500 meant, since this setting is in both volumes of the BIOS that is split between CPU types
I assumed it applied to CPU not chipset (since the entire BIOS would apply to this chipset series, there would be no need to do 300/400/500 options I would assume, but I’m not the genius BIOS engineer that made this BIOS

OK, anyway, we’ll sort it out. For now, I was looking at NVDIMM hidding, and there is no suppression to put it under in that form, and this menu is not contained within AMITSE/SetupData so I can’t change it’s Show/Hide/Access Level variable.
The only thing I can think to do, is remove the spacer at thee root of this menu, between title and submenu names, and then use those bytes to make a suppress if flag and suppress NVDIMM that way.
I’ll show you below, let me know if you want me to do this, or you just ignore that submenu

Original >>
UMC Common Options, FormId: 0x7003 {01 86 03 70 07 00}
0x177F5 Subtitle: Statement.Prompt: UMC Common Options, Flags: 0x0 {02 87 07 00 00 00 00}
0x177FC End {29 02}
0x177FE Subtitle: Statement.Prompt: , Flags: 0x0 {02 87 02 00 00 00 00} << This is spacer I meant, below, this will be gone and bytes used up/turned into suppress if for NVDIMM
0x17805 End {29 02}
0x17807 Ref: DDR4 Common Options, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x4C, FormId: 0x7017 {0F 0F F1 00 F1 00 4C 00 00 00 FF FF 00 17 70}
0x17816 Ref: DRAM Memory Mapping, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x4D, FormId: 0x7018 {0F 0F F2 00 F2 00 4D 00 00 00 FF FF 00 18 70}
0x17825 Ref: NVDIMM, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x4E, FormId: 0x7019 {0F 0F F3 00 F3 00 4E 00 00 00 FF FF 00 19 70}
0x17834 Ref: Memory MBIST, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x4F, FormId: 0x701A {0F 0F F4 00 F4 00 4F 00 00 00 FF FF 00 1A 70}
0x17843 End Form {29 02}

Edit to >>
UMC Common Options, FormId: 0x7003 {01 86 03 70 07 00}
0x177F5 Subtitle: Statement.Prompt: UMC Common Options, Flags: 0x0 {02 87 07 00 00 00 00}
0x177FC End {29 02}
0x17807 Ref: DDR4 Common Options, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x4C, FormId: 0x7017 {0F 0F F1 00 F1 00 4C 00 00 00 FF FF 00 17 70}
0x17816 Ref: DRAM Memory Mapping, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x4D, FormId: 0x7018 {0F 0F F2 00 F2 00 4D 00 00 00 FF FF 00 18 70}
0x17825 Ref: NVDIMM, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x4E, FormId: 0x7019 {0F 0F F3 00 F3 00 4E 00 00 00 FF FF 00 19 70}
0x177FE Suppress If {47 07 00 00 00 00 00)
0x17834 Ref: Memory MBIST, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x4F, FormId: 0x701A {0F 0F F4 00 F4 00 4F 00 00 00 FF FF 00 1A 70}
End If (29 02)
0x17843 End Form {29 02}

Ahh! I see what is going on with 300/400/500! That should be hidden as well, this is not contained inside this copy of CBS, sorry for my mistake earlier when I said it was just that one setting there, that setting (combo CBS) is at root of CBS and hidden, not within 300/400/500 (nothing is there, no such form)
I assume, the other CBS for different CPU’s has it, upper volume of BIOS, but changes there will not be used in your BIOS with your CPU. For your CPU, I think/assume, this is what you should see/use instead >> X570/590 Chipset Common Options, and then 300/400/500 hidden from you / not applicable

Yes, if it’s an empty menu you can try to suppress it, or just leave it, not a big issue.

I’d like to see what in the other menu though, the 300/400/500 one.

If it has common options it may apply to my x570 board.

@KedarWolf - See my edits above. There is nothing in 300/400/500 in this volume of the BIOS, I could give you IFR text for the other volume of the BIOS, but that does not apply to your CPU thus you cannot use that area of the BIOS.
Never mind, I checked both CBS in top volume of BIOS too for the other CPU types, those also contain this submenu ref, but then no actual form, so users with those CPU’s and unlocked CBS would see same too (visible submenu but no entry due to no actual form present in the BIOS)
So, this and NVDIMM both need to be hidden, do not apply to this board/BIOS

Here’s all three CBS IFR’s, the one with “Bottom” at end of name applies to your CPU’s area of the BIOS.
IN all of these, you can search 300/400/500 and see the submenu reference (which you see in the BIOS), but then no form below that (you can also search by the formID shown there at the reference, as well as the name, but no form found thus nothing when you try to enter)
http://s000.tinyupload.com/index.php?fil…413734313238909

Oh okay, I misunderstood. Hiding those would be good. :slight_smile:

See my edit above This way, you can see what I mean yourself, so you know I’m not crazy or making things up etc

I don’t really understand hex code at all, but I trust you.

@KedarWolf - Ohh, OK. Well, I was not sure how much BIOS editing you do, and how in-depth etc
Here, please confirm BIOS is still OK and 300/400/500 and NVDIMM are now hidden. Then once OK, I will look at images and reveal the rest of the hidden stuff for you
Additionally, as part of this edit, I changed the suppression on NTB common options, so this should now by visible as well
But for now, pay no attention to it’s contents as I have not done anything in any of this yet, only working on these two target menu changes we’ve been discussing but this was collateral damage due to bytes needed and I plan to unsuppress this anyway
http://s000.tinyupload.com/index.php?fil…672689096526009

Here is the edit I made on this BIOS CBS Module in bottom volume of the BIOS, so you can see what was done.
And so it may help others later messing with stuff and needing to know how to use up bytes, gain bytes for making changes on other stuff etc

Before >>

Suppress If {0A 82}
QuestionId: 0xA equals value 0x2 {12 86 0A 00 02 00} = 6 bytes
Not {17 02} = 2 bytes
QuestionId: 0xA equals value 0x3 {12 06 0A 00 03 00} = 6 bytes
Not {17 02} = 2 bytes
And {15 02} = 2 bytes
QuestionId: 0xA equals value 0x4 {12 06 0A 00 04 00} = 6 bytes
Not {17 02} = 2 bytes
And {15 02} = 2 bytes
End {29 02} = 2 bytes
>> From * to * here = 30 decimal bytes total (1E hex), we need 6 bytes for change to below 300/400/500 menu (1E - 06 = 18h), so we’ll leave 24 decimal (18 hex) total here to be filled as shown below
Ref: NTB Common Options, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x6, FormId: 0x7006 {0F 0F 0A 00 0A 00 06 00 00 00 FF FF 00 06 70}
End If {29 02}

Ref: 300/400/500 Chipset Common Options, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x9, FormId: 0x7009 {0F 0F 0D 00 0D 00 09 00 00 00 FF FF 00 09 70}
-----------------------------------

After >>

Suppress If {0A 82}
False {47 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00} << we removed all variables above and replace with False and 00 for “cleanness” The 18 in bold here tells BIOS how many bytes total false command holds until next item/command = this takes up out 18 hex from above, leaving 6 bytes to move to below item
Ref: NTB Common Options, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x6, FormId: 0x7006 {0F 0F 0A 00 0A 00 06 00 00 00 FF FF 00 06 70}
End If {29 02}

Suppress If {0A 82}
True {46 02} << Here we add our 6 bytes to hide this menu 4 bytes here and two after item, to end the suppression
Ref: 300/400/500 Chipset Common Options, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x9, FormId: 0x7009 {0F 0F 0D 00 0D 00 09 00 00 00 FF FF 00 09 70}
End If {29 02}

* Edit >> Are you sure you don’t want to be doing all this to the latest BIOS (1B) instead?

* Edit 2 - That was long pause, hope all is OK!!

Yes, I’m sure. This BIOS overclocks my memory the best and I don’t think I’ll be getting my 5950x for a few months to be honest. I’ll be using this BIOS until then. Also, 1B is really bugged and new beta not out yet. But I won’t be changing BIOS’s for awhile.

I’m going to bed though. Work in the a.m.

300/400/500 menu is hidden but I still see the NVDIMM menu.
---------------------

Oh, give me a dono link. i’ll drop 20 USD tomorrow for sure. :slight_smile:

@KedarWolf - OK, I hear you on the BIOS versions, no problem! Sorry!! I totally forget the NVDIMM, while I was thinking over all the above edit info about these two menus.
Sorry about that, I will post fixed follow-up here in a minute, if you are still here for a little bit longer. If not, test when you get back in and let me know
As for dono link, remember I sent you info in PM, thank you, thank you, thank you!
-----------------------

* Edit -
@KedarWolf - Redux M2 - Now, 300/400/500 and NVDIMM should be hidden, sorry, got in a hurry before and forgot NVDIMM
http://s000.tinyupload.com/index.php?fil…218133610792703

Here is NVDIMM edit info, to remove spacer and hide NVDIMM (@ removing spacer - it’s only way I can see/think to do this one)

Before >>
UMC Common Options, FormId: 0x7003 {01 86 03 70 07 00}
Subtitle: Statement.Prompt: UMC Common Options, Flags: 0x0 {02 87 07 00 00 00 00}
End {29 02}
Subtitle: Statement.Prompt: , Flags: 0x0 {02 87 02 00 00 00 00} << Remove this and next two bytes/end = removing 9 bytes
End {29 02}

Ref: DDR4 Common Options, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x4C, FormId: 0x7017 {0F 0F F1 00 F1 00 4C 00 00 00 FF FF 00 17 70}
Ref: DRAM Memory Mapping, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x4D, FormId: 0x7018 {0F 0F F2 00 F2 00 4D 00 00 00 FF FF 00 18 70}
Ref: NVDIMM, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x4E, FormId: 0x7019 {0F 0F F3 00 F3 00 4E 00 00 00 FF FF 00 19 70}
Ref: Memory MBIST, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x4F, FormId: 0x701A {0F 0F F4 00 F4 00 4F 00 00 00 FF FF 00 1A 70}

After >>
UMC Common Options, FormId: 0x7003 {01 86 03 70 07 00}
Subtitle: Statement.Prompt: UMC Common Options, Flags: 0x0 {02 87 07 00 00 00 00}
End {29 02}
Ref: DDR4 Common Options, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x4C, FormId: 0x7017 {0F 0F F1 00 F1 00 4C 00 00 00 FF FF 00 17 70}
Ref: DRAM Memory Mapping, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x4D, FormId: 0x7018 {0F 0F F2 00 F2 00 4D 00 00 00 FF FF 00 18 70}
Suppress IF {0A 02} << Here, adding in 7 bytes + 2 after, to take up 9 bytes removed above
TRUE (46 05 00 00 00} << = Hide TRUE - 05 tells how many bytes until next command, 3 x 00 filling up space removed out of the 9 bytes removed
Ref: NVDIMM, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x4E, FormId: 0x7019 {0F 0F F3 00 F3 00 4E 00 00 00 FF FF 00 19 70}
End IF {29 02} << Ending suppress if, and this is end of 9 bytes removed
Ref: Memory MBIST, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x4F, FormId: 0x701A {0F 0F F4 00 F4 00 4F 00 00 00 FF FF 00 1A 70}
--------------------------

@KedarWolf - I was just talking with Ket about 5xxx microcodes and 3xx/4xx/5xx, and realized, you had me editing that old beta BIOS all this time, for you personally and your current CPU.
Those BIOS I made to test for the 5xxx CPU, should probably both types be redone using latest BIOS instead, in case there is some of the required updates/changes already in those for the new CPU types
Or was what you sent originally latest BIOS >> BIOS/BIOS1?

It was an old BIOS I had someone test who has a 5*** series CPU. I was hoping it worked as the memory overclocking on the new BIOS isn’t very good. I would have used it when I got my 5950x if it worked.
----------------------------

Oh, I never got a dono link in PM I don’t think.

What I meant was, those BIOS I made for you, for that test of 5xxx CPU, needs to be redone on Godlike/Unify, with latest BIOS not that old beta.
Did they ever test that last set I made yet, from post #41? If yes, and fails too, please ask them if they will test one more set, I will do both same edits for each model, but use latest BIOS
Yes, check PM title >> "Donation Info >> Sent on >> Sun Nov 08, 2020 10:05 pm
If you can’t find, let me know, I will resend

Did you get the Amazon Gift card, @Lost_N_BIOS ?

@KedarWolf - Yes, thank you!! Very sorry, I forgot to reply in PM and let you know!!!
I was just going to do a similar mod/test BIOS for Godlike for @vmanuelgm using latest BIOS, that way you would not have to ask those other guys to test twice more with latest BIOS and both methods we tried on the beta
And, I extract the padding to do the edit, and then I see this BIOS (\7C34v1B) already has 2x cpu00A20F10 microcode in it. One is the latest one you sent me, and a different older one (cpu00A20F00_ver0A200025_2020-01-21_E3C8C569)
I’m not sure if he tested that BIOS w/ his 5xxx CPU yet or not though, just asked to find out. Tell those users to test with latest BIOS and see if CPU works or not, if not then something else needs updated in there, probably AGESA and other modules.

How can AMD release new CPU’s and it’s most recent boards are not compatible with it yet? How does that CPU launch work out for people buying these CPU’s?
This makes no sense to me!!! Or, is X570 not latest/current gen AMD Board/chipset?

As for the CBS Unlock, I was paused on that while talking to ket about a setting I needed to know if I should reveal for you or not, I was not sure if it’s dangerous or how you should set/change it etc. (Combo CBS)
I will wrap it up once we’re done discussing that

The new BIOS works for the new CPUs. I was hoping to get the old BIOS to work because of the excellent memory support it has.

But I think peeps are going to go with the new BIOS even if the old one did work because the latest new one has a new really good overclocking tool. When we started this it didn’t have it and I never knew about it.