| 1 | <html> |
|---|
| 2 | <body> |
|---|
| 3 | |
|---|
| 4 | <h2>The Paper Tape Project in a nutshell (German)</h2> |
|---|
| 5 | |
|---|
| 6 | <p><i>Der folgende Text wurde als Entwurf für eine Darstellung in der offiziellen |
|---|
| 7 | Homepage im September 2009 geschrieben</i></p> |
|---|
| 8 | |
|---|
| 9 | <h3>Das Lochstreifenprojekt</h3> |
|---|
| 10 | <p>Das Ziel des <i>Paper Tape Projects</i> ist es, Lochstreifen auf heutigen |
|---|
| 11 | Computern verarbeiten zu können, d.h. Lochstreifen stanzen, einlesen und "bearbeiten" |
|---|
| 12 | zu können. Dazu wurden vergleichsweise neue Lochstreifengeräte verwendet, die |
|---|
| 13 | bereits über eine parallele Schnittstelle (Centronics) angesprochen werden, |
|---|
| 14 | auf der sie auf TTL-Niveau kommunizieren können. Leider sind diese Geräte aber |
|---|
| 15 | noch nicht neu genug, um dem Centronics-Quasi-Standard der 1970er-Jahre zu |
|---|
| 16 | entsprechen (erst 1994 als IEEE-1284 standarisiert). Deswegen kann man nicht |
|---|
| 17 | einfach ein gewöhnliches paralleles Druckerkabel verwenden, um einen PC mit |
|---|
| 18 | dem Lochstreifengerät zu verwenden.</p> |
|---|
| 19 | |
|---|
| 20 | <p>Die erste Hürde, die genommen werden musste, war demnach das Herstellen eines |
|---|
| 21 | passend verdrahteten Kabels, sodass nun ein Lochstreifengerät mit dem |
|---|
| 22 | Parallelport-Ausgang des Computers verbindet werden konnte ("LPT"-Anschluss, |
|---|
| 23 | der vor wenigen Jahren noch an jedem Computer vorzufinden war). Freilich |
|---|
| 24 | fing damit erst die eigentliche Arbeit an, die darin bestand, eine Kommunikation |
|---|
| 25 | herzustellen, schließlich entspricht auch das zeitabhängige Pegelverhalten der |
|---|
| 26 | Geräte nicht dem genannten Standard.</p> |
|---|
| 27 | |
|---|
| 28 | <p>Die Entwicklung dieser Treiber fand zunächst unter dem freien Betriebssystem |
|---|
| 29 | GNU/Linux statt, welches sich wegen dem Open Source-Kernel hervorragend zur |
|---|
| 30 | Treiberprogrammierung anbietet. Der Einfachheit halber wurde allerdings zu einem |
|---|
| 31 | Userspace-Treiber, aufbauend auf dem ppdev-Framework des Linux 2.6-Kernels, |
|---|
| 32 | gegriffen. Auf Basis des ppdev-Moduls kann in der Programmiersprache C mit wenig |
|---|
| 33 | Aufwand der Parallelport des Computers von einem ganz normalen Anwenderprogramm |
|---|
| 34 | vollständig gesteuert werden.</p> |
|---|
| 35 | |
|---|
| 36 | <p>Der Parallelport besteht aus drei 8-bit-Hardwareregistern: Ein bidirektionales |
|---|
| 37 | Datenregister, ein Steuerregister und einem Signalregister. Da Lochstreifen aus 8-bit |
|---|
| 38 | breiten Wörtern (Oktetts) bestehen, drängt sich regelrecht auf, diese acht Bit |
|---|
| 39 | auf das Datenregister zu legen und im Computer direkt in einem Byte zu speichern. |
|---|
| 40 | Die Steuer- und Signalleitungen ermöglichen eine Takt- d.h. Interrupt-gesteuerte |
|---|
| 41 | Kommunikation mit den Lochstreifengeräten (Der Parallelport verfügt über ein |
|---|
| 42 | Interrupt-fähiges Bit im Statusregister, die Strobe). Die verwendeten Geräte stanzen etwa 80 |
|---|
| 43 | Zeichen/Sekunde und lesen 250 Zeichen/Sekunde, sodass selbst langsame |
|---|
| 44 | Personalcomputer die Protokollemulation mühelos bewerkstelligen können.</p> |
|---|
| 45 | |
|---|
| 46 | <p>Wie bereits gesagt, stellt sich bei Lochstreifen nicht die Frage der Modellierung, |
|---|
| 47 | da Oktetts als Bytes auf PC-Architekturen |
|---|
| 48 | gerade die kleinste adressierbare Speichereinheit darstellen und somit als |
|---|
| 49 | nativer Datentyp verarbeitet werden. Eine 250 Byte lange Binärdatei stellt somit |
|---|
| 50 | genau einen 250 Zeichen langen Lochstreifen dar. Dadurch ist die computerinterne |
|---|
| 51 | Verarbeitung von Lochstreifen durch Unix-Kommandozeilenwerkzeuge oder grafische |
|---|
| 52 | Werkzeuge wie Hex-Editoren sehr leicht möglich. Zur Vereinfachung des Arbeitsflusses |
|---|
| 53 | wurden zunächst einfache Werkzeuge in der Scriptsprache Perl geschrieben, mit denen |
|---|
| 54 | etwa auch Beschriftungen von Lochstreifen vorgenommen werden konnten. Später entstand |
|---|
| 55 | ein grafischer Editor, mit dem Binärdateien direkt als Lochstreifen visualisiert |
|---|
| 56 | bearbeitet werden können. Dieser in der Programmiersprache C mit Gtk+ programmierter |
|---|
| 57 | "Paper Tape Editor" wurde ausgebaut zu der "Paper Tape Suite", mit der nun auch unter |
|---|
| 58 | Windows Lochstreifen eingelesen, bearbeitet, abgespeichert und ausgestanzt werden |
|---|
| 59 | können. Auf diese Weise sind alle nur denkbaren Aufgaben mit Lochstreifen dank |
|---|
| 60 | der Vielseitigkeit von Computern möglich.</p> |
|---|
| 61 | |
|---|
| 62 | <p>Weitere Details zu diesem Projekt mit umfassenden Hintergrundinformationen gibt es |
|---|
| 63 | auf der englischsprachigen Homepage, <a |
|---|
| 64 | href="http://dev.technikum29.de/projekte/paper-tape-project/documentation/">The Paper |
|---|
| 65 | Tape Project</a>. Alle Quelltexte wurden unter einer Open Source-Lizenz veröffentlicht |
|---|
| 66 | und können im <a |
|---|
| 67 | href="http://dev.technikum29.de/websvn/listing.php?repname=paper-tape-project&path=%2F&sc=0" |
|---|
| 68 | >technikum29.de Subversion-Repositorium</a> eingesehen werden.</p> |
|---|