Pertec 9-Track Tape Interface

Information courtesty of John Wilson amd Al Kossow

Updated April 20,2022

Electrical

The interface uses two 50 conductor (ribbon) cables, P1 and P2. All odd-numbered conductors are grounded, with the exception of conductors 1 and 3 on P2.

All signal levels are TTL (5 volt). Drivers are open-collector and must be capable of sinking 36 mA. The last device on each end of any cable should be terminated on all receive lines with 220 ohms to +5 volts and 330 ohms to ground. (Note: I suspect that 220 ohm to 1K ohm to +5 will suffice on short (less than 1 meter cable runs.)

All signals are active-low.

Signal Definitions

In the following, the source (driver) of the signal is signified by either Drive for the tape drive or Host for the host (controller). Note also, that the bit ordering is IBM-style. That is, bit 0 is the most significant bit in a byte and bit 7 is the least significant bit position. Don't let this trip you up!

P1 Connections


P1 Pin Signal Name Asserted by Description
2 IFBY Drive Forrmatter 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 Host Last word—Used to tell drive that this is the last word (byte) to be written in this record, Must be asserted at least 300 nsec. before trailing edge of final IWSTR pulse.
6 IW4 Host Write data bit 4
8 IGO Host Initiate command—Pulsed low for at least 1µsec. to start command execution. The formatter address lines must be stable throughout the pulse and until IFBY drops.
10 IW0 Host Write data bit 0 (MSB!)
12 IW1 Host Write data bit 1
14 ISGL/UCK Drive Used on some Pertec drives; NC on others. Indicates that a single read/write head is present, rather than a write+read later "e;stack"e;. This means that a verification pass should be made to ensure that data has been written correctly. On other drives, (e.g. Fujitsu) indicates an equipment check condition. On the Kennedy 9600, this signal is called "ready for speed change".
16 ILOL Host Found on some late model Pertec drives. Pulse initiates the tape load sequence. Pulsed a second time, brinds the tape drive online.
18 IREV Host Reverse—When asserted, indicates operation is to be performed in the reverse direction.
20 IREW Host Rewind—A pulse of at least 1 µn;sec. starts the tape rewind sequence. Completion is signalled by IRWD and IRDY being asserted by the drive.
22 IWP Host Write parity. This is (almost always) odd parity computed over IW0IW7 and on some drives is ignored and computed by the formatter.
24 IW7 Host Write data bit 7 (LSB!)
26 IW3 Host Write data bit 3
28 IW6 Host Write data bit 6
30 IW2 Host Write data bit 2
32 IW5 Host Write data bit 5
34 IWRT Host Write—When asserted with IGO begins a write sequence.
36 IRTH2 Host Has varying meanings, depending on drive model. Originally, was "read threashold". When asserted, an extra low-level threshold for reading is specified. Similarly P1/44, IRTH1, specified a high reading threshold; meant for verification after writing on single-head drives.
On several CDC drives, this line (IRTH1 is unused) when asserted, indicates that a long (1.2 inch) gap is to be used between records. The same usage applies to the Kenney 9600.
On some drives, this and IRTH1, selects write density. On some Pertec drives (e.g. FS1000), this line selects high-speed mode.
38 IEDIT Host Edit—Not implmented on all drives. See notes in the next section for details on its application.
40 IERASE Host Erase—When asserted with IWRT and IGO, causes tape to be erased, usually for a predetermined length. Usually used to recover from write errors or provide extra space for mode changes (i.e. Read after write).
42 IWFM Host Write filemark—When asserted with IWRT, writes a filemark.
44 IRTH1 Host See IRTH2, pin 36. On some Pertec drives (e.g. FS1000, asserting this line causes long (1.2 inch) gaps to be written between records. On the Kennedy 9600, IRTH1 is a signal asserted by the drive(!) and signals an early end of tape (i.e. EOT marker not found).
46 ITAD0 Host Transport address bit 0 (MSB!)—Used to address multiple drives on a single controller.
48 IR2 Drive Read data bit 2
50 IR3 Drive Read data bit 3
All odd Gnd Signal ground.


P2 Connections


However, in Pertec drives, this is used to switch between 1600 PE and 6250 GCR densities.
P2 Pin Signal Name Asserted by Description
1 IRP Drive Read data parity (odd) This is not a ground pin!
2 IR0 Drive Read data bit 0 (MSB!)
3 IR1 Drive Read data bit 1 This is not a ground pin!
4 ILDP Drive 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 Drive Read data bit 4
8 IR7 Drive Read data bit 7 (LSB!)
10 IR6 Drive Read data bit 6
12 IHER Drive Hard error—Pulsed during IDBY when a hard data error (or illegal character in the IRG) is seen. Note that most modern formatters correct this error automatically. Some drives latch this status so it can be read after IDBY drops.
14 IFMK Drive File mark—Pulsed during IDBY when a tape mark is seen. Note that you have to catch this as it goes by!
16 IDENT Drive Identification—Asserted while drive is actually reading the PE ID burst, dropped the rest of the time.
18 IFEN Host Formatter enable—This signal should normally be asserted all the time. If dropped for a minimum of 2 µsec., aborts any comman that asserts IDBY (I/O, skip, but not rewind or unload).
20 IR5 Drive Read data bit 5
22 IEOT Drive End of tape—Asserted whenever the tape is past the EOT marker, clears when the tape is backspaced past it.
24 IRWU Host Rewind and unload—A pulse of at least 1 µsec. initiates a rewind-with-unload and sets drive off-line. Some drives require that IREW is also asserted. This operation usually means that the drive will be taken offline.
26 INRZ Drive NRZI mode—Signals 800 BPI mode on some drives. On others, indicates the the drive is in 6250 GCR mode. On others, is NC.
28 IRDY Drive Ready—Signals that tape is fully loaded, on-line and not rewinding. This must be asserted by the drive before it will accept any command.
30 IRWD Drive Rewinding—This is asserted by the drive while the tape is rewinding.
32 IFPT Drive File protect—This signal is asserted continuously when the tape is not write-enabled (i.e. no ring present).
34 IRSTR Drive Read strobe—Pulses low for at least 200 nsec. when data on IR0-IR7 and IRP are stable before leading edge; typically held for 200 nsec., but this is not a requirement. Note that data is made available–there is no check made to ensure that the host has picked it up.
36 IWSTR Drive Write strobe—Pulses low for at least 200 nsec. when the drive is ready to accept data. This is roughly similar to an "Acknowledge" signal after data has been received. The next data byte can be presented immediately.
38 IDBY Drive Data busy—This signal is asserted during I/O phase of read or write commands. It generally lags a few milliseconds after the drive asserts IFBY.
40 ISPEED Drive High-speed—This signal is asserted when commands are executing in high-speed mode; that is, when the drive is not operating in start-stop mode. See pin 50, IHISP.
42 ICER Drive Corrected error—This signal is pulsed during IDBY when a single-track dropout is successfully corrected using the parity information.
44 IONL Drive Online—Asserted when the drive is online; clears within 1 µsec. of being taken offline.
46 ITAD1 Host Transport address bit 1 (LSB!)
48 IFAD Host Formatter address
50 IHISP Host High speed select—When asserted 1 µsec. before and then with IGO (de-asserted any time after the trailing edge of IGO selects high-speed (streaming) mode.
5-49 odd Gnd Signal ground.


On some drives, certain signals may be omitted. For example, on the Qualstar 1052, signals ISGL, ILOL, IRTH2, IRTH1, and IRNZ are unused.

Usage

Commands are started by setting up the IREV, IWRT, IWFM, IEDIT, and IERASE signals and then pulsing IGO. Various combinations of these signals are possible to get vendor-specific commands.

The basic ones are:

Read

Assert IGO. The drive reads data and presents data at IR0IR7, strobing each byte with IRSTR. No check is made for data received by the host; it's simply shoveled out by the drive until the end-of-block or error. ICER and IHER signal soft and hard errors, respectively and IFMK will indicate a filemark. Observe that these signals are just pulses that accompany each data byte—they do not latch.

Read Reverse

Assert IGO while asserting IREV. Operates the same as a forward read, but data is presented in reverse order.

Write

Assert IWRT while asserting IGO. As the formatter accepts each byte of data, it signals with the IWSTR strobe. Again, no check is made to see if the data presented at IW0-IW7 and IWP is valid--the host must present data and parity prior to the assertion by the drive of IWSTR. When the last byte in a block is presented for writing, the host must assert ILWD.

Write Filemark

Assert IWRT and IWFM while asserting IGO. One filemark will be written.

Erase

Assert IWRT, IWFM and IERASE while asserting IGO. This command erases a few inches of tape, usually as part of a write error recovery sequence.

Skip Block Forward

Assert IERASE with IGO. This functions similarly to a read but with no data transfer.

Skip Block Reverse

Assert IERASE and IREV with IGO. This is similar to a read reverse operation, but with no data transfer.

Search Filemark Forward

Assert IWFM and IERASE with IGO. This causes the drive to skip forward to the next filemark or EOT. The tape is left positioned after the filemark

Search Filemark Reverse

Assert IWFM, IREV and IERASE with IGO. This causes the drive to skip backward to the preceding filemark or BOT. The tape is left positioned before the filemark

Miscellany

On some drives, IEDIT modifies reverse reads and forward writes so that a record can be replaced. Asserting IEDIT while doing a reverse read causes the drive to move further back into the IRG preceding the record being spaced over. Asserting IEDIT while writing tells the drive to modify the write current turn-off to avoid a glitch.

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 without the drive having to reposition. If you fail to make this window, then the drive stops and backspaces a few records to get a running start at the next record. This can waste a lot of time and movement. Asserting IHISP needlessly will probably result in operations taking longer if succeeding operations cannot be issued in time, so care must be used in attempting to use the "high speed" mode of operation.

As regards transfer speeds, a good rule of thumb is that an interface should be designed to provide or receive data at least at 1MB/second. Observe that there's no handshaking for data transfers, so it's incumbent on the controller to satisfy all timing requirements.

Glossary

Here are a few terms used in this discussion:

BOT or "beginning of tape". This is not the physical start of a tape, but rather the point after the beginning where a reflective foil tape marker has been applied. All tape before this is classified as "leader".

EOT or "end of tape". This is not the physical end of the tape, but rather a point somewhere before the physical end where a reflective foil marker has been placed. As a rule of thumb, it's safe to write at least one short record past the EOT marker.

Filemark is a reserved bit pattern used to delimit files on a tape. Most drives can scan a tape in either forward or reverse directions at high speed to locate a filemark. Some system software uses two or three consecutive filemarks to provide extra levels of delineation.

Write enable or "write ring" is a plastic ring that fits into a groove in the back of a reel of tape to tell the drive that it's safe to write to the tape. "No ring, no write" is an old data processing rule.

Formatter is a intermediate interface between the drive and the controller that provides buffering and error correction facilities for a drive or group of drives. One formatter can service several drives. It's also possible to interface a drive to more than one formatter.

Parity is used for error control on tape drives. One bit in a nine-bit frame is reserved for parity and some tape formats also append a longitudinal parity frame at the end of a block, so that single errors can be corrected. In 9-track tapes, the number of bits in a frame must be odd. Some 7 track tape formats allowed for even parity as long as no all-zero frames are written.



Chuck Guzis, Sydex, Inc.
October 22, 2010, Eugene, OR, USA