A
TU58 is a digital tape cassette unit used as a boot media and as mass
storage on older Digital Equipment PDP-11 and VAX computers. Many of these
older computers are still in service, and still more are in use by antique
computer collectors such as myself, and drive or media failures are common
occurrences which can take down the entire system. Since the capacity of a
TU58, 256Kb per tape, is fairly small by modern standards I realized that
it would be possible to replace a drive unit with a "emulator"
using battery backed up SRAM as the storage medium.
The goal of this project was to design and build such a replacement and
the result was a PC board which is completely "plug compatible"
with the original DEC TU58 controller. It has the same connectors, the
same physical dimensions, and even the same mounting holes as the original
DEC logic board. The TU58 emulator implements the same protocol, called
RSP by Digital, as the original and works with the same DEC operating
systems and boot ROMs. No software changes are required.
The emulator hardware is implemented using an 8051 microcontroller,
either 256 or 512Kb (enough to emulate either one or two tapes) of SRAM,
two Lithium coin cells as memory backup power sources, a Dallas DS1221
memory management unit, and a DEC TU58 compatible RS422 serial interface.
The firmware is implemented in 8051 assembly and C and implements the RSP
protocol well enough to fool the RSX, RT-11 and VMS operating systems as
well as the VAX and PDP-11 bootstraps.
The biggest
challenge in this project was reverse engineering DEC's RSP protocol which
is documented both incompletely and incorrectly. It was necessary to use
an IBM PC to monitor the traffic between emulator and host, and to write
some simple "protocol analyzer" software for the PC which could
disassemble and dump messages. DEC's VMS TU58 was a particular problem
since it makes use of undocumented RSP features, and in the end it was
also necessary to study the source for the actual driver to solve all of
the problems.
View the release notes for the current TU58
firmware.