The Punched Paper Project website has moved.

This website is from 2008 and the information is most likely quite outdated. Please see the technikum29 Labs for the new website. You might also want to check the technikum29 Computer Museum main website.
-- Sven, July 2013

The Paper Tape Project in a nutshell (German)

Der folgende Text wurde als Entwurf für eine Darstellung in der offiziellen Homepage im September 2009 geschrieben

Das Lochstreifenprojekt

Das Ziel des Paper Tape Projects ist es, Lochstreifen auf heutigen Computern verarbeiten zu können, d.h. Lochstreifen stanzen, einlesen und "bearbeiten" zu können. Dazu wurden vergleichsweise neue Lochstreifengeräte verwendet, die bereits über eine parallele Schnittstelle (Centronics) angesprochen werden, auf der sie auf TTL-Niveau kommunizieren können. Leider sind diese Geräte aber noch nicht neu genug, um dem Centronics-Quasi-Standard der 1970er-Jahre zu entsprechen (erst 1994 als IEEE-1284 standarisiert). Deswegen kann man nicht einfach ein gewöhnliches paralleles Druckerkabel verwenden, um einen PC mit dem Lochstreifengerät zu verwenden.

Die erste Hürde, die genommen werden musste, war demnach das Herstellen eines passend verdrahteten Kabels, sodass nun ein Lochstreifengerät mit dem Parallelport-Ausgang des Computers verbindet werden konnte ("LPT"-Anschluss, der vor wenigen Jahren noch an jedem Computer vorzufinden war). Freilich fing damit erst die eigentliche Arbeit an, die darin bestand, eine Kommunikation herzustellen, schließlich entspricht auch das zeitabhängige Pegelverhalten der Geräte nicht dem genannten Standard.

Die Entwicklung dieser Treiber fand zunächst unter dem freien Betriebssystem GNU/Linux statt, welches sich wegen dem Open Source-Kernel hervorragend zur Treiberprogrammierung anbietet. Der Einfachheit halber wurde allerdings zu einem Userspace-Treiber, aufbauend auf dem ppdev-Framework des Linux 2.6-Kernels, gegriffen. Auf Basis des ppdev-Moduls kann in der Programmiersprache C mit wenig Aufwand der Parallelport des Computers von einem ganz normalen Anwenderprogramm vollständig gesteuert werden.

Der Parallelport besteht aus drei 8-bit-Hardwareregistern: Ein bidirektionales Datenregister, ein Steuerregister und einem Signalregister. Da Lochstreifen aus 8-bit breiten Wörtern (Oktetts) bestehen, drängt sich regelrecht auf, diese acht Bit auf das Datenregister zu legen und im Computer direkt in einem Byte zu speichern. Die Steuer- und Signalleitungen ermöglichen eine Takt- d.h. Interrupt-gesteuerte Kommunikation mit den Lochstreifengeräten (Der Parallelport verfügt über ein Interrupt-fähiges Bit im Statusregister, die Strobe). Die verwendeten Geräte stanzen etwa 80 Zeichen/Sekunde und lesen 250 Zeichen/Sekunde, sodass selbst langsame Personalcomputer die Protokollemulation mühelos bewerkstelligen können.

Wie bereits gesagt, stellt sich bei Lochstreifen nicht die Frage der Modellierung, da Oktetts als Bytes auf PC-Architekturen gerade die kleinste adressierbare Speichereinheit darstellen und somit als nativer Datentyp verarbeitet werden. Eine 250 Byte lange Binärdatei stellt somit genau einen 250 Zeichen langen Lochstreifen dar. Dadurch ist die computerinterne Verarbeitung von Lochstreifen durch Unix-Kommandozeilenwerkzeuge oder grafische Werkzeuge wie Hex-Editoren sehr leicht möglich. Zur Vereinfachung des Arbeitsflusses wurden zunächst einfache Werkzeuge in der Scriptsprache Perl geschrieben, mit denen etwa auch Beschriftungen von Lochstreifen vorgenommen werden konnten. Später entstand ein grafischer Editor, mit dem Binärdateien direkt als Lochstreifen visualisiert bearbeitet werden können. Dieser in der Programmiersprache C mit Gtk+ programmierter "Paper Tape Editor" wurde ausgebaut zu der "Paper Tape Suite", mit der nun auch unter Windows Lochstreifen eingelesen, bearbeitet, abgespeichert und ausgestanzt werden können. Auf diese Weise sind alle nur denkbaren Aufgaben mit Lochstreifen dank der Vielseitigkeit von Computern möglich.

Weitere Details zu diesem Projekt mit umfassenden Hintergrundinformationen gibt es auf der englischsprachigen Homepage, The Paper Tape Project. Alle Quelltexte wurden unter einer Open Source-Lizenz veröffentlicht und können im technikum29.de Subversion-Repositorium eingesehen werden.