********** *********** *** ******** ******** *** ******** ******* *** **** *** *** *** *** *** *** *** **** ***** *** *** *** *** *** *** *** *** ******* *** ****** ****** *** ****** ******* *** ** *** *** *** *** *** *** ****** *** *** *** *** *** *** *** *** *** *** *** ********** ******** ******** *** ******** *** *** *** *** Version 0.90 Written by Per Hansen, 1994 Copyright (C) 1994 by Tribune Channel Software A telecommunucations tool for the Amiga personal computer. DISCLAIMER -------------- No warranties are implied or expressed with regard to the fitness or merchantability of ZeeTerm for any particular purpose. All risks and damages, incidental or otherwise, arising through the use or misuse of ZeeTerm are entirely at the responsibility of the user. While considerable effort has been made to provide you with a reliable product, there is no guarantee that this program is 100% "bug-free". Any problems that do arise will be corrected when and if feasible. Maintenance releases will be made available in order to correct potentially hazardous malfunctions within the program. Fixes for benign problems, usually cosmetic in nature, will most likely be deferred until the next major release of ZeeTerm. This disclaimer does not guarantee future versions of this product, only a prescribes method of dealing with possible errors, and their corrections, to this program. LICENCE ----------- ZeeTerm is a copyrighted product made available to you under the concept of Shareware. It has never been, and will never be, a Public Domain or otherwise "free" program, therefore, you must obtain a license in order to rightfully use it. You are free to use ZeeTerm in it's unregistered mode for as long as you wish, but will not be able to make full use of all of the functionality of the program until it is registered. For example, the Zmodem and EMSI/IEMSI stuff doesn't work prior to registration. Please consult the registration form included for more information. *Please* don't try to crack ZeeTerm. Considerable effort has been made developing this program. The registration fee isn't that expensive, is it? DISTRIBUTION ---------------- Distribution is limited to the original shareware distribution archive file only. None of the member files may be omitted. Furthermore, no profit or other material gain may be realized for distributing ZeeTerm with the sole exception of recovery for media and postage. Bundling ZeeTerm, the distribution archive or any member files, with any commercial product is expressly prohibited, without the authors written permission. ACKNOWLEDGEMENTS -------------------- Ward Christensen for creating the Xmodem protocol. Chuck Forsberg for his X/Ymodem and Zmodem protocol specifications and for his public domain rz.c, sz.c & zm.c source files. Andrew Milner, Chris Irwin and Joaquim H. Homrighausen for the EMSI/IEMSI protocol definitions. Thomas Brobech, Jorn Bang-Andersen and Jesper Kehlet for betatesting. Anyone else forgotten. ZeeTerm 0.90 Users Manual Electronic Edition 1 OVERVIEW 1.1 Display features - ZeeTerm automatically adjusts itself to either NTSC or PAL displays. Interlace and overscan is supported as well. - Terminal emulations for TTY (dumb terminal), IBM ANSI and VT-100. - An optional status line. - 40 user definable function key macros per macro file. Each macro can contain a maximum of 100 characters. Some macro primitives are available. - Optimized scrolling for boosting throughput of multiple bit-plane displays. - "Screen-memory", so that you can select characters simply by pointing at them with the mouse pointer and clicking. If you then move the mouse in the X-direction, the characters appearing under the mouse pointer will be sent to the modem. - User definable font available. - User definable keymap available. 1.2 File transfer protocols - Xmodem CRC, Xmodem Checksum, Xmodem-1k, Ymodem, Ymodem-g, Zmodem and ASCII file transfer protocols are present. All implementations adhere strictly to their respective specifications. - Zmodem supports auto-downloads and auto-uploads as well as other of the Zmodem standard specifications. 1.3 Phonebook - Ability to generate a unique password for each directory entry. - An intelligent dialer that monitors the result of each attempt and is capable of multiple entry dialing. - Optional use of traplist.library to find telephone numbers in the FidoNet node list. - IEMSI implementation for fast logons on systems that supports this feature. 1.4 Miscellaneous - A powerful FILE requester that maintains several lists of files, devices and directories rather than hardcoded selections that may not exist on your system, or even worse, may not include devices/volumes unique to your environment. - A batch selection facility which enables you to select multiple files for a batch file transfer. - User adjustable task priority. - User definable serial device for third party multi-port boards. - EMSI implementation for use together with FidoNet systems. The EMSI implementation supports the special FidoNet file transfer protocols ZedZip and ZedZap. - Special dos-handler which enables you to send ascii text directly from a background CLI/Shell via ZeeTerm to the serial port. - Arexx implementation with more than 50 different commands. In fact there are so many, that you might set up an entire bulletin board system (although it would operate quite slow). - Special IEMSI Split-screen chatmode with "word-wrap", that is accessible from the pulldown menus as well. 2 SETUP 2.1 System requirements Version 1.3 Workbench or later is required. Although ZeeTerm can be run in a 512k system, 1Meg is highly recommended to take advantage of several features ZeeTerm incorporates. A Hayes compatible modem is recommended if you plan to utilize all of the advanced capabilities within ZeeTerm. Your modem must be able to return extended result codes, such as "CONNECT 2400", in order to take advantage of the intelligent dialer. Finally, your modem must have the ability to sense the Data Terminal Ready (DTR) signal so that ZeeTerm can hangup the modem very quickly. ZeeTerm was written with high-speed modems in mind. Tests have been conducted locally during development with a 14.4kbps US Robotics HST/V42bis and with nullmodem cables between two Amigas. The discussion that follows assumes a certain level of familiarity with the AmigaDOS CLI. "The AmigaDOS Manual", 2nd. edition, from Bantam Computer Books is a valuable book to have and is highly recommended. 2.2 ZeeTerm data files All datafiles except currently the phonebook datafile, are kept in pure ASCII format. You may edit the default files, or use the 'Save' options from within ZeeTerm. Although the phonebook datafile are saved in binary format, ZeeTerm is capable of reading an ASCII phonebook file, if you so desire. Everywhere in the datafiles, the "\" character stands for a carriage return, and the "|" character stands for a line feed. The only file that has a preset name, is the ZeeTerm main configuration data file. - Within this file, you may specify all the names of the other data files used in ZeeTerm. 2.3 File search logic ZeeTerm will first attempt to load its initial default parameters from a file which is hardcoded with the filename "ZeeTerm.CFG". This file must reside in ZeeTerm's current directory. This is the ONLY defaults filename that ZeeTerm will look for when it is started. You can change this when starting ZeeTerm from CLI only, by specifying your alternative configuration file as the first argument, e.g.: "ZeeTerm MyCfg.CFG". The current directory that ZeeTerm was started from will be searched first for the "ZeeTerm.CFG" file. ZeeTerm will then attempt to find the files defined in this file for the phonebook, macros, keymap and a diskfont (if a diskfont is chosen). 2.4 The ZeeTerm.CFG configuration file The ZeeTerm.CFG defaults parameters file is kept in pure Ascii, and may therefore be edited in your favorite text editor. It doesn't need to be there when you start ZeeTerm, in which case it will use its own internal defaults. All path definitions must be ended with a "/" unless otherwise stated. Any parameter may be omitted, if you prefer the internal defaults instead of your own defined defaults. The parameters are discussed below. 2.4.1 Macrofile ZeeTerm.keys This defines which filename to search for when ZeeTerm search for the macro-keys definitions. 2.4.2 Phonebook ZeeTerm.phone This defines which filename to search for when ZeeTerm search for the telephone phonebook. 2.4.3 Sendpath RAM: Default send path directory. 2.4.4 Recvpapth RAM: Default receive path directory. 2.4.5 Captfile ZeeTerm.capt Default capture filename. 2.4.6 Nodelist ZeeTerm_nodes/ Default nodelist directory. 2.4.7 PhoneBook ZeeTerm.phone Default phonebook filename. 2.4.8 Priority 0 Priority the program should use when running, defaults to 0. 2.4.9 Protocol Zmodem Default protocol, currently available are: ASCII, Xmodem, Xmodem_CRC, Xmodem1K, Ymodem, Ymodem_G and Zmodem. 2.4.10 ZMprotect Zmodem file receive options. Should be one of the following: ZMAPPEND Appends to file if exists, elwhile create new file. ZMPROTECT Creates new filename: "filename1" becomes "filename2". ZMREPLACE Deletes old file, create new file instead of old one. 2.4.11 ZMCRC32 Zmodem CRC option. Should be one of the following: ZMCRC16 Use 16 bit CRC error correction. ZMCRC32 Use 32 bit CRC error correction. 2.4.12 ZMAutoDwl YES Should Zmodem do automatic file transfers? Defaults to NO. 2.4.13 ZMSend_Pathname NO Should Zmodem send the full pathname? Defaults to NO. 2.4.14 ZMRecv_Pathname NO Should Zmodem use the received full pathname? Defaults to NO. 2.4.15 IgnoreCD NO Should ZeeTerm ignore carrier detect when performing file transfers? Defaults to NO. 2.4.16 Ascii_Sendpath RAM: Default special Ascii sendpath directory. 2.4.17 Ascii_Recvpath RAM: Default special Ascii receivepath directory. 2.4.18 Interlace OFF Specify whether or not ZeeTerm should use interlace mode. 2.4.19 Bitplanes 3 Default number of bitplanes ZeeTerm should use. 1 to 4 are valid. 2.4.20 ScreenWidth=0 Default screen width. If set to 0, or if this is not stated, it defaults to 640. On systems running Kickstart v37 or later, you might wish to specify a value of -1 which means that ZeeTerm will open the screen with the highest screenwidth possible (regarding overscan). 2.4.21 ScreenHeight=0 Default screen height. If set to 0, or if it is not stated, ZeeTerm will detect the system it is running under (i.e NTSC or PAL), and set the screen height according to that. On systems running Kickstart v37 or later, you might wish to specify a value of -1 which means that ZeeTerm will open the screen with the highest screenheight possible (regarding overscan). 2.4.22 Palette Format: RGB RGB RGB ... etc. up to a total of 16 definitions, where "R" stands for RED, "G" stands for GREEN and "B" stands for the BLUE palette. Any definition may consist of the hexadecimal numbers from zero through fifteen; in hexadecimal : 0123456789ABCDEF. For the numbers 10 to 15, may be used both lower and upper case letters for the hexadecimal representations. The default palette consists of: Color 0: Black (background) Color 1: White (default pen-color) Color 2: Green Color 3: Yellow Color 4: Blue Color 5: Purple Color 6: Cyan Color 7: Red Color 8 through 15 should be the same as 0 through 7, but with increased intensity, e.g. brighter. If this option is not stated, ZeeTerm will use its own internal default colors for 1, 2, 3 or 4 bitplanes. These default colors will ofcourse be the standard VT-100 and ANSI emulation colors. To take advantage of the correct VT-100 emulation colors, following colors (or equivalent) should be used: Palette=000 bbb 0a0 a60 008 a0a 0aa a00 666 fff 0f0 ff0 00f f0f 0ff f00 2.4.23 FontName topaz.font Default font name. 2.4.24 FontSize 8 Default font size. 2.4.25 Keymap IBM Default keymap. Should be entered without leading pathnames, as ZeeTerm will look in "DEVS:Keymaps/" for this file. 2.4.26 Device serial.device Default serial device name for communication with the serial port. Be aware, that the device name is indeed case sensitive, and should always be entered the way it appears in your DEVS: drawer on your system disk. 2.4.27 DeviceUnit 0 Default serial device unit number. 2.4.28 DeviceShared NO Specify whether or not you wish the serial port to open in "shared" mode. Defaults to YES. 2.4.29 Baudrate 38400 Default baudrate. Valid baudrates are: 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 76800 and 115200. If none of these matches, a default baudrate of 19200 will be chosen. 2.4.30 Parity 8N1 Parity. Should be entered as "8N1", "7N2" etc. First parameter stands for databits, second for parity and the third parameter stands for stopbits. Valid entries are: 8N1, 8N2, 8E1, 8O1, 7N2, 7E1, 7O1, 7E2, 7O2. Defaults to "8N1". Be aware, that the Xmodem, Ymodem and Zmodem requires that the parity is set to "8N1" and will automatically switch to this before a file transfer is performed. 2.4.31 Handshake CTS_RTS Default handshake that should be used. Currently, following are supported: CTS_RTS, XON_XOFF or NONE. 2.4.32 Duplex FULL Default duplex. When set to half, all characters typed on the keyboard will be printed on the local screen right after sending them to the serial port. Should be enteres as "Full" or "Half". Most bulletin board systems send the characters back, so default is "FULL". But there are some restrictions regarding the IEMSI Split-screen chatmode. See section 12.2.1. 2.4.33 DTRDrop YES If this option is set to YES, ZeeTerm will drop the DTR signal in order to hang up. Elsewhile it will use the hangup string. 2.4.34 Emulation IBM_ANSI Default terminal emulation. Valid are: "TTY", "VT100" and "IBM_ANSI". 2.4.35 Translate_TX_CR CR Convert outgoing carriage returns to: CRLF -> Carriage Return + Line Feed. CR -> Carriage Return. LF -> Line Feed. 2.4.36 Translate_RX_CR CR Convert incoming carriage returns to: CRLF -> Carriage Return + Line Feed. CR -> Carriage Return. LF -> Line Feed. 2.4.37 SwapDEL_BS NO Swap the functionality of the Delete and the Backspace keys? Defaults to "NO". 2.4.38 DestructiveBS NO Use destructive Backspace? Defaults to NO. 2.4.39 Redial_Delay 10 Dial delay between retries used in the intelligend dialer. 2.4.40 Dial_Delay 30 Delay while waiting for a carrier after dialing the number. 2.4.41 Max_Tries 10 Maximum attempts to dial before aborting. 2.4.42 DialAbort \ Abort string. This string or character will be sent to the modem to abort an unsuccessfull dial attempt. The "\" stands for a carriage return. 2.4.43 Initstring ATZ\ This is the string that will be send to the modem immediately after a startup. 2.4.44 Exitstring \ This string will be sent to the modem right before it exits. 2.4.45 ATTstring +++ This is the ATTention string, that will be sent to the modem before the hangup string, when the hangup option is telling ZeeTerm to use the hangup string to hangup. 2.4.46 DialPrefix ATDT 2.4.47 DialSuffix \ 2.4.48 HangupString ATH0\ These are the modem response codes. You should not put a "|" character in the end (line feed), although the modem actually generates this, as this character is ignored by ZeeTerm, and it will always check for the strings written here. If you do so anyway, the strings will never match, and the dialer will not work properly. See the discussion about the items below, in section 5.4. 2.4.49 ConnectString CONNECT Default CONNECT string. 2.4.50 DisconnectString NO CARRIER\ Not currently used in ZeeTerm. 2.4.51 BusyString BUSY\ Default BUSY string. 2.4.52 VoiceString VOICE\ Default VOICE string. 2.4.53 NodialtoneString NO DIAL TONE\ Default NO DIAL TONE string. 2.4.54 ErrorString ERROR\ Default ERROR string. 2.4.55 RingingString RING\ Default RING string. 2.4.56 NoanswerString NO CARRIER\ Default NO CARRIER string. 2.4.57 Remotering RINGING\ Default RINGING string. 2.5 Starting ZeeTerm for the first time If the "ZeeTerm.CFG" is not present in the current directory, ZeeTerm will use its internal defaults the first time you start it. You can save any changes you make so that ZeeTerm will configure itself to these settings every time it is used afterwards by writing the defaults to the file "ZeeTerm.CFG". As this file is kept in pure Ascii, you are able to edit this file with your favorite text editor. The internal defaults are aimed at giving the new user the most common configuration to "plug-n-play" with a minimum of hand holding, but you may want to browse over the various options that ZeeTerm has to offer (it is *very* configurable!) after having used it a few times so that you can personalize the way it operates. 2.6 Modem setup Hayes compatible modems are preferred for use with ZeeTerm. Fortunately, almost evey modem made today is Hayes compatible. The specific features the modem should have are discussed below. 2.6.1 Carrier detect signal The modem should have a functioning carrier detect (DCD) signal on pin 8 of the serial port. The DCD signal goes true once your modem has established a connection with the remote modem that you have called. It is not required to have this signal be functional, but it is recommended. Most Hayes compatible modem manufacturers default the modem to permanently set this signal true. You will be able to determine if DCD is active if you try to read a new configuration file immediately after starting ZeeTerm, in which case you will be told that you are online. If so, please refer to the users manual for your modem in order to set the modem so that it allows the DCD signal to work properly. 2.6.2 Data terminal ready signal This signal (DTR) on pin 20 of the serial port tells the modem when the data terminal, (ZeeTerm) is ready. ZeeTerm also uses this signal, if the modem recognizes it, to force the modem to hang up or go on hook. As with the DCD signal, many manufacturers will assert this signal permanently true. Check the modem's users manual for the proper command which will cause the modem to go "on hook" (hangup) and also return to its command state whenever the DTR signal is dropped and then raised again. If the modem is able to do this you can activate the pulldown menu that is labeled "Hangup option", submenu "Drop DTR" so that ZeeTerm can use it to hangup the modem. 2.6.3 Additional information for MNP modems MNP stands for Microcom Networking Protocol. It is a hardware based method of error correction built into the modem itself. There are several levels of MNP with 3, 4 and 5 being the most commonly used modes. Levels 3 and 4 provide error correction, with level 4 being more efficient of the two. A level 4 MNP connection can give you as much as 19% gain in throughput under optimal (noise free) conditions. Level 5 adds adaptive data compression "on the fly". It is of little value (and can degrade performance) if you plan on doing a mejority of file transfers with already compressed files (.ARC, .ZOO, .ZIP and .LZH files). But, it can boost text based transmissions by incredible amounts depending on the profile of text being sent. In order to use an MNP modem properly, and to maximize the throughput it is capable of delivering, you need to set ZeeTerm and the modem to a fixed baud rate that is usually 2 or 4 times greater than the connection rate between the local and remote modem. Since ZeeTerm is capable of sending data at a baud rate higher than that at which the two modems are connected, it requires some sort of handshaking so that no data losses occur. The kind of handshaking most often used in this type of situation is hardware or CTS/RTS handshaking. CTS refers to the Clear To Send signal while RTS is for the Ready To Send signal. This pair of signals is used by the modem and the computer to stop and start the flow of data between them. If you plan to download to a floppy disk and are going to use Zmodem, you must have XON/XOFF handshake active in order for the serial.device to stop the flow of data while writing to disk. Otherwise, you run the risk of buffer overrun errors. Although the transfer won't be corrupted or lose data due to error correction, it will increase transfer time because of the sender having to resynchronize with the receiver. Ymodem-G transfers to floppy are not possible when using the internal serial.device due to it not dropping RTS when the serial input buffer is almost full. XON/XOFF handshake is disabled for Ymodem-G because it needs full 256 byte transparency for successful transfers. If you are using an alternate serial device that supports RTS handshake then downloading to floppy using Ymodem-G is possible. The default serial device for the internal port in the Amiga is odd in that it requires the Data Set Ready (DSR) signal (pin 6) to be active when it is first opened or it will not activate the CTS/RTS handshake mode. Worse yet, your modem will suddenly appear to not communicate with ZeeTerm since the serial device thinks that the modem is not "ready" to receive data. Most MNP modem manufacturers default the modem to having the DSR signal follow the carrier detect signal. Fortunately, they always have a command and/or switch to permanently set DSR active. SO, in order to utilize the CTS/RTS handshake mode, you will have to set your modem so that it keeps the DSR signal permanently active. In addition to the DSR signal having to be permanently asserted, your modem must have CTS true when the modem is not online. Check the manual for your modem to insure that these two signals are set up correctly. 3 SYSTEM BASICS 3.1 The display The default display used by ZeeTerm when it is first started and it cannot find a configuration file, is a three bitplanes custom screen with a borderless window. Optional displays include borderless windows on a 2, 4, 8 or 16 color custom screen. The Palette requester allows you to modify the colors for your display, but the standard colors used by VT-100 and ANSI are the colors that should normally be used, and therefore are hardcoded within ZeeTerm. ZeeTerm uses a custom display driver which is much faster than the internal console device used by the Amiga for the CLI and other text based displays. External fonts are provided for use with the IBM ANSI and VT-100 terminal emulations. The ability to change the default keymap is also provided for users who may need to use more than one keymap and/or font due to differences between countries. 3.2 The status line The status line in ZeeTerm is normally displayed as follows. Baud:xxxx 8N1 Full No Hshak ZM/P/CRC32 Capt:xx Prt:xx IEMSI xxx | | ||| | | | | | | | | | | | | Baudrate ---+ ||| | | | | | | | | | | | | Data bits ----+|| | | | | | | | | | | | | Parity -----+| | | | | | | | | | | | | Stop bits ------+ | | | | | | | | | | | | Duplex --------+--+ | | | | | | | | | | Handshake -------------+------+ | | | | | | | | Protocol ----------------------+--------+ | | | | | | Capture status ----------------------------+-----+ | | | | Printer status ------------------------------------+----+ | | IEMSI status -------------------------------------------+-------+ 3.3 Terminal emulations 3.3.1 TTY The TTY emulation is a basic, line oriented, "dumb" terminal. There are no graphics characters possible when using this emulation. The acronym TTY stands for teletype. 3.3.2 VT-100 The VT-100 emulation is an almost complete VT-100 terminal, which provides you a with VT-100 ansi control sequence handling, also known as ANSI. This emulation does not accept the ascii 0x9b (155) as a control sequence introducer (CSI), as this ascii code is used as a letter in i.e. Denmark. The acronym VT stands for virtual terminal, and 100 stands for the version number. 3.3.3 IBM Ansi Almost the same as the VT-100 emulation, with some minor differences in the Clear-Screen and linefeed routines. This emulation will work on almost any system you connects at, but if the screen looks weird you should try switching to VT-100 mode. 3.4 Capture file The capture file feature allows you to save data received by ZeeTerm. 3.5 File transfers When you initiate a file upload or download you are first greeted with the FILE requester. Select the desired file(s) for an upload or enter the new filename for a download when using a protocol other than Ymodem(-G) or Zmodem. These protocols send the filename in a special header block, so the FILE requester isn't opened when downloading via these protocols. The transfer status window is then opened. The information this window displays is as follows: Protocol: The file transfer protocol used for this file transfer. File path: The file path for the current file being transferred. File name: File name being transferred. File length: Size of file being transferred. Error check: Whether or not there are error check on this transfer. Error check may be Checksum (Xmodem), CRC-16 (Ymodem, Zmodem) and CRC-32 (Zmodem). Bytes sent/rcvd: How many bytes of file transferred. Blocks sent/rcvd: How many blocks of file transferred. ZM status: Used only in Zmodem transfers, and replace the 'Blocks sent/rcvd' as Zmodem does not use blocks. - It shows the current Zmodem status. Started: Actual time file transfer was started. Elapsed: Elapsed time since start of file transfer. Chars/sec: Throughput figure. Status: Error/status line. Selecting the close window gadget or pressing the ESC key while a transfer is in progress will abort the transfer. Please be patient if you do abort it, as ZeeTerm attempts to purge all data before returning to the terminal in an effort to prevent garbage from being displayed. During the transfer ZeeTerm will update the elapsed time and the current chars/sec figures. Errors or other delays can result in the chars/sec drops. The cps indicator will fluctuate a good bit during the early stages of the transfer. It require upwards of 20 kilobytes to settle down, more for high speed modems. At baud rates above 2400bps you should be aware that file transfer throughput begins to be affected by the method used for transmitting data by the sending program. If a byte-by-byte method is used, efficiency is going to drop off rapidly. If, instead, the sender uses several different optimized methods, the rate will stay somewhat the same as baud rate increases. 3.6 Gadget types ZeeTerm uses several types of gadgets. Their functions are described as follows. 3.6.1 String gadgets These gadgets use the familiar Amiga rectangle with a label to the immediate left. ZeeTerm enhances the string gadgets by range checking integer input for validity. 3.6.2 Cycle gadgets These gadgets are likened to a button or switch. If the gadget is selected, the inside text will change. 3.6.3 Control gadgets These gadgets select functions within a requester. Control gadgets perform an immediate action and/or open an additional sub-requester. 3.6.4 Intuition gadgets The default Intuition close window, depth and drag gadgets work as expected. ZeeTerm retains the position of some requesters for future use if it is dragged to a new location from the default centered position. 4 SPECIAL REQUESTERS 4.1 File requester 4.1.1 Functional description The FILE requester opens up in one of three modes. One mode is "Single File Request", which will allow you to select only one file at a time. Another mode is "Batch File Request", which allows you to select any number of files. The third mode is "Directory Request", which allows you to select a directory. In all modes the FILE requester is dynamic. This means that it can process gadget selections while building the current directory files list. The large rectangle is the familiar file selection array, which displays up to 15 files and/or directories at a time. Directories are prefixed with the string "DRAWER". The righthand side of the list shows the size in bytes and creation date for each file. In the title bar of the FILE requester there is a size indicator labeled "Disk free:", which shows the amount of free space left on the current device for the current directory. To the right of the selection rectangle is the proportional scroll gadget which enables the user to scroll through a list of filenames. The knob, or smaller rectangle inside the scroll gadget indicates what percentage of the list is displayed at any time. 4.1.2 Rename This gadget will pop up a string requester containing the name of the file contained in the Filename string gadget. It will allow you to rename this file to another filename of your desire. 4.1.3 Okay This gadget instructs ZeeTerm to accept your file selection(s). It is the same as pressing return after entering a filename in the string gadget, or by double-clicking on one of the files. 4.1.4 Parent This gadget will change the current directory to the parent of the current directory. The pathname string gadget will also be updated to reflect this change. 4.1.5 Devices Will fill the selection rectangle with a list of all filing system devices on your system, enabling you to change the current directory to another device. 4.1.6 Read dir Selecting this gadget, will cause ZeeTerm to scan the current directory (displayed in the Pathname string gadget) again. Useful, if you have pressed the Devices gadget and don't want to change the current directory. 4.1.7 Make dir This gadget will pop up a string requester enabling you to create a new subdirectory with a name of your desire, in the current directory. 4.1.8 Select All This gadget is functional only while the FILE requester was opened in batch file mode. It will select every file in the current directory. 4.1.9 Clear All This gadget is functional only while the FILE requester was opened in batch file mode. All selected files will be deselected. 4.1.10 Delete This gadget will pop up a string requester containing the name of the file contained in the Filename string gadget. It allows you to remove this file from existance. 4.1.11 Cancel This gadget will clear the selected files and abort the function that opened the FILE requester. The close window gadget for the requester produces the same result as the Cancel gadget. 4.1.12 Filename The FILE requester will open with this string gadget set to a suggested filename for phonebook, macro, capture and EMSI files. It also displays the last filename selected. You may enter a filename of your choosing instead if you so desire. 4.1.13 Pathname This string gadget contains the pathname of the current directory. 5 PHONEBOOK 5.1 Phonebook List requester The PHONEBOOK LIST requester is a control panel for adding, editing and deleting phonebook entries. It also allows you to select one or more entries for use by the intelligent dialer. 5.1.1 Dial ZeeTerm is capable of multi-dialing any number of directory entries. Just select the entries you want dialed first. You then start the dialer by either double-clicking the last selection or by selecting this gadget. You can also dial one entry alone by double-clicking it. 5.1.2 Add Add a new phonebook entry by selecting this gadget. See the discussion about the PHONEBOOK EDITOR requester below. 5.1.3 Sort Alphabetically sort the entry names. 5.1.4 Edit Selecting this gadget without having marked any entries in the phonebook will have no effect. Select the entries you wish to edit, then select this gadget. See section 5.2 for a discussion of the PHONEBOOK EDITOR requester. 5.1.5 Toggle Selecting this gadget will cause all selected phonebook entries to become unselected, and all unselected phonebook entries to become selected. 5.1.6 All Selecting this gadget will cause all phonebook entries to become selected. 5.1.7 Print Selecting this gadget will cause the FILE REQUESTER to pop up in order for you to select the name of the device you wish to write the phonebook entries to. 5.1.8 None Selecting this gadget will cause all phonebook entries to become unselected. 5.1.9 Load Loads a phonebook file via the FILE requester. 5.1.10 Save Save the current phonebook via the FILE requester. 5.1.11 Delete Selecting this gadget will cause the selected phonebook entries to be deleted. In order to save your deletions, you must save the phonebook again. 5.1.12 Cancel Aborts the phonebook selection, and closes the PHONEBOOK LIST requester window. 5.2 Phone entry editor requester The PHONEBOOK EDITOR requester is accessed whenever you select Add or an existing phonebook entry when selecting Edit from the PHONEBOOK LIST requester. 5.2.1 BBS Name The phonebook entry name is entered here. If this is left blank the entry will be discarded regardless of any other information entered into the requester. You MUST enter some sort of name in order to have the new entry entered into the phonebook. You must then save the phonebook itself in order for this entry to be available for future use. 5.2.2 Comment Enter a comment for the phonebook entry here. 5.2.3 Phone number Enter the phone number here. Up to 40 digits are allowed. 5.2.4 Password The password for the current entry can be entered here. The length of the password is limited to 20 characters. 5.2.5 F-key file The macros file that will be loaded on connect with the phone number entered above. - Optional, if you do not write a filename here, no macros file will be loaded. 5.2.6 Arexx Script Another optional entry. If you enter a filename here it will be assumed as an Arexx script, and will be started when a connection is established. 5.2.7 Baud rate Selecting this cycle gadget will cause it to change to another baud rate. - It starts at 300 baud and ends at 115200 baud. When reaching the highest possible baud rate, it will cycle to start all over again at 300 baud. 5.2.8 Data Length Selecting this cycle gadget will cause it to switch between 7 and 8 data bits. 5.2.9 Duplex Will switch between half and full duplex. 5.2.10 Parity Will switch between No parity, Odd parity and Even parity. 5.2.11 Protocol Selecting this cycle gadget will cause the protocol desired for this phone entry to change to what is written. 5.2.12 Stop Bits Will switch between 1 and 2 stop bits. 5.2.13 Use IEMSI If this gadget shows "No", selecting this will inwoke the IEMSI Data editor. If it shows "Yes", it will disable IEMSI on this phonebook entry. See section 5.3 for details on the IEMSI Data editor. 5.2.14 Swap DEL&BS Switch the functionality on this phonebook entry. 5.2.15 Okay This gadget will end the current edit and return to the phonebook with whatever change you have made. If the PHONEBOOK EDITOR was opened via the Add gadget, the new entry will be added to the list. 5.2.16 Cancel This gadget will abort the current edit and return to the phonebook. If the PHONEBOOK EDITOR was opened via the Add gadget the entry will be discarded. 5.3 IEMSI Data editor requester The IEMSI DATA EDITOR requester is an editor for allowing ZeeTerm to use IEMSI on a given phonebook entry. It is inwoked whenever you select the "Use IEMSI" from the PHONEBOOK EDITOR. The Name, Alias, Location, Dataphone and Voicephone are your information to the other end of the line. The News, New mail, New files, Hot keys, Screen CLR, Quiet mode, More and FS Editor are the request fields. The request fields specifies what the user wishes to do once the initial IEMSI negotiation has been successfully completed. 5.3.1 Name Enter your name here. This is the name ZeeTerm will use when logging on a system supporting IEMSI. You must enter a name here, as an IEMSI session will not be successfull if you don't. 5.3.2 Alias If you are using an alias, enter this here. 5.3.3 Location The geographically location of the user, ie. Stockholm, Sweden. 5.3.4 Dataphone Unformatted Data telephone number of the user. Unformatted is defined as the full telephone number, including country and local area code. Eg. 46-8-90510 is a telephone number in Stockhold, Sweden. 5.3.5 Voicephone Unformatted Voice telephone number of the user. Unformatted is defined as discussed above in section 5.3.4. 5.3.6 News Show bulletins, announcements, etc. 5.3.7 New mail Check for new mail to you. 5.3.8 New files Check for new files. 5.3.9 Hot keys States whether or not you wish to use hot-keys. 5.3.10 Screen CLR States whether or not you wish to use the screen clearing option. Normally this means that screen clearing codes will be sent right before e.g. a menu is drawn on the screen, so that it will appear at the top of the screen instead of having to scroll the text up all the time. 5.3.11 Quiet mode Do not disturb. 5.3.12 More Page pausing, often referred to as "More". 5.3.13 FS Editor Use the full-screen editor (If available). 5.3.14 Okay This gadget instructs ZeeTerm to accept your IEMSI data editions. It will close the requester window and enable IEMSI on the current phonebook entry. 5.3.15 Cancel Aborts the IEMSI DATA EDITOR, closes the requester window, and disables IEMSI on the current phonebook entry. Selecting the close window gadget will perform the same action as selecting the Cancel gadget. 5.4 Dialer operation The dialer is controlled by three parameters in the main configuration file; number of retries, dial timeout and redial delay. The number of retries applies to each entry that is selected when the dialer is started. The dial timeout refers to how many seconds the dialer will wait for a connection after dialing. The redial delay is also in seconds, and is the amount of wait time at the end of the list before restarting again. When the dialer establishes a connection it will reconfigure ZeeTerm and load a macros file if one exists for that entry and start an Arexx script if one exists for that entry. A menu item is also provided to re-start the dialer from where it left off after making the last connection. This is not an auto-start type feature; you must restart the dialer yourself via the menu item or key sequence. 5.4.1 Response codes The dialer has a degree of intelligence by responding to the different codes that the modem is capable of returning. The codes and their effect on dialer operation is as follows: NO DIALTONE Dialer skips to next entry. VOICE Entry is de-selected. BUSY Dialer skips to next entry. RINGING No special effect. RING An incoming call is being made, the dialer will terminate immediately. NO CARRIER Dialer skips to next entry. CONNECT Entry is de-selected and dialer exits after re-configuring all ZeeTerm parameters to the settings in the phonebook entry. ERROR Causes dialer to exit immediately. 5.4.2 Dialer window The dialer will open the DIALER requester while dialing. There are two keys that are assigned functions to control the operation of the dialer. They are: Exits the dialer immediately. Skips to next entry or re-dial delay, as necessary. The same functions are achieved by activating the Abort and Skip gadgets. 5.5 The Phonebook data file ZeeTerm is capable of reading Ascii phonebooks, although it saves in a binary data format. This Ascii file works in the same manner that the ZeeTerm.CFG default parameters file, by using some keywords, as mentioned below. 5.5.1 Name SAGA AmigaBBS This defines the name of the system in the current entry. 5.5.2 Number 31163217 Defines the telephone number of the current entry. 5.5.3 Comment Home of ZeeTerm Enter a comment for the phonebook entry here. 5.5.4 FKeyfile ZeeTerm.keys The macros file that will be loaded on connect with the phone number entered above. - Optional, if you do not write a filename here, no macros file will be loaded. 5.5.5 ArexxScript Script.zt Another optional entry. If you enter a filename here it will be assumed as an Arexx script, and will be started when a connection is established. 5.5.6 Password password The password for the current entry can be entered here. The length of the password is limited to 20 characters. 5.5.7 Baudrate 38400 Select the baudrate to switch to before attempting to dial the current phonebook entry. 5.5.8 Datalength 8 The datalength to use on the current phonebook entry. Valid are 7 or 8. 5.5.9 Parity None The parity to use on the current phonebook entry. Valid are None, Even or Odd. 5.5.10 Stopbits 1 The stopbits to use on the current phonebook entry. Valid are 1 or 2. 5.5.11 Duplex Full The duplex mode to use on the current phonebook entry. Valid are Full or Half. 5.5.12 SwapDelBS NO Swap functionality of the DEL and BS keys on the current phonebook entry? Defaults to NO. 5.5.13 Protocol ZMODEM Which protocol to use on the current phonebook entry. Valid entries are: ASCII, XMODEM, XMODEM_CRC, XMODEM1K, YMODEM, YMODEM_G and ZMODEM. 5.5.15 #NEWENTRY This indicates that the current phonebook entry definition is done, and that there will be new definitions below this keyword. 5.6 Passwords The idea behind this feature is to make it simple to create and maintain unique passwords for each system you have an account on. Common sense tells you that having unique password for each system is safer than using the same password on many of them. Changing them every so often is also another good habit to develop in order to prevent unauthorized access of your accounts. ZeeTerm makes the maintenance of passwords easy by keeping the password in the phonebook entry. Having the password placed in the phonebook entry itself eliminates the possibility of losing it as long as the phonebook file isn't destroyed. Backup your phonebook often if you plan to use this feature. 6 FUNCTION KEY MACROS Up to 40 macros of 100 characters can be defined for each macros file. Select the appropriate modifier gadget in order to edit the desired set of macros for function keys to . 6.1 Macro escape codes A simple set of escape codes are included. They are listed as follows. \ Carriage return. \\ The '\' character itself. | Line feed. || The '|' character itself. 6.2 The ZeeTerm.keys file This datafile is, like all others, kept in pure ascii. When editing this file manually, you must know how ZeeTerm evaluates the entries. Every entry must be entered on one single line, with the initiater immediately in front. The initiater is defined as one character followed by the number of the F-key the text is supposed to be attached to. The text follows immediately after, without any seperation. The initiater has the following format. F1 = The key F1 F2 = The key F2 F0 = The key F10 A1 = The key combination ALT + F1 S1 = The key combination Shift + F1 C1 = The key combination Ctrl + F1 Enter the text you wish to be attached to the desired function key, immediately after the initiater, like this. F1This is the F1 key. This would perform "This is the F1 key." to be written, when you press the F1 key. 7 PALETTE REQUESTER Works like most any color palette requester found in other Amiga applications. 7.1 Red Green and Blue proportional gadgets These sliders adjust the associated color component of the selected color. 7.2 Color selection gadgets Depending on the screen type, there can be from 2 to 16 color selection gadgets available on the upper part of the PALETTE requester. Select the color you wish to adjust. 7.3 Swap Will swap the current color selection with another selection made immediately after selecting the Swap gadget. 7.4 Okay Selecting this gadget will close the COLOR requester, and cause ZeeTerm to use this new set of colors. 7.5 Copy Will copy the current color selection into another selection made immediately after selecting the Copy gadget. 7.6 Reset This gadget will reset the palette to the colors that were active when you activated the COLOR requester. 7.7 Cancel Selecting this gadget will close the COLOR requester, and will reset the palette to the colors that were active when you activated the COLOR requester. 7.8 Default palette ZeeTerm has a default color palette built-in for use with the terminal emulations. This palette is the custom default palette. When ZeeTerm is started without a defaults file present or when the defaults palette is not defined in the defaults file, this palette is set to the same values as the IBM color palette. 8 TRANSFER PARAMETERS 8.1 Protocol All the file transfer protocols in use by ZeeTerm strictly adhere to the specifications outlined in the various documents that are available for each protocoll. The following is a short description of the protocols available. (default: Zmodem) Xmodem The "grandfather" of most every protocol in use by personal computers today. The Xmodem checksum protocol was created by Ward Christensen back in 1977. Xmodem-CRC The original Xmodem protocol modified with a 16 bit CRC polynomial for better error detection. ZeeTerm will "step down" to Xmodem checksum if the sender does not recognize the initial CRC-16 handshake. Xmodem-1K A variant of Xmodem-CRC that uses 1024 byte blocks which gives you higher throughput than the original Xmodem protocol. Some systems incorrectly call this Ymodem. As with Xmodem-CRC, ZeeTerm will "step down" to Xmodem checksum if necessary. Ymodem This is TRUE Ymodem(tm) except that it will force uploads to 1024 byte blocks. It is a batch transfer protocol. The filename, date and file size are transferred in a separate header block at the beginning of each file that is transferred. This protocol also preserves the correct file size; the Xmodem and derivative protocols described above pad characters at the end of the file. Ymodem-G This variation of Ymodem is intended for error correcting modems and hard-wired connections. Because this protocol does no error correcting, it can dispense with the need for an acknowledgement of each transmitted block of data. The file is transferred with little delay and can achieve some of the highest throughput of any of the protocols listed here. If an error is detected, the transfer will be aborted, hence the need for an error-free connection in order to use this protocol with confidence. Zmodem This is one of the newest and most powerful protocols available. It is capable of batch transfers, automatically initiated uploads and downloads, 32 bit CRC error checking, and a unique ability to resume a transfer that had been partially completed. The Zmodem protocol was created by Chuck Forsberg. 8.1.1 Some notes on flow control Zmodem and Ymodem-G are known as full-flow protocols due to their ability to send data without interruption. For Zmodem transfers, all that is necessary is to activate the Xon/Xoff handshake in the Serial menu. Ymodem-G is a different problem altogether. If you're downloading to a floppy disk and are using the internal serial port you cannot use this protocol. Otherwise, you WILL lose data and, therefore, abort the transfer as this protocol only does error checking, not error correction. It also requires full 256 byte transparency so local Xon/Xoff handshaking is disabled when using it. If you're using a multi-port add-on board that supports the dropping of the RTS signal when the internal serial buffer is almost full (you must have CTS/RTS handshake enabled for this to work) then you will be able to use Ymodem-G to floppy disk. It goes without saying that if you have ample memory to spare, you would do much better transferring files to and from ram disk. 8.2 Zmodem send pathname. This mode is applicable to Zmodem uploads only. It will have no effect on Zmodem downloads. It will send the FULL path together with the filename, when selected. 8.3 Zmodem download options. These options are specific to Zmodem downloads only. They will have no effect on Zmodem uploads. 8.3.1 Protect file If the requested file already exists, ZeeTerm will change the filename of the new file, so that it will no longer conflict with the existing file. This is done by adding one to the last character in the filename. If this file also exists, ZeeTerm will continue until it can create a completely new file. (Eg. Filename0 will become Filename1 etc) 8.3.2 Append file If the requested file already exists, ZeeTerm will make attempt to resume the file transfer. A check is made by the receiving system to determine if the file that is about to be transferred is shorter than the one the sender has. The file will be skipped otherwise. 8.3.3 Replace file If the requested file already exists, ZeeTerm will simply overwrite the file with the new one. 8.3.4 16 or 32 bit CRC Instructs ZeeTerm whether or not to use the newer 32 bit CRC mode of error detection if possible. A 16 bit CRC will be used if the remote system does not support 32 bit CRC. File transfers using 32 bit CRC have a much higher degree of catching hard to detect errors at the expence of slightly slower throughput. 8.3.5 Auto Up/Download This feature, when selected, allows ZeeTerm to start a Zmodem up- or download automatically when a Zmodem auto- d/l or u/l header is received. 8.3.6 Receive pathname This mode is applicable to Zmodem downloads only. It will have no effect on Zmodem uploads. It will use the FULL path as received from remote, when opening the receiving file. 8.4 ASCII send options 8.4.1 Expand blanks When this feature is selected, ZeeTerm will send one space character for lines which contain only an end-of-line character. Use this option when the on-line text editor you're using exits its input mode whenever a carriage return is received without any text preceding it. (default: ON). 8.4.2 Receive path The ASCII protocol uses its own unique receive path for doing file transfers. This file path can be selected here. 8.4.3 Send path Like the ASCII receive path, the send path is unique too. 8.4.4 Ignore Carrier Detect Activate this if your modem does not have a functional carrier detect signal. 9 MODEM PARAMETERS These parameters enables ZeeTerm's intelligent dialer to interact with your modem properly. All strings default to standard Hayes modem commands and responses. 9.1 Modem commands Modem commands are sent to the modem for initialization, hanging up, and dial prefixes/suffixes. 9.1.1 Init command Sent to the modem when ZeeTerm is first started. Can be found and edited in the ZeeTerm.CFG file. 9.1.2 Hangup command Used to hangup the modem if the hangup option is set to use the hangup string. 9.1.3 Dial-up prefix This is the default dialing prefix that the dialer sends to the modem before the phone number for the phonebook entry is sent. (default: "ATDT") 9.1.4 Dial-up suffix This is sent after the dialer has transmitted the phone number. (default: "\") 9.2 Modem response codes The eight response codes and their Hayes defaults are: NO DIALTONE Sent if no dialtone signal was present. VOICE Not all modems are capable of sending this. BUSY Sent when a busy signal is detected. RINGING Sent when the phone rings in the other end. RING Sent when the modem detects a ring signal. NO CARRIER The remote system did not respond. CONNECT The modem has connected to another modem. ERROR Sent when the modem detects an error. 9.3 Intelligent dialer parameters The following parameters control how the intelligent dialer operates. See section 6.3 for details of its operation. 9.3.1 Redial delay Indicates how many seconds ZeeTerm will wait before re- starting after it has dialed the last selected entry in the list. Values between 0 and 999 will be accepted. 9.3.2 # of retries Controls how many times ZeeTerm will loop through the list of selected entries before exiting the dialer. Valid values range from 1 to 999. 9.3.3 Dial timeout How many seconds ZeeTerm will wait for a carrier after dialing the phone number for the current entry. Values between 1 and 999 are allowed. CAUTION! Your modem may have an internal timeout for this as well, make sure that it is set to a value in seconds that is shorter than the value entered for this option. If the modem is set to a longer value you will have disabled this feature of the dialer. 9.4 Hangup options 9.4.1 Drop DTR to hangup Select this option if your modem is capable of disconnecting when the DTR signal is dropped. 9.4.2 Send hangup string Select this option if your modem is not capable of disconnecting when the DTR signal is dropped. 10 MENUS The following are descriptions of the menu items available. 10.1 Project menu 10.1.1 About Displays information about ZeeTerm. 10.1.2 Capture file Select a capture file via the FILE requester, to which events happening on the screen will be saved. 10.1.3 Printer Select printer device (usually PRT:) whereto events happening on the screen will be printed. 10.1.4 Read config Will via the FILE requester read a default parameters file. 10.1.5 Save config Save a default parameters file via the FILE requester. 10.1.6 Quit Exits the program. 10.2 Phone menu 10.2.1 Phonebook Opens the phonebook. (See details discussed in section 5). 10.2.2 Dial number Prompts you with a string requester asking for a number to dial, then dials (if anything entered) the number via the intelligent dialer. 10.2.3 Re-dial Will dial any marked entries in the phonebook. NOTE! You cannot re-dial a number that already has been de-selected (if you already have been online), unless you once again open the Phonebook and select the number. 10.2.4 Send Password Sends the password for the active phonebook entry. The password is edited in the PHONEBOOK EDITOR. 10.2.5 Nodelist dir Change the directory via the FILE requester, for traplist library node list files. This is OPTIONAL, and if you have traplist.library node list files in this directory, you will be able to use node numbers instead of telephone numbers in the phonebook. 10.2.6 Hangup option Enables you to select if you want to hangup by dropping DTR, or by sending the hangup string. 10.2.7 Hangup Hang up the phone. When ZeeTerm is set to send the hangup string, ZeeTerm will make a short delay, send the ATTention string, make another short delay, and then send the hangup string. 10.2.8 Response codes Enables you to edit the various modem response codes. See the discussion in section 5.4. 10.2.9 Dial-up prefix Edit the default dialing prefix that the dialer sends to the modem before the phone number for the phonebook entry is sent. 10.2.10 Dial-up suffix Edit the suffix that is sent after the dialer has transmitted the phone number. 10.2.11 ATT string Edit the ATTention string, that is sent to the modem when the hangup option is set to send the hangup string. 10.2.12 Hangup string Edit the hangup string, that is sent to the modem when the hangup option is set to send the hangup string. 10.2.13 Init string Edit the initialization string, that is used to setup the modem when ZeeTerm is started. 10.2.14 Exit string Edit the exit string, that is sent to the modem right before ZeeTerm exits. 10.3 Transfers menu 10.3.1 Send file Initiate a file upload (from your system). See the discussion in section 3.5 and section 9 on file transfers. 10.3.2 Receive file Initiate a file download (to your system). 10.3.3 Protocol Select another file transfer protocol. See the discussion in section 8. 10.3.4 Zmodem options Tells Zmodem how to handle files during a file transfer. See the discussion in section 8. 10.3.5 Ascii options Tells the Ascii protocol how to handle files during file transfer. See the discussion in section 8. 10.3.6 File paths Change default send/receive directories. ZeeTerm uses two different file receive paths and two different send paths. One for the Ascii protocol and one for all the other protocols. This is very handy, as you probably don't have your text files in the same directory where you keep your other binary files. 10.3.7 Ignore CD Ignore carrier detect during transfers. If you are using a null-modem cable between two amigas (or possibly other machines), you will need to set this to on. Otherwise you will not be able to do file transfers, as a null modem cable do not have a carrier detect signal. 10.4 Serial menu 10.4.1 Baudrate Change ZeeTerm to use another baudrate. Baud rates from 300 to 115,200bps are supported. 10.4.2 Half duplex On older systems, or if you call a friend that also use a software terminal program, you will probably have to turn this on in order to see what you are writing (and not only the text your friend is writing). There is one exception to this, read the section about the Split-screen chatmode in section 12.2.1. 10.4.3 Parity Change the parity mode with which ZeeTerm will communicate with your modem. 10.4.4 Handshake Handshake (Xon/Xoff, CTS/RTS or None). See the discussion on handshake in section 2. 10.4.5 Send break Sends a break signal to the modem. 10.4.6 Device name Change the default serial device name via the FILE requester. 10.4.7 Device unit Change the default serial device unit number. 10.5 Terminal menu 10.5.1 Emulation Change the terminal emulation. See the discussion in section 3. 10.5.2 Font Enables you to change the currently used font parameters. 10.5.3 Load Keymap Loads a standard keymap from the DEVS:Keymaps/ directory via the FILE requester. 10.5.4 Load F-keys Load a pre-set of macro-key definitions via the FILE requester. 10.5.5 Edit F-keys Edit the function key macros. See the discussion in section 6 on this subject. 10.5.6 Save F-keys Save the current macro-key definitions via the FILE requester. 10.5.7 Translate Tx CR Change the way ZeeTerm translate transmitted CR's (Carriage return). There are three ways this can be translated, CR -> CR No translation, CR transmitted. CR -> LF CR is translated into LF (Line feed). CR -> CR+LF CR is translated into a CR+LF pair. 10.5.8 Translate Rx CR Change the way ZeeTerm translate received CR's. Like 10.5.7, this can be done in three ways. 10.5.9 Swap DEL & BS Swap the functionality of the delete and backspace keys. 10.5.10 Destructive BS Switch On/Off whether or not the backspace should be destructive. 10.6 Miscellaneous menu 10.6.1 Colors Change default number of colors (bitplanes). 10.6.2 Palette Opens the palette requester, if it is not already active. See the discussion in section 7. 10.6.3 Screen size Enables you to define how big (small) a screen you wish to use. 10.6.4 Interlace toggle Toggles the display between interlace and not-interlace. 10.6.5 Close Workbench Enables you to close the Workbench screen. When the Workbench is closed, this item will change contents so that it now reads "Open Workbench". If, for some strange reason, the Workbench screen could not be closed, the display will flash indicating that the action could not be performed. 10.6.6 StatusPane On/Off Toggles the statuspane on and off to give you an extra line of text (when using fonts smaller than the height of the statuspane). Selecting this menuitem when the Split-screen chatmode is active will do nothing. 10.6.7 Start Arexx script Starts an Arexx script. Arexx scripts for ZeeTerm has a filename ending with ".zt". 10.6.8 Execute DOS command Opens a window on the Workbench (or default public screen, if you are running under Kickstart v37 or later), and uses this as output for the command you specify here. CAUTION! Do not attempt to redirect input or output from commands executed from within ZeeTerm to the ZTHandler (">ZT:" or " Ex: Bitplanes 3 Sets the number of bitplanes to 3. The number of colors available follows the number of bitplanes in the power of 2, so that 1 bitplane gives 2 colors, 2 bitplanes gives 4 colors, 3 bitplanes gives 8 colors, and 4 bitplanes gives 16 colors. 11.4 Carrier Calling this command gives three different results, they are: 0 No carrier 1 Carrier present 2 Ignore CD is chosen 11.5 Clearprintfiles Frees ZeeTerm from making check for strings with accompagnying textfiles (See 11.2), and free all memory used for that. It is not necessary to call this command before you exits an Arexx- script and the list allocated by AddPrintFile will automatically be freed when ZeeTerm exits. 11.6 Conprint "String" Writes the string "String" to the screen, and adds +. 11.7 Conputc Writes as a character on the screen. 11.8 ConShowFile "Filename" Write the contents of the (text-) file "Filename" to the screen. 11.9 Conwrite "String" Writes the string "String" to the screen. 11.10 DropDTR Drops DTR. 11.11 Dialnumber "Number" Calls the phonenumber "Number", and checks in the nodelist. 11.12 EmsiPoll "EMSIdata" Tells ZeeTerm to use the EMSIdata file, and make a poll. Just as if you selected the "Poll EMSI" from the pulldown menus. When called from Arexx, ZeeTerm will not open the FILE requester in order to input a file name. This means that you can start ZeeTerm by a script, tell it to do an EMSI poll, and exit again right after. 11.13 GetAscRecvPath Tells which receivepath used at the present for the Ascii protocol. 11.14 GetAscSendPath Tells which sendpath used at the present for the Ascii protocol. 11.15 GetBaudrate Tells which baudrate used at the present. This result can also be used in conjunction with SetBaudrate. 11.16 GetChar Because of a lot of overhead, this function will not be usable under other circumstances than when running in "host"-mode. It causes ZeeTerm to wait for any character, and put it into the result. 11.17 GetDialdelay Tells the delay ZeeTerm will wait after dialing a number, and until it will abort the current dial. 11.18 GetDuplex Tells if you are running half or full duplex. 11.19 GetMaxTries Tells how many times the dialer will attempt to dial before aborting. 11.20 GetProtocol Tells which protocol used at the present. The string can also be used in the SetProtocol function. 11.21 GetRecvPath Tells which receivepath used at the present. Note: The Ascii protocol has its own paths. 11.22 GetRedialDelay Tells how many seconds ZeeTerm will wait between dialing two numbers. 11.23 GetSendPath Tells which sendpath used at the present. Note: The Ascii protocol has its own paths. 11.24 GetString Some sort of "input" routine. Takes all characters until an is met, and puts this in the result. 11.25 Hangup Looks like "DropDTR", but checks if the user wants "DTR-drop", and sends the hangup-string if not. 11.26 Iemsi "On"|"Off" Enables/Disables check for an IEMSI connection. 11.27 IngoreCD "Yes"|"No" Very useful in "host"-mode, because ZeeTerm will not send/receive files if there isn't a carrier present. Therefore, if you are using a null modem cable this must be turned on (IgnoreCD "Yes"). 11.28 Print "String" Writes "String" to both the serial port and the screen, and adds a + on the end. 11.29 Printer "On"|"Off" Starts/stops output to the printer. 11.30 Putc Writes as a character to both the serial port and on the screen. 11.31 Quit Exit's ZeeTerm. 11.32 ReceiveFile "Filename" Receives a file named "Filename" using the present transfer protocol. If you are using a batch protocol, the filename from remote will be used. If you are not using a batch protocol, "Filename" will be used as the filename, and the FILE requester will not be opened. 11.33 SendFile "Filename" Sends a file named "Filename" using the present protocol. Full path must be specified, or ZeeTerm will look in its current directory. 11.34 SerPrint "String" Writes the string "String" to the serial port, and adds +. 11.35 SerPutc Writes as a character to the serial port. 11.36 SerShowFile "Filename" Writes the contents of the (text-) file "Filename" to the serial port. 11.37 SerWrite "String" Writes the string "String" to the serial port. 11.38 SetAscRecvPath "FilePath" Sets the Ascii protocol receive path to "FilePath". 11.39 SetAscSendPath "FilePath" Sets the Ascii protocol send path to "FilePath". 11.40 Setbaud Sets the baudrate to . 11.41 SetDialdelay Sets the delay ZeeTerm will wait after dialing a number, and until it will abort the current dial. 11.42 SetDuplex "FULL"|"HALF" Sets duplex mode to full or half. 11.43 SetHostMode "ON"|"OFF" Only available from Arexx. If you are running in "host"-mode, ZeeTerm will normally not send the characters back to the remote. If you are setting "SetHostmode ON", all characters that is received will be sent back to the sender. Be sure that you switch this off *before* an Arexx script is exited! 11.44 SetMaxTries Set how many times the dialer will attempt to dial before aborting. 11.45 SetProtocol "Protocol" Sets the protocol to "Protocol". Currently, following protocols are available: "ASCII","XMODEM","XMODEM_CRC","XMODEM_1K","YMODEM","YMODEM_G" and "ZMODEM". 11.46 SetRecvPath "Filepath" Sets the default receive path to "Filepath". 11.47 SetRedialDelay Set how many seconds ZeeTerm will wait between dialing two numbers. 11.48 SetSendPath "Filepath" Sets the default send path to "Filepath". 11.49 ShowFile "Filename" Writes the contents of the (text-) file "Filename" to both the serial port and the screen. 11.50 SplitScreen "On"|"Off" Enters or terminates the IEMSI Split-screen chatmode. See section 12.2.1 for a discussion on this. 11.51 Version Tells you the $VER: informations in the result. 11.52 WaitChar "C" Waits for the character "C" before proceeding. The character specified is CASE SENSITIVE! You can also wait for a more specific asciivalue, so that e.g. WaitChar 27 will wait for a press on . 11.53 WaitString "String" Wait for the string "String" before proceeding. The string specified will be treated CASE SENSITIVE! 11.54 Wait Waits for seconds. 11.55 Write "String" Writes "String" to both the serial port and the screen. 11.56 ZMAutotrans "ON"|"OFF" Enable/disable autotransfer mode in Zmodem. Handy if running in "host"-mode. 11.57 ZMcrc 16|32 Sets Zmodem error-correction for either 16- or 32-bit CRC. 11.58 ZMFileOption "PROTECT"|"APPEND"|"REPLACE" Sets Zmodem file option as discussed in section 8.3. 11.59 ZTDelay Calls dos.library Delay() with as an argument. The is in 1/50 of a second. If is lesser than 2 (2/50 second), no delay is performed. 12 EMSI and IEMSI What is EMSI/IEMSI? The EMSI/IEMSI handshake protocol allows for maximum flexibility in E-Mail session start-up and control. EMSI/IEMSI should provide for virtually unlimited growth and expansion of its own scope. By providing variable-length packets, EMSI/IEMSI is capable of being as simple or as complex as necessary and entirely backwards compatible when new features and/or protocols are added. The EMSI/IEMSI implementation adhere strictly to the definitions in the FSC-0056 document. 12.1 EMSI EMSI requires a special datafile for each remote system you wish to poll. The remote system must be able to make a FidoNet EMSI session in order for ZeeTerm to correctly perform a mail session. This datafile must contain data about your system and some data on the system you wish to poll. As ZeeTerm asks for a datafile every time you choose the "EMSI poll" from the pulldown menus, you can have as many EMSI datafiles as you wish, doing mail sessions with as many systems as you have datafiles for. 12.1.1 The EMSI datafile The EMSI datafile is in pure Ascii, and should be edited with your favorite text editor to reflect the correct information during the mail session. This is done by some keywords, like in the ZeeTerm.CFG, and all of the following keywords must be present (and defined) in this datafile. SYSTEM >>> Your System <<< The name of your system. This would normally be a compagny name, BBS name or other identifying text. The length of the name is limited to 80 characters. AKA 2:231/84.0 2:30110/0.0 These are your Zone:Net/Node.Point numbers (seperated by spaces!). As the EMSI implementation is based on FidoNet- technology, it is required that Zone:Net/Node be presented, and .Point be omitted if zero. Zone and Net must not be zero. PASSWORD password For systems using a session level password, it would be passed in this field. Note that the same password is used for all presented addresses and that it must be treated case insensitive. If you are using the traplist library, the password is usually taken from the node list files, however if you write a password here, ZeeTerm will use this instead. If you do not have a password to the system you are calling, you should not specify a password or comment it out. The length of the password is limited to 20 characters. SYSOP Per Hansen The name of the person primarily responsible for the system. Change this to your own name. The length of the name is limited to 50 characters. PHONE 45-31163217 The telephone number of the system, or "-Unpublished-" if the telephone number is unpublished. This MUST be in the standard format COUNTRY-CITY-NUMBER. Leading zeros should be stripped from the city code, ie. Stockholm (Sweden) has a city code of 08, included in an EMSI packet, it would read 46-8-. CITY Valby, Denmark The geographically location of the system. The length of the location is limited to 50 characters. BAUDRATE 38400 The baudrate ZeeTerm should use during mailsessions using this datafile. BOSSNAME >> Your Boss << The name of your "Boss" (the place where you pick up mail). This is only used in the dialer, and only if you do not use the traplist library. Otherwise the name for your boss will be taken from the node list data files. BOSSNUMBER 12345678 The telephone number for the "Boss". If you are using traplist library, this can be a node number as well in which case the name (as mentioned above) will be taken from the node list. MAILPREFIX This string indicates that ZeeTerm is supposed to delete the files after a successfull filetransfer during an EMSI session. The string appears in the #?.FLO file before the filenames, and is normally created by the mailer to indicate which files that is supposed to be deleted after a successfull transfer. Examples could be a "#" or a pathname like "OUTBOUND:". The specified string will be removed before it is processed further, so if you specify a pathname, be sure that the files can be found by ZeeTerm after removing it. As ZeeTerm adds the outbound directory after removing the MAILPREFIX, you could specify the same directory that you use as the outbound directory, in which case all files found in the outbound directory will be deleted after a successfull transfer. That means that if e.g. a filename of "OUT:mailpkt.MO0" is found in the #?.FLO file, and you specify the MAILPREFIX as "OUT:" and the outbound directory is "OUT:", ZeeTerm will first remove the "OUT:" (that is specifyed as the MAILPREFIX) and thereafter add the outbound directory name "OUT:". If you don't specify a MAILPREFIX, ZeeTerm will make a (lucky) guess, which files to delete or not to delete. INBOUND MAIL:Inbound/ The inbound directory, for incoming files. The pathname must end with a "/", if it is not an assigned directory or a volume. OUTBOUND MAIL:Outbound/ The outbound directory, for outgoing files. 12.2 IEMSI The IEMSI protocol enables you to do fast logons on systems that supports this feature. The IEMSI has a built-in split-screen chatmode, that has some abilities you will not normally use when using ZeeTerm on standard systems without IEMSI. The various abilities are discussed below. 12.2.1 The IEMSI Split-screen chatmode. When ZeeTerm sense that the other end of the line wants to chat to you, it will go into Split-screen chatmode. This means that the screen splits into two parts, showing incoming characters at the upper half, and your typing at the lower half. The Split-screen chatmode works not quite the same way as running normally, in that any outgoing carriage returns are converted into carriage return and a line feed. ZeeTerm also does "word-wrapping" which means that if you are entering a line of text, and exceeds the screen-width, it will go backwards at the line you just entered, until a space character is met, whereon the word is "wrapped" (deleted from the current line, and automatically moved into the next line). The Split-screen chatmode can be entered manually by selecting the "Split-screen toggle" menuitem from the Miscellaneous pulldown menu. When the Split-screen chatmode is active, ZeeTerm will regardless of the Duplex mode (section 2.4.32) always use "Half" duplex. 13 THE DOS HANDLER The ZTHandler, which must be placed in your L: directory on your system disk, has got the ability of sending/receiving characters directly from/ to ZeeTerm. Very handy, if you need to send an "Info" (or something else) from the CLI to the other end of the line. This way you don't have to redirect to a temporary file and send this file with ascii later on. Place the handler in your L: directory, and make an entry in your mountlist (in the DEVS: drawer) that looks like this. ZT: Handler = L:ZTHandler StackSize = 3000 Priority = 5 GlobVec = -1 # The handler has got some options, to make life easier for you when logged onto systems that can't do these things. In order to address the right running copy of ZeeTerm, you will have to specify which one of them you want to access. This is done by writing a "filename" of the number of the running copy. The first running copy will have number zero, the next number one etc. If you do not specify a number, ZTHandler will default to 0 (the first). ZTHandler supports up to ten running copies of ZeeTerm. When logged on a BBS, you cannot count on remote handling linefeeds in the same manner that yourself. Therefore you can switch the output line terminators ( and ) around, so that a will be sent as a , or the other way around. Most bulletin boards will work alright when receiving a , but not when receiving a that is default in the CLI. Using the ZTHandler in conjunction with the Split-screen chatmode, works in a similar way, ie. you will have to convert line feeds into carriage returns. This is done by writing a "sub-directoryname" *after* the number of the running copy of ZeeTerm. Note that if you want one of these conversions, you *must* specify the number of the running copy. Examples: Info >ZT: Causes an "Info" to be redirected to ZTHandler, that sends the text further on to the first running copy of ZeeTerm. Info >ZT:0 Causes an "Info" to be redirected to ZTHandher, that sends the text further on to the first running copy of ZeeTerm. Info >ZT:1 Causes an "Info" to be redirected to ZTHandler, that sends the text further on to the second running copy of ZeeTerm. Info >ZT:0/c Causes an "Info" to be redirected to ZTHandler, that sends the text further on to the first running copy of ZeeTerm, and converting any line feeds into carriage returns ( becomes ). Info >ZT:0/C Same as above. Info >ZT:0/l Causes an "Info" to be redirected to ZTHandler, that sends the text further on to the first running copy of ZeeTerm, and converting any carriage returns into line feeds ( becomes ). Info >ZT:0/L Same as above. It is possible to run CLI "doors" like onlinegames using ZTHandler, simply by redirecting both the input and the output through this device. Example: Run Game >ZT: