 ALIAS            --- give a new name to an old (set of) command(s)
             Form : ALIAS [<name> [<command>]]
         Examples : ALIAS rm RM -I
                    ALIAS time Time \; DATE		or better
		    ALIAS time 'Time ; DATE'
                    ALIAS ed c:\util\edit.ttp $*
		    ALIAS ed
		    ALIAS exec cls \; $* \; cls		or better
		    ALIAS exec 'cls ; $* ; cls'
		    ALIAS @ Setenv \;:
		    ALIAS

 ASK and GET       --- read from the keyboard
             Form : ASK ["<string>"] <variable>
                    GET ["<string>"] <variable>
         Examples : ASK ANSWER
                    ASK "COPY NOW ? : " EINGABE
                    GET "Your choice : " choice

 BEEP              --- ring the bell
             Form : BEEP [<n>]
          Options : <n> : ring <n> times
         Examples : BEEP
                    BEEP -3

 BYE or EXIT     --- leave Master and go back to the calling program
           Form : (EXIT | BYE)

 CAR               --- show start of variable
             Form : CAR <variable>
	  Options :   C : use chars (not words)
		    <n> : show first <n> words (or chars)
		      O : show <n>'th word only
		      G : lookup global binding

 CAT or TYPE     --- show file contents
           Form : (CAT | TYPE) {<filespec>}
        Options : L : line numbers
		  N : show filenames
		  M : act like more
		  P : act like page
		  I : display 32000 bytes as image
		  C : display as text (even binaries)
        Default : normal output of the specified files

       Examples : CAT MASTER.SET
                  CAT *.C -NL
                  CAT *.C *.DOC
		  CAT *.pic -im


 CD              --- change directory or show current directory
           Form : CD [<pfad>]
        Options : N : don't show toplevel dir as \
		  S : execute sign_on.bat
       Examples : CD
                  CD \
                  CD E:\TMP
                  CD C_FILES\
                  CD C_FILES         (identical to the previous)

 CDR               --- show rest of variable
             Form : CDR <variable>
	  Options :   C : use characters
		    <n> : strip <n> words (0 shows entire variable)
		      G : use global var binding

 CHMOD           --- change file attributes
           Form : CHMOD <mode> [<filespec> ... ]
		  mode :
                  0 : readable and writable
                  1 : read-only           (r/o)
                  2 : hidden file	  (hid)
                  4 : system file         (sys)
                  8 : diskname            (vol)
                 10 : directory           (DIR)
                 20 : written and closed  (w/c)

       Examples : CHMOD 1 *.C          write-protect all C-files
                  CHMOD 3 TEST.PRG     write-protect and hide TEST.PRG
                  CHMOD 22 YY          absolute nonsense (but possible)

 CHRONO          --- set or clear the internal stop-watch
           Form : CHRONO [<timestring>]

 CLOSE             --- close open streams
	     Form : CLOSE <stream> {<stream>}
          Options : O : do not complain about non-open files
         Examples : CLOSE mainfile infile
         See Also : OPEN, GETLINE

 CLS             --- Clear Screen
           Form : CLS

 COMP              --- compare two files (bytewise)
             Form : COMP <file1> [<file2>]
	  Options : S : silent mode
         Examples : COMP TEST.C TEST.BAK
                    COMP B:\*.PAS -P
                    COMP MENU.BAT E:
         See Also : DIFF

 CP or COPY      --- copying of files
           Form : (COPY | CP) <source> {<source>} [<dest>]
        Options : O : overwrite existing files
		  N : never overwrite
		  D : overwrite older files
		  T : preserve time and date
		  I : ask user for confirmation
		  V : overwrite newer files
		  Y : show action, but don't copy
		  F : do not test free space on destination drive
		  A : append files
		  C : eventually create target directory
		 <n>: use <n> bytes buffer (0 means just copy filename)
		  K : interpret <n> as kilobytes
        Default : asking
       Examples : CP A: B:
                  COPY MASTER.PRG B:MASTER\
                  CP *.C -O
                  CP A:\MASTER -N

 DATE            --- read or set the internal calendar
	Options : S : display short format
           Form : DATE [<datestring> [<timestring>]]
       Examples : DATE 20.9.86

 DIFF              --- search for differences in 2 textfiles
             Form : DIFF <file1> [<file2>]
         Examples : DIFF T.PAS T.BAK
                    DIFF E:PAS\
                    DIFF WORK.FOR B:
         See Also : COMP

 DIR or LS and LL --- display contents of directory
           Form : (DIR | LS | LL) {<filespec>}
        Options : D : directories
		  H : hidden files
		  S : system files
		  N : normal files
		  A : all files
		  V : only volume labels
		  U : unix-like display (directories with /, links with @)
		  I : inverse output
		  R : recursive listing
		  P : only filenames
		  E : only erased files
               F, L : long format
        Default : normal files

                  LL does the same as LS -F

       Examples : LS
                  LS B: -A
                  LS *.PRG -F
                  LL MASTER.* B:\ *.C
                  LS -R

 DIRS and POPD and PUSHD  --- manipulation of the directorystack
	     Form : PUSHD {<dirname>}
		    POPD
		    DIRS
	  Options :   S : execute sign_on.bat
		    <n> : get <n>'th entry
         Examples : PUSHD A:\MASTER	we go to A:\MASTER
		    PUSHD A:\BATCH	we go to A:\BATCH
		    PUSHD		we go back to A:\MASTER
		    POPD		and again to A:\BATCH
		    DIRS		on the stack is the old directory
		    POPD -3		get the third entry

 DUMP             --- show files as HEX/ASCII-dump
            Form : DUMP {<filespec>}
         Options : N : show filenames
		   D : show data section
		 <n> : start at offset <n>
        Examples : DUMP *.PRG -N
                   DUMP EDIT.PRG EDIT.RSC -D
		   DUMP -1024 A.PRG


 ELAPSED         --- show elapsed time
        Options : L : show running time of last command
           Form : ELAPSED

 ERR               --- show error-code of previous command or set it
             Form : ERR [<n>]

 EVAL            --- evaluate a mathematical expression (reverse
		     polish notation)
           Form : EVAL <rpn-expr>
       Examples : EVAL 5 6 -
                  EVAL count 1 +
                  EVAL 45 5 6 + * 4 -

 EXPORT            --- export variable to the next global level
	     Form : EXPORT {<var>}
         Examples : EXPORT var1 var2
		    EXPORT
         See Also : SET, SETENV, UNSET, UNSETENV

 FILES           --- display files and put in environment var
           Form : FILES [<file>..]
        Options : P : display with absolute path
		  K : preserve non-existing files in output
		  D : show directories
		<n> : use a maximum of <n> bytes for output
		  A : show all files
		  R : display with relative path
        Default : -128
       Examples : FILES
                  FILES -98 B:*.C
                  FILES A:\TMP\  ..\*.PAS
		  FILES -K NEU.PAS ALT.[CH]
       See Also : LS, DIR, LL, STATUS

 FIND or FGREP     --- Search a string in textfiles
             Form : (FIND | FGREP) <searchstring> {<filedesc>}
          Options : L : line numbers
		    I : ignore case
		    V : show non-matching lines
         Examples : FIND "()" *.C
                    FGREP "  BEGIN" *.PAS *.BAK -IL
                    FIND "(""%" *.C -V

 FORMAT           --- format a floppy-disk
            Form : FORMAT drive [<volumelabel>] [<starttrack>
					[<endtrack> [<sectors/track>]]]
         Options : S : use single-sided format
		   O : do not ask for confirmation if disk is formatted
		   N : do not touch bootsector
        Examples : FORMAT A
                   FORMAT B TESTDISK 81 81 10 -S-N
                   FORMAT A 0 81 10 -O

 FREE            --- give back SHRINK'ed memory
           Form : FREE

 GETLINE           --- read a line from an open stream
	     Form : GETLINE <var> [<stream>]
         Examples : GETLINE inline infile
		    GETLINE inline     ! read from the last accessed file
         See Also : OPEN, CLOSE

 GOTO              --- go to a label in a batchfile
             Form : GOTO <label>
         Examples : GOTO START:
                    GOTO COMPILE
                    GOTO L1

 GREP              --- search for a regular expression in files
             Form : GREP <pattern> {<file>}
          Options : L, N : show line-numbers
		       V : print non-matching lines
		       I : ignore case
		       C : only count matches
		       P : print file names that contain matches
                   the following chars form a regular expression

                   '^'  - start of line
                   '$'  - end of line
                   '.'  - any character except newline
                   ':a' - any alphabetic character
                   ':n' - any alphanumeric char (a-z,0-9)
                   ':d' - any digit
                   ': ' - blank, tab or other control-characters
                   ':<' - start of word
                   ':>' - end of word
                   '+'  - repeat previous expression one or more times
                   '*'  - repeat previous expression zero or more times
                   '-'  - previous expression can be ommited
                   '[]' - any char of the specified set ('^' immediately after
			  '[' negates and ranges can be specified with '-')
                   '\'  - mask the next character (example: '\$' means '$')
                    x   - any other char must match against the input exactly

         Examples : GREP "^#define: *.*:d+$" *.c
                     searches C-defines for a number
                    GREP ".*(.*var.*)" *.PAS
		    GREP -P printf *.C ==> xx ; EDIT $xx

 HELP            --- give some help
           Form : HELP [[<topic>] [<helpfile>]]
       Examples : HELP RS232
                  HELP
		  HELP COMPILER A:\PASCAL\PASCAL.HLP
		  HELP PETER C:\HELPFILES\BIRTHDAY.HLP

 HISTORY          --- manipulate history
            Form : HISTORY [<n>]
	 Options : T : display history as text
		   P : show protection state of entries
		   W : set minimal width of commands accepted
        Examples : HISTORY
		   HISTORY -W 2
                   HISTORY 40  	       ;: set length of history
		   HISTORY -t >all.bat

 INVERSE         --- output is white on a black background
           Form : INVERSE

 JOBS              --- display active jobs
	     Form : JOBS
	  Options : <n> : set maximal number of jobs
      Description : active job (reachable with %%) is marked with +
		    jobs may be restarted with %<job-id>
         See Also : KILL

 KBD		   --- set or show the keyboard defaults
	     Form : KBD [{<keyword>}]
		   keyword:
			[NO]REPEAT
			[NO]KEYCLICK
			[NO]BELL
			[NO]MOUSE
         Examples : KBD MOUSE	;: mouse-movements simulate cursor-keys
		    KBD NOREPEAT	;: no autorepeat

 KEY              --- set function key strings
            Form : KEY [([+]F<n>|M(L|R)) [<string>[@]]]
        Examples : KEY F1 COMP TEST.C
                   KEY MR EDIT TEST.C	;: right mouse-button
                   KEY +F3

        See Also : SAVE, RESTORE

 KILL              --- terminate stopped programs
	     Form : KILL %<job-id>
         See Also : JOBS
	 
 L25 and L50       --- set the number of lines on the (mono) screen
             Form : (L25|L50)

 LN              --- installation of symbolic links
           Form : LN [<copy> [<original>]]
       Examples : LN C:\AUTO\MASTER.PRG D:\TOOLS\TOS\MASTER.PRG
                  LN HARDDISK E:\
		  LN \USR\INCLUDE\ D:\LANGUAGE\C\INCLUDE\
		  LN @:\TEMP @:\TMP
		  LN @:\PROG.RSC C:\RESOURCE\PROG.RSC
		  LN HARDDISK
		  LN

 LOCK              --- write-protect a logical drive
             Form : LOCK {<drive>}
	  Options : H : hard-lock (remove from drive list)

 MD or MKDIR     --- create a new directory
           Form : (MD | MKDIR) <dirname> {<dirname>}
       Examples : MD C_FILES
                  MKDIR TEST DOCUMENT COMPILER
                  MD C_FILES\TEXTE

 MEMDUMP           --- Hex- and ASCII-Dump of the main memory
             Form : MEMDUMP [<start> [<end>]]
         Examples : MEMDUMP
                    MEMDUMP 70234
                    MEMDUMP 4425 4475

 MENU		   --- display and execute popup-menus
	     Form : MENU [<menuspec>]
	   Syntax : <menuspec> == '['['#'<rows>] [<item>] {'|' <item>} ']'
		    <item> == %<val>[<menuspec>]<string>
	  Options : none
	  Default : show the last menu defined
      Description : A PopUp-Menu is displayed. <menuspec> has the following
		    form:
		      [ : start a new (sub-)menu
		      ] : finish menu
		      | : seperates menu-entries
		     #n : change maximal number of rows (default 5) to n
		     %n : change return-value (Default: rank of the entry) to n
		    The selected entry is returned in the ERR-variable when an
		    entry is selected with a mouse-click. Submenus have to be
		    specified first. '#' has a special meaning only immediately
		    after '[' and '%' only after '[' or '|' (or the '#'-spec).
         Examples : MENU [#2%4[#1 Eins | Zwei | Drei] Vier |%5 Fuenf ]
		    MENU
		    SETENV DELIMITER  | ; FILES -K; MENU [ $FILES ] ;
		     SET value $? ;
		     EVAL value 2 * 1 - ->value;
		     CAR -${value}o FILES -> f ;
		     MORE $f		(show selected file)

 MODULE		 --- start a memory-resident Master-extension
	   Form : MODULE [<filename>]
       Examples : MODULE popup	(installs the MENU-function)

 MORE and PAGE    --- show files in seperate pages
            Form : (PAGE | MORE) {<filespec>}
         Options : N : show filenames before file
		   L : line numbers
		   I : display image file
        Examples : MORE *.C
                   PAGE MASTER.HLP TEST.DOC

 MV or MOVE      --- copy files (source is renamed or deleted after copy)
           Form : (MOVE | MV) <source> {<source>} [<dest>]
        Options : O : overwrite existing files
		  N : never overwrite files
		  D : overwrite older files
		  T : preserve time and date
		  Y : show action, but do not move
		  V : overwrite newer files
		  I : ask for confirmation
		  F : do not examine free space on target drive
		  C : create missing target directory

 NORMAL          --- output is black on white background; this is the default
           Form : NORMAL
        Options : K : restore Bios keybindings

 ON	 	   --- set handler for error condition
            Form : ON [ERROR] [!] "{command}"
     Description : ! sets global error handler (otherwise local to batch)
		   "" disables processing
 OPEN              --- open a file for sequential read or show all open streams
	     Form : OPEN [[<stream>] <datei>]
         Examples : OPEN
		    OPEN address.txt	;: streamname equals filename
		    OPEN infile address.txt
         See Also : CLOSE, GETLINE

 PACK and UNPACK   --- compress files and restore original contents
             Form : (PACK | UNPACK) <source> {<source>} [<dest>]
          Options : O : overwrite existing files
		    N : never overwrite files
		    D : overwrite older files
		    M : remove source after successful (un)packing
		    T : preserve time and date stamp
		    V : overwrite newer files
		    Y : show only action, but do not pack or unpack
		    I : ask user before action
		    C : create missing target directory
         Examples : PACK T.C T.PAK
                    PACK *.PAS A:\PACK\

 PAUSE             --- pause a batchjob
             Form : PAUSE

 PRINTF		 --- formatted output
           Form : PRINTF [formatstring {argument}]
       Examples : PRINTF "%-30s : %lx\n" text num

 PWD               --- show default-directories on all drives
             Form : PWD

 QUIT              --- leave one or more batchfiles and set error code
             Form : QUIT [<ret>]
	  Options : <n> : leave <n> files

 RD or RMDIR     --- removing of directories
           Form : (RD | RMDIR) <dirname> {<dirname>}
       Examples : RD C_FILES
                  RD COMPILER TEXTE

 REM               --- display text at the console
             Form : REM [<string>]

 REN or RENAME   --- renaming of files
           Form : (REN | RENAME) <exactfile1> <exactfile2>
       See Also : MOVE, MV

 RESTORE          --- restore saved state
            Form : RESTORE [<file>]
         Options : M : merge saved state
		   N : do not overwrite existing definitions if merging
		   G : restore global set vars
	 Default : A:\MASTER\MASTER.SET

 REWIND            --- reset the parameterlist at the starting point
             Form : REWIND

 RM or DELETE or ERA or ERASE or DEL --- remove files
           Form : (DEL | DELETE | ERA | ERASE | RM) {<filespec>}
        Options : I : ask for confirmation
		  O : never ask
		  Y : show action, but don't remove files
       Examples : RM B:\C_FILES\
                  RM *.BAK *.HLP
                  DEL -O
                  ERA *.* -I

 RS232             --- show or set parameters of serial line
             Form : RS232 {<parameter> <value>}

                    RS232 BAUD <b> :
                     here <b> can be :

                       19200                 600
                        9600                 300
                        4800                 200
                        3600                 150
                        2400                 134
                        2000                 110
                        1800                  75
                        1200                  50

          ......................................
                   RS232 PARITY <p>
                     Here <p> can be :

                        ODD
                        EVEN
                        NO

          ......................................
                   RS232 BITS <b>
                     here <b> can be :

                        5, 6, 7 or 8

          ......................................
                   RS232 FRAME <f>
                     here <f> can be :

                        0               - synchronous mode
                        1, 1.5  or 2    - asynchronous mode

          ......................................
                   RS232 FLOW <f>
                     here <f> can be :

                        XON/XOFF          - software - handshake
                        RTS/CTS           - hardware - handshake
                        NO                - no handshake

          ......................................

 SAVE             --- save function-keys, aliases, links and variables (set and
		   setenv)
            Form : SAVE [<file>]
	 Options : G : save global set vars (used in batchfiles)
	 Default : A:\MASTER\MASTER.SET

 SET and SETENV   --- set local and global variables
            Form : SET [<variable> [<value>]]
		   SETENV [<variable> [<value>]]
        Examples : SET OPTION -debug -nolist
                   SETENV LINES 20	! set maximal lines for MORE ...
                   SET
                   SETENV USERRED
                   SET Lines $LINES
		   SETENV
		   SETENV UNIX 2	! switch to extended unix-mode

 SET?              --- is this (global/local) variable set ?
             Form : SET? variable
	  Options : G : ask for global var only
		    L : ask for local var only

 SHAREWARE	 --- Shareware-conditions for MASTER
	      Fee : 50,- DM (private persons), 100,- DM (commercial users)
	   To pay : on regular use of MASTER
	Addresses : Michael Naumann		Edgar Greuter
		    Am Sportplatz 22		Francoisstrasse 21
		    D-W-6620 Völklingen		D-W-6600 Saarbrücken
	   E-Mail : michael@pingu.saar.sub.org,	edgar@pingu.saar.sub.org
	 Handbook : contains full description of all commands, many examples
		    and tips, also on the interfaces to any program started
		    from MASTER

	The MASTER versions later than 6.0 will be distributed as shareware,
	which means, that everybody can test the  whole package of programs,
	give it away to anybody else.  But if you use the shell on a regular
	basis, you have to pay a shareware-fee of 50.- DM (~30 US$).
	Registered users  get an  actual version  of  MASTER with their  own
	serial number and the 120+ pages detailed  handbook.  Please tell us
	the serial  number and version of  this version of the program (both
	will be told upon start  of MASTER on  the  screen). So we can  give
	this registered user a bonus  of 10.- DM  for promoting the  further
	distribution of MASTER.

 SHIFT             --- shift parameter list of batchfiles
             Form : SHIFT
	  Options : <n> : shift <n> positions

 SHOW            --- display free bytes on disk or in memory
           Form : SHOW {<drive>}
        Options : M : free memory
		  T : give totals for all drives
		  V : verbose output

 SHRINK          --- shrink available main memory
           Form : SHRINK
        Options : <n> : allocate <n> bytes more
		    K : interpret <n> as kilobytes
       Examples : SHRINK -128K

 SLEEP             --- interrupt execution for <n>/10 seconds
             Form : SLEEP <n>

 STATUS            --- show status-variables of Master
             Form : STATUS

 TIME            --- read or set the internal clock
           Form : TIME [<timestring> [<datestring>]]
	Options : S : display short format
       Examples : TIME 22:09
                  TIME 6:03:20 7.2.87

 TOUCH             --- update time and date stamp of files
             Form : TOUCH {<file>}
	  Options : C : never create files
		    I : ask user
         Examples : TOUCH *.C *.H ED.TTP
		    TOUCH -C	                   ! *.* or $DEFAULT as Default
		    TOUCH -I *.C

 UNALIAS           --- remove ALIASes
             Form : UNALIAS {<name>}
	  Options : O : do not ask for confirmation

 UNLINK          --- remove a LINK from the list of links
           Form : UNLINK {<link>}
        Options : O : don't ask for confirmation

 UNLOCK            --- write-enable a logical drive
             Form : UNLOCK {<drive>}
	  Options : O : do not ask for confirmation
		    H : install in drive list

 UNSET and UNSETENV --- remove variables
            Form : UNSET {<variable>}
		   UNSETENV {<variable>}
	 Options : O : do not ask for confirmation
        Examples : UNSET OPTION
                   UNSET klein
		   UNSETENV WRAP
		   UNSET
		   UNSETENV

 VERSION         --- show version numbers of Master and the operating system
           Form : VERSION

 WHICH             --- show command associated with name (intern, alias, extern)
             Form : WHICH {<command>}
         Examples : WHICH test make ls foreach
         See Also : ALIAS


 ZCAT              --- show compressed files
             Form : ZCAT {<filespec>}
	 Examples : ZCAT FILE.PAK
		    LS *.[CH] | ZCAT LS.PAK  ;: this packs the output

--- 
000000 ALIAS
000429 ASK GET
000706 BEEP
000875 BYE EXIT
000979 CAR
001221 CAT TYPE
001671 CD
002022 CDR
002232 CHMOD
002887 CHRONO
002989 CLOSE
003214 CLS
003274 COMP
003547 CP COPY
004264 DATE
004445 DIFF
004688 DIR LS LL
005364 DIRS POPD PUSHD
005810 DUMP
006104 ELAPSED
006230 ERR
006333 EVAL
006564 EXPORT
006762 FILES
007290 FIND FGREP
007633 FORMAT
008042 FREE
008117 GETLINE
008351 GOTO
008536 GREP
010037 HELP
010261 HISTORY
010610 INVERSE
010699 JOBS
010950 KBD
011214 KEY
011485 KILL
011595 L25 L50
011697 LN
012030 LOCK
012175 MD MKDIR
012390 MEMDUMP
012605 MENU
013711 MODULE
013862 MORE PAGE
014140 MV MOVE
014610 NORMAL
014765 ON
014962 OPEN
015232 PACK UNPACK
015821 PAUSE
015891 PRINTF
016028 PWD
016118 QUIT
016262 RD RMDIR
016431 REM
016521 REN RENAME
016651 RESTORE
016902 REWIND
017002 RM DELETE ERA ERASE DEL
017357 RS232
018959 SAVE
019183 SET SETENV
019597 SET?
019772 SHAREWARE
020948 SHIFT
021076 SHOW
021269 SHRINK
021467 SLEEP
021563 STATUS
021649 TIME
021864 TOUCH
022145 UNALIAS
022270 UNLINK
022416 UNLOCK
022588 UNSET UNSETENV
022856 VERSION
022963 WHICH
023163 ZCAT
001185
