XtremeSystems Forums

Go Back   XtremeSystems Forums > Xtreme > Xtreme Mods > Xtreme BIOS

Reply
 
Thread Tools Rate Thread Display Modes
Old 03-14-2008, 07:47 PM   #1
alexio
The Blue Dolphin
 
alexio's Avatar
 
Join Date: Nov 2004
Location: The Netherlands
Posts: 3,006
When a new graphics card has just been released there are often no tools available to properly modify the bios of the card. It's often fairly easy to find the clock speeds and voltages by comparing the bios to one on an older card, so that's not the problem here. The one big problem you will face when changing anything in the bios is that the checksum changes in the process. Of course force flashing the bios is easy if you can find a flashing tool that already supports you card.

A bigger problem however is that your graphics driver may not be able to recognize your card if the checksum doesn't match. It's also possible 3Dmark benchmarks will not be able to correctly recognize your card resulting in that you're not able to upload your scores to the ORB.

What the bios checksum is and how it is calculated

Some people may think that the checksum value is stored somewhere in the graphics bios, this is not the case. The checksum is actually derived from adding all 2 digit HEX codes together.

Below you can see a table which shows the connection between hexadecimal, decimal and binary code:


As you can see the highest single digit "number" in hexadecimal code is F=15. The highest double digit number is 255= 15x15 = FF. I can rattle on for hours and hours on how hexadecimal code actually works, but I'm not going to to that as it isn't necessary to know why everything is as it is. If you are interested in hexadecimal code you should look it up on the internet.

Calculating with hexadecimal code isn't a very natural thing so I suggest you use an online calculator or a calculator that comes with the tool you use for hexediting. I can highly recommend Hex Workshop: http://www.bpsoft.com/downloads/down...e=hw32v502.msi (trial version). Its build-in base converter is a very handy tool to convert HEX to DEC and the other way around.


How Hex Workshop should be configured when calculating the checksum

Before you make any changes to the bios you should write down the original checksum!

After you have changed some values in the bios you will notice that if you recalculate the checksum changes too. Luckily this is fairly easy to fix because the bios has a number of "useless" bytes at the end just for this purpose. Normally this picece of data looks something like this:

FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00 00 etc.
or
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 etc.

When changing data in a bios file the resulting checksum will either be lower or higer than original. If it's lower and the file ends with all the FFs there is no way to correct the checksum using this area (as you know FF is the biggest double digit HEX value). In this case you need to edit another part of the bios.

You can use this part for example:


The simple guide

Okay now you know the theory. I will explain the easiest way to do it.

1.) Get the checksum with Hex Workshop.
2.) Edit whatever you want to change in the bios
3.) Calculate the new checksum with Hex Workshop
4.) Use the Windows calculator in scientific mode set to "HEX" to calculate the difference between the two checksum by subtracting one from another.
5.) Lower or up the 2 digit HEX codes (in a "useless" area") according to the difference you have found.

It may be easier to first convert the checksum to decimal before subtracting one from the other. From the answer (decimal code) you can very easily calculate what to change.

Let's say that you found the new checksum to be 1000 (decimal) lower than the old one. This means you will have to add 1000 (decimal) to the new one. The easiest way to do this would be to a change a "00 00 00 00" area in the bios to this : 255 + 255 + 255 + 235 or (in hexadecimal) FF + FF + FF + EB

But what if the new checksum is 472 (decimal) higher than the original? In the last picture of this post you can see the area containing this info:
"YOU HAVE NOT CONNECTED THE POWER CABLE TO YOUR VIDEO CARD.PLEASE REFER TO THE 'GETTING STARTED GUIDE' FOR PROPER HARDWARE INSTALLATION"

The word "installation" in HEX code = 49 4E 53 54 41 4C 4C 41 54 49 4F 4E

No let's convert HEX to DEC first:
49 = 73
4E = 78
53 = 83
54 = 84
41 = 65
4C = 76
In decimal: 73+78+83+84+65+76 = 459

Just by changing all the HEX code in the word "INSTALLATION" to 00 you can subtract 459 DEC of the new checksum. This means we are 13 DEC short (472-459). Now let's look at the last letter of the word "HARDWARE". In HEX code this letter is "45" = 69 DEC. We need to get it to 56 DEC to subtract the 13 that was left = 38 HEX.

Make sure to recalculate the checksum when you are done to make sure that you didn't make any mistakes.

DONE

Last edited by alexio; 05-03-2008 at 11:09 PM.
alexio is offline   Reply With Quote
Old 03-15-2008, 02:19 AM   #2
massman
www.hwbot.org
 
massman's Avatar
 
Join Date: Jan 2005
Posts: 3,852
Send a message via MSN to massman
Very nice guide, Alexio!! Impressing knowledge you have
massman is offline   Reply With Quote
Old 03-15-2008, 02:33 AM   #3
diezel
Xtreme Member
 
diezel's Avatar
 
Join Date: Sep 2007
Location: The Netherlands
Posts: 207
Thanks for any info
__________________



OVERCLOCK TEAM HOLLAND

http://www.overclocking-holland.nl/
diezel is offline   Reply With Quote
Old 05-02-2008, 06:24 AM   #4
alexio
The Blue Dolphin
 
alexio's Avatar
 
Join Date: Nov 2004
Location: The Netherlands
Posts: 3,006
Bump for people that may find this tutorial helpful
__________________
Blue Dolphin Reviews & Guides

Blue Reviews:
Gigabyte G-Power PRO CPU cooler
Vantec Nexstar 3.5" external HDD enclosure
Gigabyte Poseidon 310 case


Blue Guides:
Fixing a GFX BIOS checksum yourself


Quote:
98% of the internet population has a Myspace. If you're part of the 2% that isn't an emo bastard, copy and paste this into your sig.
alexio is offline   Reply With Quote
Old 05-02-2008, 08:02 AM   #5
enteon
Xtreme Member
 
enteon's Avatar
 
Join Date: Feb 2008
Location: enteon@jabber.ccc.de
Posts: 298
good thing they don't use one-way checksums like sha-1

well...at least until M$ claims modified bios can copy HD-Video streams or something like such sht

ps: sticky please
enteon is offline   Reply With Quote
Old 07-08-2008, 06:19 PM   #6
-Acid-
Xtreme Cruncher
 
Join Date: Feb 2005
Location: Ireland
Posts: 1,258
Send a message via MSN to -Acid-
Using your guide to fix my custom 2900xt bios thanks alexio
will post back asap to let you know the outcome
-Acid- is offline   Reply With Quote
Old 07-08-2008, 08:12 PM   #7
alexio
The Blue Dolphin
 
alexio's Avatar
 
Join Date: Nov 2004
Location: The Netherlands
Posts: 3,006
Good luck, it should work just fine
__________________
Blue Dolphin Reviews & Guides

Blue Reviews:
Gigabyte G-Power PRO CPU cooler
Vantec Nexstar 3.5" external HDD enclosure
Gigabyte Poseidon 310 case


Blue Guides:
Fixing a GFX BIOS checksum yourself


Quote:
98% of the internet population has a Myspace. If you're part of the 2% that isn't an emo bastard, copy and paste this into your sig.
alexio is offline   Reply With Quote
Old 11-01-2008, 02:38 PM   #8
HamidFULL
Xtreme Enthusiast
 
Join Date: Feb 2006
Posts: 968
Send a message via MSN to HamidFULL Send a message via Yahoo to HamidFULL Send a message via Skype™ to HamidFULL
great! sticky ASAP!!
__________________
www.HotOverclock.com Founder & Editor in Chief
---------------------
Upgrading to X58 ...

Q6600 G0 @ 3.8GHz FSB 423MHz w/Swiftech H2O 120 Compact Dual 120mm fan Last OC Details Here
abit IX38 QuadGT Rev1.0 (X38 Rev.01)
4x1GB Patriot +SL PC2-6400 Based on Aeneon AET760UD00-25D Chips! @ 1:1 1000MHz 5-4-4-8 2.0v
Sapphire Radeon HD 4850 A2 Normal Edition @ Core 820MHz Mem 2100MHz
Display 19" LG FLATRON L1960TR LCD Contrast 3000:1 Response Time 2ms Lightning Fast!! w/f-Engine Chip and DFC Technology
HDD 250GB Seagate Barracuda 7200.10 ST3250820AS
HDD 120GB Maxtor Max.10 6L120M0

PSU Zalman ZM1000-HP 1000 Watt Six 12v Rail and Dual Seperate Board
A4Tech X7 Gaming Mouse X-750BF Dual Laser Engin w/2500DPI
More about my Memory : it can do 950MHz 4-4-4-8 2.0v Stable and 1100MHz 5-7-7-12 2.2v Stable and 1200MHz 6-8-8-21 2.3v not Stable!
HamidFULL is offline   Reply With Quote
Old 10-23-2009, 08:44 PM   #9
topdog5050
Xtreme Member
 
Join Date: May 2009
Posts: 104
Cool thanks for the share.
topdog5050 is offline   Reply With Quote
Reply

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not 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
Forum Jump


All times are GMT -8. The time now is 10:31 PM.


Powered by vBulletin® Version 3.7.6
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
XtremeSystems