NOTE: F3 and F4 are SHIFT-F1 and SHIFT-F2 respectively If you have no idea what the VT-Keypad is for, keep it off (make sure the "%" isn't on the top line by pressing [ALT]-[Q]). Saving all the default options ------------------------------ At this point you have just set all the options you need set upon each loading of Ultimaterm. Next step is to save all these default options to disk. This can be accomplished by pressing [ALT]-[D] from terminal mode to pull up the "Disk Commands" menu and then pressing [F1] to save all the parameters to disk. If you're wondering where the parameters are being saved, they take up two sectors on the disk - Track 17, Sector 17 and Track 17, Sector 18 - hidden behind the disk directory in two unused RSDOS sectors. I'll discuss all the features on the "Disk Commands" menu a bit later in the manual. For now, you're free to roam around Ultimaterm and use the rest of the manual as a reference should you need any further explanation on any commands. Ultimaterm Commands ------------------- When you load up Ultimaterm, you'll find yourself in terminal mode. To pop up one of the many windows that allow you some control over Ultimaterm, simply push the [ALT] key with one other key. In order to see what all the [ALT] key combinations are, press [ALT] in conjunction with the [/] and a command summary window will be displayed on your screen. Actually, this is just one of two command summary windows which are displayed. To see the second command summary window, press any key other than [BREAK]. [ALT]-[@] Credits I alone can not take credit for what Ultimaterm V4.0 has become over the past 3 months. In an effort to list some of the people who have made significant contributions to Ultimaterm V4.0, I have created this credit section. Fred McDonald has kept me in touch with Delphi so that I could see what people wanted from Ultimaterm V4.0. Rex Hebert provided me with the source for a CRC calculation which I used in V3.0. While making every attempt to improve upon various subroutines which I considered too slow in Ultimaterm, I wrote a new CRC calculator from the original which I'll provide further on in the manual. 9 Laverne Kelly has become my official voice to keep me in touch with Delphi officials and has also done much beta-testing to make sure V4.0 will stand bug-free for a long time. Jeff Mercer sent me a complete list of VT52 and VT100 control codes which made it possible to write support for these two terminal emulations. Guy Loucks provided me with the VT52 and VT100 keyboard control sequences and also helped me test the VT emulators out on his account on a local VAX. Dan Damron was the first to lay eyes on Ultimaterm and spent much of his own time helping me prepare this manual. I received many, many letters over that last three months (a few even had donations!) of people who were impressed with Ultimaterm V3.0 and previous versions and asked for many of the features now available in Ultimaterm V4.0. Without all this support, I don't think I'd have put as much effort into bringing you version 4.0 as I have. Now that 4.0 is complete, I will take the time to respond to all those letters!? [ALT]-[A] Autodial This is the section everyone has been asking for (well, everyone with a smart modem that is). This section replaces both the Autodial and Redial found in V3.0 with a complete and proper dialing directory. If you're not sure what a dialing directory is, simply put; it's a list of System Names, phone numbers, and terminal parameters that allows you to select a specific system to call and have the terminal program automatically set the parameters for that system and redial until that system is online. (whew!). Anyone vaguely familiar with terminal programs like Telix or Procomm on the IBM will know that we've been lacking a very useful feature for too long. Creating a dialing directory The first thing that happens when you select ALT-[A] from terminal mode is Ultimaterm looks for the dialing directory in memory. If found, it will display the directory and allow you to enter or dial various systems. If not in memory, Ultimaterm looks on the current disk to see if the dialing directory is present (under the filename "ULTDIAL.DIR"). If not, it checks to see if there's enough room on the disk for the dialing directory (at least 2 granules) and asks you if you want to create the directory to that disk. 10 When the directory is finally loaded into memory, it will be displayed on the screen as follows: System Name (30chrs) Phone W P S Baud Term ========================= ================ = = = ===== ====== . (15 entries per screen * 3 screens) . ======================== ================ = = = ===== ====== The list of possible keypresses will be displayed along the bottom (too wide to display here, but I'll explain 'em!) and an inverted bar will be placed at the top of the entries on the screen. Cursor Movement You can move the inverted bar up and down through the entries on screen by using the up and down arrow keys. To move through the three possible screens that can contain fifteen entries each, use [SHIFT] with the up and down arrow keys. Adding or Changing an entry Move the inverted bar to the place you'd like to add or change an entry by using the cursor keys. Then press [C] to start changing that entry. The first window that pops up asks you to enter in the "System Name". If you're changing an entry, you can just press [ENTER] to leave the system name unchanged. The next window that pops up asks you to enter the phone number for the system. Just type in the phone number and NOT any dialing commands (like ATDT). If you're changing an entry, you can just press [ENTER] to leave the phone number unchanged. The next window asks for the word length, 7 or 8 bits. Press [ENTER] to leave it unchanged. The next window asks for parity - None, Odd, Even, Mark or Space. Again, press [ENTER] to leave it unchanged. The next window asks for stop bits - 1 or 2. As always, press [ENTER] to leave it unchanged. The next window asks for baud rate. Select the baud rate you call that system at or press [ENTER] to leave unchanged. 11 The last window asks for the terminal emulator you want to use when you call the system. Again, select the emulation or press [ENTER] to leave unchanged. You will then be taken back to the dialing directory screen in which the entry you just created or changed will be displayed. At this point, go ahead and start adding entries into the dialing directory. The entries do not have to be sequential in the list so you can use one screen for certain types of systems, another screen for other types of systems, or like I do; a screen to hold voice numbers of friends. When the dialing directory is complete (or any time you make changes) you should use the "[S]-Save Directory" option to save the directory to disk (under the filename "ULTDIAL.DIR"). Should you wish to list the directory to your printer, you can use the "[P]-Print Directory" option which prints all fourty-five possible entries; even if they're blank. Before you can dial entries, you should first set the dialing prefix [^P] and dialing suffix [^S]. Just so you understand what the dialing 'fixes are, possible dialing prefixes for Hayes compatibles would be "ATDT" or "ATDP 9," while a possible dialing suffix for Hayes compatibles would be "[ENTER]". To slow down the sending of the dialing string to the modem, simply start the dialing prefix with a [^B] and a 1/4 second pause will be performed between each character. The next thing that needs to be done before an entry can be dialed successfully is the setting of the dialing directory options ([O]-Options). Pressing [O] will display the following screen: Dialing Options Dial time : 020 seconds Hang-up time : 002 seconds hang-up String: ue+++uuATH0 Abort String : Connect string: CONNECT Busy strings : BUSY : NO CARRIER : NO ANSWER : ERROR carrier Method: String A bit of explanation is in order for the "Dialing Options". To make it possible for Ultimaterm V4.0 to work with almost any smart modem, I had to make Ultimaterm a little smart itself. Most smart modems send messages to the terminal so that you can see what the modem detects on the phone line, whether it be a busy signal, or no dialtone, etc. Ultimaterm V4.0 will send the dialing prefix to the modem followed by the phone number selected (with no spaces, unless 12 you include them in the number or dialing 'fixes) and finished off with the dialing suffix. It then has to assume that the modem is dialing the number and will alert Ultimaterm to the modem's status. If Ultimaterm receives no response from the modem for the set length of the dialing time, it will send the abort string to hang-up the modem and then dial the phone number again. If a connection is made and the modem responds with the connect string or puts DCD on the RS232 pak low, Ultimaterm makes some noise and drops to terminal mode. The "Dial time" can be changed by pressing [D] and typing in a new time. "Dial time" is how long Ultimaterm will wait for a response from the modem before attempting the dial again. If you're going through many switchboards (i.e., long distance calls) you can lengthen the dial time. If you're calling a local number that rings right away, you might choose to shorten the dial time to get in more autodial attempts (and therefore a better chance at being the next caller on the system). The "Hang-up time" can be changed by pressing [H] and typing in a new time. "Hang-up time" is the length of time to wait after sending the abort string and before attempting to dial again. This is useful for making sure the modem is ready to accept the dialing string (preventing half the string from being ignored by the modem). The "hang-up String" is actually used by the ALT-[H] while in terminal mode and not by the dialing directory. The reason I chose to place the hang-up string here is these options are modem-specific options, while "Modem Options" are general settings. I use a hang-up string of "[^A][^B]+++[^A][^A]ATH0 [ENTER]" which sends a one-second pause (^A), sets the rest of the string to be sent at 1/4 second intervals (^B), sends +++ which returns my modem to the command state, pauses for 2 seconds (^A^A) to give the modem a chance to catch it's breath, and finally sends the hang-up command ATH0 followed by a carriage return (^M). The "Abort string" is the string that is sent to abort the current dial attempt and prepare for the next attempt. On Hayes compatibles, one simply pushes [ENTER] or [SPACE] and the dialing command is immediately aborted and the modem returned back to command mode. I use a hang-up string of just one carriage return (^M). The "Connect string" is used to identify the response the modem gives to indicate it has connected to the system being dialed. On Hayes compatibles, "CONNECT" will cover "CONNECT 300", "CONNECT 1200" and "CONNECT 2400". The "Busy strings" are used to identify the responses the modem gives to indicate it cannot make a connection and a redial should take place. I've squeezed room for four possible busy strings such as "BUSY", "NO CARRIER", "NO ANSWER" and "ERROR". 13 "carrier Method" is used to decide the best way to recognize that a successful connection has been made. If set to "String", then the "Connect string" and "Busy strings" will be used in autodialing. If set to "DCD", then the CD status of the RS232 pak will be monitored until a connection has been made. DCD is by far the most reliable but will only work if you have an RS232 pak AND DCD on your modem is set to active (or normal). When all the "Dialing Options" are set to work with your modem, you can use the "Default Option Save" available from the "Disk Commands" window (ALT-[D] from terminal mode) to permanently save them to disk. Dialing a number There are two ways to dial a number from the dialing directory. You can select [M]anual dial whereby you get to enter the phone number you wish to dial (basically for a once-only dial) or press [ENTER] or [SPACE] to dial the inverted entry. When the dialing process starts, you will be shown the "Autodialer" window which is basically for your own entertainment. It displays the number being dialed, the number of times it's been redialed, the countdown to the next dialing attempt, and the status of the last attempt. The "Autodialer" window also allows you quick changing of both the "Dial time" and the "Hang-up time" to quickly and easily adjust the autodialer to the fastest possible dialing attempts. The window also allows you to manually abort the current dial attempt and try again, to abort the dial attempt and exit from the dial window or to just exit from the dial window while leaving the number dialing away. The "Autodialer" window looks like this: Autodialer Dialing : 242-3515 Attempt # : 15 Countdown : 005 seconds Last attempt: Not connected [D]ial time : 020 seconds [H]ang-up : 002 seconds [SPACE] to restart [ENTER] to exit [BREAK] to abort and exit The phone number following "Dialing" will be displayed one digit at a time as the digit gets sent to the modem. The "Attempt #" counts down from the "Dial time" to zero, at which time it sends the abort string and redials the number; printing the words "Not connected" for the "Last attempt". If you're using the connect and busy strings, then "Last attempt" will also display "BUSY" or "NO ANSWER" or whatever busy string was received by the modem. 14 Before an autodial is started, the parameters for that selection are set and then initialized. If you have a switch on your modem that manually selects 300 or 1200 baud, you must set that switch to the baud rate you choose to call the system at before you can autodial the number. [ALT]-[B] Buffer Commands Buffer Commands gives you minimal control over a few buffer functions. Pressing [ALT]-[B] will give you the following menu: Buffer Commands C Clear Buffer D Display Buffer P Print Buffer S Buffer Status "Clear Buffer" simply resets all the buffer end pointers so that the buffer is cleared and ready for taking in new text or receiving new files across the modem. "Display Buffer" simply dumps the contents of the buffer in a straight list. You can pause the display by pressing any key and abort it by pressing [BREAK]. "Print Buffer" does the same as "Display Buffer" but directs the contents to the printer. "Buffer Status" shows you how much memory is used, how much is free, how many disk granules it will require to save the contents of the buffer and how many Xmodem and Ymodem blocks it will take to send the buffer. [ALT]-[C] Conference Mode Sometimes known as "Chat Mode", Ultimaterm's conference mode allows separate entry of text from the received text so that many people can hold a conference without incoming text splitting apart text you're trying to type. When you press [ALT]-[C] the Conference Mode window pops up which asks you how many lines you want to use for your personal text entry. Remember that the more lines you allocate for yourself, the fewer there will be to view received text on. You might want to limit yourself to using one or two lines at the most just to ensure you don't babble on! 15 After you select how many lines you would like for the conference mode, the screen will clear and a bar will split the lines you have to type in text (on the bottom of the screen) with the lines that received text will appear in. Each section of the screen will have it's own cursor. If you wish to capture the incoming text in your own buffer, press [ALT]-[T] to open the buffer. The cursor in the top section will turn from an underscore to a box and a "*" will appear on the top status line. While in conference mode all [ALT]-[key] options will be available to you with the exception of [ALT]-[A] (autodial), [ALT]-[C] (conference) and [ALT]-[Q] (VT Keypad toggle). To exit from conference mode, simple press [BREAK]. [ALT]-[D] Disk Commands Disk Commands provides you with a bit of control over disk files. Pressing [ALT]-[D] will bring up the following window: Disk Commands L Load from disk to buffer S Save buffer to disk D Directory K Kill File F Format Ramdisk R Backup to Ramdisk B Backup to Floppy F1 Default Option Save F2 Default Option Load "Load from disk to buffer" allows you to load any RSDOS file from an RSDOS disk into Ultimaterm's buffer. You can then send that file using one of the transfer methods. If the file being loaded is in ASCII format, you will be asked if you want to add linefeeds to the file while it's being loaded. If you answer yes, then any linefeeds in the file will be ignored and any carriage returns in the file will be complemented with a linefeed. "Save buffer to disk" allows you to save any file you've received (or loaded) into the buffer to an RSDOS formatted disk. When you select save you will first be asked for the filename to save the file under and then asked for the file type. The file types are as follows: File type appear as ------------------------ --------- ASCII File 1 A XX BASIC ASCII File 0 A XX BASIC Binary File 1 B XX Machine Language File 2 B XX Text Editor Source File 3 A XX 16 If the file saved is an ASCII File, and it is too long to fit on the current disk, you will be asked if you would like a multiple save performed. In a multiple save, the file is saved as much as can be on the current disk and then you will be prompted to insert another disk to continue saving the file (under the same name) on. If the file saved is any other type and it is too long to fit on the current disk, you will be told the file will not fit and the save will be halted. If the file saved is an ASCII File, you will be asked if you want to strip linefeeds during the save. If you reply yes, then any time a linefeed is encountered in the file, it will be ignored and won't make it to the file on disk. If the filename you wish to save under already exists on the disk, you will be told so and asked if you want to save the file anyway. "Directory" simply allows you to take a directory of the RSDOS disk or ramdrive (if 512K is present). It will also display the number of granules that are free. "Kill File" allows you to kill a file on the RSDOS disk or ramdrive (if 512K is present). It is the same as the KILL command under RSDOS. "Format Ramdisk" allows you to erase the contents of the ramdisk giving you 68 granules free. "Backup to Ramdisk" allows you to BACKUP from a floppy to the ramdisk to make file transfers go much faster. Of course, this will only work if 512K is present. "Backup to Floppy" allows you to do just the opposite of the previous. The disk you want to backup onto must be formatted in RSDOS or an error will occur. "Default Option Save" allows you to save all the changeable parameters of Ultimaterm onto disk. The parameters are saved onto track 17, sectors 17 and 18 where they are out of the way of regular RSDOS operation. "Default Option Load" allows you to load all the changeable parameters of Ultimaterm from disk. Although these parameters are loaded upon the initial execution of Ultimaterm, you may have changed a few of the parameters and would like to load the originals back. For this reason, I've provided "Default Option Load". 17 [ALT]-[E] Exit This command allows you a clean exit back to RSDOS to save you the trouble of pressing [ALT]-[CTRL]-[RESET] or turning your Coco 3 off and on. When you select EXIT, the ROMS are copied back to RAM and the reset vector is called to perform a warm start. [ALT]-[F] Freeze Screen For those of you who hate watching text scroll by you at 2400 baud with no means of stopping it temporarily, I've provided a screen freeze command that will halt screen display while still giving you all the [ALT]-[commands] at your fingertips. To enable text-to-screen again, simply press any key other than one of the [ALT]-[commands]. ** NOTE ** Only 3K of text will be buffered. When the buffer is full it will start to write over the text that has already been received. [ALT]-[H] Hang-up Modem This command will try to hang-up the modem in one of two ways. If you have an RS232 pak, the first thing that the modem tries is dropping DTR for a second and then raising it again. If a connection is still present, it tries the second method. The second method is the only method tried if you don't have the RS232 pak. The hang-up string (changeable from the Autodial Options) is sent to the modem. If none of these work, you can always unplug your modem from the wall or turn it off?! [ALT]-[I] Freeware Information This is the section that asks you to send me a donation for my efforts in bringing you Ultimaterm. Please remember that Ultimaterm is Freeware which means you are under no obligation to support any future efforts I might decide to bring to the CoCo 3 world... If you do decide to send some money, I will send you back a licensed copy of Ultimaterm with a printed copy of the manual. If anyone should send a donation to me and says they got it from "such and such"'s serialized copy (please include the serial number) then I will send them back 10% of your donation. ** NOTE ** The only copy of Ultimaterm that will appear on Delphi or CIS or any other major network will be '000000' to be fair to everyone else who has donated. 18 [ALT]-[K] Keyclick toggle Keyclick is simply a sound that is generated each time you press a key on the keyboard that the computer picks up (in case you didn't know!). I find it very useful myself while others find it annoying. You can toggle keyclick on and off by pressing [ALT]-[K]. [ALT]-[M] Monochrome/Composite toggle Not everyone is blessed with an RGB monitor of any brand. If you are using a television or monochrome monitor, [ALT]-[M] will be especially of interest to you. This command toggles the display between black on white and shades. When in "black on white", the colorburst will be disabled to make an even clearer picture on a TV set. [ALT]-[O] Set Options Please refer to the beginning of this manual so I don't have to type this section in all over..! [ALT]-[P] Print Screen This does a straight dump of the screen to an 80 column printer so that you can forever keep a copy of the current display on the screen. If the printer is not ready, the screen dump will be aborted so as Ultimaterm doesn't sit around waiting for a printer to come online. If you have to, use [ALT]-[F] to freeze the screen while you get your printer ready. [ALT]-[Q] VT Keypad Toggle For all you people who use your terminal program on a VAX network of any kind, Ultimaterm will not only support screen controls sent out by these systems, but will also do it's best to emulate the keyboard of one. When [ALT]-[Q] is turned on, you will see a "%" on the top status line and some keys will be reassigned new values. They are as follows: VT-100 or ANSI emulation Key New Assignment Transmitted codes ------------- -------------- ----------------- Shift @ Home cursor (1B5B48) Up arrow Cursor up (1B5B41) Down arrow Cursor down (1B5B42) Right arrow Cursor right (1B5B43) Left arrow Cursor left (1B5B44) CLEAR Clear screen (1B5B481B5B324A) Shift ENTER Erase to end of line (1B5B4B) 19 VT-52 emulation Key New Assignment Transmitted codes ------------- -------------- ----------------- Shift @ Home cursor (1B48) Up arrow Cursor up (1B41) Down arrow Cursor down (1B42) Right arrow Cursor right (1B43) Left arrow Cursor left (1B44) CLEAR Clear screen (1B481B4A) Shift ENTER Erase to end of line (1B4B) If in VT-100 emulation and the host asks for application control functions, then Ultimaterm will change all the "1B5B" sequences in cursor movements to "1B4F". If you're not familiar with what I mean by "Transmitted codes", all I'm saying is that when you press a key (e.g., CLEAR under VT52), the codes 1B (ESCape) 48 ("H") 1B (ESCape) 4A ("J") will be transmitted across the modem. [ALT]-[S] Buffer checksum This command adds together the 8-bit values of the bytes in the buffer and comes out with an 8-bit checksum value. The only real use for this is to check a file after it's been received to make sure the receiver got the file properly. Since Xmodem and Ymodem have their own error detection and correction processes, this command's value will lie in ASCII transfers. The larger the file is, the longer you'll have to wait to be told the calculation of the CRC. [ALT]-[T] Buffer Toggle Any incoming text can be stored in the text buffer for future saving to disk or transmission. To open or close the buffer, press [ALT]-[T]. When the buffer is open, the cursor will change to a block and an "*" will appear on the top status line. When closed, the cursor will appear as an underscore. [ALT]-[V] Ultimaterm Version This is just a single window that serves no other purpose than to display the version of Ultimaterm that you are using. 20