home *** CD-ROM | disk | FTP | other *** search
- Borland Pascal 7.0
- DPMI-Dienstprogramme
- ====================
-
- Diese Datei beschreibt die Programme RTM.EXE, RTMRES.EXE, DPMI16BI.OVL,
- DPMIINST.EXE und DPMILOAD.EXE. Sie dürfen diese Programme unter denselben
- Lizenzbedingungen weitergeben, die für Borland Pascal 7.0 gelten. Stellen
- Sie den Anwendern Ihrer Programme auch die in dieser Datei enthaltenen
- Informationen zur Verfügung.
-
- Es werden folgende Themen behandelt:
-
- o Das Ausführen eines DOS-Protected-Mode-Programms
-
- o Was Sie tun können, wenn der DPMI-Server von Borland auf Ihrem System
- nicht läuft
-
- o Wie Sie DOS-Umgebungsvariablen für die mit Borland Pascal 7.0
- erzeugten Programme setzen
-
- o Besonderheiten bei der Ausführung unter Windows
-
- o Wie Sie die Speicherbelegung durch den DPMI-Lader steuern können
-
- o Ein Hinweis für Anwender von Borland C++ und Paradox 4.0
-
-
- ================================================
- Das Ausführen eines DOS-Protected-Mode-Programms
- ================================================
-
- Wenn Sie ein Protected-Mode-Programm starten, müssen Sie sicherstellen,
- daß sich DPMI16BI.OVL (der DPMI-Server), RTM.EXE (der DPMI-Lader)
- und alle von der Anwendung benötigten DLLs an einem der folgenden Orte
- befinden:
-
- - im aktuellen Verzeichnis
- - im selben Verzeichnis wie die Anwendung
- - im Suchpfad.
-
-
- Protected Mode und Speicher
- ---------------------------
-
- DPMI (für DOS Protected Mode Interface) ermöglicht es einem DOS-
- Programm, im Protected Mode zu laufen und dadurch auf den gesamten
- Arbeitsspeicher Ihres Computers zuzugreifen. Von einigen Ausnahme-
- fällen abgesehen, ist diese Technik vollkommen transparent und es
- sind keine besonderen Maßnahmen nötig, um ein Programm im Protected
- Mode auszuführen.
-
-
- DPMIINST
-
- Ein solcher Ausnahmefall kann auftreten, wenn Sie ein Protected-
- Mode-Programm das erste Mal auf einem Rechner mit 80286-Prozessor
- ausführen. Zur Konfiguration der Protected-Mode-Schnittstelle wird
- eine interne Datenbank mit verschiedenen Rechner-Charakteristika
- verwendet. Aufgrund dieser Informationen wird entschieden, wie der
- Protected Mode auf Ihrem Rechner aktiviert werden kann. Wenn Sie einen
- Rechner mit einem älteren 80286 haben, kann es vorkommen, daß dieser
- nicht erkannt wird. In diesem Fall sehen Sie bei Start des Protected-
- Mode-Programms die folgende Meldung:
-
- Machine not in database (RUN DPMIINST)
-
- Falls Sie diese Meldung erhalten, dann lassen Sie einfach DPMIINST
- laufen. Tippen Sie an der DOS-Eingabeaufforderung DPMIINST ein und
- folgen Sie den Instruktionen des Programms.
-
- DPMIINST unterzieht Ihren Rechner einer Reihe von Tests, um zu
- ermitteln, wie der Protected Mode am besten aktiviert werden kann,
- und konfiguriert die DPMI-Schnittstelle entsprechend. Sie müssen
- dieses Programm nur ein einziges Mal ausführen.
-
- Einige Speicherverwaltungsprogramme, Gerätetreiber und speicher-
- residente Programme können unter Umständen verhindern, daß DPMIINST
- die nötigen Tests durchführt. Entfernen Sie vorübergehend alle
- derartigen Programme, wenn DPMIINST nicht korrekt abläuft, oder
- schalten Sie sie ab, so daß DPMIINST den uneingeschränkten Zugriff
- auf Ihr System erhält.
-
- Beachten Sie, daß DPMIINST weder auf einem Rechner, auf dem HIMEM
- (oder ein äquivalentes Programm) läuft, noch auf einem Rechner mit
- 80386- oder 80486-Prozessor je benötigt wird.
-
-
- DPMIMEM
-
- Per Vorgabe belegt die DPMI-Schnittstelle alles verfügbare Extended
- Memory. Wenn Sie das verhindern möchten, können Sie eine DOS-Umge-
- bungsvariable definieren, die eine Obergrenze für den verwendeten
- Speicher festlegt. Diese Definition können Sie entweder an der DOS-
- Eingabeaufforderung oder in die Datei AUTOEXEC.BAT eingeben. Die
- Syntax lautet:
-
- SET DPMIMEM=MAXMEM nnnn
-
- wobei nnnn für die Speichergröße in Kilobyte steht.
-
- Falls beispielsweise Ihr Rechner 4 MB hat und DPMI nur 2 MB ver-
- wenden soll, können Sie die Umgebungsvariable DPMIMEM wie folgt
- definieren:
-
- SET DPMIMEM=MAXMEM 2048
-
- Einige Speicherverwaltungsprogramme wie QEMM oder 386^Max können ein und
- denselben Speicherbereich wahlweise als Expanded oder Extended Memory
- reservieren. Viele ältere Programme können nur Expanded Memory (EMS)
- nutzen. Mit der Umgebungsvariablen DPMIMEM können Sie erreichen, daß
- nur ein Teil des Extended Memory für DPMI genutzt wird, so daß diesen
- älteren Programm weiterhin EMS-Speicher zur Verfügung steht.
-
-
- RTMRES
-
- RTMRES lädt das DPMI-System vorab. Wenn Sie das tun, startet ein
- Protected-Mode-Programm etwas rascher. Wenn Sie beim Aufruf ein
- Programm mit angeben, wird es geladen. Ansonsten lädt RTMRES eine
- DOS-Shell, die Sie wie üblich mit EXIT beenden können.
-
- RTMRES ist dann besonders von Nutzen, wenn Sie ein Protected-Mode-
- Programm immer wieder starten und beenden. Normalerweise würde bei
- jedem Start der DPMI-Server geladen, was Sie sich ersparen können,
- wenn Sie ihn mit RTMRES resident machen.
-
-
- EXTENDED MEMORY
-
- Die Kommunikation eines Protected-Mode-Programms mit dem DPMI-
- Server geschieht über den DPMI-Lader RTM.EXE. Per Vorgabe
- benutzt ein Protected-Mode-Programm allen vom DPMI-Kernel reser-
- vierten Speicher.
-
-
- ===================================================
- Ein Protected-Mode-Programm unter Windows ausführen
- ===================================================
-
- Ein DOS-Protected-Mode-Programm läuft unter dem erweiterten
- 386er-Modus von Windows. Mit Hilfe einer PIF-Datei können Sie fest-
- legen, wieviel Speicher dem Programm zur Verfügung gestellt wird.
- Was eine PIF-Datei ist und wie Sie eine anlegen, erfahren Sie im
- Benutzerhandbuch zu Microsoft Windows.
-
-
- Ein Protected-Mode-Programm im Windows-Standardmodus ausführen
- --------------------------------------------------------------
-
- Wenn Sie ein Protected-Mode-Programm im Windows-Standardmodus aus-
- führen wollen, müssen Sie die DOS-Umgebungsvariable DPMIMEM
- definieren und RTMRES starten, bevor Sie Windows starten. Beides
- ist weiter oben beschrieben. Lassen Sie bei der Definition von DPMIMEM
- genügend Speicher für Windows übrig.
-
- Sobald Sie DPMIMEM geladen haben, können Sie Windows nicht mehr im
- erweiterten 386er-Modus ausführen. Sie müssen RTMRES erst wieder
- verlassen (tippen Sie dazu an der DOS-Eingabeaufforderung EXIT ein).
-
-
- Die DOS-Eingabeaufforderung von Windows
- ---------------------------------------
-
- Um ein DOS-Protected-Mode-Programm von der DOS-Eingabeaufforderung
- unter Windows zu starten, müssen Sie die Datei DOSPRMPT.PIF in Ihrem
- Windows-Verzeichnis bearbeiten. Andernfalls kann das Protected-Mode-
- Programm kein Extended Memory nutzen.
-
- Starten Sie den PIF-Editor von Windows, öffnen Sie die Datei
- DOSPRMPT.PIF und geben Sie darin an, wieviel Extended Memory das
- Protected-Mode-Programm benutzen soll. Wenn Sie mit dem PIF-Editor
- nicht vertraut sind, können Sie Einzelheiten im Benutzerhandbuch zu
- Microsoft Windows nachlesen.
-
-
- ================================================================
- Wie Sie die Speicherbelegung durch den DPMI-Lader steuern können
- ================================================================
-
- Der DPMI-Lader versucht, möglichst viel konventionellen Speicher
- zur Verfügung zu stellen, bevor er eine Anwendung lädt (er lagert
- nach Mögichkeit Speicherblöcke ins Extended Memory aus). Er versucht
- hingegen nicht, Extended Memory freizugeben. Falls Sie andere
- Protected-Mode-Programme benutzen wollen, die den DPMI-Lader
- nicht verwenden (beispielsweise Paradox 4.0), so können Sie die
- Speicherbelegung mit Hilfe der DOS-Umgebungsvariablen RTM steuern.
-
- Mit Hilfe des SET-Befehls können Sie die Umgebungsvariable RTM in der
- DOS- Kommandozeile definieren. Es gilt folgende Syntax:
-
- SET RTM=[Option nnnn]
-
- Die folgende Tabelle listet die verfügbaren Optionen auf. nnnn kann
- eine dezimale oder hexadezimale Zahl sein, letztere im Format xAB54
- oder xab54.
-
- Option Beschreibung
- -------------------------------------------------------------
- EXTLEAVE nnnn Es werden stets nnnn Kilobyte Extended Memory
- freigelassen. Der Vorgabewert ist 640 KB.
-
- EXTMAX nnnn Es werden nicht mehr als nnnn Kilobyte Extended
- Memory reserviert. Der Vorgabewert ist 4
- Gigabyte bzw., unter Windows, die Hälfte des
- verfügbaren Speichers.
-
- EXTMIN nnnn Wenn unter Berücksichtigung der Angaben zu EXTMAX
- und EXTLEAVE weniger als nnnn Kilobyte Speicher
- zur Verfügung stehen, wird das Programm beendet
- und die Meldung "Out of Memory" ausgegeben. Der
- Vorgabewert ist Null.
-
- REALLEAVE nnnn Es werden stets mindestens nnnn Paragraphen an
- DOS-Speicher freigelassen. Der Vorgabewert ist
- 4096 Paragraphen, was 64 KB entspricht.
-
- REALMAX nnnn Es werden nicht mehr als nnnn Paragraphen an DOS-
- Speicher reserviert. Der Vorgabewert ist 1 MB bzw.
- 65535 Paragraphen.
-
- REALMIN nnnn Wenn unter Berücksichtigung der Angaben zu REALMAX
- und REALLEAVE weniger als nnnn Kilobyte Speicher
- zur Verfügung stehen, wird das Programm beendet
- und die Meldung "Out of Memory" ausgegeben. Der
- Vorgabewert ist Null.
-
- Mit dem folgenden Befehl reserviert RTM maximal 2 MB Extended Memory
- und es werden 128 KB DOS-Speicher freigelassen.
-
- SET RTM=EXTMAX 2048 REALLEAVE 8192
-
-
- ======================================================================
- Ein wichtiger Hinweis für die Anwender von Borland C++ und Paradox 4.0
- ======================================================================
-
- Die in diesem Produkt enthaltenen Dateien DPMILOAD.EXE und DPMI16BI.OVL
- ersetzen die älteren Versionen, die mit Paradox 4.0 oder BC++ 3.0 aus-
- geliefert wurden. Löschen Sie diese älteren Versionen oder benennen Sie
- sie um, und sorgen Sie dafür, daß sich die neueren Versionen im DOS-
- Suchpfad befinden. Paradox und BC++ verwenden dann die neueren Dateien.
-
- Wenn Sie aus Paradox oder BC++ heraus vorübergehend DOS aufrufen wollen,
- um ein Protected-Mode-Programm auszuführen, müssen Sie die Größe des
- Extended Memory, das von Paradox bzw. BC++ benutzt wird, einschränken.
- Dazu müssen Sie beim Aufruf von Paradox die Option /extk bzw. die Option
- /x bei BC++ angeben. Näheres lesen Sie bitte in den Handbüchern zum
- jeweiligen Produkt nach.
-
-
- - ENDE DER DATEI -
-