- Timestamp:
- Oct 6, 2009, 2:27:43 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
en/development-projects.shtm
- Property svn:keywords set to Id
r113 r116 16 16 <!-- Well... quite simple ;-) --> 17 17 <link href="http://page2rss.com/rss/15c37d8c11d3729e650502a0881277e4" title="Get a nifty RSS feed from this list" type="application/rss+xml" rel="alternate" /> 18 <meta name="t29.SVN" content="$Id : search.shtm 64 2008-12-15 22:55:17Z sven$" />18 <meta name="t29.SVN" content="$Id$" /> 19 19 <meta name="t29.initialdate" content="04.10.2009" /> 20 20 </head> … … 22 22 <!--#echo encoding="none" var="heading" --> 23 23 <div id="content"> 24 <h2><!--#echo var="title" --></h2>25 24 26 <p> 27 <i>This page is about to be translated. Please see again later.</i> 28 </p> 25 <h2><!--#echo var="title" --></h2> 29 26 27 <p>This page lists some of our development projects where old hardware meets modern 28 computer equipment. All projects are selfmade, with partly enormous hardware and 29 software efforts, like routed PCBs, kernel drivers and microcontrollers. 30 <br/>Upcoming projects:</p> 31 <ul> 32 <li>punch card I/O with AVR ATmega microcontrollers via RS232 to computers, 33 Qt platform independent processing, with various hardware</li> 34 <li>Analex printer interface to the Bull Gamma 10 computer (uC based)</li> 35 </ul> 36 <br/> 37 38 <h3>Paper tape processing with contemporary computers</h3> 39 40 <p>We were often in a situation when some data stored on a punched paper needed 41 to be sent on long distances. Having Internet access and e-mail, that's no matter 42 for todays computers, once you can read in paper tapes. The other way around, 43 punching new or modified data on punched papers is a frequent need in our daily 44 business. <br/>Therefore we've initiated the <b>Paper Tape Project</b> with the 45 pronounced goal to handle paper tapes with contemporary computers, that is, to 46 read, change and write (punch) them.</p> 47 <p>We used comparatively new punched paper devices that already feature a Centronics 48 interface at TTL level. Unfortunately the devices (in details: reader 49 Ghilmetti FER 201, puncher FACIT 4070) aren't yet implementing the Centronics 50 common standard from the 1970s (officially standardized as IEEE-1284 not until 1994), 51 therefore connecting those devices with a simple parallel port printer cable 52 won't do the job.</p> 53 54 <div class="desc-left"> 55 <img src="/shared/photos/rechnertechnik/fer201.jpg" width="239" height="148" alt="Photography of the paper tape reader Ghilmetti FER 201" /> 56 <p class="bildtext" style="width:239px;"><b>Ghilmetti FER 201</b> reader with framework for reading zig-zag tapes</p> 57 </div> 58 59 <p>The very first step was to read the manual carefully to assemble a specially wired 60 cable to connect the punch card device with the parallel port of a PC (commonly known as 61 "LPT port", a standard port on PC motherboards just a few years ago). Since the devices 62 don't implement the standarized hand shake, the second step was to implement a suitable 63 driver to emulate the right communication behaviour for the punch card devices.</p> 64 65 <p>Development started on the free GNU/Linux Operating System where we used the ppdev 66 framework of the Linux 2.6 kernel series to program a user space driver in the programming 67 language C with a little effort compared to a real kernel space driver.</p> 68 69 <p>The parallel port consists of three 8-bit hardware registers: a bidirectional data 70 register, a control register and a signal register. Since paper tapes are made of 71 8-bit words (octetts), we just connected these eight bits on the data register to save 72 them directly to one byte in the computer. Using the control and signal pins, we could 73 implement a interrupt (device cycle) driven communication, since the status register 74 features one interrupt enabled bit (strobe). Our devices punch at 80 chars/sec and read in 75 250 chars/sec, so even older PCs can easily run the driver programs.</p> 76 77 <div class="desc-right"> 78 <img src="/shared/photos/rechnertechnik/facit4070.jpg" width="144" height="196" alt="Photography of the paper tape puncher FACIT 4070" /> 79 <p class="bildtext" style="width:145px;">The legendary puncher <b>FACIT 4070</b></p> 80 </div> 81 82 <p>As already told, there's not really the question how to model punched papers on 83 computers, since they use the same word length (8 bit) and computer files are 84 conceptually the same as paper tapes: byte arrays. A 250 byte binary file therefore 85 represents a 250 chars long punched paper. Thus processing punch card files 86 with Unix command line tools or hex editors is very easy. To speed up the workflow, 87 we wrote some simple perl scripts to label paper tapes. Afterwards we wrote a 88 graphical editor, called "Paper Tape Editor", where binary files could be visualized 89 and directly edited as paper tapes on the screen. This program was written in C, using 90 the Gtk+ toolkit. After writing drivers for the Microsoft Windows Operating System, 91 this program was extended to the "Paper Tape Suite" to read, edit, save and punch 92 paper tapes graphically. That way every possible procedures with paper tapes can be 93 performed with ordinary PCs.</p> 94 95 <p>You can get further details with a lot of documentation material on the homepage of 96 <a class="go" href="http://dev.technikum29.de/projekte/paper-tape-project/documentation/" 97 >The Paper Tape Project</a>. The source code was released as open source can be checked 98 out from the <a 99 href="http://dev.technikum29.de/svn/listing.php?repname=paper-tape-project">technikum29.de subversion repository</a>.</p> 30 100 31 101 </div><!-- end of content -->
Note: See TracChangeset
for help on using the changeset viewer.