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
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.