(286er): XMS Speicher für MS-DOS Treiber verwendbar?

  • Interessant. Suchfunktion bemüht mit "XMS"... kein Treffer? ;)


    System:
    Commodore Bridgeboard A2286AT
    CPU: Intel 286 @ 8 MHz
    RAM: 640 KB konventionell + 384 KB extended
    OS: MS-DOS 6.22


    MS-DOS ist resident im hohen Speicherbereich, also funktionieren HIMEM.SYS und DOS=HIGH.


    Ich lade dem kleinen AT ziemlich viel Treiber-Last beim booten auf (config.sys / Autoexec.bat). Das landet alles im konventionellen RAM.
    Mem.exe zeigt mit die 384KB als XMS an. Soweit alles gut.


    Frage jetzt: Krieg ich irgendwie die Treiber in den XMS Speicher rein, so dass mehr konventionelles RAM frei wird?


    Ich weiß schon, warum ich Amigas favorisiere. Die Speicherverwaltung von IBM/MS ist einfach "göttlich" ;)

  • Das ist jetzt gerade nicht so einfach, da der Rechner im Dachboden steht und ich im Keller bin ;)
    Aber da steht nichts verdächtiges drin.


    In der config.sys gehts los mit


    DEVICE=C:\DOS\HIMEM.SYS
    DOS=HIGH


    dann kommen die üblichen Treiber wie


    DEVICE=C:\DOS\DISPLAY.SYS(EGA,,1)...


    Die Befehle "DEVICEHIGH" und "LH" (Autoexec.bat) bringen nichts. Verständlich, denn mem.exe zeigt an, dass kein "hoher" Speicher zur Verfügung stehen würde.
    Ich mach dann mal Screenshots.

  • Du brauchst einen Speichermanager der UMBs bereitstellt. Entweder gibts da von Commodore etwas (oder evtl. dem Chipsatzhersteller, falls dort ein 286er Chipsatz verbaut ist), oder du brauchst eine Dosversion in der die EMM286.sys dabei ist, wobei ich jetzt nicht weis ob die - wie die EMM386.exe - UMBs bereitstellen kann.


    Und ob UMBs auf dem Bridgeboard überhaupt möglich sind...


    Poste mal deine kompletten Startdateien, vielleicht kann man da etwas rausschmeißen, die Display.sys z.b. ist normalerweise überflüssig.


    PS. poste den Inhalt der Dateien am besten im Codetag, dann geht die "Formatierung" nicht verloren.
    PPS. Auch wir haben halt unseren "Chip-/Rangerram" ;)

    Einmal editiert, zuletzt von Dosenware ()

  • Ja, aber Chip, Ranger/Slow, 16bit-Fast/32bit-Fast kriegt man im Kopf einfach zusammen, bzw. auseinander, als der ganze HMA/XMS/EMS-Krempel... geht zumindest mir so ;)


    EMM286 macht keine UMBs, leider.
    Habe verschiedene UMB "Bereitsteller" mal heruntergeladen und werde die testen. Allerdings sind die Chipsatz-abhängig (logisch...) und da wirds doof. Denn Commodore hat da, wie es scheint, mal wieder was eigenes gebaut. Im C= Softwarefundus findet sich leider nix zu UMBs. Naja, mal schauen.


    Ich habe aktuell kein Problem mit "zu wenig konventionellem Speicher", alles was ich laufen lassen will, läuft. Ich muss also keine Treiber weglassen. Wenn ich da wirklich mal Software habe, welche mehr freien Speicher braucht, schreib ich mir eben wieder ein Startmenü in config.sys und autoexec.bat ...wie früher ^^


    Es geht mir nur ums "machen können" ;) Da sind eben noch ein paar KB oberhalb der 640 KB vorhanden und da will ich "ran" ^^

  • UMBs sind die nicht zusammenhängenden Speicherbereiche über 640k und unter 1MB. Damit man dort Speicher benutzen kann, muss dort auch welcher existieren. Die MMU der 386er kann dort einfach Speicher einblenden der sich physisch oberhalb 1MB befindet (Shadow-RAM). Der 286er hat keine MMU. Dort muss also entweder physischer Speicher im Adapterbereich existieren (geht auch beim XT), oder der Chipsatz muss den Shadow-RAM dort einblenden (Stichwort NEAT-Chipsatz). Sonst wirst du wenig Chancen haben, Treiber auf einem 286er hochzuladen. Wobei das eigentlich auch relativ unkritisch ist. So viele Treiber braucht man ja nicht mit einem 286er, wenn man ihn nicht gerade in ein Netzwerk einbinden möchte.
    Falls ein Programm/Spiel dann doch mal mehr Speicher braucht, einfach mit ner sauberen Bootdiskette, ohne jegliche Treiber, starten.

  • Das ist schon eine interessante Geschichte.


    MSD.EXE erzählt mir, dass die Speicherbereiche A000-AFFF und E000-EFFF frei wären
    HIRAM.EXE sagt, dass B000-B1FF und B800-BFFF frei wäre.
    Ein anderer UMB-Manager, der mir gerade namentlich korrekt entfallen ist, sagt, dass gar nix mehr frei wäre, zweigt aber 320KB als "frei" an, zwischen 640K und 1MB.


    Das hat mich gestern Abend gut zwei Stunden und viele Neustarts gekostet. Ich glaub, ich lass es einfach ^^

  • Andernfalls kannst Du auch die Treiber optimieren. Was genau lädst Du denn?
    Es gibt fast immer bessere alternativen, die deutlich weniger konventionellen Ram brauchen.

  • Naja, manchmal macht man Dinge ja auch nur, weil sie gehen. z.B rauchen .. :D


    Ich habe mir für meinen XT auch eine Erweiterungskarte gekauft, die hat sagenhafte 8 MB aber nutzen kann ich natürlich auch nur die knapp 300 nochwas kb bis 1 MB. Habe mich aber auch mit dem Installationsaufwand vertan, das macht wirklich keinen Spass

  • MSD.EXE erzählt mir, dass die Speicherbereiche A000-AFFF und E000-EFFF frei wären
    HIRAM.EXE sagt, dass B000-B1FF und B800-BFFF frei wäre.

    MSD sagt nicht wo frei ist, es zeigt an wo sich Ram befindet - kleiner aber wichtiger Unterschied ;)
    A000-AFFF ist der Videospeicher für VGA.
    Das B-Segment ist für den Textmode gedacht, B000-B7FF sollten - bei Farbgrafikkarten - frei sein.


    E000-EFFF liegt im Rombereich - wenn dort lt. MSD Ram ist, kannst du es verwenden.


    Alles natürlich unter der Maßgabe "normaler" PCs - ob Commodore dort drin herumpfuscht (die Speicherbereiche z.b. zum Datenaustausch mit dem Host verwendet) weiß ich nicht.


    PS. mit Lastdrive kannst du auch etwas Speicher sparen, je weniger Laufwerke um so besser.

  • Ich schließe mich hier mal an, da ich eine DFI Megalith Plus 8MB Karte habe. Diese ist mit Jumper 8bit tauglich. Mein Commodore PC 20 unerstützt ja sowieso nur 1 MB maximal als Speicher, d.h die Karte würde mir theoretisch 360kb mehr Speicher bringen. Ohne jetzt die Sinnfrage zu stellen, habe ich folgendes Problem


    a) Ich habe die Original Treiberdiskette, aber der Megalith.sys Treiber bringt das System beim laden zum hängen (device=..megalith.sys) - evt. ist der nur für 286er? Mich wundert es, da die karte ja per Jumper auch auf 8 bit Systemen laufen kann. Habe ich eine andere Chance das Ding anzusprechen?


    b) Oder brauche ich keinen Treiber und bei richtiger Einstellung müsste der Commodore beim Starten den Speicher einfach weiter auf 1 MB hochzählen?