1. What and Why is Wtp? ---- --- --- -- --- "Wtp" is a terminal emulation program which (currently) only runs on the Commodore Amiga (tm) personal computer. Why it was written is basically because it's author wanted to learn how to use the many wierd and wonderfull capabilities of the Amiga and terminal programs are something he has had some appreciable experience writing. Also, at the time when Wtp was started, available Amiga terminal programs were very limited (now we have lots and lots of the little buggers of just about any concievable combination of features.) a. General Features of Wtp: ------- -------- -- --- - DEC VT-102 terminal emulation. "Wtp" provides a very complete emulation including: all editing functions, keypad & function keys, character sets including special graphics and line drawing, VT-52 emulation, video atributes, tabs and other functions. See the section on VT-102 compat- ibility for a more complete list. The VT102 emulation has been tested with EDT, Emacs and a special compatibility tester. - Both XMODEM & text capture file transfers. A fast XMODEM receive option is also provided. - Programmable function keys. - Supports baud rates to 19200 and various character formats. - Options for visual, tone or speech bell. Speech bell phoneme string is user-programmable. Several cursor styles are supported. - Auto-dialing. - Saving and loading of settings files which include the function keys, communications, transfer & user preference options and an auto-dial phone number. Can auto-dial on load of a settings file. b. Distributed Files: ----------- ----- NOTE: Wtp is distributed FREE OF CHARGE! The "Wtp" distribution for version 3 consists of the following files: "Wtp" the executable file for Wtp. "Wtp.inf" an Icon file for Wtp, -- RENAME TO "Wtp.info" -- "Wtp.doc" this documentation file. "sgTopaz.fnt" modified Topaz font which includes special graphics. "sgTopaz.8" additional font data for "sg_topaz". "InstalSg" EXECUTE file to install "sg_topaz" in FONTS: directory. The "sg_Topaz" files are only required if the VT-102 special graphics character set is desired. c. Required System Resources: -------- ------ --------- Basic use of "Wtp" will require the presence of the following system resources: "DEVS:serial.device" serial port driver. d. Optional System Resources: -------- ------ --------- Some features require the presence of additional system resources: Use of the VT-102 special graphics character set: "FONTS:sg_Topaz.font" Modified font containing special graphics. "FONTS:sg_Topaz/8" (both are provided in this package.) Use of the speech bell: "DEVS:narrator.device" Speech output device. e. Running Wtp: ------- --- Wtp may be started from either the CLI or Workbench, though the CLI is currently the only way to start Wtp with a non-default Settings file. Support for Workbench settings icons will be added if the demand is high enough. Workbench start: double click on the Wtp "wombat" icon. CLI start: enter: "wtp ", where is the optional file path for an existing Wtp saved settings file which will be used for the default settings after Wtp loads. If no settings file is specified Wtp will search the current directory and then the directory "SYS:wtp" for a settings file named "default.wtp". If found it's contents will be used for the default settings, otherwise a reasonable set of default values hardwired into Wtp will be used. When Wtp finishes loading you should see a blank screen with a cursor in the upper left corner and with the current time displayed on the bottom (status) line with the elapsed session time, which will be 00:00 hours, to the right. If instead you see an alert box then Wtp could not start up due to lack of some required resource. The possible alerts are: "Can't open window" Wtp could not open the Intuition window to be used for it's output. Probably due to a lack of memory. "Can't get cursor sprite" The cursor used in Wtp is actually a hardware sprite. You may get this error if some other application has grabbed up all the available sprites. "Can't open timer" "Can't open serial Port" There was insufficient memory to allocate the MsgPorts or IORequests needed for serial or timer device operation, or the "serial.device" file is not present on the system. If you do not get an Alert you are up and running and should peruse the menu options to inspect/change the settings as needed. Note that the session time is the elapsed time, in hours and minutes, since you started the current call or since you reset it via the "reset session time" menu option. The current time is displayed in standard Amiga 24 hour format. 2. Communications Port Settings: -------------- ---- -------- Wtp uses the built-in serial port for communications. The settings controlling serial port operation are placed in the "Port" menu. All serial port settings are saved in "Settings" files. Wtp will restore the serial port back to your Preferences settings when it exits. a. Baud Rate: ---- ---- The "baud rate" menu item sets the receive and transmit speed. Available rates are: 300, 600, 1200, 2400, 4800, 9600 & 19200. Note that while Wtp can communicate at all these speeds, it cannot display characters faster than about a 4800 baud rate. This means that you will have to use XON/XOFF hand- shaking or padding characters for 9600 and 19200 baud operation. The default baud rate is 1200 baud. b. Character Format: --------- ------ Character format refers to the size, in bits, of transmitted and received characters: 7 or 8 bits, and also to the optional parity bit appended to the characters. Available parity modes are: "no parity" No parity bit sent. "even parity" Parity bit set to keep count of 1 bits even. "odd parity" Parity bit set to keep count of 1 bits odd. "space parity" Parity bit is set to 0. "mark parity" Parity bit set to 1. Most systems can use either "7 bits/space parity" or "8 bits/no parity." The default character format is "7 bits/space parity." c. Stop Bits: ---- ---- Stop bits are 1 bits appended to the end of transmitted characters which separate successive characters. The receiver hardware uses stop bits to determine that it has reached the end of the current character. Most systems expect 1 stop bit, though will work fine with 2 but at a lower rate since the time to send the extra stop bit eats up available transfer time. There is normally no need to run with 2 stop bits but the capability has been provided in the event that some system requires it. Note that due to hardware limitations within the Amiga serial port, you cannot specify 2 stop bits if you have specified 8 data bits AND a parity bit. Wtp allows you to make the selection but only 1 stop bit will actually be used. Default value is 1 stop bit. d. XON/XOFF Handshaking: -------- ----------- Some terminal functions take longer than a single character transmission time to execute, therefore the potential exists for the host system to send data so fast to the terminal that the internal 512 character buffer is overflowed causing the loss of some data. Also some systems can lose data sent by the terminal (especially from function keys) if it is sent too fast. To prevent loss of data, most systems will respond to and (possibly) also generate XON/XOFF handshaking. If either the terminal or the host are falling behind too far they sen an XOFF character (CONTROL-S) to the other device which then stops sending. When the receiving device has caught up it then sends an XON character (CONTROL-Q) and the sending device then continues sending data. Wtp will both send and receive the XON/XOFF handshaking protocol based on the setting of the option in the "Port" menu. Note that XMODEM transmission does not require XON/XOFF handshaking and will temporarily turn it off during an XMODEM send or receive transfer. The default setting is XON/XOFF handshaking turned on. 3. User Preferences: ---- ----------- Wtp maintains several options which are basically user preference items. The settings of all these options are preserved in saved Settings files. a. Cursor style: ------ ----- Cursor styles available in the "Screen" menu: "solid underline" two pixel line at bottom of character. "solid box" hollow box around character. "blink underline" blinking version of solid underline. "blink box" blinking version of solid box. Note that the blink rate is fixed. No menu option is given to change the blink rate but the actual rate is stored in Settings files and may be changed with a binary file editor. See section "B" for placement of the blink rate in the settings file. b. Bell Options: ---- ------- Several different bell options are provided in the "Screen" menu: "visual" Screen will be flashed. "beep" A 1 khz square wave tone is sounded for about 1/2 second. "speech" The "narrator" device is used as a spoken bell. Both the "speech" and "beep" options require that a speaker be attached to the Amiga on either channel. The "speech" bell also requires that the "narrator.device" file be present in the DEVS: directory. The bell is sounded at various times. The "visual" and "beep" bells are always the same. The "speech" bell uses different phrases for different events: 1. When the terminal receives a BELL character (CONTROL-G): the default phrase is "Attention", though the actual phoneme string spoken can be edited through the "edit speech bell" item in the "Screen" menu. Note that nothing will be spoken if you enter an illegal phoneme string. See the ROM Kernel Manual for phoneme formats. 2. At the end of an XMODEM send file transfer: "upload complete." 3. At the end of an XMODEM receive file transfer: "download complete." 4. On 1st, and every 10th error during XMODEM file transfer: "error." 5. When XMODEM file transfer is aborted by user or too many errors: "transfer aborted." 6. When a new Settings file is loaded & when bell type set to "speech": "ok." 7. At end of XMODEM receive in fast mode if an error occurred: "file is not complete." 8. If VT-102 keyboard lock is in effect and a key is pressed: "keyboard is locked." 4. User Programmable Function Keys: ---- ------------ -------- ---- Wtp allows character strings to be attached to all ten function keys in both shofted and unshifted form. Each definition may be up to 256 bytes long. All definitions are saved in a Settings file when the "Save Settings" menu option is executed and will be restored by a "Load settings". a. Programing a Function Key: ---------- - -------- --- Any unprogrammed function key, and by default this is all ten, will transmit a VT-102 compatible function key ID string (see section 5 for details) To program a string onto a function key you press either the left or right AMIGA keys and the function key to br programmed. Pressing the SHIFT key too will program the shifted version of the function key. A string requester will pop up on the screen with a text box showing the current string programmed on the specified key. Click in the text box to activate it and then enter or edit the definition for that key. The following special character sequences are recognized: '^ch' (up-arrow followed by a character 'ch'): Enters a control character into the string. 'ch' should be a character between 'A' and '_'. Examples: '^M' inserts a carriage return (CONTROL-M), '^[' inserts an ESCAPE. '\^' (backslash up-arrow): Enters a single up-arrow in the string. '\\' (backslash backslash): Enters a single backslash. Press RETURN or click the 'OK' box to accept the definition. Clicking in the 'Cancel' box will abort the changes made to that key. Any characters entered beyond the 256th will be dropped. Enter an empty string to return a function key back to it's VT102 definition. b. Invoking a Programmed Function Key: -------- - ---------- -------- --- Just press the function key or SHIFT and the function key and the programmed string will be transmitted out and also echoed to the screen if local echo is turned on. 5. VT-102 Terminal Emulation: ------ -------- --------- Wtp emulates many of the features of the DEC VT-102 terminal, too many to fully detail here. All supported control and escape sequences will be listed but you should refer to a VT-102 manual for detailed functioning of each command. Detailed info is given for areas where the Wtp implementation differs from the VT-102. a. Supported Features: --------- -------- KEYBOARD FUNCTIONS: -------- --------- Function keys: VT-102 function keys PF1 through PF4 are supported as Amiga keys F1 - F4 in all VT-102 modes including application and VT-52. Additionally, Amiga keys F5 through F10 generate sequences which are similar to and extensions of the standard four function keys. F1 through F4 use generate final char- acters in the range 'P' through 'S', F5 through F10 use 'T' through 'Y'. Cursor arrow pad: Fully supported in all VT-102 modes. Numeric keypad: Fully supported in all VT-102 modes. The missing keypad comma (,) key can be generated by pressing the ALT key and the keypad period (.) key. Short and long BREAK generation: Supported on the Amiga 'HELP' key as follows: 'ALT HELP' = short break, 'SHIFT ALT HELP' = long break. Keyboard related control sequences: (* = also available in the 'Screen' menu) ESC [ 2 h/l lock/unlock keyboard ESC [ 12 h/l *turn on/off keyboard local echo ESC [ 20 h/l *enable/disable linefeed newline ESC [ ? 1 h/l cursor pad application mode on/off ESC [ ? 2 l *enter VT52 mode (changes pad sequences.) ESC [ ? 8 h/l *enable/disable keyboard auto-repeat ESC = set keypad application mode (VT102 & VT52 modes) ESC > set keypad numeric mode (VT102 & VT52 modes) CHARACTER SETS: --------- ---- Character set mapping and selection are supported. The special character and line drawing character set is supported if the optional character set "sg_Topaz" exists in the FONTS: directory. The default mappings are: G0 = US ASCII set, G1 = special characters & line drawing set. Character set mapping and selection sequences: SO (CONTROL-N) selects G1 set as current set. SI (CONTROL-O) selects G0 set as current set. ESC ( x maps character set 'x' as current G0 set, ESC ) x maps character set 'x' as current G1 set: 'x' = 'A' for the UK character set (mapped to US set) = 'B' for the US character set = '0' for the special graphics set = '1' for alternate ROM set (treated same as 'B') = '2' for alternate ROM special chars (same as '0') ESC F in VT52 mode, selects special graphics set. ESC G in VT52 mode, selects normal US set. VIDEO ATTRIBUTES: ----- ---------- Fully supported, though the blinking attribute is mapped as a color change since fully supporting blinking would require more than 2 color planes. Normal color usage is: character foreground = color reg 1, character background = color reg 0. Video attribute sequences: ESC [ attr; attr; ... m Select video attributes, 'attr's are: 0 = reset all attributes to normal 1 = bold on (color register 2) 4 = underline on 5 = blink on (color register 3) 7 = inverse video on example: 'ESC[0;1;7m' selects inverse bold video. CURSOR MOVEMENT: ------ -------- Cursor movement sequences: (* = also available in 'Screen' menu) BS (CONTROL-H) backspace HT (CONTROL-I) horizontal tab to next tab stop LF (CONTROL-J) line feed, scroll if bottom of scroll region. VT (CONTROL-K) vertical tab, same as LF. FF (CONTROL-L) form feed, same as LF. CR (CONTROL-M) carriage return, move cursor to column 1. ESC [ ? 6 h/l set screen origin to scroll region/screen. ESC [ ? 7 h/l *enable/disable auto-wrap at right margin. ESC [ 'top' ; 'bot' r set scrolling region bounds, ex: 'ESC[1;12r' ESC [ 'count' A cursor up 'count' lines. ESC [ 'count' B cursor down 'count' lines. ESC [ 'count' C cursor right 'count' lines. ESC [ 'count' D cursor left 'count' lines. ESC [ 'row' ; 'col' H position cursor to 'row', 'col', eg: ESC[H homes. ESC [ 'row' ; 'col' f same as position cursor above. ESC D perform a line feed ESC M reverse line feed, scroll at top of scroll region. ESC E new line, same as CR then LF. ESC 7 saves cursor position, attributes, char sets. ESC 8 restores cursor position, etc. ESC H set a tab stop at current cursor position. ESC [ g or ESC [ 0 g clear tab stop at current position. ESC [ 3 g clear all tab stops. EDITING FUNCTIONS: ------- --------- Editing sequences: (* = also available in 'Screen' menu) ESC [ K or ESC [ 0 K erase to end of line. ESC [ 1 K erase start of line to cursor. ESC [ 2 K erase entire line. ESC [ J or ESC [ 0 J erase cursor to end of screen. ESC [ 1 J erase start of screen to cursor. ESC [ 2 J *erase entire screen. ESC [ 4 h/l turn insert mode on/off. ESC [ 'count' P delete 'count' chars from line at cursor pos. ESC [ 'count' L insert 'count' lines above cursor in scroll region. ESC [ 'count' M delete 'count' lines at cursor in scrolling region. REPORTS: ------- All reports are supported, though some simply send fixed responses. Report sequences: ESC [ 5 n terminal status (always reports terminal ok.) ESC [ ? 15 n printer status (always reports no printer.) ESC [ 6 n reports current cursor position. ESC [ c or ESC [ 0 c device attributes (reports I am a VT102) ESC Z same as device attributes report. MISCELLANEOUS SEQUENCES: ------------- --------- Miscellaneous sequences: (* = also available in 'Screen' menu) NUL (CONTROL-@) padding character, ignored. ENQ (CONTROL-E) transmits answerback (defined in 'Screen' menu) BEL (CONTROL-G) ring terminal bell. CAN (CONTROL-X) aborts any escape sequence in progress. SUB (CONTROL-Z) treated same as CAN. ESC c *resets terminal to default state. ESC # 8 displays screen full of 'E's. ESC [ ? 2 l enter VT52 mode. VT52 MODE SEQUENCES: ---- ---- --------- The following sequences replace the normal VT102 sequence set while in VT52 mode. Note that you can set/reset VT52 mode from the 'Screen' menu. A program enters VT52 mode through the ANSI 'ESC [ ? 2 l' sequence. Other VT52 sequences: ESC < exit back to ANSI mode. ESC A cursor up 1 line. ESC B cursor down 1 line. ESC C cursor right 1 character. ESC D cursor left 1 character. ESC H home cursor. ESC Y 'row' 'col' position cursor, 'row' & 'col' = # + 32 ESC I reverse line feed. ESC K erase to end of line. ESC J erase to end of screen. ESC Z identify terminal (replies: 'ESC / Z') b. Unsupported VT102 features: ----------- ----- -------- The following VT102 sequences have not been implemented mainly due to their usefullness not being worth the extreme difficulties involved. Maybe later guys. Note that though these functions are not supported, they will be accepted by Wtp and discarded. Unsupported VT102 sequences: ESC [ ? 3 h/l 132 columns, not enough screen resolution to do it. ESC [ ? 4 h/l smooth scroll. Come on, who really uses this. ESC [ ? 5 h/l screen reverse video. Tough to reverse all colors. ESC N, ESC O single shifts into G2 & G3 sets, no one uses them. ESC # 3, 4, 5, 6 double wide/high lines are a bitch to do right. ESC [ 'tests' y self-tests. ESC [ 'led' q turn on/off LED. ESC [ ? 18 h/l none of these printing functions are implemented: ESC [ ? 19 h/l ESC [ ? 0, 1, 5, 4 i ESC ^, ESC - ESC W, ESC X ESC ] ESC V c. Extensions and Differences: ---------- --- ----------- The 'Screen' menu option 'mouse cursor keys' enables the use of the mouse as an alternate method of moving the cursor. Click on the screen with the left mouse button and Wtp will transmit the proper cursor movement key commands to cause the host to move it's cursor to the desired location. 6. File Transfers: ---- --------- Wtp provides two transfer methods: simple text capture and XMODEM protocol transfers. XMODEM transfers may be either "text" or "binary" transfers, the simple text capture transfers are always "text" mode. "Binary" transfers will transmit and receive all possible 8 bit character codes without altering them in any way. This is required when transferring executable or library files. Selecting a binary transfer will temporarily force the terminal into "8 bit, no parity" character format for the duration of the transfer. "Text" mode transfers assume that the data being moved is 7 bit data and will automatically convert between the Amiga end of line character convention (a single line feed) and other conventions (carriage return or carriage return and line feed.) Any non-text characters may also be stripped from the transfer by setting the appropriate option. The state of the "text" mode transfer options may be inspected and changed through the "Text transfer options" sub- menu in the "File" menu. Note that the line feed translation option specifys both how to convert out-going LFs and how to convert in-coming end of line sequences into single LFs. TEXT FILE CAPTURE: ---- ---- ------- Text file capture will save characters that are displayed on the screen in a file that you specify. Selecting the "capture text to a file" item in the "File" menu brings up a file requester into which you enter the name of the file into which you wish to save the text. Pressing RETURN or clicking in 'ok' will start capturing text, clicking in 'Cancel' will abort the text capture operation. You may have to click in the text box before typing the file name. During the text capture operation, the left half of the bottom status line will display the name of the file which is receiving the text. All text transfer options specified in the "Text transfer options" sub-menu will be applied to the received data. Selecting "STOP CAPTURING TEXT" in the "File" menu will terminate text capture and close the file. SENDING A TEXT FILE: ------- - ---- ---- The "send a text file" option in the "File" menu prompts you for the name of an existing file. After you enter the name of the file, and press RETURN or click 'ok', Wtp will open the specified file and begin sending it's contents out the host port just as if you were entering it from the keyboard. Non-text character and LFs will be processed as per the "Text file options" sub-menu settings. The bottom right half of the status line will display the name of the file being sent during the transfer. Selecting "STOP TEXT FILE SEND" in the "File" menu will abort an ongoing file send. After the file has been completely sent, it is closed and the status line will rever to displaying the current and session times. XMODEM FILE TRANSFERS: ------ ---- --------- The XMODEM file transfer protocol is a method of transmitting a file between computers which was created by Ward Christensen for use on CP/M systems. The protocol is simple enough to implement and reliable enough that it has become the standard for most personal computers. Wtp implements the basic XMODEM protocol and also a few extensions. Note that Wtp now leaves the "send to back" and "bring to front" items in the "Stuff" menu enabled during the transfer so that you can continue doing other work while the transfer takes place. You should use "run Wtp" from the CLI if you want Wtp to run in the background. "CRC checksums." XMODEM achieves it reliability by sending a file in small chunks (records) and including a checksum which the receiver uses to verify the integrity of the record. The simple XMODEM checksum technique just adds the ASCII values of ann the characters in the record, which is simply but can potentially miss some types of errors. The CRC checksum option uses a different checksum method which can catch many mor transmission errors and so it is the method of choice. The receiver in an XMODEM transfer can tell the sender which checksum method it wants to use. The "use CRC checksums" option in the "XMODEM transfer options" sub-menu of the "File" menu (pause to take a breath) specifies whether you want Wtp to request a CRC transfer when receiving a file and whether to accept a CRC request when sending a file. You should normally leave the CRC option set unless you know that the system you are using does not accept CRC checksums. The transfer would work anyway but it speeds up the start of the transfer if Wtp knows not to try for CRC. The other extension to XMODEM used by Wtp is more non-standard. When receiving a file from a large system, such as Delphi or Compuserve, there can be a noticable delay between records sent by the system to your computer. This means that you wasting expensive connect time waiting for their computer to get around to sending data. There is a simple but dangerous way to speed up these transfers substantially. The trick involves fooling the system into starting to fetch the next record while the current record is being sent. The danger of this option is that if any legitimate transmission errors occur they will not be handled properly and the final file will have corrupted data. Wtp will inform you of the corruption but the transfer has basically been wasted. If you have a very clean connection and want to risk it, the "fast/unforgiving receive" XMODEM option can drastically speed up your transfers. I have used it heavily with Delphi with no ill effects (though mostly under Uninet, what Telenit and Tymnit will do is anybody's guess.) RECEIVING A FILE USING XMODEM: --------- - ---- ----- ------ Do whatever you have to do to get the host system to start an XMODEM transmission to your system. Select either "XMODEM (text) receive" or "XMODEM (binary) receive" from the "File" menu and enter the name of the file to receive in the requester, you may have to click in the text box first though (unless I can get 1.2 to work properly :-) A "text" receive will convert the received data into Amiga text using the current "Text transfer options", "binary" transfers leave the data alone. The status line will display the type of transfer, the name of the file and some additional info including: the number of 128 byte records received so far this transfer (0), the total bytes written to the file (0) and the number of records which had an error and had to be re-transmitted (0). If all goes well, within about 5 to 10 seconds you should see the received record count start to increment. If the transfer is using CRC checksums then you will see "CRC" to the right of the file name. The record number should increment about every second or two at 1200 baud (unless the system you are downloading from is busy.) Selecting "ABORT XMODEM TRANSFER" from the "File" menu will cancel an XMODEM transfer in progress. After the last record has been received, the status line will revert to displaying the current and session time and the received file will be closed. The final XMODEM status line contents will be copied to the line containing the cursor as an aid to determining whether the transfer was successfull or not. Remember that any errors during a "fast/unforgiving" XMODEM receive will render the received file useless. Try rerunning the transfer in non- fast mode. Remember to feed squeezed (xxx.xQx) and archived (xxx.ARC) files through the appropriate utility before using them. Both of these file types MUST be received in "binary" mode. SENDING A FILE USING XMODEM: ------- - ---- ----- ------ Do whatever you have to do to prepare the host system to receive a file using XMODEM protocol. Select either "XMODEM (text) send" or "XMODEM (binary) send" from the "File" menu as appropriate, enter the name of an existing file into the file requester box. If all is ok the bottom status line will display the type of transfer, the file name and the same status info as for an XMODEM receive. Within 5 to 10 seconds you should see the count of records sent start to increment, just as in the XMODEM receive. Selecting "ABORT XMODEM TRANSFER" in the "File" menu will cancel the transfer in progress. After the last record has been sent, the status line will revert to displaying the current and session time and the file will be closed. SENDING FILES BETWEEN TWO TERMINALS: ------- ----- ------- --- --------- When sending a file between two terminals you should always start the sending terminal first. If the receiver is started first it may take 10 or 20 seconds longer for the transfer to start up and also the CRC transfer request can be missed causing the transfer to use the more error-prone additive checksum method. 7. Auto-dialing: ------------ The "Dialing" menu contains options relating to use of the auto-dialing feature of Wtp. With that menu you specify: a title identifying the system you are calling, a phone number to dial (which must start with a digit), and whether the number should be dialed automatically when the Settings file containing these settings is loaded. Note that all dialing functions assume the use of a Hayes compatible modem command set. DIALING: ------- Selecting "dial number now" causes Wtp to first hang up the phone and then dial the phone number specified in the "Dialing" menu. You should see something like: Dialing at <number> +++ ATH ATDT <number> after dialing is completed you should get a connect message from the modem within 10 to 20 seconds. The dialing option will be disabled if no phone number has been specified. HANGING UP: ------- -- Selecting "hang up the phone" will cause Wtp to send the commands to the Hayes compatible modem to disconnect the current call. 8. Wtp Saved Settings Files: --- ----- -------- ----- Virtually all of the Wtp options you can specify in the menu (the exception being some of the VT-102 modes which have defined initial states), including function key definitions, user preferences, dialing options, transfer options and port settings, can be saved on disk in a Settings file. Selecting the "save settings" option in the "Stuff" menu brings up a requester into which you enter the name of the file to receive the settings. Pressing RETURN or clicking 'Ok' will write out the current settings. The saved settings are restored via the "load settings" command in the "Stuff" menu. Enter the same Settings file name as was used in the save. If all goes well then the bell will sound and your settings have been restored. If you specified "auto-dial when loaded" in the "Dial" menu then Wtp will also dial the associated number. If the file you asked to be loaded has been corrupted or is not a Wtp Settings file then no settings will be changed. The settings file capability allows you to create an entire library of settings for all the various systems you use, each customized for that particular system. 9. Miscellaneous Features: ------------- -------- Wtp Window Manipulations: The "send to back" and "bring to front" options in the "Stuff" menu allow you to place the Wtp terminal window in the back of other Workbench windows an so, if you started Wtp as a separate task, you can do CLI stuff or run other applications while Wtp is doing it's thing in the background. "mouse cursor keys" in "Screen" menu causes clicks of the left mouse button to be changed into cursor movement commands which are sent to the host. "reset session time", also in "Screen" menu, will reset the elapsed session time which is displayed on the status line, back to 0. It is auto-matically reset whenever you dial a new number via the "Dial" menu. A. REVISION HISTORY: -------- ------- Changes from version 2 to version 3: - EXTENSIVE VT102 compatibility added. - programmable function keys. - added fast XMODEM option. - allow editing of speech bell phonemes. - BREAK generation added. - fixed cursor handling to work properly on systems with > 512K RAM. - split "send to back/bring to front" into separate items. - fixed bug in XMODEM transfers which caused them to hang if you were using EVEN or MARK parity. Infinite thanks to Steve Plegge (aka Opus) for help catching this one. B. Things You Probably Didn't Want to Know: ------ --- -------- ------ ---- -- ---- a. Format of a Saved Settings File: ------ -- - ----- -------- ---- The following information is provided so that industrious folk can change fields in the Settings file which are not currently user-alterable. Note that the OFFSET and SIZE fields below are specified in bytes from the start of the file. All numbers are in HEX. DEFAULT OFFSET SIZE CONTENTS FUNCTION 0000 4 'tWtp' Tag used to determine file type. 0004 2 3 Wtp version number that created the file. 0006 2 0E2 Size in bytes of following parameter data. 0008 2 0 Size in bytes of following function key defs. 000A 4 0 - spare bytes, reserved for future use - 000E 2 0 Auto-wrap state, 1=enabled, 0=disabled. 0010 2 0 Local echo state. 0012 2 0 Line feed/newline state. 0014 1 1 Cursor type (0..3) 0015 1 2D Cursor blink delay (in 16.6 mSec increments.) 0016 1 0 Bell type (0..2) 0017 1 0 - unused - 0018 2 2 Baud rate (0..6) 001A 2 4 Character format (0..5) 001C 2 1 Number of stop bits 001E 2 1 XON/XOFF handshake enabled flag. 0020 2 1 Text transfer, LF conversion option (0..2) 0022 2 1 Text transfer, strip control chars flag. 0024 2 1 XMODEM use CRC checksum flag. 0026 4 40 XMODEM no. of records to buffer before disk write. 002A 2 0 Dial on load flag. 002C 20 "(.." Dial title string (0 terminated.) 004C 20 "(.." Dial number string. 006C 2 0 XMODEM fast receive flag. 006E 2 1 VT102 auto-repeat enable flag. 0070 2 0 - used internally - 0072 2 0 Mouse cursor enable flag. 0074 2 0 - used internally - 0076 2 0 VT102 in VT52 mode flag. 0078 2 0 VT102 smooth scroll flag (not used currently.) 007A 2 0 VT102 screen reverse video (not used.) 007C 2 0 - used internally - 007E 0A 8080... VT102 tab settings, 1 bit per column. 0088 20 "" VT102 answerback string. 00A8 4 275000 Length of short break (in uSec.) 00AC 4 2000000 Length of long break (in uSec.) 00B0 20 0 - reserved for future use - 00D0 20 "AXTT..." Speech bell phoneme string. Function key definitions: 00F0 ?? Strings for function key, prefixed by function key id byte and terminated with a 0 bytes. Extra 0 bytes terminates list.