next up previous contents index
Next: Wine Up: Fremde Welten Previous: Fremde Welten

Subsections


dosemu

  

Allgemeines

Warnung!

Dosemu ist ALPHA-Software, d. h. er befindet sich noch in der Testphase seiner Entwicklung. Sichern Sie deshalb ihre Daten, bevor Sie ihn starten, und verwenden Sie ihn keinesfalls, um für Sie wichtige Daten ohne Sicherungskopie zu bearbeiten.

Funktion:

Dosemu ist ein Programm, das auf Benutzerebene arbeitet und bestimmte Fähigkeiten des Linux-Kernels und des 80386-Prozessors ausnutzt, um MS-DOS innerhalb von Linux auszuführen.

Der Name ,,dosemu`` ist irreführend, da es sich nicht um einen MS-DOS-Emulator handelt, sondern um ein Programm, das die Hardwareumgebung nachbildet, in der MS-DOS normalerweise arbeitet. Es handelt sich eigentlich um einen ,,PC-Emulator``.

Zum Betrieb des dosemu wird eine MS-DOS-Lizenz ab der Version 3.3 oder DR-DOS 6.0 benötigt.

Dosemu kann, wenn er unter Superuser-Rechten auf der Linuxkonsole ausgeführt wird, direkt auf die Geräte Festplatte, Grafikkarte, Lautsprecher, Tastatur sowie ausdrücklich freigegebene IO-Ports zugreifen. Der direkte Hardwarezugriff beschleunigt den Ablauf der MS-DOS-Programme wesentlich, verringert aber die Sicherheit des Systems gegenüber Abstürzen und Datenverlusten. Wird dosemu unter ,,normalen`` Benutzerrechten ausgeführt, erfolgen alle Ein- und Ausgaben über Linux-Betriebssystemfunktionen. Dadurch sind weder Grafik noch der IBM-PC-Zeichensatz verfügbar.

Diese Beschreibung bezieht sich auf die dosemu-Version 0.53. Das Format der Konfigurationsdatei hat sich gegenüber der Version 0.49 sehr stark verändert, so daß alte Konfigurationsdateien nicht weiterverwendet werden können.

Syntax:

dos [-234ABCKNVcgkmst] [-DDebugOptionen] [-M Größe] [-P Datei] [-e Größe] [-x Größe] [2> Debugdatei]

Optionen:

 
-2
286 CPU emulieren

-3
386 CPU emulieren[*]

-4
486 CPU emulieren[*]

-A
von dem ersten Floppylaufwerk booten

-B
von dem zweiten Floppylaufwerk booten

-C
von der ersten Festplatte booten (normalerweise ,, hdimage``)

-D Optionen
setzt die Debugmaske; ,,+`` schaltet die Ausgabe ein, ,,-`` schaltet sie aus (-D-a+dv schaltet alle Debugausgaben außer denen zu Plattenzugriffen und Bildschirmausgaben aus)

        d   Festplatte        v   Bildschirmausgabe     R   Lesezugriffe
        k   Tastatur          i   Portzugriffe          W   Schreibzugriffe
        s   RS-232            p   Druckerport           h   Hardware
        w   Warnungen         g   Allgemeines           x   XMS
        m   Maus              I   IPC                   E   EMS
        c   Konfiguration     X   X-Window-Support      D   DPMI

\end{rawthml} \item[-F \Argument{Konfigurationsdatei}] zwingt {\bf dosemu,} seine Konfiguration aus der als {\it Konfigurationsdatei\/} angegebenen Datei zu lesen. \item[-K] Tastaturinterrupt ({\sf int9}) freischalten\footnote{Einige residente Programme, wie z.\thinspace B.\ Sidekick, erwarten diesen Interrupt.} \item[-M \Argument{Größe}] setzt die Speichergröße auf "`{\it Größe\/}"' Kilobyte \item[-N] Kein DOS booten; dient nur zur Fehlersuche \item[-P \Argument{Datei}] kopiert die Debugausgaben in "`{\it Datei\/}"' \item[-T \Argument{Verzeichnis}] setze Verzeichnis für temporäre Dateien \item[-V] Einschalten der BIOS{\bindestrich}VGA{\bindestrich}Emulation (schließt {\sf -c} ein) \item[-X] X{\bindestrich}Unterstützung; hat denselben Effekt, als würde {\bf dosemu} unter dem Namen "`{\bf xdos}"' aufgerufen \item[-Y \Argument{Terminalfifo}] reserviert\footnote{Die Option wird von einem neuen Startprogramm zur X{\bindestrich}Unterstützung verwendet und bezeichnet einen FIFO zur Terminal- und Maussteuerung.} \addtocounter{footnote}{-1} \item[-Z \Argument{Mausfifo}] reserviert\footnotemark \item[-c] schaltet die direkte Bild\-schirm\-aus\-ga\-be auf die Grafikkarte ein\footnote{ermöglicht den IBM{\bindestrich}Zeichensatz, sowie DOS{\bindestrich}Textmodus{\bindestrich}Farben; erfordert Superuser{\bindestrich}Rechte} \item[-d] gibt das aktuelle Terminal wieder frei und startet den {\bf dosemu} auf einer eigenen virtuellen Console. \item[-e \Argument{Größe}] stellt "`{\it Größe\/}"' Kilobyte EMS zur Verfügung \item[-g] schaltet die Grafikunterstützung ein; z.\thinspace B.\ für Spiele \item[-k] schaltet den direkten Tastaturzugriff ein \item[-m] schaltet die Mausunterstützung ein \item[-s] verwendet den neuen Code zur Unterstützung anderer Bildschirmgrößen als 80x25 (noch nicht vollständig) \item[-t] schaltet den Timer{\bindestrich}Interrupt ({\sf int8}) frei\footnote{Einige residente Programme wie z.\thinspace B.\ Bildschirmschoner verwenden diesen Interrupt.} \item[-v \Argument{Grafikkartentyp}] Als Grafikkartentyp kann "`1"' für VGA{\bindestrich}, "`2"' für EGA{\bindestrich}, "`3"' für CGA{\bindestrich} und "`4"' für MDA{\bindestrich}Karten angegeben werden. \item[-x \Argument{Größe}] stellt "`{\it Größe\/}"' Kilobyte XMS zur Verfügung \item[2> \Argument{Datei}] leitet alle Debugmeldungen in "`{\it Datei\/}"' um; wird diese Option weggelassen, so lenkt {\bf dosemu} automatisch alle Debugmeldungen nach {\sf /dev/null} um \end{optlist} \subsection{Voraussetzungen} \index{dosemu!Anforderungen} Um den {\bf dosemu} zu betreiben, muß Ihr System folgende Software{\bindestrich}Vo"-raus"-set"-zun"-gen erfüllen: \begin{enumerate} \item einen Linux{\bindestrich}Kernel Version 1.1.12 oder neuer, mit IPC{\bindestrich}Unterstützung\footnote{IPC{\bindestrich}Unterstützung kann als Option beim Übersetzen des Kernels ausgewählt werden} \item den GNU{\bindestrich}C{\bindestrich}Compiler gcc 2.5.8 oder neuer \item die Linux{\bindestrich}C{\bindestrich}Library ab der Version 4.5.21 \item MS{\bindestrich}DOS Version 3.3 oder neuer (DR{\bindestrich}DOS 6.0 funktioniert ebenfalls) \end{enumerate} \subsection{Übersetzen des dosemu} \index{dosemu!Compilieren} Wechseln Sie in das Verzeichnis, in dem sich die {\bf dosemu}{\bindestrich}Quelltexte befinden. Falls Ihre Linux{\bindestrich}Installation nicht dem Filesystem{\bindestrich}Standard entspricht, müssen Sie im \mbox{Makefile} die Pfade zu den Header{\bindestrich}Dateien und Libraries an Ihre Installation anpassen. {\bf make} überprüft automatisch, ob die Header{\bindestrich}Dateien und Libraries für X vorhanden sind, und bindet X{\bindestrich}Unterstützung in {\bf dosemu} ein. %Die einzige Option, die beim Compilieren des {\bf dosemu} zu setzen ist, %ist die X{\bindestrich}Window{\bindestrich}Unterstützung. Wenn Sie nicht über eine X{\bindestrich}Installation %verfügen, setzen Sie im Makefile die Variable {\tt X\_SUPPORT = 0} %(Zeile 12). Standardeinstellung ist {\tt X\_SUPPORT = 1}. Mit dem Kommando {\sf make doeverything} wird {\bf dosemu} compiliert und installiert. Falls auf Ihrem Rechner kein TeX installiert ist, übersetzen Sie {\bf dosemu} mit dem Kommando {\sf make most}. {\bf make} versucht, {\bf dosemu} nach dem Übersetzen zu installieren; deshalb sollte dieses Kommando mit Superuser{\bindestrich}Rechten ausgeführt werden. Nach dem Übersetzen kopieren Sie die Datei {\sf ./examples/config.dist} nach {\sf etc} und benennen sie in {\sf dosemu.conf} um. \subsection{Die Laufzeitkonfiguration} \index{dosemu!Konfiguration} Die Datei {\tt /etc/dosemu.conf} enthält die Konfiguration des {\bf dosemu}. Sie besteht aus Konfigurationsanweisungen, die einen Parameter oder eine Liste aus Unteranweisungen mit Parametern erwarten. Anweisungen mit einem Parameter haben die Syntax: \\\centerline{ {\sf Anweisung}~~~{\it Parameter\/}} Anweisungen, die eine Liste erwarten, haben die Syntax:\\\centerline{ {\sf Anweisung \{ Unteranweisung1 [{\it Parameter1\/}] Unteranweisung2 [{\it Parameter2\/}] ... \} }} Kommentare beginnen mit einem "`{\sf \#}"' und enden am Zeilenende. Bei den Anweisungen wird Groß{\bindestrich} und Kleinschreibung nicht unterschieden. Bestimmte Argumente, wie z.\thinspace B.\ Da\-tei\-na\-men und die Druckeroptionen, werden jedoch unverändert übernommen und sind deshalb auf eine {\bf exakte} Schreibweise angewiesen. \subsubsection{Tastatur, Ports und andere Kleinigkeiten} \index{dosemu!/etc/dosemu.conf@{\tt /etc/dosemu.conf}} \begin{optlist} \item[dosbanner {\it on/off\/}]~\\ Schaltet die Begrüßungsmeldung des {\bf dosemu} an oder aus. \item[ipxsupport {\it on/off\/}]~\\ Wenn Sie von {\bf dosemu} aus auf ein Novellnetz zugreifen wollen, können Sie mit diesem Schalter die IPX/SPX{\bindestrich}Emulation einschalten. Innerhalb des {\bf dosemu} muß dann IPX.COM nicht mehr geladen werden. LSL.COM oder IPXODI.COM werden nicht emuliert. Damit diese Option funktioniert, muß IPX im Linuxkernel eingeschaltet sein. \item[pktdriver novell\_hack]~\\ Ermöglicht eine Umsetzung von Novell{\bindestrich}8137{\bindestrich}Paketen zu raw{\bindestrich}802.3{\bindestrich}Paketen. \item[allowvideoportaccess {\it on/off\/}]~\\ Gibt den Zugriff auf die IO{\bindestrich}Ports der Grafikkarte frei. \item[bootA, bootC]~\\ Gibt an, von welchem Laufwerk der {\bf dosemu} MS{\bindestrich}DOS laden soll. Diese Anweisungen erwarten keinen Parameter. Von ihnen darf nur {\bf eine} in der Konfigurationsdatei vorkommen. \item[EmuSys {\it Endung\/}, EmuBat {\it Endung\/}]~\\ Gibt die Dateiendungen für die Dateien CONFIG.SYS und AUTOEXEC.BAT für \mbox{\bf dosemu} an. So können sich auf demselben Laufwerk zwei verschiedene Startupdateien für DOS befinden, je nachdem, ob MS{\bindestrich}DOS direkt oder im {\bf dosemu} gebootet wird.\\ Beispiel:\\ {\tt EmuSys EMU}\\ {\tt EmuBat EMU}\\ Wenn DOS im {\bf dosemu} gebootet wird, werden die Dateien CONFIG.EMU und AUTOEXEC.EMU verwendet, ansonsten die normalen CONFIG.SYS und AUTOEXEC.BAT. \item[cpu {\it Typ\/}]~\\ Bestimmt, welcher Prozessor emuliert werden soll. Als "`{\it Typ\/}"' kann "`{\tt 2}"', "`{\tt 3}"' oder "`{\tt 4}"' angegeben werden. Es ist ebenfalls möglich, den ganzen Prozessornamen anzugeben ("`{\tt 80286}"', "`{\tt 80386}"' und "`{\tt 80486}"'). \item[debug \{ {\sf Flag} {\it Wert\/} {\sf Flag} {\it Wert\/} ... \}]~\\ Als Unteranweisungen sind {\sf config, port, video, serial, printer, disk, read, write, keyb, mouse, warning, general, xms, ems, dpmi, hardware} und {\sf IPC} zulässig, die jeweils als Parameter {\sf on} oder {\sf off} erwarten.\\ Beispiel: \\\begin{rawhtml}

        debug  {   config    on    disk    off   warning   off   hardware   on
                   port      on    read    off   general   off   IPC        off
                   video     on    write   off   xms       off
                   serial    off   keyb    on    ems       off
                   printer   off   mouse   on    dpmi      off
               }

HogThreshold Microsekunden
 
Gibt die Anzahl Microsekunden an, die mindestens zwischen zwei Tastaturabfragen verstreichen müssen. Dosemu benutzt diesen Zeitabstand, um eine Tastaturschleife zu erkennen. Ein hoher Wert spart Rechenzeit unter Linux und verschlechtert die Performance des Emulators.
FastFloppy Wert/off
 
Der Wert bezeichnet die Zeit zwischen Aktualisierungen der Daten auf dem Diskettenlaufwerk in Sekunden. Um den optimierten Diskettenzugriff abzuschalten, muß als Wert ,,off`` angegeben werden.
mathco on/off
 
Über diese Option wird dem dosemu mitgeteilt, ob ein Coprozessor vorhanden sein soll. Diese Option hat nichts mit einem wirklich im Rechner installierten Coprozessor zu tun. Sie kann beliebig gesetzt werden und ist vor allem für MS-DOS-Programme interessant, die unbedingt einen Coprozessor erfordern, da Linux einen Coprozessor emuliert.
ports Liste
 
Erlaubt dem Emulator den Zugriff auf die in ,,Liste`` angegebenen I/O-Ports. ,,Liste`` ist eine von ,,{}`` eingeschlossene, durch Leerzeichen getrennte Liste der freizugebenden I/O-Adressen. Die Adressen können entweder hexadezimal oder dezimal angegeben werden. Hexadezimale Adressen werden durch Voranstellen von ,,0x`` vor die Adresse gekennzeichnet.
Beispiel: ports { 0x21e 0x22e 0x23e 0x24e 0x25e 0x26e 0x27e 0x28e }
speaker Modus
 
Setzt die Betriebsart des Lautsprechers. Mögliche Modi sind: ,,off`` - kein Ton, ,,emulated`` - bei jedem Ton wird lediglich ein ,,BEL`` (7) gesendet, ,,native`` - gibt den Zugriff auf die Ports 0x42 und 0x61 frei und ermöglicht so den ,,gewohnten DOS-Sound``. Diese Einstellung sollte nur bei direktem Arbeiten auf der Konsole verwendet werden.
timint on/off
 
Legt fest, ob der Timerinterrupt (int8) weitergeleitet wird. Viele Programme benötigen diesen Interrupt.
umb_max on/off
 
Die Option erhöht die Bereitschaft des dosemu, freie Bereiche in den oberen Speicherbereichen zu finden und zu aktivieren.
ems Größe/off
 
  Stellt die angegebene Menge EMS-4.0-Speicher unter DOS zur Verfügung. Kann auf off gesetzt werden.

Neuerdings wird auch folgende Syntax unterstützt:
ems {ems_size Größe ems_frame Adresse}.
Hierbei steht Größe wiederum für die Größe des EMS-Speichers, die zur Verfügung gestellt werden soll, und Adresse für die Basisadresse der Speicherseite, auf der die EMS-Speicherseiten eingeblendet werden.

hardware_ram Liste
 
Benennt dosemu Speicherbereiche zwischen 640 KB und 1 MB, in die RAM eingeblendet werden soll. Der Ausdruck Liste ist eine von ,,{}`` eingeschlossene Liste von Adressen. Jede Adresse bezeichnet den Anfang einer 4 KB großen Speicherseite. Größere Bereiche können durch die Verwendung des Schlüsselwortes range angegeben werden. Beispiel: hardware_ram {0xc8000 range 0xcc000 0xcffff} blendet in die Speicherbereiche von Adresse 0xc8000 - 0xc8fff und 0xcc000 - 0xcffff RAM ein. In diese Bereiche können ab MS-DOS 5.0 mit den Kommandos ,,highdevice`` und ,,loadhi`` Treiber und Programme geladen werden.
xms Größe/off
 
  Richtet entsprechend der ,,Extended Memory Specification 3.0`` die als ,,Größe`` angegebene Menge XMS ein. Kann auf off gesetzt werden.
dpmi off/off
 
  Schaltet die DPMI-Unterstützung (DOS Protected Mode Interface) im dosemu ein bzw. aus. Die DPMI-Unterstützung ist allerdings noch nicht vollständig implementiert und verwendbar.

Diskettenlaufwerke

 

Dosemu kennt zwei Arten von Laufwerken: Diskettenlaufwerke und Dateien, die als Diskettenlaufwerk angesprochen werden. Dosemu ordnet die unter DOS verwendeten Laufwerksbuchstaben den Laufwerken in der Reihenfolge ihrer Konfiguration zu.
Syntax:  
,,floppy { Schlüsselwort [Wert] [...] }``

Zulässige Schlüsselwörter sind:

device Blockdevice
 
Definiert das ,,Blockdevice`` als Diskettenlaufwerk, z. B. ,,/dev/fd0``.
file Dateiname
 
Gibt an, daß die Datei ,,Dateiname`` ein Bild einer Diskette enthält und als Diskettenlaufwerk konfiguriert werden soll. Kommt diese Konfiguration zum Einsatz, so sollte die Anzahl der Sektoren, Köpfe und Spuren des ,,originalen`` Laufwerks angegeben werden, auf dem die Vorlage für das Image erstellt wurde.
sectors Anzahl
 
Definiert die Anzahl der Sektoren auf einer Spur des Laufwerks.
heads Anzahl
 
Gibt die Anzahl der Schreib- und Leseköpfe eines Laufwerks an.
tracks Anzahl
 
Beschreibt die Anzahl der Spuren, die ein Laufwerk umfaßt.
threeinch
 
Das mit dieser Option bezeichnete Laufwerk wird im vom dosemu emulierten CMOS-RAM als 3,5-Zoll-Laufwerk angezeigt.
fiveinch
 
Das mit dieser Option bezeichnete Laufwerk wird im vom dosemu emulierten CMOS-RAM als 5,25-Zoll-Laufwerk angezeigt.
readonly
 
Erlaubt nur Lesezugriffe auf das Laufwerk.

Beispiele:
floppy { Heads 2 Sectors 18 Tracks 80 threeinch file /usr/dos/fimage }
floppy { Device /dev/fd0 threeinch }

Durch diese Einträge wird die Datei /usr/dos/fimage als Laufwerk A: und das ,,echte`` erste Laufwerk des Rechners als Laufwerk B: konfiguriert. Im ,,CMOS-RAM`` des dosemu tauchen beide Laufwerke als 3,5-Zoll-Laufwerke auf.

Das ,,virtuelle`` Bootlaufwerk

 

Wenn dosemu mit einem Diskimage gebootet werden soll, Sie aber unter DOS trotzdem alle Diskettenlaufwerke verwenden wollen, kann ein besonderes ,,Bootlaufwerk`` konfiguriert werden. Dieses Laufwerk kann dann mit den Programmen booton.com und bootoff.com im laufenden dosemu ein- und ausgeblendet werden. Die Syntax ist identisch mit der Konfiguration eines Diskimage als Diskettenlaufwerk:
Syntax:
,,bootdisk { Schlüsselwort [Wert] [...] }``

Beispiel:
bootdisk { heads 2 sectors 18 tracks 80 threeinch file /dos/bootdisk }

Festplattenlaufwerke

 

Dosemu kennt vier verschiedene Möglichkeiten, um auf Festplatten zuzugreifen.

1.
Zugriff auf die gesamte Festplatte
Diese Zugriffsart erlaubt dosemu, die gesamte Festplatte anzusprechen (incl. des ,,Master Boot Records``). Dosemu versucht automatisch, die Festplattenparameter herauszufinden. Schlägt der Versuch fehl, müssen die Parameter manuell, wie bei den Diskettenlaufwerken beschrieben, angegeben werden. Diese Konfiguration ist extrem unsicher und sollte nur zu experimentellen Zwecken verwendet werden.
2.
Zugriff auf eine Partition der Festplatte
Diese Zugriffsart ist unter dem Gesichtspunkt der Implementierung ähnlich dem Zugriff auf die gesamte Festplatte und arbeitet ebenfalls über den DOS-Interrupt int13. Sie ist jedoch wesentlich sicherer, da dosemu so keinen Zugriff auf andere Partitionen erhält und auch den ,,Master Boot Record`` nicht ansprechen kann. Um diese Zugriffsart verwenden zu können, muß eine Datei namens ,,/var/lib/dosemu/partition`` existieren, die die benötigten Zusatzinformationen für den dosemu enthält. Die Datei kann mit dem ,,mkpartition``-Kommando erstellt werden. Um z. B. die Datei für die erste Partition der ersten Festplatte zu erstellen, führen Sie das Kommando ,,mkpartition /dev/hda 1`` aus.
3.
Eine als Festplatte ,,getarnte`` Datei
Wie bei den Diskettenlaufwerken ist es auch möglich, eine Festplatte durch eine Datei im Linux-Dateisystem zu simulieren. Festplattenimages werden mit dem Kommando ,,mkhdimage`` erstellt. Mit ,,mkhdimage -c 300 -h 12 -s 17 > hdimage`` erstellen Sie beispielsweise eine ca. 29MB große ,,Festplatte`` auf Ihrem Linux-Dateisystem. Die Nachteile dieser Methode liegen darin, daß auf ,,Festplatten`` dieser Art nur mit dosemu zugegriffen werden kann, und daß die Datei hdimage nur wachsen, aber nicht kleiner werden kann.
4.
Zugriff auf das Linux-Dateisystem mit lredir.exe
Das Programm blendet einen beliebigen Verzeichnisbaum des Linux-Dateisystems als Festplatte ein. Auf diese Weise kann z. B. die DOS-Partition unter Linux gemountet und dann mit Hilfe von lredir.exe als Festplatte dem dosemu zur Verfügung gestellt werden. So kann sogar ein gleichzeitiger Zugriff auf die DOS-Partition von Linux und dosemu aus ermöglicht werden. Das Einblenden eines Linux-Dateibaums als Festplatte C: erfolgt durch den Aufruf von lredir im laufenden dosemu, z. B. mit:
lredir c:\linux\fs/usr/dos ,
wobei der Prefix ,,linux\fs,, dem tatsächlichen Pfad im Linux-Dateisystem voranzustellen ist.

Die Syntax der Festplattenkonfiguration ist derjenigen der Diskettenlaufwerke ähnlich.  
Syntax:
,,disk { Schlüsselwort [Wert] [...] }``

Zulässige Schlüsselwörter sind:

wholedisk Festplatte
 
Konfiguriert den Zugriff auf eine direkt angesprochene Festplatte. Als Festplatte kann z. B. ,,/dev/hda`` angegeben werden.
partition Partition Partitionsnummer
 
Erlaubt den direkten Zugriff auf eine Festplattenpartition. Der Parameter ,,Partition`` bezeichnet ein Blockdepot, unter Linux z. B. ,,/dev/hda1``, und der Parameter ,,Partitionsnummer`` die Nummer der Partition (1-4).
image Dateiname
 
Konfiguriert eine Datei als Festplatte. Sie muß zuvor mit ,,mkhdimage`` erstellt werden.
readonly
 
Erlaubt nur Lesezugriffe auf das Laufwerk.

Ebenso können noch die Schlüsselwörter Tracks, Sectors und Heads, wie bei den Diskettenlaufwerken beschrieben, verwendet werden.

Beispiele:
,,disk { partition /dev/hda1 1 readonly }``
,,disk { image /usr/dos/hdimage }``
Mit diesen Zeilen wird im dosemu die erste Partition der ersten Festplatte als Laufwerk C: konfiguriert. Laufwerk C: darf nur gelesen werden. Laufwerk D: wird durch die Image-Datei ,,/usr/dos/hdimage`` emuliert.

Video-Konfiguration

 

Syntax:
,,video { Schlüsselwort [Wert] [...] ``

Erlaubte Schlüsselwörter sind:

mda, cga, ega, vga
 
Bezeichnet die Art der Grafikkarte. Es darf nur eines der Schlüsselwörter angegeben werden.
chipset Art
 
Bezeichnet den auf der Grafikkarte verwendeten Chipsatz. Im Moment werden nur ,,et4000``, ,,trident``, ,,diamond`` und ,,s3`` erkannt.
memsize Größe
 
Gibt die Größe des Bildschirmspeichers an.
vbios_file Datei
 
Benennt eine Datei, die eine Kopie des Video-BIOS enthält. Diese Option ist in erster Linie hilfreich, um mit verschiedenen BIOS-Typen zu experimentieren. Eine BIOS-Datei kann mit dem Kommando ,,/usr/lib/dosemu/getrom > vbios`` erzeugt werden.
vbios_copy
 
Der dosemu kopiert das Video-BIOS in das Emulator-RAM. Er verwendet dazu die Datei ,,/dev/mem``, d. h. er muß mit Superuser-Rechten ausgeführt werden.
vbios_seg
 
Falls das VGA-BIOS Ihres Rechners nicht bei 0xc000 liegt, kann mit dieser Option eine andere Basisadresse angegeben werden.
graphics
 
Erlaubt dem dosemu, in Grafikmodi zu schalten. Diese Option funktioniert bislang nur mit VGA-Karten. Sie erfordert ebenso, daß der Chipsatz korrekt angegeben wurde, da sonst evtl. erweiterte Textmodi von Super-VGA-Karten beim Wechseln der virtuellen Konsole oder beim Verlassen des dosemu nicht richtig wiederhergestellt werden.
console
 
Ermöglicht die direkte Bildschirmausgabe und Grafikdarstellungen. Diese Option wird ignoriert, wenn der dosemu nicht auf der Konsole läuft.

Beispiel:
video { vga console graphics chipset et4000 memsize 1024 }

Tastatur-Konfiguration

 

Syntax:
,,keyboard { Schlüsselwort [Wert] [...] }``

Die folgenden Schlüsselwörter werden erkannt:

layout Tastaturlayout
 
Als Tastaturlayout werden
	finnish		de		sf		sg		uk
	finnish-latin1	de-latin1	sf-latin1	sg-latin1	us
	dk		fr		es		portuguese	be
	dk-latin1	fr-latin1	es-latin1	dvorak	 	no
unterstützt, wobei ,,de`` und ,,de-latin1`` für das deutsche Tastaturlayout stehen.
keybint on/off
 
Schaltet Tastaturinterrupts ein. Einige Programme, wie z. B. sidekick, benötigen diese Einstellung.
rawkeyboard on/off
 
Erlaubt eine sehr ,,echte`` Emulation der DOS-Tastatur incl. Sondertasten, wie z. B. ALT, ALT-GR, Rollen, Pause, Druck.
Im rawkeyboard-Modus stehen einige besondere Tastenkombinationen zur Verfügung:
Strg-Rollen
schreibt die ersten 0x32 Interruptvektoren in die Debugausgabe
Alt-Rollen
zeigt die vm86-Register
RechtsShift-Rollen
erzeugt einen int8 (timer tick)
LinksShift-Rollen
erzeugt einen int9 (Tastatur)
Strg-Alt-BildAuf
rebootet den dosemu
Strg-Alt-BildAb
beendet den dosemu
Pause
hält den Emulator an und startet ihn auch wieder
Strg-Alt-Fn
schaltet zu einer anderen virtuellen Konsole

Serielle Schnittstellen

  Syntax:
,,serial { Schlüsselwort [Wert] [...] device Schnittstelle }``

com Nummer
 
Bezeichnet die COM-Schnittstelle unter DOS, die emuliert werden soll, wobei Nummer 1, 2, 3 oder 4 sein kann entsprechend COM1 - COM4 unter DOS.
mouse
 
Wird diese Option einer Schnittstelle zugeordnet, so schließt dosemu die Schnittstelle bei einem Wechsel der virtuellen Konsole, um die gleichzeitige Verwendung einer Maus unter dosemu und dem X-Window-System zuzulassen.
base IO-Adresse
 
Gibt die Basisadresse der Schnittstelle an, die dosemu emulieren soll. Die Basisadresse muß nicht mit der tatsächlichen Adresse der Schnittstelle übereinstimmen.
irq Nummer
 
Gibt den IRQ an, auf dem dosemu die Schnittstelle emuliert.
device Schnittstelle
 
Gibt die tatsächliche Schnittstelle an, auf die zugegriffen werden soll, z. B. /dev/cua0.

Beispiele:
serial { mouse com 1 /dev/cua0 }
serial { com 2 irq 3 base 0x2F8 /dev/cua3 }
Die erste Zeile macht dosemu COM1 bekannt und schaltet den Maus-Modus ein. Die zweite Zeile bewirkt, daß dosemu die 4. serielle Schnittstelle des Rechners auf COM2 abbildet.

Terminalunterstützung

 

Dosemu kann auch in einer telnet-Session oder über eine Modemleitung verwendet werden. Für diesen Fall kann die Ausgabe von dosemu an die Fähigkeiten des Terminals angepaßt werden.
Syntax:
terminal { Schlüsselwort [Wert] [...] }

charset latin/ibm
 
Wählt den Zeichensatz aus, auf den dosemu die Ausgaben der DOS-Programme abbildet.
color off/xterm/normal
 
Beschreibt die Farbfähigkeiten des Terminals: off für monochrome Terminals, xterm für Terminals, die nur acht Farben unterstützen, und normal für IBM-PC-Konsolen und Terminals mit 16 Farben (z. B. ansi_xterm).
updatefreq Wert
 
Wert gibt das Intervall zwischen den Bildschirmupdates in 1/20 Sekunden an.
updateline Wert
 
Gibt die Anzahl Zeilen an, die auf einmal aufgebaut werden. Je größer Wert gewählt wird, desto schneller baut dosemu den Bildschirm auf. Auf langsamen Modemleitungen ist es ratsam, diesen Wert kleiner zu wählen, um die Antwortzeiten des Emulators zu verringern.
method fast/ncurses
 
Legt die Terminalsteuerung fest. Bei fast sendet dosemu direkt ANSI-Sequenzen an das Terminal. Die Option ncurses sollte nur verwendet werden, wenn das Terminal keine ANSI-Sequenzen verarbeiten kann.
corner on/off
 
Schaltet das Schreiben von Zeichen in die rechte untere Bildschirmecke ein und aus. Viele Terminals scrollen den Bildschirm, wenn Zeichen in die rechte untere Bildschirmecke ausgegeben werden.

Beispiel: terminal { charset ibm color on method fast }

X-Window-Unterstützung

 

Wird dosemu unter dem Namen xdos oder mit dos -X aufgerufen, so versucht er, das Programm ansi_xterm zu starten und seine Aus- und Eingabe darüber abzuwickeln. Findet er das Programm nicht, so sucht er nach color_xterm und xterm.

Syntax:
X { Schlüsselwort [Wert] [...] }

updatefreq Wert
 
Wert gibt das Intervall zwischen den Bildschirmupdates in 1/20 Sekunden an.
updateline Wert
 
Gibt die Anzahl Zeilen an, die auf einmal aufgebaut werden. Je größer Wert gewählt wird, desto schneller baut dosemu den Bildschirm auf. Auf langsamen Modemleitungen ist es ratsam, diesen Wert kleiner zu wählen, um die Antwortzeiten des Emulators zu verringern.
display Displayname
 
Benennt das X-Display, das dosemu verwenden soll. Wird diese Option nicht gesetzt, so nimmt dosemu das in der Umgebungsvariable DISPLAY genannte Display.
title Titel
 
Setzt den Titel für das DOS-Fenster.
icon_name Name
 
Setzt den Namen, mit dem das Icon von dosemu bezeichnet wird.
keycode
Erlaubt dosemu Zugriff auf die von XFree86 verwendeten Tastaturcodes.
blinkrate Wert
 
Ermöglicht einen blinkenden Cursor. Wert gibt die Blinkfrequenz an.
font Name
 
Setzt einen anderen Zeichensatz.

Beispiel:
X { updatefreq 1 title ,,DOS in a BOX`` icon_name ,,dosemu`` }

Verlassen des Emulators

Um den dosemu zu verlassen, führen Sie das in der Distribution enthaltene Programm exitemu.com aus, oder schicken Sie von einer anderen virtuellen Konsole mit dem kill-Kommando ein Signal SIGHUP oder SIGTERM an den dosemu. Senden Sie ein SIGKILL nur im äußersten Notfall, da der dosemu dann nicht mehr die Bildschirmeinstellungen zurücksetzen und die Logfiles auf die Platte schreiben kann.


next up previous contents index
Next: Wine Up: Fremde Welten Previous: Fremde Welten

Das Linux Anwenderhandbuch
(C) 1997 LunetIX