Discussion in 'Videocards - AMD Radeon Drivers Section' started by WarDocsRevenge, Jun 16, 2015.
WOW! That was super fast! It's working now! Thanks a lot!
The cake is not a lie.™
i hope there can be a bios fix for us 295x2 owners
is this a bios/card limitation or bios file limitation cause my card fully supports msi after burner and the voltage can be set with that program to any voltage i pick....
sure hope you find a way :/ its possible other R9295x2 bios`s have the voltage info in them or can be added to them.
I think these are the control registers.
View image in spoiler carefully.
The green boxed is length of table, red boxed hex changes between them but V32 & TRIX290OC bios have the same, V32 not gpu offset, TRIX290OC does have offset. Yellow boxed data same, orange box data same, red box data the same.
The table grows upwards (if that makes sense), start viewing data from bottom upwards.
Even though the bioses compared were different versions they were identical upto the data tables.
Then in data tables if you removed the powerplay & voltage objectinfo there was only one hex code differing, I did try make another rom with that hex changed (as that hex code is in the same position in both bios) and still black screen.
i try with FINALV with my gigabyte 290x wind force totally black screen
i used second card for replace my bios
i work my giga card with asus 290x dcii oc bios 1050/1350 like a charm !!
Thank you for testing and posting results.
The reason for placing the Finalv1.rom on the forum is someone can perhaps compare HEX codes within the Sapphire Vapor-X 290X OC (with HEX for GPU core voltage offset) to see how we can add GPU core voltage offset to VoltageObjectInfo data table to bios without it.
Your videocard has dual bios, you should not need second card to replace bios.
Bios switch position one has say bad flash you switch PC off.
Place bios switch to position two and switch on PC and your card will function.
To replace the bad flash on position one boot into dos and before you run flashing command you switch bios switch from position two to one and flash.
It is safe to switch positions of bios switch when card has booted up.
Edited image in spoiler is page 13 of this Sapphire PDF that customers receive in email with updated bios rom via support ticket.
This is a bios file limitation.
I think the unknown data areas after the padding at end of command tables in bios is UEFI. In the 4 roms I've now compared I now think UEFI is always located start 10000 end 1dfff length e0000.
Bios Structure v2
As you have added UEFI to 295 bios successfully can you check for me what I think. I also compared NON uefi versions of theses roms to come to this conclusion.
Sapphire 290 STD vs OC is identical
Sapphire 290X STD vs OC is identical
Sapphire 290 vs 290X has only one hex code differing
Also when I do text string search of GOP it take me to that section of bios, you will see it in the ASCII display section of hex editor.
the modded vapor-x bios dont work on my card! i get black screen thats wierd
That will not work as it did not work on mine.
Try these bioses, Link:- VaporX 290X OC with 44mv & 50mv
UEFIOCR3 = 44mv
UEFIOCR4 = 50mv
GPU = 1100MHz RAM = 1525 MHz in both.
Before flashing uninstall MSI AB and when it ask to you do you wish to keep saved setting say no.
Uninstall Cataylst driver suite, then after reboot run DDU.
Then flash card, install Catalyst driver suite, install MSI AB.
When you change bios to another GPU offset do above procedure again, otherwise MSI AB / CCC recall last flashes offset.
some values in voltageinfo table are like 98-99-100 and there is like 3x this pattern but no idea what i could mean
EDIT: found way to keep my R9 290X stable on very low 2D clocks 0.836
Memory is running at 1050MHz?:eyes:
on purpose just for test -100mV
EDIT: just tested and its stable even on 1250Mhz but black screen on standart 1350
asic quality 81%
max clock 300/150
voltage modified with MSIAfterburner
MSIAfterburner.exe /wi6,30,8d,-20 /wi6,30,8e,-11
total system power draw ~35W
total system power draw ~40W
I like using HIS iTurbo v1.6.6 since I discovered it has additional features like VDDCI voltage setting, VRM Temp 1 setting, and the best part it has embedded config file that can be used externally when named to "iTurbo.cfg" so you can try different overclock or underclock settings.
Here is Google Drive link and MD5 file is inside the zip file:
It wasnt hard for me to add UEFI to the bios
i mamaged to get a 290x asus uefi bios that was created by the vendor for a user
then i used :HD7xxx Series UEFI Patch Tool BETA to inject the uefi data out of the bios and inject the 290x uefi data into my r9295x2 bios.
and it just worked.
could be that you cant see voltage information from the custom bios cause of the uefi information in the bios.
take a look at the other default untouched r9295x2 bios and see if the uefi data was overwritten on top of the voltage table info...
though i could be spitting at straws.
this is annoying we should be able to change voltage arghhhh i hope a solution comes
ok 2.2W (have 27°C room temp)
3D 500/625 EDIT: can go up to 900/780 on that voltage
very interesting to see that card on 2d clock can operate -200mV offsetnow i want to mess with 2D voltage even more...
EDIT: down to 34°C core temp which is 7°C delta
it worked bro with 44 but i had to lower the memory clock to 1450, maybe i should try with +50.
Thank you for your post , I just used your method to add UEFI from my stock UEFI bios to my stock non UEFI bios.
I can confirm the UEFI resides where I have placed it in the bios structure v2 map as that is where the HD7xxx Series UEFI Patch Tool BETA tool places it.
I also flashed this modded non UEFI bios with injected UEFI and card booted straight into windows without a hitch, GPU-Z also shows a tick by UEFI.
Here is ZIP file with Stock UEFI (UEFI.rom) Stock Non UEFI (NonUEFI.rom) and the modded Stock Non UEFI to UEFI (NUEFIMOD.rom).
No this is not the case.
There is a unknown data area at the start of each bios, then data tables, then some padding ie hex code which does nothing, then the command tables, then some padding and then UEFI/GOP and then some padding. In the UEFI bioses it is like that, in UEFI the UEFI and padding at end of it disappears and so the last section becomes command tables with padding.
Ref a tables files for a bios, each section of data and command table has it's own separation within bios. When one of these sections grows like we see in the VoltageObjectInfo data table when it has those 4 hex (which only 2 require editing) the growth is then taken up in a padding area. The padding areas IMO serve as dividers and as spare space for growth in data. This padding area shrinks with extra data in x area and grows with lack of data in x area.
There can also be padding in between sections within the data tables / command tables.
When I was comparing bios with and without editable GPU voltage offset what happens is the bios with the extra 4 hex codes shunts all data after the extra codes into the padding area. So with one without has larger padding area, the one with has smaller area of padding.
Besides the padding being there as an empty space for growth of data it is also there to make bios conform to a fixed size. Non UEFI roms are 64kb , UEFI are 128kb (in windows explorer).
Great! tell me via PM what clocks and voltages you require .
It will also have edited DPM 0 -7 GPU / RAM with VDDC Freq tables like this.
And your own custom bios string, how about MarcoLoves360-VX290X .
oh well keep at it guys, really want this to work for my r9295x2
not fussed what bios is used as any 295x2 bios will do as i only used this custom uefi as it had the higher stock clocks but those can be changed.
really need voltage adjustment on my card...... it must be possible somewhere
as msi afterburner is able to change the voltage from reading the bios so why not inject its permanent data into to the bios its strange.
anyway keep at it guys i know you will find a way.
MSI afterburner works by using the I2CBUS and communicating with the IR3567B chip.
Link:- I2C – What’s That?
Quote from Link:- http://forums.guru3d.com/showpost.php?p=4821770&postcount=1
Run a shortcut to MSI Afterburner exe with /i2cd in the shortcut properties.
Example:- "C:\Program Files (x86)\MSI Afterburner\MSIAfterburner.exe" /i2cd
And you will find a dump file of what it's read or set to at present in the MSI AB folder, i2cdump.txt.
Scroll through the log and you will see under
Scanning I2C bus 6...
Probing device 30...
Then change one value in MSI AB, apply it, exit MSI AB, run the dump shortcut again.
Compare the saved hex codes with the first file (you need to have saved the first run file to another filename manually) and you will see what hex value change occurred for that option in MSI AB.
The bios works at boot up to program/set the IR3567B, MSI AB does it in windows for you.
I've noted that if you apply differing GPU voltage offset through MSI AB and exit it without clicking reset then do a reboot without powering down and open GPU-Z you'll see VDDC still at what you set it as. The IR3567B only forgets that setting after a reset in MSI AB or power-down and boot up.
we need to search for i2c dump values in bios.. to see if there is any match
also what is important is 6.25mV step and 255 steps between 0 and 1.55V
what im thinking of is that:
0xAE76 -- 8
0xAE77 -- 937,5 BaseVoltage -- this looks alot like voltage i see as base in afterburner
then each powerstate is basestate + offset
0xAE77 -- 937,5 + 0xAE94 -- 43,75 OffsetVoltage = 981,25mV
0xAE77 -- 937,5 + 0xAE9C -- 268,75 OffsetVoltage = 1206,25mV
0xAE77 -- 937,5 + 0xAEA0 -- 200 OffsetVoltage = 1135,5mV
0xAE77 -- 937,5 + 0xAEA4 -- 25 OffsetVoltage = 962,5mV
0xAE77 -- 937,5 + 0xAEB4 -- 6,25 OffsetVoltage = 934,75mV
0xAE77 -- 937,5 + 0xAEB8 -- 206,25 OffsetVoltage = 1143mV
0xAE77 -- 937,5 + 0xAEBC -- 281,25 OffsetVoltage = 1218,75mV
0xAE77 -- 937,5 + 0xAEC0 -- 262,5 OffsetVoltage = 1200mV
0xAE77 -- 937,5 + 0xAEC8 -- 231,25 OffsetVoltage = 1168,75mV
0xAE77 -- 937,5 + 0xAEDC -- 62,5 OffsetVoltage = 1000mV
0xAE77 -- 937,5 + 0xAEE8 -- 87,5 OffsetVoltage = 1025mV
(and there is global offset for all states in some bioses)
all values except base are offsets so you can move them around at once when your ASIC quality is low/high (no need for recalculation)
this controller also adjusting AUX voltage so there is one or more values related to this