






BEACON Reference Manual




Version 0.6
May 15, 1986








Systems  Communications Group

Computing Services
School of Business Administration
University of Michigan
Contents




Introduction												2
Summary of BEACON Commands												3
Detailed Description of BEACON Commands												6
BEACON Input Editor Key Assignments												28
BEACON Version 0.6 Enhancements												30
Limitations of this version of BEACON												31
APPENDIX A: BTOS Character Codes												32
Introduction
	This document is a reference manual for BEACON.  BEACON is a communications program written by Computing Services in the School of Business Administration at the University of Michigan.  BEACON runs on the Burroughs B25 workstations, making the B25 a highly functional terminal that can be used with virtually all host systems.
	BEACON saves the last 2500 lines (approximately) that appeared on the terminal screen during an host session.  Using BEACON, you can store lines from this session in a B25 file or print them on a printer attached to the B25.  You can also edit a line from the session and resubmit it to the host.  Lines that scroll off the top of the screen during an host session are not lost; you can scroll back and forth freely to view lines in the session, up to the limit of lines saved.
	This reference manual is intended as a complete technical description of BEACON.  You may wish to refer to the BEACON Tutorial for a basic introduction to using BEACON.

A Note on Notation
	In this manual, three kinds of syntax symbols are used to specify notation or syntax of commands, namely:
Angle brackets			<parameter>					You are required to specify this parameter.
Square bracket			[parameter]					You have the option of specifying this parameter else a default value will be used.
Vertical bar			parameter|parameter					You can choose either of the alternatives separated by |.
	Do not enclose the value in angle or square brackets.
Summary of BEACON Commands

	The following list summarizes one of the two sets of commands accepted by BEACON.  (The other set is accepted by the BEACON Input Editor and is listed in the Input Editor section of this manual).  Parameters are omitted from the list.  (See detailed descriptions.)
	While most BEACON commands can be issued by typing the full command or an unambiguous abbreviation, including prefix character () from the command line, as given in the list on the next page, many commands are intended to be issued with a single keystroke.  If this is the case, the key name is also listed.  When issuing a command by typing the full or abbreviated name, the command should be the first entry on the input line, should be followed by its parameters if any are required, and should be terminated by the RETURN key.  You may assign any BEACON command to a single key if you wish, using the DefineKey command.
	A list and a brief description of all the BEACON local commands is provided on the next page.  A detailed description of each of the commands is provided on the following pages.
Command				Function

AnswerBackMessage				Specifies the VT100 answerback message.
AutoExit				Returns to BTOS executive when disconnected.
AutoView				Enters VIEW mode upon invalid parameter entry.
BackwardScroll				Moves back a specific number of lines in the history.
BaudRate				Establishes baud rate.
BinaryFileType				Sets file transfer file as type BINARY.
Bye				Terminates KERMIT while conversing with a server.
ClearAllTabs				Removes all tab stops.
ClearTabs				Removes tab stops.
Column				Sets left margin to a specific column.
Connect				Establishes connection with a host.
CTS				Specifies the use of CTS line for transmission.
CursorApplicationMode				Designates VT100 cursor key behavior.
DataBits				Specifies number of data bits for transmission.
DefineKey				Defines a string to a key.
Disconnect				Terminates connection with host.
Dump				Prints a portion of history to output device.
Encipher				Enciphers a text file.
EncipheredSubmit				Submits a enciphered (Encipher) file.
Exit				Terminates execution and returns to BTOS executive.
Explain				Display local command syntax and description.
Finish				Instructs host's KERMIT server to exit server mode.
ForwardScroll				Moves ahead a specific number of lines in the history.
Get				Retrieves a file from a host KERMIT server.
HalfDuplex				Enables local echo of keystrokes.
Help				Displays a screen of useful information.
HistoryReset				Empties the contents of the history.
HistoryRestore				Restores history from a file.
HistorySave				Saves current history in a file.
KeypadApplicationMode				Designates VT100 numeric keypad behavior.
KeyReset				Resets all key definitions to default values.
KeyRestore				Restore key definitions in a file
KeySave				Saves current key definitions in a file.
Line				Moves the view to a specific line in the history.
ListKeys				Displays all of the current key definitions.
LogTransactions				Establishes file transfer logging facility.
LongHistory				Verifies all screens get entered into the history.
MacroAssign				Assigns a string to a macro variable in macro mode.
MacroBegin				Enters the macro mode.
MacroElse				Else clause of a macro if statement.
MacroEnd				Exits from macro mode.
MacroEndif				Specifies the end of an macro if statement.
MacroIf				If clause of a macro.
MacroLog				Allows tracing of macros to a file.
MacroResponse				Reads in a user response for a macro variable.
MacroWrite				Prompts the user to enter some input.
MarginBell				Enables bell when cursor is close to the end of line.
NewLine				Changes CR mapping to CRLF.
NumberDisplay				Enables display of history line numbers.
OutputDevice				Sets the default printer for Print and Dump.
PageSize				Defines the number of lines to a page.ParameterReset				Resets all system parameters to default values.
ParameterRestore				Restore all systems parameters from a file.
ParameterSave				Save all system parameters in a file.
Parity				Sets parity type for transmission.
Password				Sets the default password for all BTOS file accesses.
PortLetter				Selects serial port for transmission.
Prefix				Defines the first character of local commands.
Print				Prints a file on the output device.
Promptlength				Defines the length of the host's prompt.
ReceiveFiles				Invokes KERMIT receive file transfer mode.
RecordSession				Initiates recording session in a file.
Remote				Send commands to host KERMIT server.
Reset				Reset to the default environment.
Restore				Restores an environment from a file.
Save				Saves the current environment in a file.
SendFiles				Invokes KERMIT send file transfer mode.
Server				Place BEACON into KERMIT server mode.
SetEigthBitPrefix				Establishes KERMIT's 8th bit prefix mechanism.
SetEigthBitPrefixChar				Establishes KERMIT's 8th bit prefix character.
SetExplainFile				Sets the file to be displayed by the Explain command.
SetHelpFile				Sets the file to be displayed by the Help command.
SetReceiveEOLChar				Sets KERMIT's receive endofline character.
SetReceiveEORString				Sets KERMIT's receive endofrecord string.
SetReceivePacketLength				Sets KERMIT's receive packet length.
SetReceivePadChar				Sets KERMIT's receive pad character count.
SetReceivePadCount				Sets KERMIT's receive pad character.
SetReceiveStartOfPacketChar					Sets KERMIT's receive startofpacket character.
SetReceiveTimeOut				Sets KERMIT's receive timeout.
SetRepeatPrefixChar				Sets KERMIT's repeat prefix character.
SetRetryInitialCount				Sets KERMIT's initial packet retry maximum.
SetRetryPacketCount				Sets KERMIT's normal packet retry maximum.
SetSendEOLChar				Sets KERMIT's send endofline character.
SetSendEORString				Sets KERMIT's send endofrecord string.
SetSendPause				Sets KERMIT's delay before sending first packet.
SetSendQuoteChar				Sets KERMIT's control quote character.
SetSendRecordWrap				Enables wordwrap of files in file transfer.
SetSendRecordWrapCount				Establishes maximum line length of wordwrap files.
SetSendStartOfPacketChar					Sets KERMIT's send startofpacket character.
SetServerTimeout				Timeout interval for BEACON KERMIT server.
SetTabs				Sets tab stops.
SetTransferType				Establishes protocol used for file transfer.
SetXModemBinaryFileType					Enables CRLFLF mapping in XModem file transfer.
ShiftSize				Defines number of columns in horizontal shifting.
StopBits				Sets number of stop bits for transmission.
Submit				Initiates reading a file for keyboard input.
Suspend				Suspends execution for a specified duration.
TypeScript				Records all the user generated keystrokes in a file.
View				Creates a view screen to modify system parameters.
VT100Mode				Selects between VT100 and VT52 emulation mode.
WaitUntil				Suspends execution until the specified time.
Width				Selects number of characters per line (80132).
Wraparound				Enables auto line wrap of the screen.
XonXoff				Enables transmission of XONXOFF.
Detailed Description of BEACON Commands

AnswerBackMessage
	The purpose of this command is to specify the VT100 answerback message.  A DEC VT100 terminal sends the host the current answerback message when the terminal receives an ASCII ENQ (Hex 05).  BEACON has a default answerback message of the null string (no characters).  The syntax of this command is as follows:
AnswerBackMessage  [Answerback Message String]
AutoExit
	The purpose of this command is to automatically return to the BTOS executive upon loss of the communication channel.  This command accepts one boolean parameter (either TRUE or FALSE).  The initial value for this command is FALSE.  The syntax of this command is as follows:
AutoExit  <TRUE|FALSE>
AutoView
	The purpose of this command is to configure BEACON to automatically enter VIEW mode upon the specification of invalid parameters.  This allows the user to reenter the parameters for the given command.  This command accepts one boolean parameter (either TRUE or FALSE).  The initial value for this command is FALSE.  The syntax of this command is as follows:
AutoView  <TRUE|FALSE>
BackwardScroll
	The purpose of this command is to shift the view back in the history the specified number of lines.  This command is similar to <Prev Page> key, but it allows users to move back a specific number of lines.  If this parameter is not specified then this command is exactly the same as pressing the <Prev Page> key.  The syntax of this command is as follows:
BackwardScroll  [number of lines to move back]
BaudRate
	The purpose of this command is to establish the baud rate for communications between host and B25.  Valid baud rates are 300, 600, 1200, 2400, 4800, 9600 and 19200.  If the baud rate is not specified then the default value of 9600 is used.  The syntax of this command is as follows:
BaudRate  [300|600|1200|2400|4800|9600|19200]
BinaryFileType
	The purpose of this command is to specify that the next file being transferred is a binary file.  Specifying a file as type binary will inhibit the mapping of kermit's endofrecord specifier (<carriage return><line feed>) to BTOS's endofrecord specifier (<line feed>).  This command requires one boolean parameter (either TRUE or FALSE) and the initial value of this parameter is FALSE.  The syntax of this command is as follows:
BinaryFileType			<TRUE|FALSE>
Bye
	The purpose of this command is to terminate connection between BEACON and a KERMIT server program.  This command sends a KERMIT packet to host to instruct the host to disconnect.  This command is only useful when connect to a host which is a KERMIT server.  The syntax of this command is as follows:
Bye
ClearAllTabs
	The purpose of this command is to remove all active tab stops.  Note that the SetTabs command can be used to set tab stops.  The syntax of this command is as follows:
ClearAllTabs
ClearTabs
	The purpose of this command is to remove tab stops.  This command accepts several optional integer parameters to indicate the column numbers at which to remove tabs.  If no parameters are specified, then the tab stop at the most recent column of the VT100 screen is removed.  Note that the SetTabs command can be used to set tab stops.  The syntax of this command is as follows:
ClearTabs  [column[,column[...]]]
Column
	The purpose of this command is to specify the desired position of the display with respect to the history (VT100 text).  This command accepts an integer parameter specifying the start column.  If a parameter is not specified then the display is set at the first column.  This syntax of this command is as follows:
Column  [display start column]
Connect
	The purpose of this command is to establish a connection between a B25 and the host.  Note that users are not  required to issue this command because connection is established automatically, if needed.  The syntax of this command is as follows:
Connect
CTS
	The purpose of this command is to instruct the serial port to monitor CTS (Clear To Send) line.  This command accepts one boolean parameter (either TRUE or FALSE).  The initial value for this command is FALSE.  Note that most telephone modems do not support CTS.  The syntax of this command is as follows:
CTS	<TRUE|FALSE>
CursorApplicationMode
	The purpose of this command is to enabledisable the DEC VT100 application mode cursor keys.  Usually, only the host computer will select which mode the VT100 cursor keys will be in.  This command accepts one boolean parameter of which TRUE indicates that the cursor keys will generate application mode escape sequences, and FALSE indicates that these keys will generate the normal escape sequences.  The syntax of this command is as follows:
CursorApplicationMode				<TRUE|FALSE>
DataBits
	The purpose of this command is to set the number of data bits for serial port transmission.  This command accepts an integer parameter with values of either 5, 6, 7, or 8.  If a value is not specified then a default value of 7 data bits is used for transmission.  The syntax of this command is as follows:
DataBits  [5|6|7|8]
DefineKey
	The purpose of this command is to redefine a key on the keyboard to a specified string.  This command accepts two parameters: the first one being the key to be defined and the second to be the defined string.  The specification of the first parameter is the integer value corresponding to the BTOS character value for that key.  (Refer to Appendix A for the BTOS definitions of the keys.)  For the second parameter, if a string is not specified then the key is set to its default definition.  The syntax of this command is as follows:
DefineKey  <integer> [string]
Disconnect
	The purpose of this command is to terminate the connection between a B25 and the host.  This command guarantees that the carrier will be dropped by the B25.  Note that the users are not required to issue this command because the line is disconnected automatically with the execution of the Exit command.  The syntax of this command is as follows:
Disconnect
Dump
	The purpose of this command is to print a portion of the history on the specified device.  This command accepts two integer parameters which represent the line numbers of the history range to be printed and a third optional parameter that specifies the output device.  If this output device is not specified then the default output device (set by OutputDevice command) is used.  The syntax of this command is as follows:
Dump  <start line> <end line> [printer]
Encipher
	The purpose of this command is to encipher a file into an unreadable format.  Enciphered files may then be used for input to the program with the use of the EncipheredSubmit command.  Note that there is no command to decipher this file once it is enciphered.  The syntax of this command is as follows:
Encode  <Normal source file> <Enciphered target file>
EncipheredSubmit
	The purpose of this command is read input from a B25 encoded file (enciphered by the Encipher command) rather than the keyboard.  All lines up to endoffile are read, decoded, and treated as user input lines.  The file is closed when an <Mark> key is pressed.  The syntax of this command is as follows:
EncipheredSubmit  <filename>
Exit
	The purpose of this command is to exit the BEACON program.  This command closes all local files opened during the execution of the BEACON program.  This command does not accept any parameters.  The syntax of this command is as follows:
Exit
	The CODE FINISH key combination also generates the EXIT command.  Pressing the FINISH key alone will prompt the user for a confirmation.
Explain
	The purpose of this command is to display the description and the syntax of all of the available commands.  The contents of the file, designated by the SetExplainFile command, are displayed on the screen.  The description displayed by the Explain command becomes part of the screen history and can then be viewed at any time.  This command does not accept any parameters.  The syntax of this command is as follows:
Explain
	The <Code>+<Help> key combination also generates the Explain command.  The <Help> key alone generates the Help command for a brief description of important key definitions and commands.
Finish
	The purpose of this command is to instruct the host to exit KERMIT server mode but to remain connected.  This command sends a KERMIT packet to host to instruct the host to leave KERMIT server mode.  This command is only useful when connect to a host which is a KERMIT server.  The syntax of this command is as follows:
Finish
ForwardScroll
	The purpose of this command is to shift the view forward in the history the specified number of lines.  This command is similar to <Next Page> key, but it allows users to move forward a specific number of lines.  If a parameter is not specified then this command is exactly the same as pressing the <Next Page> key.  The syntax of this command is as follows:
ForwardScroll  [number of lines to move forward]
Get
	The purpose of this command is to instruct the host's KERMIT server to send a file from the host to the local B25.  This command is only needed when connected to a host which is a KERMIT server.  The syntax of this command is as follows:
Get	<Host filename>			[Local filename]
HalfDuplex
	The purpose of this command is to enable the local echo of user input to the screen.  This command accepts one boolean parameter (either TRUE or FALSE).  The initial value for this parameter is FALSE.  The syntax of this command is as follows:
HalfDuplex  <TRUE|FALSE>
Help
	The purpose of this command is to display a brief summary of the useful local commands and function keys.  A temporary screen is created and the contents of the file designated by the SetHelpFile command are displayed on the screen.  This screen disappears upon the next user input.  This command does not accept any parameters.  The syntax of this command is as follows:
Help
	The <Help> key also generates the Help command for a brief description of BEACON's commands and key definitions.  The key combination of <Code>+<Help> generates the Explain for a brief description of all BEACON's local commands.
HistoryReset
	The purpose of this command is to empty the history.  The syntax of this command is as follows:
HistoryReset
HistoryRestore
	The purpose of this command is to empty the history and copy the contents of a specified file into the history.  If a file is not specified then the file BEACONDefault.His on the current path is used.  This command appends .His to the specified filename.  The syntax of this command is as follows:
HistoryRestore [filename]
HistorySave
	The purpose of this command is save the current history into a specified local file.  If a file is not specified then the file BEACONDefault.His on the current path, is used.  This command appends .His to the specified filename.  The syntax of this command is as follows:
HistorySave [filename]
KeypadApplicationMode
	The purpose of this command is to enabledisable the DEC VT100 application mode of the numeric keypad.  Usually, only the host computer will select when the numeric keypad is in application mode.  This command accepts one boolean parameter of which TRUE indicates that the keypad will generate application mode escape sequences, and FALSE indicates that these keys will generate the normal numeric values.  The syntax of this command is as follows:
KeypadApplicationMode				<TRUE|FALSE>
KeyReset
	The purpose of this command is to reset all of the key definitions from the file [Sys]<Sys>BEACONDefault.  The syntax of this command is as follows:
KeyReset
KeyRestore
	The purpose of this command is to restore the key definitions from a local B25 key definition file.  If a filename is not specified then the file BEACONDefault.Key on the current path is used to reinitialize the key definitions.  This command appends .Key to the specified filename.  The syntax of this command is as follows:
KeyRestore  [filename]
KeySave
	The purpose of this command is to save the current key definitions in a B25 file.  If a filename is not specified then the file BEACONDefault.Key on the current path, is used to save the key definitions.  This command appends .Key to the specified filename.  The syntax of this command is as follows:
KeySave  [filename]
Line
	The purpose of this command is to position the view of the history at a specific line.  This is the line number which is displayed on the top frame of the screen.  The syntax of this command is as follows:
Line  <line >
ListKeys
	The purpose of this command is to display the current values of all the key definitions.  The syntax of this command is as follows:
ListKeys
LogTransactions
	The purpose of this command is to initiate and terminate the logging of file transfer.  Packet content and program status appear in the log file.  This command accepts one string parameter which is the name of the log file.  Logging is terminated by using this command with no parameters.  The syntax of this command is as follows:
LogTransactions			[Log file name]
LongHistory
	The purpose of this command is to enable Long History Mode.  With Long History Mode enabled, the contents of the current VT100 screen are copied to the history whenever the host attempts to position the VT100's cursor in the home position.  (Home position is ROW=1 and COLUMN=1 or the upper leftmost corner of the screen.)  With Long History Mode enabled, all screens in menu driven applications should be copied into the history.  The syntax of this command is as follows: 
LongHistory  <TRUE|FALSE>
MacroAssign
	The purpose of this command is to define a string to a Macro variable that is active only in the Macro mode.  This command is only acceptable in Macro mode.  This command expects two parameters: the first one being the Macro variable in the range from 0 to 9 and the second to be the defined string.  If a string is not specified then the Macro variable is set to null.  The use of the Literal function key (F5) may be required to correctly designate the Macro variable.  The syntax of this command is as follows:
MacroAssign <Macro variable> [string]
MacroBegin
	The purpose of this command is to enter the Macro mode in BEACON program.  This is a sophisticated mode that allows for conditional execution of commands, prompt the user for various inputs, display status messages etc.  All the commands that start with the word Macro are also enabled upon the execution of this command and are disabled at the execution of MacroEnd command.  This command does not accept any parameters.  The syntax of this command is as follows:
MacroBegin
MacroElse
	The purpose of this command is to define the Else part of a conditional execution block.  This command is only acceptable in Macro mode.  If the condition specified by the MacroIf statement is FALSE then the instructions starting from the MacroElse to MacroEndIf are executed, otherwise this blocked is skipped.  The syntax of this command is as follows:
MacroElse
MacroEnd
	The purpose of this command is to exit the Macro mode.  Once out of the Macro mode all the Macro variable assignments made are lost and the Macro commands are no longer accepted.  This command is only acceptable in Macro mode.  This command does not accept any parameters.  The syntax of this command is as follows:
MacroEnd
MacroEndIf
	The purpose of this command is to terminate the MacroIf command.  This command does not accept any parameters.  This command is only acceptable in Macro mode.  The syntax of this command is as follows:
MacroEndIf
MacroIf
	The purpose of this command is to allow for conditional execution of commands.  This command accepts three string parameters of which the second string is an conditional operator.  The first and third parameters are the operands.  If the assertion is valid or TRUE, then all commands following the MacroIf are executed until a MacroEndIf, MacroElse, or MacroEnd is encountered.  If the assertion is false, then all commands following the MacroIf are skipped until a MacroEndIf, MacroElse, or MacroEnd is encountered.  Currently, only the operator = is supported.  The syntax of this command is as follows:
MacroIf  <first operand> <operator> <second operand>
MacroLog
	The purpose of this command is to establish a log file for Macro processing.  This is very useful when trying to debug userwritten macros.  This command accepts optional parameter which is the file name of the log file.  Entering this command with no parameters terminates the logging of macro commands.  The syntax of this command is as follows:
MacroIf  [filename]
MacroResponse
	The purpose of this commands is to allow for user assignment of Macro variables.  This command accepts one integer parameter between 0 and 9 which designates a Macro variable.  This command is only acceptable in Macro mode.  The user is then prompted in the command line to input a string value.  This value is then assigned to the Macro variable.  The syntax of this command is as follows:
MacroResponse  <Macro variable number>
MacroWrite
	The purpose of this commands is to write a message in the status line on the screen.  This command accepts a string parameter.  This command is only acceptable in Macro mode.  This command can be used to prompt for user inputs using MacroResponse command.  The syntax of this command is as follows:
MacroWrite <message string>
MarginBell
	The purpose of this commands is to enable the beep whenever the user is typing beyond the tenth column from the end of the screen.  This command accepts a boolean parameter (either TRUE or FALSE).  The initial value for this command is FALSE.  The syntax of this command is as follows:
MarginBell  <TRUE|FALSE>
NewLine
	The purpose of this commands is to enable the mapping of carriage returns to carriage return and line feeds.  This command accepts a boolean parameter (either TRUE or FALSE).  The initial value for this command is FALSE.  The syntax of this command is as follows:
NewLine  <TRUE|FALSE>
NumberDisplay
	The purpose of this commands is to enable the Number Display Mode.  With the Number Display Mode enabled, all line numbers that are associated with lines in the history are displayed on the screen.  Having Number Display Mode enabled might be useful when using the DUMP and LINE commands.  This command accepts a boolean parameter (either TRUE or FALSE).  The initial value for this command is FALSE.  The syntax of this command is as follows:
NumberDisplay  <TRUE|FALSE>
OutputDevice
	The purpose of this command is specify a default output device for printing purposes.  If a printer is not specified then the default printing device [SPL] is used.  The syntax of this command is as follows:
OUTPUTDEVICE  [printer]
PageSize
	The purpose of this command is to specify the number of lines the screen is to be scrolled when using the <Prev Page> and <Next Page> keys.  If a number is not specified with this command, the page size is set to the default of 20 lines.  The syntax of this command is as follows:
PageSize  [ of lines per page]
ParameterReset
	The purpose of this command is to reset all the system parameters such as communication parameters and editor features to their default values.  The syntax of this command is as follows:
ParameterReset
ParameterRestore
	The purpose of this command is to restore all the system parameters such as communication parameters and editor features from a specified file.  If a file is not specified then the file BEACONDefault.Par is used.  This command appends .Par to the specified filename.  The syntax of this command is as follows:
ParameterRestore [filename]
ParameterSave
	The purpose of this command is to save all the system parameters such as communication parameters and editor features into a specified file.  If a file is not specified then the file BEACONDefault.Par is used.  This command appends .Par to the specified filename.  The syntax of this command is as follows:
ParameterSave [filename]
Parity
	The purpose of this command is to select the type of parity desired for serial port transmission.  This command accepts a character corresponding to parity such as E for even parity, O for odd parity, N for no parity, 0 for zero parity and 1 for one parity.  The program is initialized with 0 (zero) parity.  The syntax of this command is as follows:
Parity  <E|O|N|0|1>
Password
	The purpose of this command is to enter a password for the BTOS file system.  This password is used to open, read and write files.  The initial value for this command is a null string.  This value is not saved when doing ParameterSave or global Save.  This command accepts one optional parameter.  If this parameter is not specified then a null string is used.  The syntax of this command is as follows:
Password [password]
PortLetter
	The purpose of this command is to select a B25 serial port.  This command sets the active port to the one specified.  Valid ports are either A or B.  If a port is not specified then the default port A is used.  The syntax of this command is as follows:
PortLetter  [port char]
Prefix
	The purpose of this command is to specify a custom command prefix for all local commands.  If a character is not specified with this command then it is set to the default prefix of .  The syntax of this command is specified below:
Prefix  [prefix char]
Print
	The purpose of this command is to print or copy a local file to a local printer.  If the printer is not specified then the default output device (set by the OutputDevice command) is assumed.  The syntax of this command is a follows:
Print  <filename> [printer]
	Valid printer names are [SPL] for draft (Dot matrix) and [SPLB] for letter quality printer or a filename if output is to be saved in a file.  This command can be stopped by the <Mark> key.
PromptLength
	This purpose of this command is to specify the length of the host's prompt on a line.  This parameter is used during line reentry feature as to ignore the host prompt characters.  This command accepts an integer parameter to specify the prompt length.  If this parameter is not specified then the default prompt length of 1 character is used.  The syntax of this command is as follows:
PromptLength  [length of prompt]
ReceiveFiles
	The purpose of this command is to place BEACON into receive file mode.  An optional string parameter may be specified which will be used as the local file name for the first incoming file.  (Note that when in receive file mode, the kermit protocol allows for the reception of more than one file.  Filenames are transferred with files.)  The syntax of this command is as follows:
ReceiveFiles			[BTOS file name]
RecordSession
	The purpose of this command is to record the terminal session in a local file.  If a file is not specified then this command terminates the current recording session (if any).  The syntax of this command is as follows:
RecordSession  [filename]
Remote
	The purpose of this command is to send executable commands to the host KERMIT server.  This command accepts one or two parameters.  The first parameter is a valid host command (in proper syntax) and the optional second parameter is the KERMIT packet type used for transmission of the command to the host.  (The default value of the second parameter is K.)  This command is only useful when connected to a host KERMIT server.  The syntax of this command is as follows:
Remote  <valid host command>  [KERMIT packet type]
Reset
	The purpose of this command is to reset the program environment.  This command makes calls to all the Reset commands in order.  This command does not accept any parameters.  The syntax of this command is as follows:
Reset
Restore
	The purpose of this command is to restore the program environment from a local file.  This command makes calls to all the Restore commands in order with the specified filename.  If a filename is not specified then the default filename of BEACONDefault is used.  Note that all the Restore commands append unique suffixes to filename.  The syntax of this command is as follows:
Restore  [filename]
Save
	The purpose of this command is to save the program environment into a local file.  This command makes calls to all the Save commands in order with the specified filename.  If a filename is not specified then the default filename of BEACONDefault is used.  Note that all the Save commands append unique suffixes to filename.  The syntax of this command is as follows:
Save  [filename]
SendFiles
	The purpose of this command is place BEACON in send file mode.  This command requires one string parameter which is used as the name of the BTOS file to send.  An optional second string parameter is the desired file name on the host system.  If no second parameter is specified, then the BTOS name of the file will be used as the host's file name.  The syntax of this command is as follows:
SendFiles		<BTOS file name>			[Host file name]
Server
	The purpose of this command is place BEACON in KERMIT server mode.  This will allow the computer at the other end of the connection to send file transfer requests in KERMIT server packets.  Currently, KERMIT server mode only supports requests for file transfer and remote specification of BEACON commands.  The <Mark> key can be used to exit KERMIT server mode.  The syntax of this command is as follows:
Server
SetEigthBitPrefix
	The purpose of this command is to enable the Kermit 8th bit prefixing mechanism.  This allows for the transmission of 8 bit data through a 7 bit network.  This command requires one boolean parameter.  Of value of TRUE for this parameter enables the request for 8th bit prefixing to be performed.  (Note that both computers have to agree to perform 8th bit prefixing.)  The initial value for this command is FALSE.  The syntax of this command is as follows:
SetEigthBitPrefix				<TRUE|FALSE>
SetEigthBitPrefixChar
	The purpose of this command is establish the ASCII character used as the 8th bit prefixing character.  The default value for this character is .  The syntax of this command is as follows:
SetEigthBitPrefixChar				<Prefix character>
SetExplainFile
	The purpose of this command is to specify a file that is to be displayed on the screen when the Explain command is generated.  If the filename is not specified then the default value of [Sys]<Sys>BEACONExplain is used.  The syntax of this command is as follows:
SetExplainFile  [filename]
SetHelpFile
	The purpose of this command is to specify a file that is to be displayed on the screen when the Help command is generated.  If the filename is not specified then the default value of [Sys]<Sys>BEACONHelp is used.  The syntax of this command is as follows:
SetHelpFile  [filename]
SetReceiveEOLChar
	The purpose of this command is to establish the EndOfLine character that BEACON requires with all incoming packets.  The default value for this parameter is ASCII 13 (Carriage Return).  The syntax of this command is as follows:
SetReceiveEOLChar				<EndOfLine character>
SetReceiveEORString
	The purpose of this command is to establish which EndOfRecord delimiter to expect when receiving text files.  Acceptable values for this parameter are CR (<Carriage Return>), LF (<Line Feed>), or CRLF (<carriage Return><Line Feed>).  The initial value for this parameter is CRLF.  The syntax of this command is as follows:
SetReceiveEORString				<CR|LF|CRLF>
SetReceivePacketLength
	The purpose of this command is to specify the maximum length of BEACON's receive packets.  Packet lengths must be between 10 and 94 characters (inclusive).  A user might want to specify shorter packets if the connection with the other computer is noisy.  The default packet length is 94 characters.  The syntax of this command is as follows:
SetReceivePacketLength				<integer>
SetReceivePadChar
	The purpose of this command is to specify which character should be sent before receiving packets from the other computer.  (The number of times this character is sent is specified by the SetReceivePadCount command.)  The default value for this character is ASCII 0 (NUL).  The syntax of this command is as follows:
SetReceivePadChar				<Pad character>
SetReceivePadCount
	The purpose of this command is to specify the number of pad characters that must be sent by the other computer before sending a packet to BEACON.  (see SetReceivePadCount)  The default value for this count is zero (which means no padding is performed).  The syntax of this command is as follows:
SetReceivePadCount				<integer>
SetReceiveStartOfPacketChar
	The purpose of this command is to specify which character to look for which designates the beginning of a receive packet.  The default value for this character is ASCII 1 (SOH).  The syntax of this command is as follows:
SetReceiveStartOfPacketChar					<Startofpacket character>
SetReceiveTimeOut
	The purpose of this command is specify the amount of time (in seconds) to wait for a packet.  The default value for this timeout is 10 seconds.  If the program does timeout, appropriate action will be taken.  (Either resending the last packet, or aborting the file transfer.)  The syntax of this command is as follows:
SetReceiveTimeOut				<integer (seconds)>
SetRepeatPrefixChar
	The purpose of this command is to specify which character will be used as the repeat prefix character.  The initial character used is  (tilde).  The syntax of this command is as follows:
SetRepeatPrefixChar				<Prefix character>
SetRetryInitialCount
	The purpose of this command is to specify the number of times to retry the first packet before aborting.  The default value for this parameter is 10.  The syntax of this command is as follows:
SetRetryInitialCount				<integer>
SetRetryPacketCount
	The purpose of this command is to specify the number of times to resend packets which are not received correctly before aborting.  The default value for this parameter is 5.  The syntax of this command is as follows:
SetRetryPacketCount				<integer>
SetSendEOLChar
	The purpose of this command is specify the EndOfLine character on outgoing packets.  This character is usually set by the other computer.  The default value for this character is ASCII 13 (Carriage Return).  The syntax of this command is as follows:
SetSendEOLChar				<EndOfLine character>				
SetSendEORString
	The purpose of this command is to establish which EndOfRecord delimiter to use when sending text files.  Acceptable values for this parameter are CR (<Carriage Return>), LF (<Line Feed>), or CRLF (<carriage Return><Line Feed>).  The initial value for this parameter is CRLF.  The syntax of this command is as follows:
SetReceiveEORString				<CR|LF|CRLF>
SetSendPause
	The purpose of this command is to specify the number of seconds to delay before sending the first packet.  The initial value of this parameter is zero (no delay).  The syntax of this command is as follows:
SetSendPause			<integer (seconds)>
SetSendQuoteChar
	The purpose of this command is to specify the character that is used for control quoting in outgoing packets.  The initial value for this character is .  The syntax of this command is as follows:
SetSendQuoteChar				<Quote character>
SetSendRecordWrap
	The purpose of this command is to enable linewrapping of outgoing files.  When this function is enabled, an SendEOLString is inserted in the record assuring lines of maximum length specified by SendRecordWrapCount (see the next command).  This initial value of this parameter is FALSE.  The syntax of this command is as follows:
SetSendRecordWrap				<TRUE|FALSE>
SetSendRecordWrapCount
	The purpose of this command is to establish the maximum line length of outgoing files.  This parameter is enabled by the SetSendRecordWrap parameter (see the previous command).  When SendRecordWrap is enabled, an SendEOLString is inserted in the record assuring lines of maximum length specified by this parameter.  This initial value of this parameter is 80.  The syntax of this command is as follows:
SetSendRecordWrap			Count	<maximum linelength>
SetSendStartOfPacketChar
	The purpose of this command is specify the first character of a send packet.  The initial value for this character is ASCII 01 (SOH).  The syntax of this command is as follows:
SetSendStartOfPacketChar					<Startofpacket character>
SetServerTimeout
	The purpose of this command is specify the timeout value (in seconds) when KERMIT is in server mode (see Server command).  The initial value of this parameter is 120.  The syntax of this command is as follows:
SetServerTimeout				<Timeout value (in seconds)>
SetTabs
	The purpose of this command is to insert tab stops.  This command accepts several optional integer parameters to indicate the column numbers at which to insert tab stops.  If no parameters are specified, then the tab stop at the most recent column of the VT100 screen is inserted.  Note that the ClearTabs command can be used to clear tab stops.  The syntax of this command is as follows:
SetTabs  [column[,column[...]]]
SetTransferType
	The purpose of this command is to specify the protocol used for file transfer.  BEACON supports ASCII and BINARY (the two file transfer protocols supported by Burroughs ATE), KERMIT and XMODEM.  Note that ASCII, BINARY, and XMODEM require a serial port configuration of DATABITS=8, PARITY=N, and XONXOFF=FALSE.  The initial value for this parameter is KERMIT.  The syntax of this command is as follows:
SetTransferType  <ASCII|BINARY|KERMIT|XMODEM>
SetXModemBinaryFiletype
	The purpose of this command is to disable CRLF to LF mapping of files sent using the XModem file transfer protocol.  The initial value for this parameter is TRUE.  The syntax of this command is as follows:
SetXModemBinaryFiletype					<TRUE|FALSE>
ShiftSize
	The purpose of this command is to specify the number of columns to shift left or right whenever implicit shift, <F9> or <F10> key is pressed.  If a parameter is not specified then the default shift size of 20 is used.  The syntax of this command is as follows:
ShiftSize  [ of columns to be shifted]
StopBits
	The purpose of this command is to set the number of stop bits for serial port transmission.  This command accepts an integer parameter with values of either 1, 2.  If the number of stopbits is not specified then the default value of 1 stop bits is used.  The syntax of this command is as follows:
StopBits  [1|2]
Submit
	The purpose of this command is to redirect the input stream to a local file rather than from the keyboard.  All lines up to endoffile are read and treated as user input lines.  The submit file is closed when a <Mark> key is pressed.  The syntax of this command is as follows:
Submit  <filename>
Suspend
	The purpose of this command is to pause user input processing for a specified duration of time.  The duration is specified in the units of seconds.  Valid duration is from 0 to 32767 seconds.  The syntax of this command is as follows:
Suspend  <duration in seconds>
TypeScript
	This command allows the user to record all his keystrokes in a file.  This command is very similar to the BTOS Record command.  This command differs from the RecordSession command since TypeScript command does not record the host output but the recordSession does.  This command is very useful in creating Submit files.  This command accepts one string parameter representing a filename.  If a file is not specified then the current TypeScript recording session is terminated (if any).  The syntax of this command is as follows:
TypeScript [filename]
View
	This command allows allows the user to alter system parameters in a pulldown menu type fashion.  This command accepts any number of parameters which must be names of valid local  commands.  Upon issuing the View command with valid parameters, a temporary screen is created with the current values of the parameters to these commands.  The user is then allowed to modify these values.  Hitting the <Code><GO> key updates all of the values of the parameters and terminates the View command.  Hitting just the <GO> key updates the values of the parameters of the active command and terminates the View command.  Hitting the <Cancel> key does not update the values of the parameters but does terminate the View command.  The syntax of this command is as follows:
View  <command name [,command name [...]]>
	View also accepts keywords as parameters.  Keywords must be spelled correctly (no abbreviations are accepted for keywords).  The following is a list of the acceptable keywords and the resulting View screens generated.

View  ALL					All of the available BEACON commands.
View  KEYDEFS					User string definitions of the <Code><Fn> keys.
View  CONFIG					Serial port configuration commands.
View  VT100					Dec VT100 Setup mode commands.
View  KERMIT					KERMIT file transfer configuration commands.
View  USER					BEACON user preference commands.

	Note that the following BEACON local commands are not accessible through View mode.

Help					Disabled in View mode because Help and View
					both steal the screen in a similar manner.

KeypadApplicationMode					Disabled in View mode because View always sets
					(and restores) this parameter to distinguish
					between <Go> and <Code><Go>.

View					Disabled in View mode to avoid recursive call.
VT100Mode
	This command allows allows the user to select emulation of either a DEC VT100 or a DEC VT52.  This command accepts one boolean parameter of which TRUE selects VT100 emulation and FALSE selects VT52 emulation.  Note that BEACON will switch emulation modes automatically if it receives an escape sequence which is valid only in the mode not currently being emulated.  The syntax of this command is as follows:
VT100Mode		<TRUE|FALSE>
WaitUntil
	This command allows the user to suspend user processing until the specified time.  This command is helpful if a user wants to start BEACON at night during off hours.  The syntax of this command is as follows:
WaitUntil <time in 24 hour format>
	for example:
WaitUntil  2305
	This means restart BEACON at 11:05 PM.  The hours are specified first and in 24 hour format (0..23) followed by minutes (00..59).  The wait command is terminated by the <Mark> key.
	To make optimal use of this command, the user might want to put this command followed by a valid sequence of host commands in a Submit file.
Width
	The purpose of this command is to select the screen width of either 80 or 132 characters per line.  If a screen size is not specified then the default screen size of 80 characters per line is used.  The syntax of this command is as follows:
Width  [80|132]
Wraparound
	The purpose of this command is to select the line wraparound feature.  When Wraparound is selected the cursor goes to the next line automatically when last column is reached.  If it is disabled then the cursor overwrites the last character of the line.  This command accepts one boolean parameter (either TRUE or FALSE).  The initial value for this parameter is TRUE.  The syntax of this command is as follows:
Wraparound <TRUE|FALSE>
XonXoff
	The purpose of this command is to instruct the serial port to monitor XonXoff protocol signals.  This command accepts one boolean parameter (either TRUE or FALSE).  The initial value for this parameter is TRUE.  The syntax of this command is as follows:
XonXoff  <TRUE|FALSE>
BEACON Input Editor Key Assignments

	Most of the following keys operate as stated only in the command mode.  In the VT100 mode it is the responsibility of the host to support editing features and the following keys generate appropriate escape sequences for the host.  Please refer to host computer's documentation for editing features in VT100 mode.

Key				Description

<BackSpace>				Deletes a character to the left.

<Bound>				Toggles command line blank mode.
<Code><Bound>				Sets blank mode.

<Cancel>				Discards the current contents of the command line.

<Copy>				Copies marked line of history to command line.

<Delete>				Deletes the character at the cursor.
<Code><Delete>				Erases to the end of the command line.

<Down Arrow>				Moves the history marker down one line.
<Code><Down Arrow>				Moves the history marker to the bottom line of the frame.

<F1>				Used as VT100's PF1 key.
<F2>				Used as VT100's PF2 key.
<F3>				Used as VT100's PF3 key.
<F4>				Used as VT100's PF4 key.
<F5>				Interprets the next character literally.
<F6>				Dumps the contents of the screen to the printer.
<F7>				Dumps the contents of the history to the printer.
<F8>				Shifts the view of the history to the first column.
<F9>				Shifts the view of the history to the left.
<F10>				Shifts the view of the history to the right.

<Code><Finish>				Generates the Exit command.

<Help>				Generates the Help command.
<Code><Help>				Generates the Explain command.

<Left Arrow>				Moves the cursor left one column in command mode.
<Code><Left Arrow>				Moves the cursor to the first column in command mode.

<Mark>				Transmits a break signal to the host.

<Move>				Toggles the cursor to and from the command line.
<Code><Move>				Moves the cursor to the command line.
<Next Page>				Scrolls one page forward into the history.
<Code><Next Page>				Scrolls to the front of the history.

<Prev Page>				Scrolls one page back into the history.
<Code><Prev Page>				Scrolls to the back of the history.

<Right Arrow>				Moves the cursor right one column in command mode.
<Code><Right Arrow>				Moves the cursor to the last column in command mode.

<Scroll Up>				Scrolls one line forward into the history.

<Scroll Down>				Scrolls one line back into the history.

<Up Arrow>				Moves the history marker up one line in command mode.
<Code><Up Arrow>				Moves the history marker to the top line of the frame in command mode.
BEACON Version 0.6 Enhancements

	BEACON Version 0.6 has the following enhancements of Version 0.3.

	A)	Kermit server mode has been implemented.  This includes allowing
		BEACON to converse to another server and also BEACON become a
		server.

	B)	Maximum line length has been implemented for KERMIT file transfer.
		The SetSendRecordWrap command enables line wrapping on outgoing
		files.

	C)	Other file transfer protocols are now supported.  These include
		ASCII and BINARY protocols supported by Burrough's ATE and
		also the XMODEM protocol which is a popular protocol with
		many PCs.  Refer to the SetTransferType command.

	D)	Other hardware types are supported including a B21 (with only 28
		lines of video) and also a B27 (which supports 132 column video
		output).

Limitations of this version of BEACON


	Limitations of this version of BEACON include an incomplete implementation of the VT100 emulator.  VT100 functions which are not implemented are as follows.

   Double Height Characters
   Double Width Characters
   Video Interlace Mode
   Graphics Mode
   Confidence Test
   Multiple Character Sets
   Smooth Video Scrolling
   Power and Keyboard Lock LEDs

	Most of these VT100 functions which are not implemented will never be implemented in BEACON due to the inability of the B25 to support these functions.

Appendix A: BTOS character values.

   NOTE: Use BTOS character values with the local command DEFINEKEY.

Key value			Key

  0			Help
  1			Up Arrow
  2			Mark
  3			
  4			Finish
  5			Prev Page
  6			12
  7			Cancel
  8			Back Space
  9			Tab
 10			ReturnNext
 11			Down Arrow
 12			Next Page
 13			Bound
 14			Left Arrow
 15			Move
 16			14
 17			Scroll Up
 18			Right Arrow
 19			Scroll Down
 20			Copy
 21			F1
 22			F2
 23			F3
 24			F4
 25			F5
 26			F6
 27			Go
 28			F7
 29			F8
 30			F9
 31			F10
 32			Space
 33			
 34			
 35			
 36			$
 37			
 38			
 39			'
 40			(
 41			)
 42			*
 43			+
 44			,
 45			
 46			.
 47			
 48			0
 49			1
 50			2
 51			3
 52			4
 53			5
 54			6
 55			7
 56			8
 57			9
 58			:
 59			;
 60			<
 61			=
 62			>
 63			?
 64			@
 65			A
 66			B
 67			C
 68			D
 69			E
 70			F
 71			G
 72			H
 73			I
 74			J
 75			K
 76			L
 77			M
 78			N
 79			O
 80			P
 81			Q
 82			R
 83			S
 84			T
 85			U
 86			V
 87			W
 88			X
 89			Y
 90			Z
 91			[
 92			\
 93			]
 94			^
 95			_
 96			
 97			a
 98			b
 99			c
 100			d
 101			e
 102			f
 103			g
 104			h
 105			i
 106			j
 107			k
 108			l
 109			m
 110			n
 111			o
 112			p
 113			q
 114			r
 115			s
 116			t
 117			u
 118			v
 119			w
 120			x
 121			y
 122			z
 123			{
 124			|
 125			}
 126			
 127			Delete
 128			CodeHelp
 129			CodeUp Arrow
 130			CodeMark
 131			Code
 132			CodeFinish
 133			CodePrev Page
 134			Code12
 135			CodeCancel
 136			CodeBack Space
 137			CodeTab
 138			CodeReturn
 139			CodeDown Arrow
 140			CodeNext Page
 141			CodeBound
 142			CodeLeft Arrow
 143			CodeMove
 144			Code14
 145			CodeScroll Up
 146			CodeRight Arrow
 147			CodeScroll Down
 148			CodeCopy
 149			CodeF1
 150			CodeF2
 151			CodeF3
 152			CodeF4
 153			CodeF5
 154			CodeF6
 155			CodeGo
 156			CodeF7
 157			CodeF8
 158			CodeF9
 159			CodeF10
 160			CodeSpace
 161			Code
 162			Code
 163			Code
 164			Code$
 165			Code
 166			Code
 167			Code'
 168			Code(
 169			Code)
 170			Code*
 171			Code+
 172			Code,
 173			Code
 174			Code.
 175			Code
 176			Code0
 177			Code1
 178			Code2
 179			Code3
 180			Code4
 181			Code5
 182			Code6
 183			Code7
 184			Code8
 185			Code9
 186			Code:
 187			Code;
 188			Code<
 189			Code=
 190			Code>
 191			Code?
 192			Code@
 193			CodeA
 194			CodeB
 195			CodeC
 196			CodeD
 197			CodeE
 198			CodeF
 199			CodeG
 200			CodeH
 201			CodeI
 202			CodeJ
 203			CodeK
 204			CodeL
 205			CodeM
 206			CodeN
 207			CodeO
 208			CodeP
 209			CodeQ
 210			CodeR
 211			CodeS
 212			CodeT
 213			CodeU
 214			CodeV
 215			CodeW
 216			CodeX
 217			CodeY
 218			CodeZ
 219			Code[
 220			Code\
 221			Code]
 222			Code^
 223			Code_
 224			Code
 225			Codea
 226			Codeb
 227			Codec
 228			Coded
 229			Codee
 230			Codef
 231			Codeg
 232			Codeh
 233			Codei
 234			Codej
 235			Codek
 236			Codel
 237			Codem
 238			Coden
 239			Codeo
 240			Codep
 241			Codeq
 242			Coder
 243			Codes
 244			Codet
 245			Codeu
 246			Codev
 247			Codew
 248			Codex
 249			Codey
 250			Codez
 251			Code{
 252			Code|
 253			Code}
 254			Code
 255			CodeDelete