Jean-Marc Bourguet's PDP-10 Page
The PDP-10 is a 36 bit computer build by DEC. Multiple models where build from 1967 to 1986 by DEC and for a long time after by others (in 1997 Paul Allen bought such a clone). The PDP-10 where present in the early Arpanet and Internet (the tenex mode in the man page of ftp make reference to a PDP-10 OS, ancestor of TOPS-20).
Now there are also simulators for PDP-10 and these simulators are able to run the PDP-10 OS (TOPS-10, TOPS-20, ITS) as DEC has made available a Personal License (36 bit.org, local copy) for PDP-10 software.
I've used a PDP-10 running TOPS-20 in 1986-1987 (that's the computer on which I've used emacs for the first time), and it amused me to set up a simulator (I've taken the Panda distribution). In this page, I intend to provide some starter information for using TOPS-20. To get an account on a TOPS-20 system or setup your simulator, see the external links.
All corrections, suggestions and comments are welcome. Most of the information is also present in the TOPS-20 documentation (this is on bitsavers, they are bandwidth limited but have mirrors; on the Panda distribution -- and I assume on most TOPS-20 systems --, it is also present in the <documentation> directory), but in a form which may be less understandable for people knowning Unix or less conveniently arranged. The rest comes mainly from various places accessible through the external links and a little experimentation.
TOPS-20 DocumentationI've put some html arround DEC manuals as present in <DOCUMENTATION>:
It is better to use
xterm as terminal emulator as in my
experience it is far more compatible with VT100 that gnome or KDE terminal
The monitor is what unix call the kernel.
A structure is what unix call a file system.
A logical name is a restricted form environment variables, referencing files and directories.
your directory is executed when you log in. You'll probably
want to put at least
in it so that you get a minimal command line edition.
set terminal vt100
Accounts may have privileges (operator, wheel, administrator, ...). Even if you have given you some privileges, they are disabled when you login. You have to enable them with the
command. To disable them back, just issue
An account is a directory which doesn't have the file-only property.
Directories have quotas. The default quotas are
low by today's standards, you may want to set
infinity. Don't forget to change both
the permanent and working quota. Another quota you may want
to change, is the one controlling the number of allowed
subdirectories (by default, you can't create
Creating and modifying directories is made with the
^Ecreate command (
^E is for
CONTROL-E, yes privilegied commands in TOPS-20 have a
control character in their names). I don't know what's the
difference between the two (a guess: they started with
^Ecreate and added
when there was a need for normal users to create
Using tapes to copy files from the Emulated PDP-10
When the emulator is running:
^\ KLH10> devmount mta0 commands.tap create Mount requested: "commands.tap" KLH10> [mta0: Tape offline] KLH10> cont Continuing KN10 at loc 01142476... @copy
COMMANDS.MEM.1 MTA0: COMMANDS.MEM.1 => MTA0:COMMANDS [OK]
Then under Linux:
$ extractTape -E -f commands.tap commands.raw $ wfconv -ct < commands.raw > commands.txt
And you have under commands.txt a readable text file.
extractTape is part of the tapetools availble in the programs section of this site.
Using Kermit to transfer files with an emulated PDP-10
The procedures outlined here works for pure ASCII files with CR LF ending. See the TOPS-20 chapter of the Kermit manual for information about how binary files are handled.
Through the console
$ kermit (/home/jm/) C-Kermit>set host /pty klt20 (/home/jm/) C-Kermit>connect . . . ^C Panda Distribution, PANDA TOPS-20 Monitor 7.1(21733)-4 This system is for the use of authorized users only. Usage of this system may be monitored and recorded by system personnel. Anyone using this system expressly consents to such monitoring and is advised that if such monitoring reveals possible evidence of criminal activity, system personnel may provide the evidence from such monitoring to law enforcement officials. @login jmb XXX @
Note that both kermit and KLH use ^\ as escape caracter. With this procedure, it is kermit (on linux) which get a first hand at it. To send the ^\ to KLH, you have to send it twice.
This is working with the Panda distribution as well as with an account at PDPPlanet.
$ kermit (/home/jm/) C-Kermit> telnet tops20 DNS Lookup... Trying 192.168.1.7... Reverse DNS Lookup... Failed. Connecting to host tops20.maison.bourguet.org:23 Escape character: Ctrl-\ (ASCII 28, FS): enabled Type the escape character followed by C to get back, or followed by ? to see other options. ---------------------------------------------------- Panda Distribution, PANDA TOPS-20 Monitor 7.1(21733)-4 This system is for the use of authorized users only. Usage of this system may be monitored and recorded by system personnel. Anyone using this system expressly consents to such monitoring and is advised that if such monitoring reveals possible evidence of criminal activity, system personnel may provide the evidence from such monitoring to law enforcement officials. @login jmb XXX @
Sending a file from TOPS-20
@kermit send foo.ext
Receiving a file in TOPS-20
@kermit receive ^\c (/home/jm/) C-Kermit>send bar.ext (/home/jm/) C-Kermit>connect @
Here are some links on other sites with PDP-10 stuff. The list doesn't want to be complete, just to provide a good starting point for further information.
- PDPPlanet has
some ressources and offer accounts on two PDP-10 systems
(one running TOPS-10, one running TOPS-20).
- A PDF version of the Introduction to DECSYSTEM-20 Assembly Language Programming by Ralph E. Gorin is available as PS:<ANONYMOUS>TOPS20_ASSEMBLER_PROGRAMMING.PDF.1 on XKLeten.PaulAllen.com. This is accessible with a PDPPlanet accound as well as by anonymous FTP. The computer is a TOAD-1 running TOPS-20, so you have to use a client able to switch to tenex ftp mode (the command line client of linux can do it, Firefox is unable, that's the reason for which I don't give an hyper-link).
- A DVI version of the TOAD-1 System Architecture Reference Manual is available as PS:<DOCUMENTATION.TOAD>ARCHITECTURE.DVI on XKLeten.PaulAllen.com.
- twenex.org also offers account on PDP-10 system (they still do this in 2022, they have even upgraded their hardware).
- Panda Programming has a TOPS-20 distribution (the distribution itself is available on trailing-edge). Using this distribution is probably the quickest way to get a running TOPS-20 system if you have a Linux x86 box.
- Zane Healy has a page explaining how to get and run a PDP-10 emulator. Following his instruction is probably the second quickest way to get a running TOP-20 system, and the best source if you want to run other OS for the PDP-10.
- bitsavers is an archive important archive which has PDP-10 software and documents (but check their mirrors please).
- Trailing-Edge has an important archive of PDP-10 software including the Panda distribution and some documents.
- ftp://ftp.dbit.com/pub/pdp10/ is another archive of PDP-10 stuff.
- 36bits.org has information on 36-bit computers, including those of DEC.
- Dan Murphy, author or TECO, has a web page on TENEX and TOPS-20.
- Joe Smith's PDP-10 page
- alt.sys.pdp10 is a newsgroup about the PDP-10.
- Kermit Software for the Digital Equipment Corporation PDP-10. Last release for TOPS-10 is dated April 2006, the last release for TOPS-20 January 2006.
- THE DECSYSTEM-20 AT COLUMBIA UNIVERSITY (1977-1988)
- In 2010, the PDP-10 is still alive: someone is building a new version the PDP-10/X.
- GitHub has a PDP-10 Organization with a community maintained version of Kenneth L. Harrenstien's PDP-10 emulator.
Bob Clements posted some images about DEC and asked if someone could put them on a higher-bandwidith site. I've put them here.
Trailing Edge had a scan of some PDP related documents. They are still available on bitsavers, here is an index.