CP/M-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Memberlist || Home || Statistik || Kalender || Staff Willkommen Gast!
[ Unofficial CP/M Website ] [ Z80 Family Support Page ] [ Forum-Regeln ] [ Impressum/Kontakt ] [ Datenschutzerklärung ]

CP/M-Forum » Talk, Talk » Ram @ Xt » Threadansicht

Autor Thread - Seiten: -1-
000
27.07.2015, 17:34 Uhr
Robotrontechnik



Der i8086 kann doch 1 MB Speicher adressieren, DOS benutzt aber nur 640 KB.
Oberhalb der 640 KB kommt erstmal der Speicherbereich der Bildschirmkarten.
Was ist mit dem Rest bis zu 1MB: lässt der sich irgendwie unter DOS nutzen?
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
001
28.07.2015, 11:33 Uhr
frosch411



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. 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.
Mein Siemens PC 16-11 ist nicht IBM-Kompatibel, aber da läuft MS-DOS 2.11 drauf und die Version kann bis ca. 960 K Speicher direkt verwenden, da dieser PC den Bildschirmspeicher viel weiter oben hat. Allerdings hab ich leider nur 512 K Speicher drin.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
002
30.07.2015, 14:13 Uhr
Robotrontechnik




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.

Dieser Post wurde am 30.07.2015 um 14:13 Uhr von Robotrontechnik editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
003
05.08.2015, 05:24 Uhr
timetube

Avatar von 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.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
004
07.08.2015, 19:26 Uhr
Gikauf

Avatar von Gikauf

Unter DOS wurde die Datei HIMEM.SYS benutzt um den oberen Bereich zu nutzen.
--
Alt werden ist schön, altern nicht.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
005
08.08.2015, 09:08 Uhr
timetube

Avatar von timetube


Zitat:
Gikauf postete
Unter DOS wurde die Datei HIMEM.SYS benutzt um den oberen Bereich zu nutzen.

Auch der steht erst sein 80286 (AT) zur Verfügung. der 8086 (XT) konnte den nicht ausführen.

--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
006
15.08.2015, 18:18 Uhr
hschuetz

Avatar von hschuetz

Hallo,
ich erinnere mich noch gut an die alten XT's. Da gabs mal, ich glaube von der CT, eine Ramkarte welche zwischen den Adaptern Ram zur Verfügung gestellt hat und man da Treiber auslagern konnte. Der Artikel muß zwischen den Adaptern oder so geheissen haben.
Gruß
Hans-Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
007
15.08.2015, 19:08 Uhr
timetube

Avatar von timetube


Zitat:
hschuetz postete
Hallo,
ich erinnere mich noch gut an die alten XT's. Da gabs mal, ich glaube von der CT, eine Ramkarte welche zwischen den Adaptern Ram zur Verfügung gestellt hat und man da Treiber auslagern konnte. Der Artikel muß zwischen den Adaptern oder so geheissen haben.
Gruß
Hans-Werner

Hi Hans-Werner.

Stimmt, die wurden mit einer Software geliefert, mit der man einige (keine Interrupt-nutzenden) Treibe höher legen konnte


Das Problem beim XT war die fehlende A20-Line.

Die konnte erst im v86/80386 Mode über Software emuliert werden.

Daher war bei XT definitiv bei 0xFFFFF für 1G Schuss. (Lücke von 1G)

Über sehr aufwendige (E)ISAHardware, die beim Ansprechen einer bestimmter Adressen >640K Speicher mit z.B. zufor dort geladenen Driver-Codes mapten, waren die unbezahlbare Alternative (eigene Prozessoren und DMA Kontroller ecc. on Board).

Das machte ja EMS auch so, indem es damals noch wirklich Kartenspeicherinhalte mit dem jeweils selektierten EMS-Page-Frame austauschte. EMS-Manager

Als dann virtual Memory-mapping möglich wurde, wurde der angeforderte Kartenspeicher-Frame natürlich nur noch jeweils virtuell dort in den festen PageFrame eingeblendet. Damit war EMS aber eigentlich nur noch aus historischen (kompatibilitäts-Gründen) implementiert

IBM Hatte damals schon keinerlei Visionen mehr, brachte einen völlig ungeeignetes System auf den Markt und konnte sich nur auf Grund der seit den 50gern geschaffenen Politischen- und Marktmacht überhaupt durchsetzen. Die zogen ja dann auch MicroSoft quasi mit aus dem Hut.

Es gab damals schon mit z.B. Zilog (Z80), Apple (6502) und Motorola(680XX) weitaus bessere Systeme, die allesamt (OK, Apple hat sich gut gehalten) eingebrochen sind.

Hach, ich nostalgiere einfach zu viel ))

Gruß Jürgen
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.

Dieser Post wurde am 15.08.2015 um 19:15 Uhr von timetube editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
008
21.01.2016, 11:10 Uhr
Robotrontechnik




Zitat:
hschuetz postete
Da gabs mal, ich glaube von der CT, eine Ramkarte welche zwischen den Adaptern Ram zur Verfügung gestellt hat und man da Treiber auslagern konnte.

Mein Rechner hat 1 MB linearen RAM eingebaut. Mir fehlt also kein Stück Hardware, sondern einfach nur das passende DOS-Programm, was den Bereich oberhalb 640k anspricht.



Zitat:
timetube postete
Das Problem beim XT war die fehlende A20-Line.

Mein Rechner hat einen 8086-Prozessor, ist aber kein XT. Ich gehe davon aus, dass dieser Rechner den Speicher bis 1MB auch komplett adressieren kann (Das BIOS liegt übrigens im Bereich zwischen 980k und 1M).
Nur irgendwie scheinen alle mir bekannten DOS-Programme mit Rücksicht auf eventuelle XT-Hardware bei 640k zu kapitulieren...
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
009
21.01.2016, 11:38 Uhr
timetube

Avatar von timetube


Zitat:
Mein Rechner hat einen 8086-Prozessor, ist aber kein XT. Ich gehe davon aus, dass dieser Rechner den Speicher bis 1MB auch komplett adressieren kann (Das BIOS liegt übrigens im Bereich zwischen 980k und 1M).
Nur irgendwie scheinen alle mir bekannten DOS-Programme mit Rücksicht auf eventuelle XT-Hardware bei 640k zu kapitulieren...

OK, es ist also kein IBM kompatibles Gerät. Es gab einige 8086 Rechner (von TA z.B.) die hatten eine anders aufgebaute 8086 Hardware und eine speziell darauf abgeändertes DOS.

Dieses DOS konnte in der Regel keine Devicedriver fremder Versionen von DOS, die ja oft direkt die Hardware ansprechen, nicht ausführen. Auch Programme wie SideKick (TSR) und viele direkt auf die (IBM-Kompatible) Hardware los gingen, konnten darauf nicht ausgeführt werden.

Hast Du technische Unterlagen, besonders daüber, was wo adress-technisch in deinem System los ist? Und kannst Du mir ein DiskImage deines DOS geben. Dann würde ich versuchen Dein System unter Qemu nachzubilden und Dir ein HIGHMEM.SYS dafür schreiben

tt.
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.

Dieser Post wurde am 21.01.2016 um 11:55 Uhr von timetube editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
010
28.01.2016, 10:42 Uhr
hschuetz

Avatar von hschuetz

Hallo,
hört sich nach Siemens an, die hatten so etwas, 1Mb Ram, Grafik komplett über IO.... liefen einige Dos- Programme... und einige nicht.
Gruß
Hans- Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
011
15.06.2016, 15:28 Uhr
Robotrontechnik




Zitat:
timetube schrieb
Hast Du technische Unterlagen, besonders daüber, was wo adress-technisch in deinem System los ist?

Mit Ausnahme der Zeichensatzumstellung, der Festplatteneinrichtung und der Ansteuerung der Schnittstellen ist das Betriebssystem meines Wissens nach mit DOS 3.3 identisch.


Zitat:
Dann würde ich versuchen Dein System unter Qemu nachzubilden und Dir ein HIGHMEM.SYS dafür schreiben

Soll ich Dir eine Diskette zukommen lassen?



Zitat:
hschuetz schrieb
hört sich nach Siemens an, die hatten so etwas, 1Mb Ram, Grafik komplett über IO.... liefen einige Dos- Programme... und einige nicht.

Robotron A7150. Dessen Konstruktion lehnt sich aber an Siemens an.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
Seiten: -1-     [ Talk, Talk ]  



gaby.de

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek