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