Pertec Formatted Interface, compiled by John Wilson from various drive manuals, 03-Oct-1999. Updated 17-Mar-2000. Two 50-pin cables, all odd pins are grounded, except for pins 1/3 on P2. All signals are active low. Signal source is indicated under "src" column, C=controller, D=drive. All transmitters are open-collector drivers which can sink 36 mA (e.g. 7438). All receivers are 74(LS)00 style, terminated with 220 ohms to +5 and 330 ohms to ground. Signals are active low. P1 connector: -pin- -name- -src- -description- 2 IFBY D formatter busy, set by trailing edge of IGO, clears when command finished (but you can send a new command as soon as IDBY clears) 4 ILWD C last word -- used to tell drive that this is the last word (well, byte really) to be written in this record, assert 300 nsec (min) before trailing edge of final IWSTR pulse (no particular hold requirement) 6 IW4 C write data b4 8 IGO C initiate command -- pulsed low for 1 usec (min) to start command. formatter address lines must be stable throughout the pulse and until IFBY drops. 10 IW0 C write data b0 (MSB) 12 IW1 C write data b1 14 (ISGL) D (selected drive fault on some drives, cleared by dropping and re-asserting IFEN) 16 ILOL C load on-line -- pulse starts load sequence on some drives 18 IREV C reverse 20 IREW C rewind -- 1 usec (min) pulse starts rewind, no IFBY or IDBY, so wait until IRWD=0 and IRDY=1. ignored if tape is at BOT (so IRWD and IRDY will already be as above). 22 IWP C write parity (odd) 24 IW7 C write data b7 (LSB) 26 IW3 C write data b3 28 IW6 C write data b6 30 IW2 C write data b2 32 IW5 C write data b5 34 IWRT C write 36 (IRTH2) C see IRTH1 38 IEDIT C edit 40 IERASE C erase 42 IWFM C write file mark 44 (IRTH1) C write density select on some drives, used in conjunction with IRTH1 to set write density (unless controlled by front panel), qualifies IGO on first write operation from BOT, ignored elsewhere 46 ITAD0 C transport address 0 (MSB) 48 IR2 D read data b2 50 IR3 D read data b3 P2 connector: (N.B. pins 1/3 are *not* grounds, so not paired with pins 2/4) -pin- -name- -src- -description- 1 IRP D read data parity (odd) (N.B., not a ground pin) 2 IR0 D read data b0 (MSB) 3 IR1 D read data b1 (N.B., not a ground pin) 4 ILDP D load point -- asserted whenever the tape is at the load point (or might as well be, as far as the controller needs to know -- there may be hidden repositioning) 6 IR4 D read data b4 8 IR7 D read data b7 (LSB) 10 IR6 D read data b6 12 IHER D hard error -- pulsed (during IDBY) when a hard data error (or illegal character in IRG) is seen 14 IFMK D file mark -- pulsed (during IDBY) when a tape mark is seen 16 IDENT D identification -- asserted while drive is actually reading the PE ID burst, dropped the rest of the time so it's up to the controller to catch it and remember. on 9610, this is CCG (check character gate) in NRZI mode -- sample during IRSTR to find out whether this char is a data char or part of a CRCC or LRCC check. 18 IFEN C formatter enable -- should normally assert this all the time, but drop it for 2 usec (min) to abort any command that asserts IDBY (I/O, search, but not rewind I guess) ASAP 20 IR5 D read data 5 22 IEOT D end of tape -- asserted whenever the tape is past the EOT marker, clears when you backspace past it 24 IRWU C rewind/unload (also called IOFL) -- 1 usec (min) pulse starts, same as IREW but sets drive off-line and unloads tape. F880 manual isn't clear whether you assert this signal alone or at the same time as IREW (says it "modifies" it). 9610 manual seems to say it's used alone. 26 INRZ D NRZI mode -- asserted when in 800 BPI mode on some drives 28 IRDY D ready -- tape is fully loaded (not in transition to/from off-line) and not rewinding, check this before starting any command 30 IRWD D rewinding -- asserted while tape is rewinding 32 IFPT D file protect -- asserted continuously when the tape doesn't have a write ring in 34 IRSTR D read strobe -- typical timing: pulses low for 200 nsec (min), data on IR0-7/IRP are set up 100 nsec (min) before leading edge, held for 200 nsec (min) after trailing edge, cycle time can be as low as 1.1 usec for GCR @ 100 IPS. Kennedy 9610 is different: setup=500 ns min, RSTR=340 ns min, hold=250 ns min. 36 IWSTR D write strobe -- pulsed low each time the drive is ready for another data byte to be written. timing depends on drive model -- example: IW0-7/IWP must be set up 300 nsec (min) before trailing edge, no hold requirement after. Kennedy 9610 is edge-triggered off the trailing edge, setup=500 ns, hold=250 ns. 38 IDBY D data busy -- asserted during I/O phase of read/write commands (generally starts a few msec after IFBY). 40 ISPEED D high-speed status -- asserted when command is executing in high-speed mode (starting at IDBY anyway) 42 ICER D corrected error -- pulsed (during IDBY) when a single- track dropout is successfully corrected (using the parity information) 44 IONL D online -- always asserted when online, clears within 1 usec of OFFLINE command 46 ITAD1 C transport address 1 (LSB) 48 IFAD C formatter address 50 IHISP C high speed select (also called IDEN) -- qualifies IGO (so must assert beginning 1 usec (min) before trailing edge of IGO, can drop any time afterwards) to select high-speed tape motion for this command Commands are started by setting up the IREV, IWRT, IWFM, IEDIT, and IERASE lines and then pulsing IGO. All kinds of crazy combinations of these signals are possible to get vendor-specific commands. The basic ones are: READ --- (nothing, just IGO) Reads the next record or dies trying. Data are supplied with IRSTR pulses as needed, watch ICER/IHER for errors, or IFMK etc. for other status. READ REVERSE IREV Reads the previous record, or just gives up if at BOT. As above, watch ICER/IHER/IFMK/etc. WRITE IWRT Writes a record, supplying IWSTR pulses to clock in data until the controller asserts ILWD. WRT FILE MARK IWRT+IWFM Writes one file mark. ERASE IWRT+IWFM+IERASE Erases 3" (or whatever) of tape. Used as part of a write retry sequence. SPACE FORWARD IERASE Like READ but with no IRSTR pulses. SPACE REVERSE IREV+IERASE Like READ REVERSE but with no IRSTR pulses. FMARK SCH FWD IWFM+IERASE Does SPACE FORWARD commands until file mark or EOT marker is reached. FMARK SCH REV IREV+IWFM+IERASE Does SPACE REVERSE commands until file mark or BOT marker is reached. On some drives, IEDIT modifies WRITE and READ REVERSE to allow (semi-)safely inserting records on an existing tape. READ REVERSE EDIT tells the drive to backspace slightly farther than usual into the preceding IRG, and WRITE EDIT tells the drive to turn the head current off slowly at the end of the record to avoid causing a glitch. Kennedy 9610/9660 chart: REV WRT WFM EDT ERS -command- 0 0 0 0 0 READ FORWARD 1 0 0 0 0 READ REVERSE 1 0 0 1 0 READ REVERSE EDIT 0 1 0 0 0 WRITE 0 1 0 1 0 WRITE EDIT 0 1 1 0 0 WRITE FILE MARK 0 1 0 0 1 ERASE VARIABLE LENGTH 0 1 1 0 1 ERASE FIXED LENGTH 0 1 1 1 1 DATA SECURITY ERASE 0 0 0 0 1 SPACE FORWARD 1 0 0 0 1 SPACE REVERSE 0 0 1 0 0 FILE SEARCH FORWARD 1 0 1 0 0 FILE SEARCH REVERSE 0 0 1 0 1 FILE SEARCH FORWARD (IGNORE DATA) 1 0 1 0 1 FILE SEARCH REVERSE (IGNORE DATA) 0 1 1 1 0 SELECT 800 BPI 0 0 1 1 1 SELECT 1600 BPI 1 0 1 1 1 SELECT 3200 BPI 1 1 0 0 0 SELECT 6250 BPI Streamers have a drive-dependent "reinstruct time" which is the size of the time window after completion of a command during which you can issue a new command w/o the drive having to reposition. Definitely a good idea to make the deadline if possible, if you can't then using IHISP will probably waste more time in repositioning than it will save in fast transfer speed.