EMM386.EXE MS-DOS Gerätetreiber

Die EMM386.EXE simuliert Expansionsspeicher (EMS, Expanded Memory), während Erweiterungsspeicher (Extended Memory) verwendet wird, und ermöglicht den Zugriff auf den hohen Speicherbereich (Upper Memory Area) auf Computern mit einem Prozessor vom Typ 80386 oder höher.

EMM386.EXE verwendet Erweiterungsspeicher zum Simulieren von Expansionsspeicher für Anwendungen, die Expansionsspeicher verwenden können. EMM386.EXE ermöglicht es außerdem, Programme und Gerätetreiber in den hohen Speicherbereich (Upper Memory Area) zu laden.

Syntax

device=[Laufwerk:][Pfad]emm386.exe [onlofflauto] [Speicher] [v=onlw=off] [nulframe=Adressellpmmnun] [pn=Adresse] [x=mmmm-nnnn] [i=mmmm-nnnn] [b=Adresse] [L=minErweiterungsspeicherplatz] [a=Alternativregister] [h=Zugriffsnummern][d=nnn] [ram] [noems]

Parameter

[Laufwerk:1[Pfadname]

Bezeichnet die Position der Datei EMM386.EXE.

[onlofflauto]

Aktiviert den Gerätetreiber EMM386.EXE (wenn „on“), deaktiviert den Gerätetreiber EMM386.EXE (wenn „off‘) oder versetzt EMM386.EXE in den automatischen Modus (wenn „auto“). Der automatische Modus aktiviert Expansionsspeicher nur, wenn ein Programm diesen anfordert. Der Standardwert ist

„on“. Verwenden Sie den Befehl emm386, um diesen Wert zu ändern, nachdem EMM386 gestartet wurde.

Speicher

Bezeichnet die Größe des Speichers (in KB), der EMM386.EXE zugewiesen werden soll. Gültige Werte für Speicher sind die Werte 16 bis 32768. Standardmäßig wird 256 gesetzt. EMM386.EXE rundet den Wert auf das nächste Vielfache von 16 ab. Wenn Sie Expansionspeicher verwenden, ist dieser Wert zusätzlich zu dem Speicher, der für das Auffüllen der unteren Speicherbänke verwendet wird.

Optionen

w=onlw=off

Aktiviert oder deaktiviert die Unterstützung für den Weitek-Koprozessor. Die Weitek-Koprozessor-Unterstützung ist standardmäßig deaktiviert („w=off“).

nix

Bezeichnet die Adresse des Seitenrahmens. Gültige Werte für x liegen im Bereich von 1 bis 14. Die folgende Liste zeigt jeden Wert und seine zugehörige Basisadresse im Hexadezimal-Format:

1=> C000h 8=> DC0Oh

2=> C400h 9=> E000h

3=> C800h 10=> 8000h

4=> CCO0h 11=> 8400h

5=> D000h 12=> 8800h

6=> D400h 13=> 8C0Oh

7=> D800h 14=> 9000h

Die Werte im Bereich 10 bis 14 sollten nur auf Computern mit 512 KB Arbeitsspeicher verwendet werden.

frame=Adresse

Gibt die Seitenrahmen-Segmentbasisadresse direkt an. Um eine bestimmte Segmentbasisadresse für den Seitenrahmen festzulegen, verwenden Sie die Option frame und die gewünschte Adresse. Um beispielsweise die Seite an die Adresse C800 zu legen, geben Sie in der Befehlszeile frame=C800 an. Gültige Werte für

Adresse sind 8000h bis 9000h und C000h bis E000h, in Schritten von jeweils 400h. Ipmmninz

Gibt die Adresse des Seitenrahmens an. Gültige Werte für mmmm sind 8000h bis 9000h und C000h bis E000h, in Schritten von jeweils 400h.

pn=Adresse

Bezeichnet die Segmentadresse einer bestimmten Seite, wobei n die Nummer der gewünschten Seite und Adresse die gewünschte Segmentadresse angibt. Gültige Werte für n sind 0 bis 255. Gültige Werte für Adresse sind 8000h bis 9COOh und C000h bis ECOOh, in Schritten von 400h.

Die Adressen für die Seiten PO bis P3 müssen fortlaufend sein, um Kompatibilität mit Version 3.2 der Lotus/Intel/Microsoft Expansionsspeicherspezifikation (LIM EMS) zu gewährleisten.

Wenn Sie die Option nix, die Option frame oder die Option lpmmmrn verwenden, können Sie für nicht die Adressen für die Seiten 0 bis 3 verwenden.

x=mmmnz-nnnn

Verhindert, dass EMM386.EXE einen bestimmten Segmentadressenbereich für eine EMS-Seite verwendet. Gültige Werte für mirtmrn und nnnn sind A000h bis 1-1-1-141. Die Werte werden auf die nächst-kleinere 4 KB-Grenze abgerundet. Die Option x hat Vorrang über die Option i, falls sich die beiden Bereiche überschneiden.

i=mmmm-nnnn

Gibt einen Bereich von Segmentadressen an, die für eine EMS-Seite oder für Arbeitsspeicher (RAM) verwendet (eingeschlossen) werden können. Gültige Werte für mtnnim und nnnn sind A000h bis FH-Fh. Die Werte werden auf die nächst-kleinere 4 KB-Grenze abgerundet. Die Option x hat Vorrang über die Option i, falls sich die beiden Bereiche überschneiden.

b=Adresse

Bezeichnet die niedrigste verfügbare Adresse für EMS-Speicherseiten zum Auslagern von 16-KB-Seiten (EMS banking). Gültige Werte liegen im Bereich zwischen 1000h und 4000h. Der Standardwert ist 4000h.

L=minErweiterungsspeicherplatz

Stellt sicher, dass die angegebene Größe (in Kilobyte) des Erweiterungsspeichers nach dem Laden von EMM386.EXE noch zur Verfügung steht. Der Standardwert ist 0.

a=Alternativregister

Gibt an, wieviele schnelle Wechselregistersätze, die für Multitasking verwendet werden, EMM386.EXE zugewiesen werden sollen. Gültige Werte liegen im Bereich zwischen 0 und 254. Standardmäßig ist der Wert 7 gesetzt. Jeder Wechselregistersatz fügt der Speichergröße von EMM386.EXE etwa 200 Byte hinzu.

h=Zugresnummern

Gibt an, wieviele Zugriffsnummern (handles) EMM386.EXE verwenden kann. Gültige Werte liegen im Bereich zwischen 2 und 255. Standardmäßig wird der Wert 64 verwendet.

d=nnn

Gibt an, wieviele Kilobyte Speicherplatz für gepufferten Direktspeicherzugriff (DMA, Direct Memory Access) reserviert werden sollen. Dieser Wert sollte die größte DMA-Übertragung berücksichtigen (unter Ausnahme von Disketten-DMA), die auftritt, während EMM386.EXE aktiv ist. Zulässige Werte für nnn sind 16 bis 256. Standardmäßig wird der Wert 16 verwendet.

ram

Bietet Zugriff sowohl auf Expansionsspeicher als auch auf den hohen Speicherbereich (Upper Memory Area).

noems

Bietet Zugriff auf den hohen Speicherbereich (Upper Memory Area), verhindert jedoch den Zugriff auf Expansionspeicher.

Hinweise zur EMM386.EXE

HIMEM.SYS vor EMM386.EXE installieren Der Gerätetreiberbefehl für den Gerätetreiber HIMEM.SYS muss in der Datei CONFIG.SYS vor dem Gerätetreiberbefehl für EMM386.EXE stehen.

Verwenden der EMM386.EXE-Speicheroptionen Falls Sie nicht EMM386.EXE dazu verwenden wollen, Zugriff auf den hohen Speicherbereich (Upper Memory Area) zu ermöglichen, brauchen Sie in der Gerätetreiber-Befehlszeile keine Optionen anzugeben, da normalerweise EMM386.EXE mit den Standardwerten ordnungsgemäß ausgeführt wird. In einigen Fällen ist es jedoch möglicherweise erforderlich, die Verwendung des Speichers durch EMM386.EXE zu steuern. Einige Programme lassen sich beispielsweise besser ausführen, wenn Sie ihnen mehr Expansionsspeicher zuweisen. Sie können auch festlegen, an welche Stelle EMM386.EXE den EMS­Seitenrahmen legen soll oder welche Segmente für EMS-Seiten verwendet werden sollen. Sie können in der Befehlszeile beliebig viele Speicheroptionen in beliebiger Reihenfolge angeben.

Vorsicht: Verwenden Sie die EMM386.EXE-Parameter vorsichtig. Sie können Ihr System lahmlegen, wenn Sie sie nicht korrekt verwenden.

Verwenden von EMM386 zum Zugriff auf hohen Speicherbereich (Upper Memory Area) EMM386 gewährt nicht nur Zugriff auf Expansionsspeicher, sondern auch auf den hohen Speicherbereich (Upper Memory Area), den MS-DOS verwenden kann, um einige Anwendungen und Gerätetreiber in ihn hineinzuladen. Sie müssen entweder die Option ram oder die Option noems verwenden, um den Zugriff auf den hohen Speicherbereich zu ermöglichen. Wenn Sie zwar Zugriff auf den hohen Speicherbereich, jedoch nicht auf den Expansionsspeicher benötigen, verwenden

Sie die Option noems. Wenn Sie sowohl den hohen Speicherbereich als auch Expansionsspeicher benötigen, verwenden Sie die Option ram. Mit dieser Option wird weniger hoher Speicherbereich für die Ausführung von Gerätetreibern und Programmen zur Verfügung gestellt als mit der Option noems. In beiden Fällen muss die Datei CONFIG.SYS den Befehl dos=umb enthalten. Der device-Befehl für EMM386.EXE muss allen devicehigh-Befehlen vorangestellt sein.

Unzureichender Platz für Seitenrahmen Wenn EMM386.EXE keine zusammenhängenden 64 KB für den Seitenrahmen finden kann, wird die folgende Meldung angezeigt:

Seitenrahmen-Basisadresse kann nicht gesetzt werden.

Beispiele zur EMM386.EXE

Um EMM386 als Expansionsspeicheremulator unter Verwendung der Standardwerte zu starten, fügen Sie die folgenden Zeilen in Ihre Datei CONFIG.SYS ein:

device=himem.SYS device=emm386.EXE

Da in diesem Befehl kein Laufwerk oder Pfadname für EMM386.EXE angegeben wurde, sucht MS-DOS EMM386.EXE im Stammverzeichnis des Startlaufwerkes.

Um EMM386.EXE 4096 KB Speicherplatz zuzuweisen und anzugeben, dass sich die Datei EMM386.EXE im Verzeichnis \DOS auf dem Laufwerk C befindet, fügen Sie die folgende Zeile in Ihre Datei CONFIG.SYS ein:

device6c:\dos\emm386.EXE 4096

Um Expansionsspeicher zu emulieren, geben Sie die Segmentbasisadresse D000h für den EMS-Seitenrahmen an, und um EMM386.EXE 512 KB Speicher zuzuordnen, verwenden Sie einen der folgenden Befehle:

device=emm386.EXE 512 frame=d000

device=emm286.exe 512 p0=d000 p1=d400 p2=d800 p3=dc00

Nehmen wir an, dass Sie zusätzlich zu den oben angegebenen Bedingungen verhindern wollen, dass EMM386 auf die Speicheradressen E000h bis ECO0h zugreift. Um dies zu tun und gleichzeitig anzugeben, dass EMM386 127 Zugriffsnummern verwenden kann,

fügen Sie die folgende Zeile in Ihre Datei CONFIG.SYS ein:

device=emm386.EXE 512 frame=d000 x=e000-ec00 h=127

Um Zugriff auf den hohen Speicherbereich (Upper Memory Area) zu gestatten, jedoch keinen Expansionsspeicher zu emulieren, fügen Sie die folgende Zeile in Ihre Datei CONFIG.SYS ein:

device=emm386.EXE noems

Um Zugriff auf den hohen Speicherbereich zu gestatten und gleichzeitig Expansionsspeicher zu emulieren, fügen Sie die folgende Zeile in Ihre Datei CONFIG.SYS ein:

device=emm386.EXE ram

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert