Tools und Anwendungen im Textmodus

Welches System?

Die Bauteile auf Mainboard und Zusatzkarten ließen vermuten, dass der Rechner aus der Ära 1986 bis 1988 stammt. Das zu der Zeit vorherrschende Betriebssystem war MS-DOS 3.3, weshalb dies auch meine erste Wahl für diesen Rechner war. Bei einem MS-DOS 3.3 ist nicht viel aufregendes dabei, wobei man mit dem GW-BASIC durchaus schon ein bisschen Spaß haben kann. Der vorhandene Tastaturtreiber unterstützt eigentlich nur das 84-Tasten-Layout der Modell-F-Tastatur, was zu etwas ungewohnten Effekten führt, wenn man Zeichen wie das Apostroph (aka. "Single Quote") oder den umgekehrten Schrägstrich (Backslash) benutzen möchte. Für einzelne Sondertasten kann man sich mit der Darstellung via ALT+Nummernblock in Verbindung mit einer ASCII-Tabelle behelfen, aber für den dauerhaften Einsatz möchte man eher einen alternativen Tastaturtreiber wie z.B. KEYB2 (siehe Tabelle) nutzen.

In meinem Setup habe ich als Festplatten-Ersatz eine CF-Speicherkarte mit 64 MB Kapazität benutzt. Als zwei Partitionen (eine primäre Partition und eine erweiterte Partition mit einem logischen Laufwerk) sind die 64 MB komplett nutzbar. Dabei ist es wirklich erstaunlich, wie weit man mit so ein paar Megabyte kommt. Ich habe jetzt knapp ein Dutzend Programme installiert und es fehlen vielleicht 7 oder 8 Megabyte. Man neigt dazu zu sagen "diese Festplatte wird niemals voll", aber wir alle wissen natürlich, dass es irgendwann doch passiert. War bisher immer so. ;-)

Die wichtigsten Tools

Zu den ersten Handgriffen, die ich auf einem frisch installierten DOS-PC ausführe, gehört das Anlegen eines TOOLS-Verzeichnisses, das ich in die PATH-Umgebungsvariable aufnehme und wo allerlei kleine Helferlein landen:

Datei Beschreibung Quelle
PKUNZIP.EXE Zum Auspacken von ZIP-Archiven. PKZ204G.EXE (Shareware)
LHA.EXE Für alle anderen Pack-Aufgaben. Ich kann nicht genau sagen warum, aber irgendwie habe ich LHA in mein Herz geschlossen. LHA255E.EXE (Freeware)
CTMOUSE.EXE CuteMouse-Maustreiber der mit so ziemlich allen Mäusen funktioniert (seriell und PS/2). CuteMouse
KEYB2.COM Alternativer Tastaturtreiber mit dem man auch unter MS-DOS 3.3 diverse Sonderzeichen hinbekommt. keyb2.com
INITLD.COM Der Initial-Loader-Anteil aus meinem Projekt pc-serial-loader und meistens auch der Weg über den die anderen Tools auf den Rechner kommen. pc-serial-loader

Ansonsten unternehme ich gerade ein paar Gehversuche mit dem Norton Commander. Der war bei meinen Schulfreunden unglaublich beliebt, während ich damals meistens "zu Fuß" mit den DOS-Befehlen unterwegs war. Für einfache Aufgaben funktioniert das auch wunderbar, aber wenn man mal ein Verzeichnis mit Unterverzeichnissen von A nach B verschieben will, dann stößt man mit den Bordmitteln von MS-DOS 3.3 schnell an seine Grenzen.

Der nächste Frustfaktor beim Einsatz von MS-DOS 3.3 ist das Editieren von Textdateien. Die ersten paar Minuten war die Verwendung von EDLIN noch "spannend" und "interessant". Danach eigentlich nur noch nervig. Eine der großen Verbesserungen von MS-DOS 5.0 ist in meinen Augen das Gespann aus QBASIC und EDIT. Dementsprechend habe ich die beiden auch nebst Hilfedateien und Beispielprogrammen kopiert. Glücklicherweise lassen sich an dieser Stelle die beiden DOS-Versionen problemlos mischen; allerdings bereitet auch hier die "zu neue" Tastatur Probleme: nach der erstmaligen Verwendung einer Sondertaste (wie z.B. die Cursor-Tasten) hängt sich QBASIC auf, vorzugsweise beim Starten oder bei der Rückkehr aus einer Programmausführung.
Bei meiner Recherche habe ich einen StackExchange-Beitrag gefunden, in dem das Problem analysiert und erklärt wurde. Letztendlich ist es die Tastatur-Abstraktionsschicht in QBASIC, die versucht intelligent zu sein und sich dabei auf die Nase legt. Es gibt jedoch eine einfache Abhilfe: mit einem Hex-Editor die Sequenz 26 F6 06 96 04 10 suchen und in 26 F6 06 96 04 00 abändern. Damit wird die Prüfung auf AT-Support so gepatcht, dass sie immer negativ ausfällt, auch wenn zuvor schon mal eine AT-Sondertaste gedrückt wurde. Bei mir hat das wunderbar funktioniert, keine Hänger mehr.

Ein weiteres Tool, das ich inzwischen auf allen meinen restaurierten DOS-Rechnern laufen lasse, ist CheckIt in Version 3.0. Interessanterweise findet es bei diesem PC kein Diskettenlaufwerk, obwohl selbiges problemlos funktioniert. Auf der anderen Seite findet mein pc-serial-loader ebenfalls kein Laufwerk; vielleicht benutzen beide Programme die gleichen BIOS-Funktionen, die auf diesem Rechner irgendwie spinnen?

Spiele im Textmodus

Beim Gedanken an Spiele im Textmodus kommt mir als erstes Nibbles in den Sinn, eines der Beispiel-Programme die bei QBASIC dabei sind. Das Spielprinzip ist auch unter dem Namen Snake bekannt: der Spieler steuert eine Schlange, die durch das Fressen von (aufsteigenden) Ziffern immer länger wird. Dazu gibt es noch ein paar Hindernisse, die umschlängelt werden müssen. Wenn die Schlange ein Hindernis oder sich selbst berührt wird ein Leben abgezogen, wenn alle Leben aufgebraucht sind endet das Spiel. Wenn die Schlange die Ziffer 9 gefressen hat wird das Level beendet und das nächste beginnt. Bei den ersten 10 oder 12 Leveln ändern sich noch die Hindernisse, danach wird das Spiel nur noch schneller. Klingt primitiv und simpel, aber macht trotzdem erstaunlich viel Spaß. Ich habe es diesmal spontan bis in Level 20 geschafft und dabei ca. 95.000 Punkte gesammelt.
Ebenfalls interessant war für mich, dass beim Öffnen der .BAS-Dateien die Meldung "Loading and parsing" in der Statuszeile erscheint. Beim Start des Programms sieht man kurz die Meldung "Binding". Beides Dinge, die ich noch nie zuvor wahrgenommen habe, weil diese Schritte auf einem 286er oder 386er quasi null Sekunden dauern.

Auf der Suche nach weiteren Spielen im Textmodus ist mir bewusst geworden, wie wenige es von dieser Sorte gibt. Eigentlich merkwürdig, denn eine Menge an Spielideen wären durchaus so darstellbar. Aber ich habe da eine Theorie: im Jahr 1983 hat ein IBM-PC so um 7500 DM gekostet, konnte nur Textmodus und Piepsen; so etwas kauft sich niemand, der Spiele im Sinn hat; zur gleichen Zeit gab es z.B. mit dem C64 eine zum Spielen viel geeignetere Maschine für ein Viertel des Preises. Springen wir ein paar Jahre weiter. Im Jahr 1986 bekommt man einen IBM-kompatiblen PC für 3000 DM und hat CGA- oder EGA-Grafik schon drin; da baut niemand Spiele für, die sich auf den Textmodus beschränken. (Zum Vergleich: ein C64 kostete 1986 noch ca. 400 DM, ein Apple IIe ca. 1200 DM.)
Aber: was habe ich denn nun gefunden?

Tetris von AcademySoft CCAS USSR Moscow aus dem Jahr 1986 (das dürfte damit das Tetris sein). Spielte sich ganz nett, aber die Steuerung war etwas ungewöhnlich, sodass ich beim Rotieren unnötig oft die Steine habe plumpsen lassen. Ich hätte eher die Cursor-Tasten bzw. 2/4/6/8 auf der einen Seite und Leertaste oder Enter für die andere Hand genutzt. Aber egal, ein Klassiker, der auf einem XT ziemlich optimal läuft.

Ein weiterer Fund war Castle Adventure, eine Art Dungeon Crawler mit einsammelbaren Gegenständen, Waffen, Monstern, Treppen, Türen usw. usf. mit ASCII-Grafik und PC-Speaker-Tönen. Die Kämpfe sind etwas nervig (man benötigt eine Waffe und rennt dann solange gegen die Feinde, bis irgendwer tot ist) und man braucht ein Blatt Papier um sich eine Karte zu zeichnen, aber ansonsten durchaus nett.

Nicht unerwähnt bleiben dürfen Text-Adventures wie die von Infocom. Allerdings habe ich in den meisten Downloads nur Dateien in der Z-Machine-Language gefunden, für die man einen Frotz-Interpreter benötigt. Die einzige lobenswerte Ausnahme war Leather Goddesses Of Phobos das als direkt lauffähiges DOS-Programm daherkam. Allerdings musste ich feststellen, dass bei all der Faszination für die Idee reiner Text-Adventures der Spielspaß nicht so richtig aufkam. Zu oft formuliert man doch ewig herum bis man genau den Satz findet, der zur gewünschten Aktion führt. Da bin ich durch Spiele von Sierra und Lucasfilm Games doch zu sehr verweichlicht.

Entwicklungsumgebungen

Als erstes habe ich mir Turbo Assembler 2.01 angesehen, wobei das keine wirkliche Entwicklungsumgebung ist. Man ruft die Einzelprogramme TASM.EXE und TLINK.EXE per Hand auf, oder über MAKE.EXE (sehr zu meiner Freude hatte ein spontan in die Tasten gehauenes Makefile funktioniert; es scheint also "echtes" make zu sein, nichts proprietäres). Viel mehr als HELLO.ASM und HELLO2.ASM habe ich mir dann auch nicht angeschaut, die meisten anderen Beispiel-Programme haben sich auf die Interaktion mit Hochsprachen wie C und Pascal bezogen. Noch ein kleiner Tipp für alle, die sich auch mit Turbo Assembler beschäftigen wollen: bei der Installation unbedingt ein eigenes Unterverzeichnis für die Beispiel-Programme anlegen lassen, sonst landen die 126 zusätzlichen Dateien im gleichen Verzeichnis wie die Programmdateien... hab es gleich noch mal installiert. ;-)

Als nächstes habe ich einen Blick auf Turbo C 2.01 geworfen. Dieses kommt auf 6 Disketten daher und ist eine "richtige" Entwicklungsumgebung mit Editor und Debugger. Der Editor ist aus heutiger Sicht etwas ungewohnt zu bedienen, insbesondere was Operationen wie Markieren, Kopieren und Einfügen betrifft. Diese gibt es, aber über Tastenkürzel wie Strg+KB und Strg+KK. Diese waren damals der Standard, quasi das was heute Strg+C und Strg+V ist. Soweit ich nachvollziehen konnte wurden diese Kürzel erstmals von der Textverarbeitung WordStar genutzt, sind aber auch heute noch in manchen Editoren zu finden (z.B. Joe). Der Debugger unterstützt Breakpoints und Watches und zeigt einem den Callstack. Mit der Funktion "Evaluate" können zur Laufzeit vorgegebene Ausdrücke berechnet sowie Variablen verändert werden. Etwas nervig war die Tatsache, dass ich meine Breakpoints nicht sehen konnte. Ich vermute, dass diese farblich markiert werden, was auf dem Monochrom-Display natürlich nicht viel Sinn hat.
Das Übersetzen des Beispielprogramms MICROCALC ist auch ein Erlebnis. Es besteht aus ungefähr 3000 Zeilen Code (verteilt auf 7 Dateien) und beschäftigt den Rechner mehr als eine Minute lang (ca. 72 Sekunden, um genau zu sein). Allerdings muss man fairerweise dazusagen, dass hierbei unter Berücksichtigung der ganzen Bibliotheken insgesamt 8043 Zeilen angefasst werden.

Den Abschluss bildete Turbo Pascal 5.5, verteilt auf 4 Disketten. Version 5.5 ist insofern besonders, als dass hier erstmals objektorientierte Programmierung möglich war. Dazu gibt es auch eine Reihe von Beispiel-Programmen, unter anderem BREAKOUT, das ebenfalls im Textmodus funktioniert. Beim weiteren Durchprobieren der Beispiel-Programme habe ich auch eine BGI-Demo (Borland Graphics Interface) gefunden, bei der ich eigentlich nur eine Fehlermeldung erwartet hatte: zu dem Zeitpunkt bin ich davon ausgegangen, dass die Grafikkarte nur den MDA-Textmodus beherrscht. Entsprechend groß war die Überraschung, als der Monitor kurz abschaltete und mir danach die Demo zeigte, in der das Display eindeutig mit Linien, Kreisen und geschwungener Schrift vollgekritzelt wurde!
Die IDE von Turbo Pascal ist der von Turbo C sehr ähnlich (um nicht zu sagen: gleich), auch was das den Umgang mit Textblöcken und den WordStar-Tastenkürzeln angeht. Der Debugger verhält sich ebenso gleich in Bezug auf Breakpoints, Watches und dem Ausrechnen/Manipulieren von Ausdrücken.

Büroanwendungen

Als klassische Büroanwendung kommt mir natürlich als erstes Textverarbeitung in den Sinn. Und wie das inzwischen so ist denkt man da auch als erstes an Word von Microsoft. Gab es da eigentlich auch DOS-Versionen von? Und ob, Version 1 sogar schon 1983. Auch hier habe ich geschaut, welche Version vom Zeitraum her plausibel erscheint und noch auf 5.25"/360K Disketten verfügbar war. Meine Wahl fiel schlußendlich auf Word 5.5 for DOS von 1990, das sich optisch sehr von Version 5.0 abhebt und eine gewisse Ähnlichkeit mit QBASIC/EDIT nicht verleugnen kann (wobei das wahrscheinlich eher genau andersherum gilt). Version 5.5 kommt auf stolzen 12 Disketten (zwei davon mit Drucker-Treibern und zwei weitere mit einem Lernprogramm), im installierten Zustand belegt es bei mir ca. 2,2 MB Platz auf der Festplatte.
Ich bin beeindruckt, wie gut man auch aus heutiger Sicht noch mit Word 5.5 arbeiten kann. Ich habe nur an der Oberfläche gekratzt (fett/kursiv, rechtsbündig/Blocksatz, usw.) aber bin fast so weit zu sagen: wenn man nur Text machen will und keine Bildchen braucht, dann ist man hier immer noch gut bedient. Insbesondere mit einer Maus kann man ziemlich zügig arbeiten -- und wird kaum überrascht. Markieren, Doppelklick, alles tut wie erwartet. Auch die Tastenkombinationen Strg+Einfg/Shift+Einfg sind verfügbar.
Interessant war auch zu beobachten, wie verschiedene (Setup-)Konfigurationen die Programmfunktionen beeinflussen:

Die letzten beiden Punkte ergeben durchaus Sinn, aber das Verhalten des Mauszeigers ist doch eher seltsam.

Als nächstes wollte ich Works 1.05 for DOS ausprobieren, das auf deutlich weniger Disketten als Word kommt (8 Stück, davon 3 mit dem Lernprogramm), aber neben Textverarbeitung auch Tabellenkalkulation, Datenbank und "Communications" enthält. Ich fand Works schon immer interessant, weil es irgendwie überschaubarer war, aber man doch das meiste gefunden hat, das man so braucht. Leider wurde meine Freude stark gebremst durch die Tatsache, dass Works unter dem Gleichen eingangs erwähnten Tastatur-Problem leidet wie QBASIC: nach dem Drücken einer "AT-Taste" ist Schluss. Hierzu einen passenden Patch zu finden wurde erheblich dadurch erschwert, dass "works" ein ziemlich gewöhnliches englisches Wort ist und man quasi nur Mist findet...
Daher verschiebe ich das Works-for-DOS-Abenteuer auf einen anderen Tag, wenn ich eine AT-Maschine aufgebaut habe.


Zurück zur Hauptseite