Category : BBS Programs+Doors
Archive   : MAX200-4.ZIP
Filename : MAX_REF.PRN

Output of file : MAX_REF.PRN contained in archive : MAX200-4.ZIP

Maximus-CBCS Version 2.00 Technical Reference Manual
Copyright 1990, 1991 by Scott J. Dudley. All rights reserved.
Created November 3, 1991.

Documentation produced by Bob Davis and Scott Dudley,
with Don Dawson and Hubert Lai.


LICENCE . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

CONTROL FILE REFERENCE . . . . . . . . . . . . . . . . . . . 6
MAX.CTL Reference . . . . . . . . . . . . . . . . . . . 6
SILT Directives . . . . . . . . . . . . . . . . . . 7
System Section Keyword Listing . . . . . . . . . . 9
Equipment Section Keyword Listing . . . . . . . . . 16
Matrix/EchoMail Keyword Listing . . . . . . . . . . 20
Session Section Keyword Listing . . . . . . . . . . 24
LANGUAGE.CTL Reference . . . . . . . . . . . . . . . . . 49
Language Section Keyword Listing . . . . . . . . . 49
READER.CTL Reference . . . . . . . . . . . . . . . . . . 50
Reader Section Keyword Listing . . . . . . . . . . 50
COLOURS.CTL Reference . . . . . . . . . . . . . . . . . 52
Colours Section Keyword Listing . . . . . . . . . . 52
MSGAREA.CTL Reference . . . . . . . . . . . . . . . . . 58
Alphabetical Keyword Listing . . . . . . . . . . . 58
FILEAREA.CTL Reference . . . . . . . . . . . . . . . . . 65
Alphabetical keyword listing . . . . . . . . . . . 65
Barricades and Extended Barricades . . . . . . . . 67
Using Privilege Level Modifiers . . . . . . . . . . 68
MENUS.CTL Reference . . . . . . . . . . . . . . . . . . 70
Global Menu Options . . . . . . . . . . . . . . . . 70
Menu Option Modifiers . . . . . . . . . . . . . . . 72
Menu Option Format . . . . . . . . . . . . . . . . 75
Alphabetical menu option listing . . . . . . . . . 76
Linking Menu Options . . . . . . . . . . . . . . . 89
PROTOCOL.CTL Reference . . . . . . . . . . . . . . . . . 91
Alphabetical Keyword Listing . . . . . . . . . . . 91
Examples . . . . . . . . . . . . . . . . . . . . . 94

MECCA LANGUAGE REFERENCE . . . . . . . . . . . . . . . . . . 96
Usage Guide . . . . . . . . . . . . . . . . . . . . . . 96
Colour Token Listing . . . . . . . . . . . . . . . . . . 99
Cursor Control and Video Tokens . . . . . . . . . . . . 102
Informational Tokens . . . . . . . . . . . . . . . . . . 104
Questionnaire Token Listing . . . . . . . . . . . . . . 109
Privilege Level Controls . . . . . . . . . . . . . . . . 112
Lock and Key Control . . . . . . . . . . . . . . . . . . 116
Conditionals and Flow Control . . . . . . . . . . . . . 117
Multi-Line Token Listing . . . . . . . . . . . . . . . . 125
Miscellaneous Token Listing . . . . . . . . . . . . . . 126

EVENT FILE CONFIGURATION . . . . . . . . . . . . . . . . . . 133

APPENDICES . . . . . . . . . . . . . . . . . . . . . . . . . 134
Appendix A: Common Problems . . . . . . . . . . . . . . 134
Appendix B: Error Messages . . . . . . . . . . . . . . . 136
Appendix C: Operating with DoubleDOS . . . . . . . . . . 141

Appendix D: Command Line Switches . . . . . . . . . . . 142
Appendix E: Local Keystrokes . . . . . . . . . . . . . . 147
Appendix F: User Editor Keystrokes . . . . . . . . . . . 150
Appendix G: List of AVATAR Colours . . . . . . . . . . . 152
Appendix H: Sample Batch Files . . . . . . . . . . . . . 153

INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159


Copyright 1991 by Scott J. Dudley. All rights reserved.

Noncommercial distribution and/or use is permitted under the
following terms:

1) You may copy and distribute verbatim copies of the Maximus
source, documentation, and executable code as you receive
it, in any medium, provided that you conspicuously and
appropriately publish on each copy a valid copyright notice
"Copyright 1991 by Scott J. Dudley"; keep intact the notices
on all files that refer to this Licence Agreement and to the
absence of any warranty; PROVIDE UNMODIFIED COPIES OF THE
other recipients of the Maximus program a copy of this
Licence Agreement along with the program. You may charge a
distribution fee for the physical act of transferring a
copy, but no more than is necessary to recover your actual
costs incurred in the transfer. Under no circumstances is
Maximus to be distributed in such a way as to be construed
as "value added" in a sales transaction, such as, but not
limited to, software bundled with a modem or CD-ROM software
collections, without the prior written consent of the

2) You may modify your copy or copies of Maximus or any portion
of it, and copy and distribute such modifications under the
terms of Paragraph 1 above, provided that you also do the

a) cause the modified files to carry prominent notices
stating that you changed the files and the date of any

b) cause the executable code of such modified version to
clearly identify itself as such in the course of its normal

c) if the modified version is not a "port", but operates in
the same hardware and/or software environment as the
original distribution, make the original version equally
available, clearly identifying same as the original,
unmodified version;

d) cause the whole of any work that you distribute or
publish, that in whole or in part contains or is a

Maximus-CBCS v2.00 Technical Reference - Page 1

derivative of Maximus or any part thereof, to be licensed at
no charge to all third parties on terms identical to those
contained in this Licence Agreement (except that you may
choose to grant more extensive warranty protection to some
or all third parties, at your option); and:

e) send the complete source code modifications to Scott
Dudley at the addresses listed below, for the purpose of
evaluation for inclusion in future releases of Maximus.
Should your source code be included in Maximus, Scott Dudley
retains all rights for redistribution of the code as part of
Maximus and all derivative works, with appropriate credit
given to the author of the modification;

f) You may charge a distribution fee for the physical act of
transferring a copy, but no more than is necessary to

recover your actual costs incurred in the transfer, and you
may at your option offer warranty protection in exchange for
a fee;

g) when distributing modified versions of Maximus, you must
not change the name of the program or the official version
number, except to append an identifier which indicates that
modifications have been made. For ports to other operating
systems, the following convention must be followed:

Maximus v..R

...where is the official Maximus version number, is
the name of the operating system which the port runs under,
and (optional) is the OS-specific revision number. For
example, the second OS/2 revision of Maximus 1.02 must have
a version string in this format: `Maximus v1.02.OS/2.R2'

Similarly, modifications to Maximus which are designed to
run under MS-DOS must also follow a naming convention. The
version string must read:

Maximus v..

where is the official Maximus version number, is
three initials (indicating your first, middle and last
names), and (optional) is the revision number of your

For example, a version of Maximus 2.00 modified by Joe T.
SysOp must have a version string in this format: `Maximus

Maximus-CBCS v2.00 Technical Reference - Page 2

3) Mere aggregation of another unrelated program with this
program and documentation (or derivative works) on a volume
of a storage or distribution medium does not bring the other
program under the scope of these terms.

4) You may copy and distribute Maximus and its associated
documentation (or a portion or derivative of it, under
Paragraph 2) in object code or executable form under the
terms of Paragraphs 1 and 2 above provided that you also do
one of the following:

a) accompany it with the complete corresponding
machine-readable source code, which must be distributed
under the terms of Paragraphs 1 and 2 above; or,

b) accompany it with a written offer, valid for at least
three years, to give any third party free (except for a
nominal shipping charge) a complete machine-readable copy of
the corresponding source code, to be distributed under the
terms of Paragraphs 1 and 2 above; or,

c) accompany it with the information you received as to
where the corresponding source code may be obtained. (This
alternative is allowed only for noncommercial distribution
and only if you received the program in object code or
executable form alone.)

For an executable file, complete source code means all the
source code for all modules it contains; but, as a special
exception, it need not include source code for modules which
are standard libraries that accompany the operating system
on which the executable file runs.

5) You may not copy, sublicense, distribute or transfer Maximus
and its associated documentation except as expressly
provided under this Licence Agreement. Any attempt
otherwise to copy, sublicense, distribute or transfer
Maximus is void and your rights to use the program under
this Licence agreement shall be automatically terminated.

However, parties who have received computer software
programs from you with this Licence Agreement will not have
their licences terminated so long as such parties remain in
full compliance, and notify Scott Dudley of their intention
to comply with this Agreement.

6) You may not incorporate parts of Maximus into a program
which is NOT completely free for ALL users. If you wish to
use Maximus in such a way, you must obtain written

Maximus-CBCS v2.00 Technical Reference - Page 3

permission from Scott Dudley before using any of the Maximus

7) You may not incorporate parts of Maximus into a FUNCTIONALLY
SIMILAR program, including other bulletin board packages or
tossers/scanners. If you are writing another BBS or remote
host package, you must contact Scott Dudley before using any
of the Maximus code.

8) The privileges granted above apply only to noncommercial
users of the Maximus software. You are a NONCOMMERCIAL user
only if you are running Maximus a private individual with no
"sponsors", "backers", and only if your BBS is not making
(or helping to make) a profit. You are a COMMERCIAL user if
you make a profit from running your BBS. You are also a
COMMERCIAL user if your BBS is being run by (or for) any
corporation, government, company, foundation, church,
school, or any other organization You are also a COMMERCIAL
user if your system is used to advertise such a commercial
organization for the purposes of making a profit.

This licence only governs NONCOMMERCIAL users. If you are a
COMMERCIAL user, you are not licensed to use or distribute
this software without the prior written consent of Scott
Dudley. If you wish to run Maximus as a commercial user,
please see the section below on site licences.

9) This licence may be revoked by Scott Dudley without prior




Maximus-CBCS v2.00 Technical Reference - Page 4


You can contact the author at any of the addresses listed below:

FidoNet: 1:249/106
IMEXnet: 89:487/106
Internet: [email protected]
CServe: >INTERNET:[email protected]
BBS: (613) 389-8315, 14.4K/HST

Surface mail:

777 Downing St.
Kingston, Ont.
Canada K7M 5N3

The author can also be reached through the EchoMail conferences
called MUFFIN (Max support) and TUB (Squish support).

Sending correspondence via electronic mail is strongly preferred.
However, if you expect to receive a reply via surface mail,
please enclose a self-addressed, stamped envelope. Maximus users
outside of Canada should include an international postal reply
coupon instead of a stamp.


Please feel free to contact the author at any time to share your
comments about this software and/or licensing policies.

Our thanks to Richard Stallman at the Free Software Foundation,
Inc. and BBS Co. for most of the wording of this licence.

Maximus-CBCS v2.00 Technical Reference - Page 5


MAX.CTL Reference

The main Maximus control file, MAX.CTL, is the most important
part of your BBS. This section of the documentation is a
reference for the control file; all of the keywords you can use
in MAX.CTL are listed here in alphabetical order, subdivided by
control file section. A sample control file is included in the
Maximus distribution kit, and it's heavily commented, so you
should not have any problems with making simple modifications.
However, should you find some items in the control file to be
unclear, you can turn to this chapter of the manual for more

In addition to the 11 main sections (System, Equipment,
Matrix/EchoMail, Session, Messages, Files, Off-line Reader,
Languages, Colours, Protocols and Menus), you can also define
custom blocks of the control file for use by external programs.

You can start a custom section by placing the word "Section" on
the first character of a line, followed by a one-word identifier
for the section. The identifier should relate to the name of
your program: for example, you might use the statement `Section
MyRen' to start a custom section for a message-renumbering
program. After you have defined a custom section, it can
continue until the end-of-file, or until SILT encounters `End' as
the first word on a line.

This provides for a convenient way to store an external
application's information inside the main Maximus control files,
without having to create another control file for each external
application which is added. If you need to just sprinkle items
throughout the control files, and place information inside of
other area, menu, or section portions of the configuration file,
then the `App' or `Application' keywords (see below) may be what
you are looking for.

However, what follows is a description of all the standard SILT
directives and sections which are required for ALL Maximus

Maximus-CBCS v2.00 Technical Reference - Page 6

SILT Directives

Directives are commands which are interpreted only by the SILT
compiler: they don't produce any output on their own, and simply
modify SILT's operation. SILT can interpret several directives,
in addition to all of the normal keywords, which are described
later in this documentation. These directives can be used
globally, in any of the configuration files. As of this date,
SILT supports the following directives:

App [...]
Application [...]

Placing an `App' or `Application' statement into any of the
control files will allow an external program to imbed
application-dependent information inside the Maximus control
files. should be no more than one word, but can
include underscores. should also be a one-word
name to identify the program which uses your identify the
name of the external program which the information was
designed to be used by. You can have zero or more
, which can indicate what your external program
should do. For example, the following line:

App MyRen KillByDay 20

...might instruct an external message renumbering program
called `MyRen' to delete messages from the current area, by
date, and to keep only those messages which are less than 20
days old.

See also the topic on `Custom Sections', above.


The `Include' keyword is a SILT directive, and will not
affect Maximus' behaviour. When SILT spots an `Include'
keyword, it will try to open a file called , and
process it just as if it were part of the current control
file. This method is used to read in MSGAREA.CTL,
FILEAREA.CTL and MENUS.CTL. You could easily incorporate
all of the above into a single MAX.CTL, but that would be
very large and unwieldy. Using this keyword, you can break
MAX.CTL up into smaller, more manageable parts.

One limitation is that the `Include' keyword cannot be used
inside any section in the control file. (In other words, it
must be part of the main control file, outside of the

Maximus-CBCS v2.00 Technical Reference - Page 7

system, equipment, matrix, session, message and menu
sections.) However, most sections can be broken down into
parts, so if you use the following in MAX.CTL:

Session Section
% Insert main session information here
End Section

Include Session.Ctl

...and set up SESSION.CTL to look like this:

Session Section
% Other session information here.
End Section'll be able to split the session section information
(or any other section, for that matter) into two separate


These two keywords are provided for compatibility with
previous and current Opus control files. SILT will generate
these older .PRM files when writing the main MAX.PRM file,
which makes it possible to run older Opus utilities. The
`Version14' and `Version17 keywords will cause SILT to
generate an Opus v14 PRM file and a v17 PRM file,

Maximus-CBCS v2.00 Technical Reference - Page 8

System Section Keyword Listing

Dos Close Standard Files

This keyword tells Maximus that it should close all files
which are open before running any external programs. These
files include the AREA.* area data files, and MAX.LOG.
Unless you use this option, other utilities and programs
will NOT be able to write to these open files. For example,
if you wish to have your external program log information to
MAX.LOG use this keyword.

File Password

This keyword defines the location of the user file, which is
where Maximus stores everything that it knows about each
user. If you are just starting out with Maximus and do not
yet have a user file, then start Maximus using the `-c'
command line switch, and Maximus will create one for you.

Log File

This keyword tells Maximus what you want your system log
file to be called. The log file contains a record of WHO
called your system, WHEN they called your system, and WHAT
they did while on-line. If you don't specify a log file,
then NO log will be generated. Note: You can also specify
an override log file name on the command-line, via the `-l'
switch, which is useful in a multitasking/multinode

Log Mode

This keyword tells Maximus how much information you would
like to have inserted in the log file. Using `Trace' for
will give you a detailed account of everything
that the user did on your system, including information on
the message areas which were entered,the files which were
downloaded, etc. Since `Trace' records quite a lot of
information, the log file can become very large very quickly
if your system is a busy one. Using `Verbose' for
will still put a large amount of information in
the log file, but not quite as much as `Trace'. Using a log
mode of `Terse' specifies that you only want a bare-bones
log kept, and only major events will be recorded, such as a
user logging on and off, any errors encountered, etc.

Maximus-CBCS v2.00 Technical Reference - Page 9


This keyword is only required if you are running Maximus
under a DOS-compatible multitasking environment. can
be any of the following:


If type NONE is selected, Maximus will attempt to autodetect
the current multitasker. Maximus supports DESQview,
DoubleDOS, PC-MOS, Windows 386/Enhanced Mode, MultiLink, or
any other program which hooks the int 28H vector.

When running under OS/2, simply specify "none" for the
multitasker. OS/2 is always loaded when running MAXP, so
this option can be left alone.


This keyword tells Maximus what the name of your BBS is. It
will be displayed when you start up Maximus, and it will
also be used as a default for your EchoMail origin lines.


This keyword tells Maximus that you are running MS-DOS
version 3.3 (or prior), and that you do NOT have SHARE.EXE
loaded. (This keyword is only needed when you have enabled
the `Path IPC' keyword, and are using the multi-node chat.)

This keyword instructs Maximus to disable file and record
locking, since some earlier DOS versions don't include it in
the system core. (DOS versions 4.0 and above have record
locking built in, and therefore SHARE.EXE is not required.)
However, since SHARE can cause certain problems with other
programs, Maximus allows you to use this command, as a way
to use the multi-line features without loading SHARE.

*WARNING* This keyword should be used with EXTREME caution,
since it disables the safety mechanism for the inter-process
communications area. If you absolutely cannot run your
system with SHARE loaded, then upgrading to DOS 4.0 is
probably a better answer. This keyword should only be used

Maximus-CBCS v2.00 Technical Reference - Page 10

Path IPC

This keyword defines the path to use for the inter-process
communications area. This directory will contain several
temporary files, used for inter-task communication between
different copies of Maximus. (If you are running several
copies of Maximus, and you want all of them to be able to
talk together, then you must set this to point to the SAME
directory, for all nodes.)

If you are running only a one-line system, then you can
leave this path blank, or not declare it at all. However, if
you are running two or more lines, and wish to enable the
multi-line features, it is STRONGLY recommended that you set
this to point to a RAMdisk. Maximus will write several
files to this directory during the course of execution, and
there will be an especially large number of disk accesses to
this path when using the multi-node chat. Setting the IPC
path to a normal directory will probably cause the chat to
become sluggish, and will cause unwanted disk activity
during a normal session.

It is suggested that the size of your RAMdisk be a minimum
of about five kilobytes, multiplied by the number of nodes
you wish to run. For example, if you are running a
five-line system, then the size of your RAMdisk should be
about 25 kb.

Also remember to load SHARE.EXE when you have the
inter-process communications path enabled. See above for
more details, in the description of `No SHARE.EXE'.

Finally, you should read through the Multi-Line Operation
Guide in the Maximus Operations Manual, before attempting to
use any of the multi-line features.

Path Language

This keyword tells Maximus where your language files are
located. See the Language Section keyword listing.

Path Misc

This keyword tells Maximus where your miscellaneous files
are located. Aside from the *.BBS files, this is also where
the F*.BBS, CF*.BBS, AF*.BBS, and SF*.BBS files are located.
(Please refer to the `Local Keystrokes' appendix for more
information on these files.)

Maximus-CBCS v2.00 Technical Reference - Page 11

Path Outbound

This outbound path is never used by Maximus itself. The only
reason for having this option in the control is so that it
can be inserted into the Opus v14 or v17 *.PRM files for
compatibility with older programs. If you do not need the
v14 or v17 *.PRM files, or if you do not have an outbound
path, then you do NOT need to bother with this keyword.

Path System

This keyword tells Maximus where the main system files are
located. This is also the directory in which SILT will
place the optional SYSTEM??.BBS files, if necessary. Please
note that must be a FULLY-QUALIFIED PATH,
including the drive specifier and leading backslash. To
illustrate, both of the following are okay:


But neither of these are acceptable:


Path Temp

This keyword gives Maximus the name of a directory which it
can use as a temporary workplace. This is used for batch
uploads and the `Local Editor' option, among other things.
It is NOT advisable to put anything in this directory, since
Maximus can and will fiddle with anything it finds there.


This keyword tells Maximus that you want the FOSSIL
`watchdog' feature to be activated when external programs
are being executed. This basically means that if a user
drops carrier (hangs up) while running an external program,
the FOSSIL will reboot your computer. Presumably, your
batch file will re-load your mailer or start Maximus in WFC
mode. If you are using well-behaved external programs (i.e.
those specifically written to run under a BBS), then you
won't need this option, since the external program itself
will detect when a caller has hung up. This option has no
effect on Maximus' internal carrier checking, which is on
all the time. If a user hangs up while Maximus is running,

Maximus-CBCS v2.00 Technical Reference - Page 12

Maximus will simply end and the batch file can restart the
front-end mailer.


This keyword controls the default state of the `Snoop'
setting. If you do not use this keyword, snoop is turned
off by default. When snoop is turned ON, then the local
console will look exactly like what your user is seeing.
But when snoop is OFF, then the local screen will be just a
status-line display of events. Turning snoop off will
greatly increase performance on a multitasking system, since
console output chews up a lot of system time.


This keyword specifies your name as it will appear to users.
Please note that placing your name here doesn't actually
confer any SysOp powers upon you. Only users with a
privilege level of `SysOp' can obtain SysOp capabilities.
The name used in this keyword will be used for display
purposes only, such as when Maximus asks the user if he/she
wants to leave a log-off comment to .


This keyword specifies the task number for the copy of
Maximus which uses this control file. If you are not
running more than one copy of Maximus at a time, then you
have nothing to worry about, and can just comment this
keyword out. However, on a multi-line system, several
conflicts may occur with filenames and naming conventions,
which is why a separate task number is required for each
copy of Maximus that will be running concurrently. As long
as you specify a different task number for each copy of
Maximus, you should not have any problems running in a
multi-line environment.

Note! You can also specify an override task number from the
command-line, using the `-n' switch.

Finally, if you are running a multi-line system, make sure
that ALL of your task numbers are non-zero. If you set the
task number of a particular node to zero, the node will
assume that it is running in single-line mode, and won't be
able to communicate with the rest of the nodes.

Maximus-CBCS v2.00 Technical Reference - Page 13


This keyword specifies the video mode that is to be used for
the local display. Maximus supports six options for :

FOSSIL. Maximus will send all local output through the
normal communications FOSSIL. This is the slowest method,
but the most portable. (Maximus neither needs nor uses a
"Video FOSSIL".)

DOS. Maximus will send all local output through the DOS
stdout hooks. This is reasonably fast, and is reasonably

FAST. Maximus will send all local output through the DOS
`fast character output' hook, which is interrupt 29h. This
function is usually much faster than `Video DOS'; however,
some alternate operating systems (such as PC-MOS) do not
support this option. On the other hand, almost all normal
versions of MS-DOS and PC-DOS do support this option.

BIOS. Maximus will send all output via the PC's video BIOS.
It is almost as fast as the IBM mode, but will work on some
PCs where the IBM mode will not. Maximus window and status
line support is available with this mode.

IBM. Maximus will write directly to the video hardware.
This is lightning-fast and is the quickest way to run
Maximus, but it may not be compatible with some hardware or
multitaskers. This mode has been tested and works with
DESQview, TopView, and DoubleDOS. Whether or not it works
with other multitaskers depends on how they handle the
screen. Using this option also means that you do not have to
load ANSI.SYS to run Maximus, although it may still be
required in order to use your mailer or other programs which
may rely on it. Please see the DoubleDOS appendix for more
information on using this video mode with DoubleDOS.
Maximus window and status line support is available with
this mode.

IBM/snow. This mode is identical to `Video IBM', except
that Maximus will wait for the vertical retrace before
writing to the video buffer. This option is only needed
with some older IBM CGA cards, since most third-party CGA
cards (and all EGA/VGA cards) do not have this problem. Try
using `Video IBM' before using this option, and if you see
`snow' near the edges while Maximus is writing to the
screen, then using this option is necessary. If you see no
snow, then using the straight IBM video mode should be okay.

Maximus-CBCS v2.00 Technical Reference - Page 14

Maximus window and status line support is available with
this mode.

Maximus-CBCS v2.00 Technical Reference - Page 15

Equipment Section Keyword Listing


This command is used if you wish for Maximus to answer the
phone and you want it done by software, instead of using the
modem hardware. It must be used in coordination with the
Ring and Init commands. It is the command that would be
sent to the modem to tell it to answer an incoming call.
The typical command would be:

Answer ATA|

See the Busy command for special characters that are
available for use here.

Baud Maximum

This keyword specifies the maximum baud rate that your modem
supports. can be any of 300, 600, 1200, 2400, 4800,
9600, 19200, or 38400.


This keyword defines the string which Maximus will send to
the modem after a caller logs off. This string is sent
as-is, with the exception of the following special

v: Sets DTR low
^: Sets DTR high
~: This causes Maximus to pause for one second
`: This causes a pause for 1/20th of a second
|: This translates into a carriage return


This command defines the string that will be sent by the
modem to indicate that a successful connection has been
established after the modem has answered the phone. This is
only used if you wish for Maximus to answer the phone. A
typical Connect command is:


Maximus-CBCS v2.00 Technical Reference - Page 16


This command is only used if you allow Maximus to answer the
phone. It is the string that will be sent to the modem when
Maximus is started and after every caller. The rules for
the composition of this command are identical to those for
the Busy command. A typical Init command is:

Init ~v~````|~^``ATH0|

If you wish for the modem to answer the phone, use this

Init ~v~````|~^``ATH0S0=1|

If you wish for Maximus to answer the phone, set the dip
switch or volatile ram to disallow the modem to answer the
phone (S0=0), and enable the Ring and Answer commands in

Mask Carrier

This keyword tells Maximus which one of the MSR (modem
status register) bits is used to signify that there is a
caller on-line. For almost all modems in North America, the
value for should be 128. Other modems in other
countries will probably vary, so consult your modem manual
for specifics. NOTE: should be specified in DECIMAL,
and not in hexadecimal as some other programs require.

Mask Handshaking

This keyword tells Maximus which kind of flow control you
would like to use. Supported values for are
`XON', `CTS', and `DSR'. If you want your users to be able
to use ^S and ^Q to stop and restart output, then using
`XON' is necessary. Also, if you are using a high-speed
(9600 bps or faster) modem, then it is necessary to use
either CTS, DSR, or both. You can use more than one type of
handshaking by adding additional `Mask Handshake'

Maximus-CBCS v2.00 Technical Reference - Page 17

No Critical Handler

Use this command to disable Maximus's critical error
handler, which is turned on by default. The critical error
handler will instruct DOS to fail the operation after
printing one of two error messages through the BIOS:

Critical error reading/writing drive X:


Critical error accessing device COMx

This should prevent problems such as disk-left-in-drive or
others from displaying an Abort/Retry/Ignore error message
and waiting for keyboard input.


This keyword tells Maximus to which port modem output ought
to be sent. Supported values for are `Com1'
through `Com8', and `Local'. Although Maximus supports up
to eight COMx: ports internally, your FOSSIL and modem
hardware must also support the port that you wish to use.
Check with your FOSSIL documentation and modem manual for
details on this. `Local' tells Maximus that you want local
output. However, this option is fairly redundant, since you
can achieve exactly the same effect by using the `-k'
command line switch when executing Maximus. Note: You can
specify an override COM port at runtime, via the `-p'
command line switch.


This command is only used if you allow Maximus to answer the
phone. It defines the string that will be sent by the modem
when the phone rings. It should be used in coordination
with the Answer string in MAX.CTL. Also see the Init
command. A typical Ring command is:

Ring Ring

Maximus-CBCS v2.00 Technical Reference - Page 18

Send Break to Clear Buffer

This statement tells Maximus that you are using a modem
(such as the USR HST or the Hayes V-Series) which has an
internal buffer, and that Maximus must send a BREAK signal
whenever it needs to clear the modem's internal buffer. If
you do not use this statement and your modem DOES have an
internal buffer, then users may have problems using ^C to
halt output from your BBS. IMPORTANT: If you are using a
U.S. Robotics HST modem, make sure to specify the `&Y0'
parameter in your mailer/front-end's initialization string!
The factory HST configuration may not always work properly
with this option enabled, so you should make sure to use &Y0
before using this keyword.

WARNING! Some HSTs may not be compatible with this option.
Some systems started spewing out garbage when users hit ^c
or used hotkeys, when this option was enabled. If this is
the case, then you'll have to disable this option.

Maximus-CBCS v2.00 Technical Reference - Page 19

Matrix/EchoMail Keyword Listing

Address [zone:][.point]

This keyword specifies the network address (or `matrix
address') which is used by Maximus. This address is used
for sending NetMail messages, and is also placed on the
origin line of EchoMail messages. You can specify up to
sixteen matrix addresses, but the first address you specify
will be your primary address. The primary address will be
used on all NetMail, and will be the default address used in
origin lines. You can specify secondary addresses by adding
additional `Address' lines below the primary `Address' line.

IMPORTANT: If you are using Maximus to run your point, then
you must follow some special guidelines for this statement.
For the FIRST `Address' statement, you must put your FULL
network address, including the point number, as you wish it
to appear in your EchoMail origin lines. As your FIRST
SECONDARY ADDRESS, you must use your fake network address,
which should have been assigned to you by your bossnode.
This is what will be used for the SEEN-BY lines in EchoMail.

After EchoMail Exit

This statement specifies which errorlevel Maximus will exit
with if a user has entered one or more EchoMail messages.
This exit errorlevel will supersede the `After Edit'
errorlevel, so Maximus will exit with this errorlevel, even
if a user enters BOTH NetMail and EchoMail.
MUST be more than (or equal to) 5, and less than 254.

After Edit Exit

This statement specifies which errorlevel Maximus will exit
with after a user enters a matrix (or `NetMail') message.
This exit is superseded by the `After EchoMail Exit'
errorlevel, so if a user enters BOTH NetMail and EchoMail,
the `After EchoMail' is the exit which will be taken.
MUST be more than (or equal to) 5, and less
than 254.

Maximus-CBCS v2.00 Technical Reference - Page 20

After Local Exit

This statement specifies which errorlevel Maximus will exit
with after a user enters a local message. This exit is
superseded by both the `After EchoMail Exit' and the `After
Edit Exit' errorlevels, so if the user enters either matrix
or echomail, in addition to a local message, then the `After
Local Exit' errorlevel will not be used.


This statement specifies the location of a user/address list
in standard FIDOUSER.LST format generated by nodelist
compilers such as XlaxNode, SysNL, ParseLst, Qnode, etc.
The format of the list is a plain ASCII text file exactly 60
columns wide in the format shown here:

Davis, Bob 1:106/114
Doe, John 2:123/4
Dudley, Scott 1:249/106

Gate Netmail

This statement will tell Maximus to route (or `gate')
interzone netmail through the standard ZoneGate. (For
example, if you are sending a message from zone 1 to zone 2,
the message will get addressed to 1:1/2, although the
internal message address, which is processed by the
ZoneGate, will indicate the correct destination of the
message.) If this keyword is commented out, and if your
packer (such as oMMM or Squish's SQUASH function) is not
configured otherwise, the message will be sent directly to
its destination.

Log Echomail

This statement specifies the name of a log file which will
be written when a user enters an EchoMail message. This log
is written only when the user logs off, and it will contain
the echo tag (specified by the `MsgName' keyword in each
area description) of each area in which the user entered
EchoMail. This log is compatible with QM and ConfMail's
`-f' command line switch. You may use Max's percent-sign
translation characters in the filename for this command.

Maximus-CBCS v2.00 Technical Reference - Page 21

Message Edit

The `Message Edit' series of keywords tell Maximus what to
do when a user enters a NetMail message. can be
either `Ask' or `Assume'. If is `Ask' and the
user's privilege level is or greater, Maximus will
prompt the user to specify whether he/she wants
ON or OFF. If is `Assume' and the user's privilege
level is or greater, Maximus will automatically
toggle ON. Valid values for are:


*) `FromFile' can only be used with an of `Ask'.
For this option, specifies the privilege level
required to use the Forward/Bomb Run feature.

Message Send Unlisted

This command controls how Maximus treats messages which are
addressed to non-existent nodes. If the user's priv is LESS
than , then s/he will not be able to send a message to
such as node. (In other words, Maximus will report
"Unlisted node", and re-prompt the user for the destination
address.) However, if the user's priv is greater than or
equal to , then the message can be entered, and the
user will be assessed a matrix charge of cents. If
you wish unlisted messages to be free, then set to 0.
Likewise, if you don't want anyone to be able to send
messages to an unlisted node, set to HIDDEN.

Message Show to

This keyword tells Maximus whether or not to display certain
items to users which are embedded within messages.
can be any of `Ctl_A', `Seenby', or `Private'. `Ctl_A'
defines the priv required to see the imbedded IFNA kludge
lines inside a message, and to quote kludge lines inside the
editors. `EchoMail' defines the priv level required to view
SEEN-BYs in EchoMail, and also to quote SEEN-BYs. `Private'
defines the minimum priv required to see a private message
to ANYONE, in any area. Normally, users can only see

Maximus-CBCS v2.00 Technical Reference - Page 22

private messages which are to or from themselves. However,
this option will let you set the priv level required to see
all private messages, no matter who they are to or from.
(Setting this option to below AsstSysOp is not
recommended.) specifies the minimum privilege level
necessary to see the specified item. If you don't want
anyone (including yourself) to see these, then use the word
`Hidden' for . The default value for `Ctl_A' and
`Seen-By' is Hidden, while the default priv for `Private' is

Nodelist Version

This keyword tells Maximus the format of the nodelist which
it uses. can be either `5' or `6': Maximus will
use a version 6 nodelist by default, but you can tell it to
use the older version 5 nodelist for compatibility with
other programs. It is also possible to use Maximus for
matrix/netmail operations without a nodelist; to do so, you
must first uncomment the `Message Send Unlisted' option in
MAX.CTL, and set the priv level appropriately. Then change
to the directory specified by `Path NetInfo', and create a
zero-length file called NODELIST.IDX. The following DOS
command can be used to accomplish that task:


Once this has been done, Maximus will be able to run without
a nodelist. Although you won't be able to see the system
names of netmail messages' destinations, you'll at least be
able to use the matrix area.

Path NetInfo

This keyword tells Maximus in which directory to find the
nodelist files.

Maximus-CBCS v2.00 Technical Reference - Page 23

Session Section Keyword Listing

After Call Exit

This keyword tells Maximus which errorlevel to use after a
caller logs off, if the user did not enter either EchoMail
or NetMail. MUST be more than (or equal to) 5
and less than 254.

Alias System

This keyword tells Maximus that a user's alias, should be
used instead of that user's real name. This setting only
affects the default; you can specify that a user's real name
should be used in any given message area via the "Use
Realname" keyword.

This keyword only affects the default; if Alias System is
turned on, the user's alias will be used for entering
messages, in the userlist, and in the Who is On command. If
Alias System is turned off, the user's real name will be
used by default in all of the above.

Maximus-CBCS v2.00 Technical Reference - Page 24

The "Ask Alias" keyword should also be used in conjunction
with "Alias System" to prompt new users for an alias at log-
on. This chart describes the various combinations of the
two keywords:


| YES | NO |
| | New users prompted for | New users not |
| YES | alias at log-on. By | prompted for |
| | default, messages entered | alias at log-on. |
| | will use the alias | If user gives self |
| | unless "Use Realname" | alias at the change |
| | is used for that | menu, this functions|
| | area. Users show up | identically to |
| | on W)ho is On as | YES/YES. Otherwise,|
| | alias. Alias field | this functions |
| | is searched and alias | identically to |
| | field is displayed | NO/NO |
ALIAS | | when doing a userlist. | |
SYSTEM | | New users prompted | No alias use |
| NO | for alias at log-on. | whatsoever. |
| | By default, messages | |
| | entered will use | |
| | the real name unless | |
| | "Use Alias" is used | |
| | for that area. Users | |
| | show up on W)ho is On | |
| | as real name. Userlist | |
| | displays and searches | |
| | real name. | |

Area Change Keys

This keyword allows one to change the sequence of keys used
for the A)rea Change mini-menu. should be a
sequence of three keys: the FIRST key in the sequence
defines the key which takes the user to the PRIOR area. The
SECOND key defines the key which takes the user to the NEXT
area. Finally, the THIRD key defines the key which displays
the area menu. Although this command will allow you to
change the default keys, and in fact add new ones, all of
the old area-changing commands will ALWAYS work. For
example, even if you have changed the definition to "PN="
(for Prior/Next/=list), users will still be able to use `<',

Maximus-CBCS v2.00 Technical Reference - Page 25

`[', or `-' to switch to the prior area. Likewise, `>', `]'
and `+' will always change the user to the next area, just
as `?' and will always display the area listing.

Area Data

This keyword specifies the location of the compiled area
data file. This file contains a compiled version of the
information in MSGAREA.CTL and FILEAREA.CTL.

Area Index

This keyword specifies the location of the area index file.
This file contains an index of the data contained in the
`Area Data' file. Note that Maximus will keep two area
indices. This keyword specifies the location of the
"old-style" index, typically called AREA.IDX. It is
retained for comptability with older Maximus utilities. The
new style index will be located and named as a derivative of
this keyword. For example, if you have:

Area Index C:\MAX\AREA.IDX

...the new style index will be named C:\MAX\AREA.NDX. Silt
will simply substitute .NDX for the file extension.

Arrow Keys to Read

This keyword enables the use of the left and right arrow
keys for reading messages at the local console. Use the
left arrow to move to the previous message and the right
arrow to move to next message. Control-left can be used to
read the prior message in a thread, and control-right can be
used to read the next message in a thread. and
can be used to reply to a message, can be
used to enter a message, and can be used to kill a

Note! To use this option, your menus must use the same
general keyboard layout as the distribution Max menus. As
long as "E" is used to enter a message, "R" is used to
reply, and so forth, this command will work as expected.

Maximus-CBCS v2.00 Technical Reference - Page 26

Ask Phone

This keyword tells Maximus to ask new users for their
telephone number after they log on. This information is
stored in the user file, and can be displayed either through
the user editor, on the status line, or by pressing ENTER
while a user is on-line.

Ask Alias

This keyword tells Maximus to prompt new users to enter an
alias at log-on. See the "Alias System" keyword for more

Charset Swedish

Enable internal support for other Swedish 7-bit character

Note: To properly implement the Swedish 7-bit format, it is
necessary to edit ENGLISH.MAD and uncomment the appropriate
definitions for LBRACKET and RBRACKET, since the default
left/right brackets conflict with the Swedish 7-bit
character set.

Charset Chinese

Enable internal support for the Chinese character set. The
Chinese character set provides for the "BIG5" two-byte codes
used by most Chinese programs.

Chat Capture On

The chat capture buffer can be turned on automatically by
uncommenting this command. This causes Max to open the chat
log as soon as is pressed, with no further SysOp
intervention required.

Chat External

This keyword tells Maximus to use an external program for
chat instead of the internal CHAT routine. Be sure to
specify a full path for , or else Maximus may not
always be able to find the external chat program. Include
command line parameters for the chat program, if necessary.

Maximus-CBCS v2.00 Technical Reference - Page 27

Compatible LocalBaud

This keyword tells Maximus that you want the LASTUS*.BBS
structure produced by Maximus to be compatible with the old
Opus 1.03 structure. Normally, Maximus fills in a few of
the fields in this structure in a more sensible fashion than
Opus. For example, it uses 0 as the baud rate for a local
caller, instead of 9600. However, this may confuse some
programs (notably, C. Holten's `DRLINK') that relied on
Opus' quirks. Enabling this keyword will allow you to use
such programs.

Comment Area

This keyword specifies the message area to use for SysOp
comments. (If this keyword is not specified, Max will place
all comments in area 0.) The area number specified with
this token will be used for log-off comments, and it will
also be used for comments left through the [leave_comment]
MECCA token.


This keyword is used to control the various limits and
restrictions for various users, based on .
can be any one of the following items:

Logon Baud
File Baud
File Limit
File Ratio

`Time' specifies the maximum length of time, in minutes, for
which a user with privilege level can stay on-line in
a single session. The day begins at 00:00 and ends at

`Cume' specifies the maximum amount of time, in minutes, for
which a user with privilege level can be on-line for
the entire day.

`Logon Baud' specifies the minimum baud rate at which a user
who has a privilege level of must be calling at in
order to log on. (Note that this is in ADDITION to the `Min
Logon Baud' rate specified elsewhere in the control file.)

Maximus-CBCS v2.00 Technical Reference - Page 28

`File Baud' specifies the minimum baud rate at which a user
who has a privilege level of must be calling in order
to download or upload a file.

`File Limit' specifies the maximum number of kilobytes which
a user can download in a single day.

`File Ratio' enforces a download ratio for users of
privilege level, in the form of :1. In other words,
for every kilobytes downloaded in total, the user
must upload at least one kilobyte. Setting to zero
means that users with a privilege level of will not
have a download ratio enforced.

Edit Disable

  3 Responses to “Category : BBS Programs+Doors
Archive   : MAX200-4.ZIP
Filename : MAX_REF.PRN

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: