arrowHome arrow Forums
MVKTech Home Page
TreatYouGoods
Camera
Digital Cameras
Video Cameras
Main Menu
Home
News
Guides
Reviews
Previews
Downloads
Forums
Uploads
Links
Contact Us
Getprice Comparison
Digital Cameras
Hard Drive Disk Trays Caddies
Latest Downloads
Nov.30
Downloads
Galaxy 9800GT PCIe 512MB - Rev 01
Nov.30
Downloads
XFX 9600GT (X3) PCIe 512MB - Rev 04
Nov.30
Downloads
XFX GTX260 (BL) PCIe 896MB - Rev 02
Nov.23
Downloads
ASUS 9800GT+ (MX) PCIe 512MB - Rev 01
Nov.23
Downloads
Galaxy 8500GT (LP) PCIe 512MB - Rev 01
Price Comparison
Comparison shopping
Laptop
Tomtom
Digital Camera
Mobile Phones
Ink cartridges
VOIP
Shopbot NZ
Shopbot ZA
Login Form





Lost Password?
No account yet? Register
Top Downloads
592377
Downloads
Omega WinXP2k v1.6693
320613
Downloads
Omega WinXP2k v1.4523a
229361
Downloads
nvFlash v5.13
224100
Downloads
NiBiTor v3.2
164098
Downloads
RaBiT v2.2.1
MVKTech Support Forums  


<< Start < Prev 1 2 3 Next > End >>
Re:Moded 59xx bios's - 2004/12/30 19:36 I have deliberately bumped this thread to a better location, because there still appears to be some real interest in using modded bios's ?

And I have posted my 59xx bios modding guide here for same reason !

Guide to Modifying bios of Nvidia FX59xxx Series VGA Card.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This Guide is written in a way that should allow any layman with no bios design experience to make selected changes to a bios file, which can appreciably improve the performance of a 59xxx series vga card.

I will start with a simple cautionary warning to all who think that bios modding appears very straight forward and thus holds no threat to them.

The major, but least understood, problem with modifying a bios and flashing, is that going too extreme may stop your card posting during computer bootup. It may not be a bad bios, just a bad flashing of your card which stops it posting. But if it happens, then maybe only a professional with the right tools may be able to recover the situation and reflash your card to a working state.

Just a small warning to everybody wanting to play about with bios modding -----> Do something wrong, doesn't have to be more than a binary digit out of place or a bad flash and you could be looking for that professional bios fixer, or another card.

So be careful out there !!!

The FX5900nu, FX5900u and FX5950u cards are basically to same design and therefore bios's are generally interchangeable, and likewise any modified versions. The newer FX5900XT type (inc SE/LX/SP etc) however is somewhat different and cheaper design of card, and its bios, although interchangeable with other XT's, is not useable with the original 59xx cards. When proposing bios changes it is therefore considered best to treat them separately.

However a number of the performance inducing changes included in the guide, derive from using some of the beneficial parameters from a XT bios with those of higher card bios, and vice versa.

The Ray Adams X-Bios Editor v103.520 is recommended for all bios changes as it includes a good Hex Editor, and more importantly it will add a correct CRC bit to ensure a successful flash. For flashing, it is recommended that nvflash.exe v4.41 be used, as it is a program I have used with complete success hundreds of times.

For the purposes of this Guide, none of the ASUS 59xx bios's set to only run in 3D mode are considered applicable, as GPU and Memory initialisation and table structures are different from all others bios's.


1. FX5900nu, FX5900u and 5950u.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(a). SPEEDS.
~~~~~~~~~~~~
The first important thing about GPU and Memory speeds is to identify how to find and read them. All speeds are stored as 8 bit binary words which are derived from a hex conversion of the speed required.

Typical stock speeds of 300/400/850 mean,

2D speed is 300MHz.
3D speed is 400MHz.
Memory speed is 850MHz, (actually 425, only given as 850 for DDR Memory).

In simplistic terms, a binary word for speed is derived by multiplying the speed value by 100, converting to Hex, transposing the last and first two digits of Hex value and adding four zero's to the end.

2D speed = 300x100 = 30000 = 7530 Hex = 30750000 bin word (or 30 75 00 00)
3D speed = 400x100 = 40000 = 9C40 Hex = 409C0000 bin word (or 40 9C 00 00)
Mem speed = 425x100 = 42500 = A604 Hex = 04A60000 bin word (or 04 A6 00 00)

To find any GPU or Memory speed in a bios just look for the 8 bit binary word that represents it, ie for 300MHz look for "30 75 00 00", and change it to any other 8 bit binary word. It is important to look for the 8 bit binary value rather than just the front 4 bit word, as that particular 4 bit sequence may exist in a number of places as programming code, and could cause serious problems if changed.

The GPU and Memory speed tables are located near the end of the bios file and are structured as three closely located tables starting with 2D, then Throttling and finally 3D. Each table consists of nine 8 bit binary words, the first bin word being for GPU speed followed by eight 8 bit words for Memory speed. Throttling is set at 375MHz regardless of GPU 2D/3D speeds, And Memory speed is set the same for all Tables.

Using the above example of 300/400/850 shows,

2D Table (300/850),
~~~~~~~~~~~~~~~~~~~
30 75 00 00 04 A6 00 00 04 A6 00 00 04 A6 00 00
04 A6 00 00 04 A6 00 00 04 A6 00 00 04 A6 00 00
04 A6 00 00

Throttling Table (375/850),
~~~~~~~~~~~~~~~~~~~~~~~~~~~
7C 92 00 00 04 A6 00 00 04 A6 00 00 04 A6 00 00
04 A6 00 00 04 A6 00 00 04 A6 00 00 04 A6 00 00
04 A6 00 00

3D Table (400/850),
~~~~~~~~~~~~~~~~~~~
40 9C 00 00 04 A6 00 00 04 A6 00 00 04 A6 00 00
04 A6 00 00 04 A6 00 00 04 A6 00 00 04 A6 00 00
04 A6 00 00


The Throttling function is only applicable to 3D Mode and can thus be effectively disabled by setting speed to same as 3D. This is what was done by manufacturers of some FX5700u bios's I have checked. However, remember to also raise GPU throttling volts to cater for raising speed to that of 3D.

Another way of removing throttling, is to use a ASUS 5900u or 5950u bios as they operate in 3D all the time and appear to have no throttling mode. However, setting the "Force constant performance level" option of Rivatuner RC15 to "performance 3D" only runs a vga card in 3D and also disables Throttling.


(b). GPU VOLTS.
~~~~~~~~~~~~~~~
Closely following the three speed tables, is a Lookup Table for setting GPU volts of the 2D, Throttling and 3D modes. The main parts of the table are typically laid out as a 18 Bit binary string as follows,

03 00 07 78 04 82 05 8C 06

The first three 2 bit values of the string describe structure, where the "03" shows that the table has three choices, and the "07" indicates each choice can have a max of 00 to 07 (or 8) possible volts levels; in this instance equating to the range 0.8 to 1.5v in 0.1v steps.

The three 4 bit binary words following the "07" show the actual values set for this bios, where the first two bits of each 4 bit word is only an indicator of volts expected (found by converting to decimal/100), and the next two bits of each 4 bit word actually set the GPU volts level.

To select GPU volts, the driver compares a Performance Level Volts Indicator (PLVI) value, which is found immediately after the memory timing string for a given mode, with the first 2 bit part of each 4 bit binary word in the lookup table, and selects the first one which is EQUAL or GREATER in value. To ensure proper operation with the above example table, the PLVI values would be expected to be set at 78 for 2D, 82 for Throttling and 8C for 3D modes.

Using the above GPU volts table example,

(hex 78)/100 or 120/100 = 1.2 = volts level 04
(hex 82)/100 or 130/100 = 1.3 = volts level 05
(hex 8C)/100 or 140/100 = 1.4 = volts level 06

This shows that GPU volts in 2D as set by level 04 is 1.2V, and in Throttling mode as set by level 05 is 1.3V and finally 3D as set by level 06 is 1.4V. You can however interchange any of the 4 bit values, and thus set 2D GPU volts at 1.4V if desired.

The highest available 07 volts level is used in a 5950u bios, for setting GPU volts at 1.5v, in order to run at higher speeds. And when present, is represented by "96 07" in the "3D" position of the table. Although not normally used by 5900nu or 5900u bios's, there is no reason why either can't have the GPU volts set at the 1.5v level of a 5950u.

Therefore in total, a 5900nu, 5900u or 5950u bios can be modified to make GPU volts in 2D, Throttling and 3D modes anywhere from 0.8 to 1.5v (volt levels 00 to 07).

Also, the lookup table structure allows the scanned number of functional, or mode, choices to be increased or decreased by changing the first "03" value. Increasing it to "04", for example, enables a new GPU volts choice of 1.5v to be achieved by simply adding "96 07" into the table; or maybe a 1.1v choice by adding a "6E 03".

However, because of how the Driver scanning and selection process works, it is necessary that the lowest volts choice be at the table start, and thereafter in ascending order up to the highest choice being at the end. And, not adhering to this rule can cause real problems. For example, if you set the low end of the table at the highest value of "96 07", then no matter what PLVI value is set in a bios, the driver will always select "96" and thus set GPU volts at 1.5 for all modes; simply because the Driver looks for first value that is equal or greater than PLVI.

And it is important that once the table structure is fixed, including number of choices and values offered, the PLVI value for each given mode must also be updated accordingly.


(c). MEMORY LATENCIES.
~~~~~~~~~~~~~~~~~~~~~~
Almost as an extension to each of the three speed tables, and for the sake of simplicity, is a 28 bit binary string for controlling memory timing. A typical sequence for a 5900nu bios is "040205150017000E000707030403", whereas a 5950u can be "04030517001A000F000808040503".

Changing this string to "040204110013000B000606030404", which is typical of the tighter timing control of a XT type bios, can give some performance improvement. The change must be done to the binary sequence which runs concurrent to each of the three speed tables. A byproduct of the tighter timing can be a reduction of up to 5% in the ability to overclock memory speed.

Nearer the end of a bios file is a table of memory latency values, made up of eight 8 bit binary words. Normal values for a 5900nu are "07 00 0F 43", where both 5900u and 5950u are "07 03 0F 43". Some trials have shown that improved performance can be got by reducing the 43 to 40. The change must be made to each of the eight binary words in the table.

For cards with 128Mb memory, some extra performance can be gained by changing every "07 03" sequence to "07 00". Making a final latency of "07 00 0F 40".



2. FX5900XT/SE/LE/LX/SP etc.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(a). SPEEDS.
~~~~~~~~~~~~
Changing speeds in a XT types bios is the same as above for 5900nu, 5900u and 5950u bios's.


(b). GPU VOLTS.
~~~~~~~~~~~~~~~
Closely following the three speed tables, is a Lookup Table for setting GPU volts of the 2D, Throttling and 3D modes. The main parts of the table are typically laid out as a 18 Bit binary string as follows,

03 00 03 78 01 82 02 8C 03

The first three 2 bit values of the string describe structure, where the first "03" shows that the table has three choices, and the second '03' indicates each choice can have a max of 00 to 03 (or 4) possible volts levels; in this instance equating to the range 1.1 to 1.4v in 0.1v steps.

The three 4 bit binary words following the second '03' show the actual values set for this bios, where the first two bits of each 4 bit word is only an indicator of volts expected (found by converting to decimal/100), and the next two bits of each 4 bit word actually set the GPU volts level.

To select GPU volts, the driver compares a Performance Level Volts Indicator (PLVI) value, which is found immediately after the memory timing string for a given mode, with the first 2 bit part of each 4 bit binary word in the lookup table, and selects the first one which is EQUAL or GREATER in value. To ensure proper operation with the above example table, the PLVI values would be expected to be set at 78 for 2D, 82 for Throttling and 8C for 3D modes.

Using the above GPU volts table example,

(hex 78)/100 or 120/100 = 1.2 = volts level 01
(hex 82)/100 or 130/100 = 1.3 = volts level 02
(hex 8C)/100 or 140/100 = 1.4 = volts level 03

This shows that GPU volts in 2D as set by level 04 is 1.2V, and in Throttling mode as set by level 05 is 1.3V and finally 3D as set by level 06 is 1.4V. You can however interchange any of the 4 bit values, and thus set 2D GPU volts at 1.4V if desired.

Other than some manufacturers initial entry XT cards based on a 5900nu, there is no direct readaccross to a 5950u GPU 1.5v option. However, if the third from left 2 bit binary value in the lookup table sequence of your original XT bios is a 07, then your card may be 1.5v capable.

A XT type bios can still however be modified to set GPU volts in 2D, Throttling and 3D modes anywhere from 1.1v to 1.4v (volts levels 00 to 03).

Also, the lookup table structure allows the scanned number of functional, or mode, choices to be increased or decreased by changing the first "03" value. Increasing it to "04", for example, could enable a new GPU volts choice of 1.1v to be achieved by simply adding "6E 03" into the table.

However, because of how the Driver scanning and selection process works, it is necessary that the lowest volts choice be at the table start, and thereafter in ascending order up to the highest choice being at the end. And, not adhering to this rule can cause real problems. For example, if you set the low end of the table at the highest value of "8C 06", then no matter what PLVI value is set in a bios, the driver will always select "8C" and thus set GPU volts at 1.4 for all modes; simply because the Driver looks for first value that is equal or greater than PLVI.

And it is important that once the table structure is fixed, including number of choices and values offered, the PLVI value for each given mode must also be updated accordingly.


(c). MEMORY LATENCIES.
~~~~~~~~~~~~~~~~~~~~~~
Almost as an extension to each of the three speed tables, and for the sake of simplicity, is a 28 bit binary string for controlling memory timing. A typical sequence for a 5900XT bios is "040205110013000B000606030404".

Changing the sequence to "0301040C000F0009000505020303" has shown to give some performance improvement. This particular string was found using a Prolink FX5900XT GL. The change must be done to the binary sequence which runs concurrent to each of the three speed tables. A byproduct of this tighter timing can be a reduction of up to 3% in the ability to overclock memory speed.

With the exception that memory latency in a XT bios may be at "07 03 0F 03", changes are the same as for the 5900nu, 5900u and 5950u above. So, in this case the last "03" in each of the binary words would be changed to "40"

For cards with 128Mb memory, some extra performance can be gained by changing every "07 03" sequence to "07 00". Making a final latency of "07 00 0F 40".




@ jimmor v2.3c
  | | The administrator has disabled public write access.
TV-Out black&white - NTSC/PAL settings in the BIOS-Code?!? - 2005/01/18 19:38 I'm currently using the Leadtek A350 "L5x4593T.rom"-BIOS on my Leadtek A350 XT. Everything's working fine - except the fact that the TV-Out is black and white since I'm using the new BIOS.

Is this related to NTSC/PAL settings?
Is there a BIOS-Code to the TV mode?

Uli
  | | The administrator has disabled public write access.
Re:TV-Out black&white - NTSC/PAL settings in the BIOS-Code?!? - 2005/01/18 19:57 Did it work before? Cause that sounds like TV-settings to me, e.g. If you have two scart connectors on your TV often only one will be able to handle color when attachd to an S-video adapter. Also there are often two settings for the same AV-channel, e.g. AV2 and AV2S and only the latter will give a color image, the same goes if you have a built-in S-video connector in the TV. These channels are named differently on different TV-sets but you get the general idea... You probably checked all this already but I just wanted to make sure, if this is the problem it could spare you some grief

Good luck! / Olur
  | | The administrator has disabled public write access.
Re:TV-Out black&white - NTSC/PAL settings in the BIOS-Code?!? - 2005/01/18 20:07 In the BIOS it is set if it PAL or NTSC... So I think you flashed your card with a BIOS that has changed this setting.
  | | The administrator has disabled public write access.
Re:TV-Out black&white - NTSC/PAL settings in the BIOS-Code?!? - 2005/01/18 21:05 Before flashing, TV-Out worked without problems (flashing the old BIOS brings the colour back).
If there is a code to set NTSC/PAL hidden in the BIOS -
does anybody know how to edit it?
Thanks,
Uli
  | | The administrator has disabled public write access.
Re:TV-Out black&white - NTSC/PAL settings in the BIOS-Code?!? - 2005/01/21 08:11 panchi wrote:
I'm currently using the Leadtek A350 "L5x4593T.rom"-BIOS on my Leadtek A350 XT. Everything's working fine - except the fact that the TV-Out is black and white since I'm using the new BIOS.

Uli


The "L5x4593T" is a 5900nu bios and thus not particularly suited to your XT card.

Have you tried the Leadtek A350XT bios at first post and linked below. It has proven to be an excellent bios for many different manufacturers XTcards.

http://home.arcor.de/redinferno/5900XT-BIOS/MOD-BIOS/leadtek%20A350THD/A350XTDH.zip

EDIT:

Of course panchi, you could just use my 59xx bios modding guide and/or NiBiTor v1.9, to mod your cards original bios?
  | | The administrator has disabled public write access.
<< Start < Prev 1 2 3 Next > End >>
IDE Hard Drives
Compare Prices
Shopbot.ca
LCD TV
GPS
Digital Cameras
Mobile Phones
Laptops
LCD Monitors
MP3 Players
Appliances
Online Casino
CNI Laser - Blue Desktop Lasers
New Reviews
Gainward GeForce GTX 260 Standard Version
Gainward BLISS 9800 GX2 Dual-GPU Version
PowerColor Radeon HD 3650 Xtreme Cooling
Dragon Lasers Hulk Green Laser Technology
Gainward BLISS 8800 GT 1GB Golden Sample
New Previews
NVIDIA GeForce 9800 GX2 Dual-GPU Version
PowerColor Radeon HD 3850 Xtreme Edition
PowerColor Radeon HD 2600 XT 256MB Card
Support Us
Support MVKTech in making a small donation:
MyPMS Professional
Inbox
You have 0 new message(s).
HomeNewsGuidesReviewsPreviewsDownloadsForumsUploadsLinksContact UsTop
© 2008 NVIDIA GeForce GTX 280 GTX 260 9800 GX2 9600 GT 8800 GTX ATI Radeon HD 4870 HD 4850 HD 3870 X2 HD 3850 2900 XTX - MVKTech
Joomla! is Free Software released under the GNU/GPL License.