Here's how Elric set up his HST. You of course are free to take this and do
whatever you want to with it.
First things first, let me identify my modem. I have a 14,400 HST, MNP 5. I
do not have the V.42bis installed yet, so this may change when the modem does.
Here are my ROM dates and such as given by the modem (ATI7)
ati7
Configuration Profile...
Product type External
Options HST
Eprom 64k
Ram 8k
Supervisor date 09/29/89
IOP date 09/20/89
DSP date 09/18/89
Supervisor rev 1.2
IOP rev 1.2
DSP rev 2
OK
Now the switches on the back, along with what they do and why they are set like
they are.
First, with the modem rightside up, looking at the back, you should see one
big switch, then a bank of 10 more.
Big Switch. Quad. Leave it alone. Should be up. Unless you know what this
thing is, and are sure you have to change it, just leave it alone.
Bank of 10 switches. Check to make sure your assignments for up and down
are the same as mine...would hate for them to have put in upside down
switches on yours and really screw you up.
Summarry:
1 2 3 4 5 6 7 8 9 10 UP=Off
UP UP UP UP UP UP Down=On
DOWN DOWN DOWN DOWN
Switch 1. Data Terminal Ready Operations. UP
Should be Up/off. The default for this is down, but trust me, you want it up.
In the up position, the modem will only maintain carrier if the computer holds
the DTR line high. This way the modem WILL hang up when they log off. And not
after 10 minutes, but NOW. This is because when WWIV tries to hang up, first
it drops DTR, then sends an escape code to hang up. I am sure you have
experienced BBS's where the hang up function did not work correctly. Well,
this takes care of that problem. Trust me, this is the way to go.
Switch 2. Verbal/Numeric Result codes. UP
This is a matter of preference. The default is UP, and that is what I have
mine set at, since most term programs prefer verbal codes. Also, programs like
Procomm Plus are not set up to handle 18 different result codes for 2400 baud...they dont care if it is 2400, 2400 HST, 2400 ARQ, or 2400 HST/ARQ. All they look for is just "connect 2400" and ignore the rest. So leave it up and your term program will be easier to deal with. Of course, there is a command to override this, ATV1 will return the verbal codes, ATV0 will return numeric. It's really up to you is what I guess I am saying here.
Switch 3. Result Codes Enabled/Suppressed. DOWN
The default is DOWN, which is enabled. That is also what mine is set for,
since without the result codes you might as well guess a random baud rate and
hope for the best.
Switch 4. Command Mode Local Echo. UP
Default is UP, mine is UP. What this does is when you type something in
command mode, like AT commands, they echo to the screen. Putting the switch
in the down position lets you type blindly away with no echo, if you prefer
that for some reason.
Switch 5. Auto Answer. DOWN
The default is DOWN, and mine is down. What this does is disable the
auto answer feature of the modem. WWIV does not rely on the modem to
automatically answer, instead it continuously polls the modem looking for
a ring. When it finds one, it answers manually. That way there are no
surprises. And it works better than auto-answer.
Switch 6. Carrier Detect UP
Factory default is down, mine is UP. The reason is in the down position,
the modem always assumes a carrier is detected. When it is up, it is actually
looking for the carrier. When it detects one, it sends the carrier detect(CD)
signal back to the computer. When it does not detect another modem, it drops
the carrier detect signal to the computer. Lets you know if the user hangs
up on you.
Switch 7. Auxilary Switch UP
Default is UP, mine is UP. When it is UP, the result codes are always
displayed. When it is down, the result codes are suppressed in answer mode.
Since Answer is what you are in when you answer, and as we discussed in
switch 3, without them you could just guess the baud rate without them, you
do want this one up.
Switch 8. Command Set Recognition DOWN
Defualt is down, mine is down. This puts the modem in smart mode, as in it
recognizes the AT command set. Trust me, you dont want to not be able to
use the AT command set.
Switch 9. Escape code response. DOWN
You want this one down. In the UP position, if the modem receives the escape
code, it hangs up, returns to command mode, and returns a no carrier result
code. With it down, the modem maintains the connection, but just drops to
command mode.
Switch 10. Power on and ATZ reset defaults. UP
With this up, when the modem powers up or when it is reset it loads the
ram with the options you have programmed. With it down, it loads the factory
defaults. If the factory defaults were satisfactory, I wouldnt be typing in
this bloody doc file, and you wouldnt be reading it. Leave it UP.
OK, that pretty much covers the switches. Now for the NRAM settings. Lets
look at these one at a time and see how to set them up, and what they do.
To set these up, load up your term program of choice, and start entering
these options. Such as ATB1 <CR> ATC1 <CR>....
When you are done, enter AT&W to write the settings to the NRAM.
First, of course, the summary.
ati5
USRobotics Courier 14400 HST NRAM Settings...
DIAL=TONE B1 F1 M1 X7
BAUD=19200 PARITY=N WORDLEN=8
&A2 &B1 &G0 &H1 &I0 &J0 &K2 &L0
&M4 &N0 &P0 &R2 &S0 &X0 &Y3
S02=001 S03=013 S04=010 S05=008
S06=002 S07=255 S08=002 S09=006
S10=050 S11=055 S12=050 S13=004
S15=008 S19=000 S21=010 S22=017
S23=019 S24=150 S26=000 S27=000
S28=008 S38=000
Lets look at these one at a time now.
B1. This puts the modem in HST mode by default. Since I am assuming you have
an HST and not a Dual Standard, just like me, you want this to be B1.
Setting it to B0 will let it answer in V.32 mode, and then fall back to HST
mode if it is connecting to an HST. But since you just have an HST modem, that
would be silly, since it cant answer in V.32 mode.
C1. If it isnt set to 1, the modem does not transmit anything, just receives.
Set it to 1 if you want it to work.
(E will be covered later, it doesnt get written to NRAM anyway. But set it to
E0 if you feel you have to.)
F1 This turns online echo on. Good thing to do. Trust me.
M1 Modem speaker options. You have several options here, so let me explain them.
M0 speaker is always off
M1 Speaker is on until connection is made
M2 Speaker is ALWAYS on <--bad idea, except for testing.
M3 Speaker is on after dialing until connection is made
I prefer M1, since that way I can adjust the volume to a reasonable level,
and I can hear when someone is logging on, or when the BBS is networking.
But, I can turn the volume up and down at my own whim. Really a matter of
personal preference. If you dont want to hear the speaker ever, set to M0.
Q0. This causes result codes to be displayed. Q1 disables result codes.
V0/V1 Either one. We will set it to V0 in the init string, so doesnt really
matter. V0 is numeric result codes, V1 is verbal.
X7 A huge extended result code list. Lets you know exactly how people are
logging on. With/without HST, with/without ARQ/MNP. If you choose a different
value, you will have to adjust the result codes page according to what is and
is not enabled by your setting. Just dont use X6 or X5, the voice result code
messes some things up at times.
& codes
&A2 &B1 &G0 &H1 &I0 &J0 &K2 &L0
&M4 &N0 &P0 &R2 &S0 &X0 &Y3
&A2 Allows even more extended result codes with ARQ info.
&B1 This allows you to fix the baud rate between the computer and the modem
at 19,200 or 38,400 baud. &B0 will cause the rate between the modem and the
computer to vary with the connection rate. You do want this set to &B1, so the
buffer will always be full in the modem, allowing the data compression to do
its stuff. If you set it to &B0, the transfer rates will go down.
&G0 No guard tone. If you are doing this in the US, leave it alone.
Some Europoean countries require different settings, see the docs.
&H, &I, and &R Flow control. First, what is flow control? This is how the
computer and the modem tell each other when it is OK to send data back and
forth. If the buffer on the modem is full, then the computer better not
keep sending data, or it will overflow. There are 4 ways to do this. One is
not to do any at all, and hope for the best. Another is to use hardware
signals, which work the best. Another is to use X-On and X-Off chars, and
let the software handle it. The third is a mixture of software and
hardware methods.
&H1 I reccomend &H1, hardware flow control for Transmit Data
&I0 I reccomend &I0, software flow control disabled for Received Data.
&R2 I reccomend &R2, hardware flow control for received data.
&J0 Single phone line. If you have standard phone lines, leave this one alone.
&K2 Always try to use data compression. Only makes sense.
&L0 Leased line disabled. Unless you have a dedicated leased line between
you and one other person (pretty stupid way to run a BBS) leave this one
alone.
&M4 Try to use ARQ (MNP error correction) if possible, otherwise just
make normal connection.
&N0 make the highest speed connection possible. If this is set to
something else, you can limit the highest baud rate at which someone can
log on, although I cant imagine why you would buy an HST and then limit the
speed to something lower than the max.
&P0 US Pulse dialing make/break ratio. Again, if you are in the US,
leave it alone.
&S0. This sends a signal to the computer that the modem is always ready.
&X0 Uses modem clock for timing. Leave it alone unless you have a FULL
cable setup.
&Y3 Something to do with break handling. Set it here and leave it. WWIV does
not use breaks, but some transfer protocols do. This is for non-destructive
non expedited breaks, if that means anything to you.
S registers
The S registers are a set of bitmapped registers that control even more
about the modem than you will ever want to or need to do. Most of these we
will leave the same, but here is how it should be set up anyway.
S02=001 S03=013 S04=010 S05=008
S06=002 S07=255 S08=002 S09=006
S10=050 S11=055 S12=050 S13=004
S15=008 S19=000 S21=010 S22=017
S23=019 S24=150 S26=000 S27=000
S28=008 S38=000
S0=0 Disable auto answer. As was explained before, WWIV does not rely on the
modem to answer the phone, rather it looks for a ring and then picks up the
phone. Works rather well compared to some BBS programs, which may not
realize the modem just answered.
S1 counts the number of rings. Ignore it.
S2=1. Changes the default escape code for the modem. Will default to 43 (+),
but WWIV uses a different symbol () to enter command mode. Basically, if
you pause, then hit three escape codes, then pause again, the modem will
enter command mode. Some sysops complained about their cheapo-Tawain modems
entering command mode if people hit the + sign three times, so thats why it
is this way now.
S3=13 Carriage return = ASCII 13
S4=10 Line Feed = 10
S5=8 Backspace = 8
S6=2 Time to wait before dialing. If you are using X7 like I reccomended,
the modem ignores this register and starts dialing as soon as it detects
a dial tone.
S7=255 Number of seconds modem will wait for a carrier. I have it set
to 255, the max, to make sure there is plenty of time to get connected.
S8=2 Time to delay if a pause command is sent (,) in command mode.
S9=6 Time the remote modem has to send a carrier before your modem
recognizes it. In tenths of a second.
S10=50 Time, in tenths of a second, the modem will withstand a loss of
carrier before it gives up. In other words, if you get some line noise or
something, wait 5 seconds before calling it quits.
S11=55 The duration and timing, in milliseconds, of tone dialing. This is
about as fast as it will work. And beleive me, its FAST. Any shorter tones
and the phone company may not recognize them. If you have a problem with
getting wrong numbers all the time, or not getting dialed out at all, you
might want to bump this up a bit.
S12=50 Duration, in fiftieths of a second, of the escape code guard time.
In other words, there has to be a 2.5 second delay before and after the
escape codes for them to work. That way some joker cant stick a in the
middle of a post and have it kick your modem into command mode.
S13=4 Bitmapped
Bit Value What it does
0 1 Reset when DTR drops
1 2 Reverse Answer mode, enter Originate
2 4 Disable pause before result codes
3 8 On DTR signal, autodial stored number 0
4 16 On reset, autodial number 0
5 32 Reserved
6 64 Disable MNP 3
7 128 used in factory testing
The only one you want is bit 2, which disables a pause before the modem
sends a result code back to the computer. No real reason for it to be on in
the first place. Leave the others alone.
S14 Reserved for USR
S15=8 Bitmapped
Bit Value What it does
0 1 Disable high frequency equalization
1 2 Disable online fallback
2 4 Force 300 bps back channel
3 8 Set non-ARQ transmit buffer to 128 bytes
4 16 Disable MNP 4
5 32 Set Del as backspace key
6 64 Unusual MNP compatibility
7 128 InterBridge network compatibility
Contrary to advice by some, disabling online fallbacks is bad. The HST will
fallback to a lower transfer rate if line conditions get bad. Then, as they
improve, the modems will bump the speed back up to the original rate. It
uses the following order of fallback: 14.4K 12K 9600 7200 4800
If online fallbacks are disabled, the modems will stay at the higher speed,
but will spend a lot of time re-sending data.
Bit 3 should be set, however. This reduces the modems data buffer to 128
bytes if someone is logged on in a non-ARQ mode. Normally the buffer in ARQ
mode is 3.25K, and in non-ARQ mode 1.5K. This presents problems to slower
callers, since if they try to abort a menu or screen with 1.5K already in
the buffer, they have to wait a long time for results. By reducing the buffer
to 128 bytes, they get faster results.
The other bytes should be left alone.
S16=0 Modem self test. Leave it set to 0 for normal operations.
S17 reserved for USR
S18 reserved for USR
S19=0 Sets the duration in minutes for the inactivity timer. 0 disables the
timer. Setting it to another value will cause the modem to hang up after that
many minutes of inactivity
S20 reserved for USR
S21=10 sets length of break in 10 millisecond units
S22=17 XON char. Not used
S23=19 XOFF char. Not used
S24=150 settings for pulsed DSR. in 20 millisecond units. Not used
S25 reserved for USR
S26=0 synchronous RTS/CTS response. Not used
S27=0 Bitmapped
Bit Value What it does
0 1 Select Bell or V.21 mode at 300. Default is 0, Bell
1 2 only for dual standards
2 4 used for testing dual standards.
3 8 reserved
4 16 reserved
5 32 reserved
6 64 leave alone
7 128 leave alone
Well, anyway, the point is set it to 0 for standard 300 baud users, to 1 if
for some reason you have V.21 300 baud users. (VERY RARE!)
S28=8 .8 second V.32 tone. Only on Dual Standards anyway, so leave it alone.
S38=0 Delay, in seconds, before dropping carrier on an MNP/ARQ caller when
DTR drops to 0. What this basicly says is that when the BBS says hang up,
the modem hangs up right away. MNP callers might lose a few chars still in the
buffer, but the fast disconnect is worth it.
Now to actually set up WWIV. Here is how to set up the init pages.
Modem initialization : ATZ{~~~~~ATV0E0S1=0{
Ring result code : 2
Stay at highest speed: Y
Use flow control : Y
Com Port : 1
Baud Rate : 38400
Interrupt : 4
Base address : 3f8
Answer : ATA{
Pick up phone : ATH1{
Hang up phone : ATH0{
Dial prefix : ATDT
The initialization string is set to ATZ{~~~~~ATV0E0S1=0{
The initial ATZ tells it to reload the default settings you have entered.
The tildas ~~~~ are there to pause so the modem can reset itself. Then the
other codes do the following:
V0 Numeric result codes
E0 Command mode echo off (The BBS does not need to see the commands it is typing, in fact, it will try to interpret them as result codes..not good)
S1=0 Make sure the ring counter is set to 0
{ The return code for WWIV.
Set the ring result code to 2, the BBS will be looking for this when it
is waiting for callers.
Answer yes to stay at highest speed, and yes to use flow control.
Set your com port to the correct one, and make sure the interrupt and base
address are set up with your serial port. Now, as far as locking the baud
rate, 38400 is preferred, but you may have some problems, so you can set it
down to 19,200. One thing to check is the UART chip in your serial port. Look
for a chip with the number 8250, 8250A, 16540, or 16550. If you dont have the
16550, get one and replace the one that is in there. This WILL make a BIG
difference in your transfers. Esp. at 38,400.
Set answer phone, pick up phone, hang up phone, and dial prefix like mine.
Now for the result codes. Fun fun fun. Here they all are. Note that if you
chose a com speed of 19,200, change these numbers accordingly.