Maximizing your HST efficiency. I frequent many BBS's around the United States and overseas. On most everyone of these board there are at least 10 people who post questions on what should they use as the "best" HST set- tings. There is usually around a dozen text files (yeah, like this one) and programs that will try to help you get the most out of your modem. I've examined many of these and listened to the advise of some so-called pro's. I've been appalled at the gross inaccuracies that are reported. Well, I've decided to stop complaining and do something about it. This text file will explain both in short and long form what the best settings to use on your U.S. Robotics Courier HST and HST Dual Standard modems (up to and including the newest version with V.42/V.42bis and V.32bis). The settings I will provide have been tested over and over and I can assure you that they are correct and WILL give you MAXIMUM THROUGHPUT. Before I get into it let me get a couple of things straight. The settings I will provide give maximum downloading speed with a very slight sacrifice (under 2%) to normal text that is sent by the BBS to your system. What does this mean? Simple. In the settings below I will advise against using any data compression settings. Your downloads will be at full speed but things like file listings which are text dumps from the host system to yours will be at about 98-99% of what they could be with compression. O.K., now on to the nitty as well as the gritty. Some people don't like to read big technical explanations and just want the facts. My simple advice is to just set up to what I describe below...I know it works cause I use it myself every single day. First, the DIP switch settings. 1 - Up. Normal DTR operations. Can be overridden via &D setting. See technical explanation. 2 - Up. Verbal result codes. Can be overridden via V set- ting. See technical explanation. 3 - Down. Result codes enabled. Can be overridden via Q setting. See technical explanation. 4 - Up. Command Mode Local Echo displayed. Can be over- ridden via E setting. See technical explanation. 5 - Down Auto Answer suppressed. Can be overridden via S0 register. Only needed if you are running the BBS. 6 - Up Carrier Detect follows real. Can be overridden via &C setting. See technical explanation. 7 - Up Result codes displayed in both Originate and An- swer modes. 8 - Down Smart Command Set Recognition. 9 - Down Modem maintains connection when the Escape Code (+++) is received, returns to Command mode and sends OK result. 10 - Up Load from NRAM on Power-on and ATZ reset commands. What you will see next is the output from the "ATI4" com- mand. This shows all the settings I recommend as they appear on my own modem. If you change yours to match mine, bingo, you will be blasting away at full speed. ati4 USRobotics Courier 14400 HST Settings... B1 C1 E1 F1 M3 Q0 V1 X4 BAUD=38400 PARITY=N WORDLEN=8 DIAL=HUNT ON HOOK TIMER &A1 &B1 &C1 &D2 &G0 &H1 &I0 &K0 &L0 &M4 &N0 &P0 &R2 &S1 &T5 &X0 &Y1 %R0 S00=000 S01=000 S02=043 S03=013 S04=010 S05=008 S06=002 S07=060 S08=002 S09=006 S10=007 S11=070 S12=050 S13=000 S14=000 S15=000 S16=000 S17=000 S18=000 S19=000 S20=000 S21=010 S22=017 S23=019 S24=150 S25=000 S26=001 S27=000 S28=008 S29=020 S30=000 S31=000 S32=001 S33=000 S34=000 S35=000 S36=000 S37=000 S38=000 LAST DIALED #: OK Your current value for BAUD may be lower. Change your communications program to reflect the higher baud rate and the HST will automatically change to match. 38400 is the highest that the HST supports and most every PC supports it as well. If you are running under Windows then 19200 is the maximum. Let me save you some time too. All the S registers are at their default values. I included them to be complete. Feel free to change the X and &A values as you like. These are the conservative ones. In no case will these settings have any effect on your speed. For the technically minded or for those that want to know just why I chose the settings I did I could simply say, "Read your manual, that's where I got it." Instead I am going to go through each of the settings one at a time so you can see for yourself how they were chosen. "DIP switch settings" ===================== Almost all of the DIP switch settings can be overridden by software settings so I'm not going to duplicate the information here. Refer to the software commands that match the switch setting in question for further information. "B1" ==== This selects between HST and V.32 mode on modems (Dual Standard) that have that option. Always use the HST mode. The why on this is long and complicated but I will not leap into all that. Instead let me put it real simply: HST mode runs at 14,400 bps and V.32 runs at 9,600 bps. Which do you think would be faster? But you say that you need to connect with other V.32 modems and that's why you bought the Dual Standard. No prob, the modem is smart enough to automatically switch into V.32 mode if the other side doesn't recognize the HST link request. "C1" ==== This is a very technical setting. If you had a second modem on line and this one was the monitoring modem during a test, using C0 would disable the transmitter on this modem. Now, since we obviously need to transmit we use the C1, transmitter on, setting. Simple eh? "E1" ==== This tells the modem to echo back each character as you type it WHILE IN COMMAND MODE ONLY. This may be an E0 without affect- ing speed. "F1" ==== This means that the modem will NOT echo what you type WHILE CONNECTED ONLY. The receiving system does this for you. This can be F0 without affecting speed. "M3" ==== This settings means speaker off during the dialing and after connection but on while waiting for an answer. You can change this to whatever you like but I use this setting because it makes a minimum amount of sound and let's me know when I've mis-dialed and wake someone up in Alaska. This doesn't affect speed. "Q0" ==== This tells the modem to return result codes. If the modem doesn't return result codes your communications program won't know what's going on. You can change this without affecting speed. "V1" ==== This tells the modem to use verbal result codes instead of numeric. It's up to your communications program which you need. You can use either without affecting speed. "X4" ==== This determines just how much info you want returned via result codes. X4 is a safe medium. It tells you everything except "RINGING" and "VOICE" which almost no communications programs use anyway. If you choose another, try and make sure it's higher. This doesn't affect speed. "BAUD=38400" ============ This setting is detected automatically by your modem and is displayed here for reference. You want to set your communica- tions software at it's fastest rate (up to 38,400). The name of our game is speed so it doesn't make any sense to try and create a bottleneck at the serial port. All modern PC's support this speed. 19,200 is the highest supported under Windows so either live with the slower downloads or use Desqview instead. "Parity=N and WordLen=8" ======================== This is the standard setting for connecting with most BBS's. Your may be different to match certain systems. This is O.K. Also, the HST is smart enough to setup the Stop Bits value by itself and therefore it isn't displayed here. "Dial=Hunt On Hook Timer" =========================== These are some other, non-speed related settings which I won't go into here except briefly. Dial=Hunt means that the HST will try tone dialing first then pulse automatically. On Hook means the phone line is not in use. Timer means that the modem clock via the ATI3 command will return the call duration. Don't worry about these - it's the next batch that's important. "&A1" ===== Sets just how much into you want to know when the modem makes it connection. &A1 gives you the basics. Connect speed and whether or not error correction, i.e. "/ARQ", is used. If you really want ALL the details and have the V.42 upgrade, use &A3 and you will know the connect speed, link protocol, error correction protocol and compression protocol. NOTE: Your HST will report a CONNECT 9600 for any speed from 9600 and up. This means that a 12,000 or 14,400 bps connection will still report a CONNECT 9600. Complain to USR - maybe they'll do something about it (&A4?). Guess what? They did something about it! HST's and Dual Standards manufactured after 10/11/90 will now actually report the correct CONNECT speed. Not cause "we" asked for it but because the V.32bis standard allowed for it. Who cares how it got there...it's there! "&B1" ===== Here is a oft misunderstood setting that is actually very simple. &B1 tells the modem that no matter what speed we're talking to the other modem, force communications between your computer and your modem to always take place at the highest possible speed. "&C1" ===== This matches DIP switch 6 and takes precedence over it's setting. This setting tells the modem to send accurate Carrier Detect signals to your communications program. "&D2" ===== This matches DIP switch 1 and takes precedence over it's setting. This setting tells the modem to use the actual DTR signals as sent by your computer and communications program. If this setting is forced on you may have problems with flow control and overrunning your serial port. Also, this allows communica- tions programs to hang up the modem by simply dropping DTR instead of fooling around with delays and codes. "&G0" ===== This is country specific. &G0 is for the U.S. and Canadian phone system. It sets the guard tone used. Don't worry about this - it's technical and doesn't affect speed. "&H1" & "&I0" ============== These are two important settings. These set the flow control between your modem and computer. &H1 says, use hardware flow control for transmitted data and &I0 says, no flow control for received data. This all means, give it to me as fast as you possibly can and I'll send it to you as fast as you can take it. By the way, hardware flow control is MUCH faster than software (XON/XOFF) control and is totally transparent. Also, there is NO advantage to using both at the same time (&H3) - in fact it's slower. "&J0" ===== This is the phone line interface type and is dependant on what you've got your modem hooked up to. Use the appropriate setting. &J0 is for standard, single line jacks like the RJ11. This setting is no longer used on newer modems. "&K0" ===== Ahh, data compression. Now this setting is going to be one of considerable controversy but let me assure you that this setting, no compression, has been VERY THOROUGHLY checked out and provides the MAXIMUM download speed in all cases INVOLVING PRECOMPRESSED (.ZIP, .ARC, .LZH, etc.) files. If you are going to be downloading text and other uncompressed files then by all means use &K3 if it's available, &K1 if you don't have the V.42bis upgrade. Most people downloading from BBS's will be downloading precompressed files (this includes .GIF files which are com- pressed files). If you try and use your modem's compression you will only slow your download. Yes, I know that V.42bis was designed to minimize the impact of precompressed files on throughput. Minimize yes, eliminate no. We want max speed here. So the 5-20% that we lose is significant. For example, with V.42bis compression on I get downloads in the range of 1650-1690 cps. With no compression these exact same downloads over the exact same phone links give a range of 1700-1740 (or higher in rare cases). The chart on page A-9 of the HST manual (A-2 in the older manuals) gives the maximum cps you can expect at various link rates. Note that they list 1700 has the top speed to be had on .ARC or Random 8-bit binary files. Ho ho! Guess V.42bis is not all it's cracked up to be eh? Right from the manufacturers own manual. The older manuals used to list speeds without compres- sion. With the &K0 setting you are permitting error control up to MNP level 4 but disabling MNP 5 and V.42bis compression. The maximum you should be able to get is 1740 cps (this is documented in the older manuals). Rates higher than this do occasionally happen but in 95% of the cases are the result of errors in the rate calculations of the download protocol/program. There is math you can do to prove this maximum rate (as it is a topic of much argument amongst so-called professionals). Now, I know your eyes made it to the 3840 cps figure and saying, "Hey, I want to go that fast!" Well, you are...actually you can even go much faster. How? Well, don't forget, you are receiving precompressed data that was compressed based on the entire files' contents not just a 1024-2048 byte chunk the modem uses. Say you had a 100,000 byte text file that was only 25,000 bytes when .ZIPed. If you downloaded it at 1720 cps your actual transfer rate, based on the real number of bytes received, is 6880 cps! This is not unusual for an assembler or Compiler listing sent this way. I've seen transfers hit over 8000 cps in real bytes received. Back to the point. Do NOT use compression on your HST. Up and Download compressed files instead. There is NEVER a case where a .ZIP or .GIF file (and most others) will transfer faster with compression on then with it off. I take any wager on this because I'm sick of hearing others get it wrong. Put your money where your mouth is! "&L0" ===== This set's leased line operation or not. 0 if not, 1 if. "&M4" ===== This setups error control modes and Synchronous options. We'll ignore the synchronous options because 99% of PC BBS's don't use it and the IBM PC doesn't support it (normally). &M4 says "use error correction, if the other side has got it, other- wise just connect." This is the most flexible mode. There are many types of error correction your HST uses: MNP 1-4, HST (there is both a HST link protocol and a HST error correction protocol), LAPM and V.42. V.32 is a link protocol and has nothing to do with error correction. V.42bis is a compression protocol and has nothing to do with error control or link protocol. For example, your HST could link at 14,400 bps using HST link protocol, any of the error correction types and V.42bis compression. Use the &A3 command if you'd like to see what your modem is using each call. "&N0" ===== This tells the modem to negotiate the highest possible link rate with the modem AND to fallback if there is significant line noise and fallforward when things improve again, if they do. If you were to use &N8 (to force at 14.4K connection for example) you would be disabling fallback/fallforward capability. "P0" ==== This is the pulse dialing make/break ratio and &P0 is for the U.S. and Canada. "&R2" and "&S1" =============== These two settings, duplicated on DIP switches 6 and 1, control RTS flow control and DSR operation. &R2 tells the modem to only sent data to your serial port when your computer says it is ready. This helps prevent overruns and is VERY important if your are multitasking or have a slow computer. &S1 tells the computer when the modem is ready for interaction and when the call is disconnected. The importance of the &R2 setting cannot be overstated. USE THIS SETTING if you intend to handle 1740 cps downloads. "&T5" ===== This is a technical test setting with nothing to do with speed. It means: Deny Digital Loop Back. Don't worry about it. "&X0" and "&Y1" =============== Two technical settings which have nothing to do with speed. &X is for synchronous connections and &Y handles the break signal. Neither is used by PC's so I won't get into them. "%R0" ===== Disable RCU link request - trust me, you don't need to know. That's all folks. If you use these settings you WILL get the most out of your HST and of this I'm certain. Before I part let me add just a little more information to complete this document. Now that your modem is working at top speed you should make sure your getting the most out of your download protocol. The fastest protocol is YModem-g. Simple as that. It doesn't do anything fancy. It just blasts information down the line and assumes that your modem is taking care of error checking so don't use it if you don't have a MNP ("/ARQ") connection. There are many other protocols but I'll also mention ZModem and especially ZModem-90 (also known as MobyTurbo). ZModem in itself is fast. Using the compression option is not useful for the same reasons using &K1 or &K3 isn't. ZModem-90 is an im- provement in nearly the same way as V.42bis is an improvement over MNP level 5 (&K3 over &K1 in HST lingo). It is better at handling precompressed files but still not the best. If you are using DSZ remember to include the "handshake on" option on the command line. Do NOT use software handshaking, it will slow things down. DSZ's "handshake on" activates hardware flow control and makes DSZ as fast as it's going to get. To squeeze the last bit of speed outta DSZ, use the .EXE version and/or include the following option on the command line: "pB4096". This increases the buffer size. If you have the .EXE version of DSZ, use "pB16384" instead for 16K blocks. ZModem users add: "z pL1024" after the previous to get the packet size up to maximum right from the start. These tips are worth a couple of cps. Last thing: If you communications program and/or download protocol supports it USE a NS16550A(F)N UART chip. DSZ supports it and it will go a long way towards helping your downloads get there intact. This file was typed out during a Diet Pepsi buzz in the middle of the night so cut me some grammatical and formatting slack. My Name is: Alex Boge You can reach me on CompuServe at 72470,402. Or on Rusty & Edie's BBS (216) 726-3589 as "Drestin Black" Or you can call me anytime (except between 4 a.m. and noon) any day at (313) 781-2124. Please let me know what you think of this file. I would be happy to write on other topics of which I have knowledge if someone needs the info. Give me a call or send me some e-mail if there is some computer mystery you'd like cleared up. August 18, 1990 Slight revision March 22, 1991