DOSBox v0.73 erschienen

DOSBox v0.73
DOSBox v0.73 mit neuem Splash Screen

Nach knapp zwei Jahren (Version 0.72 wurde am 27. August 2007 veröffentlicht) ist gestern wieder einmal eine neue DOSBox Version erschienen. Neben dem neuen Splash Screen (siehe Screenshot) sind vorallem unter der Haube viele Änderungen eingeflossen.

So wurde der neuen Version ein – vorerst – rudimentäres, automatisches Tastaturlayout System einverleibt. Dadurch sollte die DOSBox automatisch das verwendete Tastaturlayout des Host Systems erkennen und in der DOSBox einsetzen können. Im Moment funktioniert dieses Feature nur unter Windows, dafür aber ohne Probleme. Bei einem erstmaligen start hat mir die DOSBox sofort das Schweizer Tastaturlayout SG geladen.

Verbessert wurde ausserdem die Unterstützung der Super VGA Modi indem man nun zwischen S3, Tseng und Paradise auswählen kann. Ausserdem kann man in dieser Version als Maschinentyp auch EGA auswählen.

Bei der Soundunterstützung wurden zwei neue OPL2 und OPL3 Emulatoren hinzugefügt welche aufgrund des neuen Implementierungsansatzes schneller laufen sollten.

In der Konfigurationsdatei finden sich Hauptsächlich nur «kosmetische» Veränderungen vor. Einzig die Angabe der Zyklen (Anzahl Instruktionen pro Millisekunde die DOSBox emulieren soll) hat sich nun geändert. So wird nicht mehr der Befehl cycles=5000 verwendet um die Zyklen auf 5000 zu setzen, sondern neu wird cycles=fixed 5000 verwendet. Auch haben einige Parameter neue Namen bekommen. So werden in der MIDI Sektion nicht mehr die Namen device und config sondern neu mididevice und midiconfig verwendet.

Der Changelog mit allen Aenderungen kann auf der SourceForge Webseite eingesehen werden.




Serie: DOSBox unter Windows kompilieren 1/10

1987 habe ich als 10 Jähriger Knirps mit meinem C64 herumgespielt. Eigentlich war zu der Zeit der 386er gerade aktuell, doch von solch einem Rechner konnte ich nicht einmal träumen 😉 Jedenfalls erschien im Jahre 1987 das Spiel Police Quest: In Pursuit of the Death Angel. Ich weiss noch, wie ich damals bei uns im Ort an die Herbstschau ging und da zum ersten mal dieses Spiel erblickt hatte. Das Spiel hatte mich sofort gefesselt. Man durfte selber steuern wohin man den Protagonisten schicken wollte und wenn man z.B. eine Tür aufmachen wollte, stellte man die Figur vor selbige und gab open door ein. Ich war sofort Feuer und Flamme und gab mein ganzes Taschengeld dafür aus, jeden Tag einen Messeeintritt zu erwerben um mich bei diesem Stand aufhalten zu können. Irgendwann liessen mich die Leute da sogar selber spielen! Und hätte es nicht so etwas wie Hunger, Durst, Schlaf oder Hausaufgaben gegeben, ich würde wohl heute noch dort sitzen 🙂

Jedenfalls sind es solche Erinnerungen, welche mich persönlich immer wieder die alten Spiele hervorkramen lassen. Doch leider wird es immer schwieriger solche Spiele unter einem heutigen System überhaupt zum laufen zu bekommen. Die Spiele welche sehr Hardwarenah programmiert wurden, rasen bei den heutigen Gigahertzen nur so über den Bildschirm. Die ISA Soundkarten gibt es schon lange nicht mehr und von onboard PCI Karten wussten die damaligen Spiele noch nichts. Und von heutigen Monitorauflösungen jenseits von 640×480 will ich gar nicht erst anfangen zu sprechen.

Um also all diese Hürden überwinden zu können, bietet sich die Verwendung eines Emulators an. Und genau für diesen Zweck gibt es einen Emulator mit Namen DOSBox.

Zitat Wikipedia:

DOSBox ist ein freier x86-Emulator, der das Betriebssystem DOS und die in dessen Ära gebräuchliche Hardware nachbildet. Ziel ist das Ausführen älterer, DOS-basierter Software, die mit modernen Computersystemen nur eingeschränkt oder gar nicht kompatibel ist.

Da der Emulator auf den unterschiedlichsten Systemen wie etwa Linux, BSD, Mac OS X und vielen anderen läuft, ist er natürlich sehr beliebt und verbreitet. Mit Hilfe dieses Emulators habe ich schon so manches Kleinod aus früheren Kindertagen wieder in altem Glanz erstrahlen lassen.

Titelbild von Bazooka Sue
Titelbild von Bazooka Sue

Doch wie das nunmal im Leben so ist, irgendwann gelangt man an einen Punkt wo selbst die tollsten Tricks das alte Spiel nicht mehr zum laufen bringen. Bei mir war dieser Punkt beim Spiel Bazooka Sue erreicht.

Das Problem bei diesem Spiel ist die Verwendung von Umlauten in den Dateinamen. So gibt es z.B. eine Datei GLÜCK.WAV oder LÖWE.WAV welche in der entsprechenden Situation abgespielt wird.

Da DOSBox ein internationales Projekt ist und die Programmierer englischsprachig sind, gibt es für Umlaute zuerst einmal keine Unterstützung. Das merkt man auch daran, dass das Spiel an den jeweiligen Stellen mit einer Fehlermeldung abstürzt.

Doch Open Source wäre nicht Open Source, wenn man nicht einfach selber Hand am Code anlegen könnte. Also habe ich mir den Quellcode heruntergeladen und die besagte Stelle relativ schnell identifiziert und gepatch.

Viel schwieriger war dann jedoch die Frage zu beantworten, wie man denn dieses Paket – inklusive all seiner Abhängigkeiten – unter Windows XP zum kompilieren bringt. Nach einer Woche intensiven ausprobierens, Foren scannens, Bugreports lesen und Anwendung von Vodoo Praktiken habe ich es tatsächlich geschafft eine DOSBox Version auf meinen Rechner zu zaubern, welche Umlaute in Dateinamen versteht.

Da dieses Unterfangen doch einige Stolperfallen beherbergen kann, habe ich mich entschieden eine Artikelserie zu veröffentlichen, welche aufzeigt, wie man das kompilieren einer derart komplexen Software mit Hilfe von Open Source Tools unter Windows bewerkstelligen kann. Obwohl es in diesem Artikel explizit um DOSBox geht, kann diese Artikelserie für jedermann interessant sein, der selber das eine oder andere Projekt unter Windows kompilieren möchte.

Im zweiten Teil der Serie werde ich mich der Erstellung und Installaiton der MinGW/MSYS Entwicklungsumgebung widmen.




QEMU Gamer Edition 0.9.1

Manchmal überkommt es mich und ich wühle ich in meinen alten Games herum. Gefunden habe ich dieses mal – passend zur EM – FIFA international Soccer aus dem Jahre 1994.

Leider ist das Spiel nicht mehr ohne Probleme unter neueren Betriebsystemen lauffähig. Will man es unter DosBox betreiben, stürzt das Spiel einfach ab. Auch nativ unter XP ist nicht viel zu machen.

Daher habe ich es einmal mit dem Opensource Prozessor Emulator QEMU versucht. Und tatsächlich, nach ein wenig herumprobieren konnte ich das Game starten. Dummerweise lief es aber zu schnell. Und im Gegensatz zur DosBox gibt es keine Möglichkeit den Emulator zu bremsen.

Glücklicherweise hat das Problem bereits Miroslav Novak gelöst. Er hat für die QEMU Version 0.9.0 einen Patch veröffentlicht, welchen ich für die aktuellste 0.9.1 als Grundlage verwendet habe. In der von mir angepassten QEMU Gamer Edition Version wurden ausserdem alle Prozessoren wie etwa SPARC oder ARM entfernt.

Will man die QEMU Umgebung verlangsamen, startet man einfach qemu.exe mit der Option -brake <WERT>. Wobei WERT der Zahl 0 entsprechen kann um die Verlangsamung zu deaktivieren oder einem Wert >0. Verwendet man z.B. die Option -brake 1000 wird der Emulator 10x langsamer.

Die von mir angepasste QEMU Version für 32Bit Windows Systeme kann man von hier herunterladen. Das Archiv wurde mit dem Opensource Packetierer 7zip gepackt.