DEC TU60 Dual Cassette Transport

Introduction   Restoration  
Suitable Media   Connections   My Cassette Collection  Contact Details


Introduction

The TU60 is part of the “TA11 Cassette System Interface” for the PDP-11. TA11 hardware comprises one TU60 Dual Cassette Transport, one M8792 Control Module, and two BC08-S interconnection cables. The M7892 is a quad-height Unibus card that installs in a “Small Peripheral Controller” (SPC) Unibus slot. The two TU60 drives are referred to as Drive A and Drive B.

Each end of two BC08-S interconnecting cables is terminated with a 40-pin “Berg” connector. Only every second conductor is used for signals. The other conductors are connected to ground at the TA11 end.

The TU60 incorporates analogue and logic electronic circuits necessary to interface the two drives to the M7892. The TU60 internal electronics are shared between the two drives. Therefore it is not possible to perform read/write operations on the two drives simultaneously. It is possible to rewind one drive (using the rewind button on the front panel) while the other drive is in use.

Each drive has two small motors:

  • The upper motor, which is directly mounted on the shaft of the upper spindle. This motor is used to rewind the tape. It is also used to tension the tape (both at idle, and when the tape is in forward motion).
  • The lower motor, which is used to move the tape in the forward direction (both for reading, and for fast forwarding). This motor is not directly connected to the lower spindle. Instead, its bare shaft drives a rubber-coated outer circumference of an aluminium wheel that is on the lower spindle shaft.

The mechanism for each drive also includes a solenoid. The solenoid (when activated) brings the lower motor into contact with the lower-spindle pulley.

Each drive has two interlock switches that are activated by contact with the top edge of the cassette. If one (and only one) of these switches is activated, the TU60 assumes a decassette is inserted. This is because decassettes have a notch cut in the top edge of the casette. The notch is slightly offset from the centre. If an ordinary (unmodified) cassette is instead inserted, both interlock switches will be activated, and the drive will not operate.

When no cassette is installed, the solenoid is at rest, and neither motor rotates. When a decassette (or a modified audio cassette) is installed, the solenoid energises, and both motors apply torque (in opposite directions) to their respective spindles. This keeps the tape in tension. These solenoids become very warm after 10 minutes or so. Accordingly, it is probably not a good idea to keep the TU60 powered on (with cassettes installed) for long periods of time.

Each drive shines a light through the tape at a 45 degree angle. This enables the TU60 to sense when the clear leader is encountered at the beginning or end of the tape. For example, when the TU60 is in rewind mode, the lower spindle freewheels (because the solenoid is de-energised) until the clear leader tape is detected. Once clear leader is detected, the solenoid activates, and the tape motion stops very quickly. In practice, this stops the tape about half way into the leader. By doing so, the tape motion stops before the drive attempts to detach the tape from the reel.

Only one side of the cassette is used. I believe (but have not yet verified) that this is because the TU60 writes the full width of the tape. So “Side A” should always face outwards.

Tape speed is not constant. A normal audio cassette usually plays at a constant speed of 1.875 inches/second. The TU60 plays tapes at a constant spindle rotational speed. This means that the tape speed is lower at the start of the tape, and higher at the end of the tape.

The data rate is around 5,000 baud. This is approximately 10 times the data rate used in home computers in the late 1970s. For example the TRS-80 Model 1, which used a conventional audio cassette deck, was 500 baud (although the later TRS-80 Model III has a 1500 baud high-speed mode).


Restoration

I purchased my TU60 as part of a PDP-11/10 system on eBay. Physically it was in very good condition. However it had not been used for 20 years. The restoration steps I took were as outlined below.

Cabinet

Opened up the case. Checked thoroughly for any physical damage to components. Remove all foreign objects. Clean thoroughly with a soft pain brush, low-pressure compressed air, vaccuum cleaner, warm soapy water, etc. Similarly clean the two 40-way cables, and check them for damage. Check the mains lead for damage. Open up the mains plug and check for correct wiring (active, neutral and earth), and check that all wires are still firmly attached.

Mounted on the inside of the rear panel is an 80mm cooling fan. Between the rear panel and the cooling fan is an inlet filter made of open-cell foam. My inlet filter had disintegrated and was mostly missing. A replacement was made from black anti-static foam. This is the type of foam that is used for storing through-hole ICs.

Power Supply

The four large electrolytics were removed from the circuit and “reformed” using the Silicon Chip Electrolytic Capacitor Reformer. The power supply was then bench tested using a dummy load (at about 50% of the power supply’s rated load) for two four-hour periods.

Re-rubbering the lower drive spindle

The rubber coating on the outer circumference of the two lower drive spindles had totally disintegrated and fallen off. Small pieces were loose inside the TU60. When touched, they would break into smaller segments.

The solution was as follows (thanks to Lou Ernst for this technique):

  1. Remove the drive from the TU60 (using a 9/64 allen key to remove the 4 cap screws)
  2. Using two slotted screwdrivers, remove the pivot that secures the lower spindle motor to the mechanism
  3. Using a small philips-head screwdriver, remove the lower spindle assembly
  4. Using acetone, remove the residue that formerly attached the rubber ring to the aluminium pully
  5. Find a suitable replacement rubber ring (see notes below) and glue it on using super glue
  6. Place the cassette-drive end of the spindle assembly in a drill press
  7. Machine down the outer circumference to 38.10 to 38.35mm
  8. Reassemble and reinstall the drive

For Drive B, I used a red rubber ring supplied by Lou Ernst. This had an internal diameter of about 32mm. I understand this is a common seal used for waste pipe plumbing in the U.S. It is a fairly firm material, similar to thered rubber rings used on the flippers of pinball machines. Once glued on to the pulley, I machined this down to 38.1mm and it seems to work fine.

For Drive A, I used a different rubber compound. A 6mm wide ring was cut from a larger rubber component that is used to correct the “flush” pipe to the inlet of a toilet bowl. This is a fairly standard plumbing component here in Australia. This is a softer rubber, and has more of tyre/rubber smell to it. Once glued to the pully, I initially machined this down to about 38.8mm. However, this seemed a bit too large (the solenoid had difficulty getting to full stroke). So I machined it further down to 38.35mm. This seems to work fine.

For reference purposes: the outside diameter of the aluminium pulley is 34.9mm, and the flange width is 5.8mm.


Suitable Media

The cassettes used in the TU60 are physically very similar to audio cassettes.

However, there are some important differences:

  • The decassette has a notch along the top edge (as mentioned above)
  • They have a clear (rather than opaque) leader (as mentioned above)
  • The tape is stronger, to withstand the constant tension applied by the TU60

For the above reasons, normal audio cassettes should not be used in the TU60. However, these cassettes are obviously no longer available, so compromises need to be found.

The notch problem can be resolved by cutting, or melting, a notch into the top edge. I first tried cutting the notch using a hacksaw. This was successful, but resulted in plastic burrs falling inside the cassette case (which subsequently had to be opened, so the particles could be removed). I have also tried melting the notch in (this was Lou’s suggestion). This works OK, but ends up with bulges on the outside of the case, which then need to be filed off.

I have tested two different commonly available cassettes:

  • A 90-minute “TDK Brilliant Cassette B”. The leader on that tape is not 100% clear (it is slightly frosted). However, the leader-sensor optics seem to detect the leader just fine
  • A 90-minute “Maxell UR”. The leader on this tape was more frosted (less clear) that the TDK. However, the leader-sensor optics again seemed to detect the leader just fine

When the above tapes were rewind-tested in the TU60, the drives consistently detected the leader and stopped the tape motion well before the reel stop was reached. In Drive B, both tapes stopped within about 1.4 turns (of the empty reel) after the leader was encountered. For both tapes, this left about abother 1.6 turns still on the reel. When this test was repeated on Drive A, the tapes stopped within about 1.1 turns of the leader being detected.


Connections

The TU60 connects to the TA11 (M7892) via two 40-wire interface cables.

All signals (control, data and status) are active-low open-collector lines.

The signal levels are as follows:

  • Logical 0: Means the signal is “floating” (at +3V or +5V)
  • Logical 1: Means the signmal is “asserted” (pulled to GND)

Note that the signals are all carried on even-numbered pins. The odd-numbered pins are all connected to ground at the TA11 end.

Berg Connectors

The diagram below shows the pinouts of the J1 and J2 “Berg” connectors, and the corresponding pin numbers on a “conventional” 40-pin header. This diagram shows the male connector, as viewed from the mating side.

B
02
D
04
F
06
J
08
L
10
N
12
R
14
T
16
V
18
X
20
Z
22
BB
24
DD
26
FF
28
JJ
30
LL
32
NN
34
RR
36
TT
38
VV
40
A
01
C
03
E
05
H
07
K
09
M
11
P
13
S
15
U
17
W
19
Y
21
AA
23
CC
25
EE
27
HH
29
KK
31
MM
33
PP
35
SS
37
UU
39

Control signals

The following table lists the control signals (these are outputs from the TA11 to the TU60)

TU60 Control Signals
Signal Name
and pin number
Circuit at TA11 end Circuit at TU60 end Comment
Select Enable L

J2-JJ (J2 pin 30)

Input to TU60

Hardwired to GND. Input into a 380 (E25 pin 9).

180R pullup to +5v.

390R pulldown to GND.

Enables TU60 transmitters and receivers.

TA11 sets this to Logical 1, to Enable the TU60.

Drive B L

J2-X (J2 pin 20)

Input to TU60

Output from 7416 (E33 pin 10).

No termination resistors.

Input into a 380 (E24 pin 12).

180R pullup to +5v.

390R pulldown to GND.

Selects drive A or drive B.

TA11 sets this to Logical 0 for Drive A, or Logical 1 for Drive B.

Start L

J2-R (J2 pin 14)

Input to TU60

Output from 7416 (E33 pin 2).

No termination resistors.

Input into a 380 (E23 pin 6).

180R pullup to +5v.

390R pulldown to GND.

Starts command execution.

Sequence is:

  • TA11 waits for TU60 to set READY L to Logical 1.
  • TA11 sets up the relevant command 1 usec (prior to asserting Start L).
  • TA11 sets Start L to Logical 1.
  • TA11 waits for TU60 to set Ready L to Logical 0.
  • TA11 sets Start L to Logical 0.
Rewind L

J1-DD (J1 pin 26)

Input to TU60

Output from 7416 (E32 pin 2).

No termination resistors.

Input into a 380 (E24 pin 7).

180R pullup to +5v.

390R pulldown to GND.

Rewind at high speed (100-150 ips) to beginning of tape.

TA11 sets Rewind L to Logical 1.

Command is then clocked out using Start L.

Back Block Gap L

J1-N (J1 pin 12)

Output from 7416 (E32 pin 10).

No termination resistors.

Input into a 380 (E24 pin 4).

180R pullup to +5v.

390R pulldown to GND.

Reverse tape at R/W speed across a data block to the preceding pre gap.

TA11 sets Back Block Gap L to Logical 1.

Command is then clocked out using Start L.

Back File Gap L

J1-BB (J1 pin 24)

Output from 7416 (E32 pin 8).

No termination resistors.

Input into a 380 (E22 pin 9).

180R pullup to +5v.

390R pulldown to GND.

Reverse tape at search speed across a data file, stopping at two-thirds of the preceding file gap.

TA11 sets Back File Gap L to Logical 1.

Command is then clocked out using Start L.

R/W File Gap L

J2-F (J2 pin 6)

Output from 7416 (E32 pin 12).

No termination resistors.

Input into a 380 (E22 pin 12).

180R pullup to +5v.

390R pulldown to GND.

Erases some tape (if Write Mode L is Logical 1). Moves tape to next file gap (if Write Mode L is Logical 0).

TA11 sets R/W File Gap L to Logical 1.

Command is then clocked out using Start L.

Write Model L

J1-R (J1 pin 14)

Output from 7416 (E32 pin 4).

No termination resistors.

Input into a 380 (E22 pin 7).

180R pullup to +5v.

390R pulldown to GND.

Selects the read or write logic within the TU60.

The TA11 sets this signal to Logical 1 for a write-data or write-file-gap operation.

Command is then clocked out using Start L (once the relevant Command signal has also been set to Logical 1).

Transfer L

J2-V (J2 pin 18)

Output from 7416 (E33 pin 12).

No termination resistors.

Input into a 380 (E23 pin 4).

180R pullup to +5v.

390R pulldown to GND.

NOTE: This signal then goes to the IC via a 220R &amp 470PF filter.

Handshake signal used to transfer a byte to or from the TU60.

Operation is as follows:

  • Read Operation: TA11 set this to Logical 1 (in response to Transfer Req L from the TU60) to confirm byte has been received by TA11.
  • Write Operation: TA11 sets this to Locgical 1 (in response to Transfer Req L from the TU60) to load byte into the TU60.
R/W CRC L

J2-D (J2 pin 4)

Output from 7416 (E33 pin 4).

No termination resistors

Input into a 380 (E22 pin 4).

180R pullup to +5v.

390R pulldown to GND.

Writes CRC “character” to tape, or tests the CRC Register for a CRC error.

Note: Timing of this signal needs further investigation.

Initialize L

J2-T (J2 pin 16)

Output from 7416 (E33 pin 8).

No termination resistors

Input into a 380 (E23 pin 9).

180R pullup to +5v.

390R pulldown to GND.

NOTE: Also connects to J3-JJ.

Initializes the TU60

TA11 asserts this signal to initialize the TU60.

Note: Need to do more work to figure out how long this needs to be asserted for, and whether it needs to be clocked out with START L


My Cassette Collection

Below is a list of the TU60 cassettes in my collection. This information is taken from the labels only.

Tape Number Text on Label Text on Separate Note
1. DEC-11-OTBAA-A-TC1      5.74 M
BASIC/CAPS-11 V01
CASSETTE 1 OF 3
1974
 
2. DEC-11-OTBAA-A-TC2      5/74 M
BASIC/CAPS-11 V01
CASSETTE 2 OF 3
1974
 
3. DEC-11-OTBAA-A-TC3      5/74 M
BASIC/CAPS-11 V01
CASSETTE 3 OF 3
1974
 
4. DEC-11-OTDBA-A-TC1      7/73 M
CAPS-11 V01.02
(OBJ MODULES)
CASSETTE 1 OF 2      1973
 
5. DEC-11-OTOBA-A-TC2      7/73 M
CAPS-11 V01.02
(OBJECT MODULES)
CASSETTE 2 OF 2      1973
 
6. DEC-11-OTSYA-A-x
CAS-11 V01-02
SYSTEM TAPE
 
7. CAPS11.S16      18.1-90  
8. STUDENT TAPE 6  
9. DEC-11-OTSYA-A-x      7/73 M
CAPS-11 V01-02
SYSTEM CASSETTE
1973
 
10. [Presumed Blank.
Part of label has been removed]
 
11. CAPS-11 28K SYS.
COPY No 1 MARCH 1980
 
12. GENERAL TEST PROGRAM
AND 2 OVERLAYS
 
13. DBKDM.CPB to DQLC.CPR
MAINDECS

[On back: “FIRST USED JAN 76”]

 
14. DZTAA.BPB to DZCOA.APB  
15. [Label is blank] DZLPG.APB
DZLPH.APB
DXQLD.DPR
DXQLE.BPR
DXQLA.APR
DXQLH.BPR
16. RUN TIME EXERCISER
RUNTEX.BIN & ITS CONFIG.
TABLE CNF1.CNF
 
17. KEAC.OBJ      FPHL.OBJ
KWAD.OBJ      CRAD.OBJ
QABE.OBJ      DQAC.OBJ
CPAE.OBJ      DUAE.OBJ
[List of 28 OBJ files]
18. CBAC.OBJ THRU TAAC.OBJ DO NOT ERASE
RUN TIME EXERCISER OBJECT DIAGNOSTICS
[Then lists 27 OBJ files]
19. RL01 DISC & TA11 CASSETTE
DIAGNOSTICS
TADP.SAV TADP.BIN
UPD3.BIN ZRLFA0.BIN
[“4” in square] MAR 80
[Note has handwritten comments about each file]
20. RL01 DISC DIAGNOSTICS
ZRLDA0.BIC ZRLEA1.BIC
[“3” in square] MAR 80
 
21. Diagnostics for RL01 DISC & Diagnostic
Monitor for DEC Cassette System
ZRLBA0.BIC ZRLCA0.BIC
TADP.BIN      NO C/SUM ERRORS.
[“2” in square] MAR 80 D.Owen
 
22. Diagnostics for Disc (RL01)
RLDP.BIN(17) UPD2.BIN(31) UPD3.BIN(38)
ZRLAA0.BIC (61 Blocks)      MAR 1980
[“1” in square] First of [“4” in square] RL01 DIAGNOSTICS CASSETTES
 

By Malcolm Macleod – 11 June 2012
mmacleod at iinet.net.au