Kein EMM386 bei 1 GB-RAM?

Hier dürfen auch unregistrierte Besucher posten.
Antworten
Ruby

Kein EMM386 bei 1 GB-RAM?

Beitrag von Ruby »

Hallo allseits,

Ich wollte eine eigenständige Version MS-DOS 7.1 auf einen neuen Rechner installieren mit 1 GB DDRII-RAM und stelle fest, dass EMM386 nicht mehr funktioniert und überhaupt nichts mehr in den hohen Speicherbereich geladen wird.
Fehlermeldung:
"Expanded memory services unavailable"
"DOS 7.1 expanded memory driver version 4.95"
"EMM386 active"

Nun habe ich nicht viel Ahnung von DOS, und deswegen einige Fragen:
1) Ist meine Vemutung richtig, dass es nur am Speicher liegt, wenn dasselbe System auf einem anderen Rechner mit 256 MB "normalem" SDRAM ohne dieses Problem läuft?
2) Falls ja, kann dieses Problem ggf. mit Treibern von MS-DOS 8.0 (z.B. aus der Windows ME-Version) gelöst werden?
3) Falls ja, welche Treiber kämen dafür in Frage, ausser EMM386? Müsste da nicht auch noch z.B. HIMEM.SYS und/oder andere geladen werden?
4) Falls alles nein, kennt irgendjemand eine andere Lösung für dieses Problem?

Ich stehe zur Zeit auf dem Schlauch damit, und wäre für jeden Hinweis dankbar.

Mit Gruss,
Ruby
bttr

Beitrag von bttr »

Fehlermeldung:
"Expanded memory services unavailable"
"DOS 7.1 expanded memory driver version 4.95"
"EMM386 active"
Das ist keine Fehlermeldung. siehe http://www.microsoft.com/technet/archiv ... sages.mspx

Poste bitte mal deine CONFIG.SYS und AUTOEXEC.BAT.
Ruby

Beitrag von Ruby »

bttr hat geschrieben:
Fehlermeldung:
"Expanded memory services unavailable"
"DOS 7.1 expanded memory driver version 4.95"
"EMM386 active"
Das ist keine Fehlermeldung. siehe http://www.microsoft.com/technet/archiv ... sages.mspx

Poste bitte mal deine CONFIG.SYS und AUTOEXEC.BAT.

Vielen Dank für den Link, der hat das Problem gelöst.

Mit den "normalen" Einträgen in der CONFIG.SYS ganz ohne Parameter und Switches
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE RAM
DOS=HIGH,UMB,AUTO
(...)
funktioniert es plötzlich. Auch wenn ich nicht vestehe, was da eigentlich passiert war.

BTW, ein sehr schönes Forum hier. Ich wusste gar nicht, dass DOS noch so lebendig ist.

Mit Gruss,
Ruby
bttr

Beitrag von bttr »

"RAM" ist aber ein Parameter. :lol:
Ruby

Beitrag von Ruby »

bttr hat geschrieben:"RAM" ist aber ein Parameter. :lol:
Schon richtig, aber irgendwas ist da trotzdem oberfaul.

Ich kann EMM386 mit oder ohne Parameter einstellen, mit der Menge des zu allozierenden Expansionsspeichers und der Basis-Adresse für das EMS-frame oder einfach nur mit RAM für UMB und EMS, und MEM.EXE gibt immer korrekt an, wieviel Speicher wo zur Verfügung steht.

Aber ein Programm kriege ich trotzem nicht zum Laufen, Fehlermeldung: "Out of memory".
Obwohl dasselbe Programm unter demselben DOS mit exakt denselben Einstellungen auf einem anderen Rechner noch nie Probleme gemacht hatte.

Und noch eines ist merkwürdig: Wenn ich für EMM386 was eingestellt habe und dann MEMMAKER.EXE laufen lasse, schreibt MEMMAKER immer und in jedem Fall den Parameter NOEMS hinter EMM386, und zwar völlig unabhängig davon, was ich bei MEMMAKER anfordere.

Vielleicht ist ja doch nur der Speicher nicht geeignet. Oder kann das am Prozessor liegen, wenn der mit 64 Bit rechnet?
elianda
DOS-Übermensch
Beiträge: 1150
Registriert: Mi 31. Jan 2007, 19:04
Wohnort: Halle
Kontaktdaten:

Beitrag von elianda »

Ich denke EMM386 kommt mit irgendwas des relativ neuen Rechners nicht zurecht.
Die 64 Bit Faehigkeit des Prozessor ist jedoch auszuschliessen, eher problematisch sind eingeblendete BIOS Teile und unueblichen Bereichen.

Und vor allem ein schlechtes Bios, das ungenuegend fuer DOS die wichtigen Speicherbereiche initialisiert. Versuche mal ob es hilft ACPI off, PnP OS off usw.

Ansonsten versuche mal QEMM386, vielleicht ist es eine EMM386 Eigenheit.

Mit Memmaker kenne ich mich nicht aus, das habe ich einmal benutzt und dann nie wieder :P
Benutzeravatar
Dosenware
DOS-Gott
Beiträge: 3745
Registriert: Mi 24. Mai 2006, 20:29

Beitrag von Dosenware »

Aber ein Programm kriege ich trotzem nicht zum Laufen, Fehlermeldung: "Out of memory".
welches?

Dossoftware geht fuer gewoehnlich davon aus, dass maximal 64MB Ram im Rechner sind, deshalb kann es sein das es bei der Abfrage der verfuegbaren Speichermenge zu einem Ueberlauf kommt... (kennt man z.b. von Fdisk bei groeßeren Festplatten, oder vom IE unter Win 3.11)
In dem Fall kann Eatems/Eatxms abhilfe schaffen.

Auch kann die Software bis zu 32MB EMSspeicher anfordern, aber das duerfte ja mit dem Parameter RAM geklaert sein.

Ebenfalls moeglich ist, das die Software konventionellen Speicher benoetigt...
mach doch mal ein "mem /c /p > mem.txt" und poste dann die mem.txt . (am besten mit Hilfe des Code-Tags, damit es die Leerzeichen nicht zusammenstaucht)
Dr.Önologie

Beitrag von Dr.Önologie »

Hi,

ein anderer "Versuch" wäre, dir HimemX und JEMM386 von http://www.japheth.de/ herunterzuladen. Das sind ganz aktuelle Versionen der FreeDOS-Treiber. Falls du dann noch immer das Problem hast, kannst du vielleicht Japheth fragen, er entwickelt im Moment die Programme. Eins weiß ich sicher - sie unterstützen auf jeden Fall bis zu 2GB Hauptspeicher.
elianda
DOS-Übermensch
Beiträge: 1150
Registriert: Mi 31. Jan 2007, 19:04
Wohnort: Halle
Kontaktdaten:

Beitrag von elianda »

Das koennte ich mal ausprobieren.
Bei EMS werden koennen ja ab 8086+ 64KB Speicherseiten eingeblendet werden ab E0000 meistens. Da limitiert die Anzahl der verfuegbaren Seiten. Bei dem Standard reicht es bis 64 MB, mit Erweiterungen gehen auch 256 MB.
Prinzipiell beliebig...

Comment: Ja auch bei einem 8086 kann man mit einer 256MB grossen EMS Karte viel Speicher reinbauen !

Bei XMS wird ab dem 286er der Speicher ueber 1 MB angeboten. Das heisst effektiv A20 Leitung an und in den Protected Mode umschalten, Daten kopieren und zurueckschalten. Der Standard reicht bis 64 MB.

Anmerkung: EMM386.EXE ist effektiv ein XMS zu EMS Wandler, deshalb muss man auch HIMEM.SYS vorher laden. Das heisst aber auch, dass 'echter' EMS-Speicher eine Speichererweiterungskarte ist.

Angenommen man bootet ganz ohne Speichermanager und benutzt einen DOS-Extender wie DOS4GW. Dann sollte man allen Speicher bekommen, den man im Protected Mode adressieren kann.
Das heisst: Beim 286er maximal 16 MB in 64 kB Pages bei 16 Bit Segment Groesse.

Beim 386er sollte man volle 4GB bekommen bei 20 Bit Segmentgroesse und einer Aufloesung von 4096 Byte (Granularitaet) 2^(20+12) = 2^32

Muesste man sich mal anschauen.
Antworten