Contents of paper-tape/driver/FACIT-MANUAL.txt

  FACIT 4070 Tape Punch 75-CPS
  ============================

  The FACIT 4070 Tape Punch (from FACIT Data Productions) is a parallel
  port puncher. It has been manufactured long before the so called
  "centronics port" has been standarised as IEEE 1284. Therefore it's
  a bit complicated to connect this puncher to today's PCs. Of course,
  the PC must be some years old, because *real* high end Computers today
  no more feature a parallel port (so called "LPT" port in DOS days).
  
  I've got a really detailed manual for the FACIT puncher. It was printed
  in October 1979, and at these days electronics were quite well explained
  everywhere.
  
  I won't go very much in detail, but at first, the most important part
  is to take a normal parallel port cable (with about 15 wires) and connect
  it like this:
  
     FACIT    signal       PC pin    PC Reg    Function Notes
     4070     direction    and name  Bit       (for FACIT pins)
     -----    ----------   --------  -------   --------------------------------
       1 Ch1  <---------   2 Data0   D0        \                 
       2 Ch2  <---------   3 Data1   D1        |
       3 Ch3  <---------   4 Data2   D2        | 8 Data Out
       4 Ch4  <---------   5 Data3   D3        | registers, to be set
       5 Ch5  <---------   6 Data4   D4        | from the computer
       6 Ch6  <---------   7 Data5   D5        |
       7 Ch7  <---------   8 Data6   D6        |
       8 Ch8  <---------   9 Data7   D7        /
  +--- 9 Ch9                                   Feed hole channel (logic 1 => always feed hole)
  |^  10 SD                                    Stepping Direction signal, leave as is
  ||  11 PI   <---------   1 -Strobe C0-       Strobe = -Punch Instruction
  |c  12 PR   --------->  11 +Busy   S7-       Busy signal = Still punching
  |o  13 -                                     \                              
  |n  14 -                                     |
  |n  15 -                                     | not used at FACIT site
  |e  16 -                                     |
  |c  17 -                                     |
  |t  18 -                                     /
  ||  19 EXT                                   EXT: external data switch, leave as is
  |V  20 ERR1          +- 20 Ground            ERR1: Error signal, not important
  |   21 TL            |- 21 Ground            TL: Tape Low Signal, not important
  +-- 22 +24V          |- 22 Ground            +24V from internal power supply (log. 1)
      23 -             |- 23 Ground            
      24 +6V (5V)      |- 24 Ground            +6V from internal power supply
      25 0V -----------+- 25 Ground            Signal ground, not connected to chassis ground
     
     
  Now I'll go into detail with the FACIT pins. I've got a block diagram
  and electronic description. Here you get the light edition with the most
  important things:
   
		  0                                          13 milliseconds
   time --+------------------------------------------------+--->
		  .                                                .
   DATA   ._________________                               .
	______|         min 200 usec ... ______________________.
		 .                                                .
   PI     .______________________________                  .
	______| min 100us, max 10ms          |_________________. 
		  .                                                .
   PR __________                                           ._____
		  .     |__________________________________________|
		  .                                                .
   Motor shaft motion                                      .
		  .                           ________________________
		  .                       ...                      .
		  .                   ...                          .
		  .               ...                              .
   ___________________...                                  .
		  .                                                .
		--+------------------------------------------------+--->
   
  As you see, we need only 1 control pin, 1 signal input pin and
  8 data pins for the workflow. Unfortunately, the strobe (PI)
  and busy (PR) don't behave like expected in today's days. Therefore
  we cannot simply use commands like "cat $file > /dev/lp0" at Linux
  or "copy FILE.TXT LPT0:" in DOS/WINNT, but we need an own driver.
   
  In this subproject, we have implemented the diagram above as
  program logic. To keep it more simple, we didn't develop kernel
  driver, but userspace / user mode drivers, using ppdev at linux and
  the third party library "WinIo" at Windows NT.
 
 
  Sven Köppel,
  documentated at 02. September 2008