Aller au contenu

[CG] Le guide pour modder les FX59xx


fabbe

Messages recommandés

hello

Voila je possede une fx5900xt de chez leadtek qui tourne sans probleme a 480/900 :)

Mais j'en ai marre des coolbit , rivaturner ou encore winfox , je veux plus utiliser ca

Donc j'ai fait des recherche de bios

et j'ai trouver ca :

http://forums.guru3d.com/showthread.php?threadid=85394

Malhereusement tout les bios de leadtek proposé ne me permettent de

faire fonctionner ma sortie viédo :heink:

ce bios "Leadtek FX5900XT (300/450/850) -Latency-, Volt-, Throttlingmod" me permet meme de monter plus haut en fréquence mais j'ai toujours pas sortie vidéo :sarcastic:

j'ai trouvé un tuto expliquant tout le fonctionnement du bios :) mais c'est en anglais et dieu sait que

mon anglais laisse a désirer :whistle:

Est ce que quelqu'un aurait les compétance pour traduire ce texte :francais:

Guide to Modifying bios of Nvidia FX59xxx Series Graphics Cards.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This Guide is written in a way that should allow any layman with no bios software design experience to make selected changes to a bios file, which can appreciably improve the performance of a 59xxx series graphics 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 bios's and flashing cards, is that whatever defaults you flash to, may, in extreme cases, be too much and thus not allow your card to post during your computer's bootup. It may not in fact be a bad bios, just a bad flash of a bios to your card which stops it posting. And if this does happen, then unfortunately for you, to recover the situation, only a professional with the right tools may be able to erase and reflash your card to a working state.

Just a small warning then to everybody wanting to play about with bios modding -----> Do something wrong, doesn't have to be more than a wrong binary digit in wrong 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 essentially the same design and therefore bios's are generally interchangeable, and likewise any modified versions of each bios. The new and more unique FX5900XT type (including SE/LX/SP etc) however is a somewhat different and cheaper design of card, and its bios, although interchangeable with other XT's, is not in fact useable with any of the original 59xx cards. When proposing bios changes it is therefore best to consider them separately.

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

It is suggested that the Ray Adams X-Bios Editor v1.0.3.520 be used for all bios changes as it includes the best free Hex Editor, and most importantly it will add the correct CRC bit to ensure a successful flash. And for flashing, it is also suggested that nvflash.exe v4.41 be used. It is a flashing program I have used with complete success literally hundreds of times.

1. FX5900nu, FX5900u and 5950u.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(a). SPEEDS.

~~~~~~~~~~~~

For the purposes of bios speed changes, neither the ASUS5900u or 5950u bios's are considered applicable as GPU and Memory speed table structures are totally different from all others bios's.

The first 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 as follows,

A typical stock speed setup of 300/400/850 means that,

2D speed is 300MHz.

3D speed is 400MHz.

Memory speed is 850MHz (Actually 425MHz, only stated as 850 as it is DDR Memory).

In simplistic terms, the binary word is derived by multiplying the speed 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)

So 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 that you 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 in the bios file as programming code, which, if you change, could cause serious problems.

The GPU and Memory speed tables are located near the end of the bios file and are structured as three closely positioned 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 will show,

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 of operation and can be effectively disabled if desired by setting speed to same as 3D. This is what is normally done for some FX5700u bios's I have checked. Also remember to change the GPU throttling volts to cater for whatever speed you have set it at.

Another possible way of removing throttling however is to use a ASUS5900u or 5950u bios as they operate in 3D all the time and feedback has indicated they have no throttling mode ?

(b). GPU VOLTS.

~~~~~~~~~~~~~~~

Closely located to the three speed tables, is another Table of seven 2 Bit values for controlling GPU Volts, structured as follows,

07 78 04 82 05 8C 06

The purpose of this table is to set the GPU volts during 2D, Throttling and 3D modes. In simple terms, the first two bit value represents the max number of table options, and the follow on three 4 bit words show the actual options that are set for this bios. However note that the first two bits of each 4 bit word is only an indicator, and has no functional purpose other than it indicates the volts expected (found by, converting to decimal/100). The last two bits of each 4 bit word are the important ones, because they set the GPU volts for the various modes of the card.

Using above example shows,

(hex 78)/100 or 120/100 = 1.2 = 04 option.

(hex 82)/100 or 130/100 = 1.3 = 05 option.

(hex 8C)/100 or 140/100 = 1.4 = 06 option.

This shows that GPU volts in 2D as set by option 04 is 1.2V, and in Throttling mode as set by option 05 is 1.3V and finally 3D as set by option 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.

There is a seventh option, indicated by the "07" at the start of the table, which is needed by a 5950u, where it sets the GPU volts at 1.5V in order that it can run at higher speeds. And when present is normally represented by "96 07" in the 3D position of the table. And, although not normally used in a 5900nu or 5900u bios, there is no reason why either of these can't have the GPU volts set to give the same 1.5v of a 5950u.

So a 5900nu, 5900u or 5950u bios can be changed to make GPU volts in 2D, Throttling and 3D modes anything from 1.2V to 1.5V.

©. MEMORY LATENCIES.

~~~~~~~~~~~~~~~~~~~~~~

Almost as an extension to each of the three speed tables, and for the sake of simplicity, is a 28 bit word for controlling memory timings. A typical binary sequence in a 5900nu bios is "040205150017000E000707030403", whereas in a 5950u it is "04030517001A000F000808040503". Changing the binary sequence to "040204110013000B000606030404", which is typical of the tighter timing control of XT type bios's, can give good performance improvement.

The change must be done to each of the binary sequences which run concurrent to each of the three speed tables.

However, a byproduct of the tighter timings will be a sharp reduction in the ability to overclock memory speeds. Likely in the region of 5%, for good stability.

Nearer the end of the bios file is another table with the basic memory latencies, made up of eight 8 bit binary words. Standard values set for a 5900nu are "07 00 0F 43" and for both 5900u and 5950u are "07 03 0F 43". And hard trials have shown that the optimum for improved performance with good stability is got by reducing the 43 to 40. The change must be made to each of the eight binary words in the table. Some extra performance benefit can also be gained from changing any "07 03" sequence to "07 00". Which would now make the final latency sequence into "07 00 0F 40".

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

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(a). SPEEDS.

~~~~~~~~~~~~

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

(b). GPU VOLTS.

~~~~~~~~~~~~~~~

Closely located to the three speed tables, is the seven 2 Bit binary Table for controlling GPU Volts in a typical XT bios. It is structured as follows,

03 78 01 82 02 8C 03

And like the table at 1(b) above, the purpose of this table is also to set the GPU volts during 2D, Throttling and 3D modes. In simple terms, the first two bit value represents the max number of table options, and the follow on three 4 bit words show the actual options that are set for this bios. However note that the first two bits of each 4 bit word is only an indicator, and has no functional purpose other than it indicates the volts expected (found by, converting to decimal/100). The last two bits of each 4 bit word are the important ones, because they set the GPU volts for the various modes of the card.

Using above example shows,

(hex 78)/100 or 120/100 = 1.2 = 01 option.

(hex 82)/100 or 130/100 = 1.3 = 02 option.

(hex 8C)/100 or 140/100 = 1.4 = 03 option.

This shows that GPU volts in 2D as set by option 01 is 1.2V, and in Throttling mode as set by option 02 is 1.3V and finally 3D as set by option 03 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 which were based on 5900nu's, there is no direct readaccross to the GPU 1.5V option of a 5950u. If the volts control table starts with "07" you have the 5950u 1.5V option, and if it starts with "03" you haven't.

However a XT type bios can still be changed to make GPU volts in 2D, Throttling and 3D modes anything from 1.2V to 1.4V.

©. MEMORY LATENCIES.

~~~~~~~~~~~~~~~~~~~~~~

Almost as an extension to each of the three speed tables, and for the sake of simplicity, is a 28 bit word for controlling memory timings. A typical binary sequence in a 5900XT bios is "040205110013000B000606030404". Changing the binary sequence to "0301040C000F0009000505020303" has shown to give some performance improvement. However a caution to note; this particular change has only been proven on cards with memory spec of Prolink 5900XT GL.

And if applicable, the change must be done to each of the binary sequences which run concurrent to each of the three speed tables. However, a byproduct of the tighter timings will be a sharp reduction in the ability to overclock memory speeds. Likely in the region of 5%, for good stability.

Changing the basic memory latencies in a XT type bios is exactly the same as above for 5900nu, 5900u and 5950u bios's. The only difference you will encounter is that a XT bios is normally set at a very tight value of "07 03 0F 03". So in this case you will change the last "03" up to "40", for each of the eight binary words in the table. This will give much better memory overclocking and performance. Some extra performance benefit can also be gained with some XT cards from changing the "07 03" sequence to "07 00". Which would now make the final latency sequence into "07 00 0F 40".

NOTE:

This procedure only covers the simple basics of what can be changed easily in a FX59xxx bios and not everything that is possible !

Source : http://www.nvnews.net/vbulletin/showthread.php?t=29230

++

Lien vers le commentaire
Partager sur d’autres sites

:mdr: desolé pour le copier coller , je suis un peu faignant

je trouve ce tuto quand me tres interéssant , j'ai pu utilisé un bios

fait avec cette téchnique (Latency-, Volt-, Throttlingmod") et comme

par magie je suis passé de 480 @ 510 mais pas de sortie vidéo :transpi:

Lien vers le commentaire
Partager sur d’autres sites

hello

ca avance mais j'ai du mal a comprendre ca

In simplistic terms, the binary word is derived by multiplying the speed 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)

So 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 that you 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 in the bios file as programming code, which, if you change, could cause serious problems

Je comprends pas le calcul des 400mhz transformé en BIN

3D speed = 400x100 = 40000 = 9C40 Hex = 409C0000 bin word (or 40 9C 00 00)

Quelqu'un aurait une idée ??

Lien vers le commentaire
Partager sur d’autres sites

:transpi: mais tu comprends celui des 300? si oui je comprends pas que tu comprends pas :mdr:

c'est pas tout à fait un calcul d'ailleurs, car la dernière étape c'est une transposition (des deux premières et deux dernières "lettres" de l'hexa) et l'ajout de 4 zéros...

non pas du tout :8

Les lettre corespond au valeur mais comment on fait

pour savoir que 9C40 correspond a 400mhz :mdr:

pour 450 c'est combien alors :D

merci

++

Lien vers le commentaire
Partager sur d’autres sites

la "traduction" en hexa je sais pas la faire mais tu dois pouvoir trouver des tutos sur le net...

il s'agit d'écrire 400 en hexadecimal...

dans le système décimal t'as dix chiffres : 0 1 2 3 4 5 6 7 8 9

dans l'hexadécimal tu en as 16 : 0 1 2 3 4 5 6 7 8 9 A B C D E F

il faut juste passer de l'un à l'autre... j'avais bien vu ça y'a longtemps, mais vu que je m'en sers pas, lol j'ai bien oublié :yes:

maintenant :google: à mon avis, sur le système hexadécimal (tu arrivera peut-être à trouver un convertisseur :yes: )

Edit : cela dit, pour s'amuser à modder un BIOS, il vaut mieux être familier avec l'hexadécimal :byebye:

Lien vers le commentaire
Partager sur d’autres sites

...

maintenant :google: à mon avis, sur le système hexadécimal (tu arrivera peut-être à trouver un convertisseur :byebye: )

...

c'est si simple que j'y avais pas pensé :yes:

Pour info j'ai pu modder ma XT a 480/900 :yes:

Le code m'a été donner sur le site cité ^plus haut mais toujours pas

eu d'explication claire donc je vais me rabattre sur google

merci

++

Lien vers le commentaire
Partager sur d’autres sites

hello

voila mes resultat

Je conseil d'utiliser nVidia BIOS Editor 1.0 RC3

ensuite pour le calcul des décimales en héxadécimales voici Convert , un Convertisseur décimal, hexadécimal, binaire et vice versa,

ne s'installe pas et très pratique!

Voici le code 2D - Throlling - 3D d'origine pour FX5900xt (390/350)

en général le code ce trouve a la fin de la table

-----2D (300/700)

30 75 00 00 B8 88 00 00 B8 88 00 00

B8 88 00 00 B8 88 00 00 B8 88 00 00

B8 88 00 00 B8 88 00 00 B8 88 00 00

frequence2D.jpg

-----Throttling (375/700)

7C 92 00 00 B8 88 00 00 B8 88 00 00

B8 88 00 00 B8 88 00 00 B8 88 00 00

B8 88 00 00 B8 88 00 00 B8 88 00 00

frequencethrolling.jpg

-----3D (390/700)

58 98 00 00 B8 88 00 00 B8 88 00 00

B8 88 00 00 B8 88 00 00 B8 88 00 00

B8 88 00 00 B8 88 00 00 B8 88 00 00

frequence3D.jpg

le code 30 75 00 00 , 7C 92 00 00 , 58 98 00 00 correspond a la frequence du GPU a ses different état

B8 88 00 00 correspond a la frequence d'une mémoire c'est pour ca

qu'on le retrouve 8 fois :-D et que l'on trouve dans les 3 tables

Je vais prendre pour exemple mon cas

Ma carte tiens les fréquences de 480/450

Première chose très inportante SAUVER VOTRE BIOS

pour cela utilisez nVidia BIOS Editor

allez dans ouvrir puis lecture a partir de la mémoire

lecturememoire.jpg

puis faire sauvegarder

une fois votre bios sauvé , on peut travailler sur une copie de celui ci

on ouvre la copie dans nVidia BIOS Editor puis dans éditeur Héxa

pour la fréquence du GPU en 2D on touche a rien :bravo: par contre la memoire va passer a 450mhz

Mais comment faire pour trouver le code Héxadécimal qui correspond a 450 :transpi:

C'est la qu'intervient Convert

Vitesse 3D = 480x100 = 48000 = BB80 Hex = 80BB0000 bin ( 80 BB 00 00)

Vitesse mémoire = 450x100 = 45000 = AFC8 Hex = C8AF0000 bin (C8 AF 00 00)

/!\ Ne pas mettre de lettres en minuscules , seulement des majuscules sinon le resultat n'est pas le meme /!\

convert.jpg

Donc pour la mémoire il faut remplacer dans les 3 tables

B8 88 00 00 par C8 AF 00 00 8 fois dans les 3 tables

ensuite pour le GPU , dans la table 3D

remplacer

58 98 00 00 par 80 BB 00 00

ce qui donne

-----2D (300/900)

30 75 00 00 C8 AF 00 00 C8 AF 00 00

C8 AF 00 00 C8 AF 00 00 C8 AF 00 00

C8 AF 00 00 C8 AF 00 00 C8 AF 00 00

-----Throttling (375/900)

7C 92 00 00 C8 AF 00 00 C8 AF 00 00

C8 AF 00 00 C8 AF 00 00 C8 AF 00 00

C8 AF 00 00 C8 AF 00 00 C8 AF 00 00

-----3D (480/900)

80 BB 00 00 C8 AF 00 00 C8 AF 00 00

C8 AF 00 00 C8 AF 00 00 C8 AF 00 00

C8 AF 00 00 C8 AF 00 00 C8 AF 00 00

ensuite pour stabiliser tout ca il faut faire une petite modif dans la

table du voltage GPU

remplacer "03 78 01 82 02 8C 03" par "03 78 01 8C 03 8C 03"

puis cliquer sur sauvegarder , a nouveau sur sauvegarder

et donner un nom a votre nouveau bios

ensuite il reste plus qu'a flasher la carte

Le resultat , y a rien a gagner par rapport a l'O/C

mais maintenant plus besion des coolbits , rivatuner , winfox ... ou autre pour o/c la carte

De plus j'ai pu tester divers bios Fx5900 , 5900ultra , 5950 et a chaque fois

la sortie Tv ne fonctionnait plus alors que maintenant celle ci

fonctionne toujours :bravo:

++

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...