root/paper-tape-project/trunk/in-a-nutshell.htm

Revision 41, 4.2 kB (checked in by sven, 2 years ago)

Some documentation enhacements,
* web-frontend: removed all the temp/ stuff (this should be temporary, nothing more)

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