ZOTAC GF8300-A-E AGESA Update (AWARD)

Hello to all,
I have this old ZOTAC AM2+ GF8300 motherboard whose BIOS has been fighting me for some time now.
The most recent release dates from June 2009, and it has some issues.
- It is quite picky about RAM. It won’t pass memtest using some memory that is known to be working on another board using the very same CPU (so it’s not a memory controller issue).
- CPU support is limited to AM2/2+ and early AM3 stuff. From my understanding this can be because of an outdated AGESA module, as the version currently in the BIOS seems to be one of the first if not THE first supporting AM3.
If, for example, I install a processor released later on it’ll only get detected as “AMD Processor model unknown” (only tested with a couple of C3-step Sempron 145s. Not sure what would happen with stuff like six core Phenoms)

I’ve read the AWARD Enhanced modding thread and I’ve tried several times to cook an updated bios.
Using the BIOS from a Gigabyte GA-M78SM-S2H as a parts donor (It’s also AWARD and it’s the same chipset),
1. First attempt was, using CBROM, to release all the modules that came after (including) MEMINIT and AGESACPU, and then putting them back in the same order they came out only substituting MEMINIT and AGESACPU with the ones from the Gigabyte.
2. Second attempt was to do a, rather crude, CBROM /gv3 and /minit replace. This BIOS does not have the pesky holes that proved so critical in the enhanced modding thread so I gave it a chance.

Needless to say, both these attempts resulted in nothing but a brick and me having to take the trusty MiniPro out to restore a backup.

There has to be some trick that I’ve been missing to do such a thing, so any help, either in the form of an attempt to do this mod or just a hint would be very appreciated.

Attached should be both the last official release (pad4.zip) and a dump of what I’m currently running (awdbios.zip), which is the last release with a few hex-edited updated microcodes.


Post scriptum with another question: what would cause options that show as present in modbin to not be there when flashed?

awdbios.zip (606 KB)

pad4.zip (1.52 MB)

@andrea - I can only help with your last question. Please give me an example of a setting you are asking about and I will look.

Thank you,
I was thinking of VCore and multiplier adjustments. Modbin says they aren’t hidden but they are missing when in the actual bios.
I can only think that perhaps they will only appear when using a Black Edition CPU, but even that makes no sense,
1. Everything K8 and newer has unlocked multipliers towards the bottom,
2. Who in their right mind would pair a black edition processor with a “everything integrated” board with only a 3+1 VRM?

modbin.png

IMG_20200719_094003.jpg

You’re welcome, sorry I can’t help more Check your Microcode edit with HWINFO64, is the correct updated version you inserted shown as the one being used?
Other than that, I can’t see any reason why that is hidden, as you mention it should be visible due to that, and I see same in Award BIOS editor as well. But, I don’t even see half the settings shown in your image, at this location in the BIOS
Or yes, maybe only with certain CPU’s they show up? You’ll have to get a black one and see what happens.

Someone else here is phoenix editing pro, but sorry I cannot remember who it is
@chinobino @Sylar76 @davidm71 @MiesMosel - Do you know who is good phoenix editor here?

Sorry my delay in answering. In the meantime, however, I did try a few things.

Microcode-wise, AMD is a mess. I’m currently running a Phenom X3 8650, B3 Stepping, CPUID 100F23. A microcode only for 100F23 does not exist, the motherboard/the software is supposed to have an equivalency table (or whatever it’s called, this is how a ticket on platomav’s Github called it) to know that, in this case, for a 100F23 it’s fine to load a 100F22 (Phenom 1 B2 step) ucode. I did not trust this board to be this smart, so I deleted C:\Windows\system32\mcupdate_AuthenticAMD.dll. If I understood right, this should disable Windows microcode updation (is this a word that actually exist? English is not my first language) so that everything that happens is the BIOS’s doing.
After a hard reboot, to be sure that Windows 10’s weird half-shutdowns weren’t in the way, HWINFO says my 100F23 is running a C9 patch (see 1st pic) so I guess that my mod worked and that the board is cleverer than I thought.

Regarding VCore and multipler adjustments, I do not have an unlocked CPU handy, but I did some other tests with a AM2 K8 Windsor X2, said AM2+ K10 Toliman Phenom, and a AM3 K10.5 Rana Athlon X3.
Only with the K8 Athlon X2 they do appear, Vcore is pretty useless though as it only allows underclocking.

As power delivery is one of the things that changed when AM2+ came out (single plane for AM2, split Core/IMC for AM2+) perhaps the way the voltage adjustment is implemented unable to deal with a split plane processor?


I’m still hoping for someone to help with AGESA tho, I have this nice* set of dodgy eBay RAM that it’s sitting there lonely and unused. At night you can hear it cry.

(*nice is to be read in the same way a used car salesman would use it to describe a clocked, former taxicab, 520d.)

hwinfo.png

IMG_20200721_162606.jpg

IMG_20200721_162952.jpg

Then I bet once you have black CPU those will show up in this BIOS. Sorry I can’t help with Agesa stuff
Maybe @ket knows how to help with older Award/Agesa

I may have got something working. If it’s stable I’ll update this thread.

Great! If not, I forgot, maybe @MiesMosel knows about updating old Agesa too



So here’s what I did.
I took Modfreakz’s package as a basis, then modified the batch file to suit my needs. In this case it seems that I have to maintain the starting offset for both MEMINIT (easy as the modules before aren’t touched) and AGESACPU (which required a bit of option rom shuffling). In the end I got the board working with AGESA (and matching meminit) 3.7.0.0 from the Gigabyte board in the first post (same chipset). I also tried with AGESA 3.7.1.2 from another Gigabyte DDR2 board, but with an AMD 785 chipset, but memory wouldn’t initialise properly (boot would hang at C1 code on a port 80h card). So it seems that MEMINIT is chipset-specific.
Still plenty good enough compared to the early, buggy, AGESA 3.1.4.0 that was in the original BIOS.
Memory compatibility improved drastically, I can run my dodgy eBay 4GB DIMMs at somewhat tight timings without no issues. It passes Memtest86+, a PCMark Vantage run and a overnight Prime95 blend with no problems, whereas before it would bluescreen if you just looked at it wrong.

I also did update the microcodes again (as I took the original 2009 untouched N0619WZT.BIN as a basis) but I did not touch the option ROMs, as they were basically up to date (only a couple minor revisions behind) and I don’t use RAID or PXE.

Here’s what CBROM has to say:

Original BIOS:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 
CBROM32_198.EXE V1.98 [08/27/08] (C)Phoenix Technologies 2001-2008
 
******** ..\N0619WZT.BIN BIOS component ********
 
No. Item-Name Original-Size Compressed-Size Original-File-Name
===============================================================================
0. System BIOS 20000h(128.00K)12D25h(75.29K)AD4PR941.BIN
1. XGROUP CODE 0C6C0h(49.69K)08A1Ch(34.53K)awardext.rom
2. ACPI table 0A16Bh(40.35K)03DE8h(15.48K)ACPITBL.BIN
3. EPA LOGO 0168Ch(5.64K)002AAh(0.67K)AwardBmp.bmp
4. YGROUP ROM 0D190h(52.39K)06817h(26.02K)awardeyt.rom
5. GROUP ROM[ 0] 05110h(20.27K)02491h(9.14K)_EN_CODE.BIN
6. SETUP0 01890h(6.14K)00A8Ah(2.63K)_ITEM.BIN
7. BIOSF0 02360h(8.84K)014D7h(5.21K)_DMI.BIN
8. FLSH CODE 02450h(9.08K)00DFAh(3.49K)SPIFLASH.BIN
9. SMI32 00010h(0.02K)00038h(0.05K)SMI32COD.BIN
10. SMIAP 087B0h(33.92K)0042Bh(1.04K)SMIAPCOD.BIN
11. HTINIT 05011h(20.02K)05039h(20.06K)HT.DLL
12. 2 PE32 in MB 0047Dh(1.12K)0050Ch(1.26K)HT32GATE.BIN
13. MINIT 0E6EFh(57.73K)0E722h(57.78K)MEMINIT.BIN
14. OEM0 CODE 0D1B0h(52.42K)0088Ch(2.14K)BSMICODE.ROM
15. PCI ROM[A] 0F000h(60.00K)07CB7h(31.18K)NVPXES.NIC
16. PCI ROM[B] 0DE00h(55.50K)088C4h(34.19K)NV_RPT.ROM
17. PCI ROM[C] 04000h(16.00K)028C2h(10.19K)AHCI_NV.BIN
18. VGA ROM[1] 0E000h(56.00K)09F84h(39.88K)m78s_617.rom
19. GV3 08B18h(34.77K)02E3Ah(11.56K)AGESACPU.ROM
20. JPEG ENGINE 04195h(16.40K)041B9h(16.43K)JPEG.ROM
21. LOGO BitMap 7560Ch(469.51K)337F0h(205.98K)ZOTAC.BMP
(SP) NCPUCODE 06800h(26.00K)06800h(26.00K)NCPUCODE.BIN
 
Total compress code space = D3000h(844.00K)
Total compressed code size = 9D8F0h(630.23K)
Remain compress code space = 35730h(213.80K)
 
*** NVMM 4.084.9101/06/09 *** Start Offset => 0, End Offset => 4e00 ***
 
** Micro Code Information **
Bridge ID | Bridge ID
North South Patch ID CPUID | North South Patch ID CPUID
---------------------------------------+----------------------------------------
00000000 00000000 01000002 00000000| 00000000 00000000 00000062 00000414
00000000 00000000 00000068 0000040A| 00000000 00000000 0000006D 0000041B
00000000 00000000 00000083 00000680| 00000000 00000000 0000007A 00000413
00000000 00000000 0000007B 00000433| 00000000 00000000 01000020 00001000
00000000 00000000 01000085 00001040| 00000000 00000000 01000086 00001041
00000000 00000000 01000095 00001022| 00000000 00000000 01000096 00001020
00000000 00000000 0100009F 00001062|
 
 


Updated BIOS:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 
CBROM32_198.EXE V1.98 [08/27/08] (C)Phoenix Technologies 2001-2008
 
******** ..\Bios_build.BIN BIOS component ********
 
No. Item-Name Original-Size Compressed-Size Original-File-Name
===============================================================================
0. System BIOS 20000h(128.00K)12D25h(75.29K)AD4PR941.BIN
1. XGROUP CODE 0C6C0h(49.69K)08A1Ch(34.53K)awardext.rom
2. ACPI table 0A16Bh(40.35K)03DE8h(15.48K)ACPITBL.BIN
3. EPA LOGO 0168Ch(5.64K)002AAh(0.67K)AwardBmp.bmp
4. YGROUP ROM 0D190h(52.39K)06817h(26.02K)awardeyt.rom
5. GROUP ROM[ 0] 05110h(20.27K)02491h(9.14K)_EN_CODE.BIN
6. SETUP0 01890h(6.14K)00A8Ah(2.63K)_ITEM.BIN
7. BIOSF0 02360h(8.84K)014D7h(5.21K)_DMI.BIN
8. FLSH CODE 02450h(9.08K)00DFAh(3.49K)SPIFLASH.BIN
9. SMI32 00010h(0.02K)00038h(0.05K)SMI32COD.BIN
10. SMIAP 087B0h(33.92K)0042Bh(1.04K)SMIAPCOD.BIN
11. HTINIT 05011h(20.02K)05039h(20.06K)HT.DLL
12. 2 PE32 in MB 0047Dh(1.12K)0050Ch(1.26K)HT32GATE.BIN
13. MINIT 186D2h(97.71K)18705h(97.75K)MEMINIT.BIN
14. OEM0 CODE 0D1B0h(52.42K)0088Ch(2.14K)BSMICODE.ROM
15. VGA ROM[1] 0E000h(56.00K)09F84h(39.88K)m78s_617.rom
16. PCI ROM[A] 0DE00h(55.50K)088C4h(34.19K)nv_rpt.rom
17. PCI ROM[B] 00655h(1.58K)00596h(1.40K)dummy.bin
18. GV3 09463h(37.10K)032B5h(12.68K)AGESACPU.ROM
19. PCI ROM[C] 0F000h(60.00K)07CB7h(31.18K)nvpxes.nic
20. PCI ROM[D] 04000h(16.00K)028C2h(10.19K)ahci_nv.bin
21. JPEG ENGINE 04195h(16.40K)00F94h(3.89K)JPEG.ROM
22. LOGO BitMap 7560Ch(469.51K)329A8h(202.41K)ZOTAC.BMP
(SP) NCPUCODE 06800h(26.00K)06800h(26.00K)NCPUCODE.BIN
 
Total compress code space = D3000h(844.00K)
Total compressed code size = A4277h(656.62K)
Remain compress code space = 2EDA9h(187.42K)
 
*** NVMM 4.084.9101/06/09 *** Start Offset => 0, End Offset => 4e00 ***
 
** Micro Code Information **
Bridge ID | Bridge ID
North South Patch ID CPUID | North South Patch ID CPUID
---------------------------------------+----------------------------------------
00000000 00000000 02000008 00000000| 00000000 00000000 00000062 00000414
00000000 00000000 00000068 0000040A| 00000000 00000000 0000006D 0000041B
00000000 00000000 00000083 00000680| 00000000 00000000 0000007A 00000413
00000000 00000000 0000007B 00000433| 00000000 00000000 01000020 00001000
00000000 00000000 01000085 00001040| 00000000 00000000 010000DB 00001041
00000000 00000000 010000CA 00001020| 00000000 00000000 010000C9 00001022
00000000 00000000 010000C7 00001062|
 
 


Attached is the final product and the working folder. BIOS_MOD_GF8300.zip is actually a 7z file so please rename it before opening.

Regarding Vcore and multiplier adjustment, after looking at a few similar boards, It seems that you have to have two set of options, one that is supposed to show (and work) only with an AM2 CPU installed and another set for AM2+ and newer.
This particular board only implements the former. As a final proof, I momentarily flashed my GF8300 board with the bios from its similar-but-not-quite GF8200 sibiling, about six month newer, which has the twin set of settings needed and they appeared (and worked) with my phenom. It also had Core unlock options. Unfortunately, too much stuff was broken to make this crossflash a viable option.

BIOS_MOD_GF8300.zip (1.28 MB)

gf8300_agesa3700.zip (630 KB)

I didn’t touch old AMD AGESA back in the day but as far as I’m aware things worked more or less the same back then as they do now, one CPUID can apply to multiple CPUs and steppings, its a bit screwy and is a good idea on paper but can cause unwelcome complications you could avoid by splitting microcodes up more. Any more advanced firmware mods I’ve done I’ve always stuck with taking parts from higher end boards that use the same chipset you rule out a lot of possible problems and still get significant gains.