Tim Shoppa "The PDP-6 and PDP-10 Software Archives"
Tim Shoppa's presentation “The PDP-6 and PDP-10 Software Archives”
The PDP-6/PDP-10 Software Archives
Tim Shoppa 5-May-2006
7328 Bradley Blvd
Bethesda MD 20817
Establishing the archiveThe PDP-6/PDP-10 software archives http://pdp-10.trailing-edge.com/ were established in the 1999/2000 timeframe. The archive itself has a history that I reconstruct here:
- Early 90's: Ken Harrenstein's emulator exists but is not publicly distributed.
- Mid 90's: Joe Smith's PDP-10 Page http://inwap.com/pdp10/ collects bits of Usenet and wider PDP-10 history, including pictures and historical handed-down folklore.
- Late 90's: DEC 36-bit hobbyist license comes into existence. Bob Supnik with Tim Litt, 1996. Does not specify that the use of the software has to be confined to hardware or to emulators.
- Late 90's: Lots of hobbyist and museum websites with pictures of collected old computers, especially DEC stuff.
- Early 2000's: Bob Supnik, Timothy Stark, Megan Gentry and others with PDP-10 emulators begin construction
The PDP-10 was a long lived architecture with multiple implementations. As such, it was more well documented than many computer architectures. But there were still many dimly-documented corners of the architecture, and the I/O subsystems were not well-documented at all.
I interpreted the DEC 36-bit hobbyist license to allow a publicly accessible archive of PDP-10 software, most notably DEC's PDP-10 operating systems.i Many questions about PDP-10 details necessary for emulation. Hope to find answers either documented in operating system code or (if not) make a guess and test assumptions with operating system executables. So in the 1999/2000 timeframe I assigned myself the task of making a software archive that would assist with these details.
Goals of the archiveThe archive I wanted to make would do a number of things:
- Provide tape images usable for emulators.
- Provide tape images that can be reconstituted into physical tapes for actual PDP-10 hardware.
- Provide source files for research.
- Have internal indices for internal cross-referencing.
- By hyperlinked into the world wide web.
The last item was the icing on the cake: I wanted the archive to be relevant, at least as measured the Google way, in terms of tying into computer history research as a whole.
There was one thing I didn't want the archive to be: a bunch of old computers, or a bunch of pictures of old computers. Nothing against computers or pictures, just that these needs were already addressed elsewhere. And in the interest of relevance I really felt that being JASWPOOC (Just Another Site With Pictures Of Old Computers) was not my cup of tea.
Needs for the archive
There were a number of needs that had to be satisfied:
Tapes! In the 2000-2002 timeframe, 179 tape images were collected. About half were imaged by me. Other half imaged by others, around the world, and transferred over the network.
Most of the PDP-10 tapes were supplied by "old-timers" who had done much work with PDP-10's in the 60's, 70's, and 80's. A sizeable chunk were supplied by those of my generation who had happened across large caches of old PDP-10 hardware and software in their collection activities. Most tapes are DEC Software Distribution tapes from the 80's (end of PDP-10 lifespan): many sites did not save older tapes but kept the current ones. Some are non-DEC: EMACS, and the DECUS PDP-10 and PDP-20 libraries.
- Tape image tools:
I largely use DECUS TPC ("Tape container") tools extant since the 1980's (established largely
for duplication of DECUS SIG tapes at that time). DECUS TPC knows about variable block sizes and tape marks and encodes the block size in the image file on disk.
Many emulators use other tape image formats. Some do not encode tape marks/block sizes in the main data image but outside. Others encode it in a different way than DECUS TPC and for good reason: allow emulated backspacing efficiently by providing a forward list of Some image formats allow encoding "unreadable data" blocks.
- Conversion utilities allow conversion to/from the various image formats were needed. These were mostly hacked together as necessary.
File extraction tools were needed.
Many of the tapes of interest are in native TOPS-10 or TOPS-20 backup formats. Usually there are reliable date/time stamps on the files. Usually there is a directory structure, too. Keeping the date/time stamps and directory structure information is very useful.
Some tapes (especially diagnostic tapes) do not have backup formats but are simply collections of executables. These are not particularly fruitful places to apply file extraction tools.
Originally files were extracted (2000-2001 timeframe) using VAX/VMS DECUS tools 10BACKUP and DUMPER to decode these formats. These were legacies of the cancellation of PDP-10 by DEC and the suggestion (and tools) provided to customers to migrate them to the VAX.
Support hardware and network infrastructure
I had amassed a collection of tape hardware, VAX and Alpha machines for software tools, and had a network connection to the outside world. Little additional money had to be invested.
The archive's presentation layer
For better or worse, the structure of the archive was based almost entirely on the concept of the tape image. So it becomes the central metaphor. Users click to either download (for an emulator) or navigate into (for browsing files over the web) a tape image.
Tape images range in size from very small (a few hundred kbytes) to tens of megabytes, and depending on network connection a large tape image (even when compressed) takes many minutes to download. But an emulator user would only have to download each tape image once.
With hundreds of tapes each containing tens to hundreds of files, building tape indices and file indices by hand becomes out of the question. Automated tools build the indices wherever possible (turns out to work 99% of the time).
For file browsing, though, most of the individual files are small (kbytes to tens of kbytes) by broadband standards. Each tape has a hyperlinked listing of files. When a user clicks on a filename, we hope that it's human readable text, and present a web page with navigation icons at the top (allowing moving "up" in the archive) and with the body of the page being the contents of the file. Commonly source code and documentation was stored using line printer formatting idioms (form feeds for new pages, backspacing and overprinting for bolding or underlining) and the presentation layer translates this into relevant HTML.
Also important for file browsing, if there are other files in the archive with the same name, there is a clickable link that allows you to see these files and their datestamps. This is the site's only attempt at lateral navigation.
An attic for multiple parlorsThe archives themselves contain little to no human-added annotation or interpretation. But they go beyond being PDP-10 tape images, by having the extracted human readable files, cross-linking to similar filenames, and indexing noted above.
They are suitable and are hyperlinked to by several notable software parlors on the web.
Migration of the archive
Important: Archive was migrated in late 2001 from VAX and Alpha VMS hosting to a (small) Linux box. Significant power saving. Another motivation: clean up the basement!
Needed linux based tape-image-to-file extraction tools. Old tools (10BACKUP and DUMPER) had never even been ported to the Alpha from the VAX. Modified and did maintenance on tools found on the net: backup10 (Johnny Eriksson, Phil Budne), read20 (Jim Guyton, Jay Lepreau, Phil Budne). Added support for tape image files as inputs.
When migration changed paths etc. added a path-rewriting layer (Apache webserver) so that old hyperlinks on other web sites would end up pointing to the same archive document.
Successes and failures of the archive's attic
In their goal of establishing a documentation, source code, and executable base for developing, testing, and using emulators I feel the archive has been a complete success.
It has also been succesful in bringing several software-less PDP-10 hardware systems up and running, by providing diagnostic and operating system tape images.
In terms of making the old PDP-10 software relevant, there has been at least moderate success. Many of the working groups at The Computer History Museum hyperlink to many of the tools, documents, and source code in the archive, and that makes me feel wonderful.
But in terms of making computer history be about more than the machines, and more about the history of software, I don't think I've made much of a dent. I don't see a lot of "attics" scattered around the web that are much like mine. I want more parlors to link to my attic.