====== 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...
  @

$Id: tops20-interactive.html,v 1.1 2010/05/23 16:55:57 papa Exp $