This is an old revision of the document!


TOPS-20 Interactive Tutorial

This file is a log of a session with the TOPS-20 interactive tutorial on twenex.org. It has been added to the SDF tutorials to make the content available on the World-Wide Web, but it is a much more effective learning experience to work through the tutorial interactively by logging-in to twenex.org and running the TOPS20 program.

Executive Summary

The tutorial introduces a number of useful keystroke commands for working with in the TOPS-20 EXEC environment.

Output control
S Pause output scrolling
Q Resume output scrolling
O Toggle output suppression
Command guidance
ESC Command completion and guide words
? Expected input guidance
Command line editing
R Retype current line
DEL (or BackSpace) Erase previous character
W Erase previous word
U Erase current line
Program status and control
T Session status
C Exit program (may need 2 or more)

TOPS20 Tutorial Log

@tops20
Following is  a brief  explanation of  some conventions  of  Tops-20.
Learning and remembering them will be a great help when exploring the
facilities on this system.  If you are already familiar with Tops-20,
you should  ^C out of this program.   If not,  you might want to take
notes.
The first things you should learn  are the control characters ^S  and
^Q.  A  "control character"  is made  by striking  some letter  WHILE
HOLDING DOWN the control key  (marked "CTRL").  They are  represented
in print by putting ^ before the letter.  So ^S is made by striking S
while holding down the CTRL key. (S need not be typed in upper case.)
^S and ^Q are used to stop and start output (typing) to the terminal.
This is useful  mostly on a  CRT (video) terminal,  where things  you
want to look  at have  a habit  of going off  the top  of the  screen
before you can read it.
    ^S - stop output temporarily
    ^Q - continue stopped output
A ^S typed by you will be simulated now.  (Type ^Q to continue.)
Very good!  It is also  possible (but we won't  go into how here)  to
have the line set up so that it automatically pauses at the end of an
uninterrupted page  of output.   Practice using  ^S and  ^Q every  so
often throughout this lesson.  (Remember: When output stops where you
wouldn't expect it to,  the system is frequently  just waiting for  a
^Q.)
The next concept you  should learn is that  of ESCAPE and "?".   Most
commands are given  with words.   You needn't type  out the  complete
command.  A  unique abbreviation  is  sufficient.  After  typing  the
abbreviation, an ESCAPE (sometimes  called ALTMODE, labeled "ESC"  or
"ALT") will cause  the system  to type out  the rest  of the  command
word.  This is called recognition.
    ESC - complete an abbreviated command
Here is  an example  - type  an ESCAPE at the end of this example:
TOPS20>recogNITION
Good.  See  how the  system completed  the word  for you?   There  is
another advantage  to using  ESCAPE for  recognition -  guide  words.
When you type ESCAPE  to recognize a command,  the system will  often
supply a hint as to  what it wants to  see next.  These hints,  which
are always typed in parentheses, are called guide words.  Try  typing
ESCAPE again and see how it works:
TOPS20>gUIDE (WORDS)
Alright!  The "(WORDS)" above is an  example of a guide word.   Guide
words are also sometimes  called noise words.  Usually they give some
hint as to what should come next, as
    TYPE (FILES)       - you should give it names of files to type
    LOGIN (USER)       - you should type your user name
Sometimes, though, this doesn't give a  big enough hint.  If this  is
the case, you can find out what  is expected of you next by typing  a
question mark.
    ? - show what is expected here
Ok, now try out using a question mark ("?").  (If the system  doesn't
do anything when you're done, type a carriage return.)
How do you spell 3? ? one of the following:
 ONE     THREE    TWO
How do you spell 3? three
Ok, next we'll work on changing what you've typed in.  First of  all,
sometimes, the line you are entering gets broken or messed up in some
other way.  If you type a ^R,  the system will retype the prompt  and
any input you have typed.
    ^R - retype the current line
Here a  broken line  will be  demonstrated.   Type a  ^R to  have  it
redisplayed.
TOPS20>This line is
SANTA.CLAUS, TTY45, 23-May-2010 5:41AM
Have you been good?
TOPS20>This line is not broken
There -  you  see  how  the  line  got  retyped  all  in  one  piece?
Sometimes, something you  typed was  not what you  meant.  There  are
special characters which  you can  use to  edit what  you have  typed
already.  The first of these is DELETE (which may also be labelled as
either "DEL", "RUBOUT", or "RO").  Its function is to erase the  last
character typed.
    DEL - erase the previous character
Use a DELETE to correct the following error:
TOPS20>correction
Hey, you're moving right along now.  The next line editing  character
to learn is ^W.  Sometimes your mistake doesn't involve just the last
couple of letters.  Sometimes you'll goof up a word or two.   DELETEs
aren't convenient when you have to  delete so many letters.  ^W  will
delete characters a word at a time.
    ^W - erase the previous word
Use one or more ^W (along with some other features you've learned) to
correct the following error:
TOPS20>This example is not wrong
That's it!  Almost done with  the editing control characters...   The
last of these is ^U.  If, somehow,  the line you typed in was not  at
all what you were intending to type, ^U will erase the entire line of
input.
    ^U - erase the entire line
Use ^U  (and  some other  features  you've learned)  to  correct  the
following error (we're getting tricky now):
TOPS20>
Wonderful!  Now you know all about editing characters for commands on
Tops-20.  Only a couple more things to learn.  The next is ^O.  If  a
lot of typing is coming out on your terminal which you don't want  to
see, but you don't want to  interrupt the program which is doing  the
output (we'll get to how to do  that in a minute), you should type  a
^O.  The  first  time you  type  ^O,  it redirects  output  for  your
terminal off into  nowhere (sort of  sends it to  the "bit  bucket").
The next time you type ^O,  output is directed back to your  terminal
again.  All output in the interim is lost.
    ^O - toggles output suppression
For practice with  ^O, I'm  going to  dump a  lot of  output to  your
terminal.  Try typing a few ^O's to see how they work.
Type carriage return when you're ready.
This is trip number 1 thru the loop.
This is trip number 2 thru the loop.
This is trip number 3 thru the loop.
This is trip number 4 thru the loop.
This is trip number 5 thru the loop.
[...]
This is trip number 46 thru the loop.
This is trip number 47 thru the loop.
This is trip number 48 thru the loop.
 ^O...s trip number 49 thru the loop.
he loop.
This is trip number 53 thru the loop.
This is trip number 54 thru the loop.
[...]
This is trip number 98 thru the loop.
This is trip number 99 thru the loop.
This is trip number 100 thru the loop.
So there's ^O for you.  Quite useful at times, isn't it...
Would you like to try it again? no
Ok, one last thing which you'll find useful before the final  lesson.
That's ^T.  ^T  tells you  information about what  you are  currently
doing.  It's output looks something like this:
17:03:57 TOPS20 IO wait at 2332  Used 0:34:41.4 in 10:05:05, Load
3.58
In the above example, "TOPS20" is  the the name of the program  which
you are running.   "IO wait" tells  what the program  is doing.   (In
this case, it's waiting for some input or output to complete -  maybe
waiting for the user to  type something.)  The number following  "at"
is the  address  at  which  the program  is  executing.   The  number
following "Used" is the amount of time your program(s) have  actually
spent running, and the one after "in" is how long you've been  logged
on.  The  number following  "Load" is  roughly the  number of  people
trying to use the machine "right now."
Try typing a ^T...
 05:36:28 TOPS20 SLEEP at PS5+11  Used 0:00:01.5 in 0:07:49, Load
0.03
Well, would  you believe  you've made  it to  the last  part of  this
lesson?  The last (but not  least important) thing you'll learn  here
is about ^C.  Typing ^C's is how you get out of almost any program on
Tops-20.  If the program is waiting for input, one ^C will  interrupt
it.  If not, probably  two will work, but  sometimes as many as  four
are needed.  ^C is usually used as a panic exit from a program.
    ^C - exits (immediately) from the program
Oh, yes...  Before you try it out, if you'd like to run this  program
again sometime, it's TOPS20:TOPS20.EXE.
Ok - Now for the last bit of practice - ^C out of this program.
^C
To summarize:
    ^C  - Cease program immediately
    ^O  - Output suppress
    ^Q  - Qontinue output
    ^R  - Redisplay line
    ^S  - Stop output
    ^T  - Tells what's happening
    ^U  - Undoes line being typed in
    ^W  - Word deletion
    ?   - what?s expected here
    DEL - DELetes one character
    ESC - rESCognitiion invoked
Ok, good luck...
@