Monday, October 9, 2017

HP 1000 9 track tape drive tested, work on two terminals to make them fully usable


One of the idler pulleys on the 9 track tape drive turned with quite a bit of resistance. I suspected thsi was due to embedded dust, so I removed it. After I cleaned it well, I reassembled the pulley onto the 7970E drive and it worked better. 

I then wrote some machine language to write a two word record onto a new tape, and another set of code to read the record back and verify correct operation of the 9 track drive. My first attempt failed until I noticed I had left the 'write ring' out of the tape. With this missing, a tape drive will refuse any write operations, as did mine.

With the ring in place, I saw the tape move forward away from the load point as I did the write operation. I will need to read it back in and compare the data words to be certain that I did it correctly and that all the control and data channel operations worked properly.

The tape drive controller consists of two cards, a control channel and a data channel. All I/O on the HP minis is accomplished with a simple interface. A control bit can be set or cleared, a flag bit can be checked or cleared, and a word can be transferred to or from register A or B and the IO device. 

The control channel is sent a word that is a command, such as forward space or write record, then the control bit is set to ask it to execute the command. Transferring a word back from the channel to a register gives a status word that reflects various conditions. The flag bit is set when the command is complete. 

I sent a command word to select the tape unit 0, followed by a command word to write a record and set the control bit. The drive begins moving and the other card, the data channel, takes over. Normally the direct memory access controller takes over and handles the movement, but I used the standard method that works for all device types.

The data channel sets the status flag bit when it is ready for a data word to write out to the tape. Thus, one loops waiting for the flag to be set, then outputs a word from a register to the data channel. I did this twice, to transfer my two words of o123456 and o050505 to write on the tape.

To terminate the record being written, I sent a command to the control channel and set the control bit. The tape motion stopped and an interrecord gap was produced on the media. In a more realistic setting, there would be further records written to the tape by repeating the sequence of commands to control and data channels, followed by sending a command to write a tape mark which is an end of file indicator. I only needed one record to accomplish my initial test of the drive.

I manually rewound the tape to load point, in preparation for doing a read and comparing the words I received. My code didn't work properly on the first attempt, but I soon cleared up the error and tried again. The tape begin moving but my program stayed in a loop waiting for the second word to arrive, while the tape continued merrily along. 

Worse, when I halted the program, the first word I tried to read was in the register as o000000 not the value o123456 that I thought I wrote. Not a successful test session for the tape drive, but it does tell me quite a bit is working properly:

  • Read and Write commands work
  • The transport moves tape
  • Write enable/disable works
  • The control channel provides status words
  • The data channel sets flags for data transfer requirements

My 2622 terminal has a keyboard, missing its bottom plastic cover and missing the cable that connects it to the terminal monitor, itself missing a bottom cover. I therefore have a few tasks to accomplish before I can use this terminal - build bottom covers for the monitor and keyboard, plus make a cable. 

To build keyboard cable for terminal I had to determine the type of connectors and the wiring between the two ends. Fortunately I found schematics and could examine both terminal and keyboard. 

The connector type on the terminal for the cable from the keyboard is a normal DA-15 type (misnamed DB-15 by most people), with two rows of 8 and 7 pins. The keyboard has .100 inch header pins in two rows, each of six pins. I ordered a cable from Amazon, to cut up and wire to twin headers for the keyboard end. 

My 2645A terminal contains two mini tape cartridge drives, which used a single track system developed by 3M. It is a narrower tape than DC-2000 or QIC drives, but similar physically. The capstan rubber has decayed. 

I removed both tape drives to begin the refurbishment. It appears that the capstan diameter should be very close to or slightly larger than 9/32". I measured the decayed rubber on a drive then worked through the specs and design of the drive to figure out the capstan size as a cross check.

The drive will move tape in both slow (read/write) and high speeds. High is 60 inch per second movement of the tape. The design of the cartridge has a drive ratio of 0.78, thus the tape moves .78 inches for every 1 inch of drive capstan movement. That required the capstan to rotate to move about 77 inches per second.

The motor has a nominal speed of 5000 rpm wide open with 6V DC drive. The circumference of a 9/32" capstan is about .8836 inches, thus at 5000 RPM ( RPS) it would move about 74 inches. This is why I suspect the capstan needs to be slightly larger than 9/32" but less than 5/16", to achieve the 77 inches of movement per second for high speed motion. 

The internal structure of the cartridge has an elastic belt in a short loop that is driven by the capstan. The elastic belt is wrapped around the two tape reels and moves the mylar tape material. The elastic belts are all decaying, just like the capstan rubber, so that even brand new cartridges found in the box are no longer usable.

This poses a bigger issue for restorers. There are a few ways this can be addressed:

  • Find a new elastic material and rebuild the cartridges
  • Switch to a remanufactured cartridge from Athana
  • Alter the drive to use DC-2000 cartridges which are not similarly afflicted
  • Move to a solid state tape replacement, e.g. SD-card instead of tape

The Athana cartridges fit an unaltered drive mechanism, once the rubber on the capstan is replaced, but the new tape oxide formulation they use requires a slight modification of the read/write electronics to change tape bias. This mod is a single resistor swapout. The downside is a price of roughly $50 per tape cartridge for blank media. I will try this approach.

Using DC-2000 tapes has a much lower media price, but it requires some cutting of the bezel of the terminal and change to the mechanism itself, thus less optimal. Rebuilding cartridges myself is a possibility but seems to involve the fiddly and tedious work I dislike. The solid state version is a significant amount of design and build work. Thus, Athana cartridges is my preferred solution. 

No comments:

Post a Comment