If this website helps you, you may consider a small donation using the Paypal donation button !
Visiting sponsored ads is another way to support this site.


Welcome to 512Mb NVIDIA cards Softstrap ROM MOD How-To

  • Disclaimer : People interested by this procedure MUST KNOW that flashing with hacked ROM can just kill your card if not properly done, and since there is no way to tell if it will work before trying, there is no way to tell if the hacked ROM will be fine. Proceed at your OWN RISKS !
  • Here you will find detailed procedure dealing with patching 512Mb NVIDIA cards ROM when they're not properly recognized by Darwin Bootloader :
     
  • What you need :

    - 512Mb NVIDIA card (obviously)
    - nvflash DOS command line tool or Windows based command line tool
    - any hexadecimal editor (I recommand hexedit for OS X, but any other is fine)


    The detailed procedure below is known to work for GeForce 6/7 PCIe cards only (this means it does not work for AGP cards) :

    How to MOD your own ROM :

    - first dump your ROM booting to DOS or Windows with nvflash or nibitor :
    here is how you do it with nvflash command line tool :
    in DOS or Windows command prompt (CD to your nvflash directory, here nvflash is at the root of C: drive, in nvflash folder) :
    C:\CD NVFLASH
    which will return :
    C:\NVFLASH
    then type :
    C:\NVFLASH\nvflash --save BACKUP.ROM
    which will dump the ROM to file BACKUP.ROM

    - once you've backed up your original ROM, make a copy of it in a safe place, in case you want to revert to it later.

    - now we will patch the ROM softstraps so that Darwin Bootloader recognizes 512Mb VRAM
    open BACKUP.ROM with an hexadecimal editor it should look like this :

    00000000 : 55 AA 79 EB 4B 37 34 30 30 E9 4C 19 77 CC 56 49
    00000010 : 44 45 4F 20 0D 00 00 00 B4 00 0B 11 00 00 49 42
    00000020 : 4D 20 56 47 41 20 43 6F 6D 70 61 74 69 62 6C 65
    00000030 : 01 00 00 00 B0 10 2C 8E 30 38 2F 31 35 2F 30 36
    00000040 : 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00
    00000050 : E9 3C CE 00 00 00 96 03 FF CF EF 7F 00 10 10 00
    00000060 : FF FF FF 7F 00 00 00 80 22 00 A5 E1 E9 11 AF E9
    ...

    Softstraps begin at offset 00000058 :

    FF CF EF 7F 00 10 10 00 FF FF FF 7F 00 00 00 80 22 00 A5 E1

    in BLUE at offset 0000005a to 0000005b (here EF 7F) and at offset 0000005E to 0000005F (here 10 00) are the bytes we have to patch.
    in order to calculate the appropriate patch for your ROM, you have to use a programmer enabled calculator (OS X or Windows calculator do it well). Here is how you do it :

    - look at offset 0000005a to 0000005b (here EF 7F) flip the values (gives 7F EF) and subtract 01 80 (here : 7F EF - 01 80 = 7E 6F) Finally flip the result back (here gives 6F 7E) and replace original value.
    - at offset 0000005E to 0000005F (here 10 00) flip the value (give 00 10) and add 01 80 (here : 00 10 + 01 80 = 01 90) Finally flip the result back (here gives 90 01) and replace original value.

    here is the result :
    00000000 : 55 AA 79 EB 4B 37 34 30 30 E9 4C 19 77 CC 56 49
    00000010 : 44 45 4F 20 0D 00 00 00 B4 00 0B 11 00 00 49 42
    00000020 : 4D 20 56 47 41 20 43 6F 6D 70 61 74 69 62 6C 65
    00000030 : 01 00 00 00 B0 10 2C 8E 30 38 2F 31 35 2F 30 36
    00000040 : 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00
    00000050 : E9 3C CE 00 00 00 96 03 FF CF 6F 7E 00 10 90 01
    00000060 : FF FF FF 7F 00 00 00 80 22 00 A5 E1 E9 11 AF E9
    ...

    now save your fixed ROM so you can flash it to your card (here I will use FIXED.ROM name)

    And now the risky part, FLASHING :

    How to FLASH YOUR CARD :
    Since this is not standard flashing, please follow this guide to minimize risks :

    - safest way to flash a card is to have a DOS non write protected boot media, with latest nvflash command line tool (pen drive, hard disk, you name it - avoid boot from CD and floppy, or have a FAT formatted flash drive with all DOS utilities you need) Latest nvflash command line can be found at mvktech.net and you'll also find there "how to" with basic nvflash switches
    - even safer is to use another PCI or onboard VGA adapter as primary display to avoid flashing a card when its ROM is shadowed.
    - once you cd to your nvflash directory, do few things first to check your PC booted safely and detected your hardware correctly (remember DOS is an old OS which is not meant for new hardware, this can lead to corrupted flashing if you don't check everything before flashing)
    1/ check nvflash detects your card and on card rom chip with :
    nvflash --check
    (this will list nvidia display adapters, and supported on card rom chip)
    2/ compare with the ROM you dumped earlier to make sure everything is fine :
    nvflash --compare BACKUP.ROM
    if you get any mismatch other than filesize mismatch, reboot with your untouched card and try again.
    4/ once you're 100% sure nvflash works fine on your card, flash your card with the fixed 512Mb ROM
    nvflash --eraseeeprom
    will blank your current nvidia card ROM
    nvflash --index=0 -4 -5 -6 -j FIXED.ROM
    --index=0 switch can be --index=1 if you have another NVIDIA card as primary display device (PCI or onboard)
    you should not get error message at this point. if you get error message, try again without rebooting.
    if errors keep on showing, reflash with your original BACKUP.ROM and compare to make sure you did not kill your card
    5/ if flashing with FIXED.ROM went fine, do a last check with :
    nvflash --compare FIXED.ROM
    just to make sure...
    6/ we now suppose you did not get any specific error while flashing your card, so just cross your fingers and reboot.
    Darwin Bootloader should now detect 512Mb VRAM correctly.