ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

DOSBox

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Logo.png DOSBox {en} ist ein DOS-Emulator, welcher die Umgebung von x86-Computern (inkl. Eingabegeräten, RAM, CD-ROM, CPU und MS-DOS) nachbildet. Das Ausführen DOS-basierter Software ist somit auch unter Ubuntu möglich.

Einige Spiele laufen nur mit Glide-Grafikkarten. Die Kompilierung wird in einem separaten Artikel beschrieben.

DOSBox.jpg
DOSBox

Installation

DOSBox ist in den offiziellen Paketquellen enthalten und kann durch:

  • dosbox (universe)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install dosbox 

sudo aptitude install dosbox 

installiert [1] werden.

Nach der Installation ist das Programm unter "Anwendungen -> Spiele -> DOSBox-Emulator" zu finden.

Spiel.jpg
Railroad Tycoon Deluxe

Konfiguration

Für alle Konfigurationen muss zunächst das Programm mit dem Befehl dosbox gestartet werden, damit er eine Konfigurationsdatei schreibt:

dosbox 

Nun existiert die Konfigurationsdatei ~/.dosbox/dosbox-VERSION.conf mit Standard-Einstellungen im Homeverzeichnis des Benutzers (VERSION steht für die jeweilige DOSBox-Version).

Groß-/Kleinschreibung

DOSBox für Linux unterliegt der allgemeinen "Einschränkung", dass die Dateinamen - im Gegensatz zu Windows - die exakte Groß-/Kleinschreibung aufweisen müssen (case sensitive)! Es kann dadurch vorkommen, dass Programme nicht gefunden werden. In diesem Fall ist es notwendig, die referenzierten Dateinamen in exakt der richtigen Groß-/Kleinschreibung anzugeben.

Spracheinstellung

Um DOSBox auf Deutsch und mit dem deutschen Tastaturlayout zu starten, benötigt man erstmal das zugehörige deutsche Sprachpaket, German languagefile+Readme, von der Downloadseite {en} . Diese Datei entpackt [2] man dann in dem Ordner .dosbox im Homeverzeichnis.

Als nächstes wird die Konfigurationsdatei ~/.dosbox/dosbox-VERSION.conf geöffnet [3] und bei language= die Sprachdatei angeben, in der Regel:

language=german-VERSION.lang

Tastaturlayout

Die Ubuntu-Version hat nach der Installation noch kein Tastaturlayout eingerichtet. Um das deutsche Tastaturlayout einzustellen, ändert man in der Konfigurationsdatei [3] ~/.dosbox/dosbox-VERSION.conf die Zeile

keyboardlayout=none

bzw. ab Version 0.74:

keyboardlayout=auto

zu

keyboardlayout=gr

Die weiteren Optionen der Konfigurationsdatei kann man im DOSBox-Wiki {en} nachschlagen.

Keymapper.jpg
Keymapper

Keymapper

Um die Tastaturbelegung zu ändern den Keymapper mit Strg + F1 oder durch Eingabe von -STARTMAPPER starten. Nun können Änderungen an der virtuellen Tastatur oder am virtuellen Joystick vorgenommen werden. Diese virtuellen Geräte entsprechen den Tasten, die DOSBox an die ausgeführten Programme übergibt. Durch einen Mausklick auf die jeweilige Taste sieht man, mit welcher Funktion diese derzeit verknüpft ist. Änderungen können abschließend gespeichert werden. Die vorgenommenen Einstellungen werden unter ~/.dosbox/mapper.txt abgelegt. Eine detaillierte Anleitung ist in der Datei README_de.txt zu finden.

Laufwerk C: erstellen (Datenaustausch)

Zur Installation von Programmen, aber auch zum Austausch von Dateien mit dem Wirtsystem Ubuntu, sollte ein Ordner als Laufwerk C: gemountet werden. Am Besten wird dazu im Konfigurationsverzeichnis unter Ubuntu ein Ordner ~/.dosbox/drive_c erstellt:

mkdir ~/.dosbox/drive_c 

Dieses Verzeichnis sollte nun als Autostart beim Starten von DosBox jeweils ausgeführt werden. Dazu wird der mount-Befehl in die Konfigurationsdatei ~/.dosbox/dosbox-VERSION.conf in den Abschnitt [autoexec] (am Ende der Datei) eingefügt:

[autoexec]
# Lines in this section will be run at startup.
mount c ~/.dosbox/drive_c
c:

Nun wird bei jedem Programmstart der Ordner als Laufwerk C: eingehängt und dort können nun Programme installiert werden.

Midi

Um die Midi-Emulation des Systemdienstes Timidity zu nutzen, trägt man im Abschnitt Midi der Konfigurationsdatei die Werte

mpu401=intelligent
mididevice=alsa    # bis Version 0.73 noch "device" statt "mididevice"
midiconfig=128:2   # bis Version 0.73 noch "config" statt "midiconfig"

ein.

DOSBox starten

Das Programm wird entweder über das Menü "Anwendungen" gestartet oder über das Terminal [4] mit dem Befehl:

dosbox 

Bedienung

Befehle

DOSBox startet in den Standardeinstellungen auf Laufwerk Z:, welches DOSBox sozusagen als internes Basislaufwerk dient und auf dem sämtliche in DOSBox selber verfügbaren Befehle ausgeführt werden können. Um ein Spiel zu starten, einfach in das Verzeichnis des Spiels wechseln und die jeweilige *.exe, *.com oder *.bat Datei ausführen, indem der vollständige Dateiname angegeben wird.

Mit diesen Basisbefehlen kann das Programm bedient werden:

Befehle
BefehlBeschreibung
mount [Festplatte] [Verzeichnis]Um auf eine Festplatte zuzugreifen, muss man einmal das jeweilige Laufwerk einbinden.
MOUNT A ~/.dosbox/DRIVE_A -T floppyBindet im Homeverzeichnis ~/.dosbox/DRIVE_A als Diskettenlaufwerk A: ein.
mount c ~/.dosbox/DRIVE_CBindet im Homeverzeichnis ~/.dosbox/DRIVE_C als Laufwerk C: ein. S. dazu auch oben, "Laufwerk C: einbinden" per Autostart.
mount d /media/ -t cdromDas erste CD-ROM Laufwerk als Laufwerk D: einbinden. Der Punkt /media/ muss dabei ggf. angepasst werden.
mount d ~/.dosbox/dosbox_cdrom -t cdromVerzeichnis als CD-ROM Laufwerk einbinden. ~/.dosbox/dosbox_cdrom muss dabei angepasst werden.
imgmount D ~/[Pfad]/image.iso -t isoCD-ROM Abbild einbinden (Pfad und Dateiname muss angepasst werden), weitere Parameter {en}
cd ORDNERWechselt in das Verzeichnis ORDNER.
dirZeigt die Dateien und Ordner im gegenwärtigen Verzeichnis an.
d:Wechselt auf das Laufwerk D - sofern es eingebunden wurde.
cd ..Wechselt in das nächsthöhere Verzeichnis.
helpUm sich in DOSBox zurecht zu finden, braucht man die "alten" DOS-Befehle. Eine Übersicht erhält man mit diesem Befehl.

Um Befehle nicht bei jedem Start erneut eintippen zu müssen, kann man sie auch in die Konfigurationsdatei unter der Rubrik [autoexec] eintragen [3]. Eine Beispieldatei kann so aussehen:

dosbox.conf

Mit Raute (#) markierte Zeilen sind auskommentiert. Je nach verwendeter Version von DOSBox unterscheidet sich die zu verwendende Syntax minimal.

Ubuntu 10.04

# This is the configurationfile for DOSBox 0.73.
# Lines starting with a # are commentlines.
# They are used to (briefly) document the effect of each option.
...
[dos]
keyboardlayout=gr
...
[autoexec]
mount c ~/.dosbox/drive-c
c:
mount d /media/ -t cdrom
d:

Ab Ubuntu 11.04

In diesem Beispiel wird davon ausgegangen, dass die Ordner ~/.dosbox/Drive_C (Festplatte) und ~/.dosbox/Drive_D (CD-Laufwerk) im Homeverzeichnis angelegt worden sind.

# This is the configurationfile for DOSBox 0.74. (Please use the latest version of DOSBox)
# Lines starting with a # are commentlines and are ignored by DOSBox.
# They are used to (briefly) document the effect of each option.

[sdl]
#       fullscreen: Start dosbox directly in fullscreen. (Press ALT-Enter to go back)
#       fulldouble: Use double buffering in fullscreen. It can reduce screen flickering, but it can also result in a slow DOSBox.
#   fullresolution: What resolution to use for fullscreen: original or fixed size (e.g. 1024x768).
#                     Using your monitor's native resolution with aspect=true might give the best results.
#                     If you end up with small window on a large screen, try an output different from surface.
# windowresolution: Scale the window to this size IF the output device supports hardware scaling.
#                     (output=surface does not!)
#           output: What video system to use for output.
#                   Possible values: surface, overlay, opengl, openglnb, ddraw.
#         autolock: Mouse will automatically lock, if you click on the screen. (Press CTRL-F10 to unlock)
#      sensitivity: Mouse sensitivity.
#      waitonerror: Wait before closing the console if dosbox has an error.
#         priority: Priority levels for dosbox. Second entry behind the comma is for when dosbox is not focused/minimized.
#                     pause is only valid for the second entry.
#                   Possible values: lowest, lower, normal, higher, highest, pause.
#       mapperfile: File used to load/save the key/event mappings from. Resetmapper only works with the defaul value.
#     usescancodes: Avoid usage of symkeys, might not work on all operating systems.

fullscreen=false
fulldouble=false
fullresolution=original
windowresolution=original
output=surface
autolock=true
sensitivity=100
waitonerror=true
priority=higher,normal
mapperfile=mapper-0.74.map
usescancodes=true

[dosbox]
# language: Select another language file.
#  machine: The type of machine tries to emulate.
#           Possible values: hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe.
# captures: Directory where things like wave, midi, screenshot get captured.
#  memsize: Amount of memory DOSBox has in megabytes.
#             This value is best left at its default to avoid problems with some games,
#             though few games might require a higher value.
#             There is generally no speed advantage when raising this value.

language=german-0.74.lang
machine=svga_s3
captures=capture
memsize=16

[render]
# frameskip: How many frames DOSBox skips before drawing one.
#    aspect: Do aspect correction, if your output method doesn't support scaling this can slow things down!.
#    scaler: Scaler used to enlarge/enhance low resolution modes.
#              If 'forced' is appended, then the scaler will be used even if the result might not be desired.
#            Possible values: none, normal2x, normal3x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x.

frameskip=0
aspect=false
scaler=normal2x

[cpu]
#      core: CPU Core used in emulation. auto will switch to dynamic if available and appropriate.
#            Possible values: auto, dynamic, normal, simple.
#   cputype: CPU Type used in emulation. auto is the fastest choice.
#            Possible values: auto, 386, 386_slow, 486_slow, pentium_slow, 386_prefetch.
#    cycles: Amount of instructions DOSBox tries to emulate each millisecond.
#            Setting this value too high results in sound dropouts and lags.
#            Cycles can be set in 3 ways:
#              'auto'          tries to guess what a game needs.
#                              It usually works, but can fail for certain games.
#              'fixed #number' will set a fixed amount of cycles. This is what you usually need if 'auto' fails.
#                              (Example: fixed 4000).
#              'max'           will allocate as much cycles as your computer is able to handle.
#            
#            Possible values: auto, fixed, max.
#   cycleup: Amount of cycles to decrease/increase with keycombo.(CTRL-F11/CTRL-F12)
# cycledown: Setting it lower than 100 will be a percentage.

core=auto
cputype=auto
cycles=auto
cycleup=10
cycledown=20

[mixer]
#   nosound: Enable silent mode, sound is still emulated though.
#      rate: Mixer sample rate, setting any device's rate higher than this will probably lower their sound quality.
#            Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
# blocksize: Mixer block size, larger blocks might help sound stuttering but sound will also be more lagged.
#            Possible values: 1024, 2048, 4096, 8192, 512, 256.
# prebuffer: How many milliseconds of data to keep on top of the blocksize.

nosound=false
rate=44100
blocksize=1024
prebuffer=20

[midi]
#     mpu401: Type of MPU-401 to emulate.
#             Possible values: intelligent, uart, none.
# mididevice: Device that will receive the MIDI data from MPU-401.
#             Possible values: default, win32, alsa, oss, coreaudio, coremidi, none.
# midiconfig: Special configuration options for the device driver. This is usually the id of the device you want to use.
#               See the README/Manual for more details.

mpu401=intelligent
device=alsa
config=128:2

[sblaster]
#  sbtype: Type of Soundblaster to emulate. gb is Gameblaster.
#          Possible values: sb1, sb2, sbpro1, sbpro2, sb16, gb, none.
#  sbbase: The IO address of the soundblaster.
#          Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300.
#     irq: The IRQ number of the soundblaster.
#          Possible values: 7, 5, 3, 9, 10, 11, 12.
#     dma: The DMA number of the soundblaster.
#          Possible values: 1, 5, 0, 3, 6, 7.
#    hdma: The High DMA number of the soundblaster.
#          Possible values: 1, 5, 0, 3, 6, 7.
# sbmixer: Allow the soundblaster mixer to modify the DOSBox mixer.
# oplmode: Type of OPL emulation. On 'auto' the mode is determined by sblaster type. All OPL modes are Adlib-compatible, except for 'cms'.
#          Possible values: auto, cms, opl2, dualopl2, opl3, none.
#  oplemu: Provider for the OPL emulation. compat might provide better quality (see oplrate as well).
#          Possible values: default, compat, fast.
# oplrate: Sample rate of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly).
#          Possible values: 44100, 49716, 48000, 32000, 22050, 16000, 11025, 8000.

sbtype=sb16
sbbase=220
irq=7
dma=1
hdma=5
sbmixer=true
oplmode=auto
oplemu=default
oplrate=44100

[gus]
#      gus: Enable the Gravis Ultrasound emulation.
#  gusrate: Sample rate of Ultrasound emulation.
#           Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
#  gusbase: The IO base address of the Gravis Ultrasound.
#           Possible values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300.
#   gusirq: The IRQ number of the Gravis Ultrasound.
#           Possible values: 5, 3, 7, 9, 10, 11, 12.
#   gusdma: The DMA channel of the Gravis Ultrasound.
#           Possible values: 3, 0, 1, 5, 6, 7.
# ultradir: Path to Ultrasound directory. In this directory
#           there should be a MIDI directory that contains
#           the patch files for GUS playback. Patch sets used
#           with Timidity should work fine.

gus=false
gusrate=44100
gusbase=240
gusirq=5
gusdma=3
ultradir=C:\ULTRASND

[speaker]
# pcspeaker: Enable PC-Speaker emulation.
#    pcrate: Sample rate of the PC-Speaker sound generation.
#            Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
#     tandy: Enable Tandy Sound System emulation. For 'auto', emulation is present only if machine is set to 'tandy'.
#            Possible values: auto, on, off.
# tandyrate: Sample rate of the Tandy 3-Voice generation.
#            Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
#    disney: Enable Disney Sound Source emulation. (Covox Voice Master and Speech Thing compatible).

pcspeaker=true
pcrate=44100
tandy=auto
tandyrate=44100
disney=true

[joystick]
# joysticktype: Type of joystick to emulate: auto (default), none,
#               2axis (supports two joysticks),
#               4axis (supports one joystick, first joystick used),
#               4axis_2 (supports one joystick, second joystick used),
#               fcs (Thrustmaster), ch (CH Flightstick).
#               none disables joystick emulation.
#               auto chooses emulation depending on real joystick(s).
#               (Remember to reset dosbox's mapperfile if you saved it earlier)
#               Possible values: auto, 2axis, 4axis, 4axis_2, fcs, ch, none.
#        timed: enable timed intervals for axis. Experiment with this option, if your joystick drifts (away).
#     autofire: continuously fires as long as you keep the button pressed.
#       swap34: swap the 3rd and the 4th axis. can be useful for certain joysticks.
#   buttonwrap: enable button wrapping at the number of emulated buttons.

joysticktype=auto
timed=true
autofire=false
swap34=false
buttonwrap=false

[serial]
# serial1: set type of device connected to com port.
#          Can be disabled, dummy, modem, nullmodem, directserial.
#          Additional parameters must be in the same line in the form of
#          parameter:value. Parameter for all types is irq (optional).
#          for directserial: realport (required), rxdelay (optional).
#                           (realport:COM1 realport:ttyS0).
#          for modem: listenport (optional).
#          for nullmodem: server, rxdelay, txdelay, telnet, usedtr,
#                         transparent, port, inhsocket (all optional).
#          Example: serial1=modem listenport:5000
#          Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial2: see serial1
#          Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial3: see serial1
#          Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial4: see serial1
#          Possible values: dummy, disabled, modem, nullmodem, directserial.

serial1=dummy
serial2=dummy
serial3=disabled
serial4=disabled

[dos]
#            xms: Enable XMS support.
#            ems: Enable EMS support.
#            umb: Enable UMB support.
# keyboardlayout: Language code of the keyboard layout (or none).

xms=true
ems=true
umb=true
keyboardlayout=gr

[ipx]
# ipx: Enable ipx over UDP/IP emulation.

ipx=false

[autoexec]
mount c ~/.dosbox/drive-c
c:
mount d /media/ -t cdrom
d:

IPX-Netzwerk

DOSBox unterstützt auch das IPX-Protokoll. Nachdem das Feature in der dosbox.conf aktiviert wurde, lässt sich mit folgenden Befehlen ein Netzwerk einrichten und verwalten:

IPX
BefehlFunktion
ipxnet startserver [Port]Startet einen IPX-Server auf dem angegebenen Port.
ipxnet stopserverBeendet einen Server.
ipxnet connect [IP-Adresse] [Port]Verbindet mit einem Server.
ipxnet disconnectTrennt die Verbindung mit einem Server.

Aufnahme

Screenshots (als *.png), Soundaufnahmen (als *.wav), Raw-MIDI-Daten und Videoclip werden im Unterverzeichnis ~/.dosbox/capture gespeichert. Das Verzeichnis muss im Vorfeld angelegt werden. Unter Tastenkürzel sind die entsprechenden Tastenkombinationen hinterlegt.

Tipps

Cursor

In der Datei dosbox.conf autolock=true auf autolock=false einstellen, damit DOSBox den Cursor ohne Tastenkombination freigibt.

GUI

./GameLauncher.png
DOSBOX Game Laucher

DOSBOX Game Laucher

Ein alternatives Frontend für DOSBox stellt der in Java geschriebene DOSBOX Game Laucher (DBGL) dar. Man kann auf der Projektseite {en} eine entsprechende Linux Variante (32-/64-Bit) herunterladen. Im Anschluss entpackt [2] man dies in einen beliebigen Ordner, verschiebt diesen [4] [8] und legt eine symbolische Verknüpfung an:

sudo mv dbglVERSIONSNUMMER /opt/dbgl
sudo ln -s /opt/dbgl/dbgl /usr/local/bin/dbgl 

Anschließend startet man das Programm [9] mit dem Befehl dbgl.

Einrichtung

Unter "File -> Adjust settings" im Reiter "General" die Sprache auf Deutsch umstellen. Nach einem Neustart steht die Auswahl zur Verfügung.

Im DBGL können für jedes auszuführende DOS Programm Profile angelegt werden. Vorlagen für die meisten DOS Spiele können komfortable über "Hinzufügen" hinzugefügt werden, d.h. man gibt vorher den Suchbegriff im Title Feld ein und drückt auf dem daneben liegenden "Abfrage bei MobyGames" Knopf, darauf erscheint ein kleiner Dialog wo man einen der Suchtreffer ins Profil laden kann. Anschließend im Reiter "Mounting" unter dem Punkt "Starten" den Pfad zur Startdatei hinterlegen. Hat man dies geschafft, kann man das Profil nun aufrufen.

Laufwerk C

Um ein permanentes Laufwerk C zu erhalten unter ~/.dosbox/ einen neuen Ordner DRIVE_C anlegen und diesen in dosbox.conf hinterlegen [3]. Alle unter C: installierten Programme sind nun unter c: bzw. ~/.dosbox/DRIVE_C zu finden. Dies funktioniert auch mit anderen Laufwerksangaben.

Hinweis:

DOSBox unterstützt die .iso- und .cue- und .bin-Imageformate. Somit können Images eingebunden {en} werden.

Nautilus-Verknüpfung

Verknüpfungen zu *.exe, *.com oder *.bat Dateien können angelegt werden. Als benutzerdefinierten Befehl verwendet man dosbox. Nun können diese Dateien über Nautilus gestartet werden.

Pfeiltasten

Wenn die Pfeiltasten nicht funktionieren, hilft eventuell die Einstellung usescancodes=false im Abschnitt [SDL] der Datei dosbox.conf. In diesem Fall muss das Tastaturlayout auf none gestellt werden, da DOSBox das Tastaturlayout des X-Servers verwendet.

Stotternder Sound

Um das Soundproblem zu lösen mit einem Editor [3] die Datei dosbox.conf abändern:

rate=44100
prebuffer=50

Tastenkürzel

DOSBox
Taste(n)Funktion
Tab ⇆ Autovervollständigung von Befehlen.
Alt + F7 Frameskip tiefer stellen.
Alt + F8 Frameskip höher stellen.
Alt + Vollbildmodus an/aus
Fn + Alt + Vollbildmodus an/aus (Laptoptastatur)
Alt + Pause Emulation unterbrechen
Strg + F1 Keymapper starten
Strg + F4 Disketten-Image wechseln; Verzeichnisstruktur neu lesen
Strg + F5 Screenshot als .png-Datei abspeichern
Strg + Alt + F5 Bildschirmausgabe und Sound als Videoclip speichern an/aus
Strg + F6 Soundausgabe in .wav-Datei schreiben an/aus
Strg + Alt + F7 OPL-Daten aufzeichnen an/aus
Strg + Alt + F8 Raw-MIDI-Daten aufzeichnen an/aus
Strg + F7 Frames überspringen -1
Strg + F8 Frames überspringen +1
Strg + F9 DOSBox schließen
Strg + F10 Maus erfassen/freigeben
Strg + F11 Emulation verlangsamen (DOSBox-Cycles verringern)
Strg + F12 Emulation beschleunigen (DOSBox-Cycles erhöhen)
Alt + F12 Drosselung aufheben (Turbo-Knopf)

DOSBoxsm.jpeg

ubuntuusers.local › WikiDOSBox