• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

Help modding my HD 7850 BIOS!

Joined
Feb 2, 2015
Messages
2,707 (0.80/day)
Location
On The Highway To Hell \m/
You got one thing right...Unwinder knows what he's doing. And what he's saying. The NCP5395T doesn't provide I2C support. So there's no way to soft mod the card for more volts. I didn't find this quote until just minutes ago. If I had...we'd have not had this interesting thread where we all learned new things. So...I don't feel bad about it.
Tomatone said:
P.S.
Did NCP5395T supports voltage control and monitoring via I2C?
Unwinder said:
Nope. It doesn't provide I2C support and the only way to set voltage is GPIO VID control via display driver. Also, it doesn't support any form of voltage readback. In fact you can write crazy values like 2V into driver and read driver's voltage back like it is shown on the screenshot but it doesn't mean that the value is actually set.

Anyway...most of the rest of that is totally inaccurate or, at best, grossly misleading. The only thing that is provably true would be the hard mod bit at the end there.

The Cheat Engine method does the EXACT same thing as using the Rbby258 tool, and the RX480 Voltage Control 0.1b tool. All 3 rely on the official RT/AB voltage tweak parameters. [/wi<I2C Bus>, <I2C Device>, 8d, <Voltage Offset>] (ie /wi6, 32, 8d, 20 for my 280X with IR3567B +200mV core voltage adjustment in AB). The ONLY reasons none of these methods would work is if the voltage controller is:

1. Not one used by MSI
2. Hasn't been added to the AB 3rd party hardware database
3. Has no I2C support

Or

4. The particular tool being used hasn't been updated with latest AB supported voltage controllers(as in those used by MSI)

There's nothing super secret about I2C commands. They are how ALL software overvolting is accomplished. Reading and writing to the I2C device registers is commonplace. And DOES NOT require special hardware.

Explained in much detail here:
https://forums.guru3d.com/threads/third-party-graphics-card-hardware-database.399542/

And a little here:
http://www.overclock.net/t/451259/tutorial-soft-voltmod-almost-any-gpu-without-hardmods
 

OneMoar

There is Always Moar
Joined
Apr 9, 2010
Messages
8,746 (1.70/day)
Location
Rochester area
System Name RPC MK2.5
Processor Ryzen 5800x
Motherboard Gigabyte Aorus Pro V2
Cooling Enermax ETX-T50RGB
Memory CL16 BL2K16G36C16U4RL 3600 1:1 micron e-die
Video Card(s) GIGABYTE RTX 3070 Ti GAMING OC
Storage ADATA SX8200PRO NVME 512GB, Intel 545s 500GBSSD, ADATA SU800 SSD, 3TB Spinner
Display(s) LG Ultra Gear 32 1440p 165hz Dell 1440p 75hz
Case Phanteks P300 /w 300A front panel conversion
Audio Device(s) onboard
Power Supply SeaSonic Focus+ Platinum 750W
Mouse Kone burst Pro
Keyboard EVGA Z15
Software Windows 11 +startisallback
Will not work on that card
and there is a subset of 'vendor' ic2 commands that are secret that set opparams for the vrm controller thats what i was referring to
 
Joined
Feb 2, 2015
Messages
2,707 (0.80/day)
Location
On The Highway To Hell \m/
@Malik Sajid

I wanted to make some further comments on how you did your volt mod. Just in case you're having any issues with it. I'm thinking there's another, perhaps better, way to do it. And I also wanted to share some other ideas and methods I used to mod my 280X BIOS for 1300mV.

So to start with, this is what I found when looking at your original BIOS.

Sapphire HD 7850 1GB Voltage Table.PNG

Voltage Tables starting on line 0000B400 ending on line 0000B410

BA04 0000 EF02 = 1210 0000 751
7204 0000 3703 = 1138 0000 823
3304 0000 7E03 = 1075 0000 894
0E04 0000 BC03 = 1038 0000 956
0E04 0000 FF03 = 1038 0000 1023

For a 1300mV Volt Mod I would start by doing the following.

1. Replace BA04 0000 EF02(= 1210 0000 751) string on line 000B400 with 1405 0000 A702(= 1300 0000 679)

2. Change BA04 on line 0000B3F0 to 1405

3. Change C904 on line 0000B3C0 to 1405

It would then look like this.
Sapphire HD 7850 1GB 1300 Volt Mod.PNG


I've attached a BIOS modded this way if you want to try it out(oops! changed the power limit stuff for you and fixed the checksum I forgot :oops:). One thing to keep in mind though...

If you want to fine tune the Vdroop I would suggest changing the last hex value(A702 = 679) in the voltage table string that was changed on line 0000B400. Higher value = Less Vdroop. I don't know if it's a good idea(or would make any more sense than simply setting the VID to 1400) to go higher than FF03 = 1023. But it should be safe to go at least that high. In fact, if you don't also change the hex value for Vdroop compensation you might not see any change in voltage under load compare to stock. That seems to be the way it works. The value I chose would basically be equivalent to a "stock" setting(or ~ the voltage you would get under load with 1210mV and a last hex value of EF02 = 751). I would also like to add that this value IS NOT ASIC QUALITY! ASIC quality can NEVER be higher than 100%. So to say 102.3% is ridiculous(as has been stated elsewhere). Also lower ASIC quality % leaks more voltage than higher ASIC quality %. So due to the fact that a higher value increases voltage under load and decreases Vdroop it means the value must not have anything to do with ASIC quality. Since a higher ASIC quality would require less voltage increase under load to decrease Vdroop. Which is why I believe this value is actually a "Vdroop offset" value to be used with(or without) the "VRM signal" value(the middle 4 hex numbers) to control Vdroop. To call the middle 4 hex numbers the "VRM Signal" is not a bad way to say it. But it would probably be more correct to call it LLC(Load Line Calibration), since I'm pretty sure that's exactly what it is. It's the "primary" way to control Vdroop. But since some voltage controllers don't have LLC(like yours apparently) you can use the "Vdroop offset" value to do basically the same thing. Or they can both be used together. What I've found is that changing the "VRM Signal"/LLC value and "Vdroop offset" value both do the same thing. They both limit Vdroop under load, depending on how they're set. On my card lowering the "VRM Signal"/LLC value decreases Vdroop under load. Which seems backwards compared to what I've read about other cards. And raising the "Vdroop offset" value also decreases Vdroop under load.

Of course I don't know for sure if any of it will work for your card. But that's the way I would try doing it.

I also wanted to show you how I hex edited my 280X BIOS to get 1300mV. My voltage tables are larger than yours. But still look similar. My card's voltage controller does support LLC(apparently). So here's an example of what that looks like. And what I had to do to get the same results as setting +200mV in AB.

MSI 280X Voltage Tables.PNG

My Voltage Tables

B004 3800 B802 = 1200 56 696
8B04 3E00 E002 = 1163 62 736
6B04 4300 0503 = 1131 67 773
4604 4900 2C03 = 1094 73 812
4604 4900 FF03 = 1094 73 1023

0111 2A00 0005 0000 = 4368(?) 42(?) 5(?) 0(?)

7804 3900 B802 = 1144 57 696
3304 3F00 E002 = 1075 63 736
1A04 4400 0503 = 1050 68 773
FB03 4A00 2C03 = 1019 74 812
FB03 4A00 FF03 = 1019 74 1023

I changed B004 3800 B802(= 1200 56 696) string to 1405 2800 FF03(= 1300 40 1023). I also changed 2 other B004 hex values to 1405. They were both located in the lines just above the voltage tables. Which looks like this.

MSI 280X BIOS 1300 Volt Mod.PNG


It worked perfectly. Now I don't have to do the AB +200mV tweak. :D
 

Attachments

  • Sapphire HD 7850 1GB 1300mV Volt Mod.zip
    40.8 KB · Views: 137
Last edited:
Joined
May 17, 2017
Messages
109 (0.04/day)
System Name War Daddy
Processor Intel Core i7-950 @4.1GHz
Motherboard ASUS SABERTOOTH X58
Cooling Cryorig R1
Memory 3x4GB SAMSUNG DDR3 1600MHz
Video Card(s) SAPPHIRE NITRO+ RX 570 8GB
Storage Segate barcuda 2TB
Display(s) SAMSUNG S24C750
Case Corsair carbide spec 03
Power Supply EVGA G3 650W
Sorry for the long silence, I needed some time to refine my word in Englsih so as not to hurt your brain especially that I began to exhaust all of my vocabulary :D

I've found out that I did a crappy hex editing and the 1.3v in MSI AB was just an illusion I still can't go beyond 1150mhz feelsbadman
but I'm glad that you have got a way better understanding of that puzzle

When I was editing that BIOS I noticed that I'm messing with strange values I attributed this to my voltage regulator so I was expecting that it would probably not work properly
I was afraid of messing with the vrm signal especially that my voltage profiles contain irrational values such as 0vrm! probably because my gpu uses a NCP5395T voltage regulator which doesn't offer voltage control? I don't know.

I tried your new modified BIOS, well it helped me to survive a bit longer @1200mhz in heaven but it freezed I could not have done this before with my modifed Bios
so i think you did it right and managed to push the card to its limit but NCP5395T rules! I was wondering how can ASUS offer 1.3v in thier BIOS as i thought that every HD 7850 is supposed to use the same voltage regulator
but I found out that asus card uses a differnet one 'CHIL CHL8225G' Maybe It's the time to know more about the wire modding to just learn something new!

Thanks, MrGenius you were so helpful and got a lot of potential! And yes as you said we have not wasted our time, right? We all learned new things as you have said, at least for me.
 
Joined
Feb 2, 2015
Messages
2,707 (0.80/day)
Location
On The Highway To Hell \m/
If you're going by what VBE7 says the VRM is it could be wrong. It says my card has CHL822x but it's wrong. My card actually has IR3567B.

Did you change the "Vdroop offset" first? If not try the one below. If you think it's too much core voltage under load just lower it with AB. If you think it's still not enough change those 1405 to something higher. I wouldn't be hardmodding it until you're sure you can't get more voltage with a BIOS mod.
 

Attachments

  • Sapphire HD 7850 1GB 1300mV Vdroop Fix.zip
    40.8 KB · Views: 117
Joined
Feb 12, 2006
Messages
2,318 (0.35/day)
System Name MONEY PIT
Processor i7-3770K @ 4800 1.20v batch #3231B415 Delided
Motherboard ASrock Z77 OC Formula w onboard waterblocks
Cooling Apogee HD, MCP655,rad MCR320-XP,Micro Rev2 res
Memory G,skill Trident X F3-2400C10D-16GTX
Video Card(s) EVGA GTX 980 Ti Classified with EK nickel/acetal waterblock installed
Storage 2x120gig Wildfire raid0 2x120gig VERTEX3 raid0
Display(s) 3/ Samsung2343bwx + 65in LG 4K
Case NZXT Phantom White w/red
Audio Device(s) ReCon3d fatal1ty pro, Logitech z906 THX
Power Supply corsair AX860i
Mouse Rat7
Software 64bit ++++ win 10
Maybe It's the time to know more about the wire modding to just learn something new!
As a long time Hard modder It's not for the Faint of Heart ...... But it is FUN .....,. try here not much but WTF..
 
Top