k6dos.sys - Problem mit Speichererkennung

Konfiguration, Anwendungen, Treiber und TSRs unter DOS
Benutzeravatar
ChrisR3tro
Administrator
Beiträge: 1979
Registriert: Mo 7. Mär 2005, 23:33
Wohnort: NRW
Kontaktdaten:

k6dos.sys - Problem mit Speichererkennung

Beitrag von ChrisR3tro »

drzeissler hat geschrieben:Egal was ich einstelle (-wcg,...), ich bekomme immer das hier angezeigt:

Code: Alles auswählen

Int15h:E801h Error occured detecting memory size
Hallo zusammen,

Seit ich meine DOS-Zeitmaschine auf das neue Board "DFI K6XV3+/66" umgestellt habe (VIA MVP3 Chipsatz) bekomme ich denselben Fehler bei k6dos.sys. Trotz Fehlermeldung wird der Multiplikator aber anscheinend gesetzt. Nur Write Combining kann nicht aktiviert werden. Die CPU ist dieselbe wie vorher in dem Rechner (AMD K6-III+ mit 400 MHz). Daran kann's nicht liegen.

Hat jemand 'ne Idee?

Gruß
locutus
drzeissler
DOS-Gott
Beiträge: 3336
Registriert: Mo 8. Feb 2010, 16:59

AMD K6 III+ System aufbauen (Zeitmaschine)

Beitrag von drzeissler »

Es funktioniert ja trotzdem, muss was mit dem Chipsatz sein.
CPU: 486 DX2/66 MOBO: SNI-D882 RAM: 3x16MB - FDD: 3,5" 1,44MB HDD: 6,4GB Seagate ISA(1): Audican32Plus PCI(1): 3com TX 905 OS: MsDos622 - Win95a - WinNT 3.51
Benutzeravatar
philscomputerlab
DOS-Übermensch
Beiträge: 1273
Registriert: Fr 1. Okt 2010, 10:40
Wohnort: Australien
Kontaktdaten:

Re: AMD K6 System aufbauen

Beitrag von philscomputerlab »

Locutus hat geschrieben:
Seit ich meine DOS-Zeitmaschine auf das neue Board "DFI K6XV3+/66" umgestellt habe (VIA MVP3 Chipsatz) bekomme ich denselben Fehler bei k6dos.sys. Trotz Fehlermeldung wird der Multiplikator aber anscheinend gesetzt. Nur Write Combining kann nicht aktiviert werden. Die CPU ist dieselbe wie vorher in dem Rechner (AMD K6-III+ mit 400 MHz). Daran kann's nicht liegen.

Hat jemand 'ne Idee?

Gruß
locutus
Ich verwende SetMUL für den Multi.

Wegen Write Combine, dieses Video ist noch unveröffentlicht, aber hier zeige ich ein paar DOS tools für den K6-2. VGA WC ist schon aktiv, aber für VESA ist viel extra Leistung zum rausholen.

Benutzeravatar
ChrisR3tro
Administrator
Beiträge: 1979
Registriert: Mo 7. Mär 2005, 23:33
Wohnort: NRW
Kontaktdaten:

Re: AMD K6 III+ System aufbauen (Zeitmaschine)

Beitrag von ChrisR3tro »

Hallo Phil,

wie immer cooles Video! Danke, dass du es hier schon vorab teilst.

Von den Tools k6waon, k6wc und setewb wusste ich noch nichts. Für mich funktioniert mxk6opt auch ganz gut. Ich vermute keine dieser Tools kann man ausführen nachdem man EMM386 geladen hat, korrekt?

Deshalb suche ich nach einem Weg, die Tools vorher (in der config.sys) auszuführen. Früher hat das k6dos.sys ganz gut erledigt, aber leider funktioniert die nicht mehr mit meinem neuen DFI K6XV3+/66 Mainboard.

Gruß
locutus
drzeissler
DOS-Gott
Beiträge: 3336
Registriert: Mo 8. Feb 2010, 16:59

Re: AMD K6 III+ System aufbauen (Zeitmaschine)

Beitrag von drzeissler »

Funktionieren tut das schon, den Fehler kann man doch ignorieren.
CPU: 486 DX2/66 MOBO: SNI-D882 RAM: 3x16MB - FDD: 3,5" 1,44MB HDD: 6,4GB Seagate ISA(1): Audican32Plus PCI(1): 3com TX 905 OS: MsDos622 - Win95a - WinNT 3.51
Benutzeravatar
ChrisR3tro
Administrator
Beiträge: 1979
Registriert: Mo 7. Mär 2005, 23:33
Wohnort: NRW
Kontaktdaten:

Re: AMD K6 III+ System aufbauen (Zeitmaschine)

Beitrag von ChrisR3tro »

@drzeissler: Dann wird nur der Multiplikator gesetzt, nicht Write Combining.
Benutzeravatar
FGB
DOS-Übermensch
Beiträge: 1873
Registriert: Di 15. Feb 2011, 12:02

Re: AMD K6 III+ System aufbauen (Zeitmaschine)

Beitrag von FGB »

Ich kann zur konkreten Problemlösung nichts beitragen, aber ich kann ausschließen, dass der Fehler am MVP3 Chipsatz liegt. Auf den Motherboards PC-CHIPS M577 und EPOX MVP3G5 (Beide mit VIA MVP3 Chipsatz) lief k6dos.sys bei mir problemlos und ohne Fehlermeldung. Auch dein DFI Board scheint bei anderen mit k6dos.sys zu laufen. Es gab von diesem Board zahlreiche Revisionen und unterschiedliche BIOS-Stände.

Welches BIOS hast du installiert? Das letzte BIOS hat jedenfalls schon Support für den K6-III+ (Stand 12.4.2000) - vielleicht läuft das ja anstandslos mit k6dos.sys zusammen?
Meine Sammlung zeige ich in meiner Hardware Gallery: AmoRetro.de.
Benutzeravatar
ChrisR3tro
Administrator
Beiträge: 1979
Registriert: Mo 7. Mär 2005, 23:33
Wohnort: NRW
Kontaktdaten:

Re: AMD K6 III+ System aufbauen (Zeitmaschine)

Beitrag von ChrisR3tro »

Ich flashe eigentlich grundsätzlich das neuste BIOS. Das war auf der DFI-Seite nicht mehr aufzutreiben. Daher hab ich einfach das "Latest Bios" von Phil's Seite genommen.
drzeissler
DOS-Gott
Beiträge: 3336
Registriert: Mo 8. Feb 2010, 16:59

Re: AMD K6 III+ System aufbauen (Zeitmaschine)

Beitrag von drzeissler »

Kann es nicht auch eine Einstellung im Bios sein?
CPU: 486 DX2/66 MOBO: SNI-D882 RAM: 3x16MB - FDD: 3,5" 1,44MB HDD: 6,4GB Seagate ISA(1): Audican32Plus PCI(1): 3com TX 905 OS: MsDos622 - Win95a - WinNT 3.51
Benutzeravatar
ChrisR3tro
Administrator
Beiträge: 1979
Registriert: Mo 7. Mär 2005, 23:33
Wohnort: NRW
Kontaktdaten:

Re: AMD K6 III+ System aufbauen (Zeitmaschine)

Beitrag von ChrisR3tro »

Etwas mehr Recherche von meiner Seite:

Die Fehlermeldung von k6dos.sys lässt darauf schließen dass folgende Routine verwendet wird, um die Größe des Hauptspeichers in Erfahrung zu bringen:

http://www.uruk.org/orig-grub/mem64mb.html#int15e801 (s. "E801")

Leider weiß ich nicht, warum mein PC damit ein Problem haben soll. Ich habe nun schon verschiedene Speicherriegel 32, 64 und 256MB verwendet und Memory Hole 15-16M mal eingeschaltet im BIOS zum Test. Immer das gleiche Ergebnis. :-(
Benutzeravatar
ChrisR3tro
Administrator
Beiträge: 1979
Registriert: Mo 7. Mär 2005, 23:33
Wohnort: NRW
Kontaktdaten:

Re: AMD K6 III+ System aufbauen (Zeitmaschine)

Beitrag von ChrisR3tro »

Nachtrag: Nachdem ich diesen Thread auf Vogons gelesen habe, in dem es um die Unterstützung des Calls in DOSBox geht, glaube ich nun, dass mein BIOS anscheinend nicht alle Register mit Infos füllt:

http://www.vogons.org/viewtopic.php?t=11448
Benutzeravatar
ChrisR3tro
Administrator
Beiträge: 1979
Registriert: Mo 7. Mär 2005, 23:33
Wohnort: NRW
Kontaktdaten:

Re: k6dos.sys - Problem mit Speichererkennung

Beitrag von ChrisR3tro »

Neue Infos:

Ich habe ein kleines Tool geschrieben welches den entsprechenden BIOS-Call den k6dos.sys zur Speichererkennung verwendet mal ausführt und die Ergebnisse der CPU-Register auf den Bildschirm schreibt.

Infos zum Call Int15h / AX=e801h findet ihr hier:

http://www.uruk.org/orig-grub/mem64mb.html#int15e801

Meine Beispielimplementierung:

Code: Alles auswählen

/* 
 * Memory detect tool v1.0
 * -- Put some entertaining description here, if i am not too lazy --
 * 
 */

#include <stdio.h>
#include <i86.h>

void check_e801(union REGS* regs)
{
	(*regs).x.ax = 0xe801;
	(*regs).x.bx = 0;
	(*regs).x.cx = 0;
	(*regs).x.dx = 0;
	(*regs).x.cflag = 0;
	
	int86(0x15, regs, regs);
}

void check_88h(union REGS* regs)
{
	(*regs).h.ah = 0x88;
	(*regs).x.ax = 0;
	(*regs).x.cflag = 0;
	
	int86(0x15, regs, regs);
}


int main(int argc,char **argv)
{
	union REGS regs;
	union REGS regs2;
	
	printf("Memory detect tool v1.0\n");

		
	printf("Checking e801h call...");
	
	check_e801(&regs);

	if (regs.x.cflag != 0)
		printf(" error. :-(");

	printf("\nAX: %x\nBX: %x\nCX: %x\nDX: %x\n", regs.x.ax, regs.x.bx, regs.x.cx, regs.x.dx);
	
	printf("\nChecking 88h call...");
	
	check_88h(&regs2);
	
	if (regs2.x.cflag != 0)
		printf(" error. :-(");
	
	printf("\nAX: %x\n", regs2.x.ax);
	
	return 0;
}
Kompiliert habe ich das ganze mit dem Watcom 16-bit C++-Compiler für DOS (v. 9.5b).

Fazit:

Das aktuellste BIOS (lt. Phil) vom Board DFI K6XV3+/66 Rev.B quittiert den Call e801h mit Carry-Flag != 0 und AX=8601, d.h. er wird nicht unterstützt. Genau deswegen kann k6dos.sys Write Combining nicht aktivieren. Das Board ASUS TX97-XE hingegen liefert hier brauchbare Werte - hier funktionert k6dos.sys erwartungsgemäß korrekt.

Anscheinend ist es nicht gesichert, dass alle BIOSse diese Calls korrekt umsetzen. DOSBox scheint sie z.B. auch nicht zu emulieren. Meine Empfehlung ist deshalb, k6dos.sys nicht zu verwenden, da die Methode zur Erkennung des Hauptspeichers nicht gut umgesetzt ist. Es müssten hier mehrere BIOS-Calls ausgeführt werden, inbesondere auch e820h um eine vernünftige Aussage über Größe des Hauptspeichers treffen zu können. So macht es z.B. der Bootmanager GRUB. Hier gibt's eine Art Fallback. e820h -> e801h -> 88h

Gruß
locutus
drzeissler
DOS-Gott
Beiträge: 3336
Registriert: Mo 8. Feb 2010, 16:59

Re: k6dos.sys - Problem mit Speichererkennung

Beitrag von drzeissler »

Ich stecke da jetzt nicht ganz so tief drin, wie äussert sich das mit dem Fehler letztlich?
CPU: 486 DX2/66 MOBO: SNI-D882 RAM: 3x16MB - FDD: 3,5" 1,44MB HDD: 6,4GB Seagate ISA(1): Audican32Plus PCI(1): 3com TX 905 OS: MsDos622 - Win95a - WinNT 3.51
Benutzeravatar
ChrisR3tro
Administrator
Beiträge: 1979
Registriert: Mo 7. Mär 2005, 23:33
Wohnort: NRW
Kontaktdaten:

Re: k6dos.sys - Problem mit Speichererkennung

Beitrag von ChrisR3tro »

Das Setzen des Multiplikators funktioniert zwar, aber Write Combining wird nicht aktiviert, sodass man Performance verschenkt.
drzeissler
DOS-Gott
Beiträge: 3336
Registriert: Mo 8. Feb 2010, 16:59

Re: k6dos.sys - Problem mit Speichererkennung

Beitrag von drzeissler »

Wieviel 3% 10%, im Grunde will man den doch unter Dos langsam haben.
CPU: 486 DX2/66 MOBO: SNI-D882 RAM: 3x16MB - FDD: 3,5" 1,44MB HDD: 6,4GB Seagate ISA(1): Audican32Plus PCI(1): 3com TX 905 OS: MsDos622 - Win95a - WinNT 3.51
Antworten