# GTX580 BIOS dump by GPUZ is wrong !



## rui0317 (Nov 11, 2010)

Hi W1zzard!

Actually there is two ROM image in the GTX580 EEPROM chip. For dumpping the  GTX580 BIOS, there is an additional condition(offset) needs to be check: "Indicator" byte in the PCI Data Structure area , normally this byte = 0x80, means "Last image", but in GTX580 BIOS, this byte = 0x0 ! It means that there is another image follows! 

PCIRaddress = word ptr [0x18]

IndicatorAddress = PCIRaddress + 0x15

I've got two GTX580 BIOS dump by GPUZ, the second image has been ignored.


----------



## W1zzard (Nov 11, 2010)

checking


----------



## W1zzard (Nov 11, 2010)

confirmed .. there is additional data past 0x100000 .. where is that indicator byte in the BIOS ROM dump ?
only gtx 580 has 128k bios ? or also earlier cards?


----------



## rui0317 (Nov 11, 2010)

Use nvflash 5.100 to dump the GTX580 BIOS, you will see the different. 

"PCI Local Bus Specification Revision 3.0 , August 12,2002"

This document descripts the meaning for "Indicator", at page 230. It also tell you how to fine this byte location in  BIOS image. This is a standard usage for ALL PCI BIOS, providing a capability to combine additional image into PCI BIOS.

I never see NV or ATI use this feature, but on GTX580 BIOS, nvidia just enable it for combinning an unknow image .

You know how to calculate the bios size. For GTX580, size = [bit2]*0x200 = 0x72 * 0x200 =0Xe400, check datas at 0xe400, you will fine the second image. It is standrad PCI BIOS structure, size byte is at bit2 ( 0xe402), that's the way to get the second size value.


----------



## W1zzard (Nov 11, 2010)

ok .. fixed in gpuz .. 

test build:  [GPU-Z Test Build] Fix for BIOS reading on GTX 58...


----------

