Seite 1 von 1

Hoher Speicher bei MS DOS

Verfasst: Fr 18. Nov 2016, 22:22
von Lineablu
Hallo zusammen!

Wie setzt sich die Größe des hohen Speichers bei MS DOS zusammen?

Bei meinem Siemens PCD-4H habe ich 60.048 bytes zur verfügung

IMG_0840.JPG
IMG_0840.JPG (155.01 KiB) 9010 mal betrachtet


Bei meinem UM8810PAIO habe ich nur 27.280 bytes zur verfügung

IMG_0841.JPG
IMG_0841.JPG (148.7 KiB) 9010 mal betrachtet


Installiert ist jeweils MS DOS 6.22

Schöne Grüße
Christian

Re: Hoher Speicher bei MS DOS

Verfasst: Fr 18. Nov 2016, 22:38
von Dune82
Hi
kann das sein das, das unterschiedliche Dos Versionen sind ?

Re: Hoher Speicher bei MS DOS

Verfasst: Fr 18. Nov 2016, 22:42
von Lineablu
Ich habe nur eine MS DOS Version und das ist 6.22 und die ist auf beiden Rechnern installiert

Re: Hoher Speicher bei MS DOS

Verfasst: Fr 18. Nov 2016, 22:47
von Dune82

Re: Hoher Speicher bei MS DOS

Verfasst: Fr 18. Nov 2016, 22:50
von Dosenware
Hoher Speicher ist normalerweise* der Speicherbereich zwischen 640kb und 1MB.
In diesem Speicherbereich werden das Bios des Mainboards und der diversen Karten (Grafikbios, evtl. das Bios eines Laufwerkscontrollers, etc), einige Speicherbereiche zum Datenaustausch mit der Hardware (z.b. A0000-AFFFF für VGA-Grafik, B0000-BFFFF für Text) sowie ggf. der EMS-Speicher eingeblendet.

Zwischen diesen reservierten Bereichen bleibt ab und an etwas Speicher übrig: das ist dann der Hohe Speicher.
Wieviel das ist hängt also von der verbauten Hardware und der Konfiguration ab.
Wenn du z.b. einen Festplattencontroller mit eigenem Bios verwendest: hast du weniger hohen Speicher.
Hast du EMS eingerichtet: Hast du weniger hohen Speicher.

Schreib mal in deine config.sys hinter EMM386 noch "Highscan I=B000-B7FF" dann dürfte es noch etwas mehr werden.
Und schau mal hier: viewtopic.php?f=2&t=25

*bei Monochomen Grafikkarten (Hercules z.b.) verkleinert sich der Speicherbereich, dafür hat man mehr konventionellen Speicher (bis 768kb - glaube ich)

###################################################################################################

@Dune die HMA ist wieder was anderes ;-)

Das sind knapp 64kb über der 1MB Grenze - das Hängt mit der Addressierung des 8086 zusammen:
Der hat nur 20 Adressleitungen (Pins und Leitungen kosteten halt Geld) um aus den 16Bitregistern des 8086 nun eine 20Bitadresse zu generieren wurde ein Adressregister (Segment) um 4 bit nach Links versetzt und mit dem zweiten Adressregister (Offset) Addiert, dabei kann es zu einem Überlauf kommen:

Bleistift:
Segment: FFFFh
Offset: FFFFh
Adresse=(Segment*16)+Offset
=FFFF0h+FFFFh
=10 FFEF

Die türkise 1 wäre Adressleitung 21 - die gibts beim 8086 nicht und darum greift er auf die Adresse 0 FFEF zu, diese Eigenschaft wurde unter DOS für diverse Zwecke genutzt.

Das führte dann zu einem Problem beim 286er: Der hatte eine 21te Adressleitung, deshalb liefen Dos und einige Programme darauf nicht mehr.
Um die kompatibilität wiederherzustellen wurde dann das A20 Gate eingeführt, womit die 21.te Adressleitung einfach abgeschaltet wird - was dann wieder zum gleichen Verhalten wie beim 8086 führt.

Für die HMA wurde einfach das A20Gate abgeschaltet (und die 21te Adressleitung wieder aktiviert), womit Dos selbst etwas über ein MB Adressieren kann (eben auf die oben berechnete Beispieladresse 10 FFEF zugreifen kann), dort speichert es einen Teil von sich selbst um den wertvollen Dosspeicher (eben die üblichen 640kb) zu schonen.

Aktivieren kann man dieses Verhalten in der config.sys mit der Zeile DOS=HMA.

EDIT: bei Aufruf von Mem erscheint dann auch diese Zeile:
"MS-DOS ist resident im oberen Speicherbereich (High Memory Area)."

Re: Hoher Speicher bei MS DOS

Verfasst: Fr 18. Nov 2016, 22:58
von Dune82
:like: :-)

Re: Hoher Speicher bei MS DOS

Verfasst: Fr 18. Nov 2016, 23:26
von Dosenware
Edit ist fertig ;-)

Re: Hoher Speicher bei MS DOS

Verfasst: Sa 19. Nov 2016, 23:17
von Lineablu
Vielen Dank an Dosenware für die Erklärung, mir ist das alles ein wenig zu kompliziert. Bei Hardwarebasteleien bin ich dafür etwas fitter.
Das mit dem Eintrag in der config.sys werde ich morgen mal ausprobieren.

Re: Hoher Speicher bei MS DOS

Verfasst: So 20. Nov 2016, 15:34
von Multisync
Hier ist schon auffällig wenig frei in der HMA! Welche Zusatzkarten stecken im System? Der Inhalt der 'config.sys' wäre auch interessant.

Re: Hoher Speicher bei MS DOS

Verfasst: So 20. Nov 2016, 17:37
von Lineablu
Nachdem ich HIGHSCAN I=B000-B7FF hinter emm386.exe geschrieben habe, habe ich genau 60.000 bytes im hohen Speicher frei.

IMG_0843.JPG
IMG_0843.JPG (157.13 KiB) 8874 mal betrachtet


Vielen Dank nochmals an Dosenware für den genialen Tip!

Auf dem Board steckt nur eine Cirrus Logic PCI Grafikkarte.

Desweiteren ist das UM8810 mit folgenden Komponenten ausgestattet: 512 KB cache, 32 MB EDO RAM und ein CF Adapter mit einer Kingston 512 MB CF-Karte. CPUs wechsle ich gerne mal durch. Momentan ist es ein Intel DX2-66.

Aufgebaut ist das UM8810 auf meinem Bastelstand, auf dem ich ein Diskettellaufwerk und Netzgerät installiert habe und demnächst noch ein CD-ROM Laufwerk installieren werde. Das Teil nutze ich zu Testzwecken.

IMG_0846.JPG
IMG_0846.JPG (124.56 KiB) 8874 mal betrachtet

Re: Hoher Speicher bei MS DOS

Verfasst: So 20. Nov 2016, 17:49
von Lineablu
Hier meine config.sys

IMG_0848.JPG
IMG_0848.JPG (130.54 KiB) 8873 mal betrachtet

Re: Hoher Speicher bei MS DOS

Verfasst: Fr 7. Apr 2017, 11:37
von Jigo
hast da also windows laufen? (anonsten knick die country.sys und den Kram :D )

Re: Hoher Speicher bei MS DOS

Verfasst: Mo 15. Mai 2017, 17:22
von Lineablu
Ja, es läuft WfW 3.11 drauf