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

GTX580 BIOS dump by GPUZ is wrong !

Discussion in 'GPU-Z' started by rui0317, Nov 11, 2010.

  1. rui0317 New Member

    Joined:
    Sep 16, 2009
    Messages:
    27 (0.01/day)
    Thanks Received:
    29
    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.
    Ev1LrYu says thanks.
  2. W1zzard

    W1zzard Administrator Staff Member

    Joined:
    May 14, 2004
    Messages:
    14,791 (3.93/day)
    Thanks Received:
    11,493
    checking
  3. W1zzard

    W1zzard Administrator Staff Member

    Joined:
    May 14, 2004
    Messages:
    14,791 (3.93/day)
    Thanks Received:
    11,493
    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?
  4. rui0317 New Member

    Joined:
    Sep 16, 2009
    Messages:
    27 (0.01/day)
    Thanks Received:
    29
    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.
    Last edited: Nov 11, 2010
  5. W1zzard

    W1zzard Administrator Staff Member

    Joined:
    May 14, 2004
    Messages:
    14,791 (3.93/day)
    Thanks Received:
    11,493
    Last edited: Nov 11, 2010

Currently Active Users Viewing This Thread: 1 (0 members and 1 guest)

Share This Page