Dass ich wieder etwas mehr Zeit habe, lässt sich gut an meinen Aktivitäten erkennen. Mein Vorhaben war es, ein Entwicklungssystem unter MSDOS aufzubauen, ohne mir hierfür entsprechende Hardware anzuschaffen. Denn zum einen fehlt mir nun wirklich der Platz und zum anderen scheinen auch die Preise für alte MSDOS-fähige Hardware in die Höhe zu schnellen.
Also habe ich mich an zwei Möglichkeiten versucht: DosBox und MSDOS 6.22 unter VirtualBox.
Das Einrichten der DosBox war schnell erledigt. Auch die Compilersuite DJGPP mit der Bibliothek Allegro 4.2, der letzen DOS-fähigen Version, waren fix konfiguriert. Dann kam aber die Ernüchterung. Ein einfaches "Hello World" konnte nicht kompiliert werden. Zunächst nahm ich an, dass das wieder ein Thema rund um Protected Mode sei, weshalb ich hier einiges ausprobiert habe. Auch der vorherige Start des DOS-Extender mittels
|
Quellcode
|
1
|
go32-v2
|
führte zu einem internen Compiler-Fehler. Auch die Stackvergrößerung mit
|
Quellcode
|
1
|
stubedit GCC.EXE minstack=1024k
|
brachte nicht die Lösung. Mit GCC habe ich fast mein Pulver verschossen und auch im Netz finde ich nichts, was geholfen hätte. Was mir bleibt, ist den Watcom C Compiler auszuprobieren, der wohl mit der Allegro-Bibliothek ebenfalls zusammenarbeitet.
Der Ansatz mit der VirtualBox schien sehr erfolgsversprechend zu sein. Die Einrichtung ist allerdings deutlich schwieriger, zumal der Shared-Folder-Mechanismus nicht funktioniert. Hier half es, das Festplatten-Image-Format VHD zu verwenden, weil man diesen unter Windows per
|
Quellcode
|
1
|
diskmgmt.msc
|
(Computerverwaltung/Datenspeicher bzw. Datenträgerverwaltung) einhängen kann. Leider darf meine virtuelle DOS-Maschine nicht gleichzeitig laufen, wenn ich das VHD-Image eingebunden habe. Ich muss es also immer auswerfen, bevor ich wieder MSDOS in VirtualBox starten kann.
Auch in Sachen Treiber musste ich eine Menge zusammensuchen, um das CD-ROM, die Maus (ja, auch unter DOS: mouse.com) und die Soundblaster-Karte zum Leben zu erwecken. Das Editieren von AUTOEXEC.BAT und CONFIG.SYS mit den Devices inklusive HIMEM.SYS hat mich an alte Tage erinnert. Sollten die modernen PC nicht mehr funktionieren, dann kann ich wenigsten die alten DOSen wieder lauffähig machen
Und weil alles soviel Spaß gemacht habe, hatte ich mir flugs Windows 3.1 installiert. Auch heute sehe ich in Windows 3.1 keinen großen Mehrwert, wenn man Amiga / Workbench oder Atari / GEMS vergleicht. Wie lange Jahre dauerte es bis es eine brauchbare GUI von Microsoft gab? Dauerte es echt 6 Jahre nach Atari, bis Windows 3.1 und weitere 3 Jahre bis mal was Brauchbares wie Windows 95 rauskam? Aus heutiger Sicht würde ich das fast einen Rückschritt nennen, wenn da nicht die Games wären, die schon recht früh für eine Festplatteninstallation vorgesehen waren und daher komplexer sein durften, ohne dass man DJ spielen musste. Aber ich schweife ab.
Ich war jedenfalls total happy als ich beim Abspielen von akkord.wav tatsächlich etwas hörte. Nach Installation von weiteren Treibern meldete sich Windows 3.1 aber mit einem Problem hinsichtlich des MIDI-Device. In der Tat konnte ich keiner MIDI-Datei einen Ton entlocken - unter DOS nicht und unter Windows nicht. Weil ich mir sicher war, dass ich alles korrekt eingerichtet hatte, ging ich auf die Suche im Internet. Und siehe da: OPL bzw. MPU-401 wird nicht unterstützt. Leider scheint das wohl auch bei anderer Virtualisierungssoftware der Fall zu sein. Ein Wechsel auf VMware würde demnach nichts bringen.
Nun, die Kompilierung funktioniert 1a. Aber ich hatte schon vorgehabt, ein Mini-Game mit blecherner MIDI-Musik zu programmieren. Das fällt somit ins Wasser. Auch WAV-Dateien sollen gemäß einiger Forenbeiträge nicht sauber sein.
Fazit: Als Spiele-Entwicklungssystem ist MSDOS unter einer Virtualisierungssoftware definitiv nicht zu gebrauchen. Ich verfolge weiter den Ansatz mit der DOSBox und einem anderen Compiler. Allerdings will ich mir doch noch ein Windows 98 unter VirtualBox installieren, um zu schauen, ob sich damit wenigstens etwas anfangen lässt. Denn zu Windows98-Zeiten waren Midi-Töne ohnehin längst out.