* * * P C B o a r d 9 6 0 0 M o d e m I n f o * * * ----------------------------------------------------------------- November 6, 1986 Introduction ------------ PCBoard now fully supports 9600 baud "async" modems operating at 4800, 7200, 9600 or 19200 baud. The code can be set to operate at any of these speeds. However, because most 9600 baud modems use V.29 protocol (a half duplex protocol) at speeds above 2400 baud, throughput during interactive mode when entering text, etc., can be very poor on some 9600 baud modems. Unfortunately, when operating at 4800 baud and above, these modems switch from full async mode to a internal "block checking" mode where the modems take over all error checking of the data being sent and received in a half-duplex type mode (data can only go in one direction at a time.) To do this, the modems build blocks or packets of information to send to the opposite machine. When data is being sent to the modem at a very slow rate by the software (when entering text, etc.), these "blocks" or packets do not get filled very quickly. In that case, the modem will wait a certain length of time and then "pad" their standard size block with nulls and send it to the opposite modem. This results in a very degraded flow of data and smoothness of operation for many board functions. The resultant throughput of information can fall back to less than that of 4800 baud because of the delays involved in building and sending these "incomplete" packets. Some modem manufacturers counteract this slowdown by using an algorithm which senses the slower rate of data input and shortens the time delay to build an incomplete block. Although they still send blocks padded with nulls, they start sending them at a much quicker rate so there is very little slowdown when performing interactive work - such as leaving a messages, entering commands, or chatting with the person on the opposite end of the phone connection. The place where the new high speed modems do well however is when transferring files. In this mode, depending on line quality conditions, the modems become very effective and yield close to their maximum throughput. In order to support the high transfer rate capabilities of these new modems in conjunction with their own built in error checking, two additional protocols are now available in PCBoard. They are Imodem and Ymodem-G. These two protocols will be discussed later in a follow up document. New Output Method of Sending Data --------------------------------- In order to insure no data "over-runs" occur at the receiver's machine, PCBoard uses a new method of sending data to the remote end. Instead of being "line" oriented with it's sending of data as has been done in the past, PCBoard's output to the modem is now "character" oriented. This allows the software to check for the remote machine indicating to PCBoard to "pause" while it catches up on the data being sent between each character rather than between each line of data. This is done through CTS/RTS checking. At the slower speeds, CTS/RTS checking is not usually relevant or active. However, at the higher rates of transmission, CTS/RTS checking becomes critical - since PCBoard can quickly send more data to the remote machine than it can handle - even at 19200 baud in "character" oriented mode. Therefore, when PCBoard runs, it continually checks the status of CTS (Clear To Send) before sending out a character. If the remote machine has fallen behind, it should toggle it's RTS Off - which ends up turning CTS off on the PCBoard machine. If PCBoard finds it's CTS off, it waits. When the remote turns it's RTS back on, the CTS on the board's modem will be turned back on indicating that the code can continue to send more characters. All of this insures that not even a single character will be lost to an "over-run" condition. This change has not affected the speed at which PCBoard operates. In all conditions tested, PCBoard was able to send information much faster than the receiver is able to accept it. Of course none of this CTS/RTS checking will work UNLESS the remote machine is also running their software in CTS/RTS checking mode! PCBoard also still looks for XON/XOFF signals as well. However, since they can be delayed considerably in their transmission - whereas CTS/RTS is almost instantaneous - callers should be advised to insure that CTS/RTS is active on their system before placing calls at these high rates of speed. In order to take advantage of CTS/RTS checking, as well as the new protocols, we strongly recommend that callers consider the use of Qmodem by The Forbin Project. John Friel, the author of Qmodem, has spent many long hours working with the authors of PCBoard to insure protocol and data transmission accuracy between a remote site and a PCBoard host. By using Qmodem, your caller's will be able to take full advantage of their new modems. Please encourage your user's to consider using Qmodem and to support John and the Forbin in their efforts by contributing the donation requested for it's use. Currently, Qmodem 2.4 (which is in beta test mode), is the only version of Qmodem which accurately supports both Imodem and Ymodem-G protocols. PCBoard 11.6a, in beta test at several locations throughout the US, will be released as production version 11.7 around January 1st in order to provide support for the 9600 baud modems and new protocols. User's should note that both Imodem and Ymodem-G are "full- flow" protocols with NO software checking of the data sent or received. It is assumed that the modems will be properly checking the integrity of the data by their own built in error checking. Although it will be possible to use either of these protocols at speeds of 2400 baud or less, they should NOT be used - since corrupted data make be received at the receiving machine due to the fact that the modem's internal error checking will NOT be functional! CAUTION YOUR USERS NOT TO USE EITHER OF THESE PROTOCOLS UNLESS THEY ARE USING A 9600 BAUD MODEM TO CALL ANOTHER 9600 BAUD MODEM!! Variances in Output Rates at 9600 Baud -------------------------------------- Maximum throughput at the higher baud rates can only be achieved if a number of factors are present. The first is that the machine running PCBoard can operate up to the speeds allowed. Things that will slow the output down are multi-tasking software, networks, etc. All of these can degrade the I/O from the max. Also, since data "errors" are not seen by either the remote or host machine - but instead by only the modems - line noise can seriously degrade throughput to a point where the equivalent speed is about equal that of 4800 baud or less - since the data may be sent several times to the receiver before a good packet is acknowledged by the recipient. Please note that a "cycling" or steady flashing SD (Send Data) light on your modem (a result of slower throughput), is not a problem with your hardware or software. It is simply a result of pushing your system to the limit of maximum I/O. PCBoard can not control the quality of phone lines or compensate for degradation of performance because of multi-tasking software. It will output it's data at the maximum rate possible under the conditions presented it. As a result of the multitude of conditions surrounding 9600 baud, varying levels of throughput will be achieved by different users, different modems, and different software - much more so that what has been experienced at the lower baud rates. Do NOT automatically expect your system to run as fast as someone else's if their configuration is different or their phone line quality is better! Also, file transfer times may vary GREATLY from those calculated and displayed by the code - since PCBoard calculates it's transfer times based on better than average conditions. Under multi- tasking conditions or poor phone line quality, actual transfer times can be double or triple those calculated by the program. If your system is running faster, shorter times may be common. If you are running under multi-tasking software or have noisy lines, transfer times may increase 2- 3 fold from those calculated. Again, this is NOT a problem with your software or hardware. It is simply a result of your over-all configuration and the maximum I/O that can be achieved under those conditions. If you experience large variances in throughput using a 9600 baud modem, please do not call us and report a bug in the software as we will refer you back to this documentation and specifically this paragraph. 9600 Baud Standards ------------------- The most critical item facing users of 9600 baud modems is the lack of a current standard among modem manufacturers. Presently, only "like brand" 9600 baud modems can talk to each other at any speed above 2400 baud. This is due to the fact that none of the manufacturers have yet to agree on a standard means of handshaking and error checking at the higher speeds. Of course, at 2400 baud and below, they will function properly with virtually any other brand of modem on the market simply because they all conform to V.22 standards and there is no modem to modem error checking being done. However, at speeds above 2400 baud, the modems must perform their own error checking - since the phone line quality on voice lines at those speeds is so bad. If they didn't - the callers would be faced with large amounts of line noise on their screens. So, what we currently have are a number of 9600 baud modem manufacturers out there trying to have their modem become the "standard" upon which all others will follow. Unfortunately, that places you, the purchaser, in a very undesirable position. Whose modem should you buy? Will "it" become the standard? The answers to these questions are still unresolved. As a result, Clark Development Company, Inc. at the present time does not recommend any brand of 9600 baud modem to use with PCBoard software. Although the software will properly support the new modems and CTS/RTS checking, we suggest that you contact the modem manufacturers and stress the point that you are interested in insuring they (the manufacturers) quickly reach an agreement on standard handshaking and error correction. If they don't, callers will be faced with a similar problem when trying to decide on a brand of 9600 baud modem to buy for their personal use - since various boards may be running various brands of 9600 baud modems - and if they decide on one brand, will the boards they call also have that brand available. M o d e m S u p p l i e r s ------------------------------ Currently there are a number of manufacturers supplying 9600 baud dial-up modems. Unfortunately, we have had a chance of evaluating only two of the modems listed below and therefore are not prepared at this time to make available suggested modem settings or performance information on the entire list. However, if you are interested in contacting any of the 9600 baud modem manufacturers - the following list may assist you in your efforts: EVI/FASTCOMM Data Corp. 12347-E Sunrise Valley Drive Reston, Virginia 22091 (800) 521-2496 (703) 620-3900 Offering FASTCOMM internal or external 9600 baud modems with fallback to 7200, 4800, 2400, 1200 or 300 baud. Internal - $895 External - $995 Microcom Inc. 1400A Providence Hwy. Norwood, MA 02062 (800) 822-8224 (617) 762-9310 Offering Microcom AX/9624c external 9600 baud modem with fallback to 7200, 4800, 2400, 1200 or 300 baud. External - $1,799 Racal-Vadic 1525 McCarthy Blvd. Milpitas, CA 95035 (408) 946-2227 Offering 9600VP external 9600 baud modem with fallback to 7200, 4800, 1200 and 300 baud. External - $1,495 USRobotics 8100 McCormick Blvd. Skokie, Illinois 60076 (800) 342-5877 (312) 982-5001 Offering Courier HST external 9600 baud modem with fallback to 2400, 1200 and 300 baud. External - $995 Digital Communications Associates, Inc. 1000 Alderman Drive Alpharetta, GA 30201 (404) 442-4000 Offering Fastlink internal and external modems with fallback to 2400, 1200 and 300 baud. Internal - $1,995 External - $2,395