Changeset 6 in projects
- Timestamp:
- Jul 19, 2008, 7:38:30 PM (15 years ago)
- Files:
-
- 7 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
README.txt
r1 r6 1 1 2 The Paper tape project2 The Paper Tape Project 3 3 ====================== 4 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. 5 The Paper Tape Project want's to make it possible for today's 6 personal computers to read and punch paper tapes. It is developed 7 on GNU/Linux, but most of the programs are intended to run on both 8 Linux and Microsoft Windows NT (Windows 2000, XP, Vista?). 8 9 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). 10 To tell you the truth -- it's partly only a big crowd of programs, 11 scripts and binary data and experiments, but with the help of 12 a subversion reposity (see README.SVN.txt for that) we want to 13 tidy it up and develop high quality software. 12 14 13 Sven, 05.05.2008 15 All programs in this project shall be published according to the 16 GNU General Public License (GPL), if there are no license information 17 in the particular files. 18 19 Many programs or comments, respectively, are written in German, because 20 technikum29.de is a german organisation. If you want to collaborate or 21 understand the programs, feel free to mail me (technikum29.de@sven; 22 read it the other way around). 23 24 Sven; 05.05.2008, 19.07.2008 14 25 15 26 You can read much more about the projects at: … … 17 28 * http://dev.technikum29.de/wiki/Projekte/Lochstreifen 18 29 30 I'll present you now our subprojects / subdirectories, but you can read 31 more about them in the particular README.txt files in the directories. 19 32 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. 33 main subprojects: 25 34 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. 35 1. The Perl Tools 36 2. Userspace punch driver (`userspace-driver') 37 3. The User space paper tape reader (`reader') 38 4. The Paper Tape Visualisation project 89 39 90 40 91 41 42 -
perl-tools/strip-null-bytes.c
r2 r6 7 7 * something like this low level thing ;-) 8 8 * 9 * (c) 14.06.08 sven 10 * use it as LPGL 9 * (c) 14.06.08 Sven Köppel 11 10 * 12 11 **/ -
reader/reader.c
r1 r6 9 9 * 12.04.08 initially written 10 10 * 11 * Dieses Programm wurde auf Basis des FACIT 12 * userspace drivers geschrieben. 13 * 14 * (c) 2008 Sven Koeppel 15 * This program is free software...: 16 * http://www.gnu.org/licenses/ 11 * The sourcecode of this program was branched from 12 * the FACIT userspace driver. 13 * 14 * Copyright (C) 2008 Sven Köppel 15 * 16 * This program is free software; you can redistribute 17 * it and/or modify it under the terms of the GNU General 18 * Public License as published by the Free Software 19 * Foundation; either version 3 of the License, or (at 20 * your option) any later version. 21 * 22 * This program is distributed in the hope that it will 23 * be useful, but WITHOUT ANY WARRANTY; without even the 24 * implied warranty of MERCHANTABILITY or FITNESS FOR A 25 * PARTICULAR PURPOSE. See the GNU General Public License 26 * for more details. 27 * 28 * You should have received a copy of the GNU General 29 * Public License along with this program; if not, see 30 * <http://www.gnu.org/licenses/>. 17 31 * 18 32 **/ -
visualisator/cli.c
r3 r6 1 1 /** 2 * Vollstaendig konfigurierbares Kommandozeilenfrontend fuer die 3 * Lochstreifenzeichenroutine (Cairo verwendend). 4 * siehe ./programm --help fuer Uebersicht der selbsterklaerenden 5 * Parameter. 6 * 7 * Default ist Einlesen ueber stdin und Ausgabe auf stdout in PNG. 2 * cli.c: An exemplar, but fully functional and highly configurable 3 * command line interface (CLI) to the paper tape low level drawing 4 * routines (lochstreifen.c), which uses the famous cairo graphics 5 * library for drawing. 6 * 7 * See ./program --help for an overview about the self-explanatory 8 * arguments. By default, the program will read in any files in 9 * stdin and print the genereated PNG file on stdout. 10 * 11 * This program is written in english only (but the sourcecode 12 * contains some german comments). See an exemplar usage of this 13 * program in a PHP web program in the web-frontend subproject. 14 * 15 * This program uses the argp.h argument parser from the glibc. 16 * Thus it unfortunately won't compile with any other libc. 17 * 18 * Copyright (C) 2008 Sven Köppel 19 * 20 * This program is free software; you can redistribute it and/or 21 * modify it under the terms of the GNU General Public License as 22 * published by the Free Software Foundation; either version 3 of 23 * the License, or (at your option) any later version. 24 * 25 * This program is distributed in the hope that it will be useful, 26 * but WITHOUT ANY WARRANTY; without even the implied warranty of 27 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 28 * GNU General Public License for more details. 29 * 30 * You should have received a copy of the GNU General Public License 31 * along with this program; if not, see 32 * <http://www.gnu.org/licenses/>. 8 33 * 9 34 **/ -
visualisator/gtk.c
r3 r6 1 1 /** 2 * A simple example GTK program which uses all features of the GtkPaperTape 3 * widget in one window. No extra features, except of: 2 * 3 * gtk.c: A simple exemplar GTK program which uses all features of the 4 * GtkPaperTape widget in one window. It does not implement any 5 * extra features, except of: 4 6 * 5 7 * * handling of command line options by using the glib parser, thus 6 8 * * being able to read from stdin or any files 7 * * menu item to open files in the GUI9 * * an additional menu item to open files in the GUI 8 10 * 11 * rewritten from gtkprogram.c on 21.06.2008 12 * Started 05.06.2008 13:13 (the first new project in the SVN) 13 * Copyright (C) 2008 Sven Köppel 9 14 * 10 * rewritten on 21.06.2008 15 * This program is free software; you can redistribute 16 * it and/or modify it under the terms of the GNU General 17 * Public License as published by the Free Software 18 * Foundation; either version 3 of the License, or (at 19 * your option) any later version. 11 20 * 21 * This program is distributed in the hope that it will 22 * be useful, but WITHOUT ANY WARRANTY; without even the 23 * implied warranty of MERCHANTABILITY or FITNESS FOR A 24 * PARTICULAR PURPOSE. See the GNU General Public License 25 * for more details. 26 * 27 * You should have received a copy of the GNU General 28 * Public License along with this program; if not, see 29 * <http://www.gnu.org/licenses/>. 12 30 * 13 31 **/ -
visualisator/gtkpapertape.c
r3 r6 1 1 /** 2 * Das GTKPaperTape-Objekt3 * s iehe gtkpapertape.h fuer Beschreibung2 * The GtkPaperTape object 3 * see gtkpapertape.h for more description and usage information. 4 4 * 5 * Copyright (C) 2008 Sven K 5 * Copyright (C) 2008 Sven Köppel 6 6 * 7 * This library is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU Lesser General Public 9 * License as published by the Free Software Foundation; either 10 * version 2 of the License, or (at your option) any later version. 7 * This program is free software; you can redistribute 8 * it and/or modify it under the terms of the GNU General 9 * Public License as published by the Free Software 10 * Foundation; either version 3 of the License, or (at 11 * your option) any later version. 11 12 * 12 * This library is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * Lesser General Public License for more details. 13 * This program is distributed in the hope that it will 14 * be useful, but WITHOUT ANY WARRANTY; without even the 15 * implied warranty of MERCHANTABILITY or FITNESS FOR A 16 * PARTICULAR PURPOSE. See the GNU General Public License 17 * for more details. 16 18 * 17 * You should have received a copy of the GNU Lesser General Public 18 * License along with this library; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 * 19 * You should have received a copy of the GNU General 20 * Public License along with this program; if not, see 21 * <http://www.gnu.org/licenses/>. 21 22 * 22 23 **/ -
visualisator/gtkpapertape.h
r3 r6 8 8 * interaction and use in applications. 9 9 * 10 * started 05.06.2008 13:13 (the first new project in the SVN) 11 * Sven 10 * It can produce high quality SVG and PNG files (apart from displaying 11 * the paper tape on the screen) and is highly configurable. With 12 * only a few lines of code you can use this widget in your own 13 * programs, gtk.c shows an exemplar implementation in only about 14 * 160 lines of C code. 12 15 * 16 * Started 05.06.2008 13:13 (the first new project in the SVN) 17 * Copyright (C) 2008 Sven Köppel 13 18 * 14 */ 19 * This program is free software; you can redistribute 20 * it and/or modify it under the terms of the GNU General 21 * Public License as published by the Free Software 22 * Foundation; either version 3 of the License, or (at 23 * your option) any later version. 24 * 25 * This program is distributed in the hope that it will 26 * be useful, but WITHOUT ANY WARRANTY; without even the 27 * implied warranty of MERCHANTABILITY or FITNESS FOR A 28 * PARTICULAR PURPOSE. See the GNU General Public License 29 * for more details. 30 * 31 * You should have received a copy of the GNU General 32 * Public License along with this program; if not, see 33 * <http://www.gnu.org/licenses/>. 34 * 35 **/ 15 36 16 37 #ifndef GTK_PAPER_TAPE_H -
web-frontend/generator.php
r1 r6 1 1 <?php 2 /** 3 * The Paper Tape Project -- Visualisation Web frontend 4 * 5 * This PHP setup is capable of serving PNG and SVG files to clients 6 * by using the cli.c interface to the LOCHSTREIFEN cairo drawing 7 * routines. See index.html for all possible GET parameters. 8 * 9 * Currently this is a german-only subproject. 10 * 11 * Copyright (C) 2008 Sven Köppel 12 * 13 * This program is free software; you can redistribute 14 * it and/or modify it under the terms of the GNU General 15 * Public License as published by the Free Software 16 * Foundation; either version 3 of the License, or (at 17 * your option) any later version. 18 * 19 * This program is distributed in the hope that it will 20 * be useful, but WITHOUT ANY WARRANTY; without even the 21 * implied warranty of MERCHANTABILITY or FITNESS FOR A 22 * PARTICULAR PURPOSE. See the GNU General Public License 23 * for more details. 24 * 25 * You should have received a copy of the GNU General 26 * Public License along with this program; if not, see 27 * <http://www.gnu.org/licenses/>. 28 * 29 **/ 2 30 3 31 // Konstanten:
Note: See TracChangeset
for help on using the changeset viewer.