About the mod
I was searching around the net the last couple of days, and found quite a few recent news postings about bios flashing a GeForce FX5900 128mb video card and turning it into a 128mb FX5950 Ultra (the 5950u is a 256mb card). The default clocks on the 5900's are 400mhz core and 850mhz memory. The clocks on the 5950 Ultra are 475/950. My first thought was that my BFG FX5900 card will overclock to 483/936 without artifacts, so how much would I gain? The forum posts I found claimed that the 5900 using the 5950u bios will overclock even higher than before the flash. Common knowledge is that the 5950u is the same card as the 5900 and uses the same GPU, but has 256mb of faster memory on board. The memory difference is not an issue because the bios will recognizes the 128mb as "normal" and works fine. Being one that likes a challenge and has a bit of nerve, (and a Radeon 9700 Pro to fall back on) I looked into this further.
GPU Throttling
When overclocking my stock 5900 I noticed something unusual. Unlike all the other cards I have successfully overclocked, this one would not lockup, or develop any artifacts as I upped the core clock speed. I could go up to 500mhz or more, but my benchmark scores would get worse. The card was clocking faster, but getting slower! From what I understand the new nVidia drivers use the thermal diode on the GPU to monitor the temps and will "underclock" the card in case of overheating. I thought that the GPU core had allot of speed left in it, but the drivers were killing the performance by throttling back. I was actually looking for a way to disable the temperature monitoring feature of the drivers, when I came across the "flash" method we are discussing here.
I will interject a bit of my own theory here. I believe that nVidia has their driver throttling back the GPU speed at a lower temp on the 5900 than they allow on the 5950u. If this is correct, the 5950u card is allowed to run at higher temps, and the drivers will not throttle back until much later. Alternatively, the driver may look at the core clock speed and adjust performance based on the amount of overclock. I suspect both scenarios might be used together. The 5950u cards do have what appear to be larger, more efficient heatsinks. The heat protection feature most certainly will allow a cooler card to run at a higher clock speed with greater performance. This is something to consider, but we are protected against overheating none the less.
What to expect after the mod
By flashing the 5900 to the 5950u bios, we are assuming a few things. It appears that the 5950u bios is applying a small amount of extra voltage to the GPU core, allowing it to clock higher. It also adjusts or "loosens" the memory timings, so that the memory can reach higher clock speeds. The card's "ID" is also changed. The driver will now recognize the card as a genuine 5950 Ultra part.
It seems that all of the 5900 cards are pretty much the same. The TV out and VIVO functions may or may not work after the flash depending on your bios choice and card. I never use my TV out, so this was not a concern.
Cards that we have personally verified to accept the flash mod
BFG FX5900
PNY FX5900
MSI FX5900
Preparing for the mod
Basically this mod entails downloading a 5950u bios and flashing your card with a bios flashing utility. We will demonstrate the method we used. Another option is to use the nvFlash utility and your own bios file. I won't get into using nvFlash as I have not verified the procedure, and in fact I started off trying to use it and had it "error out" on me. The good thing is that this flash mod can be reversed easily if you don't like the results. In case of a "bad flash" you can use a PCI video card to reflash your 5900. I feel this mod is fairly safe, but you first MUST BACKUP AND SAVE YOUR OLD BIOS ON A FLOPPY DISK before you run the flash. You have been warned!
Step by step process
[Step 1] Down clock your system and video card. If you have anything overclock, be sure to clock it back to factory defaults.
[Step 2] Select and download the correct bios. Almost every manufacturer that produces a 5900 card also makes a 5950u. The most logical choice would be to use the 5950u bios from your card's manufacturer. In our case, we will be using the Leadtek "A380 Ultra" bios. It appears that so far, all cards flashed will accept the Leadtek A380 Ultra bios.
[Step 3] Unzip the zip file and place the files on a DOS boot disk. In our case the zip file contains a "read me" and 3 files. I unzipped these files to my desktop and renamed the A380U_2978.ROM bios file to A380U.ROM link, as this is easier to remember and type later. Now create a DOS boot disk, if you don't have one already. With Windows XP, you simply insert a blank floppy disk in your disk drive, right click and then format. On the format screen there is a box you check to create a DOS boot disk. Once your boot disk is ready, copy your unzipped files to the floppy disk.
[Step 4] Reboot with the DOS boot disk. Make sure your computer IS NOT overclocked, and reboot with the boot disk in the drive.
[Step 5] You will soon see the "A:\>" prompt. This is your command line. Type: "WFFLASH.EXE S" with no " " . This will take a minute or two and will back up your original bios.
[Step 6] Now we will flash the new bios. Type: "WFFLASH.EXE NM A380U.ROM" with no " " . This will also take a minute or two. DO NOT shut down your computer. Wait. You will be greeted by a welcomed "Programming is OK (0)" message.
[Step 7] Now reboot. If all is well you will be greeted by a colorful "Winfast A380 Ultra VGA Bios......" boot screen. Success!!! If you have any problems, power your system all the way down and reboot. If you have no video, a PCI video card can be used to re-flash and recover your bios using the same procedure.
The boot screen will display 128mb of video RAM. The Nvidia drivers will reload and show your card as a 5950 Ultra. You will need Power Strip, Riva Tuner, etc., or the registry hack to gain access to the overclocking panel in the driver. You will see that your clock speeds are 475/475. Happy overclocking.
Our results
Our results for the BFG FX5900 at the maximum overclock that yielded the best score. The core speed in both cases would go higher, but the drivers slows the core to "protect" it from heat damage. Better cooling could be beneficial. This was on an AMD/KT600 based system.