home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 2 BBS
/
02-BBS.zip
/
MAXINE1.LZH
/
MAXINE.DOC
< prev
next >
Wrap
Text File
|
1991-02-17
|
11KB
|
266 lines
Maxine V1.00 release notes, Sun 02-17-1991
--------------------------------------------
One small change: The maxine.cfg parameter "Answer" is actually use
now (the answer string was hard-coded as "`ATA" before).
This may well be the last version of Maxine (<sniff> -- just as soon
as I promoted it to V1.00); but don't despair!. The next version
of Maximus is going to answer the phone itself; thus making Maxine
obsolete.
Maxine beta V0.40 release notes, Sat 12-15-1990
-------------------------------------------------
Sorry for the delay folks -- 0.40 has been ready for some time -- I
simply forgot to release it.
Fixes:
- Forget about what I was saying below. "CONNECT xxxx/other info"
really works this time. Since 0.20, Maxine was configuring the
port at the correct rate, but was passing the wrong rate to the
bbs. So even though everything worked ok, the time
calculations for file transfers were incorrect.
Features:
- "CallTwice TRUE/FALSE" in maxine.cfg. Breifly: When FALSE,
this feature is disabled. When TRUE, maxine will only answer
the phone on the second call, if the second call arrives within
45 seconds of the first call. This was requested by a few
sysops that use their phone line for more than just the bbs. It
is a simple security feature too -- only people that know that
they have to call once, hang up, and call right back, will be
able to get online.
- The "(C) copright a:ware ..." line, after the first call, is
replaced with a couple of stats.
Maxine beta V0.30 release notes, Sun 10-21-1990
-------------------------------------------------
Hey folks, I need feedback! Thus far, I've only had two bug
reports (and I know there were more than 2 bugs!). If you don't
tell me, nothing will get done.
Bugs fixed:
- Spurious XOFFs, under certain conditions, would cause Maxine
to abort (after failing to INIT the modem several times). I now
close (then re-open) the COM port after each such failure; so
you still may see the odd ": Modem init failed [-1]." message,
but it should not end up aborting after 3 tries.
New Feature:
- New config keyword "SlowModem" must be added, and set to TRUE
or FALSE. When TRUE, modem command strings will be paced (at
56ms). Some modems can not take command strings at "full
speed". "SlowModem TRUE" will fix this problem.
Maxine beta V0.20 release notes, Sat 09-01-1990
-------------------------------------------------
Maxine: A mate for Maximus. (Guess who wears the pants?).
Bugs fixed:
- at midnight, there was a good chance of Maxine getting
"stuck". When this happened, Maxine *would* still answer the
phone -- but it would not respond if you hit ESC.
(This is one of those embarrassing bugs. My high-level logic was
all prepared for the "00:00" syndrome; but my os/2 code for
the dos-like _bios_timeofday() function had a bug in it!).
- The code to initialize the modem has been battle hardened a bit.
- Modems configured to return more than "CONNECT xxxx" were not
working. I've relaxed the response checking, so that a
response such as "CONNECT xxxx/some other info" will now work.
There has been some confusion about how Maxine answers the phone.
Maxine uses the same method as most other front-end programs. Your
init string MUST NOT put your modem into "auto answer mode" (AAM)
-- just the opposite. You should include "S0=0" in your init
string, to make sure your modem is not in AAM. When your phone
rings, your modem will respond with "RING". Maxine sees this,
then sends the "Answer" token in your Maxine.cfg. This should be
"ATA".
Why is this method used? Simple: If your modem is in AAM, and
your computer crashes for any reason (loss of power, h/w failure,
NMI error, etc), your modem will still answer the phone. This
can cost a lot of people money, if they are calling your system
from far away. When we use the method that Maxine uses, your
computer will only answer the phone if it is functioning.
Other init string notes:
Your modem must be configured to return "verbal" responses, NOT
numeric responses. You should have "V1" in your init string.
Your "CONNECT" string should contain the baud rate. You should
have "X1" in your init string.
Your modem should disconnect on a high-to-low transition of DTR.
You should have "&D2" in your init string.
Your modem's carrier detect line should reflect the actual state
of the carrier, and not forced high. You should have "&C1" in
your init string.
The "standard" init string for a Hayes 2400 compatible modem is:
Init ATZ|~ATX1 V1 &C1 &D2 S0=0
If you have a more full-featured modem, such as a Hayes V-Series
or US Robotics HST, you will only be ADDING to the above string.
Your "BBS.CMD" file should call the OS/2 MODE.EXE program to set up
any handshaking options your modem needs. For a Hayes 2400, you
will probably want this:
MODE COM1:2400,N,8,1,IDSR=ON,ODSR=OFF,OCTS=OFF,RTS=OFF
If you have a very CHEAP 1200/2400 modem, that is not responding
at all, try:
MODE COM1:2400,N,8,1,IDSR=OFF,ODSR=OFF,OCTS=OFF,RTS=OFF
If you have a new full-featured modem (such as a USR HST), you will
want to use h/w handshaking. Your config stuff should be:
MODE comx:<baud>,n,8,1,IDSR=ON,ODSR=OFF,OCTS=ON,RTS=HS
Init ATZ|~ATX1 V1 &C1 &D2 S0=0 &B1 &H1 &I0 &R2
LockBaud TRUE
New Features
------------
- The config file was self-documented a little more. A new //
comment token was added.
- config token "Priority" was added. Under almost every
circumstance, this value should be left at "Normal".
I can't imagine when "low" would be used, since this is in a
class called "idle time", and would cause Maxine/Maximus to
halt when anything else happened on your computer -- even
simple things like "DIR" would cause the bbs to be "starved" of
CPU cycles.
I know many of you are going to be tempted to run at "High". If
you are only running ONE line, go right ahead. This will
simply make sure your users see a smooth & consistent stream of
data from your bbs.
If you are running more than one line, the line you run at
"high" will starve the other line (but not quite as badly as
what was described above, in the "low" discussion).
Furthermore, there's no point in running ALL of your lines at
high, since this brings them all up to the same level but
removes OS/2's ability to dynamically adjust the priority of
each line based on what it is doing (this feature is only
active at "Normal" priority). It is conceivable that running
all lines at "high" priority would end up in POORER performance
because of this!
Selecting "Normal" causes Maxine not to set the priority at all;
it simply inherits the priority from whatever started it.
Assuming your config.sys has PRIORITY=DYNAMIC in it, the
Normal setting will cause OS/2 to raise and lower the priority
of Maxine/Maximus based on system usage. If it is the
foreground task, it gets a boost. If it is doing a lot of
disk i/o (for example, using the Maximus L)ocate command to
search for a specific file), it gets a boost.
So why did I bother to add a "High" priority? If you have a
slow computer (an 80286), and a slow UART (ie: NOT a 16550, or
you are not using OS/2 1.20) AND you are running a very fast
modem (>=9600 bps), you may find that you start to loose
characters whenever you touch your computer. The High setting
will help you in this situation.
Another possible use for "high" is if you have two lines, and
you don't care too much about one of them. For example, one
line may be used for receiving (fidonet) mail locked at 19200
bps, and the other line a 2400 bps line used only for human
callers. In this case you may want to have the 2400 line at
"Normal", and the 19200 line at "High". (Maxine does not
receive fidonet mail, so you it would be some other<tm> s/w
that you set to "high").
In previous (Maximus) documentation, I suggested that putting
"PRIORITY=ABSOLUTE" in your CONFIG.SYS may help slow 80286's
running at 9600. I have changed my position on this. Put it
back to "PRIORITY=DYNAMIC" (the default). The new COMM.DLL
routines used in both Maxine and Maximus achieve much greater
throughput -- when I stated that "PRIORITY=ABSOLUTE" may help,
I was using some very inefficient routines.
A little technical info on Priority:
-----------------------------------
Low == DosSetPrty(PRTYS_PROCESSTREE, PRTYC_IDLETIME, PRTYD_MAXIMUM, 0);
Normal == NOP
High == DosSetPrty(PRTYS_PROCESSTREE, PRTYC_FOREGROUNDSERVER, 0, 0);
(That's right -- "High" is NOT time critical. You'll have to break
my arms first!. If you REALLY think you need Maxine/Maximus in a
TC class, choose "Normal" priority in maxine.cfg and write a
program that sets the priority to TC before spawning Maxine).
Other notes
-----------
A few people have asked me about source code for Maxine. There
won't be any; at least not in the form it is in now. Large
portions of the code (the high-level modem logic, and all of the
screen routines) have been used in another project that I sold the
source code rights to. However, Maxine.exe will be the standard
"free for non-profit use" idea.
- o -
Maxine V0.00 release notes
--------------------------
Maxine: A mate for Maximus. (Guess who wears the pants?).
Maxine will answer the phone and spawn Maximus, removing the need
for BinkleyTerm for non-nodelist bbs's.
To start everything up, use (& modify) the sample BBS.CMD.
Maxine.Cfg is a sample configuration file. It's very simple.
I wrote this using my Hayes 2400, so I never tested
'LockBaud TRUE', but it's a no-brainer, so I think it will work fine.
You'll need the same stuff on your LIBPATH as Maximus does
(comm.dll, snserver.dll).
Planned enhancements (comments welcome):
- Implement "BigBro" (Carrier Watchdog) inside of Maxine.
- Automatically start/kill PmSnoop
- Automatically assign pipe name, task number, and log name for
Maximus; thus making adding another phone line as easy as
starting up a new session and running "bbs.cmd".
Bug reports to: Peter Fitzsimmons @ 1:250/628
Thanks for testing this!.