                    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).  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 5%) 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 95-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.

      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  &J0  &K0
   &L0  &M4  &N0  &P0  &R2  &S1  &X0  &Y1

   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=000   S27=000
   S28=008   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.



      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?).

      "&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.

      "&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-2 of the HST manual gives the maximum
cps you can expect at various link rates.  With the &K0 setting
you are permitting error control up to MNP level 4 but disabling
MNP 5 or V.42bis compression.  The maximum you should be able to
get is 1740 cps.  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 next page and you were
looking at the 2880 cps figures 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 precompres-
sed data that was compressed based on the entire files' contents
not just a 1024-4096 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.

      "&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.


      That's all folks.  If you use these settings you WILL get
the most out of your HST and this I promise.

      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 exactly 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.  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-3594 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
