GT POWER 18.00 Copyright (c) 1985, 1993: by P&M Software Co. All rights reserved. July 22, 1993 GT POWER, or just GT for short, is a communications program for IBM Personal Computers and compatible units. P&M Software Co. reserves the copyright to this program and all related materials. The user is granted a license to use the program and is encouraged to make a donation if the program is found to be useful. $50 U.S. is recommended. Send the donations to: P&M Software Company 3104 E. Camelback Rd. Suite #503 Phoenix, AZ 85016 U. S. A. Telephones ---------- Voice: (602) 897-9557 Modem: (602) 897-9549 For further information about the GT POWER registration plan, please read the file called REGISTER.DOC, which comes with this program. It outlines the benefits of full registration. In addition, the user is granted the right to make unlimited copies of the program and to distribute these copies as he/she desires, except that P&M Software Co. reserves the sole right to distribute the program for profit. If the user distributes the product, the user may collect for a duplication charge, not to exceed $10 per copy. - 1 - Table of Contents ---------------------------------------------------------------- Credit Where Credit is Due . . . . . . . . . . . . . . . . . 4 Features . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Functional Overview . . . . . . . . . . . . . . . . . . . . . 9 Installation Notes . . . . . . . . . . . . . . . . . . . . . 12 External Protocols . . . . . . . . . . . . . . . . . . . 13 DSZ Log Support . . . . . . . . . . . . . . . . . . . 14 Important . . . . . . . . . . . . . . . . . . . . . . . . 15 Environment Usage . . . . . . . . . . . . . . . . . . . . 16 DOS 3.2 . . . . . . . . . . . . . . . . . . . . . . . 17 DOS 3.3 . . . . . . . . . . . . . . . . . . . . . . . 17 DOS 5.0 . . . . . . . . . . . . . . . . . . . . . . . 18 General Notes On DOS . . . . . . . . . . . . . . . . 18 Modem Result Codes . . . . . . . . . . . . . . . . . . . 19 Multiple Result Codes . . . . . . . . . . . . . . . . . . 19 First Time Usage . . . . . . . . . . . . . . . . . . . . . . 20 Command Line Usage . . . . . . . . . . . . . . . . . . . . . 22 RAM Disk Usage . . . . . . . . . . . . . . . . . . . . . . . 25 Computer To Computer Without Modems . . . . . . . . . . . . . 27 Alt-Command Descriptions . . . . . . . . . . . . . . . . . . 28 ASCII Transmit . . . . . . . . . . . . . . . . . . . . . 28 BREAK Signal . . . . . . . . . . . . . . . . . . . . . . 28 Capture Mode . . . . . . . . . . . . . . . . . . . . . . 28 Capture Header . . . . . . . . . . . . . . . . . . . 29 Phone Directory . . . . . . . . . . . . . . . . . . . . . 29 Dialing The Modem . . . . . . . . . . . . . . . . . . 29 Dial Prefix Override . . . . . . . . . . . . . . . . 29 Half Duplex . . . . . . . . . . . . . . . . . . . . . . . 30 Take A Time Fix . . . . . . . . . . . . . . . . . . . . . 30 Redial Previous Number . . . . . . . . . . . . . . . . . 30 The HELP Screen . . . . . . . . . . . . . . . . . . . . . 30 Custom Configure The Program . . . . . . . . . . . . . . 30 Program Version And Serial number . . . . . . . . . . . . 30 Erase A File . . . . . . . . . . . . . . . . . . . . . . 30 Disk Directory Listing . . . . . . . . . . . . . . . . . 30 Macro Keys . . . . . . . . . . . . . . . . . . . . . . . 30 Enhanced Keyboard Support . . . . . . . . . . . . . . 31 Keyboard Macros . . . . . . . . . . . . . . . . . . . 31 Execute A DOS Command . . . . . . . . . . . . . . . . 32 Wire any program to a Hot Key . . . . . . . . . . 32 Start Recording Keystrokes . . . . . . . . . . . . . 32 Stop Recording Keystrokes . . . . . . . . . . . . . . 32 Playback Previously Recorded Keystrokes . . . . . . . 32 Toggle Status Line Update . . . . . . . . . . . . . . 33 Extended Keys In Macros . . . . . . . . . . . . . . . 33 Change Logged Disk Drive . . . . . . . . . . . . . . . . 34 Sort Phone Directory . . . . . . . . . . . . . . . . . . 34 Print A File . . . . . . . . . . . . . . . . . . . . . . 34 Hang-up The Telephone . . . . . . . . . . . . . . . . . . 34 Download A File . . . . . . . . . . . . . . . . . . . . . 34 Use Key . . . . . . . . . . . . . . . . . . . 34 DOS Path & External Protocols . . . . . . . . . . . . 34 Change Communications Parameters . . . . . . . . . . . . 35 Upload A File . . . . . . . . . . . . . . . . . . . . . . 35 The Pick List . . . . . . . . . . . . . . . . . . . . 35 Use Key . . . . . . . . . . . . . . . . . . . 36 DOS Path & External Protocols . . . . . . . . . . . . 36 - 2 - Report Time Used . . . . . . . . . . . . . . . . . . . . 36 View A File . . . . . . . . . . . . . . . . . . . . . . . 36 Clear Screen . . . . . . . . . . . . . . . . . . . . . . 36 Exit The Program . . . . . . . . . . . . . . . . . . . . 36 Copy A File . . . . . . . . . . . . . . . . . . . . . . . 36 Toggle Monitor Mode . . . . . . . . . . . . . . . . . . . 36 Shell To DOS . . . . . . . . . . . . . . . . . . . . . . 36 Screen Dump . . . . . . . . . . . . . . . . . . . . . . . 36 Execute A Script . . . . . . . . . . . . . . . . . . . . 36 Macro To Execute A Script . . . . . . . . . . . . . . 37 Suspend Capture Mode . . . . . . . . . . . . . . . . . . 37 Force Checksum Xmodem . . . . . . . . . . . . . . . . . . 37 Circular Dialing Queue . . . . . . . . . . . . . . . . . 37 Split Screen Mode . . . . . . . . . . . . . . . . . . . . 37 Review Capture Mode . . . . . . . . . . . . . . . . . . . 37 Quiet Mode . . . . . . . . . . . . . . . . . . . . . . . 38 Manual LOG Entry . . . . . . . . . . . . . . . . . . . . 38 Enter Host Mode . . . . . . . . . . . . . . . . . . . . . 38 Toggle The Printer . . . . . . . . . . . . . . . . . . . 38 Transparent Mode . . . . . . . . . . . . . . . . . . . . 38 Scrollback Buffer . . . . . . . . . . . . . . . . . . . . 38 25 Line Operation . . . . . . . . . . . . . . . . . . . . 38 Phone Directory Commands . . . . . . . . . . . . . . . . . . 39 Dial Scripts . . . . . . . . . . . . . . . . . . . . . . 41 An example Dial Script . . . . . . . . . . . . . . . 42 Script Menus . . . . . . . . . . . . . . . . . . . . . . 43 Text Editing Keys . . . . . . . . . . . . . . . . . . . . 43 Host Mode . . . . . . . . . . . . . . . . . . . . . . . . . . 44 GT POWER Netmail System . . . . . . . . . . . . . . . . . 44 Script Language . . . . . . . . . . . . . . . . . . . . . . . 45 Script Line Labels . . . . . . . . . . . . . . . . . . . 46 Script Command Summary . . . . . . . . . . . . . . . . . 46 Script Command Descriptions . . . . . . . . . . . . . . . 49 Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Status Line Indicators . . . . . . . . . . . . . . . . . 75 System Files . . . . . . . . . . . . . . . . . . . . . . 77 Color Number Table . . . . . . . . . . . . . . . . . . . 79 ANSI Emulation - Received Characters . . . . . . . . . . 80 ANSI Emulation - Transmitted Characters . . . . . . . . . 82 Support For USRobotics Courier 2400 . . . . . . . . . . . 83 Support For USRobotics Courier HST - 9600 Baud . . . . . 84 Modem Init String . . . . . . . . . . . . . . . . . . 84 Configuration Setup . . . . . . . . . . . . . . . . . 84 19200 Baud Rate . . . . . . . . . . . . . . . . . . . 84 Fixed DTE Operation . . . . . . . . . . . . . . . . . 84 Hayes 2400 Init String . . . . . . . . . . . . . . . . . 86 Help For IBM Modems . . . . . . . . . . . . . . . . . . . 87 Registration Message . . . . . . . . . . . . . . . . . . . . 88 Registration Form . . . . . . . . . . . . . . . . . . . . . . 89 - 3 - Credit Where Credit is Due. --------------------------- I want to thank the following for their support and encouragement. Donald Fletcher Perry Alexander Russell Kroll John Della-Torre Ken Thompson Cory Wright Jack Hazel Raymond Wood Chris Smith Tom Scallorn Stephen Deplater B.J. Guillot Harry Green Oliver Bell John Fisher Stephen Ricciardelli Ed Bragg Mike Focke Mark Shasby Terry Dansey Bob Camp Ed Cavender Keith Coyne Jim Kreyling Richard Walker Warren Leadbeatter And all of the users of GT POWER, and especially the 100 or so folks that helped beta test version 18.00! If I have missed you, I apologize. These people have each made significant contributions to the development of GT POWER. The nature of their contributions has been intangible. Things like the feedback of ideas, the encouragement to excel, and bug reports. In some cases, actual work has been contributed, for example several people have expended considerable effort to design new screens for GT POWER and help rewrite the documentation (any bad or missing things in the documentation are still the author's responsibility, I write terrible documentation ). Here is a story for trivia buffs. Donald Fletcher, whose name appears at the head of the list above, is virtually unknown within the GT POWER community, yet he continues to be a great supporter of GT POWER. He was the first registered user of GT POWER, and to this day, holds S/N 00001. Hey, Don, if you are reading this, thanks for all the support over the years! - 4 - Features: --------- 1. ANSI Standard terminal emulation, compatible with many super-mini and super-micro computers. The VT-100 terminal, manufactured by Digital Equipment Corporation, is an example of an ANSI Standard terminal. 2. VT-52 terminal emulation, compatible with many telephone banking systems. The VT-52 terminal is manufactured by Digital Equipment Corporation and is an older type of computer terminal. 3. ANSI.SYS style color graphics, without the need of ANSI.SYS! 4. BASIC style PLAY for single voice music. Some BBS systems can send music strings to terminal programs, formatted according to the PLAY command in BASIC. GT POWER can decode these commands and play the music on the PC's speaker. 5. Multiple telephone directories, with 999 entries each. Records the password for each BBS, as well as the date and time of last contact. The total number of calls, accumulated time, uploads and downloads are also recorded. The directory may be perused while on-line with a host system. 6. Circular redialing queue. Up to 999 numbers may be put into queue. 7. Capture Mode, limited only by the amount of disk space available. A spill file is used, when the capture buffer is full. The capture buffer can be reviewed on-line, before saving to disk, so it acts as a scroll-back buffer. The amount of data in the capture buffer is displayed on the status line. 8. ASCII file transmission, using XON/XOFF protocol and/or line- by-line pacing and/or inter-character delays. 9. Support for an ENQ answerback. For systems requiring a response to the Ctrl-E, ENQ, character. The same substitutions used in keyboard macros are available for use in the ENQ answerback, such as '|' for carriage return and '~' for a 1 second delay. 10. Full control of all communication parameters. Plus, full support for the 16550A UART including FIFOs (very nice for use with high speed modems and/or multi-tasking setups). 11. 40 function keys, to store logon, passwords, etc. The function keys have full macro capabilities, so that automation of the program can be easily accomplished, includes record and playback features. On enhanced keyboards, with F11/F12 keys, GT POWER supports 48 function keys. 12. Full printer support, using XON/XOFF flow control with the host. 13. Xmodem/CRC protocol. Plus optional support for the Xmodem - 5 - Checksum protocol. 14. WXmodem protocol. This is the full-duplex, windowed version of Xmodem. 15. Ymodem/CRC protocol. Both the batch and single file version of this protocol are supported. Ymodem uses 1024 bytes per packet vs. 128 bytes per packet in Xmodem. During transmission of a file with Ymodem, if more than 5 errors are encountered, the transmission will fallback to normal length blocks. This saves time, because of the high overhead encountered with Ymodem re- transmission of error blocks. 16. Ymodem-G protocol. This protocol is supported in batch format. It is a full streaming protocol, and is extremely fast, especially when used with the newer high speed modems. 17. Telink/CRC batch file transfer protocol. 18. The exclusive GT POWER protocol, 1k Telink, which combines the batch capabilities of Telink with the efficiency of Ymodem's 1k block length. 19. The exclusive GT POWER protocol, MegaLink, which combines the latest 32 bit CRC technology with a full-flow, PC Pursuit friendly, batch protocol. This protocol is among the most efficient and reliable of protocols. PC Pursuit is a service of Telenet Communications Corporation. And the Super MegaLink protocol --- designed to be used with the newer high speed modems: v.32, v.32bis, v.fast, etc. The Super MegaLink protocol combines improved reliability with the highest efficiency. 20. SEAlink transfer protocol is supported. This protocol is extremely efficient and ideal for use with such BBS systems as OPUS. 21. Eighteen slots for external protocols to be added by the user. GT POWER comes with several of these slots pre-setup: Zmodem, Kermit, Jmodem, Super8k, and BiModem. These can be easily changed or added to by modifying the External Protocol Table in the GT POWER configuration. 22. DOS Shell. Exit to DOS then return, GT POWER stays in the background. 23. An extensive, interactive, script language, to automate many repetitive tasks. 24. Optional LOG file. Keeps a complete record of your calls. With detailed logging as an additional option. 25. Advanced "call progress" detection. Detects BUSY, VOICE, NO DIAL - 6 - TONE, and more, with modems that support extended result codes, such as the USRobotics Courier 2400 Modem. Multiple result code entries can be entered so that more than one modem type can be easily supported. For example, the result codes for Racal-Vadic and Hayes modems could be simultaneously recognized. This is very handy for users of PC Pursuit, allowing them to use the native mode of the Racal-Vadic modems in use by that service. 26. Smart modem result code handling. Automatically detects the usage of MNP, baud rate and connection, even if the modem result code table is incomplete or inaccurate. This eases the setup procedure for many modems! Verbose modem result codes must be used to take advantage of this feature. 27. Use of the environment variable, GTPATH, to simplify use of the program on a hard disk. 28. On-screen clock, so there is no need for a memory resident clock program. 29. Host mode. Allows the user to setup a system to accept incoming calls. If you have ever wanted to become a sysop, there is no need to buy a separate BBS program! GT POWER includes a powerful BBS package. Complete security is incorporated into the host. The host mode also includes a powerful message system. A flexible ring-back procedure if provided to enable sharing of a data line with voice requirements. 30. Support for the non-standard COM ports: 3 through 8. 31. Support for non-standard IRQ assignments for the COM port. Up to IRQ 15 on 286/386 computers. 32. For those with limited disk space, a terminal only version of GT POWER is distributed. This version is referred to as GTO, for GTerminal Only. It saves more than 90k of disk space when compared with the full GT POWER version. 33. With non-batch protocols, such as Xmodem, WXmodem and Ymodem, GT POWER will scan the screen for the filename indicated to the BBS. This can save double typing of the filename. A very handy feature. To make complete use of this feature, you should set the default protocol for each BBS to be one of the protocols listed above. 34. Support for Zmodem auto-download. This means that during terminal mode operation, the program will trap out the Zmodem signature coming from the host and automatically drop into the ZMRX.BAT file whenever detected. Support for HS/Link auto-download. As described above for Zmodem the program will automatically drop into the HSRX.BAT file when- ever the HS/Link signature is detected. - 7 - 35. Support for 43 line mode on EGA systems and 50 line mode on VGA systems. 36. Support for DESQview - an excellent multitasking operating environment by Quarterdeck Office Systems. GT POWER will give-up unused time to DESQview and will write directly to the DESQview video buffer - for fast screen updates! GT POWER also supports MS-Windows and OS/2. While GT POWER runs as a DOS application under these operating systems, it will re- turn unused time to be used by other tasks. 37. Scrollback buffer. The scrollback buffer can be configured from 1 to 400 lines. Allows easy review of previous text without the capture buffer being used. ANSI graphics are fully supported. 38. GT POWER NetMail. This is a very inexpensive way to communicate with your fellow GT POWER users. Most GT POWER host systems participate in the network, which stretches from Australia thru the US and Canada to the United Kingdom and Germany. NOTE: The GT POWER NetMail programs are not shareware. They are provided at no extra cost to users who register GT POWER. An extra incentive to register GT POWER! 39. GT POWER is a shareware product. This means that it is provided at little or no cost to the end user for an evaluation. If the user decides to continue using GT POWER past a reasonable evaluation period, then the user is expected to submit the requested donation. In this spirit, GT POWER has incorporated within it a "usage counter", for each usage the program will delay startup for an additional 1/30th of a second. This delay has a maximum value of 120 seconds. If the user decides to register GT POWER, then the user will receive a key, which bypasses the delay and allows the user to enter the program much more quickly. - 8 - Functional Overview ------------------- GT POWER is a set of programs and files that provide complete capabilities for your system. It has been designed to be based on IBM PC and compatible micro-computers and it supports a wide variety of modems including all Hayes compatibles, USRobotics, and IBM. As you have seen from the previous pages which listed many of the features of this program, there are a large number of functional capabilities provided by GT POWER. Nevertheless, you will quickly see that these functions have been provided in a very user friendly environment, and that the software is quite easy to use. It is not necessary, for example, to remember any commands or special features of the program as there is a comprehensive Help Menu available to you at any time the program is running. Basically there are three usages of a communications system such as GT POWER: 1. To call other computer systems and engage in 'telex-like' conversations with the person (or computer) called. 2. To transfer files (programs and data) between computers. 3. To establish an unattended host mode environment that other computer users can call and interact with. For example, to send files to your system or to leave messages for later review, sometimes called 'Electronic Mail'. GT POWER provides these three broad categories of functions and a great deal more. A few examples include: The ability to use any of the DOS Commands without exiting the program. Capturing to disk all the text that is exchanged while in the 'telex-like' terminal mode. Automatically dialing the telephone for you. Maintaining a complete log of all telephone activity. Providing a secure environment that protects your system from unwanted invasion by outside callers. Before you can use GT POWER you will need to install the software on your system. The installation process is relatively easy to perform, but it does require that you know a few things about your system in advance. For example, you will need to know which port your modem is connected to (usually #1 if you have a parallel printer or #2 if you are using a serial printer). You will need to know a few technical things about your modem, as well. If you are using a Hayes or Hayes compatible modem (1200 baud) - 9 - the system is already setup for your use. If not, then you will need to have a copy of the technical reference manual that was supplied with your modem. After you have started GT POWER, a shareware notice will appear, and a delay will commence (1/30th of a second for each usage of the program, with a maximum delay of 120 seconds). After the delay has expired, the program will invite you to 'Press any key to continue'. Pressing a key results in the display of the 'Copyright' screen, which will explain the details of the GT POWER shareware plan, and you will be asked to press 'Y' to continue. Pressing 'Y' results in GT POWER going directly into it's Dialing Directory display (the method of entering the program is extremely simplified for registered users, who will be able to enter the program automatically without any keystroke, after viewing the 'Copyright' notice for a couple of seconds). In the Dialing Directory you will see a list of names and telephone numbers that you have told GT POWER about during previous usage and a short menu is shown at the bottom of the screen. If you wish to call another computer at this time you need only move the cursor to the appropriate line and press the Enter key. GT POWER will then automatically dial the requested telephone number and monitor the progress of the call. That is, it will show you that the call is being placed and it will tell you what is happening on the telephone line thereafter. For example, if the telephone on the other end is busy it will show BUSY (if your modem has extended result codes). When it gets through to the other computer, GT POWER will show you that it has connected with that system. There are many ways in which files can be transmitted between computers. Text files are often sent without any elaborate conventions that insure the integrity of those transmissions, but program files are always sent utilizing what is called a 'protocol'. Transmissions that utilize a protocol insure that the file received is exactly like the one sent. GT POWER provides nine built-in and eighteen external file transfer protocols for your use. Each one has its own advantages and disadvantages over the others. More important than their differences is that many of the computers that you will be calling can only support a few different protocols and the variety provided by GT POWER insures that you can use the ones provided on the other computer. Subsequent sections of this document will show you the many varied functions and features available with GT POWER in great detail. The host mode capabilities are so extensive, however, that we have elected to provide a separate document to describe them in detail. Note: GT POWER is a shareware product that may be obtained directly from the author, from any existing user of the product, or through file transfer of the program from any of hundreds of bulletin board systems near you. In almost all cases you will receive the product as a set of six files (GT1800_1.LZH, 2, 3, 4, 5 and 6). These files will be in what is known as an archive format. In order to extract the actual program and - 10 - data files from the archive file you have you must use an archive extraction program such as LHARC which is readily available on many bulletin boards. - 11 - Installation Notes ------------------ Versions 4.20,8.00,9.00,9.10,9.20,11.00,14.00,15.00,15.50 and 17.00 of GT POWER introduced new formats for the phone directory. One may ask, "Why so many changes?". The answer is simple, we at P&M Software (P&M stands for Paul and Mari) believe in providing functions requested by our users, whenever possible. Because of all the improvements in the phone directory, users of older versions of GT POWER must run the program GT_UTIL to convert their old directories to the new format. I think you will like the newer format, it includes the date and time that you last called each number in the directory, the total number of times you called each number, the total duration of your calls to each number, a record of upload and download amounts to each number, default file transfer protocol, logon script, dialling script, and room for ample comments. When run, GT_UTIL will rename your original directory to '_GT.DIR', so that you will retain a copy of it for emergency use. The program comes packaged as a small .EXE and a much larger .OVL. The .EXE is a stub that loads and executes functions from the .OVL as required. In order for this to happen effectively, GT POWER must be able to locate the .OVL and other configuration and control files. There are three methods available to have GT POWER locate the required files. 1. Start GT in the directory that contains all of these files. The program will detect the default directory and will refer back to it when needed, even after the user has changed directories. 2. Use the Environment variable GTPATH, to point to the directory containing GT POWER's files. This method is more difficult to setup, but is much more flexible once the program is properly installed. The following line should be added to your CONFIG.SYS file: set GTPATH=C:\GT Of course, this assumes that 'C:\GT' is the directory where you have placed the GT POWER files. If you chose a different directory or drive, use the path you have selected. If GTPATH is set, GT POWER will not look in the default directory for any of the needed files, instead it will look in the directory indicated by GTPATH. 3. Place the OVL and BBS files into a ramdisk. In order to do this the ramdisk must be listed in the DOS PATH and files should be placed in invisible, i.e. not in the DOS PATH or GTPATH, sub- directories on the hard disk to be copied to the ramdisk before usage. The phone directory may be placed on any drive and directory, the path to the phone directory is set in the configuration file via the Alt-I command. There are also separate PATH's for upload and download - 12 - directories and other areas. The phone directory path MUST be correctly set, otherwise the program will not be able to use the phone directory, but the upload and download PATH's are optional. A script path is also configurable, so that a separate directory may be used to store scripts. A capture path can be configured, so that GT POWER will know where to save your capture sessions (it is usually not a good idea to save your captures in the current working directory -- you would quickly lose track of them!). Other pathnames may also be configured in GT POWER's setup, refer to item #26 of the Alt-I screen. External Protocols ------------------ As shipped, GT POWER comes pre-configured for 4 external protocols, with 18 possible external protocols. To alter these definitions or to add new protocols, you must bring up the Alt-I configuration screen and select #6, the setup for external protocols. You will be presented with the following table: Protocol BAT Menu Batch Two DSZ No Name File Char XFER? Way? Log ÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍ ÍÍÍÍ ÍÍÍÍÍ ÍÍÍÍ ÍÍÍÍ 1 Jmodem JM J N N N 2 Kermit KR K Y N N 3 Zmodem ZM Z Y N N 4 BiModem BI I Y Y N 5 ____________ __ _ _ _ _ 6 ____________ __ _ _ _ _ 7 ____________ __ _ _ _ _ 8 ____________ __ _ _ _ _ 9 ____________ __ _ _ _ _ 10 ____________ __ _ _ _ _ 11 ____________ __ _ _ _ _ 12 ____________ __ _ _ _ _ 13 ____________ __ _ _ _ _ 14 ____________ __ _ _ _ _ 15 ____________ __ _ _ _ _ 16 ____________ __ _ _ _ _ 17 ____________ __ _ _ _ _ 18 ____________ __ _ _ _ _ The "BAT File" column contains the first two characters that are used to compose the name of the batch file required to execute the protocol. Batch files are provided for the pre-configured protocols, as follows: JMRX.BAT ...... Jmodem Receive JMTX.BAT ...... Jmodem Transmit KRRX.BAT ...... Kermit Receive KRTX.BAT ...... Kermit Transmit ZMRX.BAT ...... Zmodem Receive ZMTX.BAT ...... Zmodem Transmit BIRX.BAT ...... BiModem Receive BITX.BAT ...... BiModem Transmit - 13 - Note that the first two characters of each name indicate the protocol in use and the next two characters indicate either receive(RX) or transmit(TX). Since BiModem is a "TWO WAY" protocol, sending and receiving at the same time, the BiModem batch files should be identical for both receive and transmit. Please note, only protocols compatible with BiModem are considered "TWO WAY" protocols. For example, HS/Link should not be setup as "TWO WAY". The internal structure of each batch file is dependent on the details of the individual protocol driver in use. Each driver varies in the needs it has. The interface from GT POWER to these batch files is consistent, so that you can quickly learn to create new files for new protocols. Up to 9 parameters can be passed to a protocol batch file, the 1st is the COM port number in use and the 2nd is the current baud rate used on the COM port. Parameters 3 through 9 are filename specifications. With batch protocols, the filename specifications may contain the wild card characters '?' or '*'. Please examine the included batch files for examples of proper construction. Through the use of a temporary directory, GT$WORK$, GT POWER is able to log the actual files that are received by an external protocol. GT POWER will create this directory automatically under the user's download directory and will move the files received into that directory after logging has been completed. If duplicate files are received, they will be moved to a DUPS directory created automatically under the user's download directory. Under normal operation, the GT$WORK$ directory will be removed automatically after it has served its purpose. If it should remain on your disk, then some sort of problem has been encountered, that GT POWER is unable to handle. In addition to using the command line arguments to pass filenames to external protocol batch files, when uploading or transmitting a file or batch of files, GT POWER also creates a list file - called GT_XMIT.LST - in the GTPATH directory (or the directory where you started GT POWER, if no GTPATH environment variable has been setup). This list file is very handy for use with protocol drivers that support the feature, due to the limited size of the command line under DOS -- it is limited to 128 characters! Here is an example of a batch file for Zmodem upload using the list file feature: dsz port %1 speed %2 both sz @C:/gt/gt_xmit.lst Where 'C:\GT' is the GTPATH directory. Also notice the use of '/' in the pathname after the '@C:', the DSZ program supports the use of '/' as the delimiter within pathnames due to its UNIX heritage. Other programs may not support the '/' character in pathnames, in which case, the normal DOS '\' should be used. DSZ Log Support --------------- If a particular protocol, such as DSZ or HS/LINK, requires the use of DSZ logging, then one should place a 'Y' into the DSZ Log column of - 14 - the external protocol table entry for that protocol. If this is done, GT POWER will examine the DSZ log upon return from the protocol to determine what files have been transfered. Because of this, the DSZ log cannot be a cumulative file. Here is an example, where the cumulative file is named ZMODEM.LOG: Example ZMRX.BAT, showing DSZ Log usage --------------------------------------- rem SAVE PREVIOUS CONTENTS OF DSZ LOG type %DSZLOG% >>c:\gt\zmodem.log echo ******** >>c:\gt\zmodem.log rem DELETE DSZ LOG, PREPARE TO RECEIVE NEW ENTRIES del %DSZLOG% dsz port %1 handshake both rz IMPORTANT: ========== There are two methods available to have GT POWER hang-up the phone line. First, the default method, the "Hang-up String" is sent to the modem. The "Hang-up String" must contain an escape character - usually "~+++~" for Hayes type modems, so make sure that the S2 register of your modem is set properly. GT POWER can also control the modem via the DTR signal, which is the preferred method. If the DTR switch is set to the "normal" position on the modem, GT POWER can hang-up the phone line by dropping the DTR signal. NOTE: the "normal" position for the DTR switch is not the factory setting, which is usually to force DTR at all times (which is completely useless with GT POWER). If you choose the DTR method, you must delete all the characters from the "Hang-up String" in the GT POWER configuration. GT POWER does not use the DTR method by default, since most modems aren't setup properly to use it, but the DTR method is the best and quickest way to hang-up. Some modems require the following string to be added to the modem init string (under Alt-I): &C1&D2 On some "Hayes Compatible" modems, these two software switches are required to get proper DTR and DCD handling. Other modems have a DIP switch that needs to be set -- this is common on older Hayes modems and on USRobotics modems. It is very important that the modem result codes are properly installed. If the program cannot connect properly then the codes are not correct. There are several things which must agree to enable GT POWER to recognize the modem's result codes: (1) the desired Vn command must be added to the modem init strings, V1 is recommended, (2) the desired Xn command must be added to the modem init strings, (3) the result codes corresponding to the selected Vn command must be installed in the result code table. The Vn command controls whether the modem returns verbose, V1, or numeric, V0, result codes. The Xn command controls the result code set reported to GT POWER from the modem, X0 tells the modem to use the basic result code set (not extremely useful), X1 is better and is the first of the "extended" result code sets, however you should use one of the result code sets - 15 - that include the BUSY result code, usually X3 or above -- which greatly speeds the dialling routines. It is recommeded that the verbose result codes are used with modems that have many different variations of the CONNECT result code. Because there simply is not enough room in GT POWER's result code table to hold all of them! If verbose result codes are returned by the modem, GT POWER will be able to use its advanced algorithm for handling these codes automatically. GT POWER is able to detect the usage of error correction, in many different flavors (i.e. MNP, ARQ, V.42, etc), the DCE baud rate, and the presence of a successful connection - all automatically - when verbose result codes are enabled. There is an assumption here, and that is that the modem adheres to the Hayes standard format style for verbose codes. That is that the verbose connect codes should start with the word CONNECT, followed by the DCE baud rate, and then the error correction type. Example of Environment Usage ---------------------------- Assuming that all the GT POWER files have been placed in a directory named \GT on drive C (and a few other assumptions, please read below). Then in your AUTOEXEC.BAT file place the following: PATH=C:\GT;C:\ set GTPATH=C:\GT set GTVBUF=40 set NO_EMS=TRUE set TZ=CST6CDT Of course, DOS's PATH variable may have additional directories listed, using the semi-colon to separate the names. The GTPATH variable must have only 1 parameter, the home directory for the GT POWER files. NOTE: it is wise to include the root directory in DOS's PATH variable, as this enables COMMAND.COM to be executed more easily by other programs -- this is necessary to run the DOS Shell mechanism. The GTVBUF variable tells GT POWER how big to make its virtual memory buffer. The smaller it is, the more memory you will have for other things, but the slower GT POWER will run. The default is 140. Do not make it smaller than 50, nor greater than 200 (you should find a happy medium between those values). The NO_EMS variable tells GT POWER whether or not to skip its check for the presence of EMS memory. If EMS memory is present, GT POWER will use up to 512k as a virtual memory cache (allowing the GTVBUF setting to be minimized and still retain a very responsive system). NO_EMS can be set either TRUE or FALSE, if it is not set at all, GT POWER assumes FALSE, and auto-senses the EMS memory (but this causes a slight delay and does not always work with old or exotic hardware). If the auto-sense routine doesn't work well on your computer, then set NO_EMS=TRUE. The TZ variable tells GT POWER the relationship of your timezone to the GMT timezone. In the above example, the timezone is the Central - 16 - Standard Timezone (CST), which is 6 hours behind GMT. The CDT following the 6 indicates the daylight time is currently in effect -- GT POWER will automatically compensates for daylight time. If daylight time was not currently in effect, the 'set' statement would have to be changed to: set TZ=CST6 Here are some interesting examples of TZ set statements: set TZ=EST5EDT Eastern Standard Timezone, 5 hours behind GMT, currently operating on daylight time. set TZ=EST5 Eastern Standard Timezon, 5 hours behind GMT, currently operating on standard time. set TZ=GTM0 This would be the GMT timezone proper, 0 hours differential. set TZ=EUR-1 This would be a European timezone that is 1 hour ahead of GMT. set TZ=PST8PDT Pacific Standard Timezone, 8 hours behind GMT, currently operating on daylight time. If you live in a timezone that changes to/from daylight time twice a year, then the TZ statement will need to be altered twice a year. The 3 characters following the GMT offset need to be removed, when standard time is in effect, or added when daylight time starts in the Spring. Notes on DOS 3.2 and 3.3 ------------------------ It is necessary to place certain entries into the CONFIG.SYS file when using DOS 3.2 for the proper operation of GT POWER. The entries are as follows: STACKS=30,256 BUFFERS=40 FILES=60 The BUFFERS value can be less if you are using a hard disk with small directories, i.e. less than 100 files per directory. The FILES parameter can also be less, as DOS doesn't use the extra FILES unless needed, so it is not critical. - 17 - The STACKS value is very important, especially for users that make great usage of scripts. Random failure of the system is possible, if the STACKS command does not have large enough values in it. Under DOS 3.3, the same recommedations are valid, except that the STACKS value should be increased, as follows: STACKS=30,512 Notes on DOS 5.0 ---------------- DOS 5.0 appears to be a very good release of DOS. Personally, I recommend it highly (there has been no better version of DOS since 3.0, in my experience). SMARTDRV works very well under DOS 5.0, as well as Windows 3.0 and 3.1. Here is my recommendation for CONFIG.SYS and AUTOEXEC.BAT for use with DOS 5.0 -- assuming that you have at least 4 megabytes of extended memory: DEVICE=C:\QEMM\QEMM386.SYS RAM NOSH FRAME=E000 X=D000-DFFF DOS=HIGH SHELL = C:\COMMAND.COM /p /e:640 BREAK = off BUFFERS = 1 FILES = 10 STACKS=0,0 LASTDRIVE = D As one can see, I use QEMM386.SYS with DOS 5.0. I have found it much more flexible than the standard HIMEM.SYS and EMM386.EXE that comes with DOS 5.0. The parameters I use with QEMM386.SYS are those that fit my peculiar hardware setup -- so you should use whatever is appropriate. Here is the AUTOEXEC.BAT file that I use with DOS 5.0: c:\qemm\loadhi C:\WINDOWS\MOUSE.COM /Y /C2 c:\qemm\loadhi C:\WINDOWS\SMARTDRV.EXE 1024 c:\qemm\loadhi C:\QEMM\BUFFERS = 10 c:\qemm\loadhi C:\QEMM\FILES = 80 prompt $p$g set GTPATH=C:\GT set DSZLOG=C:\GT\DSZ.LOG set MOUSE=C:\MOUSE set TEMP=C:\WINDOWS\TEMP PATH C:\WINDOWS;C:\DOS;C:\QEMM;C:\GT;C:\ verify on As one can see, there is a considerable amount of Windows stuff in my AUTOEXEC.BAT file -- everyone is going GUI, it seems! General Notes On DOS -------------------- It is very easy to use all available file handles within a DOS - 18 - environment. Especially if you are using external processes like DSZ, PCKERMIT, the DOS Shell, or multi-tasking software. So, it is extremely important that adequate FILES are reserved in the CONFIG.SYS file on your DOS boot disk. I recommend that no fewer than 60 be reserved. When using DOS 3.1, it has been found that a large number of BUFFERS is also beneficial. On the GT POWER support BBS, BUFFERS=95 is routinely used with DOS 3.1. IMPORTANT: The large number of buffers useful with DOS 3.1 can cause severe problems with DOS 3.2. For example, never use a value for BUFFERS greater than 40 with DOS 3.2. The variation between such closely related operating systems is surprising to this observer. Modem Result Codes ------------------ The proper setting of the modem result codes is terribly important, if the automatic dialing routines are to work properly. Again, one must use the Alt-I command, then select the modem result codes option. The program will present a list of possible results and the corresponding codes that the modem uses to signal each result. You may change any or all of the result codes, each code may be any string of characters, up to 52 characters long. The default codes are set to the verbose codes supported by the USRobotics Courier HST 9600 baud modem, if your modem does not signal all of the possible results, do not delete the extra codes. Especially if you use PC Pursuit, the modems used by Telenet send the BUSY code instead of the NO CARRIER code, so you should leave these codes in the table, even if your modem doesn't support them. The modem result codes are setup under Alt-I, item #29. Don't neglect the Modem Init String! This string can have a great impact on your modems result codes. Especially important, one should include the highest possible Xn command in Modem Init String. For example, I use X5 with my USRobotics Courier. For the Hayes 1200 baud modems, I suggest a value of X1 and for the 2400 baud Hayes I would use X4. Naturally, the Vn command is equally important. For example, if you use V1 in the init string, then you should have verbose codes in the modem result code table. Multiple Result Codes --------------------- GT POWER supports multiple result codes to mean that mean the same thing. This is extremely handy if you have a modem that sends several different codes to indicate one of the results in the table, or if you have an application which requires use of different modems with the same setup (for example, PC Pursuit uses Racal-Vadic modems, but most users have Hayes compatible modems). To indicate multiple result codes, you simply enter the various codes with a comma between each code. Do not enter any extra blanks or other non-essential characters in the result code table. For example: 0,OK,GOOD,READY - 19 - 1,CONNECT,CONNECT 300 Notice the first line above defines 4 separate codes which will correspond to the "OK" response. The second line defines 3 codes that will correspond to the "CONNECT" response. Please note, when using this feature to access non-Hayes type modems, one must remember to switch the Dialing Pre-string to the required value for each modem -- this can easily be done with one of GT's keyboard macros. First Time Usage ---------------- Many of the features of the program are self-documenting, however for the sake of the novice user, some explanation is necessary. You should start by creating a GT POWER directory on your hard disk, normally C:\GT is what is used in this document. After GT POWER has been copied into its own directory and the DOS PATH has been established, as well as definition of the GTPATH variable in the DOS environment, as explained above, the program can be started by simply typing the name of the program to DOS, GT800, followed by pressing the key. It is usually convenient to create a batch file that will invoke GT POWER for you. For example, you might create a batch file called GT.BAT which the following lines: c: cd \gt gt1800 Placing that batch file anywhere in the DOS PATH will allow you to start GT POWER from any directory by merely typing GT. Again, this batch file assumes you are using the C:\GT directory, if not, then change the batch file as appropriate. Once the user has successfully entered the program, the copyright notice will appear. Press the 'Y' (if you are a registered user, the program will auto-start), the phone directory screen will then appear. The phone directory is used to store the phone numbers of the various systems you call. You must enter these numbers before GT POWER can automate your dialing chores. Use the dd command in the phone directory to add numbers, by pressing the key. The key may be used to exit from the phone directory to the on-line screen. At the bottom of the on-line screen appears various status indicators and the reminder that Alt-H is the help key. A complete list of available commands can be obtained by selecting Alt-H. Commands may be selected while the Help window is still on screen, so that the user does not need to open the Help window repetitively, however some commands are not readily executable while any "window" is open - the time management commands, Alt-U and Alt-F, are an example. If they are executed while the Help window is open, they will cause the screen to scroll! This is not harmful in any way, but renders the Help window - 20 - less useful. The 25th line on your monitor provides important status information about your system while running GT POWER. Please refer to the Appendix at the end of this document for a complete listing of the contents of the 25th line. Upon initial execution the program creates several files in the GT POWER home directory. They are: Modify Filename Command Description -------- ------- ----------- GT.KEY ..... Alt-M ...... Stores the macro key definitions. GT.DIR ..... Alt-D ...... Stores the phone directory. GT.CNF ..... Alt-I ...... Stores the program configuration. The keystrokes shown above under "Modify Command" are the ones required to bring up screens which will allow you to customize the program for your specific use. - 21 - Command Line Usage ------------------ When you start GT, there are several command line switches that are available to you: name You may indicate a script file to be executed upon start-up of GT. /AI Causes GT to issue the ATA| command to the modem immediately upon program startup. This is for use with host mode, and is useful if you have a frontend program that can pass on a RING to GT... such as some of the newer fax programs (those that can detect "distinctive" ringing patterns). /BV Force BIOS Video to be TRUE. This should be useful to users with speech synthesizers. /D You may indicate whether or not you wish to have GT drop the DTR signal to the modem when GT exits back to DOS. /C You may indicate whether you are connected via cable to the host computer. /K You may initiate the capture mode from the very start of the program. /L You may control the duration and tone of beeps produced by the program. For example: /Lm:n Where 'm' is a number from 0 to 9, which varies the frequency of the beep. 0 is the lowest and 9 the highest. And 'n' is the duration of the beep is milleseconds. The 'n' is in milliseconds and defaults to 225 milliseconds. /P You may enable logging to the system printer. /PE You may specify the pre-event wait interval, and whether you want the phone to go offhook during the wait. By default, GT POWER uses a 5 minute pre-event wait and leaves the phone onhook. An example of this parameter is: /PE03:OFF Which would set the pre-event wait to 3 minutes, and take the phone offhook during that interval. /PE07 This sets the pre-event wait to 7 minutes, but leaves the phone onhook, the default state. - 22 - NOTE: the events mentioned above are those scheduled via the SCHEDULE.BBS file. Please see the explanation of the schedule in the GT18HOST.DOC file. /QR Allows the output of PKZIP to be redirected to the COM port during the packing of QWK Mail. For the GT host mode only. /n You may configure the port addresses in use by your serial port. The actual port number to be configured, 1-8, is placed after the slash. The new base address of the indicated port is placed after the slash number with an intervening blank. The address must be given with a leading $ sign and be in hex notation, for example $3F1 would be a valid address. Refer to your hardware documentation for the correct address to use. GT POWER uses standard addresses if you do not override with this option. To change the IRQ assignment, the port address can be followed with a ':' and a new IRQ value. The permissible range of IRQ values is 0 to 15. Please make sure you don't use an IRQ already used by something else! For example: GT1800 /4 $5228 GT1800 /3 $5220:10 The first example shows COM4 being configured to hex address 5228, but using the standard IRQ, which is 3 for COM4. The second example shows COM3 being configured to hex address 5220 and IRQ 10. /Rn This option applies to the GT POWER host mode. It specifies the ring number upon which GT POWER will answer incoming calls. For example /R3 would cause GT POWER to answer on the 3rd ring. NOTE: that the host mode modem init string must contain S0=0 to allow this to work properly, otherwise the modem may disconnect, not allowing any calls to be answered. /RBmm:nn This option applies to the GT POWER host mode. It specifies that GT POWER should answer the modem after a "ring back". To enable this option to work properly, the host mode modem init string must contain S0=0. Once installed properly this option makes the GT host mode answer the phone on the 2nd or 3rd ring after a gap of between 'mm' and 'nn' seconds. If the gap between rings is less than 'mm' seconds or greater than 'nn' seconds, GT will not answer the phone. This allows the use of an answering machine on the same phone line as the computer. The answering machine should be programmed to answer on a later ring, the 4th or 5th for example. /rb09:30 This would cause the gap to be 9 - 32 seconds. The normal ring interval is 5 - 6 seconds. The high end of this range should *not* be set higher than 45 seconds. - 23 - /W Allows GT to perform "whereis" type searches on LAN systems. For use only with the host mode, and only appropriate for LAN based multi-node systems. /S This option modifies the 'quiet' mode. When present, the /S allows the sysop page to be heard, effectively overriding quiet mode for that single function. /Tn This option specifies a new keyboard timeout value for use in host mode. The default value is 10 minutes. The 'n' specifies the new value in minutes. For example: /T15 Would change the keyboard timeout to 15 minutes. The options listed above may be placed on the command line in any order, here are some examples: gt1800 This command would start GT POWER without any script, GT POWER would drop DTR on exit. gt1800 /D Again no script, but this time GT POWER would maintain the DTR signal to the modem after exit to DOS. gt1800 script.scr /d Now GT POWER would start the script file named automatically and would maintain the DTR signal on exit to DOS. gt1800 script.scr GT POWER will now drop DTR on exit to DOS, automatically execute the named script upon startup. gt1800 /C GT POWER will know that it is connected via cable to the host and will not automatically enter the Phone Directory. gt1800 /c /D Shows the combination of the /C and the /D switches. Indicates that GT POWER is connected via cable to the host and that GT POWER should maintain the DTR signal after exiting to DOS. gt1800 /k /2 $3E8 This line would start the capture mode and reconfigure COM2 to the base address 3E8 hex. The address must be given in hex with a leading - 24 - $ sign character. It is possible to configure the IRQ too. See the next example. gt1800 /3 $248:10 In this example, COM3 is being reassigned to port address 248 hex and the IRQ used will be #10. gt1800 /p This would start GT POWER and turn on the system printer to record the log. The log will also be written to the disk file GT.LOG. This is handy for host mode operators, who would like to be able to read the log without taking their system out-of-service. gt1800 /rb host.scr This would start GT POWER, enable ring-back mode and execute the 'host.scr' script file. (Probably to start a GT Host session.) Usually, the 'host.scr' contains a single command, as follows: host The /D option allows the user to maintain the DTR signal to the modem after exiting from GT POWER and one might ask, "Why should DTR be maintained after exit to DOS?". If DTR is maintained, you may exit to DOS without having to hang-up the modem, therefore it is possible to run another comm program, while still connected to the host. For example, if you wanted to run the PCKERMIT.EXE program manually, instead of through GT POWER, the DTR should not be dropped when exiting from GT POWER. You may wish to do this if you don't have enough memory to run GT POWER and PCKERMIT.EXE at the same time. RAM Disk Usage -------------- Distributed with the program is a file called RAMDISK.BAT. It can be used to install and run the program from a RAM disk. To use RAMDISK.BAT, place the program disk in one of the floppy drives and make it the default, then enter the following command: RAMDISK d: e: [scr] Where: "d:" is the drive with the program disk, "e:" is the RAM drive, and "[scr]" is an optional script file to be executed on start-up. The brackets [] just indicate that the script file is optional. Example: "RAMDISK A: C:" Additional command line argument can be placed after the drive letters and they - 25 - will be passed as command line options to GT POWER within the batch run. - 26 - Computer To Computer Without Modems ----------------------------------- If the program is used without a modem, using a direct cable connection, all the dialing and modem control strings in the configuration file should be set to empty strings. Also, when using a direct cable connection, the "Carrier is Forced?" parameter should be set to TRUE. Also, the command line switch, /C, should be used to indicate the direct connection to GT POWER. When running a direct connection via cables, with one of the GT POWER systems operating in the host mode, the operator on the terminal mode system can wake up the host system by striking carriage return. NOTE: in this case both systems must be set to the same baud rate ahead of time. The host system will use the default baud rate from the configuration file. The terminal mode GT must use the same rate, if not the default, then set the required baud rate with the Alt-S command. - 27 - Alt-Command Descriptions ------------------------ Alt-A ASCII transmission of a file using the XON/XOFF protocol, where the DC1 character is used for XON and the DC3 character is used for XOFF. If the Pacing Character is set, then line-by-line pacing is also done, i.e. the program will wait for the pacing character to echo from the host at the end of each line, thereby insuring that an overrun error will not occur. The default is not to use line-by-line pacing. Also associated with the ASCII file transmit is the End-of-Line Mode, it determines what characters are sent to the host at the end of each line. The normal End-of-Line Mode for IBM compatible hosts is CRLF, i.e. a carriage return and a linefeed, however some hosts, for example UNIX, require just LF, and others may require only a CR. These are the three options for End-of-line Mode. Also, the user may specify an inter-character delay, in milliseconds, the default delay is set to 0. The Pacing Character, the End- of-Line Mode and the inter-character delay, are options in the configuration file. Use the Alt-I command to alter the configuration. The ASCII inter-character delay adds the indicated number of milliseconds delay between each character transmitted. When uploading messages to IBM style BBS systems, blank lines will cause a problem, since they will cause the host system to terminate message input mode. This can be overcome by setting the Pad Blank Line parameter to TRUE. All of these parameters are located under the ASCII Xmit & Macro parameters of the Alt-I screen. +---------------------------------------------------------------+ | NOTE | | | | For uploading messages to most IBM style BBS's, | | you should use an End-of-Line mode of CR. | | | +---------------------------------------------------------------+ Alt-B Send BREAK signal to host computer. The serial port is forced into the spacing state. This is useful when connected to some minicomputers that require the signal to wake-up and allow you to logon. It is not used with most BBS systems. The length of the BREAK signal, in milliseconds, is configurable via the Miscellaneous Options of selection of the Alt-I screen. Alt-C Turn capture mode ON, if it is OFF, or OFF if it is ON. When this mode is turned OFF, either through the Alt-C command or with the Alt-X command, the user will be prompted for a file name wherein to save the contents of the capture buffer. During capture mode operations, a number will appear in the lower left corner of the screen, this is the number of characters, in 1000's, in the capture buffer. Capture mode is useful for recording complete sessions for review later, so you don't read so much on those long - 28 - distance phone calls. When the in-memory capture buffer is full, the program will dump to a spill file on disk, the file name used will be $$SPILL. The operation of the spill file is automatic, but if the program is interrupted for some reason, the file may remain catalogued. Therefore, the user should remove this file when required. It will be placed in the directory with the overlay files. The size of the in-memory capture buffer is configurable, in 1,000's of characters, via the Alt-I screen. If you press Alt-C, accidentally while capture mode is in progress, you may continue capturing data by pressing the Esc key. Capture Header -------------- Text that is saved after a capture session will have a header appended to it. This header will name the last host system called (if any) and the date and time the capture was done. This will help you later, especially if you 'append' multiple captures to one large file. The headers will act as separators between various sessions. Alt-D Modem dialing and phone directory management. The phone directory may have up to 999 entries, if there is enough disk space. The directory screen will automatically disappear whenever a CONNECT type result is detected from the modem. Multiple phone directories are supported, to get more than 1 phone directory use the (E)xch command while the phone directory is being displayed, this will allow you to switch between directories. Among other things, the phone directory support 2 very important items: a) personalized passwords, and b) default transfer protocol. Using the personalized passwords, one can store a different password for each host system listed and then access it automatically via a macro key when logging into each system. A macro key should be programmed with %P to enable it to send the proper password for each system. (Please refer to the description of the Alt-M below for a discussion of macro key setup.) If you select a default transfer protocol for each entry in the phone directory, then you will be able to eliminate several of the keystrokes required to start a file transfer, as GT will anticipate the selection of the protocol type. Version 17.00 introduced a new field in the phone directory, the "Dial Prefix Override". It is very useful with the more complicated modems. Which sometimes require different settings when calling different destinations. Normally ATDT, or whatever you are using as the Modem Dial Prefix, is adequate. But sometimes a special prefix is required (for example, to use a different Xn value). Like this: - 29 - ATX5DT Which would enable X5 for the system which had this listed as a "Dial Prefix Override". Please note, that it may be necessary to specify this field for all phone directory entries (so that the X5 can be reset), once the override has started being used. That is, some modems may not automatically reset to default values upon disconnect. Alt-E Turn Half Duplex ON if it is OFF, or OFF if it is on. Half duplex is used when the host does not echo what you type. A Half Duplex indicator will show on the bottom line of the screen, HDX, when in this mode. Also, the duplex mode can be set automatically by entering that information into the Dialing Directory. Alt-F Fix time. That is, mark the current time, so that you can measure time used, with the Alt-U command. Alt-G Redial the last number dialed. This command will loop continuously until a CONNECT is signaled by the modem or the user presses to quit. The user may press (N)ext to force the program to perform a quick redial. The Alt-I configuration contains an option to enable automatic redial. Alt-H Produces the HELP screen for the user. Alt-I When Alt-I is pressed, the main configuration screen is displayed for the user. The cursor controls can be used to change which entry is highlighted. The carriage return or spacebar can be used to select an item to edit. Items that have only a few possible settings are toggled through the list of settings by pressing the carriage return or spacebar. For example, many items have only TRUE or FALSE settings, once such an item is highlighted, the setting can be changed by pressing the carriage return or spacebar. Alt-J Display version and serial number of GT POWER in use and the amount of free memory left for GT POWER to use. Alt-K Kill a file. Delete a file from the disk. Alt-L Display disk directory, under a user supplied mask. For example, to see all files with a PAS extension on the logged drive and current directory, the user would enter the mask "*.PAS", when prompted. Or see just the files with an extension of .C by entering the mask "*.c" when prompted. By default, the program will show all files, if no mask is entered by the user. Alt-M Macro key management. Allows the user to define the contents of the function keys F1 through F10 (plus F11 and F12 on enhanced keyboards), and all combinations of the function keys and Shift, Ctrl or Alt. This gives the user - 30 - 40 different macro keys. The password, from the phone directory, may be stored in a macro key by putting the characters %P into one of the keys, then whenever that key is struck the password for the currently connected BBS will be transmitted. For example, I put my name into F1, the letter Y into F2 and my password into F3. Like this: F1 = Paul|~Meiners| F2 = Y| F3 = %P| Note: These 3 items could just as easily have been placed into 1 macro key, like this: F1 = Paul|~Meiners|~Y|~%P| The '|' character is entered into a macro key when you want GT POWER to send a carriage return, a '~' is used when you want a 1 second delay, and a ';' is used when you wish to include a comment in the macro key. The ';' character is configurable, in case you need to include it in the macro key. Use the Alt-I command to setup GT POWER for your requirements. With enhanced keyboards, i.e. those having 12 Fn keys, GT POWER can support up to 48 different macro keys! Each entry in the phone directory can have a different password associated with it, so you can customize your passwords for each BBS you call. Makes things a lot more secure and easier to manage. Control characters can also be placed into a macro key. Normally, you can use the Alt key and the numeric keypad, if you know the ASCII code for the character, however there are some control codes that cannot be placed directly into a macro key, such as Ctrl-Z. To put a Ctrl-Z, or any other control character into a macro, you enter a % character followed by the decimal value of its ASCII code. For example the Ctrl-Z would be %26. The value following the % may not exceed 255 -the maximum value of any one character. The transmission rate of characters from the macro keys is configurable. The "Macro character delay" under Alt-I, ASCII Xmit & Macro parameters, is used to pace the transmission of these keystrokes. Keyboard Macros --------------- Beginning with 14.00, the macro keys can be used as full fledged 'keyboard macros'. This means that beyond storing logons and other simple phases, they can now be used to ease the operation of the program itself! Any command that you can give GT POWER from the keyboard can be stored in one of - 31 - these keys. Plus there are some commands that can only be executed via a macro key. Here are some rules for constructing keyboard macros: The '{' and '}' characters are used to denote a special key sequence to the macro processor. For example: {HOME} would denote a strike of the 'Home' key. Also, 'Alt' keystrokes can be issued in the same fashion, for example {@-} would indicate the 'Alt -' keystroke. The sequence {?} is used to solicit input from the user. For example, {@L}*.doc| would cause the Alt-L command to list all DOC files in the current directory, or {@L}{?}| would list the files specified by the user. There are some commands that can only be accessed via a macro key (we ran out of other command keys!). Here is the list: {@=} Execute a DOS command. Nifty way to execute any DOS program or command (such as a text editor) with one keystroke. For example: {@=}qed| This would execute the 'qed' program and return to GT when finished. In effect, the 'qed' program would be invoked with a single keystroke, a Hot Key! {@=}{?}| This would execute any program that the user named when prompted for input. {@>} Start the recording of all keystrokes for later playback. For example: {@>}foo.mac| When executed, this macro would cause all following keystrokes to be recorded in the 'foo.mac' file. {@.} Stop the recording of keystrokes. Once recording has been started, this command will stop the recording and close the macro file named when recording started. {@<} Start the playback of the keystrokes previous recorded in a macro file. For example: {@<}{?}| This would execute any macro file that the user - 32 - named when prompted for input. {@;} This command toggles the update of the status line. The command is useful for people who are using "text to voice" equipment, if the status line is continually updated the voice output can be quite a nuisance. Extended keys can also be represented via keyboard macros. We have already seen how the Alt keys can be represented, Alt-A is {@A} for example, but other extended keys can be issued also. Here is a list of the available symbols for use: {UP} Up Arrow key. {^UP} Ctrl-Up Arrow key. {DOWN} Down Arrow key. {^DOWN} Ctrl-Down Arrow key. {LEFT} Left Arrow key. {RIGHT} Right Arrow key. {HOME} Home key. {^HOME} Ctrl-Home key. {END} End key. {^END} Ctrl-End key combination. {PGUP} PgUp key. {PGDN} PgDn key. {INS} Ins key. {DEL} Del key. {BS} Backspace key. {ESC} Esc key. {TAB} Tab key. {BTAB} Backward Tab key. (Shift Tab). {^PRT} Ctrl-Prt key combination. {NUL} The 'nul' character. Binary zero. The Fn keys themselves can be indicated within a macro. For example {F1} would be a press of the F1 key. {^F1} would be a press of the Ctrl-F1 key. {@F1} would a press of the Alt- F1 key. And {$F1} would be a Shift-F1 key press. Including an Fn key press in a macro key acts as a GOTO for the macro execution, no nesting of macros is done. In addition to the old subtitutions that can be made in a macro key, such as the %P for the password, the user may now use the following: %C COM port number. %B Baud rate. %P Current BBS password. %N1 Comment #1. %N2 Comment #2. It is very handy to be able use the comments from the phone directory in this manner, especially when calling systems that require more - 33 - than 1 password. The extra passwords can be stored in the phone directory comment fields and sent automatically from a macro key. %R Substitutes to 'ctty' when executed remotely, or 'rem' when done local. | Carriage return. ~ Delay for a second. %nn Represent any ASCII keystroke by its decimal value. Alt-N Allows the user to change to a new logged drive and/or new working directory. Alt-O Sort the dialing directory into ascending sequence by name, number, date, times on, elapsed time or baud rate. Performs an IN MEMORY sort, so there must be enough memory to hold all the phone directory entries. Alt-P Print a file. Configuration options, under Alt-I, are available to enable pagination of the printed output and the number of lines per page. Alt-Q Hang-up the phone line, put the modem "ON HOOK". If there is a "Hang-up String" defined in the configuration file, it is sent to the modem, otherwise the DTR signal to the modem is dropped for a second and then the modem initialization string is sent to the modem. If you have trouble getting your modem to hang-up, the best advice is to erase the Hang- up String from the GT POWER configuration and configure the modem to go on-hook when the DTR signal goes into transition. With newer Hayes compatible modems the following commands should be added to the modem init strings: &C1&D2. Older modems have DIP switches that need to be moved to achieve the same result. Alt-R To receive a file using either the default protocol listed in the phone directory or one chosen from a menu. Communications parameters are automatically changed to/from 8 bit no parity, and the 8th bit stripping is disabled for the duration of the transfer. CRC is used automatically, if the remote system supports it. When using a batch protocol, the names of the files will be supplied by the host. If the carrier signal from the host is lost during file transfer, the alarm will sound and the "Carrier Loss" window will open. The alarm will continue to sound until the user strikes a key. Note: If VT-100 and/or VT-52 emulation mode is not being used, the key may be used instead of . Note: For proper operation of external transfer protocols, the related EXE and BAT files must be available in one of the directories in the DOS PATH. - 34 - Alt-S Switch communication parameters. The program starts with the default values. Here is a list of all the baud rates supported by GT POWER: Supported Baud Rates -------------------- 300 600 1200 2400 4800 7200 9600 12000 14400 16800 19200 38400 57600 115200 Some computers and UARTs may not be capable of the higher baud rates. For example, the PCjr does not operate at speeds above 4800 baud. Alt-T To transmit a file using either the default protocol listed in the phone directory or one chosen from a menu. Communications parameters are automatically changed to/from 8 bit no parity, and the 8th bit stripping is disabled for the duration of the transfer. CRC is used, if the remote system requests it. When using a batch protocol, it is possible to transfer many files at one time (limited only by available memory to store the filenames). If the user wishes to perform a batch transfer, he must specify the names of the files to transfer using the DOS wildcard notation; for example, to transfer all files with the .PAS extension, when asked for the filename, respond with "*.PAS". A drive and path may optionally be specified with the filename. The files found matching the criterion will be transmitted. If the carrier signal from the host is lost during file transfer, the alarm will sound and the "Carrier Loss" window will open. The alarm will continue to sound until the user strikes a key. The Pick List ------------- When the transmit command is invoked, the user will have the opportunity to select a 'pick list'. When prompted for a filename, the user may type a file select mask, for example *.arc and press the key instead of instead of the carriage return. This will produce a sorted 'pick list' from which the user can select the files to be transmitted. The arrow and other direction keys can be used to navigate - 35 - the list, the carriage return or spacebar will mark entries, and the key will start the transmission. Of course, all of this assumes that you are using one of the batch protocols, like MegaLink. The marked entries will be transmitted, if no entries are marked, then GT POWER will not perform a transmission. The 'pick list' functions only with the protocols built into GT POWER. Note: If VT-100 and/or VT-52 emulation mode is not being used, the key may be used instead of . Note: For proper operation of external transfer protocols, the related EXE and BAT files must be available in one of the directories in the DOS PATH. Alt-U Used time. Report the time used since the last ALT-F command and the last dial of the phone or the start of the program, whichever occurred last. Total elapsed time in hours minutes and seconds, is reported. Alt-V View the contents of a file, uses the same style as MORE, the DOS utility. Use the key to stop the command. Alt-W Clear the screen. Alt-X Terminate and return to DOS. If a script is active, this command will not be effective until all scripts are finished. If the script is currently at an ONLINE command, then Alt-X will cause termination of the ONLINE command and return control to the script. To exit the script you should press the key after the ONLINE command has been terminated. Alt-Y Copy a file. This procedure will copy any unprotected file. Filenames must be fully specified. No wildcards are allowed, the current drive and directory need not be specified. Alt-Z Toggle monitor mode on/off. In monitor mode, all codes are shown so that the user may see exactly what is being sent by the host computer. Control codes are shown with the ^ symbol preceding, i.e. ^[ is the ESC code, ^X is the CAN code, etc. You should refer to an ASCII code chart for a complete list. Alt-1 DOS Shell port. GT POWER stays in the background, while you exit to DOS. When you want to return to GT POWER, just issue the "EXIT" command to DOS and you will return to GT POWER. Alt-2 Dump screen to the file "$$SCREEN". If the file already exists, then the screen is appended to the file, otherwise the file is created and the screen written to it. - 36 - Alt-3 Execute a script. Scripts may also be executed by placing the name of the script file on the command line that starts GT POWER, for example: "C:\GT>GT1800 filename", would begin GT POWER and cause the script stored in 'filename' to begin automatically. Please refer to the description of the script language at the end of this document. To execute a script via a macro key, place the following string of characters into a macro key. {@3}foo.scr| Where 'foo.scr' represents the name of any valid script. Using this technique, it is possible to have easy access to many of your script files. Alt-4 Suspends capture mode, if it is active. While suspended you may hit Alt-4 again to resume capturing or Alt-C to terminate capture mode. Useful when you wish to append to the capture buffer from selected sources. Alt-5 This option is used to force GT POWER to use "checksum" as the default Xmodem protocol. This avoids the pitfalls of using CRC protocols with non-standard systems. Very useful for transferring files with older systems or non-IBM systems. Alt-6 Begins execution of the "Circular Dialing" queue. All "marked" entries in the phone directory will be dialed in- turn, until a connection is made or the user stops the execution by pressing . Individual entries may be canceled by pressing , while the entry is being processed on the screen. The user may immediately proceed to the next entry in the queue by pressing the . The user can repeat the dialing of the current number, if found busy, by pressing the . Use the command on the Phone Directory screen to "mark" entries for the circular dialing queue, see explanation of the Phone Directory commands below. Individual entries in the phone directory can be marked, by highlighting them and then pressing the spacebar. Alt-7 This key acts as a toggle to begin/end split screen mode. During split screen operation whatever the user types will appear at the bottom of the screen and will be buffered until a carriage return is struck. Alt-8 Review the in-memory portion of the capture buffer. The , , and keys may be used to move around in the buffer. and move through the buffer a page at a time, the and keys move you to the start or end of the buffer. Use the key to quit viewing the buffer. The (L)ocate command is activated by pressing the key. It may be used to locate text in the capture buffer below the current location. If a find is - 37 - made, the text will be moved to the top of the screen. The and keys may be used to scroll one line at a time. Alt-9 Toggle the beeps on/off. Go into quiet mode or back to normal mode. Does not change the playing of music or the window whistle (which are both controlled via configuration options under Alt-I), just the bell. To control the window whistle and music playing refer to the miscellaneous section under the Alt-I command. Alt-0 Make a manual entry in the Log file. Log file must be open before you can make entries. Open the Log file by setting the Log file flag = TRUE on the configuration screen. Use the Alt-I command. Alt - The program will enter host mode and answer incoming calls. To completely setup the host mode, the user should consult the host docs, in a file called GT18HOST.DOC. ^PrtSc Toggle the printer ON/OFF. Press the key. Use on the PCjr. ^Down The key is used to toggle the Transparent Mode. In Transparent Mode, all of the ALT and Fn keys transmit their extended keycodes to the host computer, instead of being executed as command keys for GT POWER. During Transparent Mode operations only the key will be recognized by GT POWER. Also during Transparent Mode, the screen will automatically be placed into full screen, 25 line mode. Transparent mode is extremely useful when trying to run programs remotely with such programs as DoorWay are in use by the host computer. ^Up The key is used to view the scrollback buffer. The key is used to return to normal screen usage. ^Home The key is used to toggle full screen 25 line mode. Unlike the Transparent Mode, all ALT and Fn keys continue to act like GT POWER command keys. This mode is very handy when reading messages on a BBS and you need a little extra room on the screen. - 38 - Phone Directory Commands ------------------------ A = Add an entry to the dialing directory. C = Change an entry in the dialing directory. Whenever an entry is added or changed in the phone directory, the user will be asked to enter a password which can be used by placing a %P into a macro key. K = Kill an entry in the dialing directory, sorting of the directory is recommended after this option or the Add option. L = Locate a BBS by name. You may specify partial names and the search is not sensitive to capital letters. The search begins with the current directory screen and proceeds to the end of the directory. N = Find the next occurrence of the last BBS requested in the command, above. The search begins where the previous search left off and finds the next match, if any. M = Dial a number not in the directory. The user is prompted for new communications parameters. Entry number = Dial one of the entries in the directory. GT POWER will automatically change the communications parameters. To indicate that the phone number needs to be prefixed or suffixed, put one of the prefix characters before or after the number. The 6 prefix characters are: - + * ! ? and &. The actual prefix and suffixes must be setup via the Alt-I command. Usage: -74 would cause the 74th number in the directory to be dialed with the prefix associated with the -. +81! would cause the 81st number in the directory to be dialed with the prefix associated with the + and the suffix associated with the !. On occassion it may be necessary to actually use one of the prefix characters as a part of the phone number. For example, '*70,' is often used to disable the Call Waiting feature. The correct procedure is to put the '*70,' in a prefix character, put that prefix character before the phone number in the phone directory and then let GT POWER insert it before dialing. If this is not done, GT POWER will remove the '*' character (confusing it with a prefix character) and replace it with whatever is contained in the '*' prefix (perhaps that prefix is empty, so GT POWER would simply remove the '*'). G = Mark a BBS for entry into the "circular" dialing queue. If already marked, the mark will be removed. So, this command - 39 - acts as a toggle between the marked and unmarked state. When using this command, if the user responds with "CLEAR", when asked for the BBS number, all marks will be cleared. The user may enter a list of BBS's to be marked or cleared by separating each number from the next with either a space or comma. For example: "22,30,40" could be entered when responding to the request for BBS No's. The user may also respond with the word "ALL", in which case all entries will be marked. And the lastly the user may enter a range of numbers. For example: 22 30-40 55 would mark 22, the range 30 to 40, & 55. E = Exchange the current directory with another one. For example, one could have two directories, 1 for local BBS's and 1 for long distance calls. Don't give any path information, when entering the filename this option calls for - ALL phone directories are located using the "Directory PATH" from the configuration file. Use the Alt-I command to set this path as required. T = Toggle the display, between the call count and accumulated time display, and the display of the date and time of the last call. There are 4 different displays possible to view with the "T" command. NOTE: The and keys serve the same function as the "T" command. Esc = Quit, returns to the online screen. PgDn = Display the next page of the directory. PgUp = Display the previous page of the directory. Home = Go to the first page of the directory. End = Go to the last page of the directory. Up-Arrow = Move highlight to entry above the current highlighted entry. Dn-Arrow = Move highlight to entry below the current highlighted entry. Return = Dial the entry currently highlighted. Spacebar = Marks the entry that is currently highlighted for use by the circular dialing routine. Similar in function to the 'G' command above, but only marks one entry at a time. - 40 - Also, one may execute several of the Alt commands directly while the Phone Directory is still on the screen. For example, you may go directly to the Circular Dialer by pressing Alt-6. Ordinarily, the only Alt commands that are not available while in the Phone Directory are those that would be executed while on-line, for example the Alt-T command would make no sense while still in the Phone Directory. The phone directory was expanded in GT POWER 11.00 to include two new fields: the logon script and the default file transfer protocol. If the logon script is filled, then the indicated script will be executed whenever a connection is made with the associated BBS. The default file transfer protocol, if specified, will be automatically used whenever doing a file transfer with the associated BBS. The phone directory was again expanded in GT POWER 15.00. This time to include three new options: duplex (full or half), emulation mode and 8th bit stripping. These fields may be in one of three states: TRUE, FALSE or empty. If they are empty, then GT POWER will leave the default settings in effect. The emulation mode may also contain 'VT52' to indicate that VT-52 emulation is to be performed. The phone directory was expanded again in GT POWER 15.50. This time to include the Dial Script and the PCP City. If the Dial Script is filled with the name of a script, when GT POWER is instructed to dial the entry control will be passed to that script, instead of having GT POWER dial the number itself. This is very useful in situations where the dialing procedure is extremely complicated, and the built-in dialing procedures are inadequate -- for example, when trying to dial through a 3rd party long distance carrier, such as PC Pursuit. Also, the modem handling is different when dialing through PC Pursuit, and GT POWER uses the PCP City field to signal the need for different modem handling (i.e. the continual presence of the DCD signal). In 17.00 the phone directory was once again expanded to include the "Dial Prefix Override". This field is extremely useful with the more complex high speed modems, when you need to override the standard ATDT prefix on a board by board basis. For example, you may need so set a special Xn value for a particular board, in which case you should set the Dial Prefix Override to 'ATX5DT'. A Dial Script must end in a special manner, via the SET ONLINE script command. The script must use this command to return control to GT POWER and to inform GT POWER whether or not a connection with the destination has been successfully accomplished. For example: SET ONLINE true Would terminate the Dial Script and inform GT POWER that a successfull connection has been established. On the other hand: SET ONLINE false Would terminate the Dial Script and inform GT POWER that a connection could not be successfully established. - 41 - Dial Scripts have several variables passed in from the phone directory to enable their operation: %NUM This is a string variable in which GT POWER will place the ready to be dialed phone number. For example it might contain "ATDT123-4567". Besides being set by GT POWER for Dial Scripts, this variable is also set by the script command FETCH. %CITY This is a string variable within which GT POWER will place the contents of the PCP City field in the phone directory. As with the %NUM variable, this variable is also set by the script command FETCH. %BUSY Within a Dial Script the DIALER command should be used to dial the entry automatically from the phone directory. If the DIALER command fails to connect, i.e. if %FAIL is TRUE, then it is possible for the script to examine the boolean variable %BUSY, to see if the failure was due to a busy condition. If the busy result was found, then the script can choose to redial after a small interval via the DIALER command. %NAME This is a string variable within which GT POWER will place the name of the entry selected from the phone directory. The following is an extremely simple example of a Dial Script: writeln "Attempting to dial '" %NAME "' !!!" dialer case %FAIL TRUE goto BUSY esac writeln "Success!" twait 1000 set online true :BUSY case %BUSY TRUE writeln "The line was busy..." twait 1000 set online false esac writeln "Failed to make connection... don't know why!" twait 1000 set online false Remember, Dial Scripts must always terminate with a SET ONLINE statement, which serves two functions: (1) to return control to GT POWER, and (2) to let GT POWER know the result of the dialing efforts. - 42 - Scripts may be linked to entries in the phone directory that don't have phone numbers. When such an entry is selected, the associated logon script is executed. This acts as a menu for scripts! Editing Keys ------------ When editing Phone Directory entries, Macro Key definitions, configuration setup entries and all other text type entries, the program responds to the following editing keys as indicated: Backspace .... Delete character to the left of cursor. Del .......... Delete character under the cursor. End .......... Move the cursor to the end of the field. Ctrl-End ..... Erase from the current cursor position to the end of the field. Home ......... Move the cursor to the start of the field. Ctrl-Home .... Erase the current field entirely, no matter what the current cursor position is within the field. Ins .......... Toggle between insert and overwrite mode. When in insert mode the cursor becomes fat. Left Arrow ... Move the cursor to the left 1 position. Right Arrow .. Move the cursor to the right 1 position. Return ....... Finish the current field and move to the next. Esc .......... Terminate edit. Saves the changes made thus far. - 43 - Host Mode --------- The setup for host mode is complicated enough that a separate document file has been written describing this procedure. Rest assured, that once the proper setup has been achieved, GT POWER operates with ease, both in and out of host mode. Refer to the file GT17HOST.DOC for a complete description of the host mode and to NETMAIL.DOC for a description of the GT POWER netmail system (please look in the ADDENDUM.NET file for many of the new features of the netmail system). - 44 - Scripts ------- The script language allows the user to automate most of the features of GT POWER. Following is a description of the script syntax. Several preliminary comments about scripts: (a) a script can be canceled by hitting , (b) the CYCLE command can be stopped by pressing , (c) the strings and other literal information in the syntax should be enclosed within "..." if they contain white- space, blanks, tabs or commas, otherwise they need not be so enclosed. All fields and operators must be separated on the line by the use of white-space. Scripts are interactive, so that the user can modify them on-the-fly. In order to do this, 30 variables have been setup, they are called V0 through V29. They are referenced in either assignment statements, READLN or GETLN statements. In order to use them, a technique called "variable substitution" is used. Instead of the letter V, the variable number is prefixed with a %, thus V0 through V29, become %0 through %29. Variable substitution may not be done within "...", since the contents of a variable is considered to be a field, i.e. you cannot build a field from several concatenated variable substitutions. For example: %1%2 would be invalid. It is not possible to do variable substitution within "...", for example: "%2" is not valid. If you use a variable that has not been initialized, it will be a null string. The data in variables is stored as strings of characters, up to 78 characters long. I used the word "field" in the paragraph above, by it I mean that part of a script command that is either enclosed by "..." or contains no white space. Script commands are sequences of fields separated by white space. For example: SET 1200,N,8,1 contains 5 fields. In addition to the 30 user variables provided, there are also built-in system variables that provide information about the status of the system. They are as follows: %BAUD The current baud rate. %COM The current COM port number. %DCD The current DCD, Data Carrier Detect, status. TRUE if present, FALSE otherwise. %FAIL This variable is set after a SPAWN, WAIT, DIALER, FETCH or file transfer command to indicate success or failure. TRUE if failure detected, FALSE if all is well. - 45 - %MARKED This variable is set by the execution of the FETCH command. It is TRUE if the selected entry was marked for the Circular Dial routines. %NAME This variable is set after connecting with a BBS via the DDIAL command (or a manual directory dial) to the name of the BBS. %TIME The current time. %DATE The current date. %NUM In Dial Scripts and after a FETCH command, this variable will hold the ready to dial phone number. For example: "ATDT123-4567". %DELETED This variable is set by the FETCH command to reflect the status of the last entry FETCHed from the phone directory. %CITY In Dial Scripts and after a FETCH command, this variable will hold the PCP City field from the selected entry in the phone directory. You will notice the words TRUE and FALSE in some of the variable explanations above, these are boolean constants that are used to test the %DCD, %BUSY, %MARKED, %DELETED, and %FAIL state with the CASE statement. Line Labels ----------- A script may have line labels. These labels are used with the GOTO command to alter the flow of execution of the script. A line label must be coded with a ':' character in the first position, followed by a name of up to 20 characters. For example: :LOOP . . other script commands go here . GOTO LOOP To exit such a loop, the script writer must use the CASE statement and test for the proper exit condition. Then a transfer of control out of the loop can be executed. Script Command Summary ---------------------- ; ............ A line that begins with a semi-colon is a comment. ADD .......... Adds two integers. ALARM ........ Causes an alarm-like sound, until a key is pressed. ASCII XMIT ... Transmit a file using ASCII transmit protocol. AUTOBAUD ..... Send a whacking carriage return to the host. AWAIT ........ Wait for a specified time. - 46 - BATCH-YMDM ... File transfer via the Ymodem Batch protocol. BEEP ......... Make a short beep on the system speaker. BREAK ........ Send a "Space Break" to the host. CALL ......... Invoke another script, like subroutines, and return. CAPTURE ...... Toggle capture mode ON/OFF. CASE ......... Test the value of a variable. Or existence of a file. CD ........... Change disk directories. CHAIN ........ Invoke another script, like subroutines, but NO return. CLEAR ........ Clear the screen. CONCAT ....... Concatenate several strings into a single result. COPY ......... Copy part of one string to another. CURSOR ....... Control whether the screen cursor is visible or not. CYCLE ........ Repeat execution of the current script. DDIAL ........ Dial a host from the phone directory. DELAY ........ Add a delay to each command when ECHO is on. DIAL ......... Dial the specified phone number. DIALER ....... To dial the selected entry in a Dial Script. DIV .......... Divides two integers. drive change . Change the default disk drive. DUPLEX ....... Toggle duplex between FULL/HALF. ECHO ......... Echo script commands to the screen. EMULATE ...... Set ANSI terminal emulation. END .......... Groups commands with a DDIAL or DIAL command. ESAC ......... Terminates a CASE command. EXCH ......... Change phone directories or keyboard macro files. EXIT ......... Used to exit the program. FETCH ........ Fetch a specific entry from the phone directory. FLUSH ........ Throw away the contents of the serial buffers. FUNCTION ..... Send a macro key. GETLN ........ Read a line from serial port and store in a variable. GOTO ......... Go To a line label in the script. GOTOXY ....... Position cursor to the x,y screen coordinates. HANG-UP ...... Hang up the modem. HOST ......... Enter host mode. LEN .......... Return the length of a string. LOG .......... Make an entry in the log file. LOWER ........ Convert a string to lowercase. MEGALINK ..... File transfer via the MegaLink protocol. MKWIN ........ Make a video window with a label. MUL .......... Multiplies two integers. NAME ......... Used with DIAL command to name the host. ONLINE ....... Allows user to temporarily leave the script. PAD .......... Pads string, either right or left justified. POS .......... Find occurance of one string within another. PRINT ........ Toggles the printer ON/OFF. PROPER ....... Convert text to first character per word in caps. protocol ..... You may use any external protocol in the Alt-I config. QUIET ........ Toggles the beeper ON/OFF. QUIT ......... Exit from script, but remain in GT. QWK .......... Process QWK Mail packets. READLN ....... Reads input from keyboard into a variable. RECV ......... Receive a file via Xmodem protocol. RIGHT ........ Copy the rightmost 'n' chars from string to string. RMWIN ........ Remove a video window. - 47 - SCREEN ....... Toggle screen output ON/OFF while WAIT is active. SEALINK ...... File transfer via the SEAlink protocol. SEND ......... Send a string to the host. SENDLN ....... Send a string to the host, followed by carriage return. SET .......... Used with DIAL command to manually set comm parameters. SET ONLINE ... Used in Dial Scripts to return control to GT. SETCOLOR ..... Set screen colors, both foreground and background. SHELL ........ Execute a program or DOS command. SINGLE STEP .. Single step execution of scripts. For debugging. SPAWN ........ Invokes external program, without extra COMMAND.COM. SPLIT ........ Set split screen mode. STATUS ....... Write to the status line (at bottom of GT's screen). STR .......... Convert an integer to a string. SUB .......... Subtracts two integers. SUPERMEGALINK File transfer via the Super MegaLink protocol. SWAP ......... Swap the positions of the BackSpace and Del keys. TELINK ....... File transfer via the Telink protocol. 1KTELINK ..... File transfer via the 1k Telink protocol. TRIM ......... Remove leading and trailing blanks from string. TWAIT ........ Timed wait in milliseconds, max wait is 32 seconds. TDIFF ........ Calculates the difference between two times. UPPER ........ Convert a string to uppercase. VAL .......... Convert a string to an integer. Vn = ......... Assign a value to a variable. WAIT ......... Wait for some string to be received from host. WHEN ......... Trap a string sent from host, during a WAIT & respond. WRITE ........ Write a string to the screen. WRITELN ...... Write a string to the screen, followed by a CR. XMIT ......... Transmit a file via Xmodem protocols. YMODEM ....... File transfer via the Ymodem protocol. YMODEM-G ..... File transfer via the Ymodem-G protocol. - 48 - Script Command Descriptions --------------------------- Command Description and Example ------- ----------------------- 1KTELINK Transfer a batch of files using the 1k Telink protocol. Works the same as TELINK, described below, but uses the 1k packet size for increased efficiency. ADD Adds two integers and stores the result in the requested variable. Example: V6 ADD 3 7 WRITELN %6 This would print 000010 on the screen. The integer that is the sum of 3 and 7. ALARM Causes a continuous ringing sound to be made until a key stroke is made by the operator. Examples: ALARM Alarm is continuous until a key is pressed. ALARM 5 Alarm continues for the indicated number of seconds, 5 in this example, or until a key is pressed. ASCII XMIT Transmit a file using the ASCII protocol. Refer to the Alt-A command above under the explanation of command keys. The same routine that executes the Alt-A command key performs the ASCII XMIT. Example: ASCII XMIT filename The filename given is transmitted. No wildcards may be used. Only 1 file at a time may be transmitted. AUTOBAUD Used after the DIAL or DDIAL command to set the hosts baud rate to the caller's. The AUTOBAUD command can use the carriage return or the blank to set the rate. Usually, the carriage return is used and it is the default, however some systems require the blank. Examples: - 49 - AUTOBAUD For carriage return use. AUTOBAUD BLANK For blank use. If the host doesn't wake up and start transmitting, GT POWER will timeout after a few seconds and issue an error message. AWAIT Used to delay execution of the script until the designated time. GT POWER uses 24:00:00 convention for midnight. The hour field does not roll over until 1 A.M. Therefore there is no zero hour, it jumps from 24 to 1. For example: 24:30:00 would be 12:30 in the morning. Examples: AWAIT hh:mm:ss AWAIT 9:45:00 The time is formatted hours, minutes and seconds, all fields must be entered. Note: midnight is 24:00:00, the hour does not role over until 1 AM. BATCH-YMDM Transfer a batch of files via the Ymodem Batch protocol. Examples: BATCH-YMDM RECV * The filenames are supplied by the host. BATCH-YMDM XMIT filename The filename listed is transmitted. Wildcard characters may be used to send a batch of files. BEEP Causes the speaker to emit a beep. Example: BEEP BREAK Used to send a Space Break to the host. Some hosts will use this to wake-up and logon the user, mostly UNIX systems and other mini-computers. Example: BREAK CALL Causes a branch in the flow of execution to the scriptname specified and automatic return to the calling script when finished. Upon return to the calling script, execution is - 50 - started at the next statement following the CALL statement. Example: CALL scriptname CAPTURE Used to turn-on Capture Mode from within a script. There are two forms: "CAPTURE" and "CAPTURE filename". The first form is used to begin capturing data, the second form terminates Capture Mode and names the file to receive the captured data. Example: CAPTURE { Begin capturing here } . . . CAPTURE filename { Finish capturing here } Because toggles, like the CAPTURE command, are sometimes confusing, the CAPTURE command supports positive state variations of these commands: Example: CAPTURE ON If capture mode is off, turn it on. Otherwise, do nothing. CAPTURE OFF filename If capture mode is on, turn if off, and store the results in 'filename'. Otherwise, do nothing. CASE & ESAC Those of you familiar with UNIX should recognize the use of ESAC, 'case' spelled backward. For the others, ESAC is used to mark the end of the CASE statement. The CASE statement is used to test for the truth or falsity of some condition, for example it could be used to implement a menu. The syntax is: CASE target_value OF op1 test_value1 statement-1 statement-2 . . . op2 test_value2 statement-1a statement-2a . - 51 - . . ESAC Where there may be any number of "op" tests and any number of statements between "op" tests. The CASE statement will perform the following tests until it reaches the 1st one that is TRUE, (target_value op test_value), when a TRUE test is found, then the statements associated with that test are executed. Only one set of statements is selected, as soon as they have been completed the remainder are skipped, until the ESAC is encountered. Execution continues after the ESAC. If no test evaluates to TRUE, then all are skipped and execution begins after the ESAC. Possible "op" codes are: = Test for equality. > Test if target_value greater than test_value. < Test if target_value less than test_value. >= Test if target_value greater than or equal test_value. <= Test if target_value less than or equal test_value. ~ Test if the test_value is contained within the target_value. ? If no other test prior to this evaluated to be TRUE, then this will be TRUE. Usually placed just before the ESAC. There is no need for a test_value with this "op" code. This is a default operator and is equivalent to the ELSE in Pascal's CASE statement. EXIST and !EXIST ---------------- These two operators are used to test for the existence of a file. The "target_value" of the CASE statement is the name of a file and EXIST evaluates "true" if that file exists, while !EXIST evaluates "true" if that file does not exist. See example. Boolean values -------------- You can treat the "target_value" of a CASE statement as if it was a boolen value. A value of zero is considered "false" and non-zero is "true". Further, the "op" code field may contain the words TRUE or FALSE, so that a boolean test is performed. - 52 - For example: CASE %DCD OF TRUE writeln "Carrier is present" FALSE writeln "Carrier is not present" ESAC In this case, if the variable %DCD was TRUE then the first case would execute, if it was FALSE then the second would execute. For example: GETLN V2 CASE %2 OF ~ BUSY WRITELN "BUSY found in target!" ~ CONNECT WRITELN "CONNECT found in target!" ? WRITELN "Neither found in the target!" ESAC In this example, the V2 variable is read from the serial port, then tested to see whether it contains the word BUSY or the word CONNECT. The match is not exact, but the test_value must be wholly contained somewhere in the target. CLEAR WRITELN WRITELN "Communications Menu" WRITELN "-------------------" WRITELN "1. Call the PC Interconnection BBS" WRITELN "2. Call the Fido's Partner BBS" WRITELN "3. Call the Dow-Jones Retrieval Service" WRITELN "4. Call the Compuserve BBS" WRITELN "5. Exit to DOS" WRITELN WRITE "Enter your choice. " READLN V1 CASE %1 OF = 1 CHAIN PCINSCRP = 2 CHAIN FIDOSCRP = 3 CHAIN DOWJSCRP = 4 CHAIN COMPSCRP = 5 WRITELN "Goodbye!" TWAIT 3000 - 53 - EXIT ? WRITELN BEEP BEEP WRITELN "Your only choices are 1 - 5." TWAIT 10000 CYCLE ESAC In this next example, the use of EXIST will be demonstrated: V2 = "foo.bar" CASE %2 OF EXIST XMIT %2 ? WRITE "Skipping " %2 ", cannot locate file." ESAC Notice how all fields are entered with "white space" between them. This is required, as "=5" is wrong, and "= 5" is correct. CD Change directories. Example: CD directory Works like the DOS equivalent, except that it has no display function. CHAIN Causes a branch in the flow of execution of the script to the scriptname designated. No automatic return to the invoking script is made. Example: CHAIN scriptname CLEAR Used to clear the screen and place the cursor in the home position. Example: CLEAR CONCAT Used to concatenate several strings into a single variable. Example: V1 CONCAT "xyz" "qed" "45678" WRITELN %1 - 54 - This would produce the string "xyzqed45678" on the console display. COPY Copies a sub-string from the input argument and saves the result in the indicated variable. Example: V4 COPY "abcdxxxefgh" 5 3 WRITELN %4 This command extracts the string starting the 5th postion with a length of 3 characters. Therefore the information written to the screen would be the string "xxx". The script language contains no LEFT command, since the COPY can be used to do this. For example, to obtain the left most 3 characters from a string one would do the following: V4 COPY "qwerty" 1 3 CURSOR This command allows the script to control whether the screen cursor is visible or not. Examples: CURSOR off Make the cursor invisible. CURSOR on Make the cursor visible again. CYCLE When found, it causes the script processor to repeat execution of the script from the beginning. For example, when you wish to make a script to dial a list of BBS's, then repeat the script when finished it would look like this: NAME "xxxxxxxxxxxx" DIAL "123-4567" AUTOBAUD ONLINE END NAME "yyyyyyyyyyyy" DIAL "123-4567" AUTOBAUD ONLINE END . . etc., etc... . CYCLE 5 TIMES The CYCLE command in the example above would cause the - 55 - script to repeat 5 times. If the cycle count is not specified, then 10 times is the default. Note: it is not good practice to put script commands that toggle between on/off states in a cycled script, unless you cycle them back to the original state before the CYCLE command is issued. Otherwise the command will cycle on/off from execution to execution. An example of a toggle command is DUPLEX or QUIET, you should put them into initialization scripts and NOT in a script that is CYCLEed. The CYCLE command can be manually terminated from the keyboard by pressing Ctrl-K. For example: Script-a -------- QUIET Toggle beeps off. ECHO Toggle command echoing on. AWAIT 1:30:00 Wait for 1:30 am. CHAIN script-b Execute script-b. Script-b -------- NAME "xxxxxxxxxx" Name who we are calling. DIAL "123-4567" Dial the modem. . . etc., etc... . CYCLE 5 TIMES Execute script-b 5 times. drive change Change default disk drive. Works like the DOS equivalent. Example: C: DELAY This command causes a delay whenever a line of script is echoed to the screen under the control of the ECHO command. The delay is measured in milliseonds. Example: DELAY 100 Would cause a 100 millisecond delay each time a line is echoed to the screen. See the ECHO command to turn this feature on. DIAL Used to dial the modem. Examples: DIAL 897-9557 WITH 20 REDIALS DIAL 897-9549 WITH REDIAL - 56 - DDIAL "Sam's Board" WITH 10 REDIALS The phrase WITH REDIAL (or REDIALS) is optional. An optional number may proceed the word REDIALS (the 'S' on REDIALS is optional), to specify the maximum number of redials. If no maximum is specified, then GT POWER will redial until manually stopped, or a connection is made (unless the modem returns a result code such as VOICE or NO DIAL TONE). In the DDIAL form, the name, "Sam's Board", is searched for in the dialing directory and the parameters for baud rate, and phone number are set automatically. If the name cannot be found in the directory, then the script will resume execution after the next END statement, as if the host was unavailable. The name does not have to be complete, it searches for the first name in the directory that contains the desired name within it. Upper and lower case letters are treated the same. The commands, following the DIAL or DDIAL command, may be grouped together to form the commands required to access a particular host. The END command is used to mark the end of such a group. If a connection cannot be made with the host, then the commands between the DIAL and the END are skipped. If no END is found, the rest of the commands in the script are skipped. Please refer to the sample script that comes with the documentation. DIALER This command is used to dial the selected entry from within a Dial Script. See the example above in the section describing the phone directory. This command is extremely simple and easy to use. It has no parameters and no options. For example: DIALER DUPLEX Toggle between full and half duplex. The starting condition is FULL duplex. You may also specify the state you wish by using the words ON or OFF. For example: DUPLEX Toggle duplex to the opposite state. DUPLEX ON Turns half duplex on. DUPLEX OFF Turns half duplex off. ECHO Causes script commands to be displayed on the screen as they are executed. Useful for debugging new scripts. - 57 - EMULATE Starts or stops ANSI standard terminal emulation. Examples: EMULATE ON Begins VT-100 emulation. EMULATE OFF Ends all VT emulation. EMULATE VT52 Begins VT-52 emulation. END Used with DIAL to group commands for a particular host. EXCH Causes the program to exchange phone directories, keyboard macros, or GT config files. So that more than 1 phone directory, macro or config file may be used. Examples: EXCH DIRECTORY filename The filename is the name of the new phone directory. Note, there is one difference between the script command and the manual, Alt- D, method to do this: this file must exist or an error will occur. With the manual method, the file will be created, if it does not already exist. EXCH MACROS filename The filename is the name of the new keyboard macro file. If it can be located, its contents will be loaded into the function keys. EXCH CONFIG filename The filename is the name of the new config file. If it can be located, its contents will replace the current GT.CNF values inside GT. The filename on the EXCH command must not contain any path information. The program looks for all phone directories under the "Directory PATH" from the configuration file and all macro and config files in the GT home directory. Use the Alt-I command to set the "Directory PATH" and use the GTPATH environment variable to set the GT home directory. EXIT Used to exit the program from within a script. Example: EXIT - 58 - FETCH Allows a script to retrieve information from the phone directory, i.e. BBS name, PCP city, baud rate, phone number, etc. Example: FETCH 3 Where '3' means to FETCH the third entry from the phone directory. Any entry number may be specified, from 1 to the maximum number of entries, 999. If a value higher than currently available is requested, then the variable %FAIL will be set to TRUE. If a value for a deleted entry is selected, then the %DELETED variable will be set to TRUE. If a value for a entry marked for Circular Dial is selected, then the %MARKED variable will be set to TRUE. The %NUM, %NAME, %CITY and %BAUD variables are filled. Here is a simple script that shows the usage of the FETCH command: v3 = 0 :loop v3 add %3 1 v4 str %3 case %4 = 100 quit esac fetch %4 case %fail TRUE quit esac case %deleted TRUE goto loop esac writeln %4 = %name goto loop FLUSH Flushes the contents of the serial input buffer. Useful prior to an ONLINE or before dialing a new host. Example: FLUSH FUNCTION Execute one of the macro keys. Examples: FUNCTION KEY 2 This example would execute the string stored in - 59 - F2. FUNCTION KEY ALT 2 Executes the contents of Alt-F2. You can also use SHIFT and CTRL in addition to ALT. FUNCTION IMMEDIATE "xyz" The IMMEDIATE form of the FUNCTION command is used to execute a macro in a literal string which follows the word IMMEDIATE. There is a special problem with macro stored in a script file, that is the '%' character. The '%' character is special, both to the macro interpreter and to the script interpreter. In order to get the script interpreter to pass a '%' through to the macro interpreter, one must code a double, like this: '%%'. For example: FUNCTION IMMEDIATE "%%P" This would cause the macro "%P" to be executed by the macro interpreter. GETLN Get a line of data from the host. Leading blanks and control characters are stripped off. The command will timeout after 40 seconds waiting for the terminating carriage return or linefeed. Note: Carriage returns and linefeeds are stripped from the beginning of the input. One of these control characters will terminate input ONLY after some data has been accumulated. Example: GETLN V4 A variable must be specified to receive the data. The variables have pre-assigned names: V0 through V29. GOTO Transfer flow of execution to another location within the current script. The destination location must be marked with a 'line label', as described above. Example: :FOOBAR . . . GOTO FOOBAR GOTOXY Used to position the cursor at a x,y screen coordinate. This position is always calculated relative to the current - 60 - window, see MKWIN and RMWIN, if any is active. Example: GOTOXY 10 4 Postion the cursor to column 10, row 4. Column 1, row 1 is the upper left position of the screen or window. HANG-UP Used to hang-up the modem. HOST Used to enter host mode automatically from a script. Nothing else should be in the script following the HOST command. This command should not be contained in a script that is called from another script. Examples: HOST HOST MODE The word MODE is optional and is used for documentation of the script only. LEN Measures the length of a string and stores the result as indicated. Example: V6 LEN "1234567890" WRITELN %6 This would print 000010 on the screen, because the string is 10 characters in length. LOG Make an entry in the log file. Example: LOG "This is an entry in the log file, or whatever!" LOWER Convert a string to lowercase and store in the request variable. Example: V4 LOWER "ABCD" WRITELN %4 This would print the string "abcd" on the screen. MEGALINK Transfer a batch of files using the MegaLink protocol. - 61 - Examples: MEGALINK RECV * The file names are supplied by the host. MEGALINK XMIT filename The filename listed is transmitted to the host. Wildcards are allowed, to do a batch transfer. MKWIN Makes a window on the video screen. All cursor positioning and WRITEs will take place within the window until it is removed (see RMWIN below) or overlaid with another MKWIN window. Example: MKWIN x1 y1 x2 y2 "label" 'x1' is the x coordinate of the upper left corner. 'y1' is the y coordinate of the upper left corner. 'x2' is the x coordinate of the lower right corner. 'y2' is the y coordinate of the lower right corner. "label" The text string that will be displayed as the title of the window. MKWIN 3 10 78 15 "Text input window" MUL Multiplies two integers and stores the product as requested. Example: V3 MUL 2 12 WRITELN %3 This produces 000024 on the screen, which is the product of 2 times 12. NAME Used to name the host that the user is calling. Shows up on the Redial window. Used with the DIAL command. Not used with the DDIAL command, because the BBS name from the dialing directory is used. Example: NAME string ONLINE Used to exit, temporarily, from script to manual mode. Useful when using a script to call a host and then go into manual operation once connected. Example: - 62 - ONLINE +----------------------------------------------------------------+ | NOTE | | | | When you press Alt-X, you exit back to the script | | and script execution begins where it left-off. | | | +----------------------------------------------------------------+ PAD Pads a string with a pad character, on the right or left, until the specified width is reached, then stores the result as requested. Example: V12 PAD "foo" 10 " " WRITELN %12 The string "foo " would be printed on the screen. V5 PAD "bar" -7 "." The string "....bar" would be printed on the screen. The negative width indicates the right justification and the indicated pad character is the ".". POS Finds the occurence of one string within another. Returns the position of the found string or 0 (FALSE) if not found. Example: V1 POS "xxx" "abcdxxxefghi" WRITELN %1 This would print 000005 on the screen, since the "xxx" was found at the 5th character of the mask string. V10 POS "xxx" "abcde" WRITELN %10 This would print 000000 on the screen, since the "xxx" cannot be found within the 2nd string. PRINT Toggle the printer on and off. The printer will run as data is received from the host. Equivalent to Ctrl-PrtSc. Example: PRINT Toggle the PRINT on and off. PRINT ON - 63 - Toggle commands may specify the requested state. This would turn the printer ON. PRINT OFF Turn the printer OFF. PROPER Converts normal text into first character capitalized text. Example: v1 PROPER "john brown" Produces "John Brown" in the variable V1. QUIET Toggle the beeps on and off. The starting condition is to have beeps ON. Example: QUIET Toggles from existing state to the opposite state. QUIET ON Turns off the beeps and other noise. QUIET OFF Turns on the noise. QWK Processes QWK Mail format packets. The following variations are available: QWK export "Your Name" bbsid c:\gt\foo.bar QWK import "Your Name" c:\gt\foo.bar QWK prepack "John Brown" c:\gt\foo.bar QWK reply "John Brown" c:\gt\foo.bar export --- create a REP packet suitable for upload to the BBS identified by "bbsid". An .IMP file needs to be located in GTPATH for this to function. "Your Name" is the name of an authorized person on your board. c:\gt\foo.bar is the full pathname of the output file... usually using the REP extension. import --- convert an incoming QWK packet from another BBS into your GT message bases. An appro- priate .IMP file needs to be located in the GTPATH for this to function. "Your Name" is the name of an authorized person on your board. c:\gt\foo.bar is the full pathname of the incoming file... usually using the QWK extension. - 64 - prepack -- create a QWK packet for the caller who is named "John Brown" and store it in the file c:\gt\foo.bar. reply ---- read in the REP packet from "John Brown" and store the messages into your GT message bases. c:\gt\foo.bar is the full pathname of the incoming file... usually using the REP extension. Here is a sample script for using the new QWK script commands: CLEAR WRITELN "Packing REP for GTHOME..." WRITELN " " QWK EXPORT "Paul Meiners" GTHOME C:\GT\UP\GTHOME.REP CLEAR WRITELN "Dialing the Programmer's Workshop -West!" NAME "the Programmer's Workshop -West!" DIAL 897-9549 WITH 50 REDIALS WAIT FOR "[y/n]" SENDLN "N" WAIT FOR "name:" SENDLN "Paul;Meiners;y;xxxxxxxx;y;qk;r" WAIT FOR "number:" SENDLN "5" WAIT FOR "name:" SENDLN "GTHOME.REP" WAIT FOR "abort." ZMODEM XMIT GTHOME.REP TWAIT 1000 FLUSH SENDLN WAIT 400 FOR "help):" SENDLN "qk;d" WAIT 500 FOR "abort." ZMODEM RECV *.* WRITELN WRITELN "Waiting for host to finish up..." TWAIT 7000 WRITELN WRITELN "Disconnecting!" SENDLN "H" TWAIT 2000 HANG-UP LOG "Good Transfer with GTHOME" END WRITELN WRITELN "Unpacking the QWK packet from GTHOME" WRITELN QWK IMPORT "Paul Meiners" C:\GT\DOWN\GTHOME.QWK WRITELN - 65 - WRITELN "End of script processing." WRITELN READLN This command is used to read data from the operator into one of the 30 variables. The variables have pre-assigned names: V0 - V29. The syntax is: READLN variable_name For example: WRITE "Enter desired time to start. (hh:mm:ss): " READLN V2 AWAIT %2 Notice the %2 in the 3rd line of the example, the % tells the script processor to do a variable substitution at this point, so the value input for variable 2 is inserted into the AWAIT command. Thus causing the script to pause until the desired time. Note: When responding to a READLN the user must type the response followed by a carriage return. If the user wants to terminate the script at the READLN command, enter ^K followed by a carriage return. RECV Receive a file using the Xmodem protocol. Example: RECV filename Receives a single file from the host. RIGHT Extracts the rightmost part of a string. Example: V3 RIGHT "....xyz" 3 WRITELN %3 This command would print the string "xyz" on the screen, because the right 3 characters of the source string are stored in V3. RMWIN Remove window made with prior MKWIN. All windows made with MKWIN should be removed before final exit from the script. SCREEN Used to turn-off the screen display, i.e. stop incoming data from appearing during the WAIT command. Examples: SCREEN OFF Turns screen off. - 66 - SCREEN ON Turns screen on. SEALINK Transfers a batch of files using the SEAlink protocol. Examples: SEALINK RECV * Receives a group of files sent by the host. SEALINK XMIT filename Transmits the filename given to the host. A batch of files may be sent by using wildcard characters. SEND Used to send a string to the host. Up to 10 strings can be sent to the host with one command. If a carriage return needs to be transmitted, the SENDLN command must be used instead. Example: SEND string1 string2 The two strings would be sent to the host without any gaps between them. The strings may be enclosed within "...", if embedded blanks are required. SENDLN Same as SEND above, but sends a carriage return at the end of the transmission. Example: SENDLN string1 string2 Up to 10 strings can be sent to the host with one command, the carriage return is sent following the last string. SET Used to set the serial port parameters: COM port, baud rate, parity, data bits and stop bits. Examples: SET 1200,N,8,1 This would set 1200 baud, no parity, 8 data bits and one stop bit. Legal parity values are N=none, E=even and O=odd. Legal data bits are 7 or 8. Legal stop bits are 1 or 2. SET COM2 2400 E 7 1 This SET command would work in a similar fashion - 67 - to the first example, however it would also switch the COM port to number 2. SET ONLINE Within a Dial Script, this command is used to terminate the script, returning control to GT POWER, and pass back to GT POWER an indication of the success or failure in establishing a connection. Examples: SET ONLINE TRUE This SET ONLINE command would terminate the Dial Script and return an indicator telling GT POWER that a successful connection has been established. SET ONLINE FALSE This SET ONLINE command would terminate the Dial Script and return an indicator telling GT POWER that a successful connection could not be established. SETCOLOR Set the screen colors to be used with the next WRITE or WRITELN command. Example: SETCOLOR 11 0 Set the foreground to 11 (Light Cyan) and the background to 0 (Black). Dark Colors Light Colors ----------- ------------ 0 : Black 8 : Dark Gray 1 : Blue 9 : Light Blue 2 : Green 10 : Light Green 3 : Cyan 11 : Light Cyan 4 : Red 12 : Light Red 5 : Magenta 13 : Light Magenta 6 : Brown 14 : Yellow 7 : Light Gray 15 : White SHELL This command allows you to execute any program or DOS command, if there is enough memory available. Example: SHELL "copy file1 file2" This would cause the COPY command to be executed and the files named to be copied. SINGLE STEP - 68 - This command allows script processing to be done 1 command at a time. When in SINGLE STEP mode, the script will pause after the execution of each line of code and display the '~' character. Any key may be pressed to resume execution - the '~' will be erased and execution will continue with the next script statement. Example: SINGLE STEP on Begin SINGLE STEP mode. SINGLE STEP off End SINGLE STEP mode. SPAWN Invokes an external program as a child process. Does not execute a second copy of COMMAND.COM. Sets the %FAIL flag if the external program returns an error code on "exit()". The SPAWN command supports arguments that are passed to the child process as command line paramters, up to 10 can be specified, arg0 through arg9, where arg0 is the name of the child process. Example: SPAWN c:\gt\dsz.exe port %COM speed %BAUD rz This example would cause the DSZ.EXE program to be executed to receive files. Upon return from the SPAWN, the %FAIL variable will be set according to the success or failure of the transfer. NOTE: the complete and full pathname must be used when executing the SPAWN command. No search is performed to locate the requested program. SPLIT Starts or stops Split-Screen operation. Examples: SPLIT SCREEN ON Begins Split-Screen. SPLIT SCREEN OFF Ends Split-Screen. STATUS Allows the script to control the status display at the bottom of the screen. For example: STATUS CLEAR Clears the status line. STATUS RESET Returns the status line to original, default, condition. - 69 - STATUS n "......" Writes a string of characters to the status line starting with column 'nn'. For example: STATUS 5 "F1=Menu Option" STR Converts an integer argument to a string result with the requested width. Example: V5 STR 234 6 WRITELN %5 The above code would write a string to the screen that consisted of 3 leading blanks and the numbers 234. In other words, the string in V5 would be " 234". See the example given for 'SUB' below. The width field is optional, if omitted the result will not contain any blanks. SUB Subtracts two integers and stores the result as requested. Example: V21 SUB 10 3 WRITELN %21 This would print 000007 on the screen, which is the integer that is the result of 10 minus 3. If the contents of V21 was converted to a string, with the 'STR' command here is what it would look like: V21 SUB 10 3 V20 STR %21 WRITELN %20 Then "7" would print on the screen. SUPERMEGALINK Transfers a batch of files using the Super MegaLink protocol. Examples: SUPERMEGALINK RECV * Receives a group of files sent by the host. SUPERMEGALINK XMIT filename Transmits the filename given to the host. A batch of files may be sent by using wildcard characters. - 70 - SWAP This command swaps the position of the and keys. This is needed by many people who use the VT-100 emulation mode. Examples: SWAP KEYS ON This would swap the two keys, and . SWAP KEYS OFF This would reverse a previous swapping of the keys. Note: Key swaps made with this command are not made a permanent part of the .CNF file. They go back to the default value at the start of the program. Use the Alt-I command to make the swap permanent. TDIFF Calculates the difference between two time values and reports the result in minutes in integer format. Example: ; Capture starting time V1 = %time V2 = %date WRITELN "The current date/time is: " %1 " " %2 ONLINE ; Calculate difference between now and the starting time V3 TDIFF %time %1 ; Convert answer from integer to string format V4 STR %3 ; Tell the operator about the time consumed WRITELN %4 " minutes spent ONLINE on " %name " BBS" TELINK Transfer a batch of files using the Telink protocol. Examples: TELINK XMIT *.pas Transmits all files with the .PAS extension. TELINK RECV * Receive a group of files from the host. TRIM Removes leading and trailing blanks from a string and stores the result as indicated. Example: V7 TRIM " qed " WRITELN %7 - 71 - The command would strip the spaces and store "qed" in V7. Then the WRITELN would print the "qed" on the screen. TWAIT Timed wait, in milliseconds. The maximum wait period is 32767 milliseconds. Example: TWAIT number The "number" is the number of milliseconds to delay the execution of the script. UPPER Convert a string to uppercase and store in the request variable. Example: V4 UPPER "abcd" WRITELN %4 This would print the string "ABCD" on the screen. Vn = Variables can be assigned values in 2 ways, through the READLN command above, or within the script itself, they can be assigned values, much the same way it is done in FORTRAN and other high-level languages. The syntax is: Vn = value For example: V0 = "the PC Interconnection" V7 = "555-1234" V2 = "Johnny Jones" Note: The use of blanks to isolate the "=" from the other fields, this is required. VAL Converts a string argument to an integer value. Example: V1 VAL "23" WRITE %1 This would produce 000023 on the screen for the user to see. The string might have contained leading white-space and trailing non-numerics (the conversion ends with the first non-numeric. If no characters are found to be numeric, the result would be 000000. WAIT Used to make the execution of the script wait for a particular string to be sent from the host. - 72 - Examples: WAIT FOR string WAIT n FOR string The string may be in "...", if embedded blanks are required. In the 2nd form, the "n" represents the number of seconds to wait before timing-out the host. Note, the timeout clock only counts down when no data is being sent by the host. If the first form is used, the default time-out period is 40 seconds. If the WAIT command times out waiting for the string to arrive, the %FAIL variable will be set TRUE, so that the script can test for the failure and take action based upon the failure. WHEN Sets up a string to trap out, while waiting with the WAIT command. Whenever the indicated string is trapped, then the response shown will be sent to the host. This feature is mostly used to trap the "More" string and send a Y or N to the host. If required by the host, a carriage return may be inserted in the response string by using a '|' character. Both the string trapped and the response are limited to a maximum of 30 characters each. Example: WHEN "More" THEN "N" This will keep the WAIT command from getting stuck at the "More" prompt. Note: up to 6 WHEN commands may be in effect. Individual WHEN's may be disabled by omitting the THEN clause. For example: WHEN "More" THEN "N" Setup the trap. WHEN "More" Turns off the trap. WRITE Used to write a string to the screen, does not send to the host. Up to ten strings can be written with one WRITE command. Each string should have white-space surrouding it. Example: WRITE string1 string2 string3 Would write the 3 strings to the screen without any space between them. - 73 - WRITE "foo." "bar" Would write "foo.bar" to the screen (without the "..." of course). WRITELN Used to write a string to the screen with a carriage return, linefeed combination at the end of the line, does not send to the host. Example: WRITELN string Please note that WRITELN behaves the same way as the WRITE above, that it can write up to 10 strings to the screen with one WRITELN command. WXMODEM Transfer a file using the WXmodem protocol. Examples: WXMODEM XMIT filename Transmits a file to the host. WXMODEM RECV filename Receives a file from the host. XMIT Transmit a file using the Xmodem protocol. Example: XMIT filename Transmits a file to the host. YMODEM Transfer a file using the Ymodem protocol. Examples: YMODEM XMIT filename Transmits a file to the host. YMODEM RECV filename Receives a file from the host. YMODEM-G Transfer files using the Ymodem-G batch protocol. Examples: YMODEM-G XMIT foo.* Transmits a batch of files that have the same root name, 'foo', but various different extensions, i.e. foo.bat, foo.bar, foo.nut. YMODEM-G RECV * Receives a batch of files from the host. - 74 - Appendix -------- 25th Line Status Indicators --------------------------- CAPTURE: 999 Capture mode is on, and the number displayed is the amount of data, in 1000's of characters, in the capture buffer. Suspend: 999 Capture mode is on, but suspended currently. The number displayed is the amount of data in 1000's of characters in the capture buffer. BBS Name If no capture is currently active, the name of the BBS, you are currently communicating with, will be displayed. Caller Name In host mode, the name of the current caller to your system will be displayed. Appended to the caller name will be the city and state where the caller is located. CONNECT 99:99 Time CONNECTed to a BBS in hours and minutes. OFF LINE Indicates you are currently not connected to a BBS. CABLE CONNECT Indicates that you are currently using a cable connection to your host system. ^ The Caps Lock is on. # The Num Lock is on. Q Beeps are turned off. CD Carrier Detected (is present). When carrier is lost, an alarm sounds. PR The printer is on. VT VT-100 terminal emulation is enabled. 52 VT-52 terminal emulation is enabled. HDX Half Duplex is true, the default in host mode. Chk Checksum Xmodem is true, the default is CRC Xmodem. SCR A script is currently active. It may be hidden by the ONLINE command, but it is there. baud rate The current baud rate in use. If you are using a fixed DTE baud rate, the display will show two baud rates, like this: 24:192 - 75 - Due to limited space on the status line, the 00's have been left off. 99:99 The current time. - 76 - System Files ------------ Here is a list and short description of each of the many files provided with the GT POWER system: GT1800.EXE .... Absolute program. The one to execute. GT1800.OVL .... The overlay file for the main program. GTO1800.EXE ... The GTerminal Only version of GT. Called GTO. GTO1800.OVL ... The overlay file for the GTO version. GT1800.DOC .... This file. The documentation. GTBIMOD.EXE ... Interface program for the BiModem file transfer protocol executed in the BITX and BIRX batch file. PCKERMIT.EXE .. The program which performs Kermit file transfers. PCKERMIT.TXT .. Documentation for PCKERMIT.EXE. GTZ.EXE ....... Performs Zmodem file transfers. GTZ.TXT ....... Documentation for DSZ.EXE. * GT.DIR ........ The phone directory, data file. * GT.KEY ........ Macro key definitions, data file. * GT.CNF ........ The configuration, data file. RAMDISK.BAT ... Sample runstream to execute GT from ramdisk. * GT.LOG ........ Log file. Note: don't edit the log file with an editor which places a Ctrl-Z at the end of the file. Entries made after the Ctrl-Z will not be visible. GT_UTIL.COM ... Program to convert old directories to newest format, produce printed listing of phone directory, import text list of BBS's to GT format directory. GT_UTIL.DOC ... Short doc file for GT_UTIL. SCRIPT.SCR .... A sample script for use with GT. REGISTER.DOC .. Description of the registration plan. GT.WIN ........ Screen file for GT. Must be present. Not user changeable. FORM.DOC ...... A registration form, ready to be filled in and printed. GT18HOST.DOC .. Documentation for host mode. GTDOOR.BAT .... Executed when host mode caller requests "Shell to DOS". GTDOOR1.BAT ... Sample DOOR batch file. GTDOORS.BBS ... DOOR menu text file. KEYBOARD.MAC .. Keyboard macros to use with ANSI.SYS and the DOS Shell. GTWELCOM.BBS .. Welcome screen for host mode. }****** GTUSER.BBS .... Record of last user's name. } PROTOCOL.BBS .. Protocol menu text file. } PQUEST1.BBS ... Pre-questionnaire text file. } QUEST1.BBS .... Questionnaire template file. } GTBULLET.BBS .. Bulletin file for host mode. } BULLET1.BBS ... Custom bulletin file #1. } Example files used BULLET2.BBS ... Custom bulletin file #2. } in GT host mode. GTMENU.BBS .... Main menu file for host mode. } These are ordinary GTPASSWD.BBS .. Password file for host mode. } text files and may GTHELP.BBS .... Help file for host mode. } be changed with an - 77 - GTDIR.BBS ..... Directory control list. } ASCII text editor. GTMDIR.BBS .... Message area control list. } GTDDIR.BBS .... DOOR control list. } GTSYSID.BBS ... Initial system ID for callers. } WELCOME.BBS ... Message area welcome file. } MBULLET1.BBS .. Message area bulletin file. } GTBYE.BBS ..... Goodbye file for host mode. }****** MBAG510.COM ... The netmail bagger program. } Refer to MDRIV050.COM .. The netmail driver program. } netmail MDRIV050.000 .. An overlay file for MDRIVER. } documentation MDRIV050.001 .. An overlay file for MDRIVER. } for further MDRIV050.002 .. An overlay file for MDRIVER. } explanation MDRIV050.003 .. An overlay file for MDRIVER. } MDIST510.COM .. The netmail distribution program. } NETMAIL.DOC ... The netmail documentation file. ADDENDUM.NET .. Addendum file for netmail. Many of the newer features are documented in this file. SYSOP.BBS ..... File containing most of the short text menus and prompts used in the host mode. May be user customized. * The files marked with an "*" above are created automatically whenever GT cannot locate them. - 78 - Color Number Table: ------------------- Dark Colors Light Colors ----------- ------------ 0 : Black 8 : Dark Gray 1 : Blue 9 : Light Blue 2 : Green 10 : Light Green 3 : Cyan 11 : Light Cyan 4 : Red 12 : Light Red 5 : Magenta 13 : Light Magenta 6 : Brown 14 : Yellow 7 : Light Gray 15 : White - 79 - ANSI Emulation - Received Characters ------------------------------------ Cursor Up .................................. ESC [ Pn A Cursor Down ................................ ESC [ Pn B Cursor Forward ............................. ESC [ Pn C Cursor Backward ............................ ESC [ Pn D Cursor Position ............................ ESC [ Pl ; Pc H Cursor Position (Home) ..................... ESC [ H Horizontal and Vertical Position ........... ESC [ Pl ; Pc f Horizontal and Vertical Position (Home) .... ESC [ f Set Scrolling Region ....................... ESC [ Pt ; Pb r Set Origin Mode ......see notes below....... ESC [ ? 6 h Reset Origin Mode .......................... ESC [ ? 6 l Index ...................................... ESC D Reverse Index .............................. ESC M Reverse Linefeed ........................... ESC I Next Line .................................. ESC E Save Cursor ................................ ESC 7 or ESC [ s Restore Cursor ............................. ESC 8 or ESC [ u Cursor Key Mode Set ........................ ESC [ ? 1 h Application Keypad Mode .................... ESC = Cursor Key Mode Reset ...................... ESC [ ? 1 l Numeric Keypad Mode ........................ ESC > Select US Character Set .................... ESC ( B Select Line Drawing Character Set .......... ESC ( 0 Turn Off Character Attributes .............. ESC [ m Selects Bold Characters .................... ESC [ 1 m Selects Underlined Characters .............. ESC [ 4 m Selects Blinking Characters ................ ESC [ 5 m Selects Reverse Video Characters ........... ESC [ 7 m Set Horizontal Tab Stop .................... ESC H Clear A Horizontal Tab Stop ................ ESC [ g Clear All Horizontal Tab Stops ............. ESC [ 3 g Erase From Cursor To End Of Line ........... ESC [ K Erase From Beginning Of Line To Cursor ..... ESC [ 1 K Erase Complete Line ........................ ESC [ 2 K Erase From Cursor To End Of Screen ......... ESC [ J Erase From Beginning Of Screen To Cursor ... ESC [ 1 J Erase Complete Display ..................... ESC [ 2 J Delete Character At Cursor ................. ESC [ Pn P Insert Line At Cursor ...................... ESC [ Pn L Delete Line At Cursor ...................... ESC [ Pn M Select Insert Mode ......................... ESC [ 4 h Reset Insert Mode .......................... ESC [ 4 l Select Newline Mode ........................ ESC [ 20 h Reset Newline Mode ......................... ESC [ 20 l Select Auto Line Wrap Mode ................. ESC [ ? 7 h Reset Auto Line Wrap Mode .................. ESC [ ? 7 l Turn Printer On ............................ ESC [ ? 5 i Turn Printer Off ........................... ESC [ ? 4 i Turn Printer Controller On ................. ESC [ 5 i Turn Printer Controller Off ................ ESC [ 4 i - 80 - Print Screen ............................... ESC [ i Request Cursor Position Report ............. ESC [ 6 n Response: Cursor Position Report .... ESC [ Pl ; Pc R Request ID ................................. ESC [ c Response: VT102 ..................... ESC [ ? 6 c Notes: ESC is used to represent the escape character, decimal 27. Pn represents a variable numeric parameter, the parameter is a decimal number transmitted to the program by using ASCII characters. Pl represents the LINE, and Pc represents the COLUMN, these are numeric parameters sent using ASCII characters. Pt represents the TOP LINE of a scrolling region, and Pb represents the BOTTOM LINE of a scrolling region, these are numeric parameters sent using ASCII characters. The spaces shown are for readability, they are not sent by the host. When "Origin Mode" is set, the cursor is confined to the scrolling region. Whenever a change takes place in the "Origin Mode", the cursor is moved to the home position. The cursor is also moved to the home position whenever a change is made in the scrolling region. - 81 - ANSI Emulation - Transmitted Characters --------------------------------------- Function Keys .............................. User Programmable. End ........................................ ESC O R Ctrl-End ................................... ESC O S Del ........................................ DEL Ins ........................................ ESC O n Home ....................................... ESC [ H PgUp ....................................... ESC [ O r PgDn ....................................... ESC [ O q Shift-Tab .................................. ESC [ O x Left Arrow ................Normal........... ESC [ C Keypad Mode...... ESC O C Right Arrow ...............Normal........... ESC [ D Keypad Mode...... ESC O D Up Arrow ..................Normal........... ESC [ A Keypad Mode...... ESC O A Down Arrow ................Normal........... ESC [ B Keypad Mode...... ESC O B Others ..................................... Standard Values. Note: The blanks are included for readability only. - 82 - Support For USRobotics Courier 2400 ----------------------------------- Here are the proper switch settings for the Courier modem: Switch Setting ------ ------- 1 UP, Normal DTR. This is not the factory setting, so it should be changed by the user. GT requires this setting for proper operation of the host mode. In terminal mode, GT does not require this switch setting. Instead, you can specify a hang-up string in the configuration area. 2 Doesn't matter to GT. Use the Vn command in the modem init strings to get proper setting. 3 DOWN, Result Codes are displayed. 4 DOWN, No Command Echo. Again, this is preferred, but not required. 5 Doesn't matter to GT. 6 UP, carrier detect signal is present only when on-line. This is not the factory setting and should be changed by the user. 7 Doesn't matter to GT. 8 DOWN, Use Normal AT commands. 9 Doesn't matter to GT. 10 Doesn't matter to GT. Quad Switch UP, Use Normal Pin Assignments. - 83 - USRobotics Courier HST, 9600 Baud Modem Support. ------------------------------------------------ The switch settings for the HST modem are much the same as the Courier 2400 baud modem above, so I will not discuss them. The main difference between these two modems falls into three catagories: 1. Init String Usage. The HST modem supports a variety of '&' commands that can be placed into the init string. The standard values for use with GT are &M4, &H1, and &B0. These values should be added both to the terminal and host mode init strings. 2. Configuration Setup. When used with any modem that uses MNP or ARQ error correction technology, GT should have the "Honor CTS from modem" parameter set = TRUE. In this way, GT will stop sending data to the modem when the CTS signal is lowered. 3. 19200 Baud Rate. When using the 19200 baud rate, GT will not fallback to a lower rate at CONNECT time. This means that the init strings must be changed to include &B1, which signals the modem that the cpu-to- modem rate is being held constant. This is extremely useful when optimum thru-put is required. However, take note that GT may overrun the receiving computer at 9600 baud. GT is capable of sending at the very highest rates your computer is capable of and if the remote computer cannot accept the data at the higher rate, an overrun condition may arise. GT will try to avoid this by respecting any XON/XOFF signal sent by remote during a MegaLink file transfer (when the danger of overrun is the highest). 4. Fixed DTE operation. When operating a high speed modem, it is quite often desirable to optimize performance by forcing the computer to operate at a high fixed baud rate, while the modem(DCE) rate floats with each connection. GT supports this capability through the use of three configuration parameters: Fixed DTE, CTS Flow Control, and RTS Flow Control. These parameters are located under #30 of the AltöI configuration screen. When using these options, be sure that the modem is also set to use a compatible operating mode. The RTS flow control will be used during file transfers, when GT is going to write a block to the disk, GT will drop the RTS signal to the modem, then write to the disk, raising the RTS signal afterward. The CTS signal is used by the modem to stop GT from transmitting when the modem's buffer is nearly full. GT will resume transmission once the CTS signal is raised again. The Fixed DTE does not "freeze" the baud rate, rather the baud rate is selected in the normal manner (usually from the value in the dialing directory), rather the Fixed DTE keeps GT from shifting to the DCE rate upon connection. If you wish to have a - 84 - frozen baud rate, you can set the minimum and maximum baud rates in the program's configuration to the desired value. This would result in a frozen baud rate. - 85 - Hayes 2400 Initialization String -------------------------------- The Hayes 2400 baud modems do not have any switches that need to be set on the board with the exception of the port select switch which is accessible on the end plate itself. All settings that would normally be set by switches are program selectable and, once set, they may be stored into a writable ROM on the card itself for further use. Following is the Modem Initialization string that has been found to work with GT POWER: AT E0 V1 X4 S0=0 L2 S2=43 &C1 &D2 M1| Following is the Host Mode Initialization string that has been found to work with GT POWER: AT V1 Q0 E0 X4 S0=0 S2=255 M0| - 86 - Modem Setting Strings for IBM Modems ------------------------------------ Baud String ---- ------ 300 SP 2| 1200 SP 4| I do not know what the string should be for people who have IBM 2400 baud modem, but I suspect it would be: SP 5| Data Format String ----------- ------ 7-N-1 FO 0| 7-M-1 FO 1| 7-E-1 FO 4| 7-O-1 FO 3| 8-N-1 FO 5| 8-M-1 FO 6| 8-E-1 FO 9| 8-O-1 FO 8| - 87 - Registration Message -------------------- Dear GT User: 7-22-93 I know you are asking yourself, "Why should I send a contribution for GT"? Here are a few answers. 1. The shareware copy of GT has a delay at the start of the program. When you register you will receive a key that will allow an you to enter the program quickly. 2. You will receive a registered copy of GT, with your own serial number. If you distribute GT, and someone registers your serial number, you will get a split of the contribution. For every copy registered with your serial number, you will receive 25% of the amount tendered. 3. You will receive a copy of "Turbo CALC". This is the powerful spreadsheet program from P & M Software Co. 4. You will receive copies of the latest GT netmail programs, which will allow you to pass electronic mail along the GT netmail system. NOTE: the GT netmail programs are not shareware and can only be obtained thru registration of GT. 5. Phone support is available to registered users, have your serial number handy when you call. The number is 602-897-9557 voice, 602-897-9549 modem. The modem line is open 24 hours a day, the voice line is available during normal office hours, 8 - 5 pm Mountain Time. 6. A key will be provided to registered users, so that the opening copyright screen will remove itself automatically. In the spirit of shareware, we ask that the key not be disclosed to non- registered users. 7. You will receive an growing program, supported by its author. Continued support of GT or any other "User Supported" program depends on the financial support of its users. Pure survival of the best and fittest. To show our intention to support our products, we are proud to offer our new customers a 30 day money back guarantee. If you wish to register, or if you are already registered and wish to upgrade to the latest version of GT, please fill out and return the following form: - 88 - +-----------------------------------------------------------------------+ | | | GT POWER | | Registration Form | | | | | | Date: __________ TO: P & M Software Co. | | 3104 E. Camelback Rd. | | #503 | | Phoenix, AZ 85016 | | U.S.A. | | | | FROM: Name: ________________________________________ | | | | Address: ________________________________________ | | | | ________________________________________ | | | | ________________________________________ | | | | Work Phone # (_____)_______________________ | | | | Home Phone # (_____)_______________________ | | | | | | CHECK VERSION(S) OF GT POWER WANTED: | | 1 selection no extra charge, additional selections, $7 each. | | | | 15.50 16.00 17.00 17.06 18.00 | | ===== ===== ===== ===== ===== | | | | _____ _____ _____ _____ _____ Standard version. | | | | _____ _____ _____ Overlay version. | | | | _____ _____ _____ _____ _____ 286 version. | | | | _____ FOSSIL version. | | | | | | NOTE: newer versions come in Standard and 286 version only. And | | the FOSSIL version is available only for 15.50. | | | | NOTE: Each selection above includes copies of GT and GTO. | | | | | | CHECK DESIRED SELECTION(S): | | | | ____ Initial registration of GT POWER 18.00. | | $50 U.S. suggested price. | | | | ____ Initial registration of GT POWER 17.xx. | | $40 U.S. suggested price. | | | - 89 - | ____ Initial registration of GT POWER 16.00. | | $35 U.S. suggested price. | | | | ____ Initial registration of GT POWER 15.50. | | $30 U.S. suggested price. | | | | ____ Upgrades, $20 U.S. | | | | ____ Enter standing order. Available to credit card customers, | | or customers who deposit $40 in advance. All major | | releases sent automatically. Fees are charged just | | before shipment of product. Bug fixes and minor releases | | will not be sent automatically, but can be ordered for | | a handling fee of $10, plus $4.00 postage for overseas. | | Feature release will be charged at $20 each, plus $4.00 | | postage for overseas. | | | | | | PLEASE INDICATE SERIAL # AND VERSION OF PROGRAM YOU HAVE: | | (Press ALT-J to display serial number.) | | | | Serial # _____________ Version # 18.00 | | | | | | PLEASE INDICATE AMOUNT ENCLOSED: | | | | Base contribution amount .......... __________ | | | | Extra versions, add $7 per copy ... __________ | | from check-list above. | | | | For 3.5" diskettes, add $3 ........ __________ | | | | Outside NORTH AMERICA, add $4 | | for AIR MAIL postage ........... __________ | | | | Foreign Bank Draft Fee, add $7 | | for banks outside of U.S. ...... __________ | | | | Total Enclosed (U.S. DOLLARS) ..... | | ========== | | | | PLEASE INDICATE METHOD OF PAYMENT: | | | | If using credit card, please indicate your card no. and | | expiration date. On MasterCard(r) include the Interbank No. | | | | ___ MasterCard(r) Interbank No. _____________ | | ___ Visa | | ___ Check Credit Card No. ____________________________ | | ___ Money Order | | Expiration Date _____________ | | | | Signature __________________________________ | - 90 - | | | | | Please DO NOT send cash. Send check, money order, or credit card | | information. Your request will be filled promptly upon receipt. | | | | Customers residing outside of the United States of America should | | submit payment in the form of a check drawn in U.S. DOLLARS on a | | New York City bank or use one of the credit cards listed above. | | | +-----------------------------------------------------------------------+ - THE END - - 91 - - 92 -