Results 1 to 10 of 10

Thread: [Tutorial] How to fix a bios checksum.

  1. #1
    The Blue Dolphin
    Join Date
    Nov 2004
    Location
    The Netherlands
    Posts
    2,992
    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 10:09 PM.

  2. #2
    I am Xtreme
    Join Date
    Jan 2005
    Posts
    4,812
    Very nice guide, Alexio!! Impressing knowledge you have
    Where courage, motivation and ignorance meet, a persistent idiot awakens.

  3. #3
    Xtreme Member
    Join Date
    Sep 2007
    Location
    The Netherlands
    Posts
    281
    Thanks for any info



    OVERCLOCK TEAM HOLLAND

    http://www.overclocking-holland.nl/

  4. #4
    The Blue Dolphin
    Join Date
    Nov 2004
    Location
    The Netherlands
    Posts
    2,992
    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


    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.

  5. #5
    Xtreme Member
    Join Date
    Feb 2008
    Location
    enteon@jabber.ccc.de
    Posts
    292
    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

  6. #6
    sleepin is overrated
    Join Date
    Feb 2005
    Location
    Ireland
    Posts
    1,311
    Using your guide to fix my custom 2900xt bios thanks alexio
    will post back asap to let you know the outcome

  7. #7
    The Blue Dolphin
    Join Date
    Nov 2004
    Location
    The Netherlands
    Posts
    2,992
    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


    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.

  8. #8
    Xtreme Enthusiast
    Join Date
    Feb 2006
    Posts
    972
    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!

  9. #9
    Xtreme Member
    Join Date
    May 2009
    Posts
    106
    Cool thanks for the share.

  10. #10
    Registered User
    Join Date
    Dec 2009
    Posts
    12
    Would this also work for mobo BIOS?

    I have to add some CPU micro code to a BIOS I have and when I do i get ROM checksum error and can no longer POST.
    Any ideas?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •