Digital Equipment Corp. – Digital Linear Tape (DLT)

If your adventures in retrocomputing have taken you down the path towards Digital Equipment Corporation, you will recognize these tape cartridges from the VAX and Alpha systems.  Although many VAX systems were equipped with the more traditional 9-track open-reel magnetic tapes so they could interchange data with other mainframe and super-mini computers, almost every VAX sold had a TK-50 tape drive hidden somewhere in its cabinet, if not bolted to the face of the main cabinet right next to the operator’s console.

2017-05-13-132217

Although my first “mini” was a pdp-11, the market was flooded with medium-sized Vaxen in the months leading up to the Y2K non-disaster and I was able to pick up a small cluster of VAX 6000 systems for the grand price of $500.  Hooking these 3-phase monsters up to a residential electrical system was a challenge in itself — one that involved rotary converters to turn the single-phase 60 Hz supply into the three-phase flavor that the VAX wanted.  After watching my electric meter spin out-of-control for a few years (mostly due to inefficiencies in the rotary converter — not the computer), I eventually retired the bulk of the cluster, moving memory cards and CPU’s into a single rack that eventually yielded a Vax 6560 — a model never actually sold by DEC that included a six-processor SMP configuration with 32 megabytes of dynamic RAM per CPU.  I ran the hobbyist version of VMS up until HP started getting weird about the “layered” products like the COBOL compiler and eventually switched the system over to NetBSD.

VAX6560

Frankly, running a VAX without VMS wasn’t much fun and the last real use I got out of the VAX was between 2008 and 2012 when I had a gig writing (and maintaining) a fairly large library of COBOL programs.  People can piss and moan all they want about COBOL and VMS, but when you’re the system administrator and can set things up the “right” way, it really is a solid and reliable combination for old-school data processing.

The VAX started getting flaky in late 2012 and I eventually moved everything over to a DEC 3000 (Alpha) desktop that was set up to dual-boot both NetBSD and VMS.  Running with only one or two concurrent users, the Alpha was just as fast as the VAX. It used very little electrical power, and could sit on a desktop disguised as “just another PC.”  The DEC 3000 also used a member of the same “family” of tapes, the TK-70.

Sandpiper45

Five years later, I’m finally starting to move stuff off the DEC 3000 and into a Linux machine, a Dell Optiplex 755, that’s easier to find parts for and maintain.  The Dell is equipped with several different interfaces, allowing me to use many of the same disk and tape subsystems that it inherited from the VAX and earlier systems (like the various PDP-11 and PDP-8 systems that spent their final days entertaining me here at paleoferrosaurus.com.)  Still, some of this hardware is nearly as old as I am, and after a half-century is starting to show its age.

My retrochallenge project for April 2017 was the TapeStore server, and this is where I’m starting to archive many of the tapes I’ve collected over the years from these various systems.  The improvement this week, was connecting a DLT 7000 tape drive to the TapeStore server and starting to collect images of the various TK-70, TK-50, and similar DLT tapes in the library.

2017-05-13-132225Unlike the folks in Redmond, who have banished support for magnetic tape from current editions of the Windows Server operating system, the folks who maintain Linux (at least the Ubuntu strain) still manage to keep the SCSI device drivers in the kernal and have left utilities like mt and tar still able to work their magic from the command line.  Other than having some trouble with the naming conventions, I was able to hook up the DLT 7000 and access my old tapes without any difficulty… The following script shows a typical session:

Script started on Sat 13 May 2017 02:08:33 PM EDT
root@alpha:~# pwd
/home/harve
root@alpha:~# mt -f /dev/st0 status
drive type = 114
drive status = 419430400
sense key error = 0
residue count = 0
file number = 0
block number = 0
root@alpha:~# tar -tvf /dev/st0

drwxr-xr-x harve/users 0 2011-05-14 17:55 harve/comp_arch
drwxr-xr-x harve/users 0 2011-05-14 17:55 harve/comp_arch/Homework
-rw-r--r-- harve/users 130145 2011-05-14 17:55 harve/comp_arch/Homework/Homework3.docx
-rw-r--r-- harve/users 17380 2011-05-14 17:55 harve/comp_arch/Homework/Homework5.xlsx
-rw-r--r-- harve/users 20424 2011-05-14 17:55 harve/comp_arch/Homework/Homework4.docx
-rw-r--r-- harve/users 71174 2011-05-14 17:55 harve/comp_arch/Homework/comp_arch_homework.ods
-rw-r--r-- harve/users 77312 2011-05-14 17:55 harve/comp_arch/Homework/comp_arch_homework.xls
-rw-r--r-- harve/users 30152 2011-05-14 17:55 harve/comp_arch/Homework/full_adder.ps
-rw-r--r-- harve/users 31279 2011-05-14 17:55 harve/comp_arch/Homework/half_adder.ps
-rw-r--r-- harve/users 30675 2011-05-14 17:55 harve/comp_arch/Homework/not_gate.ps
-rw-r--r-- harve/users 568 2011-05-14 17:55 harve/comp_arch/Homework/not_gate.v
-rw-r--r-- harve/users 29311 2011-05-14 17:55 harve/comp_arch/Homework/or_gate.ps
-rw-r--r-- harve/users 705 2011-05-14 17:55 harve/comp_arch/Homework/or_gate.v
-rw-r--r-- harve/users 30780 2011-05-14 17:55 harve/comp_arch/Homework/xor_gate.ps
-rw-r--r-- harve/users 716 2011-05-14 17:55 harve/comp_arch/Homework/xor_gate.v
-rw-r--r-- harve/users 753 2011-05-14 17:55 harve/comp_arch/Homework/hw3a.asm
-rw-r--r-- harve/users 14543 2011-05-14 17:55 harve/comp_arch/Homework/P4.asm
-rw-r--r-- harve/users 521 2011-05-14 17:55 harve/comp_arch/Homework/squares.txt
drwxr-xr-x harve/users 0 2011-05-14 17:55 harve/comp_arch/Logisim
-rw-r--r-- harve/users 7492 2011-05-14 17:55 harve/comp_arch/Logisim/4-bit parity generator.circ
-rw-r--r-- harve/users 10237 2011-05-14 17:55 harve/comp_arch/Logisim/4-Bit Barrel Shift.circ
-rw-r--r-- harve/users 8486 2011-05-14 17:55 harve/comp_arch/Logisim/barrel_shifter.png
-rw-r--r-- harve/users 118337 2011-05-14 17:55 harve/comp_arch/Logisim/Bigger_Barrel_Shifter.circ
-rw-r--r-- harve/users 25292 2011-05-14 17:55 harve/comp_arch/Logisim/comparator1.gif
-rw-r--r-- harve/users 81 2011-05-14 17:55 harve/comp_arch/Logisim/Comparator_ROM
-rw-r--r-- harve/users 3802 2011-05-14 17:55 harve/comp_arch/Logisim/Cross-Over.circ
-rw-r--r-- harve/users 2630 2011-05-14 17:55 harve/comp_arch/Logisim/cross-over.png
-rw-r--r-- harve/users 5698 2011-05-14 17:55 harve/comp_arch/Logisim/Diode ROM Comparator.circ
-rw-r--r-- harve/users 6893 2011-05-14 17:55 harve/comp_arch/Logisim/Diode_ROM_Comparator.png
-rw-r--r-- harve/users 30207 2011-05-14 17:55 harve/comp_arch/Logisim/Discete_Comparator.circ
-rw-r--r-- harve/users 45620 2011-05-14 17:55 harve/comp_arch/Logisim/Discreet_Barrel_Shifter.circ
-rw-r--r-- harve/users 149693 2011-05-14 17:55 harve/comp_arch/Logisim/fig424.jpg
-rw-r--r-- harve/users 6963594 2011-05-14 17:56 harve/comp_arch/Logisim/logisim-win-2.7.1.exe
-rw-r--r-- harve/users 7333 2011-05-14 17:55 harve/comp_arch/Logisim/parity.gif
-rw-r--r-- harve/users 6320 2011-05-14 17:55 harve/comp_arch/Logisim/Sub Comparator.circ
-rw-r--r-- harve/users 4748 2011-05-14 17:55 harve/comp_arch/Logisim/Sub_Comparator.png
-rw-r--r-- harve/users 4287 2011-05-14 17:55 harve/comp_arch/Logisim/Circuit A.png
-rw-r--r-- harve/users 3317 2011-05-14 17:55 harve/comp_arch/Logisim/encoder.png
-rw-r--r-- harve/users 5182 2011-05-14 17:55 harve/comp_arch/Logisim/parity2.png
-rw-r--r-- harve/users 4791 2011-05-14 17:55 harve/comp_arch/Logisim/parity3.png
-rw-r--r-- harve/users 16633 2011-05-14 17:55 harve/comp_arch/Logisim/Parity Generator.png
-rw-r--r-- harve/users 811 2011-05-14 17:55 harve/comp_arch/Logisim/XNOR.png
drwxr-xr-x harve/users 0 2011-05-14 17:56 harve/comp_arch/MARS
-rw-r--r-- harve/users 3124936 2011-05-14 17:56 harve/comp_arch/MARS/Mars_4_1.jar
drwxr-xr-x harve/users 0 2011-05-14 17:56 harve/comp_arch/MARS/Program1
-rw-r--r-- harve/users 7654 2011-05-14 17:56 harve/comp_arch/MARS/Program1/fibonacci.s
-rw-r--r-- harve/users 14130 2011-05-14 17:56 harve/comp_arch/MARS/Program1/listing.lst
-rw-r--r-- harve/users 23483 2011-05-14 17:56 harve/comp_arch/MARS/Program1/listing.pdf
-rw-r--r-- harve/users 2543 2011-05-14 17:56 harve/comp_arch/MARS/Program1/one.html
-rw-r--r-- harve/users 11397 2011-05-14 17:56 harve/comp_arch/MARS/Program1/output.pdf
-rw-r--r-- harve/users 2242 2011-05-14 17:56 harve/comp_arch/MARS/Program1/output.txt
-rw-r--r-- harve/users 5617 2011-05-14 17:56 harve/comp_arch/MARS/Program1/Program1.tgz
-rw-r--r-- harve/users 18651 2011-05-14 17:56 harve/comp_arch/MARS/Program1/source_code.pdf
drwxr-xr-x harve/users 0 2011-05-14 17:56 harve/comp_arch/MARS/Program2
-rw-r--r-- harve/users 12975 2011-05-14 17:56 harve/comp_arch/MARS/Program2/birthday.asm
-rw-r--r-- harve/users 14293 2011-05-14 17:56 harve/comp_arch/MARS/Program2/birthday.script
-rw-r--r-- harve/users 29051 2011-05-14 17:56 harve/comp_arch/MARS/Program2/Birthday_asm.docx
-rw-r--r-- harve/users 44504 2011-05-14 17:56 harve/comp_arch/MARS/Program2/Birthday_asm.pdf
-rw-r--r-- harve/users 16653 2011-05-14 17:56 harve/comp_arch/MARS/Program2/Birthday_Script.docx
-rw-r--r-- harve/users 48137 2011-05-14 17:56 harve/comp_arch/MARS/Program2/Birthday_Script.pdf
-rw-r--r-- harve/users 87114 2011-05-14 17:56 harve/comp_arch/MARS/Program2/mccabe_program2.tgz
-rw-r--r-- harve/users 2734 2011-05-14 17:56 harve/comp_arch/MARS/Program2/two.html
drwxr-xr-x harve/users 0 2011-05-14 17:56 harve/comp_arch/MARS/Program3
-rw-r--r-- harve/users 15989 2011-05-14 17:56 harve/comp_arch/MARS/Program3/p3.asm
-rw-r--r-- harve/users 32515 2011-05-14 17:56 harve/comp_arch/MARS/Program3/Program3.docx
-rw-r--r-- harve/users 66517 2011-05-14 17:56 harve/comp_arch/MARS/Program3/Program3.pdf
-rw-r--r-- harve/users 1500 2011-05-14 17:56 harve/comp_arch/MARS/Program3/three.html
drwxr-xr-x harve/users 0 2011-05-14 17:56 harve/comp_arch/MARS/Program4
-rw-r--r-- harve/users 3047 2011-05-14 17:56 harve/comp_arch/MARS/Program4/four.html
-rw-r--r-- harve/users 14770 2011-05-14 17:56 harve/comp_arch/MARS/Program4/Program4.asm
-rw-r--r-- harve/users 17149 2011-05-14 17:56 harve/comp_arch/MARS/Program4/p4_working.asm
-rw-r--r-- harve/users 1741 2011-05-14 17:56 harve/comp_arch/MARS/Program4/permute.cpp
-rw-r--r-- harve/users 582611 2011-05-14 17:56 harve/comp_arch/MARS/Program4/permute.exe
-rw-r--r-- harve/users 21065 2011-05-14 17:56 harve/comp_arch/MARS/Program4/Program4.docx
-rw-r--r-- harve/users 133434 2011-05-14 17:56 harve/comp_arch/MARS/Program4/Program4.pdf

root@alpha:~/tape2173# tar -xvf /dev/st0

harve/comp_arch
harve/comp_arch/Homework
harve/comp_arch/Homework/Homework3.docx
harve/comp_arch/Homework/Homework5.xlsx
harve/comp_arch/Homework/Homework4.docx
harve/comp_arch/Homework/comp_arch_homework.ods
harve/comp_arch/Homework/comp_arch_homework.xls
harve/comp_arch/Homework/full_adder.ps
harve/comp_arch/Homework/half_adder.ps
harve/comp_arch/Homework/not_gate.ps
harve/comp_arch/Homework/not_gate.v
harve/comp_arch/Homework/or_gate.ps
harve/comp_arch/Homework/or_gate.v
harve/comp_arch/Homework/xor_gate.ps
harve/comp_arch/Homework/xor_gate.v
harve/comp_arch/Homework/hw3a.asm
harve/comp_arch/Homework/P4.asm
harve/comp_arch/Homework/squares.txt
harve/comp_arch/Logisim
harve/comp_arch/Logisim/4-bit parity generator.circ
harve/comp_arch/Logisim/4-Bit Barrel Shift.circ
harve/comp_arch/Logisim/barrel_shifter.png
harve/comp_arch/Logisim/Bigger_Barrel_Shifter.circ
harve/comp_arch/Logisim/comparator1.gif
harve/comp_arch/Logisim/Comparator_ROM
harve/comp_arch/Logisim/Cross-Over.circ
harve/comp_arch/Logisim/cross-over.png
harve/comp_arch/Logisim/Diode ROM Comparator.circ
harve/comp_arch/Logisim/Diode_ROM_Comparator.png
harve/comp_arch/Logisim/Discete_Comparator.circ
harve/comp_arch/Logisim/Discreet_Barrel_Shifter.circ
harve/comp_arch/Logisim/fig424.jpg
harve/comp_arch/Logisim/logisim-win-2.7.1.exe
harve/comp_arch/Logisim/parity.gif
harve/comp_arch/Logisim/Sub Comparator.circ
harve/comp_arch/Logisim/Sub_Comparator.png
harve/comp_arch/Logisim/Circuit A.png
harve/comp_arch/Logisim/encoder.png
harve/comp_arch/Logisim/parity2.png
harve/comp_arch/Logisim/parity3.png
harve/comp_arch/Logisim/Parity Generator.png
harve/comp_arch/Logisim/XNOR.png
harve/comp_arch/MARS
harve/comp_arch/MARS/Mars_4_1.jar
harve/comp_arch/MARS/Program1
harve/comp_arch/MARS/Program1/fibonacci.s
harve/comp_arch/MARS/Program1/listing.lst
harve/comp_arch/MARS/Program1/listing.pdf
harve/comp_arch/MARS/Program1/one.html
harve/comp_arch/MARS/Program1/output.pdf
harve/comp_arch/MARS/Program1/output.txt
harve/comp_arch/MARS/Program1/Program1.tgz
harve/comp_arch/MARS/Program1/source_code.pdf
harve/comp_arch/MARS/Program2
harve/comp_arch/MARS/Program2/birthday.asm
harve/comp_arch/MARS/Program2/birthday.script
harve/comp_arch/MARS/Program2/Birthday_asm.docx
harve/comp_arch/MARS/Program2/Birthday_asm.pdf
harve/comp_arch/MARS/Program2/Birthday_Script.docx
harve/comp_arch/MARS/Program2/Birthday_Script.pdf
harve/comp_arch/MARS/Program2/mccabe_program2.tgz
harve/comp_arch/MARS/Program2/two.html
harve/comp_arch/MARS/Program3
harve/comp_arch/MARS/Program3/p3.asm
harve/comp_arch/MARS/Program3/Program3.docx
harve/comp_arch/MARS/Program3/Program3.pdf
harve/comp_arch/MARS/Program3/three.html
harve/comp_arch/MARS/Program4
harve/comp_arch/MARS/Program4/four.html
harve/comp_arch/MARS/Program4/Program4.asm
harve/comp_arch/MARS/Program4/p4_working.asm
harve/comp_arch/MARS/Program4/permute.cpp
harve/comp_arch/MARS/Program4/permute.exe
harve/comp_arch/MARS/Program4/Program4.docx
harve/comp_arch/MARS/Program4/Program4.pdf

root@alpha:~/tape2173# exit
exit

Script done on Sat 13 May 2017 02:14:51 PM EDT

Retrochallenge 2017/04 Final Report

The TapeStore server has been completed and most planned functionality has been achieved.  In total, more than 80 videotapes of various types were digitized and stored in the server, along with several hundred audio cassettes, open-reel tapes, and 9-track magnetic tapes.  The following is a summary of the machine’s capabilities and content:

  1. Central Processing Unit –AMD Athlon64 x2
  2. RAM — 3 GB
  3. System Disk — 384 GB
  4. TapeStore Disk — 2 TB (75% full)
  5. Operating System (Temp until open-source drivers for all hardware can be located):  Windows VISTA SP2
  6. Special Interface Hardware:  Hauppage WinTV HVR-1255 (Analog Video Input), IEEE-1394 x 4 (Digital Video Input), Adaptec SCSI PCI Card (9-track data tape), Creative Sound-Blaster X-FI HD USB Audio Interface, Four-Port EIA RS-232C, Custom Commodore Cassette Interface.  Extron VSC 500 Scan Converter (Composite Video Output), QSI Video Sync Generator / Color Bar Generator, Micro-Time Frame-Sync and Time-Base Corrector, General Electric SVHS Video Cassette Recorder, Sony DVD-R Recorder, Ampex VPR-80 Videotape Recorder, Ampex TBC-40 Time-Base Corrector, Sony HandiCam.
  7. Software:  Hauppage WinTV (analog video input), VLC Media Player (video output), Handbrake (Video Format Conversion), FileZilla FTP Server (Primary server software.)  Misc. Disk-imaging utilities.

Tasks to be accomplished include (1) Creating some logical (and workable) system of organization for all these (rather large) files on disk, (2) Creating a comprehensive index of the contents, (3) Improving control of peripheral devices (current operating of VCR / VTR / DVD / and audio devices is generally manual.)  (4) Getting the Commodore Datasette Interface to work reliably, (5) Getting the RS-232C command-line functionality to work.

It’s been fun, but I’m running out of time.  Wishing the best to everyone else involved in the Retrochallenge!

2017-04-27-222540

2017-04-27-222654

2017-04-27-222736

https://www.facebook.com/groups/365044403555438/