In den 1980er Jahren war es bei den Heim- und Personal-Computern üblich, dass die Programme, Spiele und Daten auf der sogenannten Datasette gespeichert wurden, also eine Kompaktaudiokassette mit dem Magnetband, wie sie in derselben Dekade für die Aufnahme von Musik und anderen Tonaufnahmen wie Hörspiele und Radiomitschnitte verwendet wurden. Wobei es sprachlich aufzupassen gilt, denn die Datasette ist quasi das Tempo-Taschentuch unter den Kompaktkassetten für die Speicherung der Computerdaten, da die Bezeichnung ursprünglich von Commodore ist. Das lag nicht zuletzt daran, da der Begriff vor allem mit dem Commodore C64 eine starke Verbreitung in Deutschland und Mitteleuropa bei den Heim- und Personal-Computer fand, wurde der Begriff Datasette also zum Synonym für die Speicherung von Computer-Daten auf der Kompaktaudiokassette. Andere Hersteller wie unter anderem Atari, Apple, Sinclair, Robotron oder Amstrad/Schneider besaßen ebenfalls die Möglichkeit, die Computerdaten auf Kompaktaudiokassette zu speichern und von ihr wieder zu lesen. Selbst der berühmte IBM 5150 PC besaß eine Schnittstelle zum Anschluss eines Datenrekorders. Die Hersteller boten über den Handel bereits auch Programme und Spiele auf der „Datasette“ zum Verkauf an. Je nach Größe des Programms war die Spielzeit dieser um die 15 bis 20 Minuten lang. Es war aber auch möglich, sich über den damalig gewöhnlichen HiFi-Handel sich leere Kassetten mit üblicherweise 60 oder 90 Minuten Spielzeit zu kaufen, um so auch mehrere Programme auf die Kassette zu speichern. Bezüglich der Heimcomputer von Robotron in der DDR hatte ich bereits einen Artikel geschrieben gehabt, wie wir es mit den Laden der Spiele in den Robotron KC 85/4 gehandhabt hatten.
In dem YouTube-Video ‚Loading PC Games from Reel to Reel Tape‘ des Kanals LGR vom US-Amerikaner Clint Basinger stellt dieser den ‚Kansas City Standard‘ vor, der ein offener Standard durch den Zusammenschluss von einigen Herstellern der Heim- und Personal-Computer wie Acorn Computers Ltd, Triumph-Adler, MITS für ihren Altair 8800, dem Taschenrechner-Hersteller Casio und anderen war und im amerikanischen Byte Magazin im Jahr 1975 beschlossen und vorgestellt hatten. Mit einem nach diesem Standard funktionierenden Kassetteninterface war es möglich, im wesentlichen wie das an einer seriellen Schnittstelle angeschlossenem Modem die Bits in Töne umzuwandeln, um sie eben auf ein Tonband oder Kompaktaudiokassette speichern und wieder von ihr einlesen zu können. Gespeichert wurden die Bits mit einer Modulation von 300 Bit je Sekunde. Entsprechende Kassetteninterface-Geräte waren dann ab der zweiten Hälfte der 1970er Jahre ab zirka 80 US-$ im Handel erhältlich, was wesentlich preiswerter war als ein 8″ oder später 5,25″ Diskettenlaufwerk. Zu dieser Zeit kostete in Deutschland zum Beispiel ein Diskettenlaufwerk 3.000,- DM. Davon abweichend implementierte Sega für ihre Spielekonsole SG-1000 eine Variante mit 600 Bit je Sekunde, sowie Acorn für ihren BBC Micro und Acorn Electron eine mit bis zu 1200 Bit je Sekunde. Clint stellt dabei das im Jahr 2006 unter der Public Domain Mark 1.0 stehende DOS-Programm KCS08 vor, welches Dateien in Wave-Audiodateien encodiert und wieder zurück decodiert. Dabei bietet es einige Optionen wie zum Beispiel die Art der Modulation – 300, 600 oder 1200 Bit je Sekunde, Parität, die Kodierung und einige weitere an.
Und Clint wäre nicht Clint von LGR, wenn er das Spielchen nicht bis aufs i-Tüpfelchen treibt und sich extra ein altes und hochwertiges Tonbandgerät zulegt, um auf einigen Tonbändern ein altes DOS-Spiel und einige andere Dateien zur Demonstration zu encodieren und speichern, um es wieder dann als Audio-Stream einzuspielen und vom KCS08-Programm zurück zu dekodieren.
Bei meiner Internet-Recherche bin ich noch auf das Python-Script py-kcs von dem US-amerikanischen Software-Autor David Beazley gestoßen, welches Dateien mit einer Modulation von 300 Bit je Sekunde nach 8N1 encodieren und wieder decodieren kann. – Wenn man auf seinem macOS, Linux oder anderem *Unix keinen DOS-Emulator direkt zur Hand hat.
Zum Schluss habe ich nun also auch diesen Artikel in seiner Klarschrift in eine Wave-Datei mit 1200 Baud zum Nachhören umgewandelt.
Zum Ende der Sendung bereden Holgi und Chris Marquardt in WRINT-Folge WR1179 noch, dass es als Fotograf auch dazu gehören darf, einen gewissen Reflex zu entwickeln, wenn man in seinem Alltag an einen Ort, einer Stimmung oder einer bestimmten Situation vorbeikommt, um dann seine Kamera oder das Smartphone aus der Tasche zu holen und ein Foto davon zu machen. Gut dafür ist es, dass man in seinem Weg oder Tun kurz anhält und sich sogar Zeit nimmt, um in Ruhe ein ansehnliches Foto zu erstellen. Sei es, um den Moment abzupassen, wo gerade keine Menschen in das Motiv stören, eine Person in einer bestimmten Pose sogar Teil des Motivs ist, oder sich mit seiner Kamera an den Lichtverhältnissen ausrichtet. Besser ist es sogar, wenn man die Möglichkeit besitzt, zu einem späteren Zeitpunkt an den Ort mit Motiv in Ruhe zurückzukehren, um vielleicht das Foto mit einer besseren Ausrüstung zu machen.
Oft ist es aber nötig, auf diesen Reflex zurückzugreifen zu können, weil klar ist, dass diese eine Situation oder das Motiv sehr selten oder einmalig ist. Und so ist es mir auch am 5. Dezember 2014 passiert.:
Als ich an der Straßenbahnhaltestelle des Frankfurter Hauptbahnhofs auf meine Linie wartete, um zum Universitäts-Campus West zu fahren, fuhr ein historischer Straßenbahn-Triebwagen um kurz nach 19:00 Uhr Richtung Platz der Republik an mir vorbei, der mit großen aufblasbaren Bällen voll gefüllt war, welche das Motiv des Erdglobus hatten und von innen beleuchtet waren. Ich konnte bis heute nicht herausfinden, warum an diesem Freitag eine historische Straßenbahn mit beleuchteten Bällen in ihrem inneren durch die Stadt fuhr, inmitten der anderen Linien, die die Menschen zu ihrem Feierabend nach Hause und ins Wochenende fuhren. Im Nachhinein war ich einfach nur froh, dass ich, nachdem ich die Straßenbahn bemerkt hatte, sofort mein Telefon aus meiner Hosentasche zog und schnell noch ein Foto von dieser besonderen ÖPNV-Fahrt schießen konnte. Die Straßenbahn auf dem Bild selber ist zwar zum größten Teil verschwommen – was natürlich daran lag, dass sie fuhr und dass das von mir verwendete iPhone 5 noch nicht so gute Bilder erstellen konnte, aber ich denke, so schnell wird mir erstmal keine Straßenbahn wieder mit beleuchteten Bällen in ihrem Inneren begegnen.
Als ich im vergangenen Herbst nach einer Lösung im Internet recherchiert habe, um eine Audio-Datei (wav, mp3, etc.) aus der Tonspur einer DVD zu erzeugen, bin ich in meinen Suchergebnissen über Beispiele für Kommandozeilen-Befehle auf der Website www.commandlinefu.com aufmerksam geworden. Bei Commandlinefu kann jeder nach der Registrierung einen kleinen Beitrag einstellen für einen Kommandozeilen-Befehl den er oder sie als erwähnenswert erachtet. Dabei wurden – und werden Befehle präsentiert, die entweder etwas Praktisches, etwas Nützliches, etwas Interessantes oder einfach nur etwas Witziges ausführen. So gab es bis vor etwa zehn Jahren alternative Beispiele, wie sich ein öffentlicher SSH-Schlüssel auf einem Ziel-Host in die Datei ~/.ssh/authorized_keys einfügen lässt. Hintergrund war, dass Apple zwar die vollständige SSH-Suite seit Beginn von Mac OS X als festes Bestandteil integriert hat, aber über etliche Versionen hat das Programm ssh-copy-id gefehlt. So wurden alternative Wege erarbeitet, die mit Hilfe der Standard-Unix-Tools den Schlüssel über ein einziges Shell-Kommando auf den Ziel-Host brachten.xx Ich habe mal angefangen, ein wenig in der mittlerweile über fast 12 Jahre alten Sammlung zu stöbern und eine wirklich kleine Auswahl in meinem Wiki gesammelt. Aber es steckt noch viel Potenzial in der Sammlung weitere Befehls-Schätze zu entdecken. Es braucht nur etwas Internet und vielleicht einen halben oder ganzen Tag, an dem sich nichts sinnvolleres mit der vorhandenen Freizeit anstellen lässt. Es gibt im übrigen auch einen Twitter-Account zu Commandlinefu, der einem über einen neuen Beitrag informiert.
In der dritten und letzten Runde habe ich schließlich auf meiner emulierten MicroVAX das ursprünglich von der Digital Equipment Corporation entwickelte OpenVMS installiert. OpenVMS – bis 1991 nur VMS – steht für Virtual Memory System und war zur Zeit seiner Erstveröffentlichung 1977 ein ausgesprochen fortschrittliches 32-Bit-Betriebssystem, das Mehrbenutzer- und Multitasking-fähig war. Es war zudem eines der ersten Betriebssysteme mit virtueller Speicherverwaltung, welches auch die Namensgebung begründet. Das Betriebssystem wurde gleichzeitig mit der VAX-Computerreihe veröffentlicht und für diese entwickelt. Für die Entwicklung von VMS war unter anderem David Neil Cutler verantwortlich, der 1988 von Microsoft bei DEC abgeworben wurde, um das seinerzeit neue Betriebssystem Windows NT zu entwerfen und die Entwicklung zu leiten. Das hatte zur Folge, dass es deutliche Ähnlichkeiten von VMS und Windows NT gibt. Die Firma DEC wurde im Jahr 1998 von Compaq übernommen und damit auch die Weiterentwicklung von OpenVMS. Da Compaq selber wiederum im Jahr 2002 von Hewlett Packard übernommen wurde, gingen Weiterentwicklung und Vertrieb von OpenVMS auch an HP. Im Jahr 2014 hat HP Weiterentwicklung und Vetrieb mit OpenVMS 8.4 beendet. Dies übernimmt seitdem die eigens dafür gegründete VMS SOFTWARE INC (kurz: VSI) in Lizenz.
Seit der Veröffentlichung von VMS mit der Version 1.0 im Jahr 1977 bis zum jetzigen Zeitpunkt, hat das Betriebssystem insgesamt 4 Hardware-Plattformen unterstützt.: bis zur Version 7.3 im Jahr 2001 war dies die VAX-Architektur. Ab 1992 kam auch die von DEC entwickelte „Alpha AXP“ RISC Prozessor-Architektur hinzu, die von Anfang an auch eine 64-Bit-Architektur war. Die letzte für Alpha-Prozessoren erschienene OpenVMS-Version wurde von VSI im Jahr 2017 mit der Versionsnummer V8.4-2L2 veröffentlicht. Durch die Übernahme von Compaq durch HP im Jahr 2001, wurde OpenVMS für die 64-Bit Itanium Architektur portiert. Die Itanium-Architektur (kurz: IA-64) wurde von HP und Intel gemeinsam entwickelt. Die Unterstützung der Itanium-Architektur soll mit dem letzten Update für OpenVMS 8.4 eingestellt werden. Schon seit einiger Zeit wird durch HP und der VMS SOFTWARE INC an einer Portierung von OpenVMS auf die x86-64 Architektur hingearbeitet. Mit der künftig erscheinenden OpenVMS Verson 9.0 soll nur noch die 64-Bit CISC-Architektur unterstützt werden.
So viel zur Versionsgeschichte von OpenVMS. Der Betreiber der Webseite VaxHeaven (http://www.vaxhaven.com/VaxHaven) hat einige Images von CD-ROMs, Magnetbändern und Lochstreifen zusammen getragen und bietet sie wieder zum Download an. Dabei handelt es sich um Images von den OpenVMS-Installations-Medien, den Dokumentations- und Software-Produktbibliotheken.
Als OpenVMS Installations-Image hatte sich für mich nur die Version 7.1 für meine emulierte (Micro-) VAX angeboten. Nach der Installation hat sich aber herausgestellt, dass auf der Installations-CD von OpenVMS 7.1 nicht der TCP/IP Protokoll-Stapel von DEC mitgeliefert wurde. Version 7.1 wurde im Jahr 1996 noch von DEC veröffentlicht. Nach etwas Recherche im Internet bin ich dann doch noch auf die OpenVMS Version 7.3 fündig geworden. Dies war die letzte Version für die VAX-Architektur und wurde 2001 von Compaq veröffentlicht. Diese enthielt dann auch den TCP/IP Protokoll-Stapel.
Die Installation von (Open-) VMS läuft im Prinzip genauso ab wie diese von DECs ULTRIX. Es wird als erstes von dem Installations-Image – bei der realen Hardware also die Installations-CD oder das Magnetband – gebootet, die Ziel-Festplatte ausgewählt auf der im Anschluss alle „Sicherungssets zum Wiederherstellen“ des Systems für die Installation kopiert werden – im meinem Fall die erste mit der Bezeichnung DUA0 – und dann das System neu gestartet um von der Festplatte DUA0 die Installation und Einrichtung zu starten. Was zum Glück bei der Installation von OpenVMS im Gegensatz zu ULTRIX unter dem SIMH-Emulator wegfällt, ist der Umstand, dass man die Laufwerksbezeichnungen in einem Installations-Skript anpassen muss. OpenVMS sieht die Hardwarekennung RQ vom Emulator und kann mit diesen direkt arbeiten. Im Verlauf des Installationsprozesses wird nach der lokalen Zeit gefragt. Es wird nochmals nach dem Quellinstallationsmedium (CD-Image) gefragt und sichergegangen, dass dieses auch gemountet wurde. Es wird auch gefragt, welche Softwarekomponenten installiert werden sollen – einschließlich DECwindows mit Motif wie bei ULTRIX. Ich habe zur Sicherheit alles mit ‚yes‘ bestätigt. Auch wird DECnet-Plus für die Netzwerkkonfiguration mit TCP/IP benötigt. Man darf sich aber nicht wundern, die Angaben des benötigten und des zu verbleibenden Speicherplatz auf der Festplatte wird in Blöcken angegeben anstatt in Kilo-, Mega- oder Gigabyte. Da ein Block immer mit einer Größe von 512 Byte bemessen wird, lässt sich die Angabe in Byte recht schnell erahnen, beziehungsweise berechnen. Wo es wieder einen signifikanteren Unterschied zu ULTRIX, sowie der restlichen Unix- und Linux-Welt gibt, ist die Anzahl der User-Accounts die bereits während der Installation eingerichtet werden. Zum einen gibt es den ‚SYSTEM‘-Account, der vergleichbar mit dem Root-Account bei Unix und Linux ist. Der Account SYSTEST bietet eine geeignete Umgebung zum Ausführen von UETP, einem Testpaket für Benutzerumgebungen auf eigenständigen Systemen. Darüber hinaus wird der Account FIELD angelegt, der dazu dient, ein System testen zu können. Der Installer verlangt dann den ‚SCSNODE name‘ – also einen Hostnamen, sowie eine ‚SCSSYSTEMID‘, eine ID zur Identifikation des Rechners innerhalb eines VAX-Clusters. Anschließend erwartet der Installer die Lizenzschlüssel, aber man kann dies auch erstmal verneinen und die Lizenzaktivierung hinterher nach der Installation durchführen. Letztendlich wird noch nach der Zeitzone gefragt und ob zurzeit die Sommerzeit vorherrscht oder nicht. Letztendlich wird noch DECnet-Plus installiert und es muss sichergestellt sein, dass das Installationsmedium gemountet ist, um die Komponenten installieren zu können. Abschließend erzeugt der Installer ein neues System-Image und fährt VMS herunter. Nach dem ersten und jeden weiteren Bootvorgang meldet sich OpenVMS und wartet auf den Login. Der Prompt ist dabei nicht sofort zu sehen, dass heißt, vor dem Login muss immer einmal Return gedrückt werden. Ansonsten gibt OpenVMS auf der Systemkonsole immer die Auditmeldungen aus. Insgesamt betrachtet ist die Installation von OpenVMS sehr einfach, wenn man mal beachtet, dass es sich dabei eigentlich um ein Enterprise-System handelt. Die Installation verlangt im Gegensatz zu DECs Ultrix nur sehr wenige technische Details, was sehr angenehm ist.
Danach geht es daran, das System netzwerkfähig zu bekommen. Allerdings ist es zu diesem Zeitpunkt nur möglich unter OpenVMS DECnet einzurichten. Der TCP/IP Protokoll-Stapel muss von der Installations-CD nachträglich installiert werden. Da meine eingesetzte OpenVMS Version 7.3 aus dem Jahr 2001 stammt, sind sämtliche Komponenten zum Glück mit einem heimischen IPv4-Netz kompatibel, während hingegen bei dem ULTRIX Final-Release 4.5 eine aus heutiger Sicht mit veralteten Funktionen ausgestattete Bind-Version enthalten ist und so keine Namensauflösung mehr möglich ist. Leider ist es mir aber prinzipiell nicht mehr möglich, IPv4 unter meinem emulierten OpenVMS zu konfigurieren. Grund ist, dass für die Nutzung der Netzwerkfunktionalitäten OpenVMS mit einer gültigen Lizenz versehen werden muss. Für die Nutzung einer OpenVMS-Installation ohne kommerzielle Absichten hatte HP das OpenVMS-Hobbyist-Programm mal ins Leben gerufen gehabt. So konnte man sich nach Registrierung eine Hobbyisten-Lizenz mit einer Laufzeit von einem Jahr ausstellen lassen. Seit Mai letzten Jahres hat HP aber keine neuen Hobbyisten-Lizenzen mehr ausgestellt. Grund ist, dass man mit der Einstellung von OpenVMS 8.4 und der Veröffentlichung von Version 9.0 als ersten x86-64 Port ein neues ‚Community License Program‘ ab diesem Jahr auf die Beine stellen möchte. Die letzten von HP noch ausgestellten Hobbyisten-Lizenzen werden am 15. März dieses Jahres auslaufen. Möchte man also noch die Möglichkeit haben und in den Genuss von OpenVMS mit voller TCP/IP Netzwerkfunktionalität zu genießen, so gibt es noch im Rahmen des ‚Student Hobbyist License Programs‘ das Angebot, das FreeAXP Kit herunterzuladen. Dabei handelt es sich um die Emulation eines virtuellen Alpha-Server mit OpenVMS 8.4, welche auf einem 64-Bit Windows ausgeführt werden kann. Allerdings wird auch zum 15. März diese Lizenz ablaufen. Auch gibt es bei dem Kit keine Möglichkeit DECwindows mit Motif auszuführen. Ich bin ja mal gespannt, ob die VMS SOFTWARE INC wieder ein attraktives Lizenzierungsmodell für Leute wie mich auf die Beine stellt, die das Betriebssystem einfach nur mal ausprobieren, kennen lernen und damit ein wenig herumspielen möchten. Mich hätte es nämlich auch dringend interessiert, ob OpenVMS mit DECwindows und Motif auch so langsam auf meinem Linux-Host ist wie ULTRIX mit DECwindows und Motif, oder ob es vielleicht flüssiger läuft. – Im Internet gibt es nämlich Besitzer von originalen VAX-Computern, die berichten, das ULTRIX – wenn es überhaupt auf ihren Geräten zu installieren ist – nur sehr langsam ist im Vergleich zu (Open-) VMS.
Auch wenn ich OpenVMS unter meiner emulierten MicroVAX leider doch nicht auf Grund der fehlenden Lizenzierunsgmöglichkeit in mein heimisches Netz integrieren kann, bin ich schon echt froh, dass ich es überhaupt zum Laufen bekommen habe.
Als Kommandozeileninterpreter und Skriptsprache steht unter OpenVMS die DIGITAL Command Language (DCL) zur Verfügung. Die Kommandos und deren Syntax unterscheiden sich deutlich denen von DOS und Linux/Unix. Bisweilen sind die Befehle sehr umständlich, wie zum Beispiel die Angabe um auf die oberste Verzeichnisebene eines Laufwerkes zu gelangen. Da steckt also viel Potenzial, das System kennenzulernen und zu erforschen. Der Hauptantrieb, weshalb ich mir OpenVMS überhaupt mal anschauen wollte, ist die Eigenschaft, dass bei der DCL alle Dateien und Verzeichnisse zwei Dateierweiterungen. besitzen.: Die Dateinamen und Verzeichneichnisse bestehen aus Namen, Datei-Typ und Versionsnummer (z. B. NAME.TYP;1), NAME und TYP sind jeweils Ketten von bis zu 39 alphanumerischen Zeichen. Geänderte Dateien werden als eine neue Version gespeichert, die sich in einer inkrementierenden Versionsnummer nach einem Semikolon im Dateinamen unterscheidet (NAME.TYP;1 → NAME.TYP;2). Dies wurde später auch von ISO 9660 übernommen. Die ältere Version wird vom System nicht gelöscht, dies kann der Benutzer mit den DELETE- oder PURGE-Befehlen bedarfsweise tun. Die maximal mögliche Versionsnummer ist 32767. Ist diese erreicht, kann keine neue Version der Datei mehr angelegt werden. Ein Aufräumen und Umbenennen ist selbstverständlich möglich.
Ich denke ja, dass bei ID-Softwares Computerspiel Doom neben der Grafik, der Spielsteuerung, Spielprinzip und dem Level-Design auch die Musik einen Teil des Erfolgs mit ausgemacht hat. Die Hintergrundmusik des Spiels wurde von Robert Prince komponiert. Es handelt sich hierbei um MIDI-Sequenzen, die großenteils Musikstücken aus dem Metal-Genre, wie Rise von Pantera und Behind the Crooked Cross von Slayer, nachempfunden sind. Mir gefiel sie jedenfalls von Anfang an. Irgendwann habe ich mit einem Level-Editor für die spiel typischen WAD-Dateien diese MIDIs herausextrahiert, um die Musik nur als solche anzuhören. Die MIDI-Dateien wurden mit den Jahren immer wieder durch neue Sequenzer überarbeitet, dass sie etwas mehr und mehr klingen, wie mit richtigen Instrumenten im Studio eingespielt. Im Internet gibt es inzwischen zahlreiche Websites von Retro-PC-Enthusiasten, wo sie als Klangbeispiele für die Entwicklung der PC-Soundkarten in der Nachschau herhalten. So gab es auch bereits eine Klangauffrischung im Rahmen des Brutal-Doom Projekts, welches das Ziel hat, die originalen Doom-Titel aus den 1990er Jahren um weitere spielerische Elemente zu ergänzen. Im Jahr 2016 hat dann schließlich der US-amerikanische Videospielkomponist und Sound-Designer Andrew Hulshult die Musik vom allerersten Doom-Spiel gänzlich neu arrangiert und vertont. – Und was dabei herauskam ist meiner Meinung richtig gut gelungen, denn es klingt nun nicht mehr danach, als ob die Instrumente durch einen Computer-Synthesizer erzeugt worden, sondern nach richtiger Heavy Metal und Gothic Musik.
Das Gute dabei ist, dass man sich nicht nur auf den bei YouTube veröffentlichten Audio-Stream verlassen muss, sondern die klanglich hochwertigeren mp3- und Flac-Dateien des neuen Soundtracks herunterladen kann.