Speicher Probleme unter MS DOS bei neuen Rechner

Dieses Thema im Forum "Software allgemein" wurde erstellt von Ghostdriver, 8. September 2005.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Ghostdriver

    Ghostdriver ROM

    Registriert seit:
    8. September 2005
    Beiträge:
    6
    Hallo Leute.

    Wir haben hier in der Firma ein Problem was uns schon seid längerem zu denken gibt. Ich muss da mal zum allgemeinen Verständnis weiter auholen:
    Wir benötigen hier stink normale Rechner die wir mit MS DOS 6.22 und einer speziellen Software von uns laufen lassen.
    Die brauchen:
    - 2x Serielle Schnittstellen
    - 1x parrallel
    - min. 1 x PS/2 für die Tastattur
    Alles weitere wie Prozessorleistung, Arbeitsspreicher, GraKa, Festplatte usw. ist nebensächlich, da das System durch DOS und unsere Software kaum gefordert wird. Aufgrund des Vormarsches von USB und die Weiterentwicklung der Motherboards sind solche Rechner nur noch schwer zu finden. Die letzten Rechner waren allesammt von Dell, die uns aber mittlerweile dies auch nicht mehr liefern können. Meistes fehlt dann eine serielle Schnittstelle, oder es gibt kein PS/2 mehr.

    Nun haben wir uns mit Alternate kurzgeschlossen. Die können uns als einzigste die Rechner bauen. Nun haben wir knapp 30 nagelneue Rechner im Lager stehen, die allesamt nicht laufen. Die Rechner haben volgende Daten: GIGABYTE GA-8IPE1000-G Mainboard mit 256 MB DDR RAM.

    Zum eigendlichen Problem: Zuerst partionieren wir die Festplatte mit Partion Magic 8.0 neu. Wir legen eine neue FAT Partition mit 2.047,3 MB an. Mehr brauchen wir auch nicht. Anschlissen spielen wir MS DOS 6.22 auf. Der Rechner ist danach voll funktionsfähig ohne Probleme oder Einschränkungen. Die Config.sys und Autoexec.bat enthalten folgende Zeilen:

    Config.sys:
    DEVICE=C:\DOS\SETVER.EXE
    DEVICE=C:\DOS\HIMEM.SYS
    DOS=HIGH
    COUNTRY=049,850,C:\DOS\COUNTRY.SYS
    DEVICE=C:\DOS\DISPLAY.SYS CON=(EGA,,1)
    FILES=30


    Autoexec.bat:
    C:\DOS\SMARTDRV.EXE /X
    @ECHO OFF
    PROMPT $p$g
    PATH C:\DOS
    SET TEMP=C:\DOS
    MODE CON CODEPAGE PREPARE=((850) C:\DOS\EGA.CPI)
    MODE CON CODEPAGE SELECT=850
    KEYB GR,,C:\DOS\KEYBOARD.SYS


    Nun installieren wir unsere Software. Diese tauscht während der Installationsroutine die Config.sys und Autoexec.bat gegen eigene aus, die wie folgt lauten:

    Config.sys:
    REM Part #570062B
    DEVICE=C:\DOS\HIMEM.SYS
    DEVICE=C:\DOS\EMM386.EXE 2800 RAM
    DOS=HIGH,UMB
    FILES=20

    Autoexec.bat:
    @echo off
    REM Part #570001A
    PROMPT $l$p$g
    PATH c:\dos;c:\;c:\cirrus\pc
    CD \CIRRUS\PC
    DOSKEY
    KEYB GR
    PROISAMD /Ib:36 /Ie:1544
    START

    Wenn wir den Rechner nun neu booten erhalten wir bei der abarbeitung der Config.sys folgende Fehlermeldung:
    WARNING: Unable to set page frame base adress – EMS unavailable
    Das System hält dann für kurze Zeit an und arbeitet dann weiter die Config.sys und Autoexec.bat ab. Diese Fehlermeldung müssen wir weg haben!

    Der Fehler wird von der Zeile 3 in der Config.sys verursacht. Wir haben dann mal die Erweiterung „2800 RAM“ gegen „noems“ ausgetauscht. Ergebnis war, dass zwar die Fehlermeldung verschwunden war, unsere Rechner dann aber im Programm selber mit der Fehlermeldung „out of memory in line tralala“ ausgestiegen sind. Unsere Software wird dann komplett geschlossen und wir haben wieder den DOS-Prompt vor uns. Dies passiert aber erst nach eine gewissen Zeit, wenn schon viele Daten in den Speicher geschaufelt wurden.

    Dann haben wir die neue Config.sys gegen die originale von DOS mit den benötigten Änderungen ausgetauscht. Auch das verhinderte die Fehlermeldung beim booten, trotzdem hatten wir weiter die Ausfälle im RUN der Software.

    Nun stehen wir vor dem riesen Problem, dass wir dringend neue Rechner brauchen, wir aber keine lauffähigen haben. Habt ihr eine Ahnung wie ich das Problem in der Griff bekommen könnte?

    Vielen Dank für die Unjterstützung.

    René
     
  2. Scasi

    Scasi Ganzes Gigabyte

    Registriert seit:
    1. August 2004
    Beiträge:
    19.423
    Hi,

    da Euer Prog wohl EMS-Speicher braucht, ist der Parameter /noems natürlich tödlich !

    versuch´s mal, dass Du einen FRAME-Wert mitgibst, z.B.

    DEVICE=C:\DOS\EMM386.EXE 2800 RAM FRAME=D800
     
  3. Michi0815

    Michi0815 Guest

    Registriert seit:
    7. Januar 2004
    Beiträge:
    3.429
    hört sich so an als ob emm386 keinen platz für den pagingframe findet...

    habt ihr msd.exe auf dem/den rechner/n? dort unter dem punkt memory mal nachsehen, ob bzw wo ein frame eingerichtet ist (erkennbar an den "P"'s). wenn kein frame vorhanden ist, dann könntet ihr über den include-parameter von emm386 versuchen soviel zusätzlichen speicher zu erzwingen, dass der frame platz hat.
    das ist aber üblicherweise mit trial&error versuchen verbunden, weil bei einem fehler der pc recht schön automatisch abstürzt ;)
     
  4. Ghostdriver

    Ghostdriver ROM

    Registriert seit:
    8. September 2005
    Beiträge:
    6
    Ich hatte das mit dem Frame mal verucht. Hatte die Zeile dann wie folgt abgeändert, was aber auch nicht funzte

    DEVICE=C:\DOS\EMM386.EXE FRAME=none

    Aber ich werde deine Variante mal versuchen

    @ Michi0815
    Also Ps hab ich da keine gesehen ;)

    Das Problem was mich noch quält ist dass wir hier in der Firma die Rechner nicht so fordern können, dass der Fehler hier auftritt. Wir müssen dann immer die Rechner zu den Kunden schicken und die dann erproben lassen. Und das ist alles nicht so einfach. Weil wer will schon Versuchkanninchen sein
     
  5. Michi0815

    Michi0815 Guest

    Registriert seit:
    7. Januar 2004
    Beiträge:
    3.429
    irgendwie verbaust du dir immer selber den weg:
    kein frame -> kein ems -> kein proggy ;)

    gibts dieses dosbook-derivat "help" auf dem pc? in der 1. spalte ganz unten gibts die beschreibung zu EMM386.EXE. ausdrucken, lesen, lernen und danach leben...
     
  6. Ghostdriver

    Ghostdriver ROM

    Registriert seit:
    8. September 2005
    Beiträge:
    6
    Also ich habe mir jetzt mal diese Doku zu HErzen genommen:
    http://support.microsoft.com/kb/75592/en-us

    Und bin nach langen probieren auf die Lösung:

    "DEVICE=C:\DOS\EMM386.EXE i=e000-eff"

    gestossen. Die Fehlermeldung am Anfang ist erstmal weg. Nun die Frage an die Spezis hier: Kann das so funktionieren?

    Die HELP_Doku zu Emm386 hab ich mir angeschaut. Da steht aber zuviel Müll drin was mich nicht wirklich weiter bringt. Aber die muss ich mir nochmal in alle Ruhe durchlesen
     
  7. Scasi

    Scasi Ganzes Gigabyte

    Registriert seit:
    1. August 2004
    Beiträge:
    19.423
    mal eine Frage vorweg: gibt´s denn beim Kunden keinen Rechner, auf dem alles läuft wie es soll und von dem Du Dir die Startdateien kopieren kannst ?

    für mich das entscheidende:

    es wird wohl einen Grund geben, dass hier EMS-Speicher mit dieser Größe zur Verfügung gestellt wird !

    das passiert bei Dir nicht:
    > DEVICE=C:\DOS\EMM386.EXE i=e000-eff

    müsste e000-efff heißen und übergibt imho hier auch noch die Verwaltung dieses 64K großen Speicherbereichs an EMM386 - aber gerade dieser Bereich ist das sogenannte "EMS-Fenster", durch das Daten (bei Verwendung von EMS) überhaupt in 64K großen Paketen eingelesen werden

    das kann also so erst recht nicht funktionieren !
     
  8. Ghostdriver

    Ghostdriver ROM

    Registriert seit:
    8. September 2005
    Beiträge:
    6
    Ich kann dir haufenweise Rechner zeigen auf denen das alles läuft. Das Problem ist dass es nunmal nicht auf den neuen Alternaterechnern läuft. Warum weiss ich leider nicht. Und die Startdateien sind die gleichen.

    Dann mach mal nen Vorschlag wie ich das zum laufen bekomme
     
  9. Scasi

    Scasi Ganzes Gigabyte

    Registriert seit:
    1. August 2004
    Beiträge:
    19.423
    hab ich in meinem ersten Post schon getan - wenn´s nicht läuft, gibt meine Glaskugel leider nicht mehr her, sorry ! ;)
     
  10. Michi0815

    Michi0815 Guest

    Registriert seit:
    7. Januar 2004
    Beiträge:
    3.429
    das kann ich dir sagen: die alternaterechner verwenden logischerweise ain anderes bios als die alten modelle. daher werden auch die biosteile an anderer stelle in den umb eingeblendet. die automatik der uralten emm386.exe kommt mit der anderen speicheraufteilung nicht klar und wirft daher einen fehler.

    wie ich schon geschrieben habe wird dir nichts anderes übrig bleiben als a) über msd herauszufinden wo freie und unbenutzte blöcke umb speicher liegen und die dann b) über die include-option zwangsweise als zusätzlichen speicher zu verwenden. weiters musst du wahrscheinlich c) über die frame-option manuell den speicherbereich für den pageframe angeben. natürlich muss dann noch d) genug speicherplatz für die vorgabe "2800 RAM" bleiben.

    wie das genau geht steht in der help. aber da steht ja für dich viel zu viel müll drinnen :rolleyes:
     
  11. Ghostdriver

    Ghostdriver ROM

    Registriert seit:
    8. September 2005
    Beiträge:
    6
    Das hatte ich ja probiert, leider ohne erfolg.

    @ Michi.
    Ich will hier ja keinem ans Bein pissen. Es ist nur so das ich von der Materie nicht wirklich viel Ahnung habe. Und wenn ich dann die sieben ausgedruckte Seiten Helpfile mir angucke, dann steht da für mich nur Bahnhof drinne.
    Ich kann weder was mit include-option noch mit Frame-option anfangen und was eine Frame Base Adress ist war mich auch lange ein Rätsel. Du musst di eichfach vorstellen das hier ein vollkommener Trottel sitzt. ;D

    Naja, wie auch immer. Hab jetzt Feierabend und versuche dein Tip am Montag umzusetzten.
    Danke erstmal.
     
  12. Michi0815

    Michi0815 Guest

    Registriert seit:
    7. Januar 2004
    Beiträge:
    3.429
    sorry, war nicht bös' gemeint...

    ist nur leider recht schwer 100%ige tips zu geben, weil da jeder pc anders reagiert. ich hab mit win98 (bzw dem zugehörigen dos) rumgespielt und bei mir funktioniert
    "emm386.exe 2800 RAM FRAME=CC00"
    [​IMG]
    [​IMG]
    [​IMG]
     
  13. RaBerti1

    RaBerti1 Viertel Gigabyte

    Registriert seit:
    24. November 2000
    Beiträge:
    5.094
    Hi!

    Auch ich hab seinerzeit mit Dos6.22 und einigen Vorläufern gekämpft. Worin jetzt das Problem der aktuellen PCs bestehen soll, weiß ich nicht, auch gibt es noch einige Händler, die in der Lage sind, PCI-Steckkarten mit seriellem Anschluß zu liefern, da ein zweiter solcher Anschluß offenbar die Hauptschwachstelle für neues Material ist. Alternate ist da sicherlich nicht der einzige mögliche Lieferant. (Hab mich mal mit denen gezofft, aber das muß ja heute eigentlich nix mehr heißen)

    Da gibts noch so ein paar Sachen, die ich nicht verstanden hab. Üblicherweise nutzt man ja himem.sys und emm386.exe dazu, den für Programme nutzbaren Speicherbereich zu vergrößern. Da sollte also zB dann sowas in der autoexec.bat stehen:

    lh doskey
    lh keyb gr

    lh für loadhigh (lade soviel wie möglich von dem Programm in den "oberen Speicher"

    Dann kommen noch solche Parameter wie
    files=20
    (das dürfen auch mehr sein, und die Adreßbereiche lassen sich zT auch in den oberen Speicher verlegen:
    fileshigh=40

    Mit
    lastdrivehigh=f:
    läßt sich ggf noch ein wenig Speicherplatz einsparen zugunsten anderer Programme, wie zB

    buffershigh=40

    Was dann das Programm
    proisamd
    tut und was das für Parameter sind, die da mitgegeben werden, weiß ich nicht, vorsichtshalber sollte man das Prog 1. weder mit lh hochladen noch 2. mit anderen Werten versorgen. Das Programm soll sich dann beenden, tut es wohl auch.

    Und dann rödelt das Programm
    start
    los und tut irgendwas. Im Idealfall Daten abarbeiten. Im konkreten Fall offenbar nur sich selbst beenden.

    Was bei der Installation völlig rausgeworfen wurde ist
    c:\dos\setver.exe
    OK, ist ggf. nicht nötig, wenn proisamd und start keine vorgegaukelte DosVersion vor 6.22 braucht.

    Ach ja, noch was:
    c:\dos\emm386.exe
    bekommt ja offenbar auch noch Parameter mit. Die 2800 lassen sich gegen größere Werte austauschen, mehr Platz vermindert ggf. das Risiko, daß das Programm durch zu wenig abstürzt. Und Arbeitsspeicher ist ja sogar mit dem kleinsten Speicherriegel schon mehr als reichlich vorhanden. (Da könnte man glatt an eine Ramdisk denken, auf die man die temporären Dateien auslagern könnte... Aber das kann man angehen, wenn das Programm funzt.)

    Das Program
    mem /p /c
    hilft beim Sortieren. Paßt scho.

    Nachtrag:
    Eine serielle Steckkarte gibts zB von Conrad:
    Bestellnr. 974483-62
    http://www1.conrad.de/scripts/wgate...&page=1&p_catalog_max_results=10&cachedetail=
    für stolze 19,95 oder so...
    Damit läßt sich jeder beliebige PC aufrüsten. Und dann reichen auch Geräte mit Komplett-Mainboard, das schon gleich Grafik-, Sound- und Netzwerkkarte onboard hat.

    MfG Raberti
     
  14. Ghostdriver

    Ghostdriver ROM

    Registriert seit:
    8. September 2005
    Beiträge:
    6
    So, wir haben die Lösung des Problems gefunden.

    Ein Techiker von uns gab mir den entscheidenden Tip mal ein wenig im BIOS rum zu spielen.

    Unter "Integrated Peripherals" mussten wie die beiden Einträge "USE Mouse Suppoprt" und "USB Keyboard Support" auf Disabled setzten.
    Danach lief alles einwandfrei. Beim nachgoogeln stellte sich heraus, dass das ein bekanntes Problem bei dem Typ Mainboard ist. Hätte ich vorher mal googeln sollen, dann hätte ich mir viel Arbeit erspart ;)

    Danke für eure Hilfe.
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen