Vor ein paar Tagen bin ich bei Mastodon auf diesen Thread gestoßen. Da hat jemand mit Assembler ein sehr kleines DOS-Programm geschrieben, dessen Binärcode gleichzeitig auch eine Folge gültiger Emoji ist. Es hat bei mir nicht funktioniert (wahrscheinlich ist die Codierung einiger Zeichen beim Kopieren und Abspeichern im Texteditor kaputtgegangen), aber dadurch habe ich DOSBox entdeckt. Das ist ein DOS-Emulator (oder besser gesagt, x86-CPU-Emulator), der so gut gepflegt wird, dass er auch unter Windows 11 alte DOS-Programme besser ausführen soll als Windows selbst. Er emuliert natürlich auch eine Soundblaster-Karte, so dass dem Spielevergnügen nichts im Wege steht.

Allerdings sind die Spiele, die ich Mitte der 90er Jahre häufig gespielt habe, auch auf anderen Kanälen verfügbar. Descent läuft z.B. auch im Browser, und Command&Conquer kann man heute als „Remastered Collection“ bei Steam kaufen oder als Open-Source-Nachbau auch bei OpenRA herunterladen, um nur zwei Beispiele zu nennen. Aber wir kommen trotzdem noch mal darauf zurück.

Aber wie sieht es mit Programmieren aus? In der DOSBox läuft natürlich kein volles MS-DOS, deshalb gibt es leider kein QBasic. Aber Turbo Pascal 5.5 lässt (oder ließ sich) ganz offiziell und kostenlos bei Borland (heute „Embarcadero“) herunterladen.

Also, rein mit dem Inhalt der Ordner DISK1 und DISK2 ins virtuelle 3,5″-Diskettenlaufwerk, INSTALL.EXE starten und los geht’s:

Turbo Pascal nach dem Start in der DOSBox

Was es damals schon gab:

  • Einen Debugger, der fast alles konnte, was man heute wirklich braucht (Breakpoints, Ausführung in Einzelschritten, Überwachung von Variablen usw.)
  • Objektorientierung, zumindest rudimentär - 5.5 war die erste Version von Turbo Pascal, in der es „Klassen“ und Objekte gab
  • Eine gute Online-Hilfe

Was es nicht gab:

  • Die Möglichkeit, mehrere Dateien in der Entwicklungsumgebung gleichzeitig offen zu haben - das kam erst mit der Version 6.0 1990, die die „Turbo Vision“-UI-Bibliothek nicht nur benutzte, sondern auch in eigenen Programmen nutzbar machte.
  • Irgendeine Möglichkeit, auf das Internet zuzugreifen, jedenfalls nicht ohne Riesenaufwand (woher bekomme ich einen TCP/IP-Stack?)
  • Syntax-Highlighting, Autocomplete, KI-Unterstützung usw. :-)

Ein „Hello World“-Programm war jedenfalls schnell geschrieben:

program HelloWorld;

uses Crt;

var
   key: Char;
begin
     WriteLn('Hello World');
     key := ReadKey;
end.

Aber was könnte man im Jahr 2026 damit entwickeln?

  • Vielleicht könnte ich mein Wordle für die Kommandozeile nach Turbo Pascal portieren
  • Ein schön „ablenkungsfreier“ Editor bzw. eine kleine Textverarbeitung (Export des formatierten Textes nach HTML oder Markdown), der natürlich die Tastenkombinationen des legendären Word Perfect 5.1 unterstützen muss!