[MOD] Sapphire RX 480 Nitro+ OC to Sapphire RX 580 Pulse - Overclock.net - An Overclocking Community

Forum Jump: 

[MOD] Sapphire RX 480 Nitro+ OC to Sapphire RX 580 Pulse

Reply
 
Thread Tools
post #1 of 56 (permalink) Old 05-06-2017, 07:09 AM - Thread Starter
AMD BIOS Alchemist
 
Vento041's Avatar
 
Join Date: Feb 2016
Location: Italy
Posts: 404
Rep: 52 (Unique: 32)
What is this?

As title, I'm working on this bios mod to convert my Sapphire RX 480 Nitro+ OC 8GB to a Sapphire RX 580 Pulse 8GB.

The project is still WIP, right now except, for few things, there is still no real benefit from using this mod. You'll probably lose some performance (that's a bit uncertain I'll explain that later) and if you do not know what you are doing you may also harm and/or kill your card. 'So... Why would you do that?' you might ask... Well... that's easy... (Click to show)

Before starting with the full explanation on what I've done or planning to do, I'll ask you to help me on some issue that I've encountered or ideas that I'd like to realize. In this thread I'll describe problems/ideas in red so you can help me if you want/can (even with just infos from the internet) and if you are brave enough to test it on your card (or at least send me the procedure to me if you do not want to do that biggrin.gif).

Update (after only some hours): Turns out the RX 580 Pulse uses the NCP81022 (photo) this... is really a problem... it a different controller from the Nitro IR3567B... Might be the fastest project to die... Even if it's actually running quite well!

New with 0.03: Improved memory and voltage controller compatibility by copying the whole VRAM_Info table and VoltageObjectInfo table from the original RX 480 bios. This should achieve an higher compatibility than before, and the voltage controller problem should be gone (probably). Further explanation added in the proper section.

UEFI disabled until I'm completely sure that will work with no problem (yes I know that there is an automatic tool that do the trick, but since I heavily modded manually this card I'm not sure with the outcome).

Why an RX 580 Pulse? _ (Click to show)
The first guy who type something like "But there is the 580 nitro limited ed. with higher clock!" will receive a PM directly from me with the best meme to answer that question...

When doing this kind of bios mods, it doesn't really matter the default clock that you get/want, stability matters! And what's more stable than a bios with almost the same clocks of your original card? A bios that comes from a card with a similar PCB of your card...

Briefly I had chosen the Sapphire RX 580 Pulse because:
  • I comes from the same producer (so it's likely to have a similar PCB)
  • It looks like an Sapphire RX 480 Nitro+ OC with a simple restyling (so it's likely to have a similar PCB)
  • I took a glimpse of the PCB from this YouTube video the PCB is similar but the phases count is different... I'll explain later the whole VRM/Phase problems later...
  • It has 8GB of VRAM! From Hynix... I needed Samsung... I've done some mods... I'll also explain this later...
  • It has an 8 pin power connector (so it's likely to have a similar PCB)
  • The default clock (1366 MHz) is close to the Sapphire RX 480 Nitro+ OC bios (1342 MHz)
  • It has an "higher bios version number" than some of the RX 580s, precisely 015.050.002.001.000000... Ok... this is not a good/real reason I'm just a "last version" maniac...
  • I tested so many bios and this seems to be the more compatible...

As you can imagine I'd really like some high quality photos of the PCB of this card, sharp enough so I can read most of components name.

Voltage Controller/VRMs/Phases? (actual reasons why I had chosen a Sapphire RX 580 Pulse) _ (Click to show)
I've tried some RX 580 bios and most of the time there was always something odd, power consumption, glitches, crashes, voltages peaks, (impossible) wrong sensors reading, and so on... When I first tried the Sapphire RX 580 Pulse bios is instantly saw some good signs that everything was quite good, most of the values reported by VRMTool looked legit and similar to what you should expect from the original RX 480 bios.

Since the RX 580 Pulse uses a different voltage controller I substituted the whole VoltageObjectInfo table with the table coming from the original RX 480 Nitro+ OC bios, leading to table length changes so if you plan to do additional mods to this bios be sure to read the new ATOM bios structure, do not use the old table offsets most of them have changed!!!

Almost every reading from VRMTool now should be legit
  • Voltage offset, PVW Frequency, loadline slope, ... Same values from the original RX 480 Nitro+ OC bios
  • Which I2C devices VRMTool should detect (Click to show)
    Code:
    Adapter 00: ["Radeon RX 580 Series", "Radeon (TM) RX 480 Graphics" or "something like that"]
            Line 04 Address 08: IR3567B I2C interface detected
            Line 04 Address 70: IR3567B PMBus interface detected
    
  • I2C dumps looks almost the same (dumping Line 04 Address 08)
    • Original RX 480 I2C dump (some values/register could differ, probably measurements) (Click to show)
      Code:
       2a 12 26 00 0d 09 9c 6b 4d 74 11 66 66 44 ff ff
       a2 22 88 10 23 ff 14 00 00 00 00 00 00 00 00 00
       00 00 60 78 1c 2b ff 8d 00 24 a1 2c 38 9e 1e 2f
       6b 0f cc 72 6f 05 05 1d 81 b7 60 00 00 ff 00 00
       a8 90 00 00 00 00 00 00 14 14 00 40 80 60 a0 ff
       ff 00 40 88 34 88 44 12 02 02 88 00 20 20 00 3c
       3c 03 7e 60 91 9c 24 88 80 20 00 00 00 ff 06 ff
       ff 20 00 00 00 00 00 00 00 00 00 00 15 15 00 00
       00 00 00 00 00 00 00 00 88 88 01 c2 44 04 00 1f
       00 05 43 78 48 02 b0 70 60 a9 69 00 00 47 1d 1a
       00 00 00 00 00 00 01 01 08 51 80 83 af 00 00 00
       ff 00 00 00 00 06 23 e3 00 00 72 ae 0d 16 00 00
       00 00 00 79 93 00 02 80 00 00 00 00 00 44 00 00
       00 00 ad 50 0c 00 10 00 3f 00 00 00 23 c0 f0 00
       00 00 00 10 01 03 01 88 00 00 00 00 00 00 00 00
       00 00 00 00 00 33 00 00 00 00 00 00 00 00 00 00
      
    • Current I2C dump (Click to show)
      Code:
       2a 12 26 00 0d 09 9c 6b 4d 74 11 66 66 44 ff ff
       a2 22 88 10 23 ff 14 00 00 00 00 00 00 00 00 00
       00 00 60 78 1c 2b ff 8d 00 24 a1 2c 38 9e 1e 2f
       6b 0f cc 72 6f 05 05 1d 81 b7 60 00 00 ff 00 00
       a8 90 00 00 00 00 00 00 14 14 00 40 80 60 a0 ff
       ff 00 40 88 34 88 44 12 02 02 88 00 20 20 00 3c
       3c 03 7e 60 91 9c 24 88 80 20 00 00 00 ff 06 ff
       ff 20 00 00 00 00 00 00 00 00 00 00 15 15 00 00
       00 00 00 00 00 00 00 00 88 88 01 c2 44 04 00 1f
       00 05 43 78 48 02 b0 70 60 a9 69 00 00 47 1d 1a
       00 00 00 00 00 00 01 01 08 51 80 83 af 00 00 00
       ff 00 00 00 00 06 23 e3 00 00 72 ae 0d 16 00 00
       00 00 00 79 93 00 02 80 00 00 00 00 00 44 00 00
       00 00 ad 50 0c 00 10 00 3f 00 00 00 23 c0 f0 00
       00 00 00 10 01 03 01 88 00 00 00 00 00 00 00 00
       00 00 00 00 00 33 00 00 00 00 00 00 00 00 00 00
      
    • Diff: https://www.diffchecker.com/A0rU8DtT
      • Unknown registers: 0x99, 0xB4, 0xBA, 0xBC (This is probably some measurements), 0xC2, 0xC3, 0xC4
      • Known registers: 0x9E (Temperature Loop 1, so it's ok that we get different readings)
    • IR3567B register guide from @gupsterg

There is still a "small" issue:
Phases count it seems to be different (video), until a confirmation arrives, would be nice if someone (with more electrical experience than me) could check if all the phases are actually running properly (or at least directly from the PCB (output voltages, current, PWM, ...)

What was done until version 0.03 came out (Click to show)
I observed these good things:
  • VRMTool report legit values
    • Same "Phase gain" value
    • Same "Output current scaling" value (useful to get good readings)
    • Same "PWM Frequency". I'd like to know the real impact of this setting (benchmarks needed), it's possible to change it "temporally" with VRMTool/WattTool, change it permanently by bios is not impossible but really tricky (will explain this in another paragraph)
    • Same I2C devices detected, at the same address and no "fake"/"unknown" I2C devices! This is really important! It means that this card is probably using the same IR3567B voltage controller of a Sapphire RX 480 Nitro+ OC... of course, a confirmation (from photos or official reviews/PCB analysis) is always appreciated. Turns out the RX 580 Pulse uses the NCP81022 (http://jarock.pl/wp-content/uploads/2017/05/Image7.jpg) this... is really a problem...
      • What VRMTool should detect (Click to show)
        Code:
        Adapter 00: ["Radeon RX 580 Series", "Radeon (TM) RX 480 Graphics" or "something like that"]
                Line 04 Address 08: IR3567B I2C interface detected
                Line 04 Address 70: IR3567B PMBus interface detected
        
    • "Voltage offset" value is 0 (0.00625 * 0 = 0.000 V), when the original Sapphire RX 480 Nitro+ OC have 4 (0.00625 * 4 = 0.025 V). I've solved that... "I think"...
      • I manually changed (with HxD) a sub-section of the "VoltageObjectInfo" table from empty (only 00) to "00 8D 00 04 00" (not a section at random there's a reason behind that), that should do the trick. This change is not "read" from VRMTool/WattTool (I do not know why) but HWiNFO shows that VDDC sometimes read 1175 (1.150 + 0.025 V) like if the offset is there... more testing needed... (just to be sure that this offset is really working)
      • Old (v0.01) Hex edit mod (Click to show)
      • This bios max core and IMC voltage is 1.200 V not 1.150 V like the RX 480 so I can "mimic" a 0.025 V my simply changing default voltage values! No need for Hexedit anymore! EZ! Reverted with 0.03
  • HWiNFO report legit values
    • Memory errors stays at 0 at stock 2000 MHz clock and at 2100 MHz (my previous max memory OC), that's wasn't true for every past RX 580 bios I tested. My current "safe-0-errors-OC" is 2155 MHz @ 1150 mV (Memory Controller Voltage), that's 220 MHz more effective clock (from 8400 MHz to 8620 MHz), I'm still skeptical about it but it seems to work... More testing needed with 0.03
  • Browser Hardware Acceleration seems to work (checked only with chrome)

Of course not everything is really how it's supposed to be:
  • "Loadline Slope" is 0.5 mOhm instead of 0.7... to fix that I should increase the "VoltageObjectInfo/VRAM_GPIO_DetectionInfo" table size, information on that procedure and what actually Loadline Slope do will be really useful, also some benchmarks about the impact of this settings can be really appreciated! (fixed with 0.03, but help with loadline slope impact whould still be nice, I really like to know what this thing do)

Memory _ (Click to show)
Switching to an RX 580 bios means the we get a new 1000 MHz memory step (between 300 MHz and 2000 MHz defaults steps).

To achieve almost perfect compatibility:
  • VRAM_Info table copied from the original RX 480 bios, 1 byte shorter than the 580 counterpart so no table length changes needed by this. If you want do do a mod like this one, and the source VRAM_Info table is shorter than the destination table (to be replaced), remember to first fill the destination table with 00 (not really needed just a "safe" measure).
  • IMC default voltage set from 950 mV (Sapphire RX 580 Pulse default value) to 1000 mV (Sapphire RX 480 Nitro+ OC default value)
    • D1 Offset from the begging of the PowerPlayTable.
      Code:
      950  -> to hexadecimal -> 03 B6 -> to little endian -> B6 03
      1000 -> to hexadecimal -> 03 E8 -> to little endian -> E8 03
      1150 -> to hexadecimal -> 04 7E -> to little endian -> 7E 04
      1200 -> to hexadecimal -> 04 B0 -> to little endian -> B0 04
      
      Hexedit with HxD (Click to show)

What was done until version 0.03 came out (Click to show)
Switching to a Hynix based bios means that we also have a different strap configuration:
Code:
Old:  250 400 600 900 1000 1125 1250 1375 1500 1625 1750 2000 
New: 400 800 900 1000 1125 1250 1375 1500 1625 1750 2000 2250

Probably I'll later change the strap configuration to use the old layout (I'll do a poll to know what you think about it).

This bios support Hynix memory, we need Samsung chips... "memory modding" isn't still a thing, or at least I didn't find any good source of information about how to do it.

Changed:
  • The vendorID (from 0x76 to 0x21), so tools like GPU-Z detect "Samsung" as vendor of the memory
  • Copied the original straps to this bios, some exceptions has to be done
    • 800 strap didn't exist so I copied the 900 strap in it (just to be sure that would work)
    • 2250 strap didn't exist, I copied the 2000 strap instead of creating one from scratch (with my R_Timing tool if you want to check it out). Most RX 480 can handle the 1750 strap in the 2000 strap so probably the can handle the 2000 strap at 2250, some RX 480 can't even reach 2250 MHz so it's not a problem to tackle right now
  • Changed VRAM name from "H5GQ8H24MJR" to "K4G80325FB", these two strings have different length, but if the bios use the common "zero-terminated" string logic there shouldn't be any problem (at least from this specific change).

I tested multiple times with benchmarks and games, and as as said before memory seems also to be more stable, Id like some more testing by you guys anyway xD.

"Issues":
The IMC (Integrated Memory Controller) voltage default value (the voltage that you see in AMD's WattMan) of this bios is 950 mV (3B6 Hexadecimal, B6 03 little endian), I'd like to change it to 1000 mV (3E8 Hexadecimal, E8 03 little endian). I'm still investigating but I found that the IMC voltage should be stored at offset 1D, from the start of the "PowerPlayInfo" table, and also at the end (the last two bytes) of "VoltageObjectInfo/VRAM_GPIO_DetectionInfo" table. Is this correct?
fixed with 0.03

Minor features/Trixx compatibility _ (Click to show)
"Nitro Glow" and "Zero dB Cooling" still works perfectly, Trixx doesn't shows the "Fan check" feature but I've plans for that...

Mods done _ (Click to show)
Mods done with PBE 1.4.1 (that you can easily replicate/change):
  • TDP = Max Power Limit = 300 W and TDC 200 A (thanks buildzoid for your PCB breakdown)
  • Set the original core clocks and voltages to ensure the best stability (so now the current default clock is 1342 MHz not 1366 Mhz)
    • Actually core voltages has a bump of 0.025 V, to mimic what was done with "Voltage" offset without actually use that reverted with 0.03
  • Copied the original fan settings
  • Set max "Power Control Limit" back to 50% (from "30"), you should not use it since I've already maxed out what our card can do (with the TDP/Max Power Limit/TDC mod above)

Mods done manually with HxD
  • Default IMC voltage to 1000 mV like the original RX 480 Nitro+ OC
  • Memory mod, see "Memory" section
  • "Voltage offset" mod, see the "Voltage Controller/VRMs/Phases?" section (at the end) removed from 0.02 workaround found by raising default core voltages With 0.03 voltage offset works like in the original RX 480 Nitro+ OC
  • "Target Temperature" from 75° (4B hexadecimal) to 80° (50 hexadecimal), you can change it manually or PBE with Target Temp support
  • UEFI disabled, as safe measure. Later I'll probably upload a new version with UEFI enabled.

Things that we get for free since this is a 580 bios
  • Vmax = 1.200 V (was 1.150)
  • 1000 MHz extra memory step (was only 300 MHz and 2000MHz).

Future mods (maybe) _ (Click to show)
  • Change the default IMC Voltage value to 1000 mV, see the end of "Memory" section to get more details v0.03 done!
  • Change the strap configuration, 2250 is not really needed and I'd like to get back the 200 and 600 strap v0.03 done!
  • Edit the size of the "VoltageObjectInfo/VRAM_GPIO_DetectionInfo" table to make more room for other IR3567B commands, so I could set an higher PWM frequency from bios and/or edit other register (load distribution, phase gain, and so on) to balance the fact that this bios is created for different PCB layout and it could be a problem.
  • 1 MHz PWM Frequency? I could make 2 version, one with the default PWM frequency (500 KHz) and another with 1 MHz (pratical maximum? datasheet says that 2 MHz per phase should be max... but I think it shouldn't work)
  • Fix the "Loadline Slope" if needed, to do that I should increase the "VoltageObjectInfo/VRAM_GPIO_DetectionInfo" table size v0.03 done! Information what actually Loadline Slope do will be really useful.
  • Fix the fact that Trixx does not show the "Fan check" feature

Download and Changelog - v 0.03 / v 0.03.1 _ (Click to show)
Keep in mind:
  • I'm not responsible for any damage (of any kind) caused to you (or your card, your loved ones, your pets or everything that is related directly or indirectly to you) in any form/way/amount from using this bios mod (or my words) in any form/way/amount
  • I will not teach you how to properly flash a bios, recover from a bad flash and/or diagnose any kind of problem

This project is still WIP, there are problems that may never be solved (I'm not and AMD engineer) and the performance will probably never be greater than what you got with the original bios, actually could just be worse. Almost every comment is ok, just do not whine only about your card performance, I know that the project is still not finished -.-"

Based on: Sapphire RX 580 Pulse 8GB 1366 MHz bios

Original Nitro values from: Last Sapphire RX 480 Nitro+ OC 1342 MHz bios available (see compile date)

Download v0.03: NitrotoPulsev0.03-byVento.zip 258k .zip file
Download v0.03.1: NitrotoPulsev0.03.1-byVento.zip 258k .zip file

Use AtiFlash 2.74 to flash it, the first time (when you still have the RX 480 bios) you have to append the "-fs" flag to AtiFlash or it will complain about the fact that you are flashing a bios designed for a different card.

Changelog:
  • v 0.01 - Initial release
  • v 0.02 - "Voltage offset" restored to 0 since we can simply add 0.025 volts to the default core voltages. This is possible because RX 580 max core voltage is 1.200 V and not 1.150.
  • v 0.03 - Reverted the voltage offset change from 0.02 (now is done properly). Better memory and voltage controller compatibility. UEFI disabled as safe measure (will work on that later).
  • v0.03.1 - STILL UNTESTED - got "i2c lines/address" (inside PolarisPowerTuneTable, a table inside the PowerPlayTable) from original bios. Only 1 byte change btw (without care about CRC update).

Special Thanks to... _ (Click to show)
  • @Jestercore we were trying RX 580 bios and exchanging results for almost a month
  • @generaleramon for general VRM & memory mod help, and because he's Italian like me
  • @deeper-blue for VRMTool and general VRM help
  • @BromoL for WattTool
  • @gupsterg I lurked for years thanks to yours excellent guides
  • buildzoid for PCB breakdowns videos and knowledge about VRM and memory timings

"Hey Vento! I found this card that should have a much more similar PCB than a RX 580 Pulse! (or be more bios compatible/friendy)" _ (Click to show)
PLS SHARE! IF YOU FIND ANOTHER CARD WITH A MORE SIMILAR PCB OR JUST WITH A MORE COMPATIBLE BIOS, THAT COULD PERFORM BETTER OR AT LEAST BE MORE STABLE THAN THE ACTUAL RX 580 PULSE BIOS, PLEASE SHARE THAT INFO! I'LL PORT EVERY MOD TO ANOTHER BIOS IF NEEDED!
Attached Files
File Type: zip NitrotoPulsev0.03-byVento.zip (258.5 KB, 72 views)
File Type: zip NitrotoPulsev0.03.1-byVento.zip (258.5 KB, 181 views)

Zephyr R.B.R.T. (Red BIOS Rebellion Team)
(*) ATOMTableResize (*) R_Timings - Encode/Decode RX/R9 Memory Straps
(*) Sapphire RX 480 Nitro+ OC - Better Custom BIOS (*) SimpleBiosDiff
(*) Extremely short guide on EDC errors (*) jYABE - Yet Another Bios Editor (early stage of development)
Bought a XFX RX 590 Fatboy! Looking for IR 35217 datasheet! Selling my Hybrid RX 480 Nitro+ OC 8GB.


Vento041 is offline  
Sponsored Links
Advertisement
 
post #2 of 56 (permalink) Old 05-14-2017, 05:01 PM
New to Overclock.net
 
p4block's Avatar
 
Join Date: Apr 2017
Posts: 13
Rep: 0
Sad to see this one go, damn controller lol

This mod can probably be attempted with another card, I'm currently trying to do it with a powercolor one to flash my 4GB Nitro+. Your info helped a lot (currently stuck trying to find where the timings are at biggrin.gif)

Quick edit: found timings
Edit2: powercolor 580 4GB is not the card you are looking for either
p4block is offline  
post #3 of 56 (permalink) Old 05-14-2017, 05:48 PM - Thread Starter
AMD BIOS Alchemist
 
Vento041's Avatar
 
Join Date: Feb 2016
Location: Italy
Posts: 404
Rep: 52 (Unique: 32)
I may have resolved the controller issue, wait for 0.03

Zephyr R.B.R.T. (Red BIOS Rebellion Team)
(*) ATOMTableResize (*) R_Timings - Encode/Decode RX/R9 Memory Straps
(*) Sapphire RX 480 Nitro+ OC - Better Custom BIOS (*) SimpleBiosDiff
(*) Extremely short guide on EDC errors (*) jYABE - Yet Another Bios Editor (early stage of development)
Bought a XFX RX 590 Fatboy! Looking for IR 35217 datasheet! Selling my Hybrid RX 480 Nitro+ OC 8GB.


Vento041 is offline  
Sponsored Links
Advertisement
 
post #4 of 56 (permalink) Old 05-14-2017, 06:44 PM
New to Overclock.net
 
p4block's Avatar
 
Join Date: Apr 2017
Posts: 13
Rep: 0
Oh, nice!

Sadly your mod is for 8GB cards. I will most likely replicate it to my 4GB one, don't worry about me lol

I just modded the most basic Gigabyte 580 4GB bios and flashed to my 4GB 480 Nitro+. Voltage measurement and sensors in gpu-z work, LED control on Trixx works, opencl works... Fan profile is completely different though. Gonna go to bed now and finish up the thing tomorrow.

Your mod would be preferred as its sapphire->sapphire but this will work for the moment being

Good luck thumb.gif
p4block is offline  
post #5 of 56 (permalink) Old 05-15-2017, 02:12 AM - Thread Starter
AMD BIOS Alchemist
 
Vento041's Avatar
 
Join Date: Feb 2016
Location: Italy
Posts: 404
Rep: 52 (Unique: 32)
Quote:
Originally Posted by p4block View Post

Oh, nice!

Sadly your mod is for 8GB cards. I will most likely replicate it to my 4GB one, don't worry about me lol

I just modded the most basic Gigabyte 580 4GB bios and flashed to my 4GB 480 Nitro+. Voltage measurement and sensors in gpu-z work, LED control on Trixx works, opencl works... Fan profile is completely different though. Gonna go to bed now and finish up the thing tomorrow.

Your mod would be preferred as its sapphire->sapphire but this will work for the moment being

Good luck thumb.gif

If you find a good PCB analysis of the Gigabyte card, and the compatibility is better than the 580 pulse, I'll could port the mod to another bios.

Zephyr R.B.R.T. (Red BIOS Rebellion Team)
(*) ATOMTableResize (*) R_Timings - Encode/Decode RX/R9 Memory Straps
(*) Sapphire RX 480 Nitro+ OC - Better Custom BIOS (*) SimpleBiosDiff
(*) Extremely short guide on EDC errors (*) jYABE - Yet Another Bios Editor (early stage of development)
Bought a XFX RX 590 Fatboy! Looking for IR 35217 datasheet! Selling my Hybrid RX 480 Nitro+ OC 8GB.


Vento041 is offline  
post #6 of 56 (permalink) Old 05-15-2017, 09:16 AM
New to Overclock.net
 
Join Date: Aug 2016
Posts: 39
Rep: 0
Don't forget about DVI/HDMI/DP configuration, it's better to have same

Former member of R.B.R.T. (Red Bios Rebellion Team)
Jestercore is offline  
post #7 of 56 (permalink) Old 05-17-2017, 09:07 AM
hex junkie
 
hellm's Avatar
 
Join Date: Sep 2016
Location: Germany
Posts: 804
Rep: 131 (Unique: 78)
Thanx for the info how to fix this 950mV thing per PowerPlayTable. Did'nt found it, because this values where also there in the 480 bios.

Can u tell me how to find the vram_info table in a 580 bios? i would like to make a 580 bios with micron support.

Comandante R.B.R.T. (Red BIOS Rebellion Team)
Polaris BIOS Mod | Vega PowerPlay Mod | MorePowerTool
hellm is offline  
post #8 of 56 (permalink) Old 05-17-2017, 10:04 AM - Thread Starter
AMD BIOS Alchemist
 
Vento041's Avatar
 
Join Date: Feb 2016
Location: Italy
Posts: 404
Rep: 52 (Unique: 32)
Quote:
Originally Posted by hellm View Post

Thanx for the info how to fix this 950mV thing per PowerPlayTable. Did'nt found it, because this values where also there in the 480 bios.

Can u tell me how to find the vram_info table in a 580 bios? i would like to make a 580 bios with micron support.


From Hawaii Bios Editing ( 290 / 290X / 295X2 / 390 / 390X ) (yes, it works also with Polaris bios)
Quote:
Originally Posted by gupsterg View Post

AtomBiosReader for Windows by @kizwan
Warning: Spoiler! (Click to show)
Creates tables for a ROM like AtomDis in Linux, in the created tables lists you will find "Command Tables" and "Data Tables". Pretty much all edits we will be doing will be in "Data Tables".

Extract from created tables list for a ROM:-
Code:
000f:   a0da  Len 02b4  Rev 07:01  (PowerPlayInfo)

Each table gets a hexadecimal number in the list, in above example PowerPlay is 000f.

After that we see the offset location for PowerPlay in the ROM = a0da , if we pick "Search" then select "Goto" from menu bar in HxD (hex editor) and type that offset location the cursor will go there.

After that we see length in hexadecimal of the PowerPlay table in the ROM, 02B4 . If we pick "Edit" then "Select block" from menu bar in HxD and enter the offset location a0da and the length 02B4 the whole PowerPlay will be selected out of ROM.

ATOMBIOSReader.zip 74k .zip file

Btw... from "how to find the vram_info table?" I can understand that you are not so "used" to this kind of things, so be careful to not screw up your card (which card do you have?)! Also, if you are modding things like "tables lenght" you need to be extra careful!

Zephyr R.B.R.T. (Red BIOS Rebellion Team)
(*) ATOMTableResize (*) R_Timings - Encode/Decode RX/R9 Memory Straps
(*) Sapphire RX 480 Nitro+ OC - Better Custom BIOS (*) SimpleBiosDiff
(*) Extremely short guide on EDC errors (*) jYABE - Yet Another Bios Editor (early stage of development)
Bought a XFX RX 590 Fatboy! Looking for IR 35217 datasheet! Selling my Hybrid RX 480 Nitro+ OC 8GB.


Vento041 is offline  
post #9 of 56 (permalink) Old 05-17-2017, 11:40 AM
hex junkie
 
hellm's Avatar
 
Join Date: Sep 2016
Location: Germany
Posts: 804
Rep: 131 (Unique: 78)
biggrin.gif yeah, well, i know everything about the PowerPlayTable, even PP_PhmSoftPowerPlayTable, and i know what HxD is, even know how to use it.

But i have no clue about AtomBiosReader and what u just told me. I could learn it, but maybe u can just help me. And it's not for my own card, i have a watercooled reference card. btw, the only rom i found with the exact same ir3567b settings was from the gigabyte aorus. I tried the powercolors, xfx, and gigabyte.
https://www.techpowerup.com/vgabios/191591/191591
could u pls merge this one^^ with that one:
https://www.techpowerup.com/vgabios/190082/190082
if it is not too much trouble.

Comandante R.B.R.T. (Red BIOS Rebellion Team)
Polaris BIOS Mod | Vega PowerPlay Mod | MorePowerTool
hellm is offline  
post #10 of 56 (permalink) Old 05-17-2017, 01:56 PM
New to Overclock.net
 
aGeoM's Avatar
 
Join Date: Jul 2007
Location: Portugal
Posts: 91
Rep: 8 (Unique: 5)
Hi

Thanks for providing a very comprehensive MOD with a lot of valuable information. Been follow, and learning.
However I got a question when we replace "VRAM_Info" from a BIOS to another the vendor ID doesn't come with it? I'm asking because you Hexedit it..
Quote:
This bios support Hynix memory, we need Samsung chips... "memory modding" isn't still a thing, or at least I didn't find any good source of information about how to do it.

Changed:
The vendorID (from 0x76 to 0x21), so tools like GPU-Z detect "Samsung" as vendor of the memory
Copied the original straps to this bios, some exceptions has to be done
800 strap didn't exist so I copied the 900 strap in it (just to be sure that would work)
2250 strap didn't exist, I copied the 2000 strap instead of creating one from scratch (with my R_Timing tool if you want to check it out). Most RX 480 can handle the 1750 strap in the 2000 strap so probably the can handle the 2000 strap at 2250, some RX 480 can't even reach 2250 MHz so it's not a problem to tackle right now
Changed VRAM name from "H5GQ8H24MJR" to "K4G80325FB", these two strings have different length, but if the bios use the common "zero-terminated" string logic there shouldn't be any problem (at least from this specific change).
Hexedit with HxD | Before (Click to hide)

Hexedit with HxD | After (Click to hide)


I tested multiple times with benchmarks and games, and as as said before memory seems also to be more stable, Id like some more testing by you guys anyway xD.

Grazie

skull.gif [Official]AMD RX 480/ 470/ 460 Owners Club skull.gif
aGeoM is offline  
Reply

Quick Reply
Message:
Options

Register Now

In order to be able to post messages on the Overclock.net - An Overclocking Community forums, you must first register.
Please enter your desired user name, your email address and other required details in the form below.
User Name:
If you do not want to register, fill this field only and the name will be used as user name for your post.
Password
Please enter a password for your user account. Note that passwords are case-sensitive.
Password:
Confirm Password:
Email Address
Please enter a valid email address for yourself.
Email Address:

Log-in



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Show Printable Version Show Printable Version
Email this Page Email this Page


Forum Jump: 

Posting Rules  
You may post new threads
You may post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off