IBM-PC: Wie kriege ich Hauptspeicher?

  • Hallo,


    folgendes habe ich im Netz gefunden:



    Hier einige Erinnerungen und Gedanken an die letzten 20 Jahre "Speicher und PC".


    Interessante Gedanken zum 64K, 640K und 1Mb Problem bei den alten PCs aus 2004 von Dr. Christof Schatz.


    Falls die Seite nicht erreichbar ist habe ich diese als PDF hochgeladen. Schöner lesen läßt es sich aber in web.

  • Hallo,


    leider geht der Artikel schnell weg vom Ur-PC (bzw. PC/XT), und verliert sich in XMS/DPMI Einsatz und in die Adressierungsmöglichkeiten von Windows und den moderneren Prozessoren.
    Ist aber schön zusammengestellt und deckt quasi alle Möglichkeiten von PCs verschiedener Äras ab.
    Ich suche noch nach mehr Infos über EMS, insbesondere wenn es nicht um die spezielle Unterstützung weniger einzelner Programme geht, sondern um die universellere Nutzung als RAM-Disk usw.
    Das Dumme an EMS ist nur, dass man eigentlich - auch bei Ebay - inzwischen keine Boards mehr kriegt (Intel Above usw.).


    Gruss Peter

    "The biggest communication problem is we do not listen to understand. We listen to reply." - Stephen Covey


    Webseite und Blog ist immer noch - seit fast 20 Jahren - online.

  • RAM-Disk ... keine Boards mehr kriegt


    Ich habe ein zeitlang mein TEK 4/8 Transputerboard als RAM-Disk unter MS-DOS benutzt - ich meine mich zu erinnern,
    dass der notwendige Treiber in der c't im Rahmen des TEK 4/8 Transputerprojekts vor- und bereitgestellt wurde -
    der sollte auf jedem B004 kompatiblen Board funktionieren.
    Leider konnte konnte ich den Treiber in meinen alten Backups nicht finden, weiss allerdings auch nicht, wie er genau hieß!?

  • Könnte man nicht eine EMS-Karte mit einem AVR und ein bisschen RAM nachbauen?
    Wenn ich das richtig verstanden hab, ist das sowas wie eine REU.
    Speicherfenster definieren,
    Zielbank einstellen,
    Schreib-/Lesebefehl absetzen (IO-Port?)
    Auf Status warten


    So schwer kann das doch nciht sein ...

    Das Genie beherrscht das Chaos

  • Kann man nicht. Du emulierst ja nicht einen Rechner.
    Es handelt sich bei der EMS Karte ja "nur" ein Stück Hardware mit I/O-Ports, IRQs und Speicheradressen. Die Software auf dem PC muss genau diese Umgebung (Portadressen, IRQs, Speicheradressen) wiederfinden.
    Eventuell kann man so was aber in ein FPGA per VHDL programmieren.

    "The biggest communication problem is we do not listen to understand. We listen to reply." - Stephen Covey


    Webseite und Blog ist immer noch - seit fast 20 Jahren - online.

  • Hmmm, und wer kopiert die Daten von der eingeblendeten Speicherbank auf das RAM der Karte?
    Oder es muss jemanden geben, der die oberen Adressleitungen der Speicherchips auf der EMS-Karte
    gemäß der gewünschten Bank (per IO-Port gesetzt) entsprechend belegt.
    Und dann muss noch jemand den RAM-Refresh machen.


    Der EMS-Treiber kapselt dann die Zugriff mit dem INT67, d.h. bei einer eigenen Lösung muss
    man also dessen Implementation nachbilden oder den Treiber ersetzen.


    Nicht, dass ich mich dazu in der Lage fühle, da fehlen mir Equipment (Oszi/Logic Analyzer) und
    vorallem Zeit ;)


    aber möglich war das schon, denk ich

    Das Genie beherrscht das Chaos

  • Im Prinzip kann man ein Board entwerfen und ein Stück Software schreiben, so dass sich das Ganze gemäß der EMS-Spezifikation (http://www.phatcode.net/res/218/files/limems40.txt) verhält.
    Da das Stück Software zu schreiben sicherlich enorm aufwändig ist, dürfte der einzige gangbare Weg sein, ein "eigenes" EMS-Board zu realisieren, die Dokumentation (mit den, wie Peter schreibt, "Portadressen, IRQs, Speicheradressen" und den dahinter steckenden Funktionen) eines einmal verfügbaren EMS-Boards zu finden, dessen EMS-Treiber man dann verwenden könnte.
    Die Hardware dann zu entwerfen, wäre vermutlich kein großes Hexenwerk.
    Ich vermute aber, dass die Hersteller socher EMS-Boards eine derartige Dokumention nie mit ihren Boards rausrückten!?

  • OK, einfach ists sicher nicht.
    Die Frage ist aber, ob es LIM4 sein muss, das ist doch eigentlich für >=286, also eher moderne Rechner, die eh schon massig RAM haben.
    Aber ich glaub, ich muss doch noch ein bissl nachlesen.

    Das Genie beherrscht das Chaos

  • OK, einfach ists sicher nicht.
    Die Frage ist aber, ob es LIM4 sein muss, das ist doch eigentlich für >=286, also eher moderne Rechner, die eh schon massig RAM haben.
    Aber ich glaub, ich muss doch noch ein bissl nachlesen.


    EMS ist auch von älteren, 8088/8086 basierten Rechnern nutzbar. XMS ist natürlich für 286er und höher die erste Wahl, kann aber von den ganz alten Rechnern (IBM PC/XT, Schneider PC 1640 usw) nicht genutzt werden.
    Daher der Wunsch nach einer EMS Lösung. Vielleicht hat ja mal Sergey ein Herz für EMS und entwirft mal auf seiner Seite ( http://www.malinov.com/Home/sergeys-projects ) auch eine solche Karte...

    "The biggest communication problem is we do not listen to understand. We listen to reply." - Stephen Covey


    Webseite und Blog ist immer noch - seit fast 20 Jahren - online.

  • und entwirft ... auch eine solche Karte...


    Wie gesagt, ich vermute, das der Entwurf der Karte der kleiner Teil der Aufgabe ist, wesentlich mehr Aufwand dürfte der Treiber machen.
    Tut euch, die ihr an so einem Board interessiert sind, doch zusammen, besorgt/leiht euch euer Wunschboard und gewinnt daraus den Schaltplan für einen Nachbau!?
    80% oder 90% der Verbindungen dürften wg. der regelmässigen Strukturen eines RAM-Boards relativ schnell extrahiert sein, nur die Kontroll-/Ansteuerlogik wird einen ordentlichen Aufwand bedeuten.