DOSBox

DOSBox

DOSBox Logo
Screenshot
DOSBox 0.73
Basisdaten

Erscheinungsjahr 31. Januar 2002
Aktuelle Version 0.74-3[1]
(26. Juni 2019)
Betriebssystem Microsoft Windows, macOS, Linux, OS/2, FreeBSD, RISC OS, Solaris, KolibriOS, Plattformunabhängig
Programmier­sprache C++[2], C[2]
Kategorie Emulator
Lizenz GNU General Public License, Version 2.0 oder später[3]
deutschsprachig ja
www.dosbox.com

DOSBox ist ein freier Emulator für die SpieleplattformMS-DOS“ bzw. „DOS-PC“. Technisch ist DOSBox daher ein x86-Emulator, der PC-kompatibles DOS und die in dessen Ära gebräuchliche Hardware nachbildet. Ziel ist das Ausführen älterer, DOS-basierter Computerspiele, die auf modernen Computersystemen nicht mehr nativ laufen bzw. nicht mehr damit kompatibel sind. Auch zahlreiche weitere DOS-basierte Software, etwa Anwendungsprogramme, funktioniert mit DOSBox. Sog. „PC Booter“ werden ebenfalls unterstützt.[4]

Funktionen

Im Gegensatz zur mitgelieferten Virtual DOS Machine bei Windows-Betriebssystemen oder zu Emulatoren wie DOSEMU unter Linux emuliert DOSBox nicht nur die Hardware-Umgebung eines IBM-PC-kompatiblen Computers, sondern auch den Prozessor und das Betriebssystem DOS. Das erlaubt eine bessere Kontrolle über den Ablauf des emulierten Programms. Als Emulator ist die Software außerdem in der Lage, auch auf Computern mit unterschiedlicher Prozessorarchitektur sowie auf inkompatiblen PCs eine weitgehend zu MS-DOS/​PC DOS kompatible Umgebung zu schaffen. Zwar kann ein echtes DOS-Betriebssystem (wie z. B. MS-DOS, PC DOS oder DR-DOS) innerhalb von DOSBox ausgeführt werden, notwendig ist das jedoch selten.

Auch Erweiterungsspeicher (EMS) und besondere EXE-Ladeprogramme (etwa bei dem Spiel Jazz Jackrabbit) werden ab Version 0.61 unterstützt. Zudem ist DOSBox portabel oder mobil, das heißt, es ist keine Installation in das bestehende Betriebssystem nötig, da DOSBox lediglich über eine einfache Textdatei konfiguriert wird.

Die DOSBox-Entwickler haben hauptsächlich das Emulieren einer Plattform für ältere Computerspiele im Sinn, die unter Win32-Betriebssystemen entweder gar nicht oder nur fehlerhaft ausgeführt werden können. DOSBox ermöglicht aufgrund der vollständigen Emulation eines x86-Prozessors das Ausführen von DOS-Anwendungen auch unter den 64-Bit-Versionen von Windows, die selbst keine Unterstützung für 16-Bit-Software mehr anbieten. So können auch 16-Bit-Windows-Anwendungen ausgeführt werden, wenn Windows 3.x innerhalb von DOSBox installiert wurde.

Da DOSBox Simple DirectMedia Layer (SDL) verwendet, ist es vergleichsweise einfach, es auf andere Betriebssysteme oder Rechnerarchitekturen zu portieren.

Einschränkungen

Geschwindigkeit

DOSBox benötigt eine hohe Rechenleistung, um das emulierte System in der originalen Geschwindigkeit nachzubilden. Abhängig von der eingesetzten Software sind leistungsstärkere Prozessoren als Pentium oder 80486 erforderlich, um ursprünglich für die Intel-80486- oder Intel-Pentium-Familie geschriebene Programme flüssig ablaufen zu lassen.

Für die x86-Architektur (spezifisch für 32-Bit-x86 „IA-32“ bzw. „i386“ und für 64-Bit-x86 „x64“ bzw. „x86-64“ oder „amd64“) sowie für die Arm-Architektur existiert ein dynamischer Übersetzer (englisch Dynamic Recompilation) oder auch JIT-Compiler, wodurch der emulierte CPU-Kern von DOSBox den Programmcode direkt vom Prozessor des Hosts ausführen lässt, statt die einzelnen Befehle in Software nachzubilden. Dadurch wird auf diesen Prozessorarchitekturen die Ausführungsgeschwindigkeit innerhalb der emulierten DOS-Umgebung erhöht.

Eine weitere Möglichkeit zur teilweise drastischen Beschleunigung von Protected-Mode-Software ist das Ersetzen des häufig verwendeten DOS/4GW Protected Mode Memory Extenders durch das kompaktere und schnellere Open-Source-Derivat DOS/32A.

Parallele Schnittstelle

In der offiziellen Version von DOSBox fehlt eine Unterstützung der parallelen Schnittstelle, die von den meisten älteren Druckern und auch manchen Steuergeräten in der produzierenden Industrie verwendet wird. Mittlerweile existiert eine inoffizielle DOSBox-Version, die die Unterstützung der parallelen Schnittstelle beinhaltet.[5]

Zeichensatz

Die Zeichensätze von eingehängten Partitionen auf Dateisystem-Ebene werden durch den Emulator nicht in den DOS-Zeichensatz[6] übersetzt (siehe auch FAT – ohne Unicode-Unterstützung). Das führt dazu, dass Dateien und Ordner (z. B. mit deutschen Umlauten im Namen, die auf NTFS-Partitionen gespeichert sind) im Emulator nicht immer korrekt dargestellt werden und somit derartige Dateien (wie z. B. Bibliotheken) auch nicht von den in DOSBox ausgeführten Programmen verwendet werden können.

Emulierte Systemeigenschaften und -Funktionen

Benutzeroberflächen für DOSBox

DOSBox bietet für die Konfiguration keinerlei grafische Benutzeroberfläche, sondern lediglich eine vom Benutzer zu bearbeitende Textdatei. Obwohl diese mit Hinweisen zur Konfiguration versehen ist, sind weniger versierte Anwender damit oftmals überfordert. Einige Programmierer haben hier Abhilfe geschaffen, indem sie eine grafische Oberfläche (Frontend) als externes Programm nachgeliefert haben.

Auch für erfahrene Benutzer können solche Frontends interessant sein, weil damit einige Arbeitsschritte unnötig werden. Ein Beispiel dafür ist das Erstellen von individuellen Konfigurationen für verschiedene Spiele.

Inzwischen ist die Mehrzahl der Frontends für die meisten Betriebssysteme erhältlich. Sie werden auch direkt auf der offiziellen Website von DOSBox beworben.

Entwicklerversionen und Erweiterungen

DOSBox wird von den Entwicklern in englischer Sprache (als Voreinstellung) ausgeliefert. Neben Deutsch sind noch weitere Sprachen verfügbar, welche als Sprachmodule von der DOSBox-Webseite (zu finden unter „Translations“) heruntergeladen werden können.[7]

Neben der offiziellen Version von DOSBox gibt es noch zahlreiche Erweiterungen (in Form von Quelltext-Patches), die fehlende Systemfunktionen als Emulation nachrüsten oder bestehende verbessern. Auch finden sich zahlreiche Portierungen auf nicht vom offiziellen DOSBox-Entwicklerteam unterstützte Betriebssysteme und Plattformen.

Diese Erweiterungen beziehen sich in den meisten Fällen auf eine Entwicklerversion (SVN-Version) des Projekts und sind damit auf dem aktuellen Stand der Weiterentwicklung durch die DOSBox-Entwickler. Es gibt jedoch auch verbesserte Versionen, deren Entwicklung vom betreffenden Autor eingestellt wurde und die damit nicht mehr aktuell sind. Auch ist es nicht immer eindeutig, welche Qualität die zusätzlichen Programmteile aufweisen und ganz allgemein, ob sie aus einer vertrauenswürdigen Quelle stammen.[8]

Einige Beispiele für Erweiterungen sind:

Mit diversen zusätzlichen Emulationen wird DOSBox zu einer annähernd vollwertigen virtuellen Maschine für DOS-basierte Betriebssysteme – beispielsweise ist es mittels spezieller Erweiterungen sogar möglich, Windows 95 innerhalb von DOSBox auszuführen. Da jedoch eine vollständige Emulation niemals die Intention der DOSBox-Entwickler war, werden diese Erweiterungen vermutlich nie in den offiziellen Entwicklerzweig aufgenommen werden.

Palm OS

Am 23. September 2006 schrieb die englische Palm-Infoseite TamsPalm über die Alpha-Version eines neuen x86-Emulators für Palm OS.[10] Entwickelt wurde sie vom Emuboards.com-Forenmitglied voda, der bereits andere Emulatoren auf die Palm-OS-Plattform portiert hatte. Unter anderem wurden QBasic, Microsoft Word 5.5 und DOS Shell erfolgreich getestet. Während die Maus über den Touchscreen des PDAs gesteuert werden konnte, gab es keine Möglichkeit zur Texteingabe. Somit konnte man mit dieser Version die erste direkte x86-Emulation unter Palm OS präsentieren; eine produktive Nutzung war jedoch kaum möglich.

Anfang 2008 stellte der deutsche Softwareentwickler Henk Jonas eine erweiterte Version der PalmDosBox vor.[11] Wichtigste Neuerung war, dass nun die eingebaute Tastatur von Treo-Telefonen zur Eingabe genutzt werden konnte; für andere Geräte stand eine Bildschirmtastatur zur Verfügung. Auch diese aktuelle Version kann nicht als stabil angesehen werden, da sie auf manchen Geräten nur sporadisch funktioniert.

Eine weitere Besonderheit bei der Emulation auf Palm-OS-Geräten besteht darin, dass neuere Modelle nur sehr wenig dynamischen Speicher haben und die Emulatoren oft nicht ausgeführt werden können. Programme wie UDMH (Unlimited Dynamic Memory Hack) oder das Open-Source-Tool MMH (More Heap Hack) geben auf Kosten des restlichen Datenspeichers mehr dynamischen Speicher frei und ermöglichen so das Ausführen speicherintensiver Anwendungen.

Wine

Die Entwickler der Windows-kompatiblen Laufzeitumgebung Wine begannen bei Version 1.3.12 mit der Integration von DOSBox in Wine.[12][13]

DOSBox-X

DOSBox-X ist eine Abspaltung, die besonderen Wert auf eine möglichst akkurate Emulation von Hardware legt. Hierbei wird angestrebt, sämtliche Hardware-Konstellationen der DOS-Ära abzudecken, um damit u. a. eine Testplattform für Programmierer zu bieten. Ferner ist geplant, DOSBox-X als Grundlage für die Windowsversionen 3.x, 95, 98 und ME nutzen zu können, wobei auch Beschleunigungsmechanismen implementiert werden sollen.[14]

Verwendung

Um DOS-basierte Software wie Spiele unter neueren Betriebssystemen lauffähig zu machen, wird DOSBox von Digitaldistributoren mit der Software mitgebündelt. So werden beispielsweise bei Steam[15][16] und GOG.com[17][18] ältere Spiele mittels DOSBox ausgeführt, wobei jedoch nicht immer die neueste Version des Emulators beiliegt.[18]

Seit dem 23. Dezember 2014 verwendet das Internet Archive eine Emscripten-konvertierte DOSBox-Version für Browser-basierte Präsentation von Tausenden archivierter DOS-Computerspiele,[19][20][21] ausschließlich für „Schul- und Forschungszwecke“.[22]

Siehe auch

Commons: DOSBox – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

  1. DOSBox 0.74-3 has been released! 26. Juni 2019.
  2. a b In: Open Hub.
  3. sourceforge.net. In: SourceForge. (abgerufen am 27. Dezember 2016).
  4. BOOT. In: Wiki page of the DOSBox project. 30. September 2010, abgerufen am 25. August 2023 (englisch): „BOOT will start floppy images … independent of the operating system emulation offered by DOSBox. This will allow you to play booter floppies … inside DOSBox.“
  5. DOSBox SVN Daum, abgerufen am 6. September 2018.
  6. Zeichensätze: Synopse von DOS und ANSI mit ASCII-Teil (Memento vom 5. Dezember 2009 im Internet Archive) – Übersicht von Olaf Nensel, vom 25. Juli 2005
  7. Downloads (englisch) – Seite bei DOSBox.com
  8. DOSBox CVS Builds (englisch) – offizieller Forenbeitrag bei Vogons, vom 4. Juli 2005
  9. SW Emulation des Voodoo Graphics Chipsatzes, welche auch Voodoo-Unterstützung für Spiele ermöglicht, die direkt ohne Glide-Bibliothek auf die Hardware zugreifen
  10. A true x86 emulator for Palm - first facts and pics (Memento vom 25. Juli 2008 im Internet Archive) (englisch)
  11. PalmDosBox – the resurrection (englisch)
  12. Änderungshistorie zur Wine Entwicklerversion 1.3.12
  13. Pro-Linux: Wine 1.3.12 startet DOSbox-Integration
  14. Website von DOSBox-X (englisch)
  15. id sorts GPL Steam issue. Eurogamer, 7. August 2007, abgerufen am 15. Februar 2024 (britisches Englisch).
  16. Statement von id Software (Memento vom 29. Juni 2011 im Internet Archive). Abgerufen am 6. September 2011
  17. We would like to thank … (Memento vom 16. November 2012 im Internet Archive)
  18. a b DOSBox-Wiki: GOG games that use DOSBox. Permalink vom 3. Juli 2011
  19. Abby Ohlheiser: You can now play nearly 2,400 MS-DOS video games in your browser. The Washington Post, 5. Januar 2015, abgerufen am 15. Februar 2024 (amerikanisches Englisch).
  20. Each New Boot a Miracle by Jason Scott (23. Dezember 2014)
  21. collection:softwarelibrary_msdos in the Internet Archive (29. Dezember 2014)
  22. Internet Archive's Terms of Use, Privacy Policy, and Copyright Policy. Internet Archive, 31. Dezember 2014, abgerufen am 15. Februar 2024 (amerikanisches Englisch): „Access to the Archive’s Collections is provided at no cost to you and is granted for scholarship and research purposes only.