Write ~~~~~ Set this to "Yes" to let the caller write files to your disks by commanding your PC to receive with REC, HREC, XREC, YREC, GYREC, and KREC. To prevent the caller from writing to your disks, set this to "No". Overwrite ~~~~~~~~~ Set this to "Yes" to give a caller with Write privileges the option to overwrite your files. Set it to No to keep your existing files intact; if a caller sends files whose names match existing files, his only options are to save under new names or cancel the transfer. Print ~~~~~ Set this to "Yes" to let the caller use PRINT to run your printer. Set this to "No" to prohibit printing, or if your printer is prone to mechanical problems that make unattended printing impractical. If you let callers print, be sure to leave your printer on and with plenty of paper. File management ~~~~~~~~~~~~~~~ Set this to "Yes" to let the caller use COPY, DELETE, RENAME, MKDIR, and RMDIR, to manage your files or directories. To prevent tampering with files or directories, set this to "No". Access limited to ~~~~~~~~~~~~~~~~~ Set this to the drive or directory to which you wish to restrict this caller's access. This becomes the caller's default location; commands he uses affect only this drive or directory, and its subdirectories. Telephone number to call back ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Set this to the caller's phone number, so that this password can be used only from that location, or so that phone charges go on your bill, not the caller's. After a caller enters this password, your PC hangs up, waits a moment, then calls the specified number once. During this time, the caller commands his modem to answer (S0=1 for Hayes-compatible modems), but leaves his software configured as described in Chapter 8. After the modems reconnect, the caller can begin using the privileges this password confers. Unlimited DOS use ~~~~~~~~~~~~~~~~~ Set this to "Yes" to let callers with FreeComm and HyperTerminal (the HYPERTRM emulator) use your operating system and programs. (This privilege is automatically withheld from callers using other emulators, which are incompatible.) To use your operating system, the caller enters DOS. To exit the operating system and resume using FreeComm host commands, the caller enters EXIT. Limits to caller privileges set with other options on this menu no longer apply when the caller is using the operating system. So you should give operating system access only to people you trust implicitly. For more information on remote program use, see Chapter 9. Manage list of scripts and programs caller can run ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ See Chapter 8. Deleting passwords ~~~~~~~~~~~~~~~~~~ To delete a password, select "Manage password list" and "Delete", then select the line in the Password List to be deleted. Modifying passwords and privileges ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Select "Manage password list" and "Modify" and select the desired password. When the Privileges menu displays, you can select "Caller's password" to change the password, or select and change the caller's name or privileges. When you're done, press ESC to return to the Answer menu. 8.7 Remote use of programs and scripts ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Answer mode can adapt to your needs. You can have it run scripts or programs the instant a caller logs on or logs off, or when the caller enters custom host commands that you define. In fact, you can list separate scripts or programs for each caller, with up to a dozen for each. Callers with FreeComm and HyperTerminal (the HYPERTRM emulator) can see and use programs almost as if their monitors and keyboards were attached to your PC(see Chapter 9). However, all callers can use scripts and non-interactive programs for applications like these: þ Electronic mail After the caller enters his password, you could have a script run that checks your disk for messages to that caller. See the discussion of the MAIL command in Appendix E. þ Programs that prepare files After the caller enters his password, you can have a script or program (such as database, compiler, or batch file) prepare reports or other files, which the caller can then pick up using FreeComm host commands. þ Custom, user-defined commands You can incorporate your own commands with the existing FreeComm host commands commands that run scripts or programs, to do things such as file encryption, compression, compiling, mail processing, use external file transfer protocol modules (such as DSZ or Jmodem), etc. Programs that perform post-call processes After a caller logs off, you could have a script or program (database, compiler, batch file, etc.) process files the caller has sent, or do record-keeping related to the call. You can use the following procedures to add (or modify) the list of scripts or programs associated with a given password, regardless of the caller's software: 1. From the Privileges menu, select "Manage list of scripts and programs callers can run". 2. Select "Add" or "Modify". (After selecting "Modify", select the line you wish to modify from the list at the bottom of the menu.) 3. Enter the line FreeComm will use to start the script or program. In addition to the script or program name, this line can include any inputs to be passed to the script or program. Inputs for scripts must be typed here following guidelines given in Chapter 7 (multiple inputs separated by commas, etc.). Inputs for programs must follow the format accepted by that program. Some programs refer to such inputs as program startup options or switches. You can pass the caller's name as an input by including in the line which starts the script or program (as illustrated by the WELCOME.HP script). If you plan to select "When-caller-enters-command" in the step which follows this, you may type ? in place of any input that you expect the caller to supply. For each ? in this line, one caller-supplied input will be substituted. When callers enter commands, they can supply inputs by typing them on the line with the command, separated by spaces. If a caller supplies fewer inputs than expected, the excess question marks are ignored; if he supplies too many inputs, his extra inputs are discarded. 4. To indicate when the script or program is to be run, select: Following-logon-- This causes the script or program to run immediately after the caller enters his password. If you list more than one script or program to run following logon, they are run in the order they appear in the list. When-caller-enters-command After selecting this, you are prompted to enter a one-word command the caller will use to run the script or program. (It need not be the same as the script or program name that you entered in the previous step). This command will display along with the existing FreeComm host commands when the caller enters HELP, and can be entered by the caller in the same way. After-disconnect-- This causes the script or program to run immediately after the caller disconnects. If you list more than one script or program to be run after disconnect, they are run in the order they appear in the list. Compatible scripts ~~~~~~~~~~~~~~~~~~ The scripts you write for use here can display messages to the caller, accept caller responses, or perform complex processes. Generally, such scripts are written rather than learned. For information on writing scripts, get the FreeComm Scripting Manual from the Delrina BBS. For helpful examples, see the script WELCOME.HP; after a caller logs on with the password limit or unlimit, this script displays a brief, personalized welcome message to the caller. Compatible programs ~~~~~~~~~~~~~~~~~~~ While callers with FreeComm and HyperTerminal can run other types of programs as well (see Chapter 9), all callers can use non-interactive programs. To be considered non-interactive, a program must run to completion without keyboard input from the caller, and produce no screen displays the caller must see. Likely prospects are compilers, file transfer protocol modules, compression programs, encryption programs, operating system commands, and batch files that run such programs. Many data base and spreadsheet programs contain programming languages that can be used to write applications (to generate reports, update files, etc.) which are non-interactive. 8.8 Locking the Password List ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You can lock the Password List to prevent unauthorized individuals from using your keyboard to examine or modify the passwords. Once the Password List is locked, it can be accessed only with a master password which you define. (The master password is used only for accessing the password list; callers cannot use it to log on to your PC.) To lock the password list: ~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. From the Answer menu, select "Manage password list". If the password list has already been locked, you must enter the existing master password to proceed. 2. Select "Lock-list". 3. Enter the new master password. It can be up to 20 characters. Note: Don't lose your master password! Once you've locked the password list, the only way to examine, change, or unlock it is to select "Manage password list" and enter the master password. If you do lose your password, your only recourse is to delete DCL.ANS (the encrypted file which contains all the Answer mode passwords) and define new passwords as described in Chapter 8. 8.9 Switching voice calls to data ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You can switch voice calls into data calls to let the other party run your PC's Answer mode (provided you both have modems). To switch a voice call to data, select "Emit carrier" to allow a voice call to switch to data from the Answer menu. What happens next depends on the type of modem you have FreeComm either commands your modem to emit a carrier, or instructs you to do so. When the other party hears your modem's carrier (a continuous, high-pitched tone), he should complete the connection as described in his modem manual. If he has a Hayes-compatible modem, he would issue the ATO command, leaving his PC configured as in Chapter 8. 8.10 Using a cable instead of modems ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Exchanging files with adjacent computers through a cable is not only faster than using diskettes, it may be the only way to exchange files between computers with incompatible disk formats. FreeComm makes exchanging files through a direct cable connection especially fast and easy. (If both PCs have FreeComm, see Chapter 9 for step-by-step instructions.) Here is the general procedure. 1. Use a null modem cable to connect the two computers' communications ports. See Appendix A for information on cables and consult your computer dealer if you need assistance. 2. Select "Direct cable connection to another computer" from the Answer menu and enter the baud rate. Higher rates produce faster transfers. Almost all PCs work reliably at up to 19,200 bps; many ATs and most 386 or 486 PCs work at up to 115,200 bps. Next, enter the communications port that this PC will be using. 3. Configure the other computer as described in Chapter 8, using the same baud rate as in step 2. You need not type anything further at the keyboard of the PC on which you selected Direct cable connection to another computer. From the keyboard of the other computer, sign on and use commands as described in Chapter 8. 8.11 Redefining the modem ~~~~~~~~~~~~~~~~~~~~~~~~~~~ To select the modem or device used for answering calls, select "Hardware" and "Modem" from the Answer menu. The settings on this menu are used as follows. Modem name ~~~~~~~~~~ This lets you set the modem or device used for answering calls. If the name of your modem is not in the list, please read "About your modem" in Appendix A for recommendations. If you normally use a direct-cable connection with Answer mode, select Direct-cable. That way, you can answer merely by selecting "Wait for data calls", instead of selecting "Direct cable connection to another computer" and entering the baud rate and port every time. Rate, default for Answer menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This lets you set the baud rate Answer mode uses when waiting for calls. However, if a call arrives at another baud rate and your modem shifts to that rate, so will Answer mode. (Some callers will find it necessary to press ENTER about once per second, so that Answer mode can determine the baud rate.) Number of rings on which to answer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This lets you set how many rings Answer mode waits for before answering each call. Normally this is set to 1. You may want to set a higher number if you sometimes answer voice calls on the same phone line. Additional modem setup commands ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This lets you specify commands to append to those Answer mode issues when it sets up your modem to wait for calls. Normally, nothing need be set here. But if you want to activate other modem features or alter the modem configuration, look up the appropriate commands in your modem manual and enter them. 8.12 Assorted settings for Answer mode ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To set miscellaneous settings that affect Answer mode, select "Assorted settings" from the Answer menu. Log calls in the file ~~~~~~~~~~~~~~~~~~~~~ Use this to set which file is used for logging calls and file transfers. Make up any filename you like, or enter no filename, to disable logging. If the file does not exist, it will be created. Each time your PC is accessed, the date, time, caller's name, call duration, commands used, and files transferred are logged. The log is an ASCII file, which you can read with the Editor, or print with ALT-F, Print. To discard its contents, just delete the file; a new file will be created the next time a call is answered. Keep partially received files ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Set this to "Yes" to keep partial files resulting from interrupted or aborted Zmodem or HyperProtocol transfers. Using this setting will make it possible for callers to send the rest of the file later. To send the rest of the file, callers need to use Zmodem with its file recovery feature enabled; callers with FreeComm will need to set Resume broken transfers to Enable on the Zmodem menu. 9.1 FreeComm to FreeComm Communications ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ FreeComm is a truly general-purpose communications program, excellent both for accessing diverse computer systems, and for PC-to-PC communications. This chapter tells how to do the most popular PC-to-PC operations, giving step-by-step instructions which assume both PCs have FreeComm. If you need to communicate with PCs that have different programs, use the rest of this manual, together with the manual from the other program. By getting FreeComm for both PCs, you can avoid having to sort out how dissimilar programs fit together and get far better performance. FreeComm has many features that streamline communications with other copies of FreeComm. With them, you can: þ Call another PC and control it entirely from your end the person at the other end doesn't have to type a thing. þ Transfer files between the PCs at several times the baud rate of your connection. þ Run programs or use the operating system of the remote PC. You can see and use programs almost as if your PC's monitor and keyboard were attached to the remote PC. þ Move files between PCs through an RS232 cable at baud rates 10 to 50 times that of a modem. þ Log onto other PCs automatically or accept "callbacks" from other PCs. þ Do PC-to-PC file transfers when both PCs are unattended. þ Place automatic calls to series of PCs and exchange files with each. The next three sections tell how to use your keyboard to connect with another PC and transfer files manually. Even if your goal is unattended communications you should begin with these sections the first step in automating most any task is to perform the task manually. 9.2 Beginning a PC-to-PC session ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Before you begin a PC-to-PC communications session, you need to decide which PC is going to call and which is going to answer. This decision affects more than just who pays the phone bill, it determines which PC will be in control. In communications between PCs with FreeComm, the PCs have a master-slave (or terminal-host) relationship. The calling PC is the master (or terminal) and the answering PC is the slave (or host). From his keyboard, the caller can command the answering computer to send or receive files, or to do other processes. In fact, no one even needs to be present at the keyboard of the answering computer. Methods presented in other chapters for calling, answering, and communicating in general are equally applicable when the remote system has FreeComm, so you should read those other chapters when you need detailed information. But for quick results, you can just follow these condensed, step-by-step instructions: Preparing for a session through modems ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. To prepare one of the PCs to answer, select "Answer" from the Main menu, then select "Wait for data calls". (See Chapter 8 for more detailed instructions.) Nothing further needs to be typed on this PC now, nor during calls. 2. To prepare the other PC to place a call, select "Define system settings" and "Modify" from the Main menu, then select "Another PC with DFC" from the System List. Enter the phone number, correct the Rate if necessary, and return to the Main menu. (For more detailed information, see Chapter 4.) 3. To place the call, select "Call a system" and "Data-call" from the Main menu, select "Another PC with DFC". (Instructions resume below in Logging on.) Preparing for a session through an RS232 cable ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Connect the PCs using a null modem cable. (See Appendix A for cable details.) 2. To prepare one of the PCs to answer, select "Answer" from the Main menu, then select "Direct cable connection to another computer". Enter the baud rate you want to use, and then enter the number of the COM port. Nothing further needs to be typed on this PC now nor later, during a PC-to-PC session. 3. To prepare the other PC, select "Define system settings", "Modify", and 'Another PC via cable'. Enter the desired "Rate". Select "Communications port", "Standard comm port", and enter the correct port. Then return to the Main menu. Note: Most PCs and XTs support baud rates up to 19,200 bps, while AT, 386 and 486 PCs may handle up to 115,200 bps. 4. To establish the connection, select "Call a system" and "Data-call" from the Main menu, then select "Another PC via cable". Log on as described below. Logging on ~~~~~~~~~~ 1. If the prompt Enter password: doesn't display when you connect, press ENTER a few times (about once per second) to make it display. 2. Enter the password given to you by the person responsible for the other PC, or enter unlimit (one of the original passwords). Passwords do not display as you enter them. If the other PC won't admit you even when you enter a valid password, see Chapter 8. 3. If the prompt "Please enter your name:" displays, enter your name. Use any format you like: Jane Doe, jdoe, or Jane would all be acceptable. At this point, you (the caller) can enter commands to control the other PC as described in Chapter 8 and Appendix E. While the [DFCHost] prompt that FreeComm presents may look like the host PC's command prompt, it is actually a special interface which accepts only certain commands, depending on the password. However, authorized callers can access the host PC's real operating system prompt by entering DOS at the [DFC Host] prompt. 9.3 For fast, reliable file transfers... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ One of the main attractions of PC-to-PC communications is the ability to transfer files. FreeComm is outstanding for this. It transfers files error-free in substantially less time than other programs. How HyperProtocol compares to other protocols ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ While the conventional protocols (Xmodem, etc.) in FreeComm are faster than in other programs, HyperProtocol is faster still. Other protocols are less efficient because they send data in packets, and after each packet, they stop and wait for the receiver to send back an acknowledgement. HyperProtocol achieves higher efficiency by sending in a continuous stream, including error-checking codes at adaptive intervals. Unnecessary pauses are eliminated: the receiver doesn't send back incessant acknowledgements that good data is good, it merely requests retransmission of data damaged by line noise. Through local phone lines or cable, HyperProtocol cuts transfer times 3% to 20% compared to other protocols. And through long-distance lines, high-speed modems, ISDN's D-channel, or other connections that exhibit line delays, HyperProtocol cuts transfer times by 20% to 50%. How on-the-fly file compression helps ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When FreeComm senses that the other PC also has FreeComm, it compresses files on-the-fly as it transfers them, to reduce the number of bytes that must be sent. This occurs automatically with every protocol (except Zmodem, Text, and CompuServe B) and adapts dynamically to the contents of each file. FreeComm's compression techniques equal the compaction rates of dedicated, off-line compression programs. Yet compressing files is automatic and incurs no pre-transfer or post-transfer delay. Even the delay of writing compressed files to disk is avoided data remains compressed only for the instant when it passes between computers. Program files may transfer in 30% less time, text files in 50% less time, and spreadsheet or database files in 50% to 80% less time. Even with modems that have built-in compression, FreeComm compression gives substantial gains. During transfer of small (under 4K), uncompressible, or pre-compressed files (compressed by programs such as ZIP or PKZIP), compression automatically switches off. 9.4 How to transfer files ~~~~~~~~~~~~~~~~~~~~~~~~~~~ After you've connected as outlined in Chapter 9, you can transfer files as described here. Instructions in this section are directed to the caller, because the person who placed the call controls the entire process. (The answerer doesn't even have to be present). All you do is enter a command at the [DFC host] prompt to make the answering PC send or receive, then press ALT-O and select "Transfer" to make your PC receive or send. Take these steps: To make the answering PC receive ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Connect as described in Chapter 9. 2. On the calling PC, type HREC and press ENTER at the [DFC host] prompt, to command the answering PC to receive. 3. Press ALT-O, select "Transfer", "Send", and "HyperProtocol", to make the calling PC send. (See Chapter 3 for time-saving tips.) 4. Enter the name of the file (or display a directory with ALT-D and select from it). To send multiple files, include * or ? in the filename, or use multiple-entry mode, or enter /B with a batch file name (for details, see Chapters 3 and 5). Note: If you take too long to do steps 3 and 4, the answering PC gives up waiting for the transfer to begin. Repeat steps 2 through 4 more quickly. To make the answering PC send ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Connect as described in Chapter 9. 2. On the calling PC, type HSEND, a space, a filename, and press ENTER at the [DFC host] prompt, to make the answering PC send. To make it send multiple files, use * or ? in the filename, or use /B and a batch filename as in Chapter 3. 3. Press ALT-O, select "Transfer", "Receive", and "HyperProtocol", to make calling PC receive. (See Chapter 3 for time-saving tips.) 4. Enter the drive and/or full directory name where you want the calling PC to put the file, or press ENTER with no entry, to use the calling PC's current working directory. During a transfer, you can watch how things are going if you like, but no participation is required. When the transfer is done, press ENTER to continue. To cancel a transfer that is under way, press ESC; wait a few seconds for a cancellation or press ESC again to cancel immediately. File transfer options ~~~~~~~~~~~~~~~~~~~~~ To use slash options for sending, precede the filename with the desired option and a space, when you prepare the answering or calling PC to send. To send files from a directory and its subdirectories, use /S and filename which includes that directory and * or ?. Or use /B to send files whose names are listed in a file batch. (See Chapters 3 and 5 for details). To use slash options for receiving, precede the filename with the desired option and a space, when you prepare the answering or calling PC to receive. Use: /O to Overwrite existing files whose names are the same as received files /N to receive only files whose times and dates are Newer than existing files /P to store received files where the Path in the received filename indicates. Whether a received filename includes a path depends on how it is sent; FreeComm includes the path only when files are sent with the /S option. (See Chapter 3 for details.) It is sometimes convenient to use slash options both in preparing one PC to send, and in preparing the other to receive. That is, on one PC you might use /S to send files from a directory and its subdirectories, and on the other PC use /P to receive the files into a corresponding directory and subdirectories. Chapter 3 gives examples. 9.5 Remote use of DOS or programs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ After you have connected with the host PC and accessed its operating system as described in 9.2, you can see its command prompt, use its operating system commands, and run its programs. Defining privileges on the answering PC ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Prior to the call, the answerer must define a password for the caller, and set whether the caller can use the operating system, or just specific programs. Compatible programs ~~~~~~~~~~~~~~~~~~~ If the answering PC is running DOS, callers can run most DOS programs that use 25x80 text display mode and require 460k or less memory. Programs that use graphics display modes, require a mouse, or reconfigure the port or interrupts cannot be run; this includes some communications, many TSR, and all Windows programs. TSRs started by a caller are removed from memory after the call. When the caller accesses the operating system or starts a program, it will occupy the existing FreeComm session on the answering PC; the caller cannot start additional sessions, nor switch to other, existing sessions. What you see when running programs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You notice that programs display less quickly and smoothly when run remotely. The performance is impressive, however, when you consider that all that display data is coming through your modem, whose speed is typically 1/10,000 that of a monitor cable. The programs look exactly the same on your PC as on the answering PC unless the display types differ widely. If there is a monochrome display at one end and a CGA, EGA, or VGA at the other, then colors and character attributes are converted automatically. HyperTerminal can sense when noise on your connection corrupts data, and tells the answering PC to re-send the data. If errors happen to slip through and affect the screen image, press ALT-O and select "Display" and "Refresh", to receive a fresh screen image. If the program you're running displays information in the bottom line that you need to see, you can suppress FreeComm's own bottom line. Press ALT-O, select "Display", "Bottom-line", then select "No" to turn off FreeComm's bottom line off unconditionally, or "Auto" to have it go off only when you're running programs. Tips on using programs remotely ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Your role changes when you leave the [DFC host] prompt and begin using programs. Rather than controlling the other PC by typing FreeComm host commands, it's as if you were running that PC yourself. If you tell it to write to disk or print, it writes to its disk or prints on its printer. To get the file onto your disk, or print the information on your printer, you need to return to the [DFC host] prompt and use FreeComm host commands to transfer it. To print the screen, write it to disk, or copy it to the Review buffer, press ALT-O, then select "Display" and "Print", "Write", or "Copy" to Review. Screens are updated through selective replacement of text, without scrolling into the Review buffer. Data arrives non-sequentially, so using the Comm screen "Capture" and "Print" options is impractical. When a program requires a key that FreeComm normally uses (for example, an ALT- or sequence key), press ALT-O, select "Quote", then press the key. Or, to make the keys available indefinitely, press ALT-O and select "Send-keys". To restore them, press ALT-O and select Keep-keys. (To send ALT-O, press it once, select "Quote", and press it again.) Keys that your own PC's operating system uses (NUM LOCK, CAPS LOCK, CTRL-ALT-DEL, etc.) are never sent; neither are non-standard keys such as CTRL-SHIFT, and mouse output. Recovering from "hang-ups" ~~~~~~~~~~~~~~~~~~~~~~~~~~ The answering PC can resume waiting for calls automatically when factors beyond FreeComm's control cause hang-ups like these: þ The modems lose the connection or the caller hangs up while using a program or the operating system. þ The caller seems to forget that he was running a program remotely, and fails to type anything for 15 minutes. þ A program the caller was using locks up, and fails to send any new display data to the caller for 15 minutes. FreeComm re-boots the PC, and resumes waiting for calls only if you've set up the PC's AUTOEXEC.BAT file correctly. AUTOEXEC.BAT is a file in your boot directory containing commands your PC executes when it boots. (See your DOS manual for details.) To resume waiting for calls, it must contain the line DFC /A. You may also want to add commands to change directories, and to prevent FreeComm from starting every time you boot the PC, as this example shows: CD \DFC IF EXIST DFC.SAV DFC /A CD \ The first line changes to the directory containing FreeComm. The second line starts FreeComm and waits for calls only if FreeComm.SAV exists; FreeComm.SAV exists only if FreeComm was already waiting for calls before the PC was re-booted. The third line changes back to the root directory. Note: These lines must precede any lines which require you to be present to enter information, such as "Time" or "Date". If there is a power outage while the PC is waiting for calls, it will automatically resume waiting when the power comes back on. 9.6 Automatic logon ~~~~~~~~~~~~~~~~~~~~~ If you often call another PC with FreeComm, you may want to have your program learn to log on for you, to save you the work. To do this, follow these steps. 1. Select "Call a system" from the Main menu. 2. Select "Learn-logon", then select the desired system from the System List. 3. When you connect with the other PC, log on as usual (as described in Chapter 9). 4. When you're done logging on and the [DFC host] prompt displays, it's time to stop learning the logon script. Press ALT-L to select "Learn" and then select "Stop". 5. When you're asked if the script should be compiled, select "Yes". The next time you call, the logon will be done for you. When the logon is complete and the [DFC host] prompt appears, you may command the other PC as usual. 9.7 Automatic file transfers ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If you regularly transfer certain files, you could save time by automating the steps involved in beginning the transfer. 1. Connect with the other PC and log on as in Chapter 9. 2. Prior to doing steps that prepare the PCs for the transfer, press ALT-L to start learning. 3. Prepare the PCs to begin the transfer. 4. When the transfer is complete, press ALT-L again, to stop learning. Complete the learning process by entering a name for the script that has just been learned, assigning it to a key, etc. Next time you call the PC, you can do the transfer by pressing the script's key, or by pressing ALT-R and entering the script name. 9.8 Making a complete automatic call ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If you often call a certain PC to do a specific file transfer or some other repeatable process, you may want to have FreeComm learn to make the call for you. This not only saves you time and effort, it may reduce your phone bill, since FreeComm can do things faster than you can. Note: Before automating a call, call a few times manually, to get gamiliar with the steps. To have FreeComm learn the call: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Press ALT-L to begin learning on the Main menu, and then call the other PC as usual (select Call a system, etc.). 2. After you finish logging on (or after your logon script finishes), go ahead and do the file transfer or other repeatable process. (Variable processes can be learned, but may require some editing.) 3. When you're done performing the process, log off. 4. Press ALT-L to stop learning. To complete the learning process, enter a name for the script, assign it to a key, etc. To make a call by running this script, either press its key, press ALT-R and enter its name, or include its name when you start FreeComm. 9.9 Time-delayed calling ~~~~~~~~~~~~~~~~~~~~~~~~~~ Once you've got a script that makes an entire call, you can delay the call until phone rates are low. FreeComm can learn a sequence that starts the script at a given time: 1. Go to the Main menu and press ALT-L to start learning, and press ALT-L again, to bring up the Learning options. 2. Select "Time-delay", and then "Minutes" or "Time-of-day". Enter the length of time to wait, or the time when the call should take place, as described in Chapter 7. No delay occurs now; it occurs only when you run the sequence. 3. Now press ALT-R and enter the name of the script that makes the call. After the script finishes the call and ends, press ALT-L, and stop learning (enter a sequence name, assign a key, etc.). Henceforth, you can place this time-delayed call just by starting this sequence. 9.10 Multiple automatic calls ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If your business or organization has PCs spread out among several sites, automatic communications among them can prove very useful. You can place automatic calls to one PC after another to collect or distribute fresh sales or inventory data, or to move messages among sites. By adapting automatic communications to your needs, you can share timely data at a fraction of the cost of express mail, Wide Area Networks, leased lines, or other methods. There are many viable strategies (topologies) regarding which PCs should call, which answer, when to call, and in what order. This section discusses only one strategy: having a central PC call others. The PCs that will be answering should be prepared. To prepare the PC that will be placing calls: 1. One at a time, automate the call to each PC. Each PC needs to be listed individually in the System List with a logon script that does a complete, "hands-free" call to that PC. In the following steps, you'll learn a sequence which places calls to all the PCs, one after the other. 2. Press ALT-L on the Main menu. 3. Select "Call a system" and "Data-call". 4. To start selecting PCs to be called, press CTRL-ENTER to begin multiple- entry mode. Move to each line in the System List that contains one of the PCs and press ENTER. After you've selected all the desired PCs, press CTRL-ENTER to end multiple entry mode. 5. Enter the number of times each call should be retried, in the event that its logon script fails. (Failure can stem from a noisy phone line; redialing may produce a better line.) 6. When FreeComm begins to place the first call, press ALT-L and stop learning and complete the sequence. 7. If you prefer that the calls not actually be placed now, press ALT-A to abort them; otherwise, let them run to completion. To call the PCs automatically, you run the sequence you just learned: either press its key, press ALT-R and enter its name, or include its name in the line you use to start FreeComm. 9.11 Accepting a callback ~~~~~~~~~~~~~~~~~~~~~~~~~~~ When you call a PC that is configured to answer and call you back, use the following procedure. 1. To prepare to place the call, select "Define system settings" and "Modify" from the Main menu, then select "Another PC with DFC" from the System List. Enter the phone number and, if necessary, correct the "Rate". 2. Select "Hardware", and then "Modem". 3. Select "Additional modem commands" and enter S0=1. FreeComm appends this to commands sent to the modem before each call. (S0=1 makes Hayes-compatible modems answer; if your modem isn't Hayes-compatible, enter its equivalent command.) 4. Press ALT-M to return to the Main menu. Once you have done this, here is how you call and log on. 1. Select "Call a system" and "Data-call" from the Main menu, then move to "Another PC with DFC" and press ENTER. 2. When you connect, if the prompt "Enter password:" doesn't display right away, press ENTER a few times (about once per second), to make it display. 3. Enter the password given to you by the person responsible for the other PC. (It won't display.) 4. Stand by while the other PC hangs up and calls you back. If you're at the pre-defined phone number and you prepared for the call as described earlier in this section, the call will arrive shortly and be answered automatically. At this point, you can control the other PC using commands as described in Chapters 8. After you end this call, don't forget to command your modem not to answer subsequent calls; with Hayes compatible modems, you need to enter ATS0=0 on the Comm screen. 10.1 Menu Reference ~~~~~~~~~~~~~~~~~~~~~ For each remote system you call, you can define on the System settings menu and its submenus about 100 individual settings that affect communications with that system. With these settings at your fingertips, you can fine-tune FreeComm to handle applications that defy other, less-flexible programs. Because initial values of the settings are fine for normal use, you can forget about them until situations like these arise: þ You may need to adjust settings for compatibility with remote systems that use unusual ASCII protocol. þ Changes may be necessary with systems whose file transfer protocols don't follow the de facto standards. þ When you change to another modem, communications device, or to a direct-cable connection, you may need to change settings. þ You may want to change settings to customize how FreeComm uses colors, memory or your printer. Note: This chapter contains reference information in addition to what is in the on-line help. Each setting of the System settings menu and its submenus are described here. Instead of reading this entire chapter, you may simply turn to the section relevant to your current needs. 10.2 The System settings menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ On the System settings menu, you can define the basic settings necessary for communications with each remote system. You must set the items on this menu according to recommendations from the remote system (except for "Name of system" and "Logon script", which are up to you). You can select five options at the bottom of the menu in order to reach submenus, which contain settings that seldom need changing. This is additional information to the on-line help on options you can select from the System settings menu. Name of system ~~~~~~~~~~~~~~ You might want to read about the "Sort" and "Find" options in Chapter 4, and create names that let you use these options effectively. Telephone number ~~~~~~~~~~~~~~~~ You can include special characters that affect how some modems dial. With Hayes-compatible modems, for example, you can include "W" to wait for the dial tone, "@" to wait for a 5 second silence, "!" to issue a PBX flash (hookflash), or "A", "B", "C", "D", "*", or "#" to generate touch tones. If you are using a direct cable connection or a device that needs no phone number, leave the telephone number set to . Rate ~~~~ When text that displays on the Comm screen seems to contain no sensible sequences of letters and the bottom of the System settings menu shows many communications errors, your baud rate setting may be incorrect. Bits per character ~~~~~~~~~~~~~~~~~~ Incorrect settings may result in graphics characters appearing as regular characters or vice versa, mislocation of text during terminal emulation, or significant communications error counts at the bottom of the System settings menu. Parity ~~~~~~ When a parity bit is used, Even is more common than "Odd"; "Mark" and "Space" are rare. Most systems that require a parity bit also require 7 bits per character. If the parity error count at the bottom of the System settings menu rises continuously, your parity may be wrong. Incorrect parity also may cause graphics characters to display as regular characters, or vice versa. Stop bits ~~~~~~~~~ If the error count at the bottom of the System settings menu rises continuously, your current setting may be incorrect. Logon script ~~~~~~~~~~~~ Line noise may sometimes corrupt prompts that are important to a script, causing the script to stop. If noise is a persistent problem, contact the phone company for help. A script may also fail if a call deviates from the expected sequence of events. However, it is possible to edit a script to cope with every deviation you can foresee. Emulation ~~~~~~~~~ The most common types of terminals to select are TTY, ANSI, and VT100. Emulating the wrong terminal may cause screen control codes to show up on the screen and text to appear in the wrong locations. After you select the terminal type, a menu of settings for that terminal type will appear. Appendix C lists each terminal emulator, along with its keys and menu settings. Communications port ~~~~~~~~~~~~~~~~~~~ Select this to choose the type of port to be used. After you select the port type, a menu of settings for that port type will appear. Select "Standard comm port" as your port type, if you're using an internal or external modem, external ISDN terminal adapter, or serial port which is installed directly on your PC. Settings for this port type are discussed in Chapter 10. Other port types for use with network interfaces such as Standard Int 14H may also appear here; for information on those port types. 10.3 ASCII protocols - Receiving text ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Settings on the Receiving text menu affect how FreeComm receives and displays text on the Comm screen, and how it saves and prints that text. To reach this menu, select "ASCII protocol" from the System settings menu, and then select "Receiving". These settings from the Receiving text menu control specific aspects of receiving, displaying, and saving text. Append line feeds to incoming line ends ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Usually this must be set to "No" when you're using full duplex, and "Yes" when you're using half duplex. If lines you receive appear double-spaced, you may need to change this to "No". If each line overwrites the previous line, you should probably change this to "Yes". Force incoming data to 7-bit ASCII ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ For systems that send extended ASCII characters, set this to "No". (When you use the ANSI emulator, which must support graphics, this setting is ignored.) Echo received characters to sender ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You may want to set this to "Yes" to do terminal-to-terminal communications; in this situation, you'll probably need to use half duplex and the remote terminal should use full duplex. (If you're communicating with another PC, see chapters 8 and 9 for a more convenient alternative.) Pass only visible data to (Printer, Disk, Both) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If you want some non-displayed characters but not others, set this to "Neither" and use the previous menu option to remove unwanted characters. Tab default spacing ~~~~~~~~~~~~~~~~~~~ If text you receive has an irregular, misaligned appearance, you may need to change this to match the remote system's tab settings. Wrap lines that exceed width of screen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If a remote system sends lines exactly 80 (or 132) characters long, you may want to set this to "No", to avoid double-spaced lines. Show hex values of non-displaying characters ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You may be able to spot the characters or sequences that are troublesome; you can then remove them using other settings on this menu, or explain the problem to the remote system operator and have him correct it. (Some programs call this feature image mode or debug mode.) Remove these characters from incoming text ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Usually this is set to . If certain characters you're receiving are useless or troublesome, you may want to list them here; type each as an ASCII hex value followed by h, separated from others by /. For example, you might enter 00h / 7Fh / 0Ch to remove NULs, DELs, and form feeds. Default capture file ~~~~~~~~~~~~~~~~~~~~ Use this to define the name of the file FreeComm proposes when you begin capturing text. Normally this is set to CAPTURED.TXT, but you may find it more convenient to enter a filename specific to each system. These settings from the Receiving text menu control the flow of text. XOFF/XON to control remote system ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ For systems that do not use XOFF and XON, set this to "No". Outgoing characters used for XOFF/XON ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If the system expects different characters, enter them as ASCII hex values followed by h and separated by /. Line-end/line-acknowledge used by remote system ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This is almost always set to "No". Since this method has no universally recognized name (it's sometimes called ETX/ACK), you may need to examine how this method works (next paragraph) before you can identify whether it is supported by remote systems of interest to you. Characters used for line-end/line-acknowledge ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When you have set the previous setting to "Yes", use this option to define which character the remote system appends to each line to indicate its end, and which character your PC should send to acknowledge receipt of this line-end character. Normally, this is set to 03h / 06h (ETX and ACK). To use other characters, enter them as ASCII hex values followed by h and separated by /. 10.4 ASCII protocols - Sending text ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Settings on the Sending text menu affect how FreeComm transmits text that you type on the Comm screen or that you send using Text protocol. To reach this menu, select ASCII protocol from the System settings menu, and then select "Sending". These settings from the "Sending" text menu control the specific aspects of sending. Send lines with line feeds ~~~~~~~~~~~~~~~~~~~~~~~~~~ If lines that you send or type appear double-spaced, you may need to change this to "No". If each line overwrites the previous line, you should probably change this to "Yes". Duplex ~~~~~~ In full duplex, each character you type is sent without first being displayed; the characters appear on your screen only because the remote system sends back an echo of everything you type. In half duplex, each character you type is displayed first and then sent, and the remote system does not echo characters back to you. When you are connected with a remote system, if every character displays twice on the Comm screen, you may need to switch from half duplex to full; if characters you type don't display at all, switching from full duplex to half may be the answer. Expand empty lines to include a space ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ As you send a file with Text protocol, this lets you have each blank line sent not just as a carriage return and line feed, but as a space, carriage return, and line feed. Tabs converted to spaces ~~~~~~~~~~~~~~~~~~~~~~~~ With most systems, you can leave this set to , which sends tabs unaltered. But if sending tabs makes a file look irregular or misaligned on a remote system, you may want to set a value here. Remove these characters from outgoing data ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If certain characters in your files are troublesome or useless to the remote system, you may want to list them here; type each as an ASCII hex value followed by h, separated from others by /. For example, you might enter 00h / 7Fh / 0Ch to remove NULs, DELs, and form feeds. Break signal duration ~~~~~~~~~~~~~~~~~~~~~ To send a break signal, press CTRL-BREAK on the Comm screen. Answerback message ~~~~~~~~~~~~~~~~~~ Your entry can include alphanumeric characters, and/or control and extended ASCII characters . These settings from the Receiving text menu control the flow of text. Wait for this character after sending each line ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ For systems that display a prompt at the beginning of each line, enter the last prompt character; enter its ASCII hex value followed by "h". Normally, this is set to when Duplex is set to "Half". If Text protocol waits indefinitely after sending the first line, it could be that you have set this to a character which you are never receiving. Pause after each character/after each line ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ For systems that can accept text only at manual typing speed, try setting this to 200 / 250 or to the minimum settings necessary to avoid loss of characters. The setting in the previous paragraph is a more efficient way to avoid sending too fast; use it instead, whenever possible. (Some programs call this pacing.) XOFF/XON to control sending ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Set this to "No" and use other settings on the lower half of this menu to avoid sending too fast with systems that do not use XOFF and XON for flow control. Incoming characters used for XOFF/XON ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When systems use other characters, enter their ASCII hex value followed by h and separated by /. Line-end/line-acknowledge used by FreeComm ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Since this method has no universally recognized name (it's sometimes called ETX/ACK), you may need to examine how this method works (next paragraph) before you can identify whether it is used by remote systems of interest to you. Characters used for line-end/line-acknowledge ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When you have set the previous setting to "Yes", use this option to define which character to append to the end of each line you send, and which character the remote system sends back to acknowledge receipt of this line-end character. To use other characters, enter them as ASCII hex values followed by h and separated by /. 10.5 Communications port - Std comm port ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To select the communications port type, or to work with settings affecting the port, select "Communications-port". Select "Standard comm port". If you change to a different port, you'll need to change the "Port" name setting; other settings on this menu seldom need changing. To determine which connector pins correspond to the signal names used on this menu (CD, DTR, etc.), refer to the end of Appendix A. Port name ~~~~~~~~~ See Appendix A for a discussion of other possible entries. Connect signal is input on CD, DSR or CTS The clock in the lower-right corner of the screen counts up when this signal is on and stops when it goes off. Terminal ready signal is output on DTR or RTS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This lets you specify where your PC issues a continuous logic-level high signal to tell your modem or communications device that the PC is ready. The most common setting is RTS. Hangup signal is output on DTR or RTS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If your modem has a DTR switch, position it so that the modem hangs up in response to DTR. Incoming hardware handshaking on CTS, CD or DSR ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Most modems and direct-cable connections do not call for hardware handshaking. With modems, devices, or direct connections that do use hardware handshaking (also called RTS/CTS or EIA flow control), the most common setting here is CTS. Note: FreeComm automatically sets hardware handshaking for you, so there may be no need for you to set values. Outgoing hardware handshaking on RTS or DSR ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ For devices or connections that do use hardware handshaking (also called RTS/CTS or EIA flow control), the most common setting here is RTS. Use port's extended hdw. buffering ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This lets you have FreeComm take advantage of buffering in serial ports from certain hardware vendors for faster reliable communications under DOS and DOS multitasking environments such as Windows, DESQView, or DoubleDOS. FreeComm supports buffers in the Hayes Enhanced Serial Port (ESP), IBM PS/2 Models 90 and 95, and ports using NS16550A serial chips (as in IBM PS/2 Models 50Z, 60, 70, 80, and Compaq 386 or 486 PCs). Set this to "Yes" for full-time, full-capacity use of buffers. With systems where setting to "Yes" causes loss of data, set to "Auto", which responds more quickly to flow control conditions. Set to "No" to disable buffering. If your port lacks buffering, FreeComm will sense this and disregard your setting. 10.6 ASCII protocols - Character translation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ For each system you call, you can specify characters to be stripped or translated to other characters as ASCII data is received or sent on the Comm screen. (Files transferred with file transfer protocols are unaffected). To specify characters, select "Define" and "Modify" from the Main menu, choose the desired system, then select ASCII and Character translation. Here is additional information to the help of options you can select from the Character translation menu. File used for translation tables ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You can view and modify by selecting "Manage translation tables". Incoming translation used ~~~~~~~~~~~~~~~~~~~~~~~~~ Set this to "No" if you want to disable the incoming character translations. Outgoing translation used ~~~~~~~~~~~~~~~~~~~~~~~~~ Set this to "No" if you want to disable the outgoing character translations. Manage translation tables ~~~~~~~~~~~~~~~~~~~~~~~~~ To strip a character, specify that it be switched to no character. Use the applicable ASCII hex character. 10.7 File transfer protocols ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Protocol Defaults ~~~~~~~~~~~~~~~~~ To define settings affecting all file transfer protocols, select "File transfer" protocols and "Defaults". These options give you the flexibility to define separate file transfer default settings for each system, so that you can transfer files with minimum of keystrokes. Receiving directory ~~~~~~~~~~~~~~~~~~~ Enter no directory name if you wish to receive into your current directory (or your FreeComm working directory). Sending directory ~~~~~~~~~~~~~~~~~ Enter no setting here, if you want to use your current directory (or your FreeComm working directory). File transfer protocol ~~~~~~~~~~~~~~~~~~~~~~ For systems where you always use the same protocol, entering a protocol here will save you one keystroke per file transfer. Prompt for filename when receiving ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Xmodem and 1K Xmodem will continue to prompt you for a filename, because these protocols do not pass filenames. Xmodem/Ymodem ~~~~~~~~~~~~~ To verify or correct settings that affect operation of the Xmodem and Ymodem file transfer protocols, select File transfer protocols from the System settings menu, then select Xmodem or Ymodem to display the Xmodem & Ymodem menu. You almost never need to change settings on this menu, because the initial settings work well in most circumstances. The settings here affect the following protocols: Xmodem Auto, Xmodem Checksum, Xmodem CRC, 1K-Xmodem, Ymodem and Ymodem G. Seconds to wait to receive each packet/byte ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Slower systems such as CompuServe may need to set this as high as 30 / 10. (This is referred to as relaxed timing). Error-checking method ~~~~~~~~~~~~~~~~~~~~~ Transfers may begin a bit faster if you set this to the type you know the remote system supports: Enter CRC for cyclical redundancy checking or "Sum" for checksum. Some systems that support only checksum will exchange files with you only if you set this to "Sum". Attempts to send each packet ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When a transfer fails as a result of exceeding this limit, you may be able to force it to successful completion by increasing this setting and repeating the transfer. Compress when possible ~~~~~~~~~~~~~~~~~~~~~~ This lets you set whether files are compressed when possible, with Xmodem and Ymodem protocols. Compressing reduces a file's size, so it can be sent in less time. This can normally be set to "Yes"; if a remote system lacks this compression feature, Delrina FreeComm senses this and skips compressing. Set this to "No" if you customarily compress your files with another program before you send them, or if your Xmodem transfers with a particular system consistently fail within the first couple of packets. Zmodem ~~~~~~ To verify or correct settings that affect operation of Zmodem file transfer protocols, select "File transfer protocols" from the System settings menu, then select Zmodem to display the Zmodem menu. You almost never need to change settings on this menu, because the initial settings work well in most circumstances. Packet size ~~~~~~~~~~~ This lets you set the number of bytes in each packet. Larger packets mean faster transfer but slower recovery from errors. The most common setting is "Auto", which automatically selects a packet size appropriate for the circumstances. Window size ~~~~~~~~~~~ Specifies the maximum number of bytes Zmodem may send before it stops to wait for that data to be acknowledged by the receiver. The most common setting is "Unlimited". Error checking size ~~~~~~~~~~~~~~~~~~~ This lets you set the size of CRC error-checking codes used. 16 bits is usually adequate. Setting to 32 bits further enhances reliability at the expense of speed. Seconds to wait between retries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This sets how long Zmodem waits between attempts to re-send packets. The most common setting is 10. Through networks where the receiver may lag far behind the sender, you may need to increase this setting. Newline conversion ~~~~~~~~~~~~~~~~~~ This sets whether a system to which you send a file is allowed to add a carriage return after each line feed in the file. Leave this set to "No" except when you send text files to systems that follow this different line end convention. Control sequences use escape codes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Set this to "Yes" if you want Zmodem to replace all control codes with equivalent series of non-control codes. This may be necessary with networks or remote systems that have problems transmitting control codes. Overwrite/append conditions ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Lets you specify what a remote system (one that supports Zmodem Management options) is to do when you send it files having the same names as existing files. Choices are: Use this option To perform this operation None For systems that don't support Zmodem management options Newer or longer Overwrites if file sent has newer time/date or larger size Longer or CRC Overwrites if file sent is larger or has different contents Append only Adds file sent to end of existing file Overwrite Overwrites any file having same name as file sent Newer only Overwrites if file sent has a more recent time/date Length or date Overwrites if file sent has different size or time/date Never overwrite Rejects file sent if its name matches an existing file Automatically receive files ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Leave this set to "Yes" if you want FreeComm to begin receiving automatically the instant you command a remote system to send. Files will be stored into your default directory; if matching filenames exist, the new ones are renamed. If you set this to "No", you will need to press ALT-O, T, R to begin receiving each time. Keep partially received files ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Set this to "Yes" to keep partial files resulting from interrupted or aborted transfers. Using this setting will make it feasible for you to pick up the rest of a file later, by setting the "Resume broken transfers" to "Enable". Resume broken transfers ~~~~~~~~~~~~~~~~~~~~~~~ This sets whether Zmodem file recovery (crash recovery), a feature designed to let you resume interrupted transfers, will occur. (Also see Keep partially received files, above.) Choices are: Use this option To perform this operation Enable Set to Enable ONLY while you transfer the remaining portion of a file, to be appended to the part that was transferred earlier. File recovery will occur whether you are sending or receiving, provided the remote computer has recovery set to "Negotiate" or "Enable". Disable Set to "Disable" to prevent file recovery from occurring, even if the remote computer has file recovery enabled. Negotiate Use this setting most of the time. This allows recovery to occur when file recovery is enabled on a remote computer. Kermit ~~~~~~ To verify or correct settings that affect operation of Kermit file transfer protocol, select "File transfer protocols" from the System settings menu, and then select Kermit. You can find any information in the on-line help. You seldom need to change settings on this menu, because the initial settings work well in most circumstances. HyperProtocol ~~~~~~~~~~~~~ To verify or correct settings that affect operation of HyperProtocol refer to the on-line help. Select "File transfer protocols" from the System settings menu, and then select HyperProtocol to change settings. However, HyperProtocol automatically adapts to the conditions under which it is used, there are relatively few details to set. 10.8 Hardware - Modem ~~~~~~~~~~~~~~~~~~~~~~~ To select the modem or communications device you will use when communicating with a system, select "Hardware" from the System setting menu, and then select "Modem". It's unlikely you'll need to make changes on this menu unless you use a variety of modems or communications devices. Modem name ~~~~~~~~~~ If your modem is not in the list but supports the extended AT command set (including &C1), select Hayes Smartmodem 2400; if it supports the basic AT command set, select Other Hayes-compatible modem; if it supports dialing commands that do not begin with AT, select "User-defined modem". If you are connecting with a system via cable alone, set this to "Direct-cable". Additional modem setup commands ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To activate other modem features or alter the modem configuration, look up the appropriate commands in your modem manual, and set them here. Dialing method ~~~~~~~~~~~~~~ Set it to pulse dialing if you have a phone system that cannot support tone dialing. Prefix for telephone number ~~~~~~~~~~~~~~~~~~~~~~~~~~~ If you prefer, you can enter such numbers along with the telephone number as described in Chapter 10. Suffix for telephone number ~~~~~~~~~~~~~~~~~~~~~~~~~~~ This lets you specify a suffix that will be added to the telephone number you have entered on the System settings menu. 10.9 Hardware - Printer ~~~~~~~~~~~~~~~~~~~~~~~~~ To set or review settings that pertain to your printer, select "Hardware", and then select "Printer". Printer device name ~~~~~~~~~~~~~~~~~~~ You can enter the name of any print device which is valid with your operating system (even a filename, if you prefer to print to a disk file). Buffer size ~~~~~~~~~~~ FreeComm prevents this buffer from overflowing by controlling the flow of incoming data using the flow control method set on the Receiving text menu or Communications port menu. Top margin added to each page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This does not change text or files that you print, it merely alters appearance of printouts. The most common setting is 6 lines, which on most printers positions text about an inch from the top of the page. Set this to 0 lines for no top margin. Left margin added to each page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You may want to reduce this setting when printing text that contains a left margin. Number of lines of text per page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This does not change text or files that you print, it merely alters the appearance of printouts. If your printer or top margin are different, you may need to use a larger or smaller number. To prevent automatic pagination, set this to 0. 10.10 Display colors ~~~~~~~~~~~~~~~~~~~~~~ To set colors to taste, or to suit monitor types that simulate color with shading, select "Colors" from the System settings menu. Next, select "Menus", "Comm-screen" or "Bottom-line", depending on the facet of display you want to set. Press ALT-H for on-line help for any display settings. If you start FreeComm with the /BW option or have a monochrome display, color settings are ignored. FreeComm for DOS displays by writing directly to video memory for enhanced speed. If necessary, start FreeComm with the /B option, to make it display through your PC's BIOS instead. BIOS display is desirable on PCs that exhibit "snow," or with older versions of Windows, DESQview, or DoubleDOS, which favor "well-behaved" display techniques. 10.11 Miscellaneous ~~~~~~~~~~~~~~~~~~~~~ To set or review settings that pertain to memory usage and other assorted items, select "Miscellaneous". About memory usage under DOS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ FreeComm evaluates the type and amount of memory available in your PC and adapts automatically for fastest possible operation. On PCs with extended or expanded memory (memory above the 640K boundary), FreeComm uses extended or expanded memory as a memory cache for program overlay files, which makes the program run noticeably faster. FreeComm can run in as little as 380K. If additional memory is available below the 640K boundary, FreeComm dynamically allocates some or all of that memory, depending on which FreeComm features you are using at the time, and on how you have set the first two options on this menu. During file transfers using compression and virus filtering, for example, FreeComm uses an additional 50K. When it is available, FreeComm will use another 70K for memory caching, to make scripts run faster. When you jump to DOS from the Use DOS menu, or while callers run your PC remotely, FreeComm frees up virtually all of your PC's memory, by storing itself to disk. If you can create a 500K ram disk (using memory above 640K) for it to use, this operation will be much faster. To instruct FreeComm to use the ram disk, include the line TMP= in your AUTOEXEC.BAT file. Unprocessed received data buffer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ FreeComm prevents this buffer from overflowing by controlling the flow of incoming data, using the flow control method set on the Receiving text or Communications port menus. Review buffer ~~~~~~~~~~~~~ The memory used is external to that occupied by FreeComm and with DOS the amount of external memory varies; if it is less than 250000 bytes, the setting range is reduced. Smaller settings leave more memory for the Use DOS menu. Key assignment file to load on Keys menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This lets you invoke key assignments specifically tailored to the system you're calling; the key assignment file listed here is automatically loaded on the Keys menu (that is, it becomes the entry for File used for key assignments). Log calls and transfers in file ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Use any filename you like; if the file does not exist, it will be created. Logging consumes little disk space and adds only a split-second to each transfer. If you want to prevent logging, enter no filename. Appendix A ~~~~~~~~~~~~ Modems, COM Ports, and Cables ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Delrina FreeComm has built-in support for more than 175 specific modem models, generic modem types, ISDN terminal adapters, and RS232 direct-cable connections. The fact that FreeComm knows how to operate such a wide variety of devices makes getting started surprisingly easy. To help you get your hardware set up properly, this appendix gives information on modems, port selection, and cables. To install an external, stand-alone modem ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Most PCs come with one or two serial ports, COM1 and COM2, to which you can connect a modem. To locate the COM1 or COM2 connector, see your computer manual. To connect the modem to the port, use a standard RS232 cable as described later in this appendix. To install an internal modem ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Install your modem according to instructions in your modem manual; when you set its switches or jumpers, keep in mind that no two devices in the PC can use the same address (COM1, COM2, etc.). If COM1 and COM2 are already in use, perhaps you can use COM3 or COM4; see "Com Port Selection". COM port selection ~~~~~~~~~~~~~~~~~~ You can select the appropriate COM port as you install FreeComm or by entering settings on FreeComm menus. It is unnecessary to run the DOS MODE program to select or prepare the COM port. Which ports you can use depends on the type of PC and how the PC is equipped: PC, XT, AT, 386, or 486 with DOS You can enter COM1 or COM2, or COM3 or COM4 if you have an internal modem with switches or jumpers that support these choices. If you enter COM3 or COM4, FreeComm will replace your entry with that port's most common port address and interrupt level a hex address followed by 2 to 5 (for IRQ2 to IRQ5). This is 3E8h, 4 for COM3 and 2E8h, 3 for COM4. You can enter different addresses and interrupt levels as needed. If IRQ2 through IRQ5 are already being used by other devices (hard disks and buss mice may use IRQ2 and IRQ5; COM2 uses IRQ3; COM1 uses IRQ4), try configuring the modem to use IRQ4 or IRQ3, anyway. Your modem may or may not work when configured to the same IRQ level as COM1 or COM2, depending on whether your particular brand of PC supports sharing IRQs. Zenith or Heath computers with Z304/Z404 card and DOS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You can use these computers' conventional COM1 or COM2 ports by entering COM1 or COM2. Or you can enter COM3 to use the Z304 or Z404 card's non-standard port; FreeComm verifies presence of this port and replaces your entry with the correct address and interrupt. (The maximum speed of this port is 19,200 bps.) PS/2 or other PC with a MicroChannel and DOS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You may enter COM1 through COM8. RS232 Cable Specifications ~~~~~~~~~~~~~~~~~~~~~~~~~~ There are two basic types of RS232 cables: standard and null modem. Standard cables are for connecting PCs to modems, printers, or other peripheral devices (DTE to DCE), while null modem cables are for connecting one PC to another PC (DTE to DTE). You can distinguish these cable types by which pins at one end connect to pins at the other. If pin 2 connects to pin 2, it's a standard cable; if 2 connects to 3, it's a null modem cable. For use with a modem, standard 25-pin to 25-pin cables should have conductors for at least pins 2-8 and 20. Standard cable for connecting a 9-pin PC port to a 25-pin modem ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ þ Send signal; Pin # on 25-pin cable end Pin # on 9-pin cable end 2 (TD) 3 (TD) 3 (RD) 2 (RD) 4 (RTS) 7 (RTS) 5 (CTS) 8 (CTS) 7 (GND) 5 (GND) 8 (CD) 1 (CD) 20 (DTR) 4 (DTR) 22 (RNG) 9 (RNG) Null modem cable for connecting 9-pin PC ports to 25-pin PC ports ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Pin # on 25-pin cable end Pin # on 9-pin cable end 2 (TD) 2 (RD) 3 (RD) 3 (TD) 4 (RTS) 8 (CTS) 5 (CTS) 7 (RTS) 7 (GND) 5 (GND) 6 (DSR) and 8 (CD) 4 (DTR) 20 (DTR) 1 (CD) and 6 (DSR) Null modem cable for connecting 25-pin PC ports to 25-pin PC ports ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Pin # on one cable end Pin # on other cable end 2 (TD) 3 (RD) 3 (RD) 2 (TD) 4 (RTS) 5 (CTS) 5 (CTS) 4 (RTS) 6 (DSR) and 8 (CD) 20 (DTR) 7 (GND) 7 (GND) 20 (DTR) 6 (DSR) and 8 CD) Null modem cable for connecting a 9-pin PC port to a 9-pin PC port ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Pin # on one cable end Pin # on other cable end 1 (CD) and 6 (DSR) 4 (DTR) 2 (RD) 3 (TD) 3 (TD) 2 (RD) 4 (DTR) 1 (CD) and 6 (DSR) 5 (GND) 5 (GND) 7 (RTS) 8 (CTS) 8 (CTS) 7 (RTS) Appendix B ~~~~~~~~~~~~ Glossary of Program Messages ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This appendix alphabetically lists the messages that may appear while you are working with FreeComm. The probable cause of each message is given, followed by a description of actions you can take, if appropriate. A data connection could not be established ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You were unable to switch a voice call to a data call because the other party used the wrong commands to instruct his modem to emit a carrier tone, or took too long to issue the commands. Check for the source of the problem and try again. A directory or file with that name already exists ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Someone who called "Answer mode", when using the MKDIR (or MD) command, specified a directory or filename which was already in use. He should repeat the operation with a different directory name. A filename must be entered ~~~~~~~~~~~~~~~~~~~~~~~~~~ You either failed to enter a filename in preparing for an Xmodem or 1K Xmodem transfer, or someone who called Answer mode failed to enter a filename when using FIND, DELETE, XSEND or XREC. Repeat the operation and enter a filename. A second function is required ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You omitted the second function from a script line that begins with "if" or "ifnot". Add another function at the end of the line. Access to that directory has been denied ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Someone who called "Answer mode" attempted to access a directory which was outside the area to which he has been permitted access. He must restrict his activities to the authorized area. To change the area that the caller can access, see Chapter 8. Additional files refused ~~~~~~~~~~~~~~~~~~~~~~~~ Your call log or answer log file will contain this message if the remote system attempts to send more than one file after you have commanded FreeComm to receive a single file (by entering a single filename). An error occurred reading the directory ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Someone who called Answer mode attempted to display a directory which could not be displayed, because the specified drive or directory does not exist or the drive door is open. The caller should enter a different directory name. An illegal key sequence encountered in a command, macro, or script ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You have included a key name in a macro or command (or in a type function in a script) which is not valid. Replace the unrecognized key name with one which is valid. Bad structure ~~~~~~~~~~~~~ Your script contains a line which does not have balanced parentheses. Correct the line, being certain to include an equal number of left and right parentheses. Can't change to the specified drive ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Someone who called "Answer mode" attempted to use the CHDIR command to change to a directory which either does not exist or is on a drive whose door is open. The caller should enter a different directory name. Can't compile the script ~~~~~~~~~~~~~~~~~~~~~~~~ You attempted to run a script but it could not be compiled either due to absence of the compiler (DFCHP.EXE for DOS) or insufficient memory (DOS only). Check for presence of the compiler. If you are using DOS and cannot free up additional memory, you can compile the script from the DOS command line by entering DFCDOS