-= AmigaHost =- Amiga Terminal Emulator Version 0.9, 1-August-1986 Copyright (C) 1986 CompuServe Inc. By Steve Wilhite & George Jones 1.0 INTRODUCTION AmigaHost (AHost) is a full featured, terminal emulation program for the Amiga. AmigaHost features ANSI terminal emulation, file transfer with CompuServe's B-Protocol, KERMIT, and XMODEM, file capture/send, user defineable function keys, a "script" language, RLE graphics, and a special Conference Mode for use with CIS. AmigaHost was designed primaraly for use with CompuServe's Consumer Information Service (CIS). However, it is well suited for use in many diverse environments. AmigaHost may be freely copied and distributed. It may not be sold or used for profit. 2.0 TERMINAL EMULATION AmigaHost recognizes ANSI escape sequences by useing the Amiga's console device. For best Effect with CIS, select terminal type VT100 (type GO TERMINAL at any "!" prompt). The baud rate is automaticly set to the rate that was selected via preferences. 3.0 RUNNING AMIGAHOST AmigaHost may be run from workbench or CLI. To run from workbench, double click the AmigaHost icon. To run AmigaHost from CLI connect to the directory (CD) that contains AmigaHost and type "ahost". If AmigaHost is copied to c: typing "ahost" will always run the program. Page 2 4.0 FUNCTION KEYS Each function key may be have up to four definitions stored for it, so that when you hit the key the text is sent to to the host computer (the key definitions are actually scripts). To define a function key, select "Define Function Key" from the options menu, then select select "Normal", "Shift", "Control" or "Alt" (= Amiga Key) from the sub-menu. A requester will pop up and allow you to enter definitions for each of the ten function keys. Enter your definitions and then select "OK". To execute a function key, simply hit it (or with "Ctrl", "Alt" or "Shift" as appropriate. When AmigaHost is exited, the key definitions are saved into a file called "Softkeys.def". When AmigaHost starts up this file is read in to set up the initial definitions. 5.0 SCRIPTS "Scripting" allows you to perform automatic logins, automaticly capture messages, and perform simple commands. Here is a sample script that will log in to CompuServe and capture all the new messages from the AmigaForum and logout. #!++ #! Abstract: #! Example script file for the AmigaHost terminal program. #! #! The dial command for Hayes smartmodem. #! #! Authors: Steve Wilhite #! #! Revision History: #! #!-- # ATD 457-6133 #! ^^^^^^^^------------- your local CIS node phone number goes here #! #! Wait for the message from the modem, indicating carrier. #! #p'CONNECT'w'2' # #p'Host Name:'cis #p'User ID:'XXXXX,XXXX #! ^^^^^^^^^^----- your ppn goes here #! vvvvvvvvvvvv--- your password goes here #p'Password'XXXXXXXXXXXX #! Page 3 #! Start log file. This will append to the file if one already exists. #! Visit our sig and read new messages. #! #lo'sig.msg'# #p'TOP'go pcs61 #p'Function:'rn #( 'Function:', 'logoff', '(UA RE T):', 'set-nonstop' )# #:'set-nonstop'# ns #p'Function:'# #! #! That's all folks #! #:'logout'off #p'Name:'off #! #! Close the log file and exit AHost #! #lc# #e AmigaHost scripts are implemented with a very simple, interpreted language. A script consists of text to be sent to the host computer, mixed with script commands. Script commands start with a pound sign character, #, which is followed by one or two characters denoting the specific command. Some commands take one or more arguments. The arguments are quoted strings (separated by commas if there is more than one argument). Any character may be used for the quoting. The second occurrence of the quote character terminates the argument. Scripts may be stored in files or function key. To execute a script from a file, select "Execute script file" from the "Options" menu. To execute a script from a function key, simply define it and press it. 5.1 Script Commands The following is a list of the script commands supported by AmigaHost: # "#" at the end of line is ignored. This allows script files to be formatted in an visually pleasing manner. #! This is introduces a comment. All characters on a line following "#!" Page 4 are ignored. #:'label-name' This introduces a label. Labels provide reference points in the script to tell the "go to" and "case" commands where to go (implementors comment: I felt like telling the case and go-to statements where to go !). Labels are case sensitive. #('pattern', 'label' [, 'pattern', 'label']...[,'seconds']) This is a case statement. The case statement is begins with "#(", and is followed by any number of quoted pattern/label pairs, and optionally a integer " timeout" value. If the any of the the patterns are sent by the host computer, the script jumps to the corresponding label and execution resumes there. If timeout value is specified, and none of the patterns are seen within the given number of seconds, execution resumes following the case statement. Patterns are case sensitive. An an attempt to go to an undefined label will terminate the script. #command The text of the argument is executed as an AmigaDOS command. Wait for the command to finish. #e Exits AmigaHost #g'label' Go to the the specified label. #i+ "#i+" makes output from the host computer invisible. #i- "#i-" makes output from the host computer visible (un-invisible).SKIP #lo'file' Open a logfile and write all incomming characters to the screen and the file. If the file exists text is appended to the end of the file. #lc Close the logfile. Page 5 #p'pattern' Wait unconitionally for the specified pattern from the host (dangerous). #s'file' Execute the specified file as a sub-script file. #t'text' Type the specified text to the screen. "\c" is translated to Control-"c" where "c" is any alphabetic character. "\\" is translated to "\". #w'number' Wait for specified number of second #xp; Start a new CLI (Push to a new shell). The script proceeds without waiting for the CLI to finish. #z "#z" terminates the current script. 6.0 FILE TRANSFER AmigaHost supports a variety of file transfer protocols: 6.1 CompuServe B Protocol B protocol is an error correcting file transfer protocol developed by CompuServe Inc. to facilitate transfer of data, programs, text files etc. Select "B Protocol" when uploading or downloading files from CompuServe. There are no menu options for B protocol. The CompuServe's software will cause the Amiga to perform the upload/download. If you select file type ASCII (in response to a CompuServe prompt) the Amiga translates all linefeeds to carriage-return/linefeed for files that are uploaded (to CompuServe), and strips all carriage-returns on downloads. Binary files are transfered "as is". Page 6 6.2 XMODEM XMODEM is a simple protocol developed to allow file transfer between two (CP/M) micro computers. To upload/download files with AmigaHost using XMODEM, log in to the remote computer and initiate a send/receive there, then select "Send" or "Receive" from the "XMODEM" menu as appropriate. You must select either "ASCII" or "Binary" as a sub-item when performing XMODEM file transfers. When uploading ASCII files linefeeds are translated to carriage-return/linefeed. When downloading ASCII files carriage-returns are striped. Binary files are transfered "as is". AmigaHost's XMODEM does not support CRC. 6.3 Kermit === Section Not Complete === 6.4 Capture/Send You may "Capture" text to a file as it comes in the serial line. To capture text, choose "Open Log File" from the "File" menu. A requester will appear to allow you to type the name of a file in which to save all incomming text. To stop capturing text, choose "Close Log File" (from the "File" menu). To send a text file "verbatim" to a remote computer, select "Send Text File" from the "File" menu. 7.0 RLE GRAPHICS AmigaHost supports CompuServe's RLE graphics protocol. Type "GO VID100" at any "!" prompt for selection of RLE pictures. Page 7 8.0 CONFERENCE MODE AmigaHost supports a special mode to facilitate use of CompuServe's Conferencing/CB environment. The user types his input in one window, and all output is routed to a second window. The user may request highlighting of lines containing specific patterns (such as a person's CB handle, or words of interest like "disk" or "monitor"). To request highlighting, choose "Set Pattern" and a highlighting color from the "CO-Options" menu. A requester will pop up to allow you to enter the pattern to be highlighted. All subsequent output lines containing the pattern will be displayed in the color selected. Text Capture (logging) may be turned off and on in conference mode by selecting "Open Logfile" or "Close Logfile" from the CO-Options menu. 9.0 CAVIAT EMPTOR AmigaHost always sends 8 bit, no parity data, and strips parity on data received. XON/XOFF is not enabled. System requestors appear on the workbench screen. For example, if a file can not be opened because a disk is write protected, the message concerning the write protection will come up behind the AmigaHost screen, both file transfer windows will be deactivated. To see the requester, type Left-Amiga-N, to get back to AmigaHost, type Left-Amiga-M.