06-15-2019, 11:45 AM
(This post was last modified: 02-23-2020, 03:23 PM by Lotosdrache.)
Hello everybody
Do you optimize the BIOS of old mainboards, too?
I've got an old Gigabyte GA-5AX (Rev 5.2) Super Socket 7 board with ALi Aladdin V chipset (Rev H). This latest chipset revision has a working internal Tag RAM. However, unlike other manufactures (e.g. Asus, Jetway) using chipset revision G, Gigabyte didn't enable it. Instead, they continued using a slower external Tag RAM.
I tried to enable internal Tag RAM during running OS sessions without success: changing operation mode of L2 Cache using TweakBIOS or WPCRedit resulted in instant reboot i.e. disabling/enabling L2 cache completely (whereas that can be done in BIOS-Setup without any trouble), enabling internal TAG RAM, or disabling external Tag RAM.
Therefore, I like to try enabling internal Tag RAM during POST by changing some register settings of the northbridge. To do so, I read "BIOS Disassembly Ninjutsu Uncovered" by Darmawan Salihun and adapted his mem-optimize patch to my purpose.
However, as this is the first time I'm writing a computer programme I'm not sure whether it's free from error.
Moreover, injecting it into the BIOS binary file, finding the POST jump table, and creating a jump instruction to the patch there turned out to be a too difficult task for me
Please, can you help me injecting and executing a patch that enables the internal Tag RAM of my motherboard's chipset?
At first, as a proof of concept that the method works, I like to inject a patch that sets RAS Precharge Time (tRP) to 2T.
Normally, tRP is 3T at FSB 100 MHz. However, it can be lowered to 2T during running OS session using TweakBIOS or WPCRedit without any trouble.
If this works then I would just replace the first patch by a second one that tries to enable internal Tag RAM additionally.
These are the two patches (based on Darmawan Salihun's memory optimization) I wrote in FASM 1.73.12 (Windows version):
- tRP.ASM patches only memory timing
- TAG-tRP.ASM patches both Tag RAM and memory timing
The BIOS 5AXSOMOD.F42 I'm currently using is a patched version of Gigabyte's latest BIOS F4.
It was patched using BIOS Patcher 6.00.alpha_15 from www.ROM.by.
In addition, some hidden options were revealed with modbin.
It would be great if this version could be used for injection. You can find all files
- patched BIOS "5AXSOMOD.F42"
- patch protocol "readme.txt"
- first patch "tRP.ASM"
- binary file of first patch "tRP.BIN"
- second patch "TAG-tRP.ASM"
- binary file of second patch "TAG-tRP.BIN"
attached to this post
ModBIOSF42.zip (Size: 115.9 KB / Downloads: 9)
If the patched BIOS file is not suitable, Gigabyte's GA-5AX original BIOS F4 is also appreciated:
https://www.gigabyte.com/de/Motherboard/...support-dl
Datasheets of ALi Aladdin V Chipset:
Northbridge: http://www.hard-net.de/info_wissen/chips...-M1542.pdf
Southbridge: http://www.hard-net.de/info_wissen/chips...M1543C.pdf
Any help is welcome !
Kind regards,
Lotosdrache
Do you optimize the BIOS of old mainboards, too?
I've got an old Gigabyte GA-5AX (Rev 5.2) Super Socket 7 board with ALi Aladdin V chipset (Rev H). This latest chipset revision has a working internal Tag RAM. However, unlike other manufactures (e.g. Asus, Jetway) using chipset revision G, Gigabyte didn't enable it. Instead, they continued using a slower external Tag RAM.
I tried to enable internal Tag RAM during running OS sessions without success: changing operation mode of L2 Cache using TweakBIOS or WPCRedit resulted in instant reboot i.e. disabling/enabling L2 cache completely (whereas that can be done in BIOS-Setup without any trouble), enabling internal TAG RAM, or disabling external Tag RAM.
Therefore, I like to try enabling internal Tag RAM during POST by changing some register settings of the northbridge. To do so, I read "BIOS Disassembly Ninjutsu Uncovered" by Darmawan Salihun and adapted his mem-optimize patch to my purpose.
However, as this is the first time I'm writing a computer programme I'm not sure whether it's free from error.
Moreover, injecting it into the BIOS binary file, finding the POST jump table, and creating a jump instruction to the patch there turned out to be a too difficult task for me
Please, can you help me injecting and executing a patch that enables the internal Tag RAM of my motherboard's chipset?
At first, as a proof of concept that the method works, I like to inject a patch that sets RAS Precharge Time (tRP) to 2T.
Normally, tRP is 3T at FSB 100 MHz. However, it can be lowered to 2T during running OS session using TweakBIOS or WPCRedit without any trouble.
If this works then I would just replace the first patch by a second one that tries to enable internal Tag RAM additionally.
These are the two patches (based on Darmawan Salihun's memory optimization) I wrote in FASM 1.73.12 (Windows version):
- tRP.ASM patches only memory timing
- TAG-tRP.ASM patches both Tag RAM and memory timing
The BIOS 5AXSOMOD.F42 I'm currently using is a patched version of Gigabyte's latest BIOS F4.
It was patched using BIOS Patcher 6.00.alpha_15 from www.ROM.by.
In addition, some hidden options were revealed with modbin.
It would be great if this version could be used for injection. You can find all files
- patched BIOS "5AXSOMOD.F42"
- patch protocol "readme.txt"
- first patch "tRP.ASM"
- binary file of first patch "tRP.BIN"
- second patch "TAG-tRP.ASM"
- binary file of second patch "TAG-tRP.BIN"
attached to this post
ModBIOSF42.zip (Size: 115.9 KB / Downloads: 9)
If the patched BIOS file is not suitable, Gigabyte's GA-5AX original BIOS F4 is also appreciated:
https://www.gigabyte.com/de/Motherboard/...support-dl
Datasheets of ALi Aladdin V Chipset:
Northbridge: http://www.hard-net.de/info_wissen/chips...-M1542.pdf
Southbridge: http://www.hard-net.de/info_wissen/chips...M1543C.pdf
Any help is welcome !
Kind regards,
Lotosdrache