NVIDIA and ATI BIOS Modding and Flashing Guides

Nvidia BIOS Modification Guide v1.0 - By Shadow703793

See the second post for the ATI guide




-------------------------------------------------------------------------------------------------------------
Updates:
3/30/2008: First version
3/31/2008: Stickied by TheGreatGrapeApe. Minor text changes.
4/6/2008: Added link to Video Card Overclocking Guide.

-------------------------------------------------------------------------------------------------------------
Tools:

Bootable Floppy disk and drive

Following Tools downloaded:

AtiTool 0.26 or higher (or Rivatuner)*
GPU-Z 0.1.8 or higher
NiBiTor 3.7 or higher
NVFlash 5.57 or higher

* I will be using AtiTool in this guide; you are free to use Rivatuner if you like it. To see more infomation on overclocking Graphics cards see:Guide to Overclocking Video Cards
=====================================================================================

Prerequisites:

Nvidia latest stable drivers (currently 162.18 for 8x00 series cards, the BETAdrivers do not work with AtiTool/RivaTuner correctly yet)
Good GPU cooling
Know how to use AtiTool or RivaTuner
Having previous knowledge of GPU overclocking is recommended

*************************************************************************************
Warning: Modifying the BIOS will void your warranty. Do so at your own risk. This information is provided as-is, and me or any one on THF is NOT responsible for the damage caused by a bad flash, incorrect flashing, or any other damage caused to the card or computer.
*************************************************************************************

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Step 1:

Create a bootable DOS floppy. I will not explain how to make a bootable floppy here. If you don't know how to do it ask some one else for help, find it on the Web, or just don't bother continuing. Copy the files named "cwsdpmi" and "nvflash" to the bootable floppy disk.

Step 2:

Run AtiTool. Increase the Core/RAM speeds to the higher stable levels. Run "Scan Artifacts" for at least 3 hours. Monitor GPU temperature; make sure the temperatures are within safe limits. If the tool finds artifacts in the 3-hour period, decrease the Core/RAM speeds so that the artifact scan will not show up any during the 3-hour period. Record the Core/RAM speeds. Minimize AtiTool (Make sure you do not exit out of AtiTool).

Step 3:

Open up GPU-Z. Make a note of the "Shader" clock. Click on "Save BIOS to File...". (It's the button next to the "BIOS Version") look at screenshot below.

2375474886_ed65ffbd2f_o.png


Save the file as "ORIGINAL.bin" to the desktop. Copy this to the bootable floppy disk.

Step 4:

Open up NiBiTor. Go to "File" => "Open BIOS...". Open "ORIGINAL.bin". (Make sure File type is set to .bin) See screenshot below.

2374641341_8eee1cd154_o.png


Once the file is opened check the Integrity of the file. Make sure the Integrity indicator is green (see screenshot below). If it is NOT GREEN DO NOT CONTINUE!

2374641373_1e96e990f4_o.png


Step 5:

Under "Clockrates" change the values to those of that you obtained with AtiTool (Clock/RAM). Enter the "Shader" clock value you obtained from GPU-Z. Look at screen shot below.

****Note: Due to differences in manufacturers and models not all options will be available to all users. For example I can only modify the 3D setting. You can also change other things such as fan speed, etc with NiBiTor, but I will not go in to those details here.


2375475184_631352d2d2_o.png


Step 6:

Save the new BIOS file ("File" => "Save BIOS..."). Save the BIOS as "MOD.rom". (Make sure it is a .rom file) to the desktop. Copy this file to the bootable floppy. Reboot the PC and boot from the floppy.


Step 7:

Once you are booted in to DOS. Type in "nvflash --protectoff" (without quotes).

2374643327_b9cd3f70e0_b.jpg


once this is done type in "nvflash MOD.rom"
2375478198_19a118fbc3_b.jpg



WARNING! This is the last chance to back out! Incorrect flashing will kill your card. Do NOT Reboot PC at any time during the flashing process.

Type "y". Then wait until you get the successfully flashed massage.

2375479020_98235b0653_b.jpg


Once you get this message take the floppy disk out and reboot the PC.

Congrats! If you have made it this far you have successfully flashed your new BIOS. To double check open up GPUZ and see the stock speed. It should be the same as the values you entered. Run a "Artifact Scan" from AtiTool just to be sure every thing is OK.
 

randomizer

Champion
Moderator
*Deprecated - Click here for an up-to-date tool*





ATI BIOS Modding and Flashing Guide
- by randomizer


(This guide is quite dated and needs an update. PM randomizer if you're interested, because I no longer have ATI hardware to do it)

DISCLAIMER: Don't blame me or anyone else here if you screw up your card overclocking or flashing. It is unlikely, but still possible. Always make sure you backup your original BIOS. You WILL void your warranty by flashing the BIOS, so keeping the original on hand is a good idea in case you want to send the card back ;)

This guide deals with editing and flashing the VGA BIOS on ATI video cards. This guide does not incorporate how to find your card's max stable overclock. Go to cnumartyr's overclocking guide for that. If you have not made sure that your card is stable at the clocks you want to set then stop reading and go and do that! Setting unstable clocks in the VGA BIOS may cause your card to fail to output a signal and force you to do a "blind flash," which is not alot of fun.

The flashing section applies to all ATI video cards. The editing section applies to all ATI video cards except HD2xxx and HD3xxx cards as the software for editing the cards described in this article does not yet work with these cards. These cards will be added later as there are programs available that support just these cards.

Why would you want to edit/flash your card's BIOS? A good question. Sick of having a million programs start up when loading windows and hogging all your resources? Well this will do away with the need for programs that control your cards clock speeds etc, although you will need them to find stable clocks first. Also if you aren't running windows, this is the only way to overclock your card.

Useful sites for ATI BIOS files:

MVKTech
techPowerUp

Stuff used in this article to perform the BIOS edit/flash:

Radeon BIOS Tuner (RaBiT)
ATITool v0.27 Beta 3
ATIFlash
■ Bootable floppy disc, CD or USB flash drive - your choice but this guide will mention floppies throughout.
■ An ATI card (your kidding, right?)

Important notes before you start:

If there is an error during the flash and the program did write to the BIOS, DO NOT REBOOT!! Reflash the original BIOS and make sure the new one is not corrupted. This will save you the hassles of a blind flash from a corrupted BIOS. If the program gives an error, but no write occurred (it should say if there was no write), it is safe to reboot.

If you flash a BIOS with a different device ID (for example, you used a BIOS for a different manufacturer), you MUST reinstall your drivers. If you don't, you may experience image corruption or worse. Remember, as far as windows is concerned you have a different car in there.


Step 1 - Saving your BIOS to an editable .rom or .bin file:

First thing you need to do before you can get stuck into editing your BIOS is to actually save it as an editable file. Both ATITool and RaBiT can do this.

NOTE: It doesn't matter if its a .bin or .rom file.

* ATITool: Go to Settings -> Miscellaneous and click the "Save VGA Bios to file..." button (may be slightly different in other versions). Pick where you want the file to go (desktop is good and easy to find) and name it something like original.bin or default.bin or something like that so you know its your default BIOS file.

atitool01.jpg


* RaBiT: Go to Open -> Onboard EEPROM to load the current BIOS into the program. Then go Save As -> ROM BIOS file. Pick where you want the file to go (desktop is good and easy to find) and name it something like original.rom or default.rom or something like that so you know its your default BIOS file.

rabit05.jpg


Now Make a copy of the file just in case you accidently overwrite it.

NOTE: If you are flashing another card's BIOS or a custom BIOS and not editing one yourself, skip Step 2 and go to Step 3.


Step 2 - Editing your BIOS file:

Heres where you get your hands dirty. Open the BIOS file in RaBiT by going Open -> ROM BIOS file. Verify that the program has correctly read your card's chip model in the Device tab.

rabit01.jpg


For the next few sections on clock and memory settings, it is not recommended to enable the "Realtime" checkbox, as any changes you make will be automatically set straight away. I am unsure if this alters the BIOS in realtime or if it is similar to overclocking with ATITool and ATT, so I don't use it, but may in the future. If someone could clarify this that would be great. If you do try to enable it, you will get a nice warning box so dont worry if you accidently click it.

Now go to the Clocking tab and simply change the Core and Memory clocks to whatever you want, but make sure that you KNOW thats it's stable. Bump the VDDC (core voltage) if you need to, but make sure your card doesn't already run very hot. Note that some cards do not support changing the voltage even though the BIOS has a voltage table and the option to change the voltage is here. This is a hardware level issue and cannot be resolved by software. Some manufacturers are just too lazy to remove the voltage table :lol:

rabit02.jpg


Anyway, on to the Memory tab. Here you can play around with memory timings on the card. This is the easiest way to wreck your card (thus requiring a blind flash) and is NOT recommended for most people. You may or may not be able to change your memory bus and memory size, although these should already be fine and should not require changing (unless you want to make your card slower :heink:)

rabit03.jpg


Now for the Features tab. What is enabled here depends on your BIOS and what is enabled for your card. Here you can enable/disable DVI and TV outputs if you want to, as well as VIVO. You can also play around with a few TV settings. What is of more interest is the fan settings. Assuming your card has dynamic thermally controlled fan speeds, you can set here what you want the fan to spin up to at different temps. For people who find their card constantly getting hot, you may want to set the fan to spin faster at a lower temp to keep the card cooler.

rabit04.jpg


The logging tab is not of much interest to most people, it just tells you about a bunch of BIOS related information, but is handy for debugging purposes.

And the About tab... well if you want you can donate, but other than theres nothing much to see here.

Ok now save your new BIOS settings to a new file, make sure you don't overwrite your original.


Step 3 - Preparing to Flash:

Now this is the part that everyone needs to do. Make a bootable floppy and extract ATIFlash files to the disc. Put your original BIOS and your new BIOS files on the disc and write down the names if you need to. Now make a second bootable disc and put the files on that as well, but not the new BIOS file, just the flash program and the original BIOS file. On the second disc create a text file called autoexec.txt and put this line into it (ignoring the 1. at the front of every code box, the forum adds that automatically):

Code:
atiflash.exe -f -p 0 bios.rom -scansii
The file extension is usually .rom or .bin, it doesn't matter which one you use. Note that this is only for a single video card. If you have more than one video card, you must use a different adapter number. Only one BIOS can be flashed at a time, so if you want to have two emergency flash discs (one for each card), each one will need to specify a different adapter number. For a second video card, the code would be the following:

Code:
atiflash.exe -f -p 1 bios2.rom -scansii
Again, the filename can be anything. Instead of having two discs, you can simply edit this file in windows after you flash the first card, it's up to you. You may also be able to include both lines in one file (get the BIOS filenames right for each!), but that will unnecessarily flash a working card. Now rename the file to autoexec.bat, and you have yourself an emergency reflash disc!


Step 4 - Flashing:

Stick your floppy in and reboot. Go to the BIOS (of your motherboard not your card of course) and make sure you have your floppy as your first boot device. Reboot again and DOS will load from the floppy. Next, if you only have one video card, type in:

Code:
atiflash.exe -p 0 bios.rom -scansii
You will use the filename of your new BIOS. If you are using a BIOS from another card you may get errors, and you may need to add in the extra switches to force the program to flash with a different Device/Vendor ID etc. If you have this problem use the following:

Code:
atiflash.exe -f -p 0 bios.rom -scansii

If you have more than one card, it is a good idea to first find out which card is using which number (to avoid incorrect flashes), so use the following code:
Code:
atiflash.exe -i

That will display lots of information about the adapters and should include the numbers that nvFlash will identify them with (0/1/2...). When you have determined which card is which, you can use the previous code to flash that card, remembering to change -p 0 according to which card you are flashing. Remember that if your flash goes wrong that your autoexec.bat file must include the correct adapter number or it won't fix your problem.

Once the flash is complete, reboot the PC. If you get no signal or something doesn't look right, just boot from your reflash card and go back and edit your settings to make sure everything is ok. Open up RaBiT and/or ATITool and verify that your settings have taken place (most should have, but some like voltages and fan settings may not be possible to change).


If something goes wrong!!

If something goes wrong simply stick your emergency reflash disc in and reboot, making sure you boot from floppy (or whatever you used) first, and the batch file will automatically run ATIFlash and force it to flash the original BIOS regardless of the Device/Vendor ID etc. Give it a minute or two just to make sure it's done then reboot and you are good to go.

Alternatively, if you have a PCI (not PCIe) card lying around, you can use that to get your display back up and reflash your card. Make sure you specify the correct card ID, you dont want to flash your PCI card wrong too! If nothing shows up when connected to the PCI car, remove your main card and boot up. Change the "Init Display First" (or similar) to PCI rather than AGP/PCIe, then stick your main card back in.

As a final note, there are rare occassions when reflashing the BIOS as described in this guide doesn't fix a problem with no signal. If you have exhausted all options, head over to the forum at MVKTech for advice. Grounding the EEPROM is not covered in this guide (mainly because I don't have a clue how to do it :kaola:)
 

freezed1

Distinguished
Jan 17, 2007
283
1
18,790
Hi, very good guide...i flashed my card yesterday.....took me ten minutes, its very fool proof....cant go wrong....Also you should explain people about Sub vendor ID and Sub system ID.....my card had a different Sub system and vendor ID and it would not let me flash the bios at all....-4-5-6....forced flashing...nothing worked......so i opened up nibitor again put the correct ID's in the program and flashed...it worked flawlessly :bounce:

thanks...and gl
 

fred_84

Distinguished
Sep 11, 2011
3
0
18,510
Hi

Thanks a lot for your guide. I'am having issues right from step 1 though...
ATItool has the "save VGA bios to file" greyed and unclicable. Couldnt find where to open the BIOS file in Rabit.
Can you give me a little help ?
Thanks again.

fred
 

randomizer

Champion
Moderator
What card are you using? Personally I would not worry about what is in this guide now as it's far too old. Unless you're using an X1000 card or older, use this instead: http://www.techpowerup.com/rbe/
 

fred_84

Distinguished
Sep 11, 2011
3
0
18,510
Thanks for the link !
I'm using a mobility radeon 5870, even the newer softwares seem to have a lot of issues to save its BIOS file. GPU 0.5.5 even crashes the whole computer when I try.
 

randomizer

Champion
Moderator
I can tell you right now that your 5870 won't work with anything in the guide ;) The last time most of that software was updated was around 2008. Try ATIFlash, it might be able to save the BIOS for you. It's linked in the guide and it's actually up to date. It's not well documented though, so you might have to do some digging online to find the commands to save the BIOS. Just make sure that any commands you try don't include the -p flag as this is to flash, and you don't want to do that yet obviously ;)

 

fred_84

Distinguished
Sep 11, 2011
3
0
18,510
Thanks randomizer ! :)
I was able to find some special update by Asus for the problems I had for my card with some files to make an easy bootable usb drive. It worked smoothly and havent had problems since !
Cheers
 
G

Guest

Guest
Hi all,
I would like to know more info about the Rabbit logging tab.
In particular these fields:

> Hardware table: at 0x6E2, Rev.2
hw_a: 0x330F, hw_b: 0x0000
> DFP table offs: 0x6F4
DFP table Ver.4, 2 preset(s)
TMDS_PLL(1FB800CD), freq = 150.00 MHz
TMDS_PLL(1FBB01D2), freq = 200.00 MHz

-- ROM BIOS info --
Chipset family: Radeon 9600 based
> PLL script at 0x05D8
> PLL2 script at 0x06A0
> INIT script at 0x02A6
> MEMORY script at 0x047

-- Found hardware registers values: --
> REG(140): 0x00000071 at 0x0475
> REG(144): 0x1A289111 at 0x04AB
> REG(158): 0x31320032 at 0x04C1
> REG(178): 0x00001017 at 0x0398
> REG(17C): 0x0BBD0BBD at 0x039E
> REG(18C): 0x2F302F30 at 0x04A5
> RAW_DATA: 0x00000071 at 0x0202
> PLL(0A): 0x03333304 at 0x0602
> PLL(0D): 0x00007FFA at 0x065C
> PLL(12): 0x001F2323 at 0x0631

Somebody can help me?
I'm trying to debug/disassable my X550 video bios, and Rabit seems it is the only tool that can provide me some useful information :)
Thanks a lot
Bye