Ich möchte euch hier K6INIT gerne vorstellen.
Das ist ein sich von mir in Entwicklung befindlicher Treiber für DOS-Derivate, der einige spezielle Funktionen für die CPU aktiviert.
Der Treiber ist das AMD-Pendant zu dem Tool FASTVID und aktiviert die Write Allocate und Write Combining-Modi auf unterstützten K6-2/3(+) Modellen. Elianda hat mich auf diese Funktionen aufmerksam gemacht und ich wollte sie gerne auch mit optimierter Speicherkonfiguration nutzen.
Der Treiber ist so gestaltet, dass die Probleme von SetK6 und K6DOS.SYS vermieden werden. SetK6 funktioniert nämlich nicht, wenn man einen Speichermanager installliert hat und K6DOS funktioniert nicht mit K6-2 vom Typ CXT (Chomper Extended), ist unflexibel und teilweise nicht ganz fehlerfrei.
Zusammenfassend, im Gegensatz zu vergleichbaren Programmen, kann dieser Treiber in der CONFIG.SYS geladen werden, lässt demnach auch eine Verwendung mit Speichermanager zu und unterstützt K6-2 CXT-Prozessoren.
Was er aktuell schon kann:
- Fragt die Adresse für den Linearen Framebuffer (LFB) von der VESA BIOS-Erweiterung der Grafikkarte ab
- Setzt die MTRR-Register für das Write-Combining für die LFB-Region(en)
- Detektiert den verfügbaren Arbeitsspeicher und ein etwaiges 15-16MB-Speicherloch
- Aktiviert Write Allocate für den gesamten Arbeitsspeicher
- Setzen des Multiplikators für K6-2+/III+ Prozessoren
- Angabe eigener Parameter für die genannten Funktionen in der Kommandozeile
- Setzen von Spannungs-Optionen im EPM-Block
- Ein-Ausschalten des Cache
Code: Alles auswählen
DEVICE=K6INIT.EXE <parameter>
Code: Alles auswählen
K6INIT.EXE <parameter>
Screenshot:


Quellcode: http://github.com/oerg866/k6init
Download Version 0.91: https://github.com/oerg866/k6init/releases/tag/v0.91
Der Code ist wahrscheinlich nicht der schönste - es ist mein erstes Vergnügen mit Low-Level Code unter DOS -, aber er funktioniert (hoffentlich).
Feedback ist immer willkommen.
Liebe Grüße
Eric