EMM386 - zu wenig hoher Speicher?

Konfiguration, Anwendungen, Treiber und TSRs unter DOS
Antworten
dosuser60
MemMaker-Benutzer
Beiträge: 76
Registriert: Fr 16. Sep 2011, 16:33
Wohnort: Husum

EMM386 - zu wenig hoher Speicher?

Beitrag von dosuser60 »

Hallo,

da ich im Grunde noch DOS-Anfänger bin, gehe ich mal davon aus, das ich EMM386 nicht richtig bedienen kann. Und zwar habe ich den Treiber folgendermaßen aufgerufen:

DEVICE=C:\DOS\EMM386.EXE NOEMS

Ich bin der Meinung, dass der hohe Speicher der von 640KB bis 1MB ist. Nach Adam Riese sind das 384KB. Wie kann es dann sein, dass mir nur 139KB zur Verfügung stehen. Wenn ich EMM386 mit RAM aufrufe, habe ich sogar nur noch 74KB frei.
Ich hätte nun gerne gewusst, ob und wie ich mehr hohen Speicher zur Verfügung haben kann. Vielen Dank im voraus.
MfG

Marcel (dosuser60)
Benutzeravatar
Dekay
Norton Commander
Beiträge: 143
Registriert: Mi 15. Jun 2005, 09:32
Wohnort: München

Re: EMM386 - zu wenig hoher Speicher?

Beitrag von Dekay »

Hallo dosuser60,

beim Einbinden von EMM386 geht es ja hauptsächlich darum den Expansionsspeicher nutzen zu können um Treiber und TSR-Programme in diesen Bereich zu schieben,
damit vom normalen Speicher recht viel, möglichst 640kb frei bleiben. Deshalb ist der Zusammenhang der Konfigurationsdateien wichtig. Die meisten Dos User haben
deshalb verschiedene Konfigurationsbereiche für verschiedene Situationen in ihrem Konfigurationen und rufen sie über ein Menü auf.
Zeig uns doch die CONFIG.SYS und die AUTOEXEC.BAT und erkläre auch mit wechelm Befehl Du den Speicher anzeigst.

So weit ich weiss kann man nicht den gesamten Bereich nutzen, da z.B. Video Ram in dem Bereich liegt. Der monochrome Video Bereich kann meist gefahrlos eingebunden
werden. >== device=c:\dos\emm386.exe noems i=b000-b7ff <==. Leider werden die Speicherbereiche beim Hochladen auch dynamisch benutzt.
Damit meine ich dass ein Treiber zuerst einen größeren Bereich einnimmt obwohl am Ende nicht der volle Bereich genutzt wird, so das freie
Lücken im Speicher bestehen bleiben. Ich glaube es gibt ganze Bücher über die Optimierung des Speichers bei Dos.

Vielleich hat jemand anders hier noch einen schönen Link parat.

Ich hab hier einen mit einem schönen EMM386 Ersatz:
http://www.uwe-sieber.de/umbpci.html

Gruß

dominik

PS: EMM386 braucht übrigens ca. 150 KB des XMS Speichers selbst...
elianda
DOS-Übermensch
Beiträge: 1035
Registriert: Mi 31. Jan 2007, 19:04
Wohnort: Halle
Kontaktdaten:

Re: EMM386 - zu wenig hoher Speicher?

Beitrag von elianda »

Hmm, UMBPCI ist kein EMM386 Ersatz. Das Programm macht etwas anderes und funktioniert vor Allem nur auf ganz speziellen Chipsaetzen.

Normalerweise ist zwischen 640 K und 1 MB kein RAM, da dieser Speicher fuer Steckkarten und BIOS ROMs vorgesehen ist.
Nun gibt es Mainboard Chipsaetze, die es erlauben den eigentlichen ueberdeckten, jedoch vorhandenen RAM zwischen 640K und 1 MB wieder in Bloecken einzublenden.
Das wird z.B. beim BIOS Shadowing genutzt. Da Zugriffe auf das ROM recht langsam sind, bieten modernere Mainboards die Funktion, das RAM im Bereich des BIOS ROMs wieder einzublenden und das ROM dann in das darunterliegende RAM zu kopieren. Dann wird das ROM ausgeschaltet und die CPU liest das BIOS aus der RAM Kopie. Das nennt sich gemeinhin Shadowing.
Bei den Steckkarten ist es so, dass typischerweise BIOS ROMs von Steckkarten und Speicherbereiche von Steckkarten teilweise in den Bereich ueber 640 K eingeblendet werden. Die VGA-Karte ist ein ueblicher Vertreter, aber auch SCSI Karten mit eigenem BIOS blenden sich dort ein.

Ein Speichermanager wie EMM386 kann nun in den restlichen ungenutzten Bereichen wieder RAM einblenden. Dieser wird dann oft UMB genannt (Upper Memory Blocks). Das sind bei Dir dann also 384 K - (BIOS + VGA + sonstiges). Dabei sind verbleibende 139 kB nicht so ungewoehnlich.
Mit der Option RAM aktiviert man die Unterstuetzung fuer Zugriffe auf dem Speicher ueber 1 MB mittels EMS-Standard. Dabei blendet der Speichermanager in einem 64 kB grossen Bereich zwischen 640K und 1 MB einen 64 K Teil des Speichers ueber 1 MB ein. Daher hat man dann 64 kB weniger freie UMBs. EMS kommt urspruenglich von echten Erweiterungsspeicherkarten mit eigenem vom Hauptspeicher getrennten Speicher. Ab dem 386er kann man aber ueber Funktionen der CPU Speicher von anderen Orten des Hauptspeichers einblenden, so dass sich Speicher ueber 1 MB anbieten laesst, als wuerde er von einer unabhaengigen Speichererweiterungskarte kommen.
Diverse Retro-Computer vorhanden.
dosuser60
MemMaker-Benutzer
Beiträge: 76
Registriert: Fr 16. Sep 2011, 16:33
Wohnort: Husum

Re: EMM386 - zu wenig hoher Speicher?

Beitrag von dosuser60 »

Mit anderen Worten heißt das, dass ich nicht mehr hohen Speicher für meine Treiber frei kriege. Gibt es eine andere Möglichkeit?
MfG

Marcel (dosuser60)
tom4DOS
BIOS-Flasher
Beiträge: 386
Registriert: Do 24. Feb 2011, 17:20
Wohnort: München

Re: EMM386 - zu wenig hoher Speicher?

Beitrag von tom4DOS »

Es gibt sogar zwei:
1. Du optimierst den hohen Speicherbereich per Hand (die DOS-Befehlsreferenz zu EMM386 hilft weiter, genauso wie die zahlreichen Anleitungen dazu im Netz)
2. Du ersetzt einige Treiber, die bei DOS dabei sind, durch andere, die weniger Speicher benötigen. Auch hier hilft Google weiter, je nachdem, was Du genau suchst.
elianda
DOS-Übermensch
Beiträge: 1035
Registriert: Mi 31. Jan 2007, 19:04
Wohnort: Halle
Kontaktdaten:

Re: EMM386 - zu wenig hoher Speicher?

Beitrag von elianda »

Gib doch mal bitte einen Speicherauszug, damit man sehen kann, warum du soviel freien Speicher über 640K benoetigst. Für die allermeisten Konfigurationen sind 139 kB mehr als genug.

Wahlweise kannst Du:

- kleinere Treiber nutzen
- QEMM386 mit Stealth Option einsetzen. Damit werden bestimmte Speicherbereiche mehrfach genutzt, wodurch man in Summe mehr als 384K genutzten oberen Speicher bekommt. Jedoch sollte man dafür recht genau wissen, was man tut. Sonst könnte man den Eindruck bekommen, dass die Stealth-Option Instabilitäten hervorruft.
Diverse Retro-Computer vorhanden.
Antworten