Arbeiten an einer PDP-8 – eine Zeitreise

Auf sdf.org kann man neben Unix-Shellzugängen, Gopher– und Webspace auch Zugang zu einem PDP-8-Simulator, einem 12-Bit-Rechner der 70er Jahre, bekommen, auf dem TSS/8 läuft, ein 1967 entwickeltes System, um einen Rechner mit mehreren Personen zu nutzen. Eine PDP-8 bot bis zu 16 Usern gleichzeitig Zugang, jeder User sieht dabei einen individuellen Rechner mit 4KW Speicher und einen eigenen File Storage. Auf so einer Maschine kann man sich also heute noch einloggen und schauen, was man damit anfangen kann.

Login und Listing des File Storage auf dem PDP-8-SImulatorbei sdf.org

Es gibt ein paar Dienstprogramme, “CAT” für “catalog” listet den User Storage. Man sieht diverse Dateien, die größtenteils von anderen Usern (ein Account wird von mehreren “Gästen” genutzt) angelegt wurden. Man erkennt unter anderem Textfiles (Endung “.ASC” für ASCII-Text), Basic-Dateien (.BAS) und Focal-Dateien (.FCL). Es fällt auf, dass bei der Ein- und Ausgabe nur Großbuchstaben benutzt werden. Zur Manipulation von Dateien gibt es das Programm “PUTR”, mit welchem man Dateien kopieren, löschen und anzeigen kann.

Auf dem System sind Interpreter für die Programmiersprachen Basic und Focal installiert. Beide Interpreter enthalten eine komplette Programmierumgebung, allerdings mit zeilenorientierten Editoren. Der BASIC-Interpreter fragt zunächst, ob man eine neue Datei anlegen oder eine alte, bestehende bearbeiten möchte. Ich habe mich für eine neue Datei entschieden, da ich zunächst eigene Erfahrungen machen wollte. Man schreibt eine Zeilennummer, um eine Zeile Programmcode zu erstellen. Existiert die Nummer noch nicht, wird sie angelegt, exisitiert sie, wird der bisherige Inhalt durch das neu Geschriebene ersetzt. So kann man direkt auf der Maschine neue Programme erstellen. Ist das Programm fertig, kann man es mit “LIST” anzeigen oder mit “RUN” ausführen.

Da das Eintippen kompletter Listings in einem Zeileneditor heutigen Nutzern doch sehr mühsam erscheint (während der 60er bis 90er Jahre war das Abtippen die gängige Methode, Code in den Computer zu bekommen), hat ein SDF-User Expect-Scripte für Basic und Focal geschrieben, mit denen man sich auf dem PDP-8-Simulator einloggen, den Interpreter starten und den Quelltext einlesen kann. Das Script beendet sich und man befindet sich interaktiv in BASIC oder Focal, man kann sich das Programm anzeigen lassen, editieren oder es ausführen.

BMI-Berechnung in PDP-8-BASIC, Code und Programmausführung

Ich habe auf diese Weise ein kleines BASIC-Programm (Berechnung des BMI), welches ich ursprünglich für meinen Sharp PC-1251 geschrieben hatte, hochgeladen und habe es nach einigen Änderungen (immerhin ist das Basic auf dem Simulator mehr als zehn Jahre älter als das auf dem PC-1251) auf dem PDP-8-Simulator zum Laufen gebracht.

Damit habe ich es prinzipiell geschafft, auf einer 50 Jahre alten Umgebung etwas Nützliches zu schaffen. Ich werde mir nun eventuell noch Basic-Programme von anderen anschauen, werde vielleicht sogar noch Focal ausprobieren (die Sprache scheint nicht besonders schwierig wenn man Basic beherrscht) und schauen, was man sonst noch so damit anfangen kann.

Immerhin könnte man auf der Simulation auch in Assembler programmieren und da die Hardware deutlich einfacher ist als was man heute vorfindet könnte das einen Einstieg für die Beschäftigung mit modernen Mikrocontrollern oder FGPA bieten.

Auf jeden Fall bietet die Beschäftigung mit alten Systemen immer auch nützliches Grundwissen für den modernen Alltag, da man versteht, wie Dinge funktionieren und man näher am Funktionsprinzip ist als bei modernen Geräten. Immerhin wurde die PDP-8 sehr lange mit Fernschreiber-Terminals betrieben, statt eines Bildschirms wurden Ein- und Ausgaben auf einem Drucker ausgegeben. Das erklärt die zeilenorientierte Arbeitsweise und auch die Sparsamkeit der Ausgaben.