1 | |
---|
2 | The Paper tape project |
---|
3 | ====================== |
---|
4 | |
---|
5 | The paper tape project is a big crowd of programs, scripts and binary |
---|
6 | data and experiments which made it possible to read and punch |
---|
7 | paper tapes. |
---|
8 | |
---|
9 | Everything is written in German, so if you don't understand something, |
---|
10 | feel free to mail me (technikum29.de @ - nospam - @ sven; read it the |
---|
11 | other way around). |
---|
12 | |
---|
13 | Sven, 05.05.2008 |
---|
14 | |
---|
15 | You can read much more about the projects at: |
---|
16 | * http://privat.technikum29.de/svens-projekte/Lochstreifen |
---|
17 | * http://dev.technikum29.de/wiki/Projekte/Lochstreifen |
---|
18 | |
---|
19 | |
---|
20 | 1. Perl paper tape tools |
---|
21 | ------------------------ |
---|
22 | There are some self-explanatory perl scripts which draw paper tapes |
---|
23 | (ASCII art), generate labels in different "fonts", parse ASCII |
---|
24 | number files, etc. |
---|
25 | |
---|
26 | |
---|
27 | 2. Userspace punch driver |
---|
28 | ------------------------- |
---|
29 | This is a linux ppdev driver for the FACIT 4070 Tape punch-75 CPS |
---|
30 | paper tape puncher (parallel port). The file puncher.c implements |
---|
31 | this driver. |
---|
32 | After connecting the puncher to the computer and before switching |
---|
33 | it on, you must run setoff-strobe[.c], otherwise it will directly |
---|
34 | start punching like an idiot. |
---|
35 | |
---|
36 | The usage of puncher[.c] is quite simple: |
---|
37 | |
---|
38 | $ cat files-to-punch | ./puncher |
---|
39 | |
---|
40 | of course you need the ppdev driver in your linux kernel. Make sure |
---|
41 | /dev/parport0 exists. |
---|
42 | |
---|
43 | # modprobe ppdev |
---|
44 | # chmod 777 /dev/parport0 |
---|
45 | |
---|
46 | There is a nice interactive perl frontend which generates a label |
---|
47 | for your paper tape: |
---|
48 | |
---|
49 | $ ./puncher-frontend.pl files-to-punch |
---|
50 | |
---|
51 | |
---|
52 | 3. User space paper tape reader |
---|
53 | ------------------------------- |
---|
54 | This ppdev userspace driver drives the GHIELMETTI FER 201. Most |
---|
55 | things from the puncher driver also apply here, especially the |
---|
56 | setoff-strobe program which stops the reader from running all |
---|
57 | the time. |
---|
58 | |
---|
59 | Usage of reader[.c]: |
---|
60 | |
---|
61 | $ ./reader > read-in-file.bin |
---|
62 | |
---|
63 | The program is not really completed, thus it won't correctly |
---|
64 | detect the end of the paper tape, but it stops automatically |
---|
65 | some time after the paper tape run out. |
---|
66 | |
---|
67 | |
---|
68 | 4. Paper Tape Visualisator |
---|
69 | -------------------------- |
---|
70 | The visualisator program is a modular C program which draws |
---|
71 | nice pictures of paper tapes using the cairo graphics library. |
---|
72 | Thus it can produce SVG and PNG output and is highly |
---|
73 | configurable. There exists multiple frontends, among others a |
---|
74 | terminal frontend (CLI); a web frontend (PHP & Ajax), using |
---|
75 | the terminal program; and a very nice GTK user interface which |
---|
76 | is capable of loading very huge files (multiple MegaBytes) |
---|
77 | because it doesn't have to render the whole paper tape at once. |
---|
78 | |
---|
79 | Especially the gtk frontend still tends to crash unexpectedly, |
---|
80 | besides there is a very strange bug while rendering the paper |
---|
81 | tape partially in the viewport which I could not solve until |
---|
82 | now. |
---|
83 | |
---|
84 | The PHP frontend is quite complex, but very friendly to DAUs |
---|
85 | (a german expression for "PEBKAC") due to the ability to fold |
---|
86 | the huge formular. It should be running stable but hasn't |
---|
87 | really be tested so far. Thanks to caching every generated image |
---|
88 | it should even stand very much rendering requests. |
---|
89 | |
---|
90 | |
---|
91 | |
---|