Aikei 35 Posted August 3, 2013 Hi all, sorry for my English, i am Russian My guide need correction of text to normal English So... I have a Clevo P170EM with AMD Radeon HD7970M using Enduro technology. atiflash for dos (3.99 and 4.07) can't backup bios of this card, and can't flash any bios in this card, but I found a way to modify and flash new vbios. What do we need: atiwinflash (i used version 2.3.0) - link Free Hex Editor Neo (or similar hex editor) - link Microsoft Windows Calculator And now... Begin. Overclocking Guide: 1) Run any 3D application for activate discrette card (eg game) 2) Run atiwinflash, and seem: 3) Click "Save" for backup your vbios, name that "7970m_original.rom" 4) Open this vbios in you hex editor: And now the fun begins I want to change my standard clocks on 850Mhz for core and 1200Mhz for memory to increased clocks (my stable clocks is 970/1500 without overvolting). We need to find our standard clocks in vbios file, and change it to new clocks. How to do it? In vbios have accuracy clocks of thousandths (850,00 core and 1200,00 memory) 85000 it is decimal value, we need to convert it to hex value. I use Windows Calc to that: 1) Run Windows Calc, put it to programmer mode, and input Dec value = 85000 2) Now click to "Hex" to convert your value But vbios seems reversed values, and you need reverse 14C08. To reverse you need move 2 digit values from right to left. 14C08 = 1 4C 08 = 08 4C 01 = 084C01 3) Do similar operations for memory (120000) and get value 1D4C0. Reversed = C0D401 And now search this value "084C01C0D401" in your Hex editor. We seem: Now i want to change my Core clocks from 850Mhz to 970Mhz, and my Memory clocks from 1200mhz to 1500Mhz: Using Windows Calc to get hex values for my new clocks: 970 = 97000 = 17AE8 = Reversed E87A01 1500 = 150000 = 249F0 = Reversed F04902 And change it in you hex editor: Now click "Save as.." and name this vbios "7970m_mod.rom" Go to atiwinflash again, click "Load" and select our modified vbios "7970m_mod.rom" Trying to flash our new vbios file - click "Program" and.... seem this error: Why? CRC Checksumm for new vbios is not correct. We seem that in atiwinflash window: How to fix it: Vbios file have many empty blocks to fix CRC cheksumm. It is located closer to the center and have Hex values with many 00000000000000 and FFFFFFFFFFFFFF. Find it in your hex editor: Now we need fix our new CRC to old CRC: Old CRC = C400 New CRC = C4B4 New CRC value increased for B4 value. What is B4 in Hex? Go to Calc and convert it to Dec. We result B4 = 180. Now we need decrease CRC checksumm for this value (180). Get last FF value (before 0000000) in center of our VBIOS file. What is FF? FF = 255 255 - 180 = 75 75 = 4B Changing last FF value (before 0000000) in center of our VBIOS file to 4B and save changes in file. Now our checksumm is correct, you can Program your new vbios file in atiwinflash. Good Luck P170EM_7970M_Stock.zipP170EM_7970M_970_1500.zip Overvolting Guide: To overvolt our card we need to change voltage values for 3D-gaming mode. I found all voltage values, it is long hex string: 1A040000EF02E80300001E03CF0300004203B60300005F039D03000085039D030000 Maybe it is not all values, but it is something we need. And we need only first part of string: 1A040000EF02E8030000 Finding it in Free Hex Editor Neo: It is voltage values for various 3D modes of our Card. Read more: 1A040000EF02 it is general 3d-state for maximum perfomance mode. Only first value contains voltage Value 1A04, if it reverse to 041A and convert to Decimal = 1050 (mV) Next E8030000 it is second 3d-state, i don't know why, but it recommend to change for your general 3d-state voltage too. E803, reverse 03E8 and convert to Decimal = 1000 (mV) If you want to change it to, example, 1075 mV, you need to covert and reverse this value from dec to hex. 1075 = 0433 = 3304 Changing it in hex editor: Well done, we changes our standard 3D-voltage from 1050 to 1075 mV. Now we need to fix CRC chacksumm and flash new vbios. How to do it? Look in the end of first spoiler 9 Quote Share this post Link to post Share on other sites
cyenz 10 Posted August 3, 2013 Wow. Thanks alot m8! Can i buy you a beer? i Will try it tomorrow! Will post may results as soon as i flash it- - - Updated - - -Just one quetion, how do you reverce the hex values? Because they have a 0 more than the unrebersed one, and theres no logic. Do you reverse it with windows calc as well? Quote Share this post Link to post Share on other sites
Aikei 35 Posted August 3, 2013 Wow. Thanks alot m8! Can i buy you a beer? i Will try it tomorrow! Will post may results as soon as i flash it- - - Updated - - - Just one quetion, how do you reverce the hex values? Because they have a 0 more than the unrebersed one, and theres no logic. Do you reverse it with windows calc as well? I like a beer, but i don't now hou i can get it from you Reverse 1 byte values (1 byte = 2 symbols in hex), example: 17AE8 = 1 7A E8 = E8 7A 01 1 Quote Share this post Link to post Share on other sites
cyenz 10 Posted August 3, 2013 Im such a noob when it comes to this things. Can you please say whats the correct string for 900/1300 and 925/1300? Thanks- - - Updated - - -Btw, to flash the rom do you need to be in a game too, just like when saving the bios? Quote Share this post Link to post Share on other sites
Aikei 35 Posted August 3, 2013 Im such a noob when it comes to this things. Can you please say whats the correct string for 900/1300 and 925/1300? Thanks- - - Updated - - - Btw, to flash the rom do you need to be in a game too, just like when saving the bios? 900 = 90000 = 15F90 = 1 5F 90 = 90 5F 01 925 = 92500 = 16954 = 1 69 54 = 54 69 01 1300 = 130000 = 1 FB D0 = 1FBD0 = D0 FB 01 900/1300 = 905F01D0FB01 925/1300 = 546901D0FB01 If discrette GPU not active - you can't flash it, atiwinflash does error message 2 Quote Share this post Link to post Share on other sites
cyenz 10 Posted August 3, 2013 Thanks again. Will post my results as soon as i flash it. It will help alot of people in my situation Quote Share this post Link to post Share on other sites
Aikei 35 Posted August 3, 2013 Thanks again. Will post my results as soon as i flash it. It will help alot of people in my situationI recommend to change your Thermal Compound for overclocking to Arctic Cooling MX-4 Quote Share this post Link to post Share on other sites
cyenz 10 Posted August 3, 2013 I recommend to change your Thermal Compound for overclocking to Arctic Cooling MX-4Thanks for the advice but alreay done that, even change thermal pads, temps at 925/1300 are 80c playing crysis 3. I think im good to go.- - - Updated - - -Just one final question, is the crc value equal for any clocks? can i use the B4 for my clocks? Quote Share this post Link to post Share on other sites
Aikei 35 Posted August 3, 2013 Thanks for the advice but alreay done that, even change thermal pads, temps at 925/1300 are 80c playing crysis 3. I think im good to go.- - - Updated - - - Just one final question, is the crc value equal for any clocks? can i use the B4 for my clocks? No-no, CRC Checksumm have any value for any clocks, you must fix it for your clocks. If you need help - attach you vbios file Quote Share this post Link to post Share on other sites
cyenz 10 Posted August 3, 2013 Here you go. Can you mod it for 900/1300?7970mP150EMstock.zip Quote Share this post Link to post Share on other sites
Aikei 35 Posted August 3, 2013 Here you go. Can you mod it for 900/1300?[ATTACH]8605[/ATTACH] Which CRC shows in atiwinflash for your vbios? Quote Share this post Link to post Share on other sites
Aikei 35 Posted August 3, 2013 0xC400 thanks 7970mP150EM_900_1300.zip Try it Quote Share this post Link to post Share on other sites
cyenz 10 Posted August 3, 2013 Thanks alot m8! will try it tomorrow since i need the laptop today and in case something goes wrong i need to switch to my 675m and i dont have it with me. Please check your PM´s, need some info from you. Quote Share this post Link to post Share on other sites
Aikei 35 Posted August 3, 2013 Now i find method to overvolt HD7970M, i compared stock and overvolted Dell HD7970M vbios and found the right values. After experimentation, I'll add it to the guide 2 Quote Share this post Link to post Share on other sites
cyenz 10 Posted August 4, 2013 Just flashed it. Works like a charm! Many thanks aikei! Quote Share this post Link to post Share on other sites
Aikei 35 Posted August 5, 2013 Just flashed it. Works like a charm! Many thanks aikei! You are welcome P.S. Added Overvolting Guide 1 Quote Share this post Link to post Share on other sites
Nospheratu 275 Posted August 5, 2013 Brilliant work @Aikei Thanks for sharing your knowledge Quote Share this post Link to post Share on other sites
Tbonephile 10 Posted August 5, 2013 I have heard that there is a difference between the first batch of 7970s and the later batches with regard to overclocking. Do you know what a typical 7970 can OC on the core? Quote Share this post Link to post Share on other sites
troid 1 Posted August 5, 2013 Well I can tell you from personal experience that my first 7970m (aug 2012) reached 1045Mhz on Core (1.1V), my current (june 2013) reaches 1100Mhz core (1.05V). Offcourse part of it still greatly depend on getting a good overlockable core Quote Share this post Link to post Share on other sites
Aikei 35 Posted August 5, 2013 My card reaches 970Mhz for core with stock voltage (1,05V) and 1500Mhz for Memory (it is very good result for memory ). Quote Share this post Link to post Share on other sites
cyenz 10 Posted August 5, 2013 Your stock voltage is 1.05? mine is 1.00v :\ Quote Share this post Link to post Share on other sites
troid 1 Posted August 5, 2013 Flashed my modded vBIOS with increased clocks. All is working great but only one minor issue is that my 7970m is now stuck at the edited clocks in 3D mode Only problem is that as soon enduro switches to the 7970m my GPU temps skyrockets because the card is always at 99% load (did solve the enduro issues tough ) Quote Share this post Link to post Share on other sites
Nospheratu 275 Posted August 5, 2013 @troid Try disabling ULPS. I had a simular issue with my secondary card and disabling ULPS solved the problem. To disable ULPS you can install TRIXX and tick the "Disable ULPS" checkbox under settings. Close TRIXX and then reboot. Alternatively you can open Regedit and search for "EnableULPS" with exact match ticked. Once the search stops at the EnableULPS key, change the value to 0. Press F3 to continue the search and change each EnableULPS key that is found to 0. Reboot afterwards. ULPS = Ultra Low Power State which AMD implements to save power. Unfortunately it causes more problems than it saves you power Quote Share this post Link to post Share on other sites
Aikei 35 Posted August 5, 2013 Your stock voltage is 1.05? mine is 1.00v :\Hm. In your vbios voltage state for 3d-perfomance mode have 1050 value (1.05v) Quote Share this post Link to post Share on other sites