Home // Posts tagged "Quelltext"
Serie: DOSBox unter Windows kompilieren 10/10
11. Dezember 2017 matse 1 comment
Diese Artikelserie zeigt auf, wie man unter Windows eine Entwicklungsumgebung mit Open Source basierten Programmen erstelllt und darin Programme und deren Abhängigkeiten kompiliert. Die daraus entstehenden Dateien können unter Windows wie normale Programme verwendet werden.
Im zehnten und letzten Teil wird das selbst kompilierte DOSBox endlich ausprobiert und zum laufen gebracht. Read more [+]
Serie: DOSBox unter Windows kompilieren 9/10
11. Dezember 2017 matse Reply
Nachdem in den vorangegangenen Teilen die MinGW/MSYS Entwicklungsumgebung erstellt und alle Abhängigkeiten kompiliert wurden, kann in diesem Teil endlich DOSBox kompiliert werden. Read more [+]
In diesem Artikel wird die auf SDL basierende Soundbibliothek SDL_sound kompiliert. Diese wird benötigt, um z.B. CD Images mit OGG Dateien als Audio Tracks mounten zu können. Die SDL_sound Bibliothek unterstützt von Haus aus das MP3 Format. Um Ogg Vorbis Dateien abspielen zu können, müssen erst einige zusätzliche Bibliotheken heruntergeladen und kompiliert werden. Read more [+]
Im siebten Teil wird die auf SDL aufbauende Netzwerkbibliothek SDL_net erzeugt. Durch diese Bibliothek hat man in der DOSBox die Möglichkeit Spiele wie etwa Quake über das Netzwerk zu spielen. Prinzipiell kann man diese Abhängigkeit auch einfach auslassen. DOSBox wird trotzdem kompiliert, bietet aber keine Netzwerkunterstützung an. Da wir jedoch eine vollständie DOSBox kompilieren wollen, wird nachfolgend erläutert wie man SDL_net kompiliert. Read more [+]
Im fünften Teil wurde die Simple DirectMedia Library kompiliert, in diesem Teil wird die PNG Bibliothek kompiliert. Diese Bibliothek ermöglicht einem Programm die Verwendung und Erstellung von PNG Grafiken. Die PNG Bibliothek wird von DOSBox benötigt um die Screenshots – welche während einer DOSBox Session erstellt werden können – abspeichern zu können. Read more [+]
In diesem Teil wird die erste Abhängigkeit von DOSBox kompiliert. DOSBox bietet z.B. die Möglichkeit CD’s mit Audio Tracks so einzubinden, dass statt der originalen, unkomprimierten WAV Dateien komprimierte MP3 oder OGG Dateien verwendet werden können. Um nun die Unterstützung hierzu nicht komplett neu programmieren zu müssen, haben sich die Programmierer an bestehenden Projekten bedient. Hierdurch ist die Arbeit der Programmierer zwar weniger geworden, derjenige welcher den Quelltext kompiliert, muss aber auch die benötigten Abhängigkeiten zuerst herunterladen und kompilieren.
Eine solche Abhängigkeit ist z.B. Simple DirectMedia Layer (SDL). Simple DirectMedia Layer ist eine plattformübergreifende Multimedia Bibliothek welche low level Zugriff auf Audio, Keyboard, Maus, Joystick, 3D hardware via OpenGL, und 2D Video Framebuffer zur Verfügung stellt. Read more [+]
In den vorangegangenen Artikeln wurde die Entwicklungsumgebung erstellt. In diesem Teil wird zum ersten mal etwas in dieser Umgebung kompiliert. Um genau zu sein, handelt es sich dabei um die Autotools. Prinzipiell sind diese Programme in der MinGW/MSYS Umgebung bereits vorhanden. Jedoch handelt es sich um ältere Versionen, welche – gerade bei neueren Paketen – immer mal wieder zu Problemen führen können. Aus diesem Grund werden die aktuellsten Autotools aus dem Quelltext erstellt.
Die Autotools sind mehrere Programme, welche vor dem eigentlichen kompilieren diverse Informationen des Systems sammeln. Dadurch ist schon vor dem kompilieren klar, welche Header Dateien oder welche Libraries verwendet werden sollen. Auch können die Autotools ermitteln ob benötigte Abhängigkeiten vorhanden sind. Read more [+]
Während im zweiten Teil dieser Artikelserie beschrieben wurde wie man die MinGW Entwicklungsumgebung erstellt, wird in diesem dritten Teil beschrieben, wie man die MSYS Umgebung einrichtet.
Wikipedia schreibt zu MSYS
MSYS (Minimal SYStem) ist eine Softwareportierung der Unix-Shell auf die Windows-Plattform. Es dient MinGW-Entwicklern als ein minimales System, welches unter anderem configure-Skripte ausführen kann.
MSYS installiert zum Beispiel eine bash Shell, Komprimiertools wie bzip2 oder lzma und verschiedene andere Programme, welche für eine Entwicklungsumgebung benötigt werden. Read more [+]
Im zweiten Teil dieser Artikelserie beschreibe ich die Installation einer Entwicklungsumgebung basierend auf dem MinGW Projekt. Eine Entwicklungsumgebung besteht aus einer Zusammenstellung von Programmen und Werkzeugen, welche zur Erstellung beliebiger Software verwendet werden kann. In solch einer Zusammenstellung können z.B. ein Texteditor zum bearbeiten der Quelltexte, ein Dateiverwaltungssystem, ein Kompiler und ein Linker vorhanden sein.
Wikipedia schreibt zu MinGW
MinGW oder Mingw32 (Minimalist GNU for Windows) ist eine Softwareportierung der GNU-Entwicklerwerkzeuge (GCC, GDB) auf die Windows-Plattform, mit der man Programme für Windows entwickeln kann. MinGW entstand aus dem Cygwin Projekt heraus. Es wird, anders als bei Cygwin, keine Kompatibilitätsschicht in Form einer DLL benötigt. Auch kann hiermit entwickelte Software unter Lizenzen veröffentlicht werden, die nicht mit der GNU GPL kompatibel sind.
Prinzipiell kann man einfach den Installer von der MinGW Webseite herunterladen, anklicken und abwarten. Es hat sich jedoch bei mir gezeigt, dass diese Installationsart im späteren Verlauf zu Problemen führt. So wird z.B. MinGW wie auch MSYS in ein und das selbe Verzeichnis installiert. Das sollte bei neueren Versionen eigentlich kein Problem sein. Sollte… Meine Erfahrungen haben gezeigt, dass es besser ist alles von Hand zu installieren.
Read more [+]
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.