HD2900 Bios Modding --- Wie erstelle ich mein eigenes Bios (Hex)--- Howto

Janchu88

Kapitän zur See , HWLUXX Vize-Superstar
Thread Starter
Mitglied seit
29.11.2005
Beiträge
5.271
Ort
irgendwo im Nirvana...

1. Das Modding an sich
2. Checksumme anpassen
3. Checksumme anpassen zusatz


Zu aller erst...

Was könnt ihr ändern?

Die Taktraten und die Spannungen im 2D sowie im 3D Modus... Wieso nicht mit Rabit? Weil es noch kein Rabit gibt für die HD2900er...


Was braucht ihr dafür?

Euer Bios und nen Hex-Editor (Download HxD : http://mh-nexus.de/downloads.php?product=HxD)

(Wie ihr euer Bios backuppen/flashen könnt, sollte in anderen Howto´s zur genüge erklärt sein, das setze ich mal voraus... )

So... dann kanns auch schon losgehen...

1. Öffnet in HxD euer Bios...

2. Geht oben auf Suchen -> Suchen und ein Fenster öffnet sich...

3. Ändert den Suchtyp auf Hex-Werte

4. Gebt folgendes ein:
Code:
d9 00 04 01
und startet die Suche

5. Ihr landet bei diesem Block... (vergrösser das Bild ;) )



6. Für uns interessant ist hier dann dieser Bereich (er ist immer kurz hinter dem D9 00 04 01 zu finden... auch wenn sie in verschieden Bios Versionen nicht immer an der gleichen stelle stehen)



7. So, dann gilt es zu wissen, das jede Zeile in der Tabelle Hier einen Satus darstellt...

PowerPlay state 0 : 507MHz/514MHz/1.00V/boot
PowerPlay state 1 : 507MHz/514MHz/0.85V (Ist im Windows der 2D Modus)
PowerPlay state 2 : 780MHz/875MHz/fused Vid 1/3D (Wird bei einer 3D Anwendung geladen)
PowerPlay state 3 : 780MHz/875MHz/fused Vid 1/3D/Overdrive
PowerPlay state 4 : 780MHz/875MHz/fused VID 2/thermal
PowerPlay state 5 : 726MHz/828MHz/fused VID 1


Zur Verständniss...

Die Erste markierte Zeile wie sie im Bios steht ist der Powerstate 0 (der beim booten aktiv ist) und enthält folgende Bytes... :

0C C6 00 C8 C8 00 E8 03

Wie wir im ersten Bild erkennen steht

0C C6 00 für den GPU Takt

C8 C8 00 für den Ram Takt

E8 03 für die GPU Spannung

Soweit so gut... wir wissen nun wo wir die Werte für GPU, Ram und Spannung für jeden Powerstate finden...

Allerdings stehen diese noch byte invertiert als hexadezimal Werte dort...

Kommen wir erstmal zum Byte invertieren:

Der GPU Takt (0C C6 00) zum Beispiel besteht aus drei Bytes pro Powerstate. Nämlich

Byte 1: 0C
Byte 2: C6
Byte 3: 00

Wir müssen nun die Reihenfolge der Bytes umdrehen um etwas sinnvolles zu erhalten... (das gilt für ALLE werte die ihr ändern wollt)

So wird aus : 0C C6 00

dann nämlich: 00 C6 0C

So, dann nehmen wir diesen Hexwert (00 C6 0C) und konvertieren ins Dezimal System. Dazu könnt ihr diesen Converter benutzen: http://de.selfhtml.org/helferlein/dezhex.htm

So, auf der Seite tragen wir unseren wert allerdings ohne Leerzeichen und vorangestellte nullen ein... also statt 00 C6 0C geben wir C60C ein und drücken auf Hex->Dez... wir erhalten die Zahl 50700 und diese steht für unseren Takt von 507,00mhz

Wie Tragen wir da nun unseren eigenen Wert ein?

Nehmen wir an wir wollen den Takt hier auf 200mhz senken...

Also 200mhz sind 200,00mhz bzw dann als dezimal fürs konvertieren 20000

Wir geben auf der converter seite also 20000 ein und drücken auf Dez -> Hex

Wir erhalten: 4E20... aber wir brauchen drei Bytes, bzw 6 Stellen... also füllen wir mit vorangestellten Nullen auf...

wir erhalten: 004E20

Aber, bevor wir das ins Bios eintragen müssen wir die Bytes wieder umdrehen...

Aus: 00 4E 20

Wird dann: 20 4E 00

Mit diesem Wert können wir das ursprüngliche 00 C6 0C im Bios nun überschreiben... und nun haben wir den Takt auf 200mhz gesenkt.

Einfach, oder? :d

___________________________________________________________________


Bezüglich Checksumme von Astra F

Erklärung BIOS Änderung bei Fehler in der Quersumme.

Für alle, die nach dem flashen der Karte kein Bild mehr bekommen, hier die Lösung. Wenn Atiflash nach dem flashen keine Vergleichswerte ausgibt, liegt es 100%ig daran, daß die Checksumme des bearbeiteten BIOS nicht stimmt.
Hier mal ein Beispiel für die Checksumme der 2D Werte eines PowerColor XT 512MB BIOS:



Die Prüfsumme der Zeile beträgt also 034D was in Dezimal die Summe 845 ergibt.

Wenn man nun die einzelnen Hexwerte der Zeile in Dez. umwandelt erhält man folgendes:

0C = 12, C6 = 198, C8 = 200, C8 = 200, E8 = 232, 03 = 3 Summe der Dezimalwerte = 845.

Auf diese Summe muß man nach Veränderung der einzelnen Werte wieder kommen.

Hier mal meine Veränderten Werte (270,66C / 501,44M / 0,9V)



Wie man sieht, ist die Prüfsumme der Zeile die gleiche wie die des originalen BIOS.

Mann muß also solange Rumprobieren, bis die Prüfsumme gleich ist.

Genau so geht man auch an den 3D Takt herran.

Die Prüfsumme des originalen- und des Mod-BIOS beträgt bei mir 0213.

In dem Mod-BIOS betragen die veränderten Wete 827,91C / 828M / 1,2V

So ich hoffe, ihr könnt mit dieser kleinen Erklärung etwas anfangen.

PS: Als Hex Editor benutze ich diesen hier: http://mh-nexus.de/hxd/
Einfache Bedienung, Berechnung der Prüfsumme und Freeware :)


_____________________________________________________________________________

Zusatz Checksumme


Habe mich nochmal mit der Gesamtprüfsumme des BIOS beschäftigt. Durch einen Post im XS kam ich darauf und wollte es euch nicht vorenthalten. Die Prüfsumme stimmt hinterher wieder überein, habe es nur bis jetzt selber noch nicht geflasht.

1. Gesamtprüfsumme vom originalen BIOS ermitteln.

2. Takt- und Spannungswerte nach eigenen Wünschen verändern.

3. Gesammtprüfsumme des bearbeiteten BIOS ermitteln.

4. Am Anfang des BIOS-Files ist eine Fehlermeldung hinterlegt, welche ausgegeben wird, falls nicht beide Spannungsversorgungen angeschlossen sind. In dem Bereich habe ich einfach ein paar werte geändert, bis die Prüfsumme wieder stimmte. Falls die Fehlermeldung ausgegeben wird, wird halt ein etwas veränderter Text ausgegeben, welcher aber keinen Einfluß auf die Funktion der Karte haben dürfte.

Viel Spaß damit. :bigok:

EDIT:
So hab mir grade mal ein BIOS mit der Methode erstellt. Läuft ohne Probleme und ohne jegliche Fehlermeldung.

Werte sind:

2D 250/250/0,85V
3D 900/950/1,25V

Habe in diesem Bereich etwas geändert. Die daraus folgende Ausgabe, falls der Fehler auftritt sieht man rechts Außen.



nochmal vielen Dank dafür!

Vorschläge und Verbesserungen bitte schreiben, werde es dann anpassen
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
am liebsten würd ich dir meine Karte schicken und du machst das für mich:lol:
trau mich nicht ans flashen,mist.
 
Ich kann den Block mit D9 00 04 01 gar nicht finden! :(

Hat sich erledigt! Was lesen kann ist klar im Vorteil! :d
 
Welche Werte muss ich denn ändern um einen anderen 3D Takt zu bekommen, denn mit PowerPlay state 2 funzt das nicht.

Außerdem hab ich noch ne Frage zu den Spannungen bei 3D:
01FF und 02FF ensprechen doch nicht 1,15 bzw. 1,2 je nach Karte oder?
 
Jo Janchu nice Work :bigok:
War vorgestern schon dabei ne Anleitung zu schreiben, aber heute ist mein zweites Kind zur Welt gekommen:bigok: No Time^^
 
So habe jetzt den 2D Takt per Powerplay state 2 und den 3D Takt per Powerplay State 2/3 geändert, der Rest hab ich glassen, wobei ich eh andere Werte als du hatte.

Jetzt bräuchte ich nur noch ne Anleitung um die Spannung im 3D zu ändern, da die Werte 01FF und 02FF wenig sinn machen.

MFG
 
So habe jetzt den 2D Takt per Powerplay state 2 und den 3D Takt per Powerplay State 2/3 geändert, der Rest hab ich glassen, wobei ich eh andere Werte als du hatte.

Jetzt bräuchte ich nur noch ne Anleitung um die Spannung im 3D zu ändern, da die Werte 01FF und 02FF wenig sinn machen.

MFG

01FF oder 02FF steht für Fused VID 1 und Fused VID 2... was genau dahinter steckt kann ich dur auch nicht sagen. Aber ein fixer Wert tut es auch...

@Textrex

thx und glückwunsch :)
 
So ich hab mich da jetzt mal ein wenig rein gelesen, und mein Org. Bios mal von meiner Karte ausgelesen um es zu ändern.

So sieht der Block meines Org. Bios aus:
atjswjuygb3brptyo.jpg


Und in das hab ich es geändert:
atjsxhkom52e98x68.jpg



Das ganze soll bedeuten, 250/250MHz 2D Takt bei 0,850V und 825/950MHz 3D bei 1,250V.

Soweit glaube ich es verstanden zu haben. Aber was ist mit den letzten beiden Zeilen. Was muss dort rein oder kann man das so belassen wie es im Org. Bios drin steht.

Kann zu guter letzt mal jemand meine Werte prüfen ob das so passt wie ichs hab?
 
Sorry für event die dumme Frage .... 0,85 VGPU sind ..52 03? ...was wären den dann 0,80 ?! bekomm die Umrechnung net so hin

0,80 = 00 23?
 
Zuletzt bearbeitet:
0,850V VGPU Spannung sind 52 03
0,800V VGPU Spannung sind dann 20 03

angaben ohne Gewähr, aber so hab ichs verstanden :fresse:
 
Ohh ...da warte ich doch lieber mit dem Flashen ...
 
Jo 100% sicher bin ich mir auch net, ich wart noch auf Janchu, das er meine Werte oben bestätigt ;)
 
0,85v = 52 03
0,8v = 20 03

@Fdsonne: ja, ist richtig :)

edit:

btw... falls es jemanden interessiert wieso in einem byte 2 Werte stehen... so als abschweifung ;)

8bit = 1byte...

das hexadezimale system kennt ziffern von 0 bis f (oder 0 bis 15 in dezimal)...

Ein Bit kann den wert 0 oder 1 haben. Nimmt man mehrere Bits um eine ziffer zu bilden so ergeben sich daraus 2^n (n=anzahl der bits) möglichkeiten einsen und nullen zu kombinieren. nimmt man nun 4 bits kommen wir auf 2^4 oder auch 16 mögliche kombinationen. Also kann eine hexziffer von 0 bis f gespeichert werden. Da ein Byte aber 8 bit hat, stehen zwei hexwerte in einem byte ;) :d
 
Zuletzt bearbeitet:
THX, gut zu wissen es verstanden zu haben :fresse:
Und wie schauts nun mit den letzen beiden Zeilen aus?
Also die unter den beiden für 3D?

Was haben die zu sagen? Kann man die so lassen?
 
THX, gut zu wissen es verstanden zu haben :fresse:
Und wie schauts nun mit den letzen beiden Zeilen aus?
Also die unter den beiden für 3D?

Was haben die zu sagen? Kann man die so lassen?

wenn ich das richtig verstanden habe sind die fürs thermal throttling etc... die würde ich unberührt lassen
 
mhhh
gut, wo hast du denn die Werte oben ausm ersten Beitrag her? Also beim 7. Punkt?

Dort sind nämlich die Takt-Werte aus der 5. Zeile genau so wie bei Zeile 3 und 4. Die 6. Zeile hat niedrigere Taktwerte.

Das Bild aus 6. passt aber nicht so ganz mit den Werten aus 7. überein irgendwie.
Neja irgendwie bin ich mir da ein wenig unschlüssig was ich dort mach, ich denk mal ich lass das so und probiers einfach.

Hab ja schließlich 2 Jahre sofort Austauschrecht mit der Karte mitgekauft, sprich wenn se schrott ist, bekomm ich sofort ne neue (auch bei eigenverschulden :fresse:)
 
@Janchu88
Vielleicht eine Liste mit gängigen Fertig-BIOS?

Wer ein "getestetes" :d haben möchte, hier meins:

2D: 200/250 bei 0,8V
3D: 840/880 bei 1,2V

Es ist ein umgemodeltes HD2900XT-BIOS (512MB PciE), selbst gedumpt, selbst gehext :P

Man sollte diese Werte aber mal getestet haben. Keine Garantie. Sollten die Werte zu hoch/niedrig sein, ist das aber auch kein Problem, man kann nämlich immer noch Floppy oder USB booten und sie wieder umflashen

Hier mal mein komplettes USB-Boot-Stick-Paket. Auf einen mit FAT formatierten USB-Stick kopieren, und er ist bootfähig (NTFS4DOS is auch dabei). Im Ordner "atiflash" befinden sich .bat-Dateien "backup" und "flash". Nicht allzu schwierig ^^
 
Zuletzt bearbeitet:
Top Tutorial. Bringt mich echt weiter :bigok:

Nur ein Problem habe ich. Die VGPU Einstellungen. Aus denen werde ich nicht schlau.

E8 03 -> 03E8 sind umgerechnet 1000. Das entspräche 1,00V im 2D Modus.

Das klingt logisch und passt auch.

Nur 3D ist 01 FF -> FF01 was laut Konverter 65281 wären?

Ich weis das meine Karten im 3D Modus mit 1,15V laufen.

Wie werde ich nun aus den VGPU Lastspannungen schlau?

:wall:
 
Top Tutorial. Bringt mich echt weiter :bigok:

Nur ein Problem habe ich. Die VGPU Einstellungen. Aus denen werde ich nicht schlau.

E8 03 -> 03E8 sind umgerechnet 1000. Das entspräche 1,00V im 2D Modus.

Das klingt logisch und passt auch.

Nur 3D ist 01 FF -> FF01 was laut Konverter 65281 wären?

Ich weis das meine Karten im 3D Modus mit 1,15V laufen.

Wie werde ich nun aus den VGPU Lastspannungen schlau?

:wall:

Das scheint ein spezialfall zu sein, der für die Fused VID 1 und Fused VID 2 steht... kannst aber einfach nen festen wert eintragen! ;)
 
Das scheint ein spezialfall zu sein, der für die Fused VID 1 und Fused VID 2 steht... kannst aber einfach nen festen wert eintragen! ;)

hab dasselbe problem...

heisst das ich kann statt 65281 dann 1100 eingeben (also 1,1V 3D oder auch 1,05V) ??

funktioniert das ?

möchte vorerst mit wenig spannung arbeiten, da ich noch keine Wakühler für die *kleinen* habe ^^ bzw. mein NT nicht ganz gut zurecht kommt mit den zweien.

die eine karte hat 1,1V standard 3D
die andere 1,2V wobei die auch locker mit 1,1V auskommt (auch mit 1,05)
die andere kommt mit noch weniger klar...mit 1V

brauch ich also einfach nur den wert eingeben den ich mir vorstelle?

also für 1,05V = 1A 04 00 ??
und für 1,00V = E8 03 00....steht ja eh oben...

bitte bestätige die werte nochmal danke!

So, habs mal geflashed, und siehe da, 2D = 200/513 0,85V 3D = 743/1000 1,05V...optimal, nun kommt die andere karte dran, mal sehen ob es mein NT dann mit 2 von denen packt ohne dass es sich nach einer minute abstellt und rebootet :)
 
Zuletzt bearbeitet:
Sapphire 2900pro 1GB Vram

Hallo finde das Forum echt toll - super Infos - habe eine Sapphire 2900pro
1GB VRAM, bin aber im Bios edit nicht so bewandert, daher meine Frage - hat
jemand für diese Karte ein fertiges OC-ROM? (in etwa 825/850) Danke im Vorraus.
Mfg Ernst Christian
 
Zu den Checksummen:
es sollte doch eigentlich möglich sein die Checksumme des Bios anders anzupassen? Bzw. ich nehme mal an, dass die Checksumme des ganzen Bios nur stimmen muss und nicht einer einzelnen Zeile (falls ich mich irre, bescheid geben ;) ).

Mein ausgelesenes Bios besteht am Ende nur noch aus FFs. Sieht also belanglos aus, Füllbits oder wie man das nennen soll?
Einfache Veränderung der Werte wäre damit in eine Richtung möglich.

Was mich zum nächsten Punkt kommen lässt:
muss die Checksumme wirklich so aussehen wie die des Original Bios oder sind da auch andere Werte möglich? Habe mir ein paar Checksummen angeschaut und immer gleich scheint ja auf jeden Fall zu sein, dass die Checksumme auf 00 endet: ??00
Könnte das schon als Kriterium reichen?
 
Die Anleitung für die Checksumme ist ja nur eine Möglichkeit. Wenn die Checksummen der geänderten Zeilen wieder mit der originalen übereinstimmt, paßt natürlich auch die des gesammten BIOS wieder. Finde es so nur so einfacher, da man schrittweise vorgehen kann. Mit den FF Werten am Ende des BIOS wäre ne Überlegung. Werde mir mal verschiedene BIOS ansehen und schauen wie es sich jeweils am Ende verhält.
 
Ich hab mal das mit der Gesamtsumme des Bios probiert.
Ich hab meine Wunschwerte eingegeben und wollte dann die FFs am Ende ändern.

Allerdings fiel mir dann auf (zumindest wenn ich es richtig verstanden habe), das das für mich so nicht geht, da meine Gesamtsumme zu klein war.
FF steht ja für 255, 256 ist umgerechnet ja schon 100, was ja nicht ins Feld passt (wenn ich das kapiert haben sollte! ;) ).
Also habe ich folgende Felder geändert, in der Hoffnung, das dort nichts wichtiges wie RamTimings ect. steht.



Ich gehe mal nicht davon aus, da mehrere Stellen hintereinander mit 0 ja normalerwesie nichts darstellen SOLLTEN.

Was soll ich sagen: es geht. :)
Probleme damit konnte ich bislang nicht feststellen.
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh