003
05.08.2015, 05:24 Uhr
timetube
|
Zitat: | Robotrontechnik postete
Zitat: | frosch411 postete Ab MS-DOS 5 konnten Gerätetreiber in diesen Speicher geladen werden, für ältere DOS-Versionen gab es spezielle Programme wie QEMM (oder so ähnlich) die das auch konnten. |
QEMM läuft nicht auf dem 8086-Prozessor. Bei mir geht's übrigens um MS-DOS 3.
Zitat: | Da hat man dann fast die vollen 640 K zur Verfügung. Allerdings hat Microsoft keine Schuld daran. Es war IBM die den PC so gebaut haben und alle anderen, die dann irgendwann 100% IBM-Kompatibilität versprachen und ebenso diese Beschränkung haben. |
Muss der Speicherbereich denn zusammenhängend sein? Ich hätte genug kleine Progrämmchen (z.B. Maustreiber, HDD-Cache) die theoretisch komplett in den UMB passen würden. |
Stimmt, der 8086 kann nur den x86 Mode ist noch kein AT oder Pentium
DOS orientierte sich an einer eingestellten Speicherobergrenze. Bis zu der, musste der Speicher lückenlos vorhanden sein. Wollte man den Speiche daher vom DOS verwalten lassen, ging das nur mit lückenlosem Speicher bis zu diese Obergrenze. Da LEIDER das Videoram bei A000:0/B000:0 vorgesehen wurde, war da dann Schluss für's DOS. Aber über Software ging noch was.
Um die oberen Adressen nutzen zu können, brauchst du entsprechende EISA Karten (Video, Plattenkontroller, V24/Centronics -Schnittstellen aber auch eben auch Speicherkarten)
Diese haben dann eigene Adressdecoder, die oft über Jumper oder Mäuseklavier auf bestimmte Adress- und IO-Bereiche konfiguriert werden könnten. Dabei darf es dann aber keine Konflikte (Doppelbelegungen) geben.
Ich hatte z.B so eine BlueThunder Z80-Coprocessor Board (EISA Karte), die mappte an der einstellbaren Basisadresse jeweils eine ihre 128 Bänke (512Byte ihres Speichers) in den Adressraum des x86 ein. Da es der Arbeitsspeicher der Z80 war, konnte so Software auf/vom Z80 Board übertragen werden.
Diese Technik wurde auch von den ersten EMS Speichererweiterungen verwendet.
Man hatte im Adressbereich des x86 ein Fenster (Pageframe), über das mit dem auf der Karte verbauten Speichern, wenn man Glück hatte mittels DMA, die Inhalte ausgetauscht wurden. Erst mit den 286, 386 ... Pentium kam dann ProtectedMode, v86 und virtuelles Memory-mapping ins Spiel, wie es z.B. von QUEMM verwendet wurde.
Was man aber machen konnte ist, den Speicher der Videokarte als Programmspeicher mitbenutzten. Der MGA hatte eine zweite Textseite, die nur von dafür ausgelegter Software, nicht vom DOS benutzt wurde. Hercules, CGA und EGA sogar reichlich Grafik-Speicher on Board, den man sich im Textmode für andere Sachen greifen konnte
Gruß j -- "Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein. Dieser Post wurde am 05.08.2015 um 06:03 Uhr von timetube editiert. |