|
Der Alexander
offline
OC Newbie 18 Jahre dabei !
|
Hab einen Applebred zu Mobile-Xp gemacht und habe 2 Boards mit AMI Bios. Nun heißt es überall: L5[1] schließen und L6 Brücken zurechtschneiden, damit der Prozessor nicht mit 24x startet. Auf L6 Brücken hatte ich keine Lust, hatte schon Probleme mit L5 Brücken (mit Lack wegkratzen und so ...). Und der richtige Multi muß noch gefunden werden! Also hab ich im Bios rumgestochert (habe eigentlich was anderes gesucht), hier das Ergebnis: Als Erstes braucht man ein Bios. Dann schaut man es mit amibcp an.
CodeBCP760.EXE bios.bin /l | Folgendes sollte in etwa zu sehen sein:
Code DOS/4G Protected Mode Run-time Version 2.01a Copyright (c) Tenberry Software, Inc. 1996 +-----------------------------------------------------------------------------+ AMIBIOS ROM Module Manipulation Utility - Module Information Copyright (C)2002 American Megatrends Inc. All Rights Reserved. v7.60.04 +----------------------------------------------------------------------------- BIOS Version : 0700 BIOS Date : 04/25/03 BIOS Tag : BIOS Size : 256 Kb +----------------------------------------------------------------------------- Module ID/Name RomLoc SourceSize SizeInRom %% RunLoc ru +----------------------------------------------------------------------------- INIT F000:C000 04000(016384) 04000(016384) 00.00 ---- ---- NVRAM/ESCD F000:8000 04000(016384) 04000(016384) 00.00 ---- ---- AMD SIP ROM F000:7400 00C00(003072) 00C00(003072) 00.00 ---- ---- ?02 Runtime F066:000E 09940(039232) 06D7A(028026) 28.56 F000:66C0 08 Interface EFF5:0004 00706(001798) 0071A(001818) 00.00 Dynamic ?00 POST EB54:0009 05CFA(023802) 04A0B(018955) 20.36 F000:0000 ?03 DIM E7ED:0003 04E86(020102) 03676(013942) 30.64 E000:B170 ?04 Setup Client E457:0000 05CC6(023750) 03963(014691) 38.14 Dynamic ?01 Setup Server E2F0:000D 01C74(007284) 01663(005731) 21.32 F000:0000 06 DMI Data E2BB:0009 00340(000832) 00354(000852) 00.00 Dynamic ?09 MP E280:0002 00471(001137) 003B7(000951) 16.36 Dynamic ?0A Notebook D8C8:0009 10000(065536) 09B79(039801) 39.27 Dynamic ?0D Int-13 D389:0003 06F2D(028461) 053F6(021494) 24.48 Dynamic ?0F ACPI Table D351:0008 0984B(038987) 0037B(000891) 97.71 Dynamic ?10 ACPI AML D1F6:0000 033C1(013249) 015B8(005560) 58.03 Dynamic ?12 Configuration D16B:0002 00A04(002564) 008AE(002222) 13.34 Dynamic ?13 DMI Code D0D1:0008 00BF2(003058) 0099A(002458) 19.62 Dynamic ?3C UserDefined D08B:000C 0059C(001436) 0045C(001116) 22.28 Dynamic ?33 Still Logo Data CE85:0003 06816(026646) 02069(008297) 68.86 Dynamic ?32 Still Logo Code CE65:000F 002FF(000767) 001F4(000500) 34.81 Dynamic ?31 Small OEM Logo CE41:000C 00693(001683) 00243(000579) 65.60 Dynamic 0C ROM-ID CE40:0000 00008(000008) 0001C(000028) 00.00 Dynamic ?60 ASCII Font CDEB:0002 01000(004096) 0054E(001358) 66.85 Dynamic ?50 Default Language CCE6:0005 025BC(009660) 0104D(004173) 56.80 Dynamic ?43 UserDefined CC3D:000B 00F2C(003884) 00A8A(002698) 30.54 Dynamic ?20 PCI AddOn ROM C42D:0003 0D000(053248) 08108(033032) 37.97 3065:1106 +----------------------------------------------------------------------------- Bytes Used : 03BD35 ( 245045) Bytes Free : 0042CB ( 17099) +-----------------------------------------------------------------------------+ !! Module Manipulation Successful !! | Falls nicht, hat man kein Ami Bios oder es ist zu alt/neu oder sonst was... Interessant ist das Modul 02 Runtime, da passiert die frühe Initialisierung. Deshalb extrahiere ich das mit
Code bcp760 bios.bin /e runtime.bin 2
| Jetzt öffne ich die runtime.bin mit Disassembler und finde diese interessante Stelle:
Code :0001.48E9 6660 pushad :0001.48EB 66B807000080 mov eax, 80000007 :0001.48F1 0FA2 cpuid :0001.48F3 F6C202 test dl, 02 :0001.48F6 743C je 4934 :0001.48F8 66B9420001C0 mov ecx, C0010042 :0001.48FE 0F32 rdmsr :0001.4900 8AD8 mov bl , al :0001.4902 80E31F and bl, 1F :0001.4905 66C1E810 shr eax, 10 :0001.4909 6683E01F and eax, 0000001F :0001.490D 38D8 cmp al , bl :0001.490F 7406 je 4917 :0001.4911 2EC606FAAF01 mov byte ptr cs:[AFFA], 01 :0001.4917 66C1EA08 shr edx, 08 :0001.491B 6681E2001F0000 and edx, 00001F00 :0001.4922 660BC2 or eax, edx :0001.4925 660D00001300 or eax, 00130000 :0001.492B 66BA10270000 mov edx, 00002710 :0001.4931 49 dec cx :0001.4932 0F30 wrmsr :0001.4934 E80400 call 493B :0001.4937 6661 popad :0001.4939 C3 ret
| Hier passiert folgendes: Der Befehl cpuid fragt die Fähigkeiten des Prozessors ab und wenn dieser die FID-Änderung unterstützt, wird der max. FID gesetzt. Beim Desktop normalerweise 11x oder bei verbundener L5[1], je nach Zustand von L6. Bis zum Befehl wrmsr läuft der Prozessor mit dem Desktop-Startmulti. Also ersetze ich wrmsr mit 2 nop. Nun ersetze ich die Runtime im Bios mit meiner.
CodeBCP760.EXE bios.bin /r runtime.bin 2 /m F000 66C0 | F000 66C0 ist RunLoc(ation) und muß wie im Original sein. Mit CodeBCP760.EXE bios.bin /l | noch das ganze anschauen/prüfen. Es sollten keine Fehlemeldungen ausgegeben werden. Nun Bios flashen und fertig. Theoretisch kann man jeden anderen Multi setzen (ungetestet), wenn man durch ersetzt. xxyy=0x0 für 11x, 0x2 für 12x, 0x1ff für 24x, bei anderen Werten in der FID-Tabelle suchen. Nun die Zusammenfassung für den interessierten Laien: 1. Code bcp760 bios.bin /e runtime.bin 2
| 2. runtime.bin mit Hexeditor öffnen und nach 66B9420001C0 (sollte eigentlich nur 1 mal vorhanden sein, sonst bischen schauen) suchen, wenige Bytes später 0F30 durch 9090 ersetzen und speichern. 3. CodeBCP760.EXE bios.bin /r runtime.bin 2 /m F000 66C0 | Für F000 66C0 andere Werte einsetzen!!!! (Kriegt man mit BCP760.EXE bios.bin /l raus.) Wenn jetzt BCP760.EXE bios.bin /l nicht meckert, kann geflasht werden. Für beliebigen Multi ersetzt man 66C1E810 durch b8yyxx90, man beachte die Drehung von xx und yy (ist eine Eigenart von x86 Architektur), also z. B. bei FID 0x0001 (11,5x) b8010090 und bei FID 0x01FF (24x) b8FF0190. Aber wie gesagt ungetestet, kann ja einer machen und posten. So das wars. Alexander Schlegel P.S. Für den AWARD gibt es wohl den Biospatcher von apple_rom, soll irgendwann auch den AMI patchen können, die Seite kann ich aber seit Kurzem nicht mehr erreichen, kann das einer prüfen, vlt. gibts bei mir ein Problem? Das da oben ist aber alleine auf meinem Mist gewachsen, ging erstaunlich leicht. Da ich keine Lösung im Internet gefunden habe, gehe ich mal davon aus, daß ich der "Erstentdecker" bin, sonst her mit dem Link! Ich sag nur eins: "Verbreitet die Kunde!" (Geändert von Der Alexander um 1:44 am Mai 6, 2006) Das mit L5[1] war wohl nicht ganz richtig, hab mich aber nicht lange damit beschäftigt, weil es jetzt funktioniert. Situation bei mir: L5[1] offen: Max. Multi 11x(default), Startmulti= Max. Multi L5[1] geschlossen + Biospatch: Startmulti = 12x (weil Duron 1600), Max. Multi 24x (wie mit den meisten AWARD BIOSen) (Geändert von Der Alexander um 16:00 am Mai 10, 2006)
|
Beiträge gesamt: 3 | Durchschnitt: 0 Postings pro Tag Registrierung: Mai 2006 | Dabei seit: 6786 Tagen | Erstellt: 1:07 am 6. Mai 2006
|
|
Der Alexander
offline
OC Newbie 18 Jahre dabei !
|
Über 50 mal betrachtet und keiner sagt was. Was ist los? Zu kompliziert, braucht das keiner? Wenn jetzt einer kommt mit: "Zu spät, usw.", da sag ich: "Mir doch egal." Nein, im Ernst, Sockel A-System ist noch für viele Aufgaben mehr als ausreichend, imo. Ein Rechner mit Palomino@933MHz/1,3V, und der Prozessor ist nicht so dolle, verbraucht bei mir ca. 60W in Idle-Zustand, beim Internetsurfen macht der Prozessor die meiste Zeit ja gar nichts. Hier braucht man einfach nicht mehr (Verlust)leistung. OC ist natürlich auch erlaubt. Ich hab das ganze in erster Linie für mich gemacht, weil mir die Lösungen im Internetz nicht zusagten.
|
Beiträge gesamt: 3 | Durchschnitt: 0 Postings pro Tag Registrierung: Mai 2006 | Dabei seit: 6786 Tagen | Erstellt: 16:15 am 7. Mai 2006
|
|
|
|