diff --git a/doc/wp/lock.260a17 b/doc/wp/lock.260a17
new file mode 100644
index 00000000..86f415f1
--- /dev/null
+++ b/doc/wp/lock.260a17
@@ -0,0 +1,325 @@
+.
+.comment temproary convention 2=font 2  1=font 1;
+.
+.DEVICE TTY
+.page frame 56 high 75 wide
+.title area footing line 56
+.title area heading lines 2 to 4
+.area text line 5 to 54 char 6 to 75
+.place text
+.turn on "_{\"
+.tabs 12,24,36,48
+.every footing ({page~,,{page~)
+.portion titlepage
+.nojust
+.group skip 5
+.begin nofill
+_MASSACHUSETTS INSTITUTE OF TECHNOLOGY
+_A. I. Laboratory
+.skip 2
+Artificial Intelligence
+Memo. No. 260ADecember 1973
+(Revised 260, June 1972)
+Last updated August 1976
+Accurate for LOCK.105
+.skip 5
+2
+_L O C K1
+_Donald E. Eastlake
+.end
+.skip 4
+LOCK is a miscellaneous utility program operating
+under the ITS system.  It allows the user to easily and
+conveniently perform a variety of infrequently required tasks.  Most
+of these relate to console input-output or the operation of the ITS
+system.
+.skip 7
+Work reported herein was conducted at the Artificial
+Intelligence Laboratory, a Massachusetts Institute of Technology
+research program supported in part by the Advanced Research Projects
+Agency of the Department of Defense and monitored by the Office
+of Naval Research under Contract Number N00014-70-A-0362-0005.
+
+Reproduction of this document, in whole or in part, in permitted
+for any purpose of the United States Government.
+.
+.insert contents
+.portion main
+.every heading (LOCK,,December 1973)
+.macro s1(sh) begin nofill;group skip 2;send contents 
+.skip 2
+sh. {page~
+.
+2
+sh1
+.skip
+.end
+.macro s2(sh) skip;send contents 
+.skip
+\sh. {page~
+.
+_sh
+.
+.indent 6
+.s1 (1. Introduction)
+
+LOCK is a miscellaneous utility program available
+under the ITS system at the MIT Artificial Intelligence
+Laboratory.  Numerous commands are available in LOCK
+related to console input-output, the operation of the ITS
+system, LOCK itself, and a few other things.
+
+LOCK types out a "_" or leftarrow as a prompt character when it
+is ready to accept a command.  Commands are started by any
+character that is not a digit or a break character.  They
+may be preceded by a numeric argument which is interpreted
+in octal.  The word "argument" in the description of individual commands
+below always refers to this numeric prefix argument.  Commands
+are executed as soon as they are completely typed (i. e.,
+no terminator is required).  Before complete, most of them may be aborted
+by typing a rub-out.
+
+In the description of several commands below, it is stated
+that they put LOCK in a "permanent mode".  This just means
+that LOCK, which does almost all console input at the main
+program level, will not listen for any further commands except ^G.
+
+Throughout this memo, the ASCII character whose code is 137 octal is refered to
+as leftarrow (_) although some terminals use the
+graphic underbar () for it.
+.next page
+.indent 0
+.s1 (2. Command Descriptions)
+
+.s2 (2A. Teletype Commands)
+
+\+, -\These commands allow a user to "lock" and
+"unlock" a limited number of consoles, the original function for
+which LOCK was named.  The + command should be preceded
+by a console number.  If the console is free, LOCK will open
+it as a device and type out on it a message saying that it has
+been locked by the user.  LOCK will also type a
+"W" at the user.  When open as a device a console will
+ignore ^Z's or other attention signals.  If for some
+reason the console can't be opened, an "L" will
+be typed at the user but if the maximum number of teletypes that
+can be locked are already locked, a "?" will be typed.
+
+If a console number is typed before the - command,
+LOCK will type a "*" at the user and unlock the console
+if it is locked by that LOCK.  If no argument is given to a -
+command or the argument is not a locked console number, LOCK
+just types out a "?".
+
+\", _, O, FCO \These commands are useful in determining the
+effect of particular character codes on output to a terminal and the
+character code that is input by various actions at a terminal.
+
+The " command causes LOCK to type back the next character
+typed in as the octal of its character code.
+The _ (or leftarrow) command takes as its argument a character code which it
+proceeds to output as a character.  (In a few cases this code
+may not get to the terminal due to transformations by the ITS
+system.)
+The O command causes LOCK to enter a permanent mode
+in which it types back each character it receives as the
+octal of its character code followed by a carriage-return
+line-feed.  (In a few cases characters typed on a console may
+be transformed by ITS before they reach LOCK or may
+have control effects on ITS.)
+The FCO command is similar to the O command, but outputs 
+the control and meta bits as interpreted from the TV-11
+keyboards or terminals supporting the Intelligent Terminal
+Protocol.
+
+\I37\This command is rarely used nowadays.  It outputs
+a character string that properly initializes certain model 37
+teletypes for use as full duplex ITS consoles.
+
+\SPEED\This command allows the input and output
+speeds of consoles on the Systems Concepts, Inc. DK-10 controller
+to be set.  If there is no argument given, the command is
+interpreted as applying to the console that LOCK is being used
+from.  Otherwise, an argument is interpreted as the number
+of a console to be affected.  If the console whose speed is to
+be changed is not on the DK-10 controller, a "?" is typed.
+If it is on the DK-10 controller, LOCK will ask
+the user to type first an input speed and then an output speed.
+These speed numbers should be terminated by a non-digit and
+can be omitted if the particular speed is not to change.  The
+following are the available speeds:  110, 135, 150, 300, 600,
+1200, 2400, and 4800.  (Although these numbers are read and
+recognized by LOCK in octal, they represent the typographicly
+similar decimal number.)
+
+\SPY, ISPY\These commands allow a user to observe
+the character stream arriving from a particular console without
+interfering with that console's input or ourput.  The SPY
+command should be preceded by a console number.
+It causes LOCK to go into a permanent mode outputting
+to the user characters that are input to ITS on that
+console line.  ISPY is the same as SPY except that
+the SPYed characters are output in image mode.
+
+.s2 (2B. System Commands)
+
+\DOWN, REVIVE \These commands allow the user to
+activate and deactivate the ITS system going down feature.
+The DOWN command must be given an argument equal to or greater
+than 5.  This will be interpreted as the length of time in minutes until the
+system will go down.  (Remember that this number will be
+read as octal.)  A DOWN command will type a "?" and have no
+effect if the system is already going down in a lesser time.
+The REVIVE command causes ITS to leave the
+system going down mode.  It takes no argument.
+
+Since both the DOWN and the REVIVE commands affect
+all users on a system and cause messages to be printed out on
+almost all consoles, LOCK does not actually try to do them
+until the user has confirmed his desire by typing "Y" at
+a confirmation question asked by LOCK.  The user should
+be sure of what he is doing before using these commands.
+
+\DPK \This command is used to reset the DataPoint Kludge
+(the Systems Concepts DK-10 Terminal Controller.  When
+terminals connected to this controller are not working 
+properly, this command will re-initialize the controller
+and hopefully restore things to a winning state.
+
+\SYS, TPL\These commands give the user limited control
+over the ITS system job.  Neither takes an argument.
+The SYS command complements the
+state of the system checker part of the system job which, when on,
+checks for clobbered locations in the constant parts of the ITS
+system.  After a SYS command, LOCK prints
+the enablement status of the system checker.
+
+The TPL command affects the spooling
+routines in the system job which, when on, line print
+buffered files in the .LPTR. directory on the disk.  Each time
+the TPL command is given, the currently printing file, if any,
+is stopped and deleted.
+
+\TEST\The purpose of this command is to test the
+core allocator and swapping routines of ITS.  It
+causes LOCK to go into a permanent mode in which it randomly
+creates inferiors and copies itself into them starting them at the TEST code.
+In the meanwhile, all these procedures do limited random size
+core request.  The casual use of this command is not recommended.
+
+.s2 (2C. Autonomous Commands)
+
+\^G\This is the only character that LOCK listens
+for at the interupt level.  It aborts whatever LOCK is doing
+and restarts it at the listen loop thus getting you out of various
+"permanent" modes.
+
+\P\This command causes console control to revert to the
+superior procedure of the LOCK and the LOCK to be halted
+but in a manner such that it can be proceeded.  None
+of LOCK's channels are closed and any locked consoles will
+stay locked (see +, -).
+
+\Q\This command valrets a :KILL so that if LOCK is
+running under a HACTRN it will be killed and console control
+will revert to the HACTRN.  All of LOCK's channels
+will be closed freeing any locked consoles (see +, -).
+
+\?\This command causes LOCK to list most of its
+commands along with a short explanation of each.
+
+.s2 (2D. Miscellaneous Commands)
+
+\DETACH, GUN\These commands allows a user to detach a
+procedure tree from its console or to excise it
+from the system.  The tree to be affected is specified
+by its apex procedure.  When a procedure
+tree is detached,it becomes disowned and its console becomes
+free.  The job name of the apex procedure is incremented at least
+once and until unique.
+
+If one of these commands is preceded by an argument, this
+is taken to be the user number of a procedure.  If
+not such an index a "?" is typed out and nothing else
+done.  If the argument is such an index, LOCK types
+a confirmation question containing the UNAME and
+JNAME of the procedure specified.  If the user then types
+anything other than a "Y" the command is aborted.  If the
+user types a "Y" LOCK will try to gun down or detach the specified procedure and will type
+a "?" if it fails (perhaps because the specified
+procedure was not an apex procedure).
+
+If one of these commands is given no argument, the user
+is asked for the UNAME and JNAME of the apex procedure
+he wishes to affect.  If these names specify an appropriate
+extant procedure, it is gunned down or detached.  Otherwise a "?" is
+typed out.
+
+\UCLEAR\This command is used to initialize DECtape
+directories.  The UCLEAR command should be given an argument
+which is the number of a DECtape drive.  On this drive a
+marked tape should have been mounted but the directory of this tape
+must not have been read in by ITS.  Since initializing the
+directory of a tape will make it difficult to recover any old
+files on it, LOCK asks the user to confirm that
+he wished to UCLEAR the tape.  It then assigns (required
+by ITS for initialization) the drive to him and initializes the tape.
+(LOCK should
+be running with the same system name as the user's log in
+name.)
+
+.next page
+.Nofill
+.s1 (3. Alphabetic Command List)
+
+\Command\Section
+
+\^G\2C
+\"\2A
+\+\2A
+\-\2A
+\_\2A
+\DETACH\2D
+\DOWN\2B
+\DPK\2B
+\FCO\2A
+\GUN\2D
+\I37\2A
+\ISPY\2A
+\O\2A
+\P\2C
+\Q\2C
+\REVIVE\2B
+\SPEED\2A
+\SPY\2A
+\SYS\2B
+\TEST\2B
+\TPL\2B
+\UCLEAR\2D
+\?\2C
+
+.next page
+.nofill
+.s1 (References)
+
+1. Donald E. Eastlake, et al.
+   ITS 1.5 Reference Manual
+   July 1969, AI Memo 161A
+
+2. Eric Osman
+   DDT Reference Manual
+   September 1971, AI Memo 147A
+
+3. Donald E. Eastlake
+   ITS Progress Report
+   April 1972, AI Memo 238
+
+.portion contents
+.every footing ()
+.nofill
+.skip 1
+2
+Table of Contents1
+.skip 3
+.receive
+
\ No newline at end of file
