Tips on reviving a TU56 + TD8E?

Thomas Moss mosst at SDF.ORG
Wed Oct 7 00:59:40 CDT 2020

Hi All,

I've recently bought a TU56 for my PDP-8/e, and am looking for some
advice on getting it to work.

Over the course of a few weeks I fixed odds and ends with the drive
(motor run capacitors, damaged wires, transistors, etc.), and for a few
days the right drive worked very reliably. I could read existing tapes,
write to them, and format fresh tapes.
(A write-up to this point is here:
(A good source for new motor run capacitors:

However, this changed when I wrote a file to an existing tape, only to
find that the directory structure had somehow been corrupted in the
process. Out of curiosity I mounted a scratch tape that I knew I could
format before and tried to format it again, the result was a

When running the TD8E MAINDEC it's apparent why - when set to display
the block number in the accumulator for the tape I tried to format,
every third bit appears to stick or glitch out. The tape I think I
corrupted however appears to count up and down the blocks correctly.
(Video here:

I tried swapping the G888s around to see if it made any difference, but
nothing changed. I then turned my attention to the cabling and the TD8E.

Somewhere along the line things got worse, and now running TDFRMT just
results in a "SETUP?" error when trying to format a tape.

I've tried running the TD8E MAINDEC (DHTDAB), and managed to get it to
pass the following tests:
-Operator Intervention
-Data Register
-Command Register
-SDLC, SDLD, SDRC, and SDRC and AC Clear
-Single Line Skip Instruction and Logic Test
-Quad Line Skip Instruction and Logic Test

However, once it reaches the Timing Error Skip Instruction and Logic
Test, it fails with the following:

I also found some tests that check the Data and Command Registers by
accepting input from the switches and displaying the result in the MQ.
These work fine, although though doing so I discovered that I had stuck
bits on the MQ on one of my Major Registers boards. I swapped with a
spare for now and will look at that later.

Lastly I found a copy of the source for TDFRMT so I could see what
exactly was causing the "SETUP?" error. I noticed there's several things
that can cause that error (the JMPs to ERCHK), so I replaced the first
JMP ERCHK with a halt and sure enough it did halt there.

                       /SEE IF THE DRIVE IS OK
003224  6774  RSTSM,  SDLC            /LOAD CR TO CLEAR TIMEING ERROR
003225  6775          SDLD                    /LOAD DATA BUFFER TO CLEAR S Q FLAGS
003226  1162          TAD     DT0400          /SET WRITE
003227  1027          TAD     DTA             /GET UNIT
003230  3257          DCA     SAV             /STORE IT AWAY
003231  1257          TAD     SAV
003232  6771          SDSS
003233  5232          JMP     .-1
003234  6774          SDLC
003235  1257          TAD     SAV
003236  6774          SDLC                    /LOAD THE TRANSPORT
003237  6776          SDRC                    /READ THE COMMAND REGISTER AND CHECK IT
003240  7006          RTL
003241  7004          RAL
003242  7500          SMA                     /CHECK WRITE TO BE SET
003243  5260          JMP     ERCHK           /WRITE IS NOT SET  <<<---Halts here if changed to HLT.
003244  7004          RAL                     /CHECK WLO
003245  7510          SPA
003246  5260          JMP     ERCHK           /WLO
003247  7004          RAL                     /CHECK SELECT AND TIMING ERROR
003250  7710          SPA     CLA
003251  5260          JMP     ERCHK           /SELECT OR TIMING ERROR
003252  4777'         JMS     NUDTA           /CHECK OTHER DRIVE IF ANY
003253  5213          JMP     RSTSM-11        /CHECK OTHER DRIVE
003254  5655          JMP  I  .+1
003255  1400          STMK
003256  0000  CNTERL, 0
003257  0000  SAV,    0

Does anyone have any hints on what I should check from here?


mosst at
SDF Public Access UNIX System -

More information about the cctalk mailing list