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