• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

GPU-Z BIOS saving bug?

darkhmz

New Member
Joined
Aug 9, 2013
Messages
81 (0.02/day)
Location
Hungary
Processor Core i5-2500
Motherboard Gigabyte GA-H61M-D2-B3
Memory 2x4GB Kingston DDR3@1333
Video Card(s) Powercolor HD 7870 Myst Edition
Display(s) DELL U2412M
Power Supply FSP Raider 550W
Software W7 x64
I've found something really weird while trying to help someone in the vbe7 thread. He used vbe7 to modify his bioses, and made backup of his bioses with gpu-z before modifying them.
One of the modded bioses didnt work, but strangely the stock bios didnt work either. When he opened the suspect stock bios in vbe7 it reported checksum error. Later he posted both stock bioses and i've compared their content. There were two differences, two 256 bytes long blocks filled with zeros, and apart from that they were identical. Then ive downloaded some more hd7000 and hd6000 bioses from the tpu database and tested them. To my surprise i found more bioses with similar problems, including hd6000 bioses too.

Today someone asked for help and posted his stock bios. Ive opened it in vbe7 and it reported checksum error. what the... Opened the file in a hex editor and after a bit searching i have found something strange. Random bytes followed by 256 bytes of zeros then random stuff again. Then i asked the guy to save his bios again and post it on the forum. This time he saved it with atiflash (before he used gpu-z v0.7.3). The two files were different, the difference was the mentioned 256 bytes of zeros. The bios saved with atiflash opened fine in vbe7 without checksum error.

Related posts staring here in the vbe7 thread.

I have attached some comparison pictures and some corrupted files.
 

Attachments

  • HIS.HD7970.3072.png
    HIS.HD7970.3072.png
    151.7 KB · Views: 518
  • Sapphire.HD6850.1024.png
    Sapphire.HD6850.1024.png
    153.8 KB · Views: 508
  • Sapphire.HD6850.1024_2.png
    Sapphire.HD6850.1024_2.png
    131.9 KB · Views: 531
  • HIS.HD7970.3072.zip
    HIS.HD7970.3072.zip
    82.2 KB · Views: 233
  • leeb2013.zip
    leeb2013.zip
    82.7 KB · Views: 199
  • Sapphire.HD6850.1024.zip
    Sapphire.HD6850.1024.zip
    80.5 KB · Views: 201
  • Sapphire.HD6850.1024_2.zip
    Sapphire.HD6850.1024_2.zip
    79.9 KB · Views: 222
  • Viring.zip
    Viring.zip
    81.9 KB · Views: 216
  • XFX.HD7970.3072.zip
    XFX.HD7970.3072.zip
    82.4 KB · Views: 210
Could you link me to such files in our BIOS database? Or how to find them
 
There you go, few examples below:

0x7500 - 0x75ff (bios charset)
Sapphire.HD6850.1024.101125.rom
Sapphire.HD6850.1024.101125_3.rom

0x1e00 - 0x1eff (part of the rom init function)
Sapphire.HD6850.1024.110620_1.rom
Sapphire.HD6850.1024.110620_3.rom

0x1e00 - 0x1eff (part of the rom init function)
HIS.HD7970.3072.120105.rom
HIS.HD7970.3072.120105_1.rom

0x2800 - 0x28ff
XFX.HD7970.3072.120110.rom
XFX.HD7970.3072.120110_1.rom

Always the same thing, 256 bytes differ. Usually this area is filled with zeros, except the last example, that seems like some random stuff from the memory. And the corrupted file's checksum is invalid.
 
I added some CRC checking code to the BIOS DB and it returned around 100 BIOSes. I looked at all of them and it seems to be a completely random issue. Ancient cards like HD 2400 are affected just as much as HD 7900. I did see quite a lot HD 6850 BIOSes, but that could be due to the popularity of the card.

I deleted all those invalid files, most of which were never public (I need to approve every BIOS manually because people fail at entering correct data)

Edit: I also noticed that a lot of these BIOSes had "... original BIOS .." mentioned in the comments, which suggests people edited them and wanted to pass them off as original
 
Last edited:
Thanks, i still found one with invalid checksum though. Downloaded all hd7xxx BIOSes and all seems ok except this one.
Anyway, why does this weird thing happen? Any idea?
 
Last edited:
I don't have the 7870, but I do have a solid XFX DD 7850 bios if you need one.
 
Downloaded all hd7xxx BIOSes and all seems ok except this

I saw that one and left it up because it's the only one I have for this card. So I added the warning text instead.

I don't have the 7870, but I do have a solid XFX DD 7850 bios if you need one.

Just upload using GPU-Z, it will tell you if it's already in the database. Basically, whenever you get a new card, upload once using GPU-Z, done.

Anyway, why does this weird thing happen?

Not the slightest idea, it looks completely random.

Problem could be
a) during flash at factory
b) with flash chips
c) reading with GPU-Z
c1) maybe overclocking related
d) handling and transmission to BIOS database

Then there is also a sizable amount of people who modify their BIOS manually and don't fix the checksum
 
Back
Top