AA_industry_asifthebes_sxc_1109013.jpg

© asifthebes, sxc.hu

Technik-Dinosaurier

Reanimation alter Programme mit Dosbox

05.11.2009 Alte Anwendungen und Spiele erleben ein Revival in der Dosbox. Die Software emuliert einen kompletten PC samt Uralt-Betriebssystem.

Waren das Zeiten! Guybrush Threepwood (Abbildung 1) schipperte nach "Monkey Island", in "Need for Speed" qualmten pixelige Reifen und Lara Croft hüpfte mit eckigem Gesicht durch die ersten Abenteuer (Abbildung 2). In vielen älteren PC-Benutzern weckt der Name MS-DOS nostalgische Erinnerungen. Mit Dosbox installieren Sie sich die Grundlage für ein Revival unter Linux auf dem PC.

Abbildung 1: Schlagen Sie sich mit Guybrush Threepwood in der Originalversion von Monkey Island durch die Abenteuer – Dosbox macht es unter Linux möglich.

Abbildung 2: Im ersten Tomb Raider unter DOS wirkte Lara Croft noch ziemlich eckig.

Das Betriebssystem DOS aus dem Hause Microsoft war der Vorläufer von Windows und lag diesem sogar noch bis zum Jahr 2000 in Windows Me bei. Da verwundert es wenig, dass sich auch heutzutage noch hin und wieder alte MS-DOS-Programme öffnen – sei es, um ein Dokument mit einer längst eingestampften Textverarbeitung zu lesen, die Kundendaten aus einer alten dBase-Datenbank zu retten oder, von der aktuell grassierenden Retro-Welle gepackt, mit einem Spieleklassiker durchzustarten.

Auf moderner Hardware sind dazu einige Klimmzüge notwendig: Zunächst gilt es, eine Kopie von MS-DOS oder einem der vielen Klone wie etwa dem kostenlosen FreeDOS [2] zu besorgen, diese in einem Emulator wie Virtualbox zu starten, es einzurichten und sich in die kryptische Befehlswelt des Betriebssystems einzuarbeiten. Gerade letzteres fällt jedoch oft nicht leicht: MS-DOS verwaltet von sich aus maximal 640 KByte Hauptspeicher – wenig Platz für diverse Treiber wie etwa für Maus und CD-ROM-Laufwerk.

Bei Dateinamen wie himem.sys, oder Begriffen wie EMS rollen sich Kennern noch heute die Fußnägel auf. Obendrein möchte fast jedes MS-DOS-Programm seine ganz eigene Konfiguration haben, was meist zu einem Stapel spezialisierter Startdisketten führte. Seinerzeit boten manche Programme und Spiele sogar ganz ungeniert an, eine geeignete Bootdiskette zu erstellen.

Künstliche Welt

Bevor Ihnen jedoch wegen der Arbeit für eine schnelle Runde "Need for Speed" (Abbildung 3) graue Haare wachsen, greifen Sie besser zu Dosbox. Das kleine Linux-Programm emuliert nicht nur einen alten Computer, wie er Anfang der Neunziger Jahre aktuell war, sondern dazu gleich noch das Betriebssystem. Diesem spendierten die Entwickler ein paar äußerst interessante Komfortfunktionen. So starten die meisten DOS-Programme oder Spiele ohne großes Gefummel an irgendwelchen Konfigurationsdateien, häufig benötigen Sie nicht mal Kenntnisse über die kryptischen DOS-Befehle.

Abbildung 3: Das erste "Need for Speed" galt damals als grafisches Meisterwerk, die Auflösung von 640 mal 480 Bildpunkten als extrem hoch.

Dosbox liegt in den Repositories fast jeder großen Distribution. Um es zu installieren, reicht folglich ein Griff zum Paketmanager. Achten Sie jedoch unbedingt darauf, die neueste Version 0.73 zu einzuspielen. Sie behebt unter anderem einige Fehler und bringt neue Funktionen. Sofern die eigene Distribution nur ältere Fassungen bereit hält, übersetzen Sie den Quellcode gemäß der Anleitung aus dem Kasten "Auf dem aktuellen Stand".

Auf dem aktuellen Stand

Zu Redaktionsschluss bot die Dosbox-Homepage nur ein aktuelles Binärpaket für Gentoo sowie ein veraltetes für Fedora. Vermissen Sie also die aktuelle Dosbox-Version in der Distribution Ihrer Wahl, bleibt folglich nur der Griff zum Quellpaket. Anschließend installieren Sie über den Paketmanager die Bibliotheken SDL (libsdl), SDL_Sound und SDL_Net, sowie alle zugehörigen Entwicklerpakete (sie tragen meist ein -dev oder -devel im Namen).

Hinzu kommen noch das Programm G++. Im Terminalfenster wechseln Sie in den Ordner mit den entpackten Dateien und setzen dort den Befehl ./configure && make ab. Im Unterverzeichnis src/ liegt nach dem Kompilieren das fertige Binary dosbox. Sie benötigen ausschließlich diese Datei für die Installation. Kopieren Sie sie einfach in ein Verzeichnis, das sich in der Variable $PATH befindet.

Neben Dosbox benötigen Sie ein Programm oder Spiel. Im einfachsten Fall kopieren Sie dessen Daten in ein Verzeichnis unter Linux. Der Befehl dosbox /Pfad /Programm .exe -exit startet in einem Terminal die entsprechende Anwendung. Das angehängte -exit sorgt dafür, dass sich Dosbox beendet, sobald Sie das Programm verlassen. Innerhalb des DOS-Programms steht der Ordner pfad als Laufwerk C: bereit – oder anders formuliert: Alles, was Sie im Laufwerk C: innerhalb der Dosbox speichern, landet unter Linux im Verzeichnis pfad .

Benötigt ein DOS-Programm die Maus, klicken Sie einfach in das Fenster. Die Dosbox greift sich daraufhin den Zeiger. Um ihn unter Linux zurück zu erhalten, verwenden Sie die Tastenkombination [Strg]+[F10].

TIPP

[Strg]+[F9] beendet die Dosbox umgehend; [Alt]+[Pause] unterbricht die Emulation.

Dolmetscher

Standardmäßig verwendet Dosbox eine englische Tastaturbelegung. Das hat unter anderem zur Folge, dass [Z] und [Y] vertauscht sind. Um die deutsche Belegung zu aktivieren, muss man in die Dosbox-Konfigurationsdatei dosbox-0-73.conf eingreifen. Der Emulator hat sie bei seinem ersten Start im (versteckten) Unterverzeichnis ~/.dosbox erstellt. Mit einem Texteditor geöffnet, suchen Sie die Zeile keyboardlayout=auto und ersetzen sie mit keyboardlayout=gr. Obwohl nach einem Neustart der Dosbox nun die Umlaute funktionieren, sollte Sie sie tunlichst in Dateinamen vermeiden. Diese dürfen unter MS-DOS zudem nur maximal acht Zeichen und eine Endung aus drei Zeichen enthalten.

Da Dosbox einen kompletten Computer nachbildet, verbraucht der Emulator entsprechend viel Rechenleistung – wieviel genau, hängt vom verwendeten Programm beziehungsweise Spiel ab. Auf einem Core 2 Duo rennt die Software bei einfachen DOS-Programmen mit der Geschwindigkeit eines Pentium III; bei hardwarehungrigen Spielen bleibt nur noch ein PC mit Intel 486-Prozessor übrig, wie er 1992 Standard war. Einige Spiele laufen deshalb zu schnell oder zu langsam. Zu den Paradebeispielen gehört die Rennspielserie Testdrive, deren Boliden in einem Affenzahn über den Asphalt preschen. In solchen Fällen verlangsamen Sie die Emulation per [Strg]+[F11], den umgekehrten Weg geht [Strg]+[F12].

Befehlsgewalt

Die meisten DOS-Programme erfordern genau wie ihre heutigen Windows-Pendants eine Installation. In dem Fall erstellen Sie unter Linux zunächst ein Verzeichnis, in das Sie das Programm laden möchten, zum Beispiel /home/tim/nfs für das Rennspiel "Need for Speed". Jetzt starten Sie die Dosbox ohne jeglichen Parameter. Damit landen Sie an einem Prompt (Abbildung 4).

Abbildung 4: Die Dosbox beherrscht eine Zusatzfunktion, mit der Sie Verzeichnisseals Laufwerk C: oder eine CD als Laufwerk D: einbinden.

Alte Hasen dürften sich hier sofort heimisch fühlen. MS-DOS ließ sich noch vollständig über Textkommandos steuern, wobei das Bedienkonzept dem eines Terminals unter Linux ähnelt: Mit cd wechseln Sie das Verzeichnis, ein dir listet dessen Inhalt auf. Eine Übersicht über die eingebauten Kommandos liefert help, das Pendant intro zaubert eine Art Online-Hilfe hervor.

MS-DOS vergibt Laufwerksbuchstaben für jedes gefundene Laufwerk. Da es unter Linux nur eine Verzeichnisstruktur gibt, in der die Partitionen transparent eingebunden sind, bildet die Dosbox Linux-Verzeichnisse auf Laufwerksbuchstaben ab. Eigens zu diesem Zweck gibt es einen Spezialbefehl: Mit mount C /home/tim/nfs binden Sie das Verzeichnis /home/tim/nfs als Laufwerk C: ein.

Um dort hin zu wechseln, tippen Sie einfach den Laufwerksbuchstaben gefolgt von einem Doppelpunkt ein (Beispiel: C:). Sofern Sie das eingebundene Verzeichnis unter Linux benutzen, zeigt Dosbox die Veränderungen nicht an. Mit [Strg]+[F4] aktualisieren Sie die Ansicht.

Scheibchenweise

Das Spiel "Need for Speed" kommt, wie viele andere Spiele auch, auf einer CD-ROM. Mounten Sie diese zunächst unter Linux und weisen Sie dann das Verzeichnis in der Dosbox einem Laufwerk zu:

Z:\><$$b>mount D /media/cdrom -t cdrom<$$b>
MSCDEX installed.
Drive D is mounted as CDRom /media/cdrom/

Der Befehl bindet den Ordner /media/cdrom unter dem Laufwerksbuchstaben D als CD-Laufwerk (-t cdrom) ein und sorgt außerdem dafür, dass die Dosbox den entsprechenden DOS-Treiber lädt. Auf letzteres weist das MSCDEX installed. in der darauf folgenden Ausgabe hin.

Sollte diese Zeile nicht der aus Abbildung 4 gleichen, wie es in unseren Tests etwa unter OpenSuse der Fall war, hängen Sie zunächst das Laufwerk per mount -u D wieder aus. Anschließend schauen Sie sich mit mount -cd die von Dosbox erkannten CD-Laufwerke an. Die Nummer vor dem entsprechenden Laufwerk verwenden Sie im zusätzlichen Parameter -usecd:

Z:\>mount D /media/cdrom -t cdrom -usecd 0

Er erzwingt den Einsatz des entsprechenden Laufwerks. Alternativ haben Sie die Möglichkeit, ein CD-Image aus einer ISO-Datei einzubinden:

Z:\>imgmount D image.iso -t iso

Viele ältere DOS-Programme erwarten übrigens die Festplatte auf Laufwerk C: und das CD-Laufwerk unter D:. Es empfiehlt sich daher, sich an diese Konvention zu halten. Damit vermeiden Sie zudem eine Namenskollision mit dem Dosbox-Laufwerk Z: (siehe Kasten "Das mysteriöse Z").

Das mysteriöse Z

Dosbox erstellt direkt nach dem Start ein virtuelles Laufwerk Z:. Es enthält verschiedene Programme, die ein DOS-Environment für gewöhnlich benötigt – darunter übrigens den Mount-Befehl. Sie haben keine Möglichkeit, das Laufwerk auszuhängen oder zu verändern.

Gerade letzteres hat Konsequenzen für die dort lagernde autoexec.bat, die Sie ebenfalls nur indirekt über die Konfigurationsdatei abändern. Das Laufwerk Z: steht direkt am Anfang der Variable PATH. Findet Dosbox ein Programm nicht im aktuellen Verzeichnis, sucht es folglich als erstes dort. Alle eingebauten Befehle und ihre Funktionsweise erläutert das Dosbox-Wiki [3].

TIPP

Mit [Pfeil oben] und [Pfeil unten] navigieren Sie in der History der Kommandozeile von Dosbox und nutzen so einmal eingegebene Befehl erneut.

Inneneinrichter

Nach einem Wechsel auf das CD-Laufwerk D: machen Sie das Installationsprogramm ausfindig und starten es. Meist heißt die entsprechende Datei install.bat, install.exe oder setup.exe. Sollte ein Spiel nach der eingebauten Soundkarte fragen, wählen Sie am besten zuerst die automatische Erkennung. Standardmäßig emuliert Dosbox eine Soundblaster-16-Karte (Abbildung 5).

Abbildung 5: Normalerweise ermitteln Spiele wie "Tomb Raider" die Soundkarte automatisch. Andernfalls wählen Sie eine Soundblaster 16 mit den im Bild gezeigten Einstellungen.

Nach der Installation gelangen Sie wieder zum DOS-Prompt zurück und wechseln ins Laufwerk C:, wo Sie das Programm oder Spiel starten. Sofern Sie den Dateinamen nicht wissen, fahnden Sie nach Dateien mit dem Suffix .exe oder .bat – genau wie unter Windows.

TIPP

Mit der Tastenkombination [Alt]+[Eingabe] wechseln Sie zwischen Vollbildmodus und Fensterdarstellung.

Statt die Mount-Befehle nach jedem Start der Dosbox erneut einzugeben, empfiehlt es sich, dem Emulator diese Arbeit zu überlassen. Im ursprünglichen MS-DOS gab es die Datei autoexec.bat genau für diesen Zweck. Alle darin platzierten Befehle führte das System nach dem Start automatisch aus. Dieses Verhalten simuliert der Abschnitt [autoexec] in der Dosbox-Konfigurationsdatei dosbox-0.73.conf. Sie finden den Abschnitt am unteren Ende der Datei, wo Sie einfach alle benötigten Mount-Befehle in jeweils einer eigenen Zeile anhängen.

Discjockey

Die meisten DOS-Spiele und Programme gelangten einst auf Disketten zum Kunden, so auch die ersten Windows-Versionen. Verfügen Sie noch über ein Diskettenlaufwerk, legen die erste Diskette ein und mounten sie unter Linux. Alternativ kopieren Sie den Inhalt in ein Verzeichnis, wie zum Beispiel /home/tim/disk. In beiden Fällen mounten Sie den Ordner mit dem Disketten-Inhalt in der Dosbox wie folgt:

Z:\>mount A /home/tim/disk -t floppy

Diskettenlaufwerke erhielten unter MS-DOS grundsätzlich die Laufwerksbuchstaben A: und B: zugewiesen. Auch in diesem Fall empfiehlt es sich, die Konvention zu beachten.

Viele Spiele – und erst recht Windows – kamen auf mehreren Disketten. Genau wie unter MS-DOS fordert das Setup auch in Dosbox bei der Installation einen Diskettenwechsel an. Sofern Sie mit einem physikalischen Diskettenlaufwerk arbeiten, hängen Sie die Diskette unter Linux aus, legen die nächste ein, mounten sie unter Linux und melden der Dosbox den Wechsel mit [Strg]+[F4]. Haben Sie den Inhalt der Diskette in ein Verzeichnis kopiert, leeren Sie dieses, kopieren den Inhalt der nächsten Diskette hinein und drücken auch hier [Strg]+[F4].

Allerdings fangen einige Desktop-Manager die Tastenkombination ab und wechseln stattdessen auf eine andere (virtuelle) Arbeitsfläche. In diesem Fall ändern Sie die Tastenbelegung. Dazu beenden Sie die Dosbox und starten sie per dosbox -startmapper erneut. Damit landen Sie in einem Interface zum Ändern der Belegung (Abbildung 6). Es zeigt eine virtuelle Tastatur sowie alle Sondertasten.

Abbildung 6: Über dieses archaisch anmutende Interface ändern Sie die Tastaturbelegung. Tastenkombinationen bestehen stets aus einer Modifikationstaste ( [Strg], [Alt] oder [Alt Gr] sowie einer normalen Taste.

Hier klicken Sie Swap Image an (rechts unten), wählen dann Add und drücken einen Ersatz für die Taste [F4]. Per Save und Exit geht es anschließend wieder zurück. Mit diesem Modus beheben Sie auch andere Probleme, die beim Betrieb von Dosbox auftreten (siehe Kasten "Bitte recht freundlich").

Bitte recht freundlich

Standardmäßig erstellt [Strg]+[F5] einen Screenshot und speichert ihn im versteckten Verzeichnis ~/.dosbox/capture. [Strg]+[Alt]+[F5] zeichnet das Geschehen sogar als Video auf, ein weiterer Druck auf die drei Tasten beendet die Aufnahme. Das Ergebnis spielt beispielsweise der MPlayer ab. Allerdings schalten bei dieser Tastenkombination die meisten Distributionen auf eine Konsole, weshalb Sie der Funktion über den Mapper eine andere Kombination zuweisen sollten.

Einige Programme ersparen Ihnen das Gefummel mit der Tastenbelegung. Kopieren Sie einfach die Inhalte sämtlicher Disketten unter Linux in ein Verzeichnis, und mounten Sie dieses als Festplatte in der Dosbox. Anschließend starten Sie von dort das Installationsprogramm. Windows 3.1 (Abbildung 7) macht diesen Trick mit, viele Spiele hingegen nicht – hier hilft nur ausprobieren.

Abbildung 7: Windows 3.1 läuft in der Dosbox auch unter Linux.

Fallstricke

Apropos Windows 3.1: Dieses sollte die Hardware zunächst weitgehend selbst erkennen. Als Grafikkarte emuliert die Dosbox ein SVGA-Modell mit dem Trio64-Chipsatz von S3. Experimentierfreudige können sich den passenden Treiber für die S3 864 aus dem Internet laden und ihn unter Windows installieren. Unter Umständen führt dies jedoch zu einer instabilen Dosbox. Die Treiber für Windows 3.1 für die emulierte Soundblaster 16 stellt immer noch Creative selbst zum Download bereit (unter Archivierte Produkte im Bereich Kundendienst).

Weigert sich ein Spiel oder Programm zu laufen, hilft unter Umständen ein Eingriff in die dosbox-0.73.conf. Bei Grafikproblemen suchen Sie dort den Eintrag machine=svga_s3 und ersetzen den Teil nach dem Gleichheitszeichen gegen den Namen einer anderen Karte respektive eines anderen Grafikstandards. Infrage kommen hercules (im ersten IBM PC verbaut), CGA (4 Farben) und EGA (16 Farben). Bei VGA-Spielen und Programmen hilft es mitunter, die S3-Karte gegen eine ET4000 (svga_et4000) auszutauschen, Windows 3.1 bringt für diese sogar Treiber mit. Die Zeile memsize=16 legt noch den Speicher auf 16 MByte fest, mehr als 64 nutzt jedoch kein 16-Bit-Programm.

Sollte die Soundblaster 16 zu neu für ein Spiel sein, tauschen Sie sie gegen ein älteres Modell. Suchen Sie dazu die Zeile sbtype=sb16 und verwenden Sie statt des sb16 die Werte sb1 für das erste Soundblaster-Modell, sb2 für das zweite, eine Soundblaster Pro emuliert sbpro1, deren Nachfolger sbpro2. Mit den Zeilen darunter (sbbase=, irq=, dma=) drehen Sie zusätzlich an der Konfiguration. Dies setzt jedoch Kenntnisse über die Hardware voraus.

Generell bietet das in Dosbox mitgelieferte DOS keinen vollständigen Ersatz für das originale MS-DOS. Beispielsweise fehlen zahlreiche Anwendungen und Hilfsprogramme, die späteren MS-DOS-Versionen bei lagen (wie etwa edit). Darüber hinaus konzentrieren sich die Entwickler hauptsächlich auf Spiele. Dass auch Anwendungen unter der Dosbox laufen, gehört zu den netten Nebeneffekten. Es gibt im Netz zahlreiche Quellen, die auch heute noch Applikationen und Spiele für MS-DOS bereitstellen (siehe Kasten "Dosenfutter").

Dosenfutter

Einmal Blut geleckt, stellt sich schnell die Frage, wo es noch alte Spiele zu kaufen gibt. Neben gebrauchten Exemplaren von Flohmärkten oder dem Auktionshaus Ebay, bietet GOG.com alte Spiele zum Schnäppchenpreis an. Im Gegensatz zu vielen illegalen Abandonware-Seiten besitzt dieser Vertrieb die Rechte an den Programmen. Auch auf Valves Verkaufsplattform Steam finden sich immer wieder Spieleklassiker, die Sie mit Dosbox wieder zum Leben erwecken. Achten Sie bei der Suche nach alten Anwendungen und Spielen aber immer darauf, die richtige Version für Ihre MS-DOS-Version zu erwerben.

Noch mehr

Wer sich etwas mit der Konfigurationsdatei des Emulators beschäftigt, dem stehen viele weitere interessante Funktionen offen. So klopft Dosbox auf Wunsch über das Netzwerk bei einer anderen Instanz an und leitet über die aufgebaute Verbindung Datenpakete gemäß IPX-Protokoll. Auf diese Weise nutzen Sie einige alte Spiele sogar über das Internet, obwohl dies ursprünglich gar nicht vorgesehen war. Um die Arbeit mit der Dosbox-Konfigurationsdatei (dosbox-0.73.conf) zu erleichtern, haben zahlreiche Fans grafische Oberflächen entwickelt. Im Dosbox-Wiki findet sich eine kleine Auswahl mit entsprechenden Links [4].

Einem Freund empfehlen    Druckansicht beenden Bookmark and Share
Kommentare