Intele-Term 1.2 Script Language Description Copyright 1986 by Morgan Davis DESCRIPTION The IT (Intele-Term) program on this disk has the ability to execute scripts, files containing many instructions which can be executed in a batch mode, not unlike EXEC files in ProDOS BASIC. The script language contains a variety of commands which allow you to perform many sophisticated tasks with the Intele-Term program, such as automatic redial until connect, automatic login, sending and receiving files using XMODEM protocol, and much more. With the [A]t command in IT, you can tell IT to wait until a certain time of day before executing a script for you. This allows your computer to wait until a specified time before running a complex set of dialing and connecting instructions. For example, you could write a script which lets your computer dial up an information service at 3 o'clock in the morning when the rates are cheapest, then download stock quotes, send or retrieve electronic mail, etc. While a script is busy running, you can cancel it by pressing Escape. Using any standard ASCII text editor, you can write your script file. Name it anything, but give it a .SRC file extension. This lets you distinguish between the script source file and the compiled output that IT uses. The structure of a script file follows these guidelines: 1. Each instruction is on a line by itself 2. Labels are declared on lines by themselves and a colon (:) follows the label name. 3. When labels are referenced, the colon is not used. 4. Indenting is optional, but aids in keeping your program readable. 5. All text arguments can have control characters imbedded in them by entering a caret (^) followed by the letter (upper or lowercase) of the corresponding control character. For example, to put a carriage return at the end of a PRINT instruction, you would use: PRINT "Testing^M" Creative use of control characters can produce some very interesting displays. Inverse and Normal video modes can be turned on. You can beep the speaker, etc. 6. Text arguments which contain spaces must be put between quotation marks, otherwise the program will only recognize the first word in a series of words. 7. A space character must separate a command from its argument(s). Before a script can be used by IT, it must be compiled using the COMPILE program on the ModemWorks disk. You can call up the compiler from IT by using the [C] command. The script language consists of these commands: DO TERM GOTO HOME PRINT SPEED ECHO DIAL CONNECT RETURN WAIT IF SEND HANGUP SENDFILE GETFILE BREAK PAUSE DISK RUN END PRINTER EMULATE Each command is described next. ____________________________________ DO label ____________________________________ Causes script execution to begin executing instructions at a certain label. When a RETURN instruction is encountered, program flow resumes with the next instruction following the DO command. This is just like a GOSUB in Applesoft BASIC. ____________________________________ TERM ____________________________________ Temporarily pauses script execution and puts you into TERMINAL mode. When you press Escape to exit terminal mode, script execution continues. ____________________________________ GOTO label ____________________________________ Diverts script execution to a certain label. This is like GOTO in Applesoft. ____________________________________ HOME ____________________________________ Clears the screen and puts the cursor in the upper left corner. ____________________________________ PRINT "text" ____________________________________ Displays text on the screen, but is not sent to the modem. ____________________________________ SPEED bps ____________________________________ SPEED will set the bits per second rate for use with IT. Values for "bps" are 300, 1200, 2400, and 9600. ____________________________________ ECHO mode ____________________________________ Sets up local or remote echo modes for terminal mode. Arguments for "mode" are ON and OFF. ECHO ON is half duplex (local echo). ECHO OFF is full duplex (remote echo). ____________________________________ DIAL number ____________________________________ Dials a phone number. See &CALL in the manual for details. ____________________________________ CONNECT ____________________________________ Attempts to connect with a host computer after dialing out. Use of the IF statement is useful after executing CONNECT to determine if connection was successfully established. ____________________________________ RETURN ____________________________________ Causes script execution to RETURN to the line following the corresponding DO instruction. ____________________________________ WAIT "text" ____________________________________ Halts script execution until "text" has come in through the modem. This is used for handshaking on incoming data. Use the IF instruction to determine whether or not the string to handshake on was found. ____________________________________ IF condition GOTO label ____________________________________ IF is used to test the most recent function performed by the script, such as attempting to connect with a host computer, sending or receiving a file, or handshaking on incoming text. Example conditions for use with IF are: if FOUND goto ... if OK goto ... if CONNECT goto ... if GOOD goto ... if FAILED goto ... if BAD goto ... if TRUE goto ... if SUCCESS goto ... if FALSE goto ... if NO goto ... if YES goto ... Placing NOT or NO in front of a condition will test for a negative condition, such as IF NOT FOUND GOTO label. The word THEN can be used in place of GOTO if you desire, although both GOTO and THEN are totally optional. If the condition tested is true, the script will attempt to GOTO to the label name which is at the very end of the IF instruction line. So if you had a label called "Stop" you could do this: IF NO CONNECT Stop ____________________________________ SEND "text" ____________________________________ Works just like PRINT, except this will send text to the modem and not to the screen. Remember, if you need to send a carriage return, use "^M" (caret followed by the letter M). ____________________________________ HANGUP ____________________________________ Disconnects the modem with the host, and hangs up the phone. ____________________________________ SENDFILE file options ____________________________________ Prepares to send the "file" using special "options." If "option" is PROTOCOL, XMODEM will be used to send the file. Example: SENDFILE FOOBAR.COM PROTOCOL If "options" is not PROTOCOL, the file is sent as a regular text file, line by line. You must specify two "option" arguments: an interline delay value, and a character which to use to handshake on each new line. Example: SENDFILE BLETCH.TXT 7 : This will send the file "BLETCH.TXT" line by line, with an interline delay of 7, and will wait for a colon from the host before each line of the file is sent out. ____________________________________ GETFILE file PROTOCOL ____________________________________ Gets a "file" from the host computer using XMODEM protocol. (Sorry, text receive-to-disk is not implemented). ____________________________________ BREAK ____________________________________ Sends a modem break tone. (see &BREAK in the ModemWorks manual) ____________________________________ PAUSE seconds ____________________________________ Causes script execution to pause for so-many seconds, then execution will resume. ____________________________________ DISK command ____________________________________ Allows the script to execute a ProDOS BASIC disk command. Examples: DISK prefix /profile/mail DISK delete /ram/temp DISK cat,s6,d2 ____________________________________ RUN script ____________________________________ Lets you run a different script file from within a script. ____________________________________ END ____________________________________ Causes a script to stop running. If you're online, you're taken right to terminal mode. ____________________________________ PRINTER mode ____________________________________ Specifies whether any output which is shown inside the terminal mode window will be sent to the printer or not. Values for "mode" are ON and OFF. PRINTER ON sends output to the printer, while PRINTER OFF does not. ____________________________________ EMULATE terminal ____________________________________ Initializes terminal emulation for the named terminal template file. If the template does not exist in the current prefix, you should specify a fully qualified pathname to the file. Terminal template files are those with a file type of $00 on the ModemWorks disk. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FILES On disk, you'll find a sample script source file named SCRIPT.SRC. Use SCRIPT.SRC as an example of a typical "dial up and log-in" script. The program named COMPILE is the actual script compiler. It can be invoked using the [C]ompile command from within IT, or from BASIC. BUGS The COMPILE program will not catch duplicate labels declared in a script file. Be careful.