The Paper tape project ====================== The paper tape project is a big crowd of programs, scripts and binary data and experiments which made it possible to read and punch paper tapes. Everything is written in German, so if you don't understand something, feel free to mail me (technikum29.de @ - nospam - @ sven; read it the other way around). Sven, 05.05.2008 You can read much more about the projects at: * http://privat.technikum29.de/svens-projekte/Lochstreifen * http://dev.technikum29.de/wiki/Projekte/Lochstreifen 1. Perl paper tape tools ------------------------ There are some self-explanatory perl scripts which draw paper tapes (ASCII art), generate labels in different "fonts", parse ASCII number files, etc. 2. Userspace punch driver ------------------------- This is a linux ppdev driver for the FACIT 4070 Tape punch-75 CPS paper tape puncher (parallel port). The file puncher.c implements this driver. After connecting the puncher to the computer and before switching it on, you must run setoff-strobe[.c], otherwise it will directly start punching like an idiot. The usage of puncher[.c] is quite simple: $ cat files-to-punch | ./puncher of course you need the ppdev driver in your linux kernel. Make sure /dev/parport0 exists. # modprobe ppdev # chmod 777 /dev/parport0 There is a nice interactive perl frontend which generates a label for your paper tape: $ ./puncher-frontend.pl files-to-punch 3. User space paper tape reader ------------------------------- This ppdev userspace driver drives the GHIELMETTI FER 201. Most things from the puncher driver also apply here, especially the setoff-strobe program which stops the reader from running all the time. Usage of reader[.c]: $ ./reader > read-in-file.bin The program is not really completed, thus it won't correctly detect the end of the paper tape, but it stops automatically some time after the paper tape run out. 4. Paper Tape Visualisator -------------------------- The visualisator program is a modular C program which draws nice pictures of paper tapes using the cairo graphics library. Thus it can produce SVG and PNG output and is highly configurable. There exists multiple frontends, among others a terminal frontend (CLI); a web frontend (PHP & Ajax), using the terminal program; and a very nice GTK user interface which is capable of loading very huge files (multiple MegaBytes) because it doesn't have to render the whole paper tape at once. Especially the gtk frontend still tends to crash unexpectedly, besides there is a very strange bug while rendering the paper tape partially in the viewport which I could not solve until now. The PHP frontend is quite complex, but very friendly to DAUs (a german expression for "PEBKAC") due to the ability to fold the huge formular. It should be running stable but hasn't really be tested so far. Thanks to caching every generated image it should even stand very much rendering requests.