[comp.sources.amiga] v90i085: vt100 2.9a - diffs to vt100 terminal emulator, Part01/02

Amiga-Request@cs.odu.edu (Amiga Sources/Binaries Moderator) (02/25/90)

Submitted-by: acs@pccuts.pcc.amdahl.com (Tony Sumrall)
Posting-number: Volume 90, Issue 085
Archive-name: comm/vt100-2.9a/part01

This is a shar of context diffs which, when applied to the released
version of VT100 2.9, will bring it up to version 2.9A.  When unshared
it will produce ... instructions on how to programmatically apply the
diffs and the diffs themselves.

If you encounter any problems, please contact me (acs@pccuts.pcc.amdahl.com).

#!/bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 1 (of 2)."
# Contents:  vt100.doc
# Wrapped by tadguy@xanth on Sat Feb 24 12:28:08 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'vt100.doc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'vt100.doc'\"
else
echo shar: Extracting \"'vt100.doc'\" \(36032 characters\)
sed "s/^X//" >'vt100.doc' <<'END_OF_FILE'
XThis is the documentation file for the VT100 terminal emulator originally
Xby Dave Wecker.  Versions 2.7-2.9 are by Tony Sumrall.  I can be reached
Xon USENET => acs@amdahl.com
X
XDave can be reached via:
X
X	Dave Wecker at	ENET:	COOKIE::WECKER
X			ARPA:	wecker%cookie.dec.com@decwrl.dec.com
X			USENET:	{decvax|decwrl}!cookie.dec.com!wecker
X			SNAIL:	Dave Wecker
X				115 Palm Springs Drive
X				Colorado Springs, CO  80908
X
XNote that Dave had NOTHING to do with this release.  Don't bother him with
Xproblem in my code.
X
X
XMANY pieces of code/suggestions have been sent in..
X
X	thanks to all!
X
XProgram startup:
X----------------
X	1> vt100 [-i | +i initfile] [ scriptfile ... ]
X
X                - -i option means don't look for an init file; +i means
X                  look for an init file of this name.  The search for the
X                  init file will be the current directory then S:.  Of
X                  course you can always override this by saying C:file if
X                  you like.  The format for the init file is described
X                  later in this document.
X
X		- The init file controls the setting of initial defaults
X		  and screen and macro definitions.
X
X		- If none of the files (listed above) are found, the
X		  built-in defaults (defined in VT100.C as variables,
X		  beginning with "p_") are used.
X
X		- All commands are either menu or script based. Scripts
X		  are described below.
X
XMenus (Commands in parenthesis are default keyboard bindings: Right-Amiga-chr):
X-----------------------------------------------------------------------
XFile				- file transfers
X	Protocol		- Sets the protocol to be used for send/rec.
X		ASCII		- use uncontrolled protocol
X		Xmodem	(A-X)	- use the ever-popular Xmodem Checksum
X		XmodemCRC	- use the in demand Xmodem CRC
X		Kermit	(A-K)	- my favorite protocol
X		.
X		.		- externally defined transfer programs
X		.
X	Send		(A-S)	- Send a file using the selected protocol
X	Receive		(A-R)	- Receive a file as above
X	Kermit Get	(A-G)	- Get files from a kermit server
X	Kermit Bye	(A-B)	- Finish with the kermit server.
X	Capture			- Log received text to a file.  Changes to
X				  Capturing when in progress
XComm Setup			- Setup communications
X	Baud Rate		- Set the terminal baud rate
X		300
X		1200	(A-L)
X		2400	(A-H)
X		4800
X		9600
X	Parity			- Type of parity
X		NONE	(A-X)
X		MARK
X		SPACE
X		EVEN	(A-E)
X		ODD	(A-O)
X	Xfer Mode
X		Image	(A-I)	- Send files verbatim (for UNIX hosts or
X				  binary files)
X		Text	(A-T)	- Send CR LF as line terminator and strip
X				  CR on received files (VMS text).
X		Convert		- Should KERMIT convert fnames to lower case
X		AutoChop	- Enable/disable AutoChop on XMODEM xfers
X	Shared			- Causes VT100 to use the serial port in shared
X				  mode (see description of the Shared script
X				  command).
X	AutoChop		- Does autochop of XMODEM received files.
XScript				- Script commands
X	Execute Macro	(A-M)	- Start up an asynchronous script file
X	Abort Execution	(A-A)	- Terminate a script file
X	AREXX Macro		- Send a command to AREXX for execution
XUtility			- Utility commands
X	Send Break	(A-.)	- send a break to the host
X	Hang Up			- close line (not implemented yet)
X	Change Dir	(A-D)	- change the local directory (for transfers)
X	Clear Scrn		- clear the screen (initial state)
X	Echo			- turn on/off half duplex mode
X	Wrap		(A-W)	- turn on/off long line wrapping mode
X	Num Key		(A-K)	- turn on/off numeric keypad mode
X	App Cur		(A-C)	- turn on/off application cursor mode
X	BS<->DEL		- swap backspace and delete keys
X	Mouse Up		- send mouse UP events
X	Mouse Dn		- send mouse DOWN events
X
XKeypad mapping (in application keypad mode):
X--------------------------------------------
X
X		AMIGA		VT100		comments
X		-------		-------		---------------------------
X		0-9	==	0-9
X		.	==	.
X		ENTER	==	ENTER		(basically, flip the bottom
X		-	==	,		 2 keys up to get a VT100)
X		HELP	==	-		(only free key around)
X		f1-f4	==	PF1-PF4		(or any rebinding you do)
X		arrows	==	arrows
X
XNote:	If you own an A500 or an A2000 and you use a "good" keymap the
X	top 4 keys of the keypad will function as the VT100 F1-F4.  This
X	that you can use the Amiga's F1-F4 for your own use and still have
X	the ability to generate the VT100 PF1-PF4.
X
X	Right AMIGA key in conjunction with a period (".") will send a
X	break to the host.
X
X	CTRL in conjunction with an at-sign ("@") a two ("2") or a
X	space (" ") will send a NULL to the host.
X
X	CTRL in conjunction with a six  ("6") will send a CTRL-^
X	CTRL in conjunction with a dash ("-") or question mark ("?")
X		will send a CTRL-_ to the host.
X
XMulti file Xfers:
X-----------------
XThe VT100 emulator supports multiple file transfers. This is
Xspecified by using a comma (",") between file names when using XMODEM
Xor KERMIT. (NOTE: host XMODEM's normally CANNOT support multiple file
Xtransfers).
X
XWhen specifying a file name to recieve by default the directory path is
Xstripped off of the filename when sent to the host but is kept for the
Xlocal file spec. eg:
X
X        receive file: ram:file.txt,df1:newfile.bin,$
X
Xwill ask the server for file.txt and put it in ram:, and get newfile.bin
Xand put it on df1: (see explanation of "$" below). If you do a single file
Xtransfer you will get another prompt for the remote name e.g.:
X
X        receive file: ram:file.txt
X        remote file name [file.txt]:  userdisk1:wantfile.txt
X
XThe same rules apply to sending multiple files therefore if you are doing
Xmulti file transfers make sure the host server is connected to the desired
Xdirectory.
X
XIn addition KERMIT supports wildcards:
X    * = any number of characters
X    ? = any single character
XExamples:
X	send:	*.c,*.h,*.doc
X	get:	*.c,*.h,$
X
XNote that in this release, wilcarded files may be sent to a KERMIT that is
X*not* in server mode (e.g. you can say "RECEIVE" to the host KERMIT and
Xsend *.c files successfully).
X
XKERMIT receive is now smart enough to use the host filename so no
Xfilename needs to be specified on the AMIGA's side (see the CONVERT option).
X
XIf your host is capable of sending or receiving long packets (packets in
Xexcess of 94 bytes) you may set p_kmaxpack to some number <= 1000.  The
Xscript command KMAXPACK can accomplish the same result.
X
XInitialization and Script file operation:
X-----------------------------------------
XAn initialization file (as described in the "Program Startup" section) may
Xcontain any of the commands shown below that have the word INIT in their
Xdescription below. Commands that are available from scripts have the word
XSCRIPT in the descriptions below. All commands may be abbreviated to 3
Xletters and are case insensitive.
X
XThe script file can be invoked by selecting 'execute file' from the script
Xmenu. At any time you can abort the script file by selecting 'Abort
XExecution'. You may also invoke a script from a function key if the first
Xcharacter of the function key definition is the KEYSCRIPT character (e.g.,
Xdefine F5 as "~df1:foo.script").
X
XPrior to release 2.9A (a patch release to 2.9), VT100 would interleave
Xscript command execution with the processing of data received from the
Xserial port.  This made scripts inherently timing dependant.  To remove
Xthis timing dependancy, beginning with 2.9A, VT100 will not receive nor
Xprocess data from the serial port while executing a script until the
Xscript issues a WAIT or a DELAY command.  Since the ON command depends
Xon receipt of serial data, this change will also delay ON command
Xexecution until a WAIT or DELAY is encountered in the script as well.
XHowever, during the time a script file is running terminal emulation is
Xstill active and you may type simulataneous with the execution of the
Xscript file.  This may be desired if your script file is WAITing for a
Xstring or is DELAYing for a period of time etc.  You may, of course,
Xcancel the execution of a script at any time
X
XAREXX support:
X--------------
XAREXX is supported in this release.  If an unknown command is entered and
XVT100 can successfully communicate with AREXX then VT100 will automatically
Xforward the unknown command to AREXX for execution -- AREXX will follow its
Xnormal search order.
X
XThe host name (address() in AREXX parlance) is composed of the characters
XVT100-, the name of the serial device used (i.e.  the value specified on the
XDEVICE command or the value of p_device) and the unit number (i.e. the value
Xspecified on the UNIT command or the value of p_unit).  For an unmodified
Xsystem using the serial device distributed with Workbench the hostname would
Xbe "VT100-serial.device-00".
X
XWhen you invoke an AREXX macro, AREXX will automatically search for a file
Xwhose name ends in .vt100.  For example, if you enter FOO and have an AREXX
Xmacro present named FOO.vt100, AREXX will execute it on VT100's (and your)
Xbehalf.
X
XIf for some reason a path to AREXX cannot be established on startup, VT100 will
XNOT attempt to send unknown commands to AREXX.  The user can force a retry by
Xusing the RX command or the RX menu item.
X
XAll AREXX macros run by VT100 run asynchronously with other work including
Xscripts and other AREXX macros.  Be aware of this -- you could surprise
Xyourself!
X
XThe is one special command, FORWARD, which can only be used by issuing it from
Xan AREXX macro.  This command allows an AREXX user to request that all data
Xreceived from the serial port be forwarded to a port for inspection.  Heavy use
Xof this facility will cause VT100 to slow down considerably!  Use it with
Xcaution!  This command does, however, provide some substantial benefits.  Most
Xnotable amongst those are the ability to effectively write a multi-way ON
Xcommand.  See the sample AREXX macros packaged with the distribution.
X
XScript commands will return a return code to the invoking AREXX script.  AREXX
Xautomatically places this value into the special variable RC.  The values
Xreturned are listed in vt100.h and are explained here:
XCMDOK	- Command executed OK
XCMDWARN	- Command issued a WARNING message but completed in some fashion
XCMDBS	- Command is invalid for current state (e.g. INIT only)
XCMDNF	- Command not found (i.e. invalid command)
XCMDFAIL	- Command failed completely.
X
XInitialization and Script file Commands:
X----------------------------------------
X#	Commented line					(INIT,SCRIPT)
X    Format:
X	# This line is a comment
X--------------------------------------------------------------------------
XAPPCUR	Set the application cursor mode			(INIT,SCRIPT)
X    Format:
X	APPCUR	ON/OFF or YES/NO
X--------------------------------------------------------------------------
XASCII_SEND Send an ascii file to the host.		(SCRIPT)
X    Format:
X	(same format as CAPTURE)
X--------------------------------------------------------------------------
XAUTOCHOP Enable/disable XMODEM auto-chop		(INIT, SCRIPT)
X    Format:
X	AUTOCHOP	ON/OFF or YES/NO
X--------------------------------------------------------------------------
XBACKGROUND Define a background color			(INIT)
X    Format:
X	BACKGROUND hex		three digit hex number
X    Example:
X	BACKGROUND F00		bright red background
X--------------------------------------------------------------------------
XBAUD	Set baud rate					(INIT,SCRIPT)
X    Format:
X	BAUD rate		Sets the baud rate for send/receive
X    Example:
X	BAUD 2400		Sets the baud rate at 2400 baud
X--------------------------------------------------------------------------
XBEEP	Beep at the console				(SCRIPT)
X    Format:
X	BEEP
X--------------------------------------------------------------------------
XBOLD	Define a color for bold				(INIT)
X    Format:
X	(same as BACKGROUND)
X--------------------------------------------------------------------------
XBREAK	Set the break time (for an SB command)		(INIT,SCRIPT)
X    Format:
X	BREAK value		Value is in micro-seconds
X    Example:
X	BREAK 750000
X--------------------------------------------------------------------------
XBUFFER	Set transmission buffer size			(INIT)
X    Format:
X	BUFFER n		Number of bytes to buffer
X    Example:
X	BUFFER 512
X--------------------------------------------------------------------------
XCAPTURE	To start/stop ascii file capture.		(SCRIPT)
X    Format:
X	CAPTURE	file		Start ascii capturing
X	CAPTURE			End ascii capturing
X--------------------------------------------------------------------------
XCD	To change the local directory			(SCRIPT)
X    Format:
X	CD	newdir		set a new directory for file transfers
X    Example:
X	CD	DF1:foo/bar	set the directory as specified
X--------------------------------------------------------------------------
XCONVERT	Tell KERMIT whether or not to convert filenames	(INIT,SCRIPT)
X    Format:
X	CONVERT	ON/OFF or YES/NO
X    Example:
X	CONVERT	ON		Filenames will be down cased
X--------------------------------------------------------------------------
XCURSOR	Define a color for the cursor			(INIT)
X    Format:
X	(same as BACKGROUND)
X--------------------------------------------------------------------------
XDELAY	Suspends script file for a specified time	(SCRIPT)
X    Format:
X	DELAY	n		Suspends execution for n seconds
X    Example:
X	DELAY	2		Suspends for 2 seconds
X--------------------------------------------------------------------------
XDEPTH	Define the depth of the window/screen		(INIT)
X    Format:
X	DEPTH n		Number of planes in window/screen
X    Example:
X	DEPTH 1		Minimum depth
X	DEPTH 2		Same as Workbench
X--------------------------------------------------------------------------
XDEVICE	Define name of serial device handler to use	(INIT)
X    Format:
X	DEVICE name	Sets name of serial device handler to name
X    Example:
X	DEVICE newser.device	Set name of serial device handler to
X				newser.device
X	DEVICE serial.device	Set name of serial device handler to the
X				"default" (i.e. the C-A supplied device)
X--------------------------------------------------------------------------
XDISPLAY	Display data on the screen			(SCRIPT)
X    Format:
X	DISPLAY string	Displays string on the screen as though received from
X			the serial port (including escape sequence handling)
X    Example:
X	DISPLAY ^M		Causes VT100 to act as though a carriage-return
X				were received over the serial port.
X	DISPLAY "^[[M"		Deletes the current line on the screen.
X	DISPLAY "Move^[[Aup one line"	Displays "Move" on the current line on
X				the screen then moves the cursor up one line
X				displays "up one line".
X--------------------------------------------------------------------------
XECHO	Turn on/off local echo				(INIT,SCRIPT)
X    Format:
X	ECHO	ON/OFF or YES/NO
X    Example:
X	ECHO	ON		Half duplex mode
X--------------------------------------------------------------------------
XEXIT	Ends execution of the current script file.	(INIT,SCRIPT)
X    Format:
X	EXIT			Exit the current script/init file
X	EXIT VT100		Exit vt100 program (from SCRIPT only)
X	EXIT newscript		Exit this file and start up newscript
X    Example:
X	EXIT DF1:FOO.BAR	Exit the current file and start FOO.BAR
X--------------------------------------------------------------------------
XEXTERNAL	Define external transfer program	(INIT,SCRIPT)
X    Format:
X	EXTERNAL "mode-name" "send-pgm" "receive-pgm"
X				Send-pgm and receive-pgm may contain the strings
X				@LOCAL and @REMOTE which will cause VT100 to put
X				up a requester asking for local and/or remote
X				filenames.  These will be substituted in place
X				of their respective parameters in the send-pgm
X				and/or receive-pgm prior to invoking it/them.
X				See also the description of the SHARE command.
X    Examples:
X	EXTERNAL "FOO" "foo baz" "baz foo"
X				Define external transfer program which will
X				be called FOO in the MODE menu.  Invoke foo
X				passing baz to SEND files, invoke baz passing
X				foo to RECEIVE files.
X	EXTERNAL "FOO" "foo @REMOTE baz" "baz @LOCAL @REMOTE foo"
X				As above but display a requester for the remote
X				filename (in the case of send) or both the
X				local and remote filenames (in the case of
X				receive).  The name(s) used to satisfy the
X				requester(s) will be replaced in the parameter
X				string to the appropriate program prior to
X				its invocation.
X	EXTERNAL FOO		Remove definition of transfer pgm FOO
X--------------------------------------------------------------------------
XF	Define a function key or the mouse prefix	(INIT,SCRIPT)
X    Format:
X	F n string		Define Function key n to be string
X	F M string		Define the mouse prefix (the prefix sent to
X				the host when a mouse button is used AND
X				events are selected via the MOUSE command
X    Example:	(see SEND for string format)
X	F 1 "dir^M"		Define F1 is the string dir<cr>
X	F 11 "help"		Define Shifted F1 as the string help
X	F 20 ^C			Define Shifted F10 as a control-C
X	F M "^[O"		Send ESC-O before mouse data
X--------------------------------------------------------------------------
XFONT Specify font to use				(INIT)
X    Format:
X	FONT font-name
X    Example:
X	FONT point-font
X--------------------------------------------------------------------------
XFONTSIZE Specify font size to use			(INIT)
X    Format:
X	FONTSIZE font-size
X    Example:
X	FONTSIZE 8
X--------------------------------------------------------------------------
XFOREGROUND Define a color for the foreground		(INIT)
X    Format:
X	(same as BACKGROUND)
X--------------------------------------------------------------------------
XFORWARD Forward received data to an AREXX port		(REXXONLY)
X    Format:
X	FORWARD portname
X    Example:
X	FORWARD REXX-VT100	Sends received data to a port named
X				REXX-VT100.  This command can (and probably
X				WILL) cause you to GURU if you remove the
X				port before you tell VT100 to quit
X				forwarding data.
X	FORWARD			Tells VT100 to quit forwarding data
X--------------------------------------------------------------------------
XGOTO	Jumps to a different part of the script file.	(SCRIPT,NONREXX)
X    Format:
X	GOTO label		Jumps to a line beginning with label:.
X				Jumps may be forward or backward.
X    Example:
X	FOO:			Sets up a label
X	...
X	GOTO FOO		Jumps to FOO
X--------------------------------------------------------------------------
XINTERLACE Turn on/off interlace				(INIT)
X    Format:
X	INTERLACE ON/OFF or YES/NO or ASIS
X    Example:
X	INTERLACE ON		Use interlacing
X	INTERLACE ASIS		Use interlace if WBSCREEN uses it
X--------------------------------------------------------------------------
XKB	Send a BYE packet to a host KERMIT server.	(SCRIPT)
X    Format:
X	KB			Shut down server.
X--------------------------------------------------------------------------
XKEYSCRIPT Define a new keyscript character		(INIT,SCRIPT)
X    Format:
X	KEYSCRIPT hex		New character in hex
X    Example:
X	KEYSCRIPT 7E		Use "~" as the new character
X--------------------------------------------------------------------------
XKG	Gets files from host.				(SCRIPT)
X    Format:
X	(same format as KS)	 Get from server
X--------------------------------------------------------------------------
XKMAXPACK Set maximum packet size for kermit transfers	(INIT,SCRIPT)
X    Format:
X	KMAXPACK n		Set maximum packet size to n
X    Example:
X	KMAXPACK 1000		Use long packets if possible.  Don't forget
X				to increase the send/receive timeout values
X				on your host!!!
X--------------------------------------------------------------------------
XKR	Receives a file from kermit host.		(SCRIPT)
X    Format:
X	(same format as KS)	 Not from a server
X--------------------------------------------------------------------------
XKS	Sends files via kermit to the host.		(SCRIPT)
X    Format:
X	KS file			Send one file
X	KS file1,file2,...	Send multiple files
X	KS file1,file2,...,$	Send multiple files and shut down server
X    Example:
X	KS foo.bar		sends foo.bar (note no quoting is used)
X	KS foo1,foo2,foo3	sends three files
X	KS foo1,foo2,foo3,$	sends three files and shuts down server
X--------------------------------------------------------------------------
XLINES	Define number of lines in the window		(INIT)
X    Format:
X	LINES n
X    Example:
X	LINES 24		Maximum for non-interlace
X	LINES 48		Maximum for interlaced
X	LINES 0			Determine the maximum number of lines
X				available and use it
X--------------------------------------------------------------------------
XMODE	Set a transfer mode for KERMIT to use		(INIT,SCRIPT)
X    Format:
X	MODE type		type of transfers to perform
X    Example:
X	MODE IMAGE		image mode transfers
X	MODE CRLF		<CR><LF> text transfers (VMS Kermit).
X--------------------------------------------------------------------------
XMOUSE	Enable reporting of mouse events to the host	(INIT,SCRIPT)
X    Format:
X	MOUSE BOTH/UP/DOWN/OFF
X    Example:
X	MOUSE OFF		Send no mouse events
X	MOUSE BOTH		Send both mouse up and down events
X--------------------------------------------------------------------------
XMSG	Cause VT100 to display a message		(SCRIPT)
X    Format:
X	MSG string	If string ends with a ^M then string will be displayed
X			and a subsequent MSG will overlay string.  If string
X			contains ^J then the text up to the ^J will be
X			displayed followed by a new-line followed by the
X			remainder of the text of string.
X    Example:	(see SEND for string format)
X	MSG "Show me this msg^J" Will display "Show me this msg" with a
X				following new-line in the VT100 Info window.
X				A subsequent MSG will overlay the text of this
X				message.
X
X	MSG "Show me^Mthis msg" Will display "Show me this msg" with a
X				new-line after the words "me" and "msg".
X
X				See the SEND command for a more complete
X				definition of string.
X--------------------------------------------------------------------------
XNUMKEY	Numeric keypad mode				(INIT,SCRIPT)
X    Format:
X	NUMKEY	ON/OFF or YES/NO
X    Example:
X	NUMKEY	ON		Keypad is pure numbers
X--------------------------------------------------------------------------
XON	Peforms a command every time string is received	(SCRIPT)
X    Format:
X	ON      "string"  cmd	Execute cmd when string is received.
X				Only one ON string may be installed at a
X				time.
X
X				If cmd is a GOTO and we were previously
X				WAITing for a string the WAIT is aborted
X				and execution resumes at the new label.
X
X				If cmd is not SEND and we were previously
X				DELAYing, then the DELAY is aborted and the
X				cmd is executed, followed by the next
X				command after the DELAY.
X
X				If cmd is a SEND and we were previously
X				DELAYing, then the DELAY is continued.
X
X				If cmd is NULL (i.e. ON "") then the
X				current ON command is aborted.
X    Example:
X	ON  "LOSS CARRIER" GOTO RESTART
X				If modem drops carrier, try to redial
X	ON  "--more--" SEND " "
X				Send a space every time --more-- is received
X--------------------------------------------------------------------------
XPARITY	Sets the parity					(INIT,SCRIPT)
X    Format:
X	PARITY	type		Set the parity type
X				Note that all received characters that are
X				destined for the screen are subject to
X				having their parity bits removed or left
X				alone depending on the PARITY setting.
X				Versions prior to 2.9 did not do this.  I
X				corrected this bug but you should be aware
X				that old scripts that depended on this
X				incorrect behaviour will probably break.
X				If, for example, you are connected to a
X				host which uses MARK parity but you
X				PARITY NONE you will most likely never
X				match an ON string.
X    Example:
X	PARITY	NONE		no parity
X	PARITY	MARK		mark parity
X	PARITY	SPACE		space parity
X	PARITY	ODD		odd parity
X	PARITY	EVEN		even parity
X--------------------------------------------------------------------------
XRECF	Receive a file using the protocol specified in XPROTO	(SCRIPT)
X    Format:
X	RECF file-spec
X    Example:
X	XPROTO XMODEMCRC	Select XMODEM CRC protocol
X	RECF Foo		Receive Foo using XMODEM CRC
X--------------------------------------------------------------------------
XRX	Send a command to AREXX for processing		(INIT,SCRIPT)
X    Format:
X	RX	command args	Send command and args to AREXX
X    Example:
X	RX TRACE NOTHING	Cause AREXX to execute TRACE.VT100 passing
X				one parameter ("NOTHING").
X
X				Note that it is normally unneccessary to use
X				this command in other cases since VT100 will
X				automatically route unknown commands to AREXX
X				for processing.  However, if VT100 cannot
X				communicate with AREXX at startup it will NOT
X				automatically send cmds to AREXX and this
X				command must be used.  In the normal case,
X				though, this command will be used as the cmd
X				option in an ON command.  Also note that AREXX
X				macros are run asynchronously...you may get
X				results that you don't expect so think about it
X				if you want to try to run two or more AREXX
X				macros sequentially.
X
X				See the section, above, on AREXX.
X
X    Example:
X	ON "gin:" rx login acs	When "gin:" is received invoke the AREXX
X				script login.vt100 passing 1 parameter:
X				acs.
X--------------------------------------------------------------------------
XSB	Sends a break character to the host		(SCRIPT)
X    Format:			Note that any pending character to send
X	SB				is aborted by this call
X--------------------------------------------------------------------------
XSCREEN	Define the screen type				(INIT)
X    Format:
X	SCREEN type		type of screen to use
X    Example:
X	SCREEN WORKBENCH	use the workbench screen
X	SCREEN CUSTOM		use a custom screen
X--------------------------------------------------------------------------
XSEND	Sends a string or character to the host.	(SCRIPT)
X    Format:
X	SEND    "string"	Sends a string to the host. Beginning and
X				ending double quotes (") are required. A
X				carat (^) may be used to send control chars.
X				Two carats transmits a carat character.  Two
X				imbedded double quotes will send a one double
X				quote.
X        SEND    chr		Sends a single character.
X        SEND    ^chr		Sends a single control character. The chr
X				is NOT case sensitve
X    Example:
X	SEND	"mail"		Send the string mail
X	SEND    "dir^M"		Send the string dir followed by a <CR>
X	SEND	a		Send the letter a
X	SEND	^C		Send a control C
X	SEND	"abc^^def"	Send the string abc^def
X	SEND	^^		Send a control-uparrow
X	SEND	"		Send the '"' character
X--------------------------------------------------------------------------
XSENDF Send a file using the protocol specified in XPROTO	(SCRIPT)
X    Format:
X	SENDF file-spec
X    Example:
X	XPROTO XMODEMCRC	Select XMODEM CRC protocol
X	SENDF Foo		Send Foo using XMODEM CRC
X--------------------------------------------------------------------------
XSHARE Use the serial port in shared or exclusive mode		(INIT,SCRIPT)
X    Format:
X	SHARE ON/OFF or YES/NO	If ON or YES other programs that open the
X				serial port in shared mode may be used
X				(possibly via the EXTERNAL command.  If OFF
X				or NO is specified then no other program may
X				use the serial port while VT100 has it open.
X				VT100 will close the serial port if SHARE
X				OFF is specified and an EXTERNAL protocol
X				routine is invoked and then re-open it once
X				the protocol module is done.
X    Example:
X	SHARE ON		Open the serial port in shared mode
X	SHARE NO		Open the serial port in exclusive mode
X--------------------------------------------------------------------------
XSHORTCUT set a new shortcut command key          (INIT)
X    Format:
X	SHORTCUT cmd key        Sets key "key" to be the shortcut key for
X                                script command "cmd".  A null key will
X                                cause no shortcut to be available for this
X                                command (menu-option).  Cmd may be one of
X                                the following:
X			  >> File items:   <<
X    SE	- Send file using XPROTO	RE	- Receive file using XPROTO
X    KG	- kermit get file		KB	- kermit bye (for server)
X    CAP	- ascii capture on/off
X			  >> Mode (XPROTO) items: <<
X    ASC - ASCII "protocol"		XM	- XMODEM protocol
X    XMC	- XMODEM CRC protocol		KE	- Kermit protocol
X			  >> Comm items:   <<
X    300     - Set Baud 300             1200	- Set Baud 1200
X    2400    - Set Baud 2400            4800	- Set Baud 4800
X    9600    - Set Baud 9600            NONE	- Set Parity none
X    MARK    - Set Parity mark          SPACE	- Set Parity space
X    EVEN    - Set Parity even          ODD	- Set Parity odd
X    IMAGE   - KERMIT transfer mode     TEXT	- KERMIT transfer mode
X    CONVERT - KERMIT transfer mode     AUTOCHOP	- Enable/disable XMODEM
X    STRIP   - Strip parity of serial		  auto-chop feature
X	      data destined for terminal
X			  >> Script items: <<
X    EXECUTE - execute macro		ABORT	- abort macro
X    RX      - send AREXX command
X			  >> Util items:   <<
X    SB      - send break		HANG	- hang up
X    CD      - change directory		CLEAR	- clear screen
X    ECH     - turn echo on or off	WRAP	- turn wrap on or off
X    NUMKEY  - turn numeric kpad on/off	APP	- turn app. cursor on/off
X    CON     - convert bs to del		SWAP	- Swap BS and DEL
X    MOUSEUP - send mouse UP events	MOUSEDN	- send mouse DOWN events
X
X    Example:
X	SHORTCUT ASC Q          set Right-Amiga-Q to be the shortcut for
X                                ASCII_SEND.
X	SHORTCUT XS             removes the shortcut key for sending via
X                                XMODEM protocol
X--------------------------------------------------------------------------
XSTRIP	Strip parity of data destined for terminal	(INIT,SCRIPT)
X    Format:
X    	STRIP ON/OFF or YES/NO
X    Example:
X    	STRIP ON	Prior to displaying data from the remote host,
X			remove the parity.  This will "clean up" displays
X			from hosts which can't or won't recognize your
X			parity settings.
X--------------------------------------------------------------------------
XSWAP	Swap the meanings of backspace and delete keys	(INIT,SCRIPT)
X    Format:
X	SWAP ON/OFF or YES/NO
X    Example:
X	SWAP NO		Use standard definitions
X--------------------------------------------------------------------------
XUNIT	Set unit of serial device to use		(INIT)
X    Format:
X	UNIT n
X    Example:
X	UNIT 1		Open unit 1 of the serial device.  Generally the
X			user will want to specify unit 0.  When multi-port
X			serial cards become available specify as necessary.
X			See also DEVICE.
X--------------------------------------------------------------------------
XVOLUME	Set the BELL volume				(INIT)
X    Format:
X	VOLUME n
X    Example:
X	VOLUME 0		Use a visual bell
X	VOLUME 64		Use a loud audible bell
X--------------------------------------------------------------------------
XWAIT	Suspends until a certain string is received.	(SCRIPT,NONREXX)
X    Format:
X	WAIT	"string"	Same rules for string as SEND
X	WAIT			Enter an endless wait. Usually used after
X				some "ON" commands have been set up. Can
X				still be aborted via the script menu.
X    Example:
X	WAIT    "User:"		Waits for the string User:
X--------------------------------------------------------------------------
XWBCOLORS Force usage of workbench colors		(INIT)
X    Format:
X	WBCOLORS ON/OFF or YES/NO
X    Example:
X	WBCOLORS YES		Workbebch colors will be used for all
X--------------------------------------------------------------------------
XWRAP	Set long line wrapping				(INIT,SCRIPT)
X    Format:
X	WRAP	ON/OFF or YES/NO
X    Example:
X	WRAP	ON		Long lines will wrap
X--------------------------------------------------------------------------
XXBEEP	Beep at end of xfer				(INIT,SCRIPT)
X    Format:
X	XBEEP	ON/OFF or YES/NO
X    Example:
X	XBEEP	ON		Beep when xfers are finished
X--------------------------------------------------------------------------
XXPROTO	Set default transfer protocol			(INIT,SCRIPT)
X    Format:
X	XPROTO	ASCII/XMODEM/XMODEMCRC/KERMIT/an external protocol
X    Example:
X	XPROTO	KERMIT		Sets transfer protocol to Kermit
X--------------------------------------------------------------------------
XXR	Receives a file via XMODEM.			(SCRIPT)
X    Format:
X	(same format as KS)
X--------------------------------------------------------------------------
XXS	Sends a file via XMODEM.			(SCRIPT)
X    Format:
X	(same format as KS)
X--------------------------------------------------------------------------
X
X
X----------------------------
XInitialization file example:
X----------------------------
X
X#####################################################################
X#
X#	VT100 sample initialization file
X#	v2.9 ?????? ACS
X#
X# Hash mark at the beginning of a line denotes a comment.
X# White space (space(s) or tab(s)) delimit fields.
X# Case ignored except for function key bindings.
X#
X# All items in this file overide variables of the same name in VT100.C
X# (all variables in vt100.c have a "p_" prepended to them)
X#
X#####################################################################
X#
XAPPCUR		ON		# Application keypad mode is being used
XAUTOCHOP	ON		# Allow XMODEM to strip NULL or ^Z from EOF
XBACKGROUND	000		# Colors are in hex RGB from 000 to FFF
XBAUD		2400		# Anything after required fields is ignored
XBOLD		a00		# Color for bold highlighting (in custom)
XBREAK		750000		# Break time in micro-seconds
XBUFFER		512		# 512 <= Input buffer size <= 2048
XCONVERT		ON		# KERMIT should downcase host names
XCURSOR		00a		# Color for cursor (in custom screen)
XDEPTH		1		# number of bit planes to use (1 or 2)
XECHO		OFF		# Full duplex mode in use
XFONT		MyFont		# Use my own special 8-point font
XFOREGROUND	950		# Colors are only used on the custom screen
XINTERLACE	ON		# ON for CUSTOM or interlaced workbench
XKEYSCRIPT	7E		# Hex value for script introducer
XLINES		0		# normal <= 24 interlaced <= 48 or 0
XMODE		CRLF		# IMAGE or CRLF (for KERMIT transfers)
XNUMKEY		ON		# The keypad should be numeric
XPARITY		NONE		# NONE (= 8 bit), MARK, SPACE, ODD or EVEN
XSCREEN		CUSTOM		# may be CUSTOM or WORKBENCH
XSWAP		OFF		# Don't Swap the Back-space and Delete keys
XVOLUME		64		# Beep Volume (0 = Visual Beep)
XWBCOLORS	YES		# ignore custom colors and use defaults
XWRAP		OFF		# Auto wrap ON or OFF
XXBEEP		ON		# Beep when xfer is done
XXPROTO		XMODEMCRC	# Send/Receive will use Xmodem CRC.
X#   Remove the shortcut key for the CD command.  No comment on next line
X# as it will be taken as the shortcut key.
XSHORTCUT        CD
X#
X# Function bindings (strings to type when any of F1 - F10 are pressed)
X#	f <num>		= function key
X#	f <num>+10	= shifted function key
X#
X# The string specified must be the same format as the SEND command:
X#	^	= control next character
X#	^^	= up arrow
X#
X# Sample control characters:
X#	^[	= escape	^M	= carriage return
X#	^J	= line feed	^L	= form feed
X#
X# If the first character of the string is a script introducer
X# (KEYSCRIPT) then the string is interpreted as a script filename
X# to be executed when the key is pressed.
X#
X# Examples of bindings:
X#
Xf 1	"^[OP"			# f1-f4 = PF1 - PF4 on a VT100
Xf 2	"^[OQ"
Xf 3	"^[OR"
Xf 4	"^[OS"
X#
X# f5,6,7 = scripts to execute (assuming that KEYSCRIPT = '~' = 0x7E)
X#
Xf 5	"~df1:vt100_source/dialwork.script"
Xf 6	"~df1:vt100_source/sendvt100.script"
Xf 7	"~df1:vt100_source/getpics.script"
X#
Xf 8	"MAIL^M"		# Reads my mail (note embedded <CR>)
Xf 9	"NOTE^M"		# Reads conferences
Xf 11    "ATdt415-595-2479^M"    # dials the FAUG BBS
X#
X# all done with init, now execute script as startup sequence
X#
Xexit df1:vt100_source/dialwork.script
X
X--------------------
XScript file example:
X--------------------
X
X###################################################################
X# Script to dial work (dialwork.script)
X#	v2.6	870222	DBW
X###################################################################
X#
X# Make sure that we have all the parameters we want
X#
X	DELAY	2
X	BAUD	2400
X	PARITY	NONE
X	MODE	CRLF
X	BREAK	750000
X	SB
X#
X# First get the modem's attention:
X#
XStart:
X	DELAY 1
X	ON "Ready" GOTO Dial
X	SEND ^B
X	DELAY 2
X	GOTO Start
X#
X# Now dial the 2400 baud line to work:
X#
XDial:
X	ON "Attached" GOTO Login
X	SEND "$2400!"
X	DELAY 30
X	GOTO Start
X#
X# We got attached, so keep hitting return until the Gandalf terminal
X# handler wakes up:
X#
XLogin:
X	ON "enter" GOTO Gandalf
X	DELAY 1
X	SEND ^M
X	GOTO Login
X#
X# Now connect from the Gandalf to the terminal server (ts2):
X# (when it asks for a password I need to type the password 
X# manually here)
X#
XGandalf:
X	DELAY 2
X	SEND "ts2^M"
X	WAIT "class start"
X#
X# Keep sending <CR>'s until the LAT prompts for a username:
X#
XWaitLat:
X	DELAY 2
X	ON "username>" GOTO Lat
X	SEND ^M
X	GOTO WaitLat
X#
X# Tell the LAT that it's me, and connect to the "cookie cluster"
X# (my host systems). Tell the cluster my user name.
X# (when it asks for a password I need to type the password
X# manually here)
X#
XLat:
X	SEND "wecker^M"
X	DELAY 1
X	SEND "connect cookie^M"
X	WAIT "Username:"
X	SEND "WECKER^M"
X	WAIT "at home"
X	SEND "^M^Mn^M"
X#
X# Got through all the LOGIN garbage, so let's do some work.
X#
X	WAIT "$ "
X#
X# All done so stop:
X#
X	EXIT
END_OF_FILE
if test 36032 -ne `wc -c <'vt100.doc'`; then
    echo shar: \"'vt100.doc'\" unpacked with wrong size!
fi
# end of 'vt100.doc'
fi
echo shar: End of archive 1 \(of 2\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 2 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked both archives.
    rm -f ark[1-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0
-- 
Mail submissions (sources or binaries) to <amiga@cs.odu.edu>.
Mail comments to the moderator at <amiga-request@cs.odu.edu>.
Post requests for sources, and general discussion to comp.sys.amiga.