Extended Memory Manager Probleme

T.Lancer

Enthusiast
Thread Starter
Mitglied seit
03.08.2005
Beiträge
6.566
Ort
Niedersachsen/Bremen
tach. Hab hier ein Problemrechner:

AMD 386 40mhz
8MB RAM
Terratec Gold 16/96
4GB Scsi Platte
PC-Dos 7 und Windows 3.11

so, nun das Problem:

laut Autoexec.bat wird der extended memory manager geladen. EMM386.exe (kommt auch beim start, dass der geladen worden ist)

Doch wenn ich versuche irgendwelche Spiele zu starten. Zum Beispiel Indiana Jones and the Fate of Atlantis oder Prince of Persia. Gibt er mir ne Meldung dass der Rechner nur 312KB RAM frei hat, wobei 318KB benötigt werden. Ich denke mal die 8MB sollten reichen. Doch irgendwie nicht.

Ich glaube also, dass DOS den erweiterten RAM nicht frei gibt... :hmm:

Dann habe ich auch mal das gute alte Alone in the Dark 1 (CD version mit Stimmen) installiert. Installierte auch und läuft gut. Aber wenn was glesen werden soll (mit einer stimme) kackt der ab und sagt, dass der DMA Buffer voll wäre. (unter win 3.11)

Kann mir jemand hier helfen?

Der Rechner erfüllt alle Mindestvoraussetzung für diese Spiele.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Hallo,

uiiuii des iss jetzt zwar schon sehr lange her, daß ich mich damit beschäftigt hatte, aber es gab meines Wissens die Möglichkeit dem EMS bzw XMS Speicher den Ram zuzuordnen (in den Startdateien)also wieviel vom Speicher zugeteilt werden soll. Und mit dem Mem Befehl kann man nachschauen ober er EMS und/oder XMS belegt hat und wenn wieviel.

Ich hatte mir damals ein richtiges Startmenü geschrieben, wo alle Möglichkeite zum Auswählen gab z.B. "EMX,XMS,CD-Rom, Sound" oder z.B. "nur EMS & SOUND". Dann hatte ich noch eins nur für LucasGames. So hatte ich für jedes Games die optimale Speicher Belegung, hatt ja nur 4 erbährmliche MB.
 
Zuletzt bearbeitet:
Uff, gaaanz tief im Hirn kram.... das ist ja schon sooo lange her.
Du musst in der config.sys und autoexec.bat die Treiber mit den Parametern /loadhigh und /devicehigh laden. Dann bekommst du unter 640k bis zu 598k frei. Wie genau du die Parameter einsetzt, musst du leider nochmal im Internet erforschen. Ist einfach schon zu lange her.

Früher waren wir in unserer Firma darin echte Cracks (welch wunder, wenn man´s täglich an etlichen PC´s konfigurieren musste)!
 
Also zuersteinmal muss man in der config.sys die Memory Manager als erstes laden.
EMM386.EXE erfordert vorher HIMEM.SYS

Also mach es etwas folgendermassen:
config.sys:

DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF
DEVICE=C:\DOS\EMM386.EXE RAM AUTO
DOS=HIGH,UMB
DEVICEHIGH=hier weitere eigene Treiber, groessere guenstigerweise zuerst, meist *.sys

autoexec.bat:
SET PATH=C:\DOS;..
LH Treiber die in der autoexec.bat geladen werden, wie *.exe und *.com

falls Du nur Programme hochladen willst und nur XMS brauchst im hohen Speicher, dann schreibe statt AUTO hinter EMM386.EXE das Wort NOEMS.
 
Zuletzt bearbeitet:
danke werde ich mal testen

so hat geklappt. danke :)

nun habe ich aber immernoch das Problem mit dem Sound. bei Indiana Jones wird grad mal 2 sekunden gesprochen, dann bricht's ab und es wird nciht mehr weiter gesprochen, bis zur nächsten Szene. (Stimmen Version) Hat jemand da noch ne idee? denke mal irgendwas stimtm mit der Soundkarte nicht, aber kp was genau.
 
Zuletzt bearbeitet:
Klingt von der Problembeschreibung als wuerde der IRQ nicht stimmen.
Schaue nochmal was du gejumpert hast und vergleiche was Du in der BLASTER Umgebungsvariable gesetzt hast.
 
so habs in griff bekommen. lag darn, dass die programme die karte bei IRQ 7 suchte, obwohl die Karte IRQ 5 ist. Läuft jetzt ohne Probleme. ;) danke
 
Hi!
Jaja die alten Zeiten ...
Weiß nicht ob das alles bei PC-DOS auch klappt - ich hatte selbst nur MS-DOS 3.3 Englisch, MS-DOS 5 Deutsch, MS-DOS 6.0 Deutsch und zuletzt 6.22 Deutsch.
Später bei Win95 (MS-DOS 7) sowie Win98 (MS-DOS 7.1) klappe das meiste auch noch:

device=c:\dos\emm386.exe i=E000-EFFF i=B000-B7FF ram

Gibt noch den Bereich des Arbeitsspeichers frei der für Monochrom Grafikkarten verwendet wird. Kann man mit einer VGA Karte ohne Probleme machen wenn man nicht gerade Programme oder Spiele verwendet die einen Monochrom Modus verwenden.
Falls es damit Probleme gibt (kam bei IBM PS2 Systemem vor) dann nur i=B000-B7FF verwenden.
Damit kann man noch mehr Programme in den "hohen Speicherbereich" laden.

Statt AUTO kannst Du auch eine Zahl angeben. z.B. 4096 ... damit werden 4MB EMS Speicher aktiviert - und der Rest (Deiner 8MB RAM) sind dann XMS (sollten also dann noch knappe 3MB sein).
Einige Spiele wollten EMS ... einige XMS.

Auch mit den Maustreibern und CD Laufwerk Treibern kann man experimentieren. Alte PS2 und Serielle Mäuse kann man von den 3 Tasten in den 2 Tasten Betrieb umschalten und sind somit MS kompatibel. Sprich da kann man dann Logitech, MS oder auch andere (Mitsumi, Genius etc.) Maustreiber ausprobieren und nachsehen welcher am wenigsten Speicher braucht.
Bei den CD-Laufwerken gilt selbiges ...

Mit dem Befehl
mem /c |more
Sieht man was wieviel Speicher belegt und ob es "hoch" geladen wurde oder nur in den konventionellen Speicher.

Wie schon geschrieben wurde kann man in der Config.sys die .SYS Treiber mit DEVICEHIGH= hochladen und mit INSTALLHIGH <EXE/COM Programm> auch schon diverse Programme laden.
In der Autoexec.bat eben mit LOADHIGH bzw. LH <EXE/COM Programm>

Und ja - Soundprobleme sind meistens IRQ / Adress oder DMA Konfliken zuzuordnen.
Wenn der Parallelport nicht benötigt wird kann man den meist im BIOS deaktivieren und bekommt somit den IRQ 7 frei. (Oft hilfreich wenn man 2 alte ISA Soundkarten nutzen will)

Ach und es gibt ja auch noch den Eintrag SWITCHES /F in der Config.sys. Das bewirkte daß MS-DOS nicht kurz wartete nach der "MS-DOS wird gestartet ..." Anzeige.
k.A. ob das unter PC-DOS auch gilt.

Ebenfalls ganz interessant ist:
BUFFERS=<x> in der Config.sys (x ist eine Zahl zw. 0-99)
Dies ist ein Filesystem Cache. Je höher die Zahl desto mehr Cached das System in den Speicher bevor es auf den Datenträger geschrieben wird.
Hier kann man auch BUFFERSHIGH= verwenden um den Cache in den oberen ("hohen") Speicherbereich zu legen. Wenn SMARTDRIVE verwendet wird benötigt man diesen Eintrag nicht.
FILES=<y> gibt es auch noch (<y> Zahl)
Gibt an auf wieviele Dateien DOS gleichzeitig zugreifen kann. Einige Programme brauchen hier einen höheren Wert. Dies kann man ebenfalls mit FILESHIGH= in den hohen Speicherbereich legen.

Ach das waren noch Zeiten wo ein riesiges Auswahlmenü erschien und man jede Menge Konfigurationen zum Auswählen hatte.
Wirf mal Google an - da findest Du eh jede Menge dazu.
Hatte damals mit normalen Einstellungen (Maustreiber, Soundtreiber für SB16 bzw. SB AWE32 sowie SmartDrive) meist ca. 615kB konventionellen Speicher.
Mit CD-ROM dann um die 600kB.
 
device=c:\dos\emm386.exe i=E000-EFFF i=B000-B7FF ram

Hmm das mit I=E000-EFFF verstehe ich nicht.
Normal ist dort kein Adapter und der EMS Pageframe wird typischerweise bei E000 eingerichtet. Das heisst, EMM386 sollte das ohne weitere Adapterkarte immer includen.
Falls er dort etwas erkennt, was aber nicht wirklich dort ist, waere doch sicher HIGHSCAN guenstiger?
 
@elianda
Scannt der EMM386 mit der HIGHSCAN Option nicht erst ab F000:0000 los?
Ich kann mich nur erinnern daß es ab und zu mit I=E000-EFFF zu Problemen kam. Kann eben sein daß dann der ein oder andere Maustreiber, CD-ROM Treiber oder SCSI Treiber nicht funktioniert.
 
Was HiGHSCAN macht, da hast Du recht.
Zu dem Include:

Die MS Knowledgebase sagt:
UMA Scanning Algorithm
By default EMM386.EXE scans the following UMA region:

MS-DOS 5.0: C800-DFFF

Windows 3.1, Windows for Workgroups 3.1: C600-DFFF

MS-DOS 6.0 and later, Windows for Workgroups 3.11 and later: C000-EFFF


NOTES:

The E000-EFFF region is handled differently on certain hardware (see the following section).

Under MS-DOS 6.0 and later and Windows for Workgroups 3.11, the F000-F7FF range can be included by using the HIGHSCAN switch.

EMM386.EXE and the E000 Segment
On Compaq machines, the E000 segment has either shadow RAM or the segment is unused. For shadow RAM, the shadow area is reclaimed by EMM386.EXE if the Int 10 vector has not been hooked before EMM386.EXE loads. This is because the shadow region contains a remapped copy of the video ROM from the C000 region.

EMM368.EXE excludes E000 on MCA machines (IBM PS/2s) since the E000 segment has the system ROM.

On other machines, E000 may be excluded by default. If you think the E000 range is available, you can explicitly include the E000 segment by adding I=E000-EFFF to the DEVICE=EMM386.EXE command in the CONFIG.SYS file.

NOTE: When EMM386.EXE encounters the include switch, it includes the region without scanning it for potential conflicts.

Also kurzgesagt: Ab Win3.1 / MSDOS6 wird es automatisch mit gescannt, bei MSDOS5 muss man es manuell includen.
 

Ähnliche Themen

Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh