390x bios leaked

Discussion in 'Videocards - AMD Radeon Drivers Section' started by WarDocsRevenge, Jun 16, 2015.

  1. LumPenPacK

    LumPenPacK Member

    Messages:
    28
    Likes Received:
    0
    GPU:
    Palit 980 Ti
    I don't know but at least it's a newer BIOS version.
     
  2. gupsterg

    gupsterg Member Guru

    Messages:
    177
    Likes Received:
    3
    GPU:
    RX VEGA 64
    Due to some PM's by OneB1t, I'm all set on atomdis :thumbup: .

    Did some tables for The Stilt roms and some other bios.


    I re-read what The Stilt states about his bioses, between each version of his bios only voltage is stated to have changed.

    Comparing The Stilt roms tables to other roms I made tables for there are 2 common differences between them, (PowerPlayInfo) & (VoltageObjectInfo/VRAM_GPIO_DetectionInfo) .

    Quick compare of those tables between various The Stilt roms show powerplay differ but VoltageObjectInfo/VRAM_GPIO_DetectionInfo are identical.
     
    Last edited: Jul 2, 2015
  3. NAJMI ADNAN

    NAJMI ADNAN Ancient Guru

    Messages:
    2,176
    Likes Received:
    0
    GPU:
    Sapphire R9 290X TriX 4GB
    Hello everyone, anyone tried modding the one sole MSI 390X BIOS on techpowerup VBIOS database? I tried modding it to 4GB and lower clocks, it boots to Windows but failed to install drivers. Maybe I done something wrong, can anyone try to mod it please?
     
  4. OneB1t

    OneB1t Master Guru

    Messages:
    262
    Likes Received:
    0
    GPU:
    R9 290X@R9 390X 1050/1325
    @gupsterg: if you use atomdis like this "./atomdis my.rom d f" it will write down powertable info

    here is comparsion of MSI and XFX 390X bioses
    http://postimg.org/image/9hh2w6ak3/full

    i think that section down there (selected part) is responsible for powerplay underclock
    maybe wattage info?

    also 290X / 390X powertable is different (size is different too)

    i hate that some values are saved as 24 bit:D
     
    Last edited: Jun 28, 2015

  5. LumPenPacK

    LumPenPacK Member

    Messages:
    28
    Likes Received:
    0
    GPU:
    Palit 980 Ti
    You compared the header of all those BIOSs? That's pointless since it doesn't provide any additional information. You have to compare the content of the data tables but I already did that with different versions of SLIT's BIOSs where only the voltage has changed. There are only a few bytes changed in PowerPlay table but even with those information I don't really understand what he changed apart from that. He said there are 8 different power states and he changed the voltage of all these states.
     
  6. gupsterg

    gupsterg Member Guru

    Messages:
    177
    Likes Received:
    3
    GPU:
    RX VEGA 64
    Cheers! :thumbup: .

    Yes.

    I compared header first to i) get location of data ii) length of data . I would assume this is first step to do to start comparative? :)

    My wording was poor of this sentence

    "Quick compare of those tables between various The Stilt roms show powerplay differ but VoltageObjectInfo/VRAM_GPIO_DetectionInfo are identical. "

    I was looking at data. In HxD using select block function I entered start of powerplay data table length. Then copied blocks of data into separate files to do comparative. This is correct method?

    "The voltage for the other DPMs has been lowered in the same magnitude (excluding the DPM0)"

    So he didn't do DPM0 ;), I can't do compare via copied powerplay from Slit rom to stock AMD as length is different. Going to try marking data in paint like DDSZ did in earlier post hoping to see somehow a match for DPM0.

    Any thoughts on this guys?

    [​IMG]
     
    Last edited: Jul 2, 2015
  7. DDSZ

    DDSZ Member

    Messages:
    46
    Likes Received:
    0
    GPU:
    Gigabyte R9 290 unlocked
    There are multiple versions of Stilt roms with different voltages. Have you checked them? I was thinking about it, but...
     
  8. DDSZ

    DDSZ Member

    Messages:
    46
    Likes Received:
    0
    GPU:
    Gigabyte R9 290 unlocked
    Also, TriX 390x has different output layout comparing to 290x... Maybe this is the problem:
    [​IMG][​IMG]
     
  9. gupsterg

    gupsterg Member Guru

    Messages:
    177
    Likes Received:
    3
    GPU:
    RX VEGA 64
    Powerplay table location / length same, tables in post 330 in spoiler.

    Today job is to start comparing data ...
     
    Last edited: Jul 2, 2015
  10. DDSZ

    DDSZ Member

    Messages:
    46
    Likes Received:
    0
    GPU:
    Gigabyte R9 290 unlocked
    [​IMG]
    Hmmm...

    Stilt said this about flashing 290(x) to 390(x):
     
    Last edited: Jun 28, 2015

  11. gupsterg

    gupsterg Member Guru

    Messages:
    177
    Likes Received:
    3
    GPU:
    RX VEGA 64
    @ DDSZ

    First I started doing powerplay comparison of Asus 290X uber with Slit rom, I scrapped this for a number of reasons.

    Then I re read Slits' post

    "Bios Core: VER015.041.000.001.00374x (Hawaii A0)"

    Then via hex editor saw the x was a 5, so original bios version 015.041.000.001.003745.

    I then checked TPU database and found this XFX R9 290X DD edition bios had same length of powerplay 292 & bios version.

    Then started comparing, still working on it (using laptop at present had to scroll screens and stitch).

    CCC limits differ, Fan profile also, but besides that same and perhaps voltage I think!

    [​IMG]

    Here is working out of values

    Left 3 columns is stock bios right 3 columns is Slit V3A

    [​IMG]
     
    Last edited: Jun 28, 2015
  12. asder00

    asder00 Don Di Driver Staff Member

    Messages:
    1,193
    Likes Received:
    2
    GPU:
    RX VEGA 64 Liquid
    This should help you guys a bit. :)

    Untouched voltages & clocks (Bios: XFX.R9290X.4096.131211)
    Code:
    SclkVddcDependencyTable		
    	ClockVoltageDependencyRecord		<30000>, <968>		; Sclk, Vddc
    	ClockVoltageDependencyRecord		<51600>, <65282>	; Sclk, Vddc
    	ClockVoltageDependencyRecord		<72700>, <65283>	; Sclk, Vddc
    	ClockVoltageDependencyRecord		<84000>, <65284>	; Sclk, Vddc
    	ClockVoltageDependencyRecord		<89000>, <65285>	; Sclk, Vddc
    	ClockVoltageDependencyRecord		<93600>, <65286>	; Sclk, Vddc
    	ClockVoltageDependencyRecord		<97700>, <65287>	; Sclk, Vddc
    	ClockVoltageDependencyRecord		<100000>, <65288>	; Sclk, Vddc
    EndSclkVddcDependencyTable		
    ;====================================
    MclkVddcDependencyTable		
    	ClockVoltageDependencyRecord		<15000>, <968>		; Mclk, Vddc
    	ClockVoltageDependencyRecord		<125000>, <65282>	; Mclk, Vddc
    	ClockVoltageDependencyRecord		<125000>, <65283>	; Mclk, Vddc
    	ClockVoltageDependencyRecord		<125000>, <65284>	; Mclk, Vddc
    	ClockVoltageDependencyRecord		<125000>, <65285>	; Mclk, Vddc
    	ClockVoltageDependencyRecord		<125000>, <65286>	; Mclk, Vddc
    	ClockVoltageDependencyRecord		<125000>, <65287>	; Mclk, Vddc
    	ClockVoltageDependencyRecord		<125000>, <65288>	; Mclk, Vddc
    EndMclkVddcDependencyTable		
    ;====================================
    StartVCELimitTable
    	VCEClockVoltageLimit	<968>, <0>	; Voltage, vceclkindex
    	VCEClockVoltageLimit	<65282>, <0>	; Voltage, vceclkindex
    	VCEClockVoltageLimit	<65283>, <1>	; Voltage, vceclkindex
    	VCEClockVoltageLimit	<65284>, <2>	; Voltage, vceclkindex
    	VCEClockVoltageLimit	<65285>, <3>	; Voltage, vceclkindex
    	VCEClockVoltageLimit	<65286>, <4>	; Voltage, vceclkindex
    	VCEClockVoltageLimit	<65287>, <5>	; Voltage, vceclkindex
    	VCEClockVoltageLimit	<65288>, <6>	; Voltage, vceclkindex
    EndVCELimitTable  
    ;====================================
    StartUVDLimitTable
    	UVDClockVoltageLimit	<968>, <0>	; Voltage, uvdclkindex
    	UVDClockVoltageLimit	<65282>, <0>	; Voltage, uvdclkindex
    	UVDClockVoltageLimit	<65283>, <1>	; Voltage, uvdclkindex
    	UVDClockVoltageLimit	<65284>, <2>	; Voltage, uvdclkindex
    	UVDClockVoltageLimit	<65285>, <3>	; Voltage, uvdclkindex
    	UVDClockVoltageLimit	<65286>, <4>	; Voltage, uvdclkindex
    	UVDClockVoltageLimit	<65287>, <5>	; Voltage, uvdclkindex
    	UVDClockVoltageLimit	<65288>, <6>	; Voltage, uvdclkindex
    EndUVDLimitTable  
    ;====================================
    StartSAMULimitTable
    	SAMUClockVoltageLimit	<968>, <45000>	        ; Voltage, Clock
    	SAMUClockVoltageLimit	<65282>, <45000>	; Voltage, Clock
    	SAMUClockVoltageLimit	<65283>, <52500>	; Voltage, Clock
    	SAMUClockVoltageLimit	<65284>, <62500>	; Voltage, Clock
    	SAMUClockVoltageLimit	<65285>, <72500>	; Voltage, Clock
    	SAMUClockVoltageLimit	<65286>, <77500>	; Voltage, Clock
    	SAMUClockVoltageLimit	<65287>, <85000>	; Voltage, Clock
    	SAMUClockVoltageLimit	<65288>, <90000>	; Voltage, Clock
    EndSAMULimitTable  
    ;====================================
    StartACPLimitTable
    	ACPClockVoltageLimit	<968>, <55000>		; Voltage, Clock
    	ACPClockVoltageLimit	<65282>, <55000>	; Voltage, Clock
    	ACPClockVoltageLimit	<65283>, <65000>	; Voltage, Clock
    	ACPClockVoltageLimit	<65284>, <75000>	; Voltage, Clock
    	ACPClockVoltageLimit	<65285>, <85000>	; Voltage, Clock
    	ACPClockVoltageLimit	<65286>, <90000>	; Voltage, Clock
    	ACPClockVoltageLimit	<65287>, <95000>	; Voltage, Clock
    	ACPClockVoltageLimit	<65288>, <97500>	; Voltage, Clock
    EndACPLimitTable  
    The Stilt voltages & clocks (Bios: C6710101-V3A DPM7 1.1875V)
    Code:
    SclkVddcDependencyTable		
    	ClockVoltageDependencyRecord		<30000>, <968>		; Sclk, Vddc
    	ClockVoltageDependencyRecord		<51600>, <987>		; Sclk, Vddc
    	ClockVoltageDependencyRecord		<72700>, <1000>		; Sclk, Vddc
    	ClockVoltageDependencyRecord		<84000>, <1037>		; Sclk, Vddc
    	ClockVoltageDependencyRecord		<89000>, <1081>		; Sclk, Vddc
    	ClockVoltageDependencyRecord		<93600>, <1125>		; Sclk, Vddc
    	ClockVoltageDependencyRecord		<97700>, <1168>		; Sclk, Vddc
    	ClockVoltageDependencyRecord		<100000>, <1187>	; Sclk, Vddc
    EndSclkVddcDependencyTable		
    ;====================================
    MclkVddcDependencyTable		
    	ClockVoltageDependencyRecord		<15000>, <968>		; Mclk, Vddc
    	ClockVoltageDependencyRecord		<125000>, <987>		; Mclk, Vddc
    	ClockVoltageDependencyRecord		<125000>, <1000>	; Mclk, Vddc
    	ClockVoltageDependencyRecord		<125000>, <1037>	; Mclk, Vddc
    	ClockVoltageDependencyRecord		<125000>, <1081>	; Mclk, Vddc
    	ClockVoltageDependencyRecord		<125000>, <1125>	; Mclk, Vddc
    	ClockVoltageDependencyRecord		<125000>, <1168>	; Mclk, Vddc
    	ClockVoltageDependencyRecord		<125000>, <1187>	; Mclk, Vddc
    EndMclkVddcDependencyTable		
    ;====================================
    StartVCELimitTable
    	VCEClockVoltageLimit	<968>, <0> 	; Voltage, vceclkindex
    	VCEClockVoltageLimit	<987>, <0>	; Voltage, vceclkindex
    	VCEClockVoltageLimit	<1000>, <1>	; Voltage, vceclkindex
    	VCEClockVoltageLimit	<1037>, <2>	; Voltage, vceclkindex
    	VCEClockVoltageLimit	<1081>, <3>	; Voltage, vceclkindex
    	VCEClockVoltageLimit	<1125>, <4>	; Voltage, vceclkindex
    	VCEClockVoltageLimit	<1168>, <5>	; Voltage, vceclkindex
    	VCEClockVoltageLimit	<1187>, <6>	; Voltage, vceclkindex
    EndVCELimitTable  
    ;====================================
    StartUVDLimitTable
    	UVDClockVoltageLimit	<968>, <0>	; Voltage, uvdclkindex
    	UVDClockVoltageLimit	<987>, <0>	; Voltage, uvdclkindex
    	UVDClockVoltageLimit	<1000>, <1>	; Voltage, uvdclkindex
    	UVDClockVoltageLimit	<1037>, <2>	; Voltage, uvdclkindex
    	UVDClockVoltageLimit	<1081>, <3>	; Voltage, uvdclkindex
    	UVDClockVoltageLimit	<1125>, <4>	; Voltage, uvdclkindex
    	UVDClockVoltageLimit	<1168>, <5>	; Voltage, uvdclkindex
    	UVDClockVoltageLimit	<1187>, <6>	; Voltage, uvdclkindex
    EndUVDLimitTable  
    ;====================================
    StartSAMULimitTable
    	SAMUClockVoltageLimit	<968>, <45000>		; Voltage, Clock
    	SAMUClockVoltageLimit	<987>, <45000>		; Voltage, Clock
    	SAMUClockVoltageLimit	<1000>, <52500>		; Voltage, Clock
    	SAMUClockVoltageLimit	<1037>, <62500>		; Voltage, Clock
    	SAMUClockVoltageLimit	<1081>, <72500>		; Voltage, Clock
    	SAMUClockVoltageLimit	<1125>, <77500>		; Voltage, Clock
    	SAMUClockVoltageLimit	<1168>, <85000>		; Voltage, Clock
    	SAMUClockVoltageLimit	<1187>, <90000>		; Voltage, Clock
    EndSAMULimitTable  
    ;====================================
    StartACPLimitTable
    	ACPClockVoltageLimit	<968>, <55000>		; Voltage, Clock
    	ACPClockVoltageLimit	<987>, <55000>		; Voltage, Clock
    	ACPClockVoltageLimit	<1000>, <65000>		; Voltage, Clock
    	ACPClockVoltageLimit	<1037>, <75000>		; Voltage, Clock
    	ACPClockVoltageLimit	<1081>, <85000>		; Voltage, Clock
    	ACPClockVoltageLimit	<1125>, <90000>		; Voltage, Clock
    	ACPClockVoltageLimit	<1168>, <95000>		; Voltage, Clock
    	ACPClockVoltageLimit	<1187>, <97500>		; Voltage, Clock
    EndACPLimitTable  
    ---------------------------------------------

    Edit: Added untouched table from op bios (XFX 390X)
    Code:
    SclkVddcDependencyTable
    	ClockVoltageDependencyRecord		<30000>, <900>		; Sclk, Vddc
    	ClockVoltageDependencyRecord		<53300>, <65282>	; Sclk, Vddc
    	ClockVoltageDependencyRecord		<76600>, <65283>	; Sclk, Vddc
    	ClockVoltageDependencyRecord		<88400>, <65284>	; Sclk, Vddc
    	ClockVoltageDependencyRecord		<93300>, <65285>	; Sclk, Vddc
    	ClockVoltageDependencyRecord		<97700>, <65286>	; Sclk, Vddc
    	ClockVoltageDependencyRecord		<101100>, <65287>	; Sclk, Vddc
    	ClockVoltageDependencyRecord		<105000>, <65288>	; Sclk, Vddc
    EndSclkVddcDependencyTable
    ;====================================
    MclkVddcDependencyTable	
    	ClockVoltageDependencyRecord		<15000>, <900>		; Mclk, Vddc
    	ClockVoltageDependencyRecord		<15000>, <65282>	; Mclk, Vddc
    	ClockVoltageDependencyRecord		<15000>, <65283>	; Mclk, Vddc
    	ClockVoltageDependencyRecord		<150000>, <65284>	; Mclk, Vddc
    	ClockVoltageDependencyRecord		<150000>, <65285>	; Mclk, Vddc
    	ClockVoltageDependencyRecord		<150000>, <65286>	; Mclk, Vddc
    	ClockVoltageDependencyRecord		<150000>, <65287>	; Mclk, Vddc
    	ClockVoltageDependencyRecord		<150000>, <65288>	; Mclk, Vddc
    EndMclkVddcDependencyTable
    ;====================================
    StartVCELimitTable
    	VCEClockVoltageLimit	<900>, <0>	; Voltage, vceclkindex
    	VCEClockVoltageLimit	<65282>, <0>	; Voltage, vceclkindex
    	VCEClockVoltageLimit	<65283>, <1>	; Voltage, vceclkindex
    	VCEClockVoltageLimit	<65284>, <2>	; Voltage, vceclkindex
    	VCEClockVoltageLimit	<65285>, <3>	; Voltage, vceclkindex
    	VCEClockVoltageLimit	<65286>, <4>	; Voltage, vceclkindex
    	VCEClockVoltageLimit	<65287>, <5>	; Voltage, vceclkindex
    	VCEClockVoltageLimit	<65288>, <6>	; Voltage, vceclkindex
    EndVCELimitTable
    ;====================================
    StartUVDLimitTable
    	UVDClockVoltageLimit	<900>, <0>	; Voltage, uvdclkindex
    	UVDClockVoltageLimit	<65282>, <0>	; Voltage, uvdclkindex
    	UVDClockVoltageLimit	<65283>, <1>	; Voltage, uvdclkindex
    	UVDClockVoltageLimit	<65284>, <2>	; Voltage, uvdclkindex
    	UVDClockVoltageLimit	<65285>, <3>	; Voltage, uvdclkindex
    	UVDClockVoltageLimit	<65286>, <4>	; Voltage, uvdclkindex
    	UVDClockVoltageLimit	<65287>, <5>	; Voltage, uvdclkindex
    	UVDClockVoltageLimit	<65288>, <6>	; Voltage, uvdclkindex
    EndUVDLimitTable
    ;====================================
    StartSAMULimitTable
    	SAMUClockVoltageLimit	<900>, <45000>		; Voltage, Clock
    	SAMUClockVoltageLimit	<65282>, <45000>	; Voltage, Clock
    	SAMUClockVoltageLimit	<65283>, <52500>	; Voltage, Clock
    	SAMUClockVoltageLimit	<65284>, <62500>	; Voltage, Clock
    	SAMUClockVoltageLimit	<65285>, <72500>	; Voltage, Clock
    	SAMUClockVoltageLimit	<65286>, <77500>	; Voltage, Clock
    	SAMUClockVoltageLimit	<65287>, <85000>	; Voltage, Clock
    	SAMUClockVoltageLimit	<65288>, <90000>	; Voltage, Clock
    EndSAMULimitTable
    ;====================================
    StartACPLimitTable
    	ACPClockVoltageLimit	<900>, <55000>		; Voltage, Clock
    	ACPClockVoltageLimit	<65282>, <55000>	; Voltage, Clock
    	ACPClockVoltageLimit	<65283>, <65000>	; Voltage, Clock
    	ACPClockVoltageLimit	<65284>, <75000>	; Voltage, Clock
    	ACPClockVoltageLimit	<65285>, <85000>	; Voltage, Clock
    	ACPClockVoltageLimit	<65286>, <90000>	; Voltage, Clock
    	ACPClockVoltageLimit	<65287>, <95000>	; Voltage, Clock
    	ACPClockVoltageLimit	<65288>, <97500>	; Voltage, Clock
    EndACPLimitTable
    
     
    Last edited: Jun 28, 2015
  13. gupsterg

    gupsterg Member Guru

    Messages:
    177
    Likes Received:
    3
    GPU:
    RX VEGA 64
    Cheers! [​IMG]
     
    Last edited: Jun 28, 2015
  14. mtrai

    mtrai Maha Guru

    Messages:
    1,175
    Likes Received:
    369
    GPU:
    PowerColor RD Vega
    Well finally back in the thick of things and now looking for Powercolor R9 390X PCS+ bios, since my PC R9 290X is back from RMA. (Brand new one with no boot up black screen issues.)
     
  15. MSIMAX

    MSIMAX Active Member

    Messages:
    91
    Likes Received:
    41
    GPU:
    3x 290x cfx
    just a update adjusting powerlimit above 0% causes driver crashes
     

  16. OneB1t

    OneB1t Master Guru

    Messages:
    262
    Likes Received:
    0
    GPU:
    R9 290X@R9 390X 1050/1325
    i started to write small software which can identify where powertable is and show some basic info about it :)

    http://postimg.org/image/uuie62asx/

    for now it open ROM file and search for powertable then show its location and content :)
    so we can compare bioses easily its in C# if someone wants to help i can create project on github/bitbucket (im newbie in C# just wanted to test it :D)
     
    Last edited: Jun 28, 2015
  17. LumPenPacK

    LumPenPacK Member

    Messages:
    28
    Likes Received:
    0
    GPU:
    Palit 980 Ti
    Nice, but that's already possible with AtomDis.
    A simple but quite useful feature would be to convert all those 24Bit Big Endian blocks into Dez numbers.
     
    Last edited: Jun 28, 2015
  18. OneB1t

    OneB1t Master Guru

    Messages:
    262
    Likes Received:
    0
    GPU:
    R9 290X@R9 390X 1050/1325
    yep im thinking exactly about that conversion
    but for start i need to find position of table then use offsets to parse these 24 bit info convert it and show it :)
     
  19. sammarbella

    sammarbella Ancient Guru

    Messages:
    3,929
    Likes Received:
    178
    GPU:
    290X Lightning CFX (H2O)
    What is MSI waitng for to launch a 390X Lightning version (with Samsung Vram again)?

    My 290X lightnings are ready to be flashed! :D
     
  20. OneB1t

    OneB1t Master Guru

    Messages:
    262
    Likes Received:
    0
    GPU:
    R9 290X@R9 390X 1050/1325
    some progress on my poor rom parser :)
    [​IMG]
    EDIT: any idea what this values mean? :D (some value and some value 2)
    early version download
    http://leteckaposta.cz/528455274

    its now mainly for 390/390X bios and it need some fixes for 290/290X and PT1/PT3 bios

    EDIT2:there is very high voltage value in powercolor bios 1356mV which is alot higher than in other 390/390X
     
    Last edited: Jun 29, 2015

Share This Page